:root{--bg: #f5f6f7;--panel: #ffffff;--ink: #181a20;--text: #474d57;--muted: #707a8a;--line: #e6e8ea;--soft-line: #f0f1f2;--yellow: #f0b90b;--yellow-soft: #fff7d6;--blue: #1e6efb;--blue-soft: #eef4ff;--green: #16a34a;--green-soft: #eafbf1;--red: #ef3434;--red-soft: #fff0f0;--amber: #d99a0b;--amber-soft: #fff8e5;--content-max: 1340px;background:var(--bg);color:var(--ink);font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,select{font:inherit}button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--text);cursor:pointer;display:inline-flex;font-size:15px;font-weight:650;gap:7px;min-height:40px;padding:0 14px}button:hover{border-color:#c7ccd1;box-shadow:0 8px 18px #181a200f}button:disabled{cursor:not-allowed;opacity:.52}input,select{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:40px;padding:0 12px}h1,h2,p{margin:0}.opsShell{min-height:100vh}.topNav{align-items:center;background:#fff;border-bottom:1px solid var(--line);min-height:72px;position:sticky;top:0;z-index:10}.topNavInner{align-items:center;display:grid;gap:14px;grid-template-columns:230px minmax(0,1fr) auto;margin:0 auto;max-width:1520px;min-height:72px;padding:0 28px;width:100%}.brand{align-items:center;display:flex;gap:10px;min-width:0}.brandIcon{align-items:center;background:var(--yellow);border-radius:8px;box-shadow:0 8px 18px #f0b90b3d;color:#181a20;display:inline-flex;font-size:18px;font-weight:850;height:38px;justify-content:center;width:38px}.brand strong,.brand span{display:block}.brand strong{color:var(--ink);font-size:18px;font-weight:850;line-height:1.1}.brand span{color:var(--muted);font-size:11px;margin-top:4px}.mainNav{align-items:center;display:flex;gap:2px;justify-content:flex-start;min-width:0;overflow-x:auto;scrollbar-width:none}.mainNav::-webkit-scrollbar{display:none}.mainNav button{background:transparent;border-color:transparent;color:var(--text);font-size:14px;font-weight:750;min-height:38px;padding:0 9px;white-space:nowrap}.mainNav button.active{background:var(--yellow-soft);color:var(--ink)}.accountArea{align-items:center;display:flex;gap:7px;min-width:0}.iconOnly{border:0;min-height:38px;padding:0 8px}.accountPill{background:#fbfdff;border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:13px;font-weight:650;padding:9px 12px}.modePill{background:#fef6d8;border:1px solid #f4d36e;border-radius:999px;color:#8a5b00;font-size:12px;font-weight:850;letter-spacing:0;padding:7px 10px;text-transform:uppercase}.modePill.live{background:#ffecec;border-color:#ffb6b6;color:#c62828}.logoutButton{border:0;color:var(--text)}.pageWrap{display:grid;gap:20px;margin:0 auto;max-width:var(--content-max);padding:30px 28px 52px;width:100%}.pageTitle{align-items:end;display:flex;gap:18px;justify-content:space-between}.pageTitle h1{color:var(--ink);font-size:28px;font-weight:900;letter-spacing:0}.pageTitle p{color:var(--muted);font-size:15px;margin-top:8px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.toolbarIcon{color:#9aabc0}.searchInput{min-width:160px}.toggle{background:#fff}.toggle .checkbox{border:1.5px solid #8b98a8;border-radius:4px;height:18px;width:18px}.toggle.active .checkbox{background:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 4px #fff}.primaryButton,.primaryOutline{border-color:#e2b60a;color:#7a5500}.primaryButton{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.dangerButton,.dangerOutline{border-color:#ffc9c9;color:var(--red)}.statsGrid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboardGrid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(340px,.38fr)}.sideStack{align-content:start;display:grid;gap:18px}.statCard{align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #1622340d;display:grid;gap:10px;min-height:104px;padding:16px}.statIcon{align-items:center;border-radius:8px;display:inline-flex;height:32px;justify-content:center;width:32px}.statIcon.blue{background:#edf4ff;color:var(--blue)}.statIcon.green{background:var(--green-soft);color:var(--green)}.statIcon.red{background:var(--red-soft);color:var(--red)}.statIcon.amber{background:var(--amber-soft);color:var(--amber)}.statCard span{color:#64748b;font-size:14px;font-weight:750}.statCard strong{color:#070b18;display:block;font-size:26px;font-weight:900;margin-top:6px}.statCard p{color:var(--muted);font-size:13px;margin-top:4px}.notice{align-items:center;background:#eef6ff;border:1px solid #cfe3ff;border-radius:8px;color:var(--blue);display:flex;font-size:15px;font-weight:560;justify-content:space-between;min-height:52px;padding:0 18px}.noticeActions{align-items:center;display:flex;gap:8px;margin-left:12px}.notice.danger{background:var(--red-soft);border-color:#ffc9c9;color:var(--red)}.notice.warning{background:var(--amber-soft);border-color:#ffe0a3;color:#9a6800}.notice button{min-height:32px;padding:0 8px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #1622340d;overflow:hidden}.cardHead{align-items:center;border-bottom:1px solid var(--soft-line);display:flex;justify-content:space-between;min-height:50px;padding:0 20px}.cardHead h2{color:#162036;font-size:16px}.cardHint{border-bottom:1px solid var(--soft-line);color:var(--muted);font-size:13px;line-height:1.55;padding:14px 18px 0}.tableWrap{overflow-x:auto;scrollbar-color:#cfd6df transparent;scrollbar-width:thin}.tableWrap.noScroll{overflow-x:hidden}table{border-collapse:collapse;min-width:920px;table-layout:fixed;width:100%}.opportunityTable{min-width:1180px}.signalTable{min-width:0;width:100%}.signalTable .colTime{width:110px}.signalTable .colId{width:185px}.signalTable .colAction,.signalTable .colSymbol{width:92px}.signalTable .colQty{width:100px}.signalTable .colStatus{width:120px}.signalTable .colMessage{width:auto}.opportunityTable .colSymbol{width:10%}.opportunityTable .colRate,.opportunityTable .colEdge{width:9%}.opportunityTable .colBasis{width:8%}.opportunityTable .colDepth{width:7%}.opportunityTable .colVolume,.opportunityTable .colEstimate{width:8%}.opportunityTable .colScore{width:6%}.opportunityTable .colCountdown{width:10%}.opportunityTable .colStatus{width:15%}.opportunityTable th,.opportunityTable td{padding-left:12px;padding-right:12px}.opportunityTable td{padding-bottom:12px;padding-top:12px}.compactTable{min-width:760px}.compactTable .colSymbol{width:18%}.compactTable .colRate,.compactTable .colEdge,.compactTable .colBasis{width:15%}.compactTable .colCountdown{width:17%}.compactTable .colStatus{width:20%}th,td{border-bottom:1px solid var(--soft-line);color:#52627a;font-size:14px;overflow-wrap:anywhere;padding:14px 18px;text-align:left;vertical-align:middle}.signalTable td,.signalTable th{overflow-wrap:normal;word-break:normal}.signalTable td,.signalTable th{padding-left:12px;padding-right:12px}.timeCell{color:#334155;font-variant-numeric:tabular-nums;font-weight:750;line-height:1.2;white-space:nowrap}.timeCell span,.timeCell small,.eventCell strong,.eventCell small{display:block}.timeCell small,.eventCell small{color:#738196;font-size:12px;font-weight:650;margin-top:4px}.eventCell{min-width:0}.eventCell strong{color:#162036;font-size:14px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eventCell small{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th{color:#64748b;font-size:13px;font-weight:850}.strong{color:#090e1d;font-weight:850}.number{font-variant-numeric:tabular-nums;text-align:right}.positive{color:#087b36;font-weight:800}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.clickRow{cursor:pointer}.clickRow:hover{background:#f8fbff}.badge{align-items:center;background:#eef2f7;border-radius:7px;color:#4b5a70;display:inline-flex;font-size:13px;font-weight:800;min-height:28px;padding:0 10px;white-space:nowrap}.statusCell .badge{line-height:1.3;max-width:100%;min-height:24px;overflow:hidden;padding:0 9px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.reasonTags{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:5px;min-width:0;max-width:100%}.reasonMore{align-items:center;background:#f3f6fa;border-radius:999px;color:#708096;display:inline-flex;font-size:12px;font-weight:850;height:24px;justify-content:center;min-width:28px;padding:0 7px;white-space:nowrap}.countdownCell{white-space:nowrap}.badge.green{background:#d9f8e4;color:#087b36}.badge.red{background:#ffeaea;color:var(--red)}.badge.amber{background:#fff5d7;color:var(--amber)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.metricList{display:grid;gap:2px;padding:10px 18px 14px}.metricRow{align-items:center;border-bottom:1px solid var(--soft-line);display:flex;gap:12px;justify-content:space-between;min-height:42px}.metricRow:last-child{border-bottom:0}.metricRow span{color:var(--muted);font-size:13px}.metricRow strong{color:var(--ink);font-size:14px;font-weight:850}.metricRow strong.green{color:var(--green)}.metricRow strong.red{color:var(--red)}.metricRow strong.amber{color:var(--amber)}.reasonList{display:grid;gap:8px;padding:14px 18px 18px}.reasonItem{align-items:center;background:#fbfcfd;border:1px solid var(--soft-line);border-radius:8px;display:flex;justify-content:space-between;min-height:38px;padding:0 12px}.reasonItem span{color:var(--text);font-size:13px;font-weight:750}.reasonItem strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:900}.replayTable{min-width:760px}.timeline{display:grid;gap:0;padding:12px 18px 16px}.timelineItem{display:grid;gap:10px;grid-template-columns:12px 1fr;padding:9px 0}.timelineItem>span{background:#c7ccd1;border-radius:999px;height:8px;margin-top:5px;width:8px}.timelineItem.info>span{background:var(--green)}.timelineItem.warning>span{background:var(--amber)}.timelineItem.error>span{background:var(--red)}.timelineItem strong{color:var(--ink);display:block;font-size:14px;line-height:1.25}.timelineItem p{color:var(--text);font-size:13px;line-height:1.45;margin-top:4px}.timelineItem small{color:var(--muted);display:block;font-size:12px;margin-top:5px}.statusLine{align-items:center;display:flex;gap:8px;min-width:0}.statusLine.info svg{color:var(--green)}.statusLine.info p{color:var(--text)}.statusLine.warning svg{color:var(--amber)}.statusLine.warning p{color:#9a6800}.statusLine.error svg{color:var(--red)}.statusLine p{color:var(--red);font-size:14px;line-height:1.45}.messageCell{color:var(--text);line-height:1.5;overflow-wrap:anywhere}.sourceCell{white-space:nowrap}.sourceCell .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.smallButton,.smallDanger{font-size:14px;min-height:34px;padding:0 12px}.smallDanger{border-color:#ffc9c9;color:var(--red)}.splitCards{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr)}.recordList,.checkList,.credentialForm{display:grid;gap:10px;padding:18px}.record{align-items:center;border:1px solid var(--soft-line);border-radius:8px;display:grid;gap:14px;grid-template-columns:130px 150px minmax(0,1fr) auto;padding:14px}.record span,.record p{color:#52627a;font-size:14px}.record strong{color:#111827}.record.audit.error{border-color:#ffd1d1}.record.audit.warning{border-color:#ffe4a8}.record.audit{align-items:start;min-width:0}.record.audit summary{align-items:start;cursor:pointer;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;list-style:none}.record.audit summary::-webkit-details-marker{display:none}.auditMeta{display:grid;gap:4px;min-width:0}.record.audit span{color:#52627a;font-variant-numeric:tabular-nums;white-space:nowrap}.record.audit strong{color:var(--ink);line-height:1.35}.record.audit small{color:var(--muted);display:block;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record.audit p{color:var(--text);grid-column:1 / -1;line-height:1.55;overflow-wrap:anywhere;word-break:normal}.record.audit summary .badge{justify-self:end;white-space:nowrap}.auditDetail{background:#fbfcfd;border-top:1px solid var(--soft-line);display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin-top:14px;padding-top:14px}.auditDetail div{display:grid;gap:4px;min-width:0}.auditDetail span{color:var(--muted);font-size:12px;font-weight:750}.auditDetail strong{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auditDetail pre{background:#0f172a;border-radius:8px;color:#dbeafe;grid-column:1 / -1;line-height:1.55;margin:0;max-height:220px;overflow:auto;padding:14px;white-space:pre-wrap}.checkRow{align-items:flex-start;border:1px solid var(--soft-line);border-radius:8px;display:grid;gap:12px;grid-template-columns:auto 1fr;padding:14px}.checkRow.ok{background:var(--green-soft);border-color:#bfeccd}.checkRow.warn{background:var(--red-soft);border-color:#ffd1d1}.checkRow.ok svg{color:var(--green)}.checkRow.warn svg{color:var(--red)}.checkRow strong{color:#111827}.checkRow p,.credentialForm p{color:#52627a;line-height:1.5}.credentialForm label{color:#52627a;display:grid;gap:8px}.controlGrid{display:grid;gap:14px;padding:22px}.dangerButton.wide{justify-content:center;margin:0 22px}.codeBlock{background:#0f172a;border-radius:10px;color:#dbeafe;font-size:14px;line-height:1.6;margin:22px;overflow-x:auto;padding:20px}.configGrid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px}.configItem{background:#fbfcfd;border:1px solid var(--soft-line);border-radius:8px;display:grid;gap:8px;min-height:82px;padding:14px}.configItem span{color:var(--muted);font-size:12px;font-weight:750}.configItem strong{color:var(--ink);font-size:14px;font-weight:850;line-height:1.4;overflow-wrap:anywhere}.stepList{display:grid;gap:10px;padding:18px}.stepList.compact{padding:18px}.stepItem{align-items:flex-start;border:1px solid var(--soft-line);border-radius:8px;display:grid;gap:12px;grid-template-columns:30px 1fr;padding:14px}.stepItem>span{align-items:center;background:#eef2f7;border-radius:999px;color:#52627a;display:inline-flex;font-weight:850;height:30px;justify-content:center;width:30px}.stepItem.active{background:var(--green-soft);border-color:#bfeccd}.stepItem.active>span{background:var(--green);color:#fff}.stepItem strong,.stepItem p{display:block}.stepItem strong{color:var(--ink);font-size:14px}.stepItem p{color:#52627a;font-size:14px;line-height:1.55}.hintText{background:var(--amber-soft);border:1px solid #ffe0a3;border-radius:8px;color:#8a5b00;font-size:13px;line-height:1.55;padding:12px 14px}.opsCommand{align-items:center;border-bottom:1px solid var(--soft-line);display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr) auto;padding:18px}.opsCommand:last-child{border-bottom:0}.opsCommand strong{color:var(--ink);display:block;font-size:14px;margin-bottom:6px}.opsCommand code{background:#f7f8fa;border:1px solid var(--soft-line);border-radius:6px;color:#52627a;display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere;padding:8px 10px}.modalBackdrop{align-items:center;background:#181a206b;display:grid;top:0;right:0;bottom:0;left:0;padding:24px;place-items:center;position:fixed;z-index:50}.confirmDialog{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 80px #181a2038;display:grid;gap:24px;max-width:460px;padding:24px;width:100%}.confirmDialog strong{color:var(--ink);display:block;font-size:20px}.confirmDialog p{color:var(--text);font-size:14px;line-height:1.65;margin-top:10px}.confirmActions{display:flex;gap:10px;justify-content:flex-end}.drawer{background:#fff;border-left:1px solid var(--line);box-shadow:-22px 0 52px #16223429;display:grid;grid-template-rows:auto 1fr;height:100vh;max-width:min(620px,100vw);position:fixed;right:0;top:0;width:620px;z-index:20}.drawerHead{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:84px;padding:0 24px}.drawerHead span{color:var(--muted);display:block}.drawerHead strong{color:#070b18;display:block;font-size:28px;margin-top:4px}.drawerBody{display:grid;gap:20px;overflow-y:auto;padding:22px}.emptyText,.emptyCell{color:var(--muted);font-size:16px;padding:28px;text-align:center}.emptyText.compact{padding:18px}.loginPage{align-items:center;display:grid;min-height:100vh;padding:24px;place-items:center}.loginCard{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 46px #16223424;display:grid;gap:16px;max-width:430px;padding:32px;width:100%}.loginCard h1{font-size:28px}.loginCard p,.loginCard label{color:var(--muted)}.loginCard label{display:grid;gap:8px}.loginError{background:var(--red-soft);border:1px solid #ffd1d1;border-radius:10px;color:var(--red);padding:12px 14px}@media(max-width:1300px){.topNavInner{grid-template-columns:220px minmax(0,1fr);padding:14px 24px}.mainNav{justify-content:flex-start}.accountArea{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.accountArea::-webkit-scrollbar{display:none}.pageWrap{padding:32px 24px}.statsGrid,.splitCards,.dashboardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardGrid{grid-template-columns:1fr}.configGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.topNavInner{gap:12px;padding:12px 16px}.brandIcon{height:38px;width:38px}.brand strong{font-size:18px}.statsGrid,.splitCards,.configGrid{grid-template-columns:1fr}.pageTitle{align-items:stretch;display:grid}.pageTitle h1{font-size:26px}.toolbar,.toolbar select,.toolbar button{width:100%}.record{grid-template-columns:1fr}.record.audit summary,.auditDetail,.opsCommand{grid-template-columns:1fr}.drawer{width:100vw}}
