:root{--font-display: "Source Sans 3", "Noto Sans", system-ui, sans-serif;--font-body: "Source Sans 3", "Noto Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--bg: #f4f5f7;--bg-accent: #e8eaee;--surface: #ffffff;--surface-2: #fafbfc;--ink: #1a1d24;--ink-secondary: #3d4450;--muted: #6b7280;--brand: #0f766e;--brand-hover: #0d9488;--brand-fg: #ffffff;--brand-2: #0f766e;--warn: #b45309;--danger: #b91c1c;--ok: #047857;--info: #0369a1;--border: #d1d5db;--border-soft: #e5e7eb;--focus: #0f766e;--input-bg: #ffffff;--sidebar-bg: #111827;--sidebar-ink: #e5e7eb;--sidebar-muted: #9ca3af;--sidebar-active: #0f766e;--topstrip-bg: #ffffff;--overlay: rgba(17, 24, 39, .48);--raw-bg: #f3f4f6;--chart-1: #0f766e;--chart-2: #0369a1;--chart-3: #b45309;--chart-4: #6b7280;--chart-grid: #e5e7eb;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--shadow: 0 1px 2px rgba(17, 24, 39, .06);--shadow-lg: 0 8px 24px rgba(17, 24, 39, .12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 40px;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 1.75rem;--sidebar-width: 248px;--sidebar-collapsed: 64px;--topbar-height: 52px;--control-h: 36px;--control-h-sm: 30px;--z-nav: 70;--z-drawer: 80;--z-dialog: 90;--z-cmd: 100;--z-toast: 110;--z-skip: 120;color-scheme:light;font-family:var(--font-body);font-size:15px;line-height:1.45;color:var(--ink);background:var(--bg)}[data-theme=dark]{--bg: #0b0f14;--bg-accent: #151b24;--surface: #121820;--surface-2: #1a222d;--ink: #e8eaed;--ink-secondary: #c4c9d1;--muted: #8b939e;--brand: #2dd4bf;--brand-hover: #5eead4;--brand-fg: #042f2e;--brand-2: #2dd4bf;--warn: #f0a050;--danger: #f87171;--ok: #34d399;--info: #38bdf8;--border: #2a3444;--border-soft: #1e2733;--focus: #2dd4bf;--input-bg: #0f141b;--sidebar-bg: #080b10;--sidebar-ink: #e5e7eb;--sidebar-muted: #8b939e;--sidebar-active: #2dd4bf;--topstrip-bg: #121820;--overlay: rgba(0, 0, 0, .6);--raw-bg: #0f141b;--chart-1: #2dd4bf;--chart-2: #38bdf8;--chart-3: #f0a050;--chart-4: #8b939e;--chart-grid: #2a3444;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);color-scheme:dark}[data-density=compact]{--control-h: 30px;--text-md: .8125rem;--space-page: var(--space-3)}[data-density=comfortable]{--control-h: 36px;--space-page: var(--space-5)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.stack{display:grid;gap:var(--space-4)}.stack-sm{display:grid;gap:var(--space-2)}.stack-lg{display:grid;gap:var(--space-5)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip-link{position:absolute;left:-9999px;top:0;background:var(--brand);color:var(--brand-fg);padding:8px 12px;z-index:var(--z-skip)}.skip-link:focus{left:8px;top:8px}.muted{color:var(--muted)}.err{color:var(--danger);margin-top:8px}.err-banner{color:var(--danger);margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.ok{color:var(--ok)}.mono{font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all}h1{font-family:var(--font-display);font-size:var(--text-xl);font-weight:650;margin:0 0 4px;letter-spacing:-.02em}h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:650;margin:0 0 8px;letter-spacing:-.015em}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 14px;border:1px solid transparent;border-radius:var(--radius);font-weight:600;font-size:var(--text-md);cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn--primary{background:var(--brand);color:var(--brand-fg)}.ui-btn--primary:hover:not(:disabled){background:var(--brand-hover)}a.ui-btn{text-decoration:none;box-sizing:border-box}.ui-btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}.ui-btn--secondary:hover:not(:disabled){background:var(--bg-accent)}.ui-btn--ghost{background:transparent;color:var(--ink-secondary);border-color:var(--border)}.ui-btn--ghost:hover:not(:disabled){background:var(--bg-accent);color:var(--ink)}a.ui-btn--ghost{color:var(--ink-secondary)}a.ui-btn--primary{color:var(--brand-fg)}a.ui-btn--secondary{color:var(--ink)}.ui-btn--danger{background:var(--danger);color:#fff}.ui-btn--sm{height:var(--control-h-sm);padding:0 10px;font-size:var(--text-sm)}.ui-btn--icon{width:var(--control-h);padding:0}.ui-btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 14px;border:1px solid transparent;border-radius:var(--radius);font-weight:600;font-size:var(--text-md);cursor:pointer;background:var(--brand);color:var(--brand-fg);text-decoration:none}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{background:transparent;color:var(--ink-secondary);border-color:var(--border)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row-actions .btn,.row-actions .ui-btn{height:var(--control-h-sm);padding:0 10px;font-size:var(--text-sm)}.ui-field{display:grid;gap:4px;font-size:var(--text-md)}.ui-field__label{font-weight:600;color:var(--ink-secondary);font-size:var(--text-sm)}.ui-field__hint{color:var(--muted);font-size:var(--text-xs)}.ui-field__error{color:var(--danger);font-size:var(--text-xs)}.ui-input,.ui-select,.ui-textarea,label>input,label>select,label>textarea,input:not([type=checkbox]):not([type=radio]),select,textarea{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);padding:0 10px;background:var(--input-bg);color:var(--ink);width:100%}.ui-textarea,textarea{height:auto;min-height:80px;padding:8px 10px;resize:vertical}label{display:grid;gap:4px;font-size:var(--text-md)}.ui-card,.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-4);margin-bottom:var(--space-4)}.grid,.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid>h2,.grid>h3,.form-grid>h2,.form-grid>h3,.grid>.row-actions,.form-grid>.row-actions,.grid>button,.form-grid>button,.grid>.btn,.form-grid>.btn,.grid>.ui-btn,.form-grid>.ui-btn,.grid>.form-span,.form-grid>.form-span,.grid>p,.form-grid>p,.grid>.error-banner,.form-grid>.error-banner{grid-column:1 / -1}.form-card{display:flex;flex-direction:column;gap:var(--space-3)}.form-card__title{margin:0;font-size:var(--text-lg);font-weight:700}.form-card__body{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-card__body>h2,.form-card__body>h3,.form-card__body>.row-actions,.form-card__body>button,.form-card__body>.btn,.form-card__body>.ui-btn,.form-card__body>.form-span,.form-card__body>p{grid-column:1 / -1}.form-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-soft)}.ui-table-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);-webkit-overflow-scrolling:touch;max-width:100%}.ui-table{width:100%;border-collapse:collapse;min-width:720px}.ui-table th,.ui-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border-soft);font-size:var(--text-sm);vertical-align:middle}.ui-table thead th{background:var(--surface-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;position:sticky;top:0;z-index:1;white-space:nowrap}.ui-table tbody tr:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}.ui-table .ui-col-num{width:2.5rem;text-align:center;color:var(--muted)}.ui-table .ui-col-money{min-width:7rem;max-width:9rem}.ui-table th.ui-col-money{text-align:center}.ui-table td.ui-col-money{text-align:right}.ui-table .ui-col-money input,.ui-table .ui-col-money .ui-input{text-align:right;font-variant-numeric:tabular-nums}.ui-table .ui-col-account{min-width:14rem}.ui-table .ui-col-narrow{min-width:5.5rem;max-width:7.5rem}.ui-table .ui-col-partner{min-width:9rem}.ui-table .ui-col-memo{min-width:8rem}.ui-table .ui-col-actions{width:1%;white-space:nowrap}.ui-table th.ui-col-actions{text-align:center}.ui-table .ui-col-actions .row-actions{flex-wrap:nowrap;gap:4px;justify-content:flex-end}.ui-table td .ui-input,.ui-table td .ui-select,.ui-table td input:not([type=checkbox]):not([type=radio]),.ui-table td select{width:100%;min-width:0;max-width:100%;height:var(--control-h-sm);font-size:var(--text-sm);padding:0 8px}.ui-table .account-cell{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0;max-width:100%}.ui-table .account-cell .ui-select,.ui-table .account-cell select{width:100%;min-width:0}.ui-table .account-cell__link{font-size:var(--text-xs);color:var(--muted);text-decoration:none;white-space:nowrap;line-height:1.2;align-self:flex-start}.ui-table .account-cell__link:hover{color:var(--brand)}.journal-header-grid{display:grid;gap:12px 16px;align-items:start;grid-template-columns:minmax(140px,.9fr) minmax(160px,1fr) minmax(180px,1.2fr) minmax(160px,1fr)}.journal-header-grid .ui-field{min-width:0;width:100%}.journal-header-grid .ui-field__label{display:block;width:100%;text-align:left}.journal-header-grid .ui-field__hint{margin-top:2px}@media(max-width:960px){.journal-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.journal-header-grid{grid-template-columns:minmax(0,1fr)}}.ui-table--journal{table-layout:fixed;width:100%;min-width:920px}.ui-table--journal th,.ui-table--journal td{vertical-align:middle;padding:8px 10px}.ui-table--journal .ui-col-num{width:40px}.ui-table--journal .ui-col-account{width:24%}.ui-table--journal .ui-col-money{width:104px;min-width:0;max-width:none}.ui-table--journal .ui-col-partner{width:14%;min-width:0}.ui-table--journal .ui-col-narrow{width:88px;min-width:0;max-width:none}.ui-table--journal .ui-col-memo{width:auto;min-width:0}.ui-table--journal .ui-col-actions{width:96px}.ui-table--journal .ui-col-memo,.ui-table--journal .ui-col-partner,.ui-table--journal .ui-col-money{overflow:hidden}.ui-table--journal.ui-table--journal-fx,.ui-table--journal.ui-table--journal-dims{min-width:1180px}.ui-table--journal.ui-table--journal-settle{min-width:1280px}.ui-table--journal.ui-table--journal-fx.ui-table--journal-dims{min-width:1400px}.ui-table--journal.ui-table--journal-fx.ui-table--journal-dims.ui-table--journal-settle{min-width:1680px}.journal-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.journal-toolbar .ui-field{min-width:160px;max-width:220px}.journal-toolbar__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1 1 auto}.journal-toolbar__actions .ui-btn,.journal-toolbar__actions label.ui-btn{display:inline-flex;margin:0}.alloc-list{display:grid;gap:8px}.alloc-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:var(--radius)}.ui-badge,.badge,.status-badge{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:650;padding:2px 8px;border-radius:999px;letter-spacing:.02em;background:var(--bg-accent);color:var(--ink-secondary)}.ui-badge--ok,.status-badge.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.ui-badge--warn,.status-badge.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.ui-badge--danger,.status-badge.danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.ui-badge--brand{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand)}.ui-tabs,.tabs{margin-bottom:var(--space-4)}.ui-tabs__list,.tabs-list{display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;border-bottom:1px solid var(--border-soft);padding-bottom:0;margin-bottom:14px}.ui-tabs__tab,.tabs-tab{border:0;background:transparent;color:var(--muted);padding:10px 14px;cursor:pointer;font-weight:600;font-size:var(--text-md);border-bottom:2px solid transparent;white-space:nowrap;border-radius:0}.ui-tabs__tab:hover,.tabs-tab:hover{color:var(--ink)}.ui-tabs__tab--active,.tabs-tab.active{color:var(--brand);border-bottom-color:var(--brand);background:transparent;box-shadow:none}.ui-page-header,.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:var(--space-4)}.ui-page-header__meta{display:grid;gap:2px}.ui-page-header__crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--text-xs);color:var(--muted);margin-bottom:4px}.ui-page-header__actions,.page-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.ui-grid-wrap,.table-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface)}.ui-grid,.table{width:100%;border-collapse:collapse}.ui-grid th,.ui-grid td,.table th,.table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border-soft);font-size:var(--text-md)}.ui-grid thead th,.table thead th{background:var(--surface-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;position:sticky;top:0;z-index:1}.ui-grid tbody tr{cursor:default}.ui-grid tbody tr[data-clickable=true]{cursor:pointer}.ui-grid tbody tr:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}.ui-grid--compact th,.ui-grid--compact td,.table.dense th,.table.dense td{padding:5px 8px;font-size:var(--text-sm)}.ui-grid__sort{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:0}.ui-grid-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-soft);background:var(--surface-2)}.ui-grid-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--muted)}.ui-modal-backdrop,.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;z-index:var(--z-dialog);padding:16px;animation:ui-fade-in .15s ease}.ui-modal,.dialog{width:min(440px,100%);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-lg);padding:var(--space-4);animation:ui-rise .18s ease}.ui-modal--md,.dialog-wide{width:min(640px,100%)}.ui-modal--lg{width:min(860px,100%)}.ui-modal__header,.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.ui-modal__footer,.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:var(--z-drawer);display:flex;justify-content:flex-end;animation:ui-fade-in .15s ease}.drawer{width:min(400px,100%);height:100%;background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:20px;animation:ui-slide-in .18s ease}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.drawer-body{overflow:auto;flex:1}.empty-state,.ui-empty{padding:32px 16px;text-align:center;color:var(--muted)}.loading-state,.ui-loading{display:flex;align-items:center;gap:10px;padding:24px 8px}.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);animation:pulse 1s ease-in-out infinite}.ui-skeleton{height:1rem;border-radius:4px;background:linear-gradient(90deg,var(--bg-accent),var(--border-soft),var(--bg-accent));background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.ui-list-report{display:grid;gap:var(--space-4)}.ui-list-report__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end;padding:var(--space-3);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.row-actions:has(>.ui-field){align-items:flex-end}.ui-list-report__filters>.row-actions:has(>.ui-field){flex-wrap:nowrap}.ui-list-report__filters>.row-actions>.ui-field{min-width:0}.ui-object-page{display:grid;gap:var(--space-4);padding-bottom:72px}.ui-object-page__header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:var(--space-4);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.ui-object-page__footer{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--border-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ui-object-page__footer>.row-actions{width:100%;justify-content:space-between;align-items:center;flex-wrap:wrap}.ui-wizard{max-width:720px;margin:0 auto;display:grid;gap:var(--space-4)}.ui-wizard__steps{display:flex;gap:8px;flex-wrap:wrap}.ui-wizard__step{flex:1;min-width:100px;padding:8px 10px;border-radius:var(--radius);background:var(--bg-accent);color:var(--muted);font-size:var(--text-sm);font-weight:600}.ui-wizard__step--active{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand)}.ui-wizard__step--done{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.ui-dashboard{display:grid;gap:var(--space-5)}.ui-kpi-strip{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.ui-kpi{padding:var(--space-4);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.ui-kpi__label{font-size:var(--text-xs);color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.04em}.ui-kpi__value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;margin-top:4px;font-family:var(--font-mono)}.kpi{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.kpi-skeleton{height:1.35rem;width:4.5rem;border-radius:4px;background:linear-gradient(90deg,var(--bg-accent),var(--border-soft),var(--bg-accent));background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.app-shell--collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.app-shell__sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--sidebar-bg);color:var(--sidebar-ink);display:flex;flex-direction:column;z-index:var(--z-nav);border-right:1px solid transparent}.app-shell__brand{display:flex;align-items:center;gap:10px;padding:16px 14px;font-weight:700;font-size:1.05rem;letter-spacing:-.02em;border-bottom:1px solid rgba(255,255,255,.08)}.app-shell__brand-mark{width:28px;height:28px;border-radius:6px;background:var(--sidebar-active);color:var(--brand-fg);display:grid;place-items:center;font-size:.75rem;font-weight:800;flex-shrink:0}.app-shell__nav{display:flex;flex-direction:column;gap:2px;padding:10px 8px;flex:1}.app-shell__group-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);padding:12px 10px 4px}.app-shell__link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:var(--sidebar-ink);font-size:var(--text-md);border:0;background:transparent;width:100%;text-align:left;cursor:pointer}.app-shell__link:hover{background:#ffffff0f}.app-shell__link.active{background:var(--sidebar-active);color:var(--brand-fg);font-weight:650}.app-shell__link-icon{width:1.25rem;text-align:center;opacity:.85;flex-shrink:0}.app-shell--collapsed .app-shell__link-label,.app-shell--collapsed .app-shell__group-label,.app-shell--collapsed .app-shell__brand-text{display:none}.app-shell--collapsed .app-shell__link{justify-content:center;padding:10px}.app-shell__main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.app-shell__topbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-height:var(--topbar-height);padding:0 var(--space-4);border-bottom:1px solid var(--border-soft);background:var(--topstrip-bg);position:sticky;top:0;z-index:40}.app-shell__topbar-spacer{flex:1}.app-shell__content{padding:var(--space-5);max-width:1320px;width:100%}.app-shell__crumbs{font-size:var(--text-sm);color:var(--muted)}.company-select{max-width:200px;height:var(--control-h-sm);border:1px solid var(--border);border-radius:var(--radius);padding:0 8px;background:var(--input-bg);color:var(--ink)}.sidebar-backdrop,.menu-toggle,.app-shell__bottom-nav{display:none}@media(max-width:1024px){.app-shell{grid-template-columns:1fr}.menu-toggle{display:inline-flex}.app-shell__sidebar{position:fixed;left:0;top:0;width:min(var(--sidebar-width),88vw);transform:translate(-105%);transition:transform .2s ease}.app-shell__sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:calc(var(--z-nav) - 1);animation:ui-fade-in .15s ease}.app-shell__bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-nav);background:var(--surface);border-top:1px solid var(--border-soft);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}.app-shell__bottom-nav a{flex:1;text-align:center;padding:8px 4px;font-size:var(--text-xs);color:var(--muted);border-radius:var(--radius)}.app-shell__bottom-nav a.active{color:var(--brand);font-weight:700;background:color-mix(in srgb,var(--brand) 10%,transparent)}.app-shell__content{padding:var(--space-4);padding-bottom:72px}}@media(max-width:640px){.app-shell__content{padding:var(--space-3);padding-bottom:72px}}.hero-auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-panel{width:min(440px,100%);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-5);display:grid;gap:var(--space-3)}.auth-panel--wide{width:min(560px,100%)}.auth-panel__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.auth-panel__top h1{margin:0 0 4px}.auth-panel__top .muted{margin:0}.auth-panel__footer{margin-top:var(--space-2)}.auth-panel .brand-mark{width:40px;height:40px;border-radius:8px;background:var(--brand);color:var(--brand-fg);display:grid;place-items:center;font-weight:800;margin-bottom:12px}.ui-wizard__step[type=button]{cursor:pointer;font:inherit;text-align:left;border:0}.ui-wizard__footer{margin-top:var(--space-2)}.ui-cmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:var(--z-cmd);display:grid;place-items:start center;padding-top:12vh;animation:ui-fade-in .12s ease}.ui-cmd{width:min(560px,92vw);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-lg);overflow:hidden;animation:ui-rise .15s ease}.ui-cmd__input{width:100%;border:0;border-bottom:1px solid var(--border-soft);padding:14px 16px;font-size:1rem;background:transparent;color:var(--ink);outline:none}.ui-cmd__list{max-height:320px;overflow:auto;padding:6px}.ui-cmd__item{display:flex;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:var(--radius);cursor:pointer;color:var(--ink);font-size:var(--text-md)}.ui-cmd__item[data-active=true],.ui-cmd__item:hover{background:color-mix(in srgb,var(--brand) 12%,transparent)}.ui-cmd__hint{color:var(--muted);font-size:var(--text-xs)}.ui-toast-host{position:fixed;right:16px;bottom:16px;z-index:var(--z-toast);display:grid;gap:8px;width:min(360px,calc(100vw - 32px))}.ui-toast{padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:var(--text-md);animation:ui-rise .18s ease}.ui-toast--ok{border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.ui-toast--err{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.progress{height:6px;background:var(--bg-accent);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand)}.chart-card{min-height:260px}.chart-wrap{width:100%;height:240px}.chart-wrap-sm{width:100%;height:180px}.theme-toggle{min-width:2.5rem}.status-panel{display:grid;gap:var(--space-2)}.status-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-soft)}.load-more{margin-top:var(--space-3)}.alloc-list,.draft-list{display:grid;gap:8px}.alloc-row,.draft-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--border-soft);border-radius:var(--radius)}.draft-row{grid-template-columns:1fr}.raw-json{background:var(--raw-bg);border:1px solid var(--border-soft);border-radius:var(--radius);padding:var(--space-3);overflow:auto;max-height:320px;font-size:var(--text-sm)}.pill-exp{display:none}@keyframes pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-slide-in{0%{transform:translate(12px);opacity:.8}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.loading-dot,.kpi-skeleton,.ui-skeleton,.ui-modal-backdrop,.ui-modal,.ui-cmd,.drawer,.ui-toast{animation:none}}.ui-kit-page{display:grid;gap:var(--space-5)}.ui-kit-section{display:grid;gap:var(--space-3)}.ui-kit-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
