:root{--bg:#f4f5f7;--surface:#fff;--text:#17191c;--muted:#6b7280;--line:#e3e5e8;--hover:#f8f9fb;--ok:#1a7f37;--ok-bg:#e6f4ea;--fail:#c0303a;--fail-bg:#fbe9ea;--warn:#b7791f;--warn-bg:#fdf3e1;--accent:#2457c5;--accent-bg:#e8effb;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{color:var(--text);background:var(--bg);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0;font-size:20px}h2{margin:0 0 10px;font-size:15px}h2 .muted{margin-left:6px;font-weight:400}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:12px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:2;align-items:center;gap:20px;height:48px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:var(--text);font-weight:650}.nav{gap:4px;display:flex}.nav a{color:var(--muted);border-radius:6px;padding:6px 10px}.nav a:hover{color:var(--text);text-decoration:none}.nav a.active{background:var(--accent-bg);color:var(--accent)}.spacer{flex:1}.page{max-width:1280px;margin:0 auto;padding:24px}.page-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.card .value{font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:24px;font-weight:600}.card .sub{color:var(--muted);font-size:12px}.meter{background:var(--line);border-radius:3px;height:6px;margin-top:10px;overflow:hidden}.meter>i{background:var(--ok);height:100%;display:block}.meter.warn>i{background:var(--warn)}.meter.over>i{background:var(--fail)}.section{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;margin-bottom:20px;padding:16px}.grid-2{grid-template-columns:3fr 2fr;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=900px){.grid-2,.grid-3{grid-template-columns:1fr}}.scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}th.num,td.num{text-align:right}td.nowrap{white-space:nowrap}tbody tr:hover td{background:var(--hover)}tr.dim td{color:var(--muted)}.badge{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.fail{background:var(--fail-bg);color:var(--fail)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.muted{background:var(--bg);color:var(--muted)}.error{font-family:var(--mono);color:var(--fail);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details[open]>summary .error{display:none}.list{margin:0;padding-left:18px}.list li{margin:2px 0}.banner{border-radius:8px;margin-bottom:20px;padding:10px 14px}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner.fail{background:var(--fail-bg);color:var(--fail)}.toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}input[type=search],input[type=password]{border:1px solid var(--line);font:inherit;background:var(--surface);border-radius:6px;padding:7px 10px}input[type=search]{min-width:260px}label.check{align-items:center;gap:6px;display:inline-flex}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:7px 14px}button:disabled{opacity:.6;cursor:default}button.quiet{color:var(--muted);border-color:var(--line);background:0 0;padding:5px 10px}button.quiet:hover{color:var(--text)}.login{place-items:center;min-height:100vh;display:grid}.login form{gap:12px;width:320px;display:grid}.login input[type=password]{width:100%}.login h1{margin-bottom:4px}.bars{vertical-align:middle;display:inline-block}.chart{width:100%;height:auto;display:block}.chart text{fill:var(--muted);font-size:11px}.row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.row h2{margin:0}
