:root{color-scheme:light;--bg: #f7f7f5;--surface: #ffffff;--surface-2: #f0f0ed;--ink: #17181a;--ink-2: #5b5e66;--ink-3: #8a8d94;--line: #e2e2de;--accent: #0b6e99;--accent-ink: #ffffff;--gain: #0a7d33;--loss: #c03530;--warn-bg: #fdf3d8;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--chart-grid: #e7e7e3}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #131417;--surface: #1b1d21;--surface-2: #24262c;--ink: #e8e9eb;--ink-2: #a2a5ad;--ink-3: #6f727a;--line: #2c2e34;--accent: #3aa2d0;--accent-ink: #0d1114;--gain: #3fbf6d;--loss: #e5655f;--warn-bg: #3a3120;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--chart-grid: #26282e}}:root[data-theme=dark]{color-scheme:dark;--bg: #131417;--surface: #1b1d21;--surface-2: #24262c;--ink: #e8e9eb;--ink-2: #a2a5ad;--ink-3: #6f727a;--line: #2c2e34;--accent: #3aa2d0;--accent-ink: #0d1114;--gain: #3fbf6d;--loss: #e5655f;--warn-bg: #3a3120;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--chart-grid: #26282e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}#root{min-height:100vh}h1,h2,h3{letter-spacing:-.01em}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:6px 12px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input,select{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 8px}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:7px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}td.r,th.r{text-align:right}.gain{color:var(--gain)}.loss{color:var(--loss)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover,th.sortable.sorted{color:var(--ink)}.sort-arrow{font-size:9px}input.filter{padding:4px 8px;font-size:13px;min-width:160px}.info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--ink-3);color:var(--ink-3);font-size:10px;font-weight:700;font-style:normal;vertical-align:1px}[data-tip]{position:relative;cursor:default}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:0;background:var(--ink);color:var(--bg);padding:8px 10px;border-radius:6px;width:min(280px,70vw);font-size:12px;font-weight:400;line-height:1.45;white-space:normal;text-align:left;z-index:50;box-shadow:0 4px 14px #00000040;pointer-events:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px}.tablewrap{overflow-x:auto}.stat{display:flex;flex-direction:column;gap:2px}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600}.stat .value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.stat .sub{font-size:12px;color:var(--ink-2)}.pill{display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.pill.held{background:var(--accent);color:var(--accent-ink)}.shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:20px;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}.brand{font-weight:800;letter-spacing:-.02em;font-size:16px}.topbar nav{display:flex;gap:4px;flex:1}.tab{border:none;background:none;color:var(--ink-2);padding:6px 12px;border-radius:6px;font-weight:500}.tab.active{background:var(--surface-2);color:var(--ink);font-weight:650}.signout{border:none;background:none;color:var(--ink-3);font-size:13px}main{padding:20px;max-width:1200px;margin:0 auto;width:100%}.page-head{display:flex;align-items:baseline;gap:12px;margin:4px 0 16px;flex-wrap:wrap}.page-head h1{font-size:20px;margin:0}.page-head .meta{color:var(--ink-3);font-size:12.5px}.page-head .spacer{flex:1}.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:min(360px,90vw);display:flex;flex-direction:column;gap:12px}.login-card h1{margin:0 0 4px;font-size:20px}.login-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2)}.error{color:var(--loss);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}.checkrow{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}
