:root{--brand:#1a1a2e;--brand-strong:#353547;--accent:#e94560;--accent-soft:#e9eaf2;--paper:#f3f7f5;--surface:#fff;--surface-2:#f7faf8;--line:#e3ebe7;--line-strong:#cfdad4;--ink:#1a2b26;--ink-2:#4f665e;--ink-3:#84988f;--green:#147a45;--green-bg:#e3f4ea;--amber:#a85e08;--amber-bg:#fdf2da;--red:#c43d47;--red-strong:#ab3038;--red-bg:#fcebec;--blue:#2567d9;--blue-bg:#e6eefa;--neutral-bg:#edf2ef;--primary:var(--brand);--primary-hover:var(--brand-strong);--primary-soft:var(--accent-soft);--primary-ink:#fff;--status-draft-bg:var(--neutral-bg);--status-draft-fg:var(--ink-2);--status-posted-bg:var(--green-bg);--status-posted-fg:var(--green);--status-void-bg:var(--red-bg);--status-void-fg:var(--red);--status-pending-bg:var(--amber-bg);--status-pending-fg:var(--amber);--status-signed-bg:var(--blue-bg);--status-signed-fg:var(--blue);--status-rejected-bg:var(--red-bg);--status-rejected-fg:var(--red);--status-approved-bg:var(--green-bg);--status-approved-fg:var(--green);--status-paid-bg:var(--blue-bg);--status-paid-fg:var(--blue);--status-split-bg:var(--neutral-bg);--status-split-fg:var(--ink-2);--status-exported-bg:var(--amber-bg);--status-exported-fg:var(--amber);--side-bg:#fff;--side-text:#4f665e;--side-text-strong:#1a2b26;--side-heading:#84988f;--side-hover-bg:#f0f6f3;--side-active-bg:var(--accent-soft);--side-active-fg:var(--brand);--side-border:var(--line);--sans:"Inter", system-ui, -apple-system, sans-serif;--mono:"DM Mono", ui-monospace, "SF Mono", monospace;--fs-h1:24px;--fs-h2:18px;--fs-h3:15px;--fs-body:14px;--fs-small:13px;--fs-micro:12px;--lh-tight:1.3;--lh-body:1.55;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--radius-s:8px;--radius:12px;--radius-l:16px;--radius-pill:999px;--shadow-xs:0 1px 2px #1a2b260d;--shadow-sm:0 1px 2px #1a2b260d, 0 6px 16px #1a2b260f;--shadow-md:0 2px 6px #1a2b260f, 0 18px 44px #1a2b261a;--shadow-lg:0 28px 72px #14221c3d;--z-sticky:1;--z-dropdown:10;--z-banner:20;--z-modal:100;--z-toast:200;--ring:0 0 0 3px #e9456033;--t-fast:.12s cubic-bezier(.2, 0, .2, 1);--t-med:.22s cubic-bezier(.16, 1, .3, 1);--t-slow:.32s cubic-bezier(.16, 1, .3, 1);--t-exit:.14s cubic-bezier(.4, 0, 1, 1);--t-stagger:40ms}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-med:0s;--t-slow:0s;--t-exit:0s;--t-stagger:0s}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-weight:700;line-height:var(--lh-tight);margin-block:0 .4em}h1{font-size:var(--fs-h1);letter-spacing:-.4px}h2{font-size:var(--fs-h2);letter-spacing:-.2px}h3{font-size:var(--fs-h3)}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::selection{background:var(--accent-soft)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes motion-fade-in{0%{opacity:0}to{opacity:1}}@keyframes motion-rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes motion-pop-in{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:none}}.motion-stagger>*{animation:motion-rise-in var(--t-med) both}.motion-stagger>:first-child{animation-delay:calc(var(--t-stagger) * 0)}.motion-stagger>:nth-child(2){animation-delay:calc(var(--t-stagger) * 1)}.motion-stagger>:nth-child(3){animation-delay:calc(var(--t-stagger) * 2)}.motion-stagger>:nth-child(4){animation-delay:calc(var(--t-stagger) * 3)}.motion-stagger>:nth-child(5){animation-delay:calc(var(--t-stagger) * 4)}.motion-stagger>:nth-child(n+6){animation-delay:calc(var(--t-stagger) * 5)}.acc-page{gap:var(--space-5);flex-direction:column;display:flex}.acc-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.acc-sub{color:var(--ink-2);font-size:var(--fs-small);margin-block:4px 0}.acc-head-org{color:var(--ink-2);font-size:var(--fs-small);animation:motion-fade-in var(--t-med) both;margin-block:0 2px;font-weight:600}.acc-toolbar{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.acc-field{flex-direction:column;gap:6px;min-inline-size:180px;display:flex;position:relative}.acc-field label{font-size:var(--fs-small);color:var(--ink-2);font-weight:600}.acc-input,.acc-select{font-family:var(--sans);font-size:var(--fs-small);padding-block:9px;padding-inline:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);inline-size:100%;transition:border-color var(--t-fast), box-shadow var(--t-fast);line-height:1.4}.acc-input::placeholder{color:var(--ink-3)}.acc-input,.acc-select{min-block-size:38px}.acc-input[type=date]{padding-block:8px}.acc-input:focus,.acc-select:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.acc-input-sm{max-inline-size:90px}.acc-input-num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:end}.acc-date{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.acc-combobox-list{z-index:var(--z-dropdown);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-block-size:240px;inline-size:100%;box-shadow:var(--shadow-md);margin-block-start:4px;padding:6px;list-style:none;position:absolute;inset-block-start:100%;inset-inline-start:0;overflow-y:auto}.acc-combobox-option{border-radius:var(--radius-s);inline-size:100%;color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);text-align:start;cursor:pointer;transition:background var(--t-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding-block:8px;padding-inline:10px;display:flex}.acc-combobox-option:hover{background:var(--surface-2)}.acc-combobox-bin{color:var(--ink-2);font-size:var(--fs-micro);font-family:var(--mono)}.acc-combobox-empty{color:var(--ink-2);font-size:var(--fs-small);padding-block:8px;padding-inline:10px}.acc-balance-hint{margin-block-start:4px;display:block}.acc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-5)}.acc-card-flush{padding:6px}.acc-stats{gap:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.acc-stat{flex-direction:column;gap:2px;min-inline-size:0;display:flex}.acc-stat-label{font-size:var(--fs-micro);color:var(--ink-2);font-weight:600}.acc-stat-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-h2);line-height:var(--lh-tight);color:var(--ink)}.acc-page-standalone{max-inline-size:720px;padding-block:var(--space-8);padding-inline:var(--space-5);margin-inline:auto}.acc-btn-inline{align-self:flex-start}.acc-table-scroll{border-radius:var(--radius-s);max-block-size:70vh;overflow:auto}.acc-table{border-collapse:collapse;inline-size:100%}.acc-table th{text-align:start;vertical-align:top;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.7px;color:var(--ink-2);padding-block:var(--row-pad-block,8px);border-block-end:1px solid var(--line-strong);background:var(--surface);z-index:var(--z-sticky);padding-inline:12px;font-weight:600;position:sticky;inset-block-start:0}.acc-table td{padding-block:var(--row-pad-block,8px);border-block-end:1px solid var(--line);transition:background var(--t-fast);padding-inline:12px}.acc-table-scroll[data-density=compact] .acc-table td{--row-pad-block:6px;font-size:var(--fs-small);padding-inline:8px}.acc-table-scroll[data-density=compact] .acc-table th{--row-pad-block:6px;padding-inline:8px}.acc-table-scroll[data-density=compact] .acc-table td.acc-num,.acc-table-scroll[data-density=compact] .acc-table th.acc-num{font-size:var(--fs-micro);padding-inline:6px}.acc-table-sticky-first td:first-child,.acc-table-sticky-first th:first-child{background:var(--surface);z-index:1;position:sticky;inset-inline-start:0}.acc-table-sticky-first th:first-child{z-index:calc(var(--z-sticky) + 1)}.acc-table-sticky-first tr:hover td:first-child,.acc-table-sticky-first .acc-row-total td:first-child{background:var(--surface-2)}.acc-sticky-label{display:inline-block;position:sticky;inset-inline-start:8px}.acc-table tr:hover td{background:var(--surface-2)}.acc-table tr:last-child td{border-block-end:none}.acc-table th.acc-num,.acc-table td.acc-num{text-align:end;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.acc-row-total td{border-block-start:2px solid var(--line-strong);background:var(--surface-2);font-weight:700}.journal-entry-first td{border-block-start:2px solid var(--line-strong)}.acc-table .acc-sticky-col{background:var(--surface);z-index:var(--z-sticky);position:sticky;inset-inline-start:0}.acc-table th.acc-sticky-col{z-index:calc(var(--z-sticky) + 1)}.acc-table tr:hover td.acc-sticky-col,.acc-table tr.acc-row-total td.acc-sticky-col{background:var(--surface-2)}.acc-table .acc-sticky-col,.acc-table-sticky-first td:first-child,.acc-table-sticky-first th:first-child{white-space:nowrap;text-overflow:ellipsis;max-inline-size:260px;overflow:hidden}.acc-table-sticky-first .rep-row-section td:first-child{max-inline-size:none;overflow:visible}.acc-table .acc-sticky-col .rep-hint{margin-inline-start:6px;display:inline}.acc-table .acc-sticky-col .rep-badge-unbudgeted{white-space:nowrap;display:inline}.acc-row-actions{white-space:nowrap;justify-content:flex-end;gap:8px;display:flex}.acc-empty{padding-block:var(--space-8);text-align:center;color:var(--ink-2)}.acc-chip{border-radius:var(--radius-pill);font-size:var(--fs-micro);align-items:center;gap:6px;padding-block:3px;padding-inline:11px;font-weight:600;line-height:1.6;display:inline-flex}.acc-chip:before{content:"";border-radius:var(--radius-pill);opacity:.7;background:currentColor;block-size:6px;inline-size:6px}.acc-chip-draft{background:var(--status-draft-bg);color:var(--status-draft-fg)}.acc-chip-draft:before{opacity:.45}.acc-chip-posted{background:var(--status-posted-bg);color:var(--status-posted-fg)}.acc-chip-void,.acc-chip-stornoed{background:var(--status-void-bg);color:var(--status-void-fg)}.acc-chip-pending{background:var(--status-pending-bg);color:var(--status-pending-fg)}.acc-chip-signed{background:var(--status-signed-bg);color:var(--status-signed-fg)}.acc-chip-rejected{background:var(--status-rejected-bg);color:var(--status-rejected-fg)}.acc-chip-approved{background:var(--status-approved-bg);color:var(--status-approved-fg)}.acc-chip-paid{background:var(--status-paid-bg);color:var(--status-paid-fg)}.acc-chip-split{background:var(--status-split-bg);color:var(--status-split-fg)}.acc-chip-exported{background:var(--status-exported-bg);color:var(--status-exported-fg)}.acc-notice{padding-block:12px;padding-inline:var(--space-4);border-radius:var(--radius-s);font-size:var(--fs-small);border:1px solid #0000;margin-block:0}.acc-notice-error{background:var(--red-bg);color:var(--red);border-color:#c43d4740}.acc-notice-warn{background:var(--amber-bg);color:var(--amber);border-color:#a85e0840}.acc-panel{gap:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-6);animation:acc-panel-in var(--t-med);flex-direction:column;display:flex}.acc-disclosure{gap:var(--space-3);padding:var(--space-4) var(--space-5);animation:none}.acc-disclosure>summary{cursor:pointer;transition:color var(--t-fast);font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-tight);color:var(--ink)}.acc-disclosure>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-s)}.acc-disclosure[open]>summary{margin-block-end:var(--space-2)}@keyframes acc-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.acc-form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.acc-panel-actions{justify-content:flex-end;gap:10px;display:flex}.acc-actions-row{justify-content:flex-start;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.acc-btn{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-weight:600;font-size:var(--fs-body);font-family:var(--sans);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);padding-block:9px;padding-inline:18px}.acc-btn:hover{background:var(--surface-2);border-color:var(--ink-3)}.acc-btn:focus-visible{box-shadow:var(--ring)}.acc-btn:disabled{opacity:.55;cursor:default}.acc-btn:disabled:hover{background:var(--surface);border-color:var(--line-strong)}.acc-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.acc-btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.acc-btn-primary:disabled:hover{background:var(--primary);border-color:var(--primary)}.acc-btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.acc-btn-ghost:hover{background:var(--surface-2);color:var(--ink);border-color:#0000}.acc-btn-ghost:disabled:hover{background:0 0;border-color:#0000}.acc-btn-active,.acc-btn-active:hover{background:var(--accent-soft);border-color:var(--brand);color:var(--brand)}.acc-btn-danger{background:var(--red);border-color:var(--red);color:#fff}.acc-btn-danger:hover{background:var(--red-strong);border-color:var(--red-strong)}.acc-btn-danger:disabled:hover{background:var(--red);border-color:var(--red)}.acc-btn-sm{font-size:var(--fs-small);padding-block:5px;padding-inline:12px}@media (width<=900px){.acc-head{gap:var(--space-3);flex-wrap:wrap}.acc-toolbar .acc-field{flex:150px;min-inline-size:0}.acc-panel{padding:var(--space-4)}.acc-table{min-inline-size:620px}.acc-card{padding:var(--space-4)}.acc-card-flush{padding:4px}.acc-stats{padding:var(--space-4);gap:var(--space-3)}.acc-row-actions{flex-wrap:wrap;gap:6px}.acc-btn{padding-inline:14px}}.login-page{background:var(--paper);place-items:center;min-block-size:100dvh;padding-block:20px;padding-inline:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);inline-size:100%;max-inline-size:380px;box-shadow:var(--shadow-sm);font-family:var(--sans);color:var(--ink);padding-block:28px;padding-inline:28px}.login-wordmark{text-align:center;letter-spacing:-.3px;margin-block:0 20px;font-size:17px;font-weight:700}.login-wordmark-dot{color:var(--accent)}.login-title{letter-spacing:-.5px;margin-block:0 24px;font-size:23px;font-weight:800}.login-form{gap:14px;display:grid}.login-field label{font-size:var(--fs-small);color:var(--ink-2);margin-block-end:4px;font-weight:600;display:block}.login-field input{inline-size:100%;font-family:var(--sans);font-size:var(--fs-body);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding-block:8px;padding-inline:10px}.login-field input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.login-notice,.login-error{border-radius:var(--radius-s);font-size:var(--fs-small);margin-block:0;padding-block:10px;padding-inline:14px}.login-notice{background:var(--accent-soft);color:var(--ink-2)}.login-error{background:var(--red-bg);color:var(--red)}.login-submit{border-radius:var(--radius-s);background:var(--primary);color:#fff;font-family:var(--sans);font-size:var(--fs-body);cursor:pointer;transition:filter var(--t-fast);border:none;margin-block-start:6px;padding-block:9px;padding-inline:15px;font-weight:600}.login-submit:hover:not(:disabled){filter:brightness(1.07)}.login-submit:focus-visible{box-shadow:var(--ring);outline:none}.login-submit:disabled{opacity:.55;cursor:default}.login-sso{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);width:100%;color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);cursor:pointer;transition:background var(--t-fast);padding-block:9px;padding-inline:15px;font-weight:600}.login-sso:hover:not(:disabled){background:var(--surface-2)}.login-sso:focus-visible{box-shadow:var(--ring);outline:none}.login-sso:disabled{opacity:.55;cursor:default}.login-divider{text-align:center;font-size:var(--fs-small);color:var(--ink-2);margin-block:14px 0}.login-signup-hint{text-align:center;font-size:var(--fs-small);color:var(--ink-2);margin-block:0}
