:root{--bg: #f4f6f8;--panel: #ffffff;--panel-2: #fafbfc;--ink: #17212b;--muted: #5b6b7a;--line: #d5dce3;--accent: #0e6e8c;--tint: #e3f0f5;--good: #1a7f48;--good-bg: #e4f3ea;--warn: #8a5a00;--warn-bg: #fbf3e0;--bad: #b3261e;--bad-bg: #fbe9e7;--mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f1519;--panel: #151c22;--panel-2: #1a232a;--ink: #e6ebef;--muted: #93a1ad;--line: #263038;--accent: #4fb3d0;--tint: #14262e;--good: #5fd39b;--good-bg: #10281d;--warn: #e8b45c;--warn-bg: #241c0e;--bad: #f2877c;--bad-bg: #2a1512;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.top{display:flex;align-items:center;gap:16px;padding:10px clamp(12px,2vw,24px);background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand{font-weight:650;letter-spacing:-.01em;font-size:15px}.brand span{color:var(--accent)}.tabs{display:flex;gap:2px}.tabs button{background:none;border:0;padding:6px 12px;border-radius:6px;color:var(--muted);font:inherit;font-weight:500;cursor:pointer}.tabs button:hover{background:var(--panel-2);color:var(--ink)}.tabs button[aria-current=true]{background:var(--tint);color:var(--accent)}.spacer{flex:1}main{padding:clamp(12px,2vw,24px);max-width:1600px;margin:0 auto}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:550;white-space:nowrap}.pill.good{background:var(--good-bg);color:var(--good)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.mute{background:var(--panel-2);color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-bottom:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.card.alarm{border-color:var(--bad)}.card-head{display:flex;align-items:baseline;gap:8px}.card-head h3{margin:0;font-size:15px;font-weight:650;letter-spacing:-.01em}.card-head .sub{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 0;border-block:1px solid var(--line)}.now div{text-align:center}.now .v{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.1}.now .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.now .v.hot{color:var(--bad)}table.win{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.win th,table.win td{padding:3px 4px;text-align:right;font-size:12.5px}table.win th:first-child,table.win td:first-child{text-align:left;color:var(--muted)}table.win thead th{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}td.drop-hi{color:var(--bad);font-weight:600}td.drop-mid{color:var(--warn)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.panel-head h2{margin:0;font-size:14px;font-weight:650}.tablewrap{overflow-x:auto;max-height:70vh}table.grid{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.grid th,table.grid td{padding:7px 10px;text-align:left;white-space:nowrap}table.grid thead th{position:sticky;top:0;background:var(--panel-2);z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}table.grid tbody tr{border-bottom:1px solid var(--line)}table.grid tbody tr:hover{background:var(--panel-2)}table.grid tbody tr:last-child{border-bottom:0}table.grid td.num,table.grid th.num{text-align:right}table.grid td.name{font-weight:500}.bar{display:inline-block;height:5px;border-radius:3px;background:var(--accent);vertical-align:middle;min-width:2px}select,input[type=text],input[type=password],input[type=search]{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 9px;font:inherit}select:focus-visible,input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.primary{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:7px 14px;font:inherit;font-weight:550;cursor:pointer}button.primary:disabled{opacity:.5;cursor:not-allowed}.ghost{background:none;border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:5px 10px;font:inherit;cursor:pointer}.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.login form{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:28px;width:min(360px,100%);display:flex;flex-direction:column;gap:12px}.login h1{margin:0 0 4px;font-size:19px}.login p{margin:0 0 8px;color:var(--muted);font-size:13px}.login label{font-size:12px;color:var(--muted);font-weight:550}.login input{width:100%}.err{color:var(--bad);font-size:13px}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.empty{padding:40px;text-align:center;color:var(--muted)}.banner{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:8px;margin-bottom:14px;font-size:13px;background:var(--warn-bg);color:var(--warn);border:1px solid currentColor}.banner.bad{background:var(--bad-bg);color:var(--bad)}.banner b{font-weight:650}@media (max-width: 600px){.now{grid-template-columns:repeat(2,1fr)}.tabs{order:3;width:100%}}.toolbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}.chips{display:flex;flex-wrap:wrap;gap:5px;padding:9px 12px}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid var(--line);background:var(--panel-2)}.controls .sep{border-left:1px solid var(--line);height:20px}.chip{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:550;cursor:pointer;line-height:1.3}.chip:hover{border-color:var(--accent);color:var(--ink)}.chip.on{background:var(--tint);border-color:var(--accent);color:var(--accent)}.chip.link{border:0;background:none;text-decoration:underline;padding:4px 6px}.chip-warn{color:var(--warn)}input.set{width:40px;text-align:center;padding:2px 4px;font-variant-numeric:tabular-nums;font-weight:600}input.set.staged{border-color:var(--accent);background:var(--tint);color:var(--accent)}table.grid.compact th,table.grid.compact td{padding:3px 8px;font-size:13px}table.grid.compact tbody tr.staged{background:var(--tint)}table.grid.compact td.off,table.grid.compact th.off{opacity:.35}table.grid.compact td.moving{color:var(--accent);font-weight:600}table.grid.compact td.moving .arrow{opacity:.5;margin:0 3px}.panel.dense{overflow:hidden}.tablewrap.tall{max-height:calc(100dvh - 300px)}.sticky-col{position:sticky;background:var(--panel);z-index:2}thead .sticky-col{z-index:3;background:var(--panel-2)}.c-check{left:0;width:30px}.c-agent{left:30px;box-shadow:1px 0 0 var(--line)}tbody tr:hover .sticky-col{background:var(--panel-2)}tbody tr.staged .sticky-col{background:var(--tint)}.tag{display:inline-block;margin-left:6px;padding:0 5px;border-radius:3px;background:var(--warn-bg);color:var(--warn);font-size:10.5px;font-weight:650;vertical-align:1px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--good);margin-left:6px;vertical-align:1px}.stagebar{position:sticky;bottom:0;z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 14px;background:var(--panel);border:1px solid var(--accent);border-radius:8px;box-shadow:0 -4px 16px #0000001a}.stage-summary{line-height:1.4}.stagebar .err,.small{font-size:12px}.warn-text{color:var(--warn)}button.primary.danger{background:var(--warn)}.banner.compact{padding:7px 12px;margin-bottom:10px;font-size:12.5px}.agent-name,tbody tr:hover .agent-name{color:var(--ink)}.board-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.icon-btn{margin-left:auto;background:none;border:1px solid var(--line);color:var(--muted);border-radius:5px;padding:1px 7px;font:inherit;font-size:10.5px;font-weight:650;letter-spacing:.04em;cursor:pointer;line-height:1.6}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.segmented button{background:var(--panel);border:0;padding:5px 14px;font:inherit;font-weight:550;color:var(--muted);cursor:pointer}.segmented button+button{border-left:1px solid var(--line)}.segmented button[aria-pressed=true]{background:var(--accent);color:#fff}.rule-form{background:var(--panel);border:1px solid var(--accent);border-radius:8px;padding:16px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px}.rf-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.rf-row label,.rf-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:550}.rf-row label input,.rf-row label select{font-weight:400;color:var(--ink)}.rf-row label input[type=number]{width:90px}.rf-label{font-size:12px;color:var(--muted);font-weight:550}.rf-actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:12px}.rule-plain{margin:0;padding:10px 12px;background:var(--tint);border-radius:6px;font-size:13px;color:var(--ink)}.rule-list{list-style:none;margin:0;padding:0}.rule-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line)}.rule-list li:last-child{border-bottom:0}.rule-list li.off{opacity:.62}.rl-order{display:flex;flex-direction:column;align-items:center;gap:2px}.rl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.rl-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rl-actions{display:flex;gap:6px;flex-wrap:wrap}.settings-body{padding:14px;display:flex;flex-direction:column;gap:12px}.setting{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.setting:last-child{border-bottom:0;padding-bottom:0}.setting label{display:flex;flex-direction:column;gap:2px;max-width:62ch}.setting input{width:90px;text-align:right}.sale-row{display:flex;gap:14px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.sale-group{min-width:190px;display:flex;flex-direction:column;gap:1px}.sale-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:12px}.chip-x{background:none;border:0;color:inherit;cursor:pointer;padding:0 0 0 5px;font-size:14px;line-height:1}.chip-x:hover{color:var(--bad)}.pager{display:flex;gap:8px;justify-content:center;padding:10px;border-top:1px solid var(--line)}.diff-list{max-height:180px;overflow-y:auto;margin:6px 0 0;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}.diff-list table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.diff-list td{padding:2px 8px;white-space:nowrap}.diff-list td.num{text-align:right}.diff-list tr.bad td{color:var(--bad)}.linkish{background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit;font-size:12px;padding:0 0 0 8px}.detail-list summary{cursor:pointer;font-size:12px}.tag.ghost-tag{background:none;border:1px solid var(--line);color:var(--muted)}button.tag{cursor:pointer;border:0;font-family:inherit}td.pinned{background:var(--warn-bg)}.pin-dot{font-size:9px;margin-left:3px;opacity:.8}.run-result{background:var(--tint);border:1px solid var(--accent);border-radius:8px;padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.rule-tally{border-collapse:collapse;font-size:12.5px}.rule-tally td{padding:2px 12px 2px 0}.rule-tally td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rule-tally tr.starved td{color:var(--warn)}.floorbar{display:flex;align-items:center;gap:clamp(12px,3vw,32px);flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:12px}.fb-now{display:flex;gap:clamp(12px,2.5vw,28px)}.fb-stat{text-align:center;min-width:54px}.fb-stat .v{font-size:26px;font-weight:650;line-height:1.05;font-variant-numeric:tabular-nums}.fb-stat .l{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.fb-stat.hot .v{color:var(--bad)}.fb-windows{display:flex;flex-direction:column;gap:3px;min-width:0}.fb-line{font-size:13.5px}.fb-title{display:inline-block;min-width:76px;font-size:10px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.card-head{align-items:center}.card-sub{color:var(--muted);font-size:12px;margin-top:-4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vol-badge{font:650 11px/1 var(--mono);color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:3px 5px}.card.best{border-color:var(--good)}.card.worst{border-color:var(--bad)}.card.best .vol-badge{border-color:var(--good);color:var(--good)}.card.worst .vol-badge{border-color:var(--bad);color:var(--bad)}.card .pill{font-size:10.5px;padding:2px 7px}@media (max-width: 700px){.fb-stat .v{font-size:21px}.fb-now{gap:12px}}.live-alt{color:var(--warn);font-weight:650;margin-left:1px}td.split{background:var(--warn-bg)}
