:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-base:#121819;--surface-raised:#182022;--surface-sunken:#0d1213;--surface-hover:#1f292b;--line:#2a3639;--line-strong:#3a4a4e;--text-primary:#e6edee;--text-secondary:#9fb0b3;--text-muted:#6d7f83;--text-inverse:#0d1213;--accent:#4aa8a0;--accent-strong:#5fc4ba;--accent-dim:#1f3c3a;--gain:#3fb8a4;--loss:#d1704f;--warn:#d9a441;--critical:#d24b43;--mode-paper:#d9a441;--mode-paper-dim:#3a2f14;--mode-live:#d24b43;--mode-live-dim:#3d1a18;--font-ui:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-data:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius:3px;--radius-lg:5px;--rail-width:208px;--header-height:52px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-base:#f0f2f1;--surface-raised:#fff;--surface-sunken:#e3e7e6;--surface-hover:#e8ecec;--line:#ccd4d3;--line-strong:#aab6b5;--text-primary:#17201f;--text-secondary:#4a5856;--text-muted:#6d7f83;--text-inverse:#fff;--accent:#2f7d76;--accent-strong:#246b65;--accent-dim:#d5e6e4;--gain:#1c7f6e;--loss:#a8452a;--warn:#8a6410;--critical:#a3302a;--mode-paper:#8a6410;--mode-paper-dim:#f7e9c6;--mode-live:#a3302a;--mode-live-dim:#f6d9d6}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface-base);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}.num{font-family:var(--font-data);font-variant-numeric:tabular-nums;letter-spacing:-.01em}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}p{margin:0 0 var(--space-3);max-width:68ch}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}button{font:inherit;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--text-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius)}button:hover:not(:disabled){background:var(--surface-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--text-inverse);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button.danger{border-color:var(--critical);color:var(--critical);background:0 0}input,select{font:inherit;width:100%;padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-primary)}input::placeholder{color:var(--text-muted)}label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1);display:block}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th{text-align:left;color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line-strong);font-weight:600}td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}td.right,th.right{text-align:right}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{grid-template-columns:var(--rail-width) 1fr;min-height:100%;display:grid}.rail{background:var(--surface-sunken);border-right:1px solid var(--line);padding:var(--space-4) 0;flex-direction:column;display:flex}.rail-brand{padding:0 var(--space-4) var(--space-5);letter-spacing:.02em;font-weight:600}.rail-brand small{color:var(--text-muted);font-weight:400;font-size:var(--text-xs);display:block}.rail nav{flex-direction:column;gap:1px;display:flex}.rail nav a{padding:var(--space-2) var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);border-left:2px solid #0000}.rail nav a:hover{background:var(--surface-hover);color:var(--text-primary);text-decoration:none}.rail nav a[aria-current=page]{color:var(--text-primary);border-left-color:var(--accent);background:var(--surface-hover)}.rail-footer{padding:var(--space-4);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--text-muted);margin-top:auto}.main{flex-direction:column;min-width:0;display:flex}.mode-banner{align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-5);border-bottom:1px solid var(--line);border-top:3px solid #0000;display:flex}.mode-banner[data-mode=PAPER]{background:var(--mode-paper-dim);border-top-color:var(--mode-paper)}.mode-banner[data-mode=LIVE]{background:var(--mode-live-dim);border-top-color:var(--mode-live)}.mode-banner[data-mode=NONE]{background:var(--surface-raised);border-top-color:var(--line-strong)}.mode-label{letter-spacing:.06em;font-weight:700;font-size:var(--text-sm)}.mode-banner[data-mode=PAPER] .mode-label{color:var(--mode-paper)}.mode-banner[data-mode=LIVE] .mode-label{color:var(--mode-live)}.mode-detail{color:var(--text-secondary);font-size:var(--text-sm)}.mode-spacer{margin-left:auto}.badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius);border:1px solid var(--line-strong);color:var(--text-secondary);display:inline-flex}.badge[data-mode=PAPER]{border-color:var(--mode-paper);color:var(--mode-paper)}.badge[data-mode=LIVE]{border-color:var(--mode-live);color:var(--mode-live)}.conn{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);display:inline-flex}.conn-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.conn[data-state=open] .conn-dot{background:var(--gain)}.conn[data-state=connecting] .conn-dot{background:var(--warn)}.conn[data-state=closed] .conn-dot{background:var(--critical)}.content{padding:var(--space-5);flex:1;overflow-y:auto}.page-head{margin-bottom:var(--space-5)}.page-head p{color:var(--text-secondary);font-size:var(--text-sm)}.panel{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.panel-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);align-items:center;gap:var(--space-3);display:flex}.panel-body{padding:var(--space-4)}.panel-body.flush{padding:0}.grid-2{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.stat{flex-direction:column;gap:2px;display:flex}.stat-value{font-size:var(--text-xl)}.stat-label{color:var(--text-secondary);font-size:var(--text-sm)}.gain{color:var(--gain)}.loss{color:var(--loss)}.feed{max-height:380px;overflow-y:auto}.feed-row{gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:92px 150px 1fr auto;align-items:baseline;display:grid}.feed-time{color:var(--text-muted)}.feed-event{font-weight:600}.feed-data{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{padding:var(--space-6) var(--space-4);color:var(--text-muted);text-align:center;font-size:var(--text-sm)}.notice{border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);border-left-width:3px}.notice[data-tone=error]{border-left-color:var(--critical);color:var(--text-primary);background:var(--surface-sunken)}.notice[data-tone=warn]{border-left-color:var(--warn);background:var(--surface-sunken)}.notice[data-tone=info]{border-left-color:var(--accent);background:var(--surface-sunken)}.auth-shell{min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.auth-card{width:100%;max-width:380px}.auth-card .panel-body{gap:var(--space-4);flex-direction:column;display:flex}.auth-brand{margin-bottom:var(--space-5)}.auth-brand small{color:var(--text-muted);font-size:var(--text-xs)}.dialog-backdrop{padding:var(--space-5);z-index:50;background:#040809b3;place-items:center;display:grid;position:fixed;inset:0}.dialog{width:100%;max-width:420px}.field-error{color:var(--loss);font-size:var(--text-sm)}.hint{color:var(--text-muted);font-size:var(--text-xs)}.toolbar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}@media (max-width:860px){.shell{grid-template-columns:1fr}.rail{padding:var(--space-2);flex-direction:row;align-items:center;overflow-x:auto}.rail-brand,.rail-footer{display:none}.rail nav{flex-direction:row}.mode-banner{padding:0 var(--space-3);height:auto;padding-block:var(--space-2);flex-wrap:wrap}}.tabs{margin-bottom:var(--space-5);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;display:flex}.tab{border-radius:var(--radius) var(--radius) 0 0;color:var(--text-secondary);padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-2);background:0 0;border:1px solid #0000;border-bottom:none;margin-bottom:-1px;display:inline-flex}.tab:hover{background:var(--surface-hover);color:var(--text-primary)}.tab[aria-selected=true]{background:var(--surface-raised);border-color:var(--line);color:var(--text-primary);font-weight:600}.tab[data-mode=LIVE]{box-shadow:inset 0 2px 0 var(--mode-live)}.tab[data-mode=PAPER]{box-shadow:inset 0 2px 0 var(--mode-paper)}.tab-count{color:var(--text-muted);font-size:var(--text-xs)}.badge{background:var(--accent-muted);min-width:1.4rem;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;margin-left:auto;padding:.05rem .4rem;font-size:.75rem}.badge--critical{background:var(--loss);color:var(--surface)}.approvals{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.approval{border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:var(--radius);background:var(--surface);padding:1rem}.approval--critical{border-left-color:var(--loss)}.approval__head{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.approval__symbol{font-size:1.05rem;font-weight:600}.approval__exchange,.approval__kind{color:var(--text-muted);font-size:.85rem}.age{font-variant-numeric:tabular-nums;margin-left:auto;font-size:.85rem}.age--muted{color:var(--text-muted)}.age--warn{color:var(--warn)}.age--loss{color:var(--loss);font-weight:600}.approval__reason{color:var(--text-muted);margin:.5rem 0 .75rem}.approval__figures{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:0 0 .75rem;display:grid}.approval__figures dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem}.approval__figures dd{font-variant-numeric:tabular-nums;margin:.15rem 0 0}.approval__note{margin-bottom:.75rem;display:block}.approval__note span{color:var(--text-muted);margin-bottom:.25rem;font-size:.8rem;display:block}.approval__note textarea{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);padding:.5rem}.approval__actions{gap:.5rem;display:flex}.account{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:1.25rem;padding:1rem}.account__head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.account__head h2{margin:0;font-size:1.05rem}.account__totals{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:.75rem 0 1rem;display:grid}.account__totals dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem}.account__totals dd{font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:1.05rem}.tag--frozen{border-radius:var(--radius);background:var(--loss-muted,var(--surface-raised));color:var(--loss);padding:.05rem .4rem;font-size:.75rem;display:inline-block}.button--small{padding:.2rem .5rem;font-size:.8rem}.fund{align-items:flex-end;gap:.5rem;margin-bottom:.75rem;display:flex}.fund span{margin-bottom:.2rem;font-size:.8rem;display:block}.fund input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);width:8rem;color:var(--text);padding:.3rem .5rem}.row-actions,td.actions{justify-content:flex-end;gap:.4rem;display:flex}.assign{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.assign label{flex-direction:column;gap:.2rem;display:flex}.assign span{color:var(--text-secondary,var(--text-muted));font-size:.8rem}.assign select,.assign input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-width:11rem;color:var(--text);padding:.3rem .5rem}
