@charset "UTF-8";:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #fbfcfd;--border: #e3e7ec;--border-strong: #cdd4dd;--text: #15181d;--text-muted: #5d6673;--text-faint: #8b95a3;--brand: #1d4ed8;--brand-soft: #eef3ff;--brand-text: #1e40af;--ok: #047857;--ok-soft: #e8f6f0;--warn: #b45309;--warn-soft: #fdf3e4;--danger: #b91c1c;--danger-soft: #fdeeee;--chart-series: #2a78d6;--chart-series-strong: #1d5fb0;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 4%);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1116;--surface: #161a21;--surface-2: #1b2029;--border: #262c36;--border-strong: #363e4a;--text: #e9edf3;--text-muted: #9aa5b4;--text-faint: #6f7987;--brand: #5b8cff;--brand-soft: #172136;--brand-text: #9ab6ff;--ok: #34d399;--ok-soft: #10261f;--warn: #fbbf24;--warn-soft: #2a2110;--danger: #f87171;--danger-soft: #2c1618;--chart-series: #3987e5;--chart-series-strong: #6ba6ee;--shadow: 0 1px 2px rgb(0 0 0 / 40%)}}:root[data-theme=dark]{--bg: #0e1116;--surface: #161a21;--surface-2: #1b2029;--border: #262c36;--border-strong: #363e4a;--text: #e9edf3;--text-muted: #9aa5b4;--text-faint: #6f7987;--brand: #5b8cff;--brand-soft: #172136;--brand-text: #9ab6ff;--ok: #34d399;--ok-soft: #10261f;--warn: #fbbf24;--warn-soft: #2a2110;--danger: #f87171;--danger-soft: #2c1618;--chart-series: #3987e5;--chart-series-strong: #6ba6ee;--shadow: 0 1px 2px rgb(0 0 0 / 40%)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}.wrap{max-width:1400px;margin:0 auto;padding:0 16px}.grid{display:grid;gap:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.card-head h2{font-size:14px}.card-head .sub{color:var(--text-muted);font-size:12px}.card-body{padding:16px}.btn{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-text)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field label{color:var(--text-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}input,select{padding:7px 9px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:13px;min-width:0}input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:-1px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}th.sortable{cursor:pointer}th.sortable:hover{color:var(--brand-text)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.mono{font-family:var(--font-mono);font-size:12px}tbody tr:hover{background:var(--surface-2)}tbody tr.suspect{background:var(--warn-soft)}.badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.6}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.neutral{background:var(--brand-soft);color:var(--brand-text)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.num{font-variant-numeric:tabular-nums}.empty{padding:28px 16px;color:var(--text-muted);text-align:center;font-size:13px}
