:root{--font-ui:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--font-financial:var(--font-ui);--font-mono:ui-monospace,"SF Mono","Cascadia Mono","Consolas",monospace;--text-display:2.5rem;--lh-display:1.05;--tr-display:-0.02em;--text-page:1.75rem;--lh-page:1.15;--tr-page:-0.015em;--text-section:1.25rem;--lh-section:1.25;--tr-section:-0.01em;--text-subheading:1.0625rem;--lh-subheading:1.3;--text-body:0.9375rem;--lh-body:1.55;--text-label:0.8125rem;--lh-label:1.4;--tr-label:0.01em;--text-meta:0.75rem;--lh-meta:1.4;--text-overline:0.6875rem;--tr-overline:0.12em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--radius-sharp:3px;--radius-control:6px;--radius-panel:10px;--radius-pill:999px;--elevation-drawer:0 12px 40px -12px rgba(16,30,28,.3);--elevation-popover:0 8px 24px -10px rgba(16,30,28,.28);--motion-fast:120ms;--motion-base:180ms;--motion-slow:240ms;--ease:cubic-bezier(0.2,0.6,0.2,1);--canvas:#ece9df;--canvas-sunk:#e4e0d3;--surface:#f3f1e9;--surface-raised:#faf8f2;--spine:#10312e;--spine-ink:#cfe0dc;--spine-ink-muted:#7fa39d;--spine-active:#1c5a54;--ink:#1e211c;--ink-muted:#585d53;--ink-subtle:#8a8f84;--hairline:#dad5c8;--hairline-strong:#c8c2b2;--brand:#0b6e6a;--brand-strong:#08514e;--brand-soft:#d9e9e5;--brand-ink:#eaf4f1;--energy:#dc6a42;--energy-soft:#f7e2d8;--focus:#12928d;--success:#3e7d51;--success-soft:#deebe0;--warning:#a9761d;--warning-soft:#f1e7d2;--danger:#b23a33;--danger-soft:#f2ddd9;--info:#3c6a88;--info-soft:#dee7ee;--fin-pending:#9a7a2e;--fin-settled:#3e7d51;--fin-overdue:#b23a33;--fin-committed:#4e6e8a;--fin-actual:#1e211c;--fin-available:#0b6e6a;--fin-over:#b23a33;--fin-reversed:#7a6e86;--fin-draft:#8a8f84;--fin-posted:#08514e;--hover:rgba(11,110,106,.06);--pressed:rgba(11,110,106,.12);--selected:var(--brand-soft);--disabled-ink:#b4b7ad;--disabled-surface:#e7e3d9;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#17191a;--canvas-sunk:#101112;--surface:#1f2220;--surface-raised:#282b27;--spine:#0b1c1b;--spine-ink:#cfe0dc;--spine-ink-muted:#6e8e89;--spine-active:#10403c;--ink:#ece8de;--ink-muted:#a6aa9e;--ink-subtle:#73776d;--hairline:#2c302b;--hairline-strong:#3a3f39;--brand:#22a59d;--brand-strong:#2fbcb2;--brand-soft:#123330;--brand-ink:#eaf4f1;--energy:#e67c56;--energy-soft:#33241d;--focus:#35c2b8;--success:#57a06c;--success-soft:#17301e;--warning:#c99a3e;--warning-soft:#322616;--danger:#d2605a;--danger-soft:#331b19;--info:#6096b8;--info-soft:#172732;--fin-pending:#c99a3e;--fin-settled:#57a06c;--fin-overdue:#d2605a;--fin-committed:#6e92b2;--fin-actual:#ece8de;--fin-available:#22a59d;--fin-over:#d2605a;--fin-reversed:#a99cb6;--fin-draft:#73776d;--fin-posted:#2fbcb2;--hover:rgba(34,165,157,.1);--pressed:rgba(34,165,157,.18);--disabled-ink:#565a52;--disabled-surface:#222523;--elevation-drawer:0 12px 40px -12px rgba(0,0,0,.55);--elevation-popover:0 8px 24px -10px rgba(0,0,0,.5);color-scheme:dark}}:root[data-theme=dark]{--canvas:#17191a;--canvas-sunk:#101112;--surface:#1f2220;--surface-raised:#282b27;--spine:#0b1c1b;--spine-ink:#cfe0dc;--spine-ink-muted:#6e8e89;--spine-active:#10403c;--ink:#ece8de;--ink-muted:#a6aa9e;--ink-subtle:#73776d;--hairline:#2c302b;--hairline-strong:#3a3f39;--brand:#22a59d;--brand-strong:#2fbcb2;--brand-soft:#123330;--brand-ink:#eaf4f1;--energy:#e67c56;--energy-soft:#33241d;--focus:#35c2b8;--success:#57a06c;--success-soft:#17301e;--warning:#c99a3e;--warning-soft:#322616;--danger:#d2605a;--danger-soft:#331b19;--info:#6096b8;--info-soft:#172732;--fin-pending:#c99a3e;--fin-settled:#57a06c;--fin-overdue:#d2605a;--fin-committed:#6e92b2;--fin-actual:#ece8de;--fin-available:#22a59d;--fin-over:#d2605a;--fin-reversed:#a99cb6;--fin-draft:#73776d;--fin-posted:#2fbcb2;--hover:rgba(34,165,157,.1);--pressed:rgba(34,165,157,.18);--disabled-ink:#565a52;--disabled-surface:#222523;--elevation-drawer:0 12px 40px -12px rgba(0,0,0,.55);--elevation-popover:0 8px 24px -10px rgba(0,0,0,.5);color-scheme:dark}*,:after,:before{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%}body{font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cad-display{font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);font-weight:620;text-wrap:balance}.cad-page{font-size:var(--text-page);line-height:var(--lh-page);letter-spacing:var(--tr-page)}.cad-page,.cad-section{font-weight:600;text-wrap:balance}.cad-section{font-size:var(--text-section);line-height:var(--lh-section);letter-spacing:var(--tr-section)}.cad-subhead{font-size:var(--text-subheading);line-height:var(--lh-subheading);font-weight:600}.cad-body{font-size:var(--text-body);line-height:var(--lh-body)}.cad-body-strong,.cad-label{font-weight:600}.cad-label{font-size:var(--text-label);line-height:var(--lh-label);letter-spacing:var(--tr-label)}.cad-meta{font-size:var(--text-meta);line-height:var(--lh-meta);color:var(--ink-muted)}.cad-overline{font-size:var(--text-overline);letter-spacing:var(--tr-overline);text-transform:uppercase;font-weight:700;color:var(--ink-subtle)}.cad-money,.cad-numeric{font-family:var(--font-financial);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1,"tnum"}a{color:var(--brand);text-underline-offset:2px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-control)}@keyframes cad-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.55}}@keyframes cad-pulse-ring{0%{transform:scale(1);opacity:.5}70%{transform:scale(2.4);opacity:0}to{transform:scale(2.4);opacity:0}}.cad-pulse{position:relative;display:inline-flex;width:8px;height:8px;border-radius:var(--radius-pill);background:var(--energy)}.cad-pulse:after{content:"";position:absolute;inset:0;animation:cad-pulse-ring 1.8s var(--ease) infinite}.cad-pulse:after,.cad-pulse>i{border-radius:inherit;background:var(--energy)}.cad-pulse>i{position:relative;z-index:1;width:100%;height:100%;animation:cad-pulse 1.8s var(--ease) infinite}.cad-pulse--brand,.cad-pulse--brand:after,.cad-pulse--brand>i{background:var(--brand)}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.cad-pulse:after{display:none}}.cad-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.cad-shell[data-collapsed=true]{grid-template-columns:68px 1fr}.cad-spine{background:var(--spine);color:var(--spine-ink);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-3);position:-webkit-sticky;position:sticky;top:0;height:100vh}.cad-spine__brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);margin-bottom:var(--space-4)}.cad-spine__brand-name{font-weight:700;letter-spacing:.02em;color:#fff}.cad-spine__org{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-control);color:var(--spine-ink);font-size:var(--text-label);font-weight:600;cursor:pointer}.cad-spine__section{font-size:var(--text-overline);letter-spacing:var(--tr-overline);text-transform:uppercase;color:var(--spine-ink-muted);padding:var(--space-3) var(--space-2) var(--space-1)}.cad-nav{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--spine-ink);cursor:pointer;transition:background var(--motion-fast) var(--ease)}.cad-nav:hover{background:hsla(0,0%,100%,.06)}.cad-nav[aria-current=page]{background:var(--spine-active);color:#fff;box-shadow:inset 3px 0 0 var(--brand)}.cad-nav__icon{width:20px;height:20px;flex:none;opacity:.9}.cad-nav__label{font-size:var(--text-label);font-weight:600}.cad-spine__foot{margin-top:auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.cad-canvas{min-width:0;flex-direction:column}.cad-canvas,.cad-topbar{background:var(--canvas);display:flex}.cad-topbar{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-7);border-bottom:1px solid var(--hairline);position:-webkit-sticky;position:sticky;top:0;z-index:5}.cad-topbar__title{margin-right:auto}.cad-content{padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}.cad-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-panel);padding:var(--space-6)}.cad-panel--raised{background:var(--surface-raised)}.cad-panel__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.cad-panel__head .cad-section{margin-right:auto}.cad-drawer{position:fixed;top:0;right:0;height:100vh;width:min(460px,92vw);background:var(--surface-raised);border-left:1px solid var(--hairline-strong);box-shadow:var(--elevation-drawer);padding:var(--space-6);overflow-y:auto}.cad-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:inherit;font-size:var(--text-label);font-weight:600;line-height:1;padding:0 var(--space-4);height:36px;border-radius:var(--radius-control);border:1px solid transparent;cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.cad-btn--primary{background:var(--brand);color:var(--brand-ink)}.cad-btn--primary:hover{background:var(--brand-strong)}.cad-btn--secondary{background:transparent;color:var(--ink);border-color:var(--hairline-strong)}.cad-btn--secondary:hover{background:var(--hover)}.cad-btn--ghost{background:transparent;color:var(--ink-muted)}.cad-btn--ghost:hover{background:var(--hover);color:var(--ink)}.cad-btn--danger{background:var(--danger);color:#fff}.cad-btn:disabled{background:var(--disabled-surface);color:var(--disabled-ink);border-color:transparent;cursor:not-allowed}.cad-btn:active:not(:disabled){transform:translateY(.5px)}.cad-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-meta);font-weight:600;padding:3px 9px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--hairline-strong);color:var(--ink-muted)}.cad-chip__dot{width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor}.cad-chip--success{color:var(--success);background:var(--success-soft);border-color:transparent}.cad-chip--warning{color:var(--warning);background:var(--warning-soft);border-color:transparent}.cad-chip--danger{color:var(--danger);background:var(--danger-soft);border-color:transparent}.cad-chip--info{color:var(--info);background:var(--info-soft);border-color:transparent}.cad-money{display:inline-flex;align-items:baseline;gap:4px;font-weight:600;color:var(--ink)}.cad-money__cur{font-size:.8em;color:var(--ink-muted)}.cad-money--credit{color:var(--fin-settled)}.cad-money--negative:before{content:"\2212"}.cad-fin{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-meta);font-weight:600;padding:3px 8px;border-radius:var(--radius-sharp);border:1px solid transparent}.cad-fin__mark{width:6px;height:6px;border-radius:2px;background:currentColor}.cad-fin--pending{color:var(--fin-pending)}.cad-fin--settled{color:var(--fin-settled)}.cad-fin--overdue{color:var(--fin-overdue)}.cad-fin--committed{color:var(--fin-committed)}.cad-fin--actual{color:var(--fin-actual)}.cad-fin--available{color:var(--fin-available)}.cad-fin--over{color:var(--fin-over)}.cad-fin--reversed{color:var(--fin-reversed)}.cad-fin--posted{color:var(--fin-posted)}.cad-fin--draft{color:var(--fin-draft)}.cad-avail{display:flex;flex-direction:column;gap:var(--space-2)}.cad-avail__track{display:flex;height:12px;border-radius:var(--radius-sharp);overflow:hidden;background:var(--canvas-sunk);border:1px solid var(--hairline)}.cad-avail__seg--actual{background:var(--fin-actual)}.cad-avail__seg--committed{background:var(--fin-committed)}.cad-avail__seg--available{background:var(--fin-available)}.cad-avail__seg--over{background:var(--fin-over)}.cad-avail__legend{display:flex;flex-wrap:wrap;gap:var(--space-4)}.cad-avail__key{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-meta);color:var(--ink-muted)}.cad-avail__swatch{width:10px;height:10px;border-radius:2px}.cad-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-9) var(--space-6);max-width:42ch;margin-inline:auto}.cad-state__glyph{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-panel);background:var(--brand-soft);color:var(--brand);margin-bottom:var(--space-2)}.cad-state--danger .cad-state__glyph{background:var(--danger-soft);color:var(--danger)}.cad-state--warning .cad-state__glyph{background:var(--warning-soft);color:var(--warning)}.cad-state__title{font-weight:600;font-size:var(--text-subheading)}.cad-state__body{color:var(--ink-muted)}.cad-state__actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.cad-skeleton{background:linear-gradient(90deg,var(--canvas-sunk) 25%,var(--surface) 37%,var(--canvas-sunk) 63%);background-size:400% 100%;border-radius:var(--radius-control);animation:cad-shimmer 1.4s ease-in-out infinite;height:1em}@keyframes cad-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.cad-skeleton{animation:none}}.cad-table{width:100%;border-collapse:collapse;font-size:var(--text-body)}.cad-table th{text-align:left;font-size:var(--text-overline);letter-spacing:var(--tr-overline);text-transform:uppercase;color:var(--ink-subtle);font-weight:700;border-bottom:1px solid var(--hairline-strong)}.cad-table td,.cad-table th{padding:var(--space-3) var(--space-4)}.cad-table td{border-bottom:1px solid var(--hairline)}.cad-table tbody tr:hover td,.cad-table tr:hover td{background:var(--hover)}.cad-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cad-now{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--energy);font-size:var(--text-meta);font-weight:700}.cad-now__line{height:2px;flex:1 1;background:linear-gradient(90deg,var(--energy),transparent)}