:root{--navy: #0b2545;--ink: #1b1f29;--muted: #5d6675;--line: #d9dee6;--bg: #f6f8fb;--card: #ffffff;--accent: #0b8c8c;--warn: #b7791f;--bad: #b42318;--good: #1b7f3b;--radius: 8px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent)}button,select,input{font:inherit}.app{max-width:1480px;margin:0 auto;padding:16px}header.top{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:12px}header.top h1{font-size:20px;margin:0;color:var(--navy)}header.top .who{color:var(--muted);font-size:13px;flex:1 1 320px}.notice{background:#fff8e6;border:1px solid #f0d58c;padding:10px 12px;border-radius:var(--radius);margin:8px 0}.notice.bad{background:#fdecea;border-color:#f3b3ad}.knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 16px;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:12px}.knob{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.knob label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knob input[type=range]{width:100%;margin:0;height:22px}.knob select{width:100%;max-width:100%;height:26px;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:#fff}.knob button{height:26px;padding:0 10px;white-space:nowrap;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;align-self:flex-start}.knob .val{font-weight:600;font-size:13px;color:var(--ink)}.tabs{display:flex;gap:6px;margin:8px 0 12px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:var(--card);padding:6px 12px;border-radius:999px;cursor:pointer}.tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:8px;font-size:13px}.filters select,.filters input{padding:4px 6px;border:1px solid var(--line);border-radius:6px}table.grid{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);font-size:13px}table.grid th,table.grid td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.grid th{background:#eef2f7;position:sticky;top:0;font-weight:600;cursor:pointer;white-space:nowrap}table.grid tr.row{cursor:pointer}table.grid tr.row:hover{background:#f3f7fb}table.grid tr.row.open{background:#e6f2f2}table.grid tr.detail-row>td{background:#fbfcfe;padding:0 8px 8px}table.grid tr.detail-row .detail{margin:6px 0 0}table.grid td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;border:1px solid var(--line);background:#f1f4f8;margin-right:4px;white-space:nowrap}.tag.green{background:#e6f4ea;border-color:#b7dfc2;color:var(--good)}.tag.yellow{background:#fff8e6;border-color:#f0d58c;color:var(--warn)}.tag.red{background:#fdecea;border-color:#f3b3ad;color:var(--bad)}.tag.white{background:#fff}.tag.live{background:#e6f2f2;border-color:#b7dada;color:var(--accent)}.detail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin:10px 0}.detail h3{margin:0 0 8px;font-size:15px}.waterfall{display:grid;grid-template-columns:180px 90px 1fr;gap:4px 12px;font-size:13px;align-items:center}.waterfall .k{color:var(--muted)}.waterfall .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.waterfall .bar{height:10px;background:var(--accent);border-radius:3px;min-width:2px}.waterfall .why{color:var(--muted);font-size:12px}.alerts li{margin:2px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:900px){.two{grid-template-columns:1fr}}.broker-form{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;font-size:13px}.broker-form .q{color:var(--ink)}.totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:8px 0 12px}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.tile .label{font-size:12px;color:var(--muted)}.tile .value{font-size:20px;font-weight:700;color:var(--navy)}.small{font-size:12px;color:var(--muted)}.drop{border:2px dashed var(--line);border-radius:var(--radius);padding:18px;text-align:center;color:var(--muted);background:var(--card)}.drop.over{border-color:var(--accent);background:#e6f2f2}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
