:root{
  --page:#f6f7f9; --surface:#ffffff; --ink:#111418; --ink2:#454c56; --ink3:#697180;
  --line:#e6e8ec; --hair:#eef0f3; --accent:#2a78d6; --accent-ink:#1c5cab;
  --good:#0a7d34; --good-bg:#ecf8ef; --good-bd:#c9ecd3;
  --warn:#9a5b00; --warn-bg:#fdf6e7; --warn-bd:#f3e3bb;
  --ref:#1c5cab;  --ref-bg:#edf4fc;  --ref-bd:#cfe2f7;
  --neu:#4b5563;  --neu-bg:#f3f4f6;  --neu-bd:#e5e7eb;
  --shadow:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.05);
  --track:#eef1f5; --gray-bar:#c9ced6;
  --f-250:#86b6ef; --f-350:#5598e7; --f-450:#2a78d6; --f-550:#1c5cab; --f-650:#104281;
  --s-conn:#1baf7a; --s-rep:#4a3aa7;
  --t1:#dc2626; --t2:#d97706; --t3:#64748b;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--accent-ink)}
.topbar{background:#0f172a;padding:0 clamp(14px,3vw,32px);display:flex;align-items:center;gap:14px;min-height:54px;position:sticky;top:0;z-index:50;flex-wrap:wrap}
.tb-brand{font-size:15px;font-weight:800;color:#fff;letter-spacing:.02em}
.tb-sub{font-size:12.5px;color:#8b93a5}
.tabs{display:flex;gap:4px;margin-left:auto;overflow-x:auto;max-width:100%;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{font-size:11.5px;color:#a7aebc;text-decoration:none;padding:5px 12px;border:1px solid #323c52;border-radius:6px;white-space:nowrap;transition:all .15s}
.tab:hover{color:#fff;border-color:#5a6580}
.tab.cur{color:#fff;background:var(--accent);border-color:var(--accent)}
.live{display:flex;align-items:center;gap:6px;font-size:11px;color:#8b93a5;white-space:nowrap}
.live-dot{width:7px;height:7px;border-radius:50%;background:#34d399;animation:tpulse 2.4s infinite}
@keyframes tpulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion: reduce){.live-dot{animation:none}}
.page{max-width:1140px;margin:0 auto;padding:clamp(18px,3vw,34px) clamp(12px,2.5vw,24px) 48px}
h1.pg{font-size:clamp(21px,3vw,27px);font-weight:800;margin:0 0 4px;letter-spacing:-.01em}
.pg-sub{font-size:13.5px;color:var(--ink3);margin:0 0 22px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}
.ch{padding:14px 18px 10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ch h2{margin:0;font-size:14.5px;font-weight:750}
.ch-sub{font-size:12px;color:var(--ink3)}
.cb{padding:8px 18px 16px}
.banner{display:flex;gap:12px;align-items:flex-start;background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:12px;padding:13px 18px;font-size:13px;color:var(--warn);line-height:1.55;margin-bottom:22px}
.chip{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2.5px 8px;border-radius:99px;border:1px solid}
.chip.good{color:var(--good);background:var(--good-bg);border-color:var(--good-bd)}
.chip.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-bd)}
.chip.ref{color:var(--ref);background:var(--ref-bg);border-color:var(--ref-bd)}
.chip.neu{color:var(--neu);background:var(--neu-bg);border-color:var(--neu-bd)}
.tblwrap{overflow-x:auto}
table.dt{width:100%;border-collapse:collapse;font-size:13px}
table.dt th{text-align:left;padding:8px 14px;font-size:10px;color:var(--ink3);font-weight:750;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}
table.dt td{padding:10px 14px;border-bottom:1px solid var(--hair);font-variant-numeric:tabular-nums}
table.dt tr:last-child td{border-bottom:none}
.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}
.foot{font-size:12px;color:var(--ink3);text-align:center;padding:10px 0 0;line-height:1.8}
.foot a{color:var(--ink3)}
