:root{color-scheme:light;--page: #f9f9f7;--surface-1: #fcfcfb;--surface-raised: #ffffff;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #6f6d68;--grid: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--band: rgba(42, 120, 214, .16);--accent: #2a78d6;--good: #006300;--critical: #d03b3b;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #6250d6;--series-8: #e34948;--series-other: #898781}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page: #0d0d0d;--surface-1: #1a1a19;--surface-raised: #242423;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #9a9890;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--band: rgba(57, 135, 229, .22);--accent: #3987e5;--good: #0ca30c;--critical: #e66767;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--series-other: #898781}}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.page{max-width:1420px;margin:0 auto;padding:32px 16px 48px;display:grid;gap:20px}.masthead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.masthead h1{margin:0;font-size:1.6rem;letter-spacing:-.01em}.lede,.subtitle{margin:4px 0 0;color:var(--text-secondary)}.controls{display:flex;flex-wrap:wrap;gap:8px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segmented{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.segmented button{border:0;border-radius:6px;background:transparent;padding:4px 12px;color:var(--text-secondary)}.segmented button[aria-pressed=true]{background:var(--text-primary);color:var(--surface-1);font-weight:600}.refresh{border:1px solid var(--border);border-radius:8px;background:var(--surface-1);padding:4px 14px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.tile,.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px}.tile{display:grid;gap:2px;padding:14px 16px}.tile-label,.tile-note{color:var(--text-secondary);font-size:.85rem}.tile-note{color:var(--text-muted)}.tile-value{font-size:1.6rem;font-weight:600}.delta{font-size:.9rem}.delta.up{color:var(--good)}.delta.down{color:var(--critical)}.card{padding:18px 20px;min-width:0;transition:opacity .2s}.card.busy{opacity:.6}.card h2{margin:0;font-size:1.05rem}.card app-line-chart{margin-top:16px}.key{display:inline-block;vertical-align:middle;margin:0 4px 0 10px}.key:first-child{margin-left:0}.key-line{width:16px;height:2px;background:var(--text-primary)}.key-band{width:16px;height:10px;background:var(--band);border-radius:2px}.legend{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}.legend button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:transparent;padding:2px 10px;color:var(--text-primary)}.legend button[aria-pressed=false]{color:var(--text-muted);text-decoration:line-through}.legend button[aria-pressed=false] .swatch{opacity:.3}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:baseline}.legend .swatch{margin-right:0}.table-wrap{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse}table th,table td{padding:8px 10px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--grid)}table th{color:var(--text-muted);font-weight:500;font-size:.85rem}table .num{text-align:right;font-variant-numeric:tabular-nums}table tr.muted td{color:var(--text-muted)}.status{color:var(--text-secondary)}.status.good{color:var(--good)}.status.critical{color:var(--critical)}details{margin-top:16px}details summary{cursor:pointer;color:var(--text-secondary)}details .table-wrap{max-height:360px;overflow-y:auto}.empty{color:var(--text-secondary)}footer{color:var(--text-muted);font-size:.8rem}a{color:var(--accent)}.isin{margin-left:8px;color:var(--text-muted)}.legend.static li{display:inline-flex;align-items:center;margin-right:12px;color:var(--text-secondary)}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.actions{display:flex;gap:8px}button.ghost{border:1px solid var(--border);border-radius:8px;background:transparent;padding:4px 12px}input,select{font:inherit;color:inherit;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;padding:6px 10px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:disabled,select:disabled{opacity:.55}.holdings{list-style:none;margin:12px 0 0;padding:0}.holdings li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--grid)}.holdings .swatch{margin-right:0;flex:none}.holding-name{flex:1;min-width:0}.holding-name small{display:block;color:var(--text-muted)}.weight{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary)}.weight input{width:72px;text-align:right;font-variant-numeric:tabular-nums}.weight.rate{font-size:.85rem}.weight.rate input{width:64px}.remove{border:0;background:transparent;color:var(--text-muted);padding:4px 6px;border-radius:6px}.remove:hover{color:var(--critical)}.total{margin:10px 0 0;color:var(--text-secondary)}.total.warn strong{color:var(--critical)}.search{margin-top:14px}.search input{width:100%}.hint{margin:6px 0 0;color:var(--text-muted)}.hint.critical{color:var(--critical)}.results{list-style:none;margin:6px 0 0;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);max-height:320px;overflow-y:auto}.results button{display:block;width:100%;text-align:left;border:0;border-radius:6px;background:transparent;padding:6px 8px}.results button:hover:not(:disabled){background:var(--page)}.results button small{display:block;color:var(--text-muted)}.import{margin-top:14px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--page)}.import h3{margin:0;font-size:.95rem}.import textarea{display:block;width:100%;margin-top:8px;font:.85rem/1.4 ui-monospace,Cascadia Mono,Consolas,monospace;color:inherit;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;padding:8px 10px;resize:vertical}.import textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.import .actions{margin-top:12px}.import-count{margin:12px 0 0;font-weight:600}.import-issues{margin:12px 0 0;padding:0;list-style:none;color:var(--text-secondary)}.import-issues li{padding:3px 0}.import-issues .status{display:inline-block;width:1.2em}.import-issues select{max-width:100%;margin-left:4px}button.primary{border:1px solid transparent;border-radius:8px;background:var(--text-primary);color:var(--surface-1);font-weight:600;padding:4px 14px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 14px;margin-bottom:-1px;color:var(--text-secondary)}.tabs button[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--text-primary);font-weight:600}.data-status{list-style:none;margin:12px 0 0;padding:0;color:var(--text-secondary)}.data-status li{padding:2px 0}.data-status .status{display:inline-block;width:1.2em}.warnings{margin:0;padding:12px 16px;list-style:none;border:1px solid var(--critical);border-radius:10px;color:var(--text-secondary)}table tr.arbitrage td{background:var(--page)}.table-wrap.ops{max-height:480px;overflow-y:auto}.export-dialog{width:min(720px,100vw - 32px);padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);color:var(--text-primary)}.export-dialog::backdrop{background:#00000073}.export-dialog h3{margin:0;font-size:1.05rem}.export-dialog textarea{display:block;width:100%;margin-top:10px;font:.85rem/1.4 ui-monospace,Cascadia Mono,Consolas,monospace;color:inherit;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;padding:8px 10px;resize:vertical}.export-dialog .actions{margin-top:12px}
