:root{--bg:#fbfaf8;--surface:#fff;--surface-2:#f4f2ee;--border:#e2ded7;--text:#1b1b1b;--text-dim:#6b6862;--accent:#0f2e4c;--ok:#1f7a4d;--warn:#a8710f;--bad:#a3302a;--radius:10px;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root{--bg:#121211;--surface:#1a1a19;--surface-2:#232322;--border:#33322f;--text:#eceae6;--text-dim:#9b978f;--accent:#8fb4d6;--ok:#5cc48c;--warn:#e0a94a;--bad:#e4796f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1080px;margin:0 auto;padding:0 24px 72px}header.top{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;position:sticky;top:0}header.top .inner{align-items:center;gap:16px;max-width:1080px;margin:0 auto;padding:14px 24px;display:flex}header.top .brand{letter-spacing:-.01em;font-weight:650}header.top nav{gap:14px;margin-left:8px;display:flex}header.top nav a{color:var(--text-dim);font-size:14px}header.top nav a:hover{color:var(--text)}header.top .spacer{flex:1}h1{letter-spacing:-.02em;margin:28px 0 4px;font-size:24px}h2{letter-spacing:-.01em;margin:28px 0 10px;font-size:17px}h3{margin:0 0 6px;font-size:14px}p.lede{color:var(--text-dim);margin:0 0 18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.grid{gap:12px;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dim{color:var(--text-dim)}.mono{font-family:var(--mono);font-size:12.5px}.small{font-size:13px}button,.button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:7px;padding:7px 13px;font-size:14px}button:hover:not(:disabled){border-color:var(--text-dim)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}@media (prefers-color-scheme:dark){button.primary{color:#0d1a24}}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:6px 9px;font-size:14px}textarea{resize:vertical;width:100%;line-height:1.5}label.grid{min-width:0}a.button{text-decoration:none;display:inline-block}a.button:hover{border-color:var(--text-dim);text-decoration:none}.badge{letter-spacing:.02em;text-transform:uppercase;border:1px solid;border-radius:5px;padding:3px 7px;font-size:11.5px;font-weight:600;display:inline-block}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--bad)}.badge.idle{color:var(--text-dim)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:500}.table-wrap{overflow-x:auto}pre{background:var(--surface-2);border:1px solid var(--border);font-family:var(--mono);white-space:pre-wrap;border-radius:8px;margin:0;padding:12px;font-size:12.5px;overflow-x:auto}.log{background:var(--surface-2);border:1px solid var(--border);max-height:320px;font-family:var(--mono);border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.7;overflow-y:auto}.log div{white-space:pre-wrap}.meter{background:var(--surface-2);border-radius:3px;height:5px;overflow:hidden}.meter>span{background:var(--accent);height:100%;display:block}.pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.error{border:1px solid var(--bad);color:var(--bad);border-radius:8px;padding:10px 12px;font-size:14px}:root{--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--grid:#e2ded7}@media (prefers-color-scheme:dark){:root{--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--grid:#33322f}}.kpis{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 14px}.kpi .label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:12px;display:block}.kpi .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:5px 0 3px;font-size:27px;line-height:1.15}.kpi .value.nodata{color:var(--text-dim);letter-spacing:0;font-size:18px}.kpi .note{color:var(--text-dim);font-size:12px;line-height:1.45}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 14px;display:flex}.filters .field{gap:4px;min-width:0;display:grid}.filters .field>span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.filters select,.filters input{min-width:132px}.legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.legend .key{color:var(--text-dim);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.legend .key i{border-radius:2px;width:14px;height:2px;display:inline-block}.chart{position:relative}.chart svg{touch-action:none;width:100%;height:auto;display:block}.chart .tip{pointer-events:none;background:var(--surface);border:1px solid var(--border);white-space:nowrap;z-index:2;border-radius:7px;padding:7px 9px;font-size:12.5px;line-height:1.5;position:absolute;box-shadow:0 2px 10px #0000001a}.chart .tip .k{align-items:center;gap:6px;display:inline-flex}.chart .tip .k i{border-radius:50%;width:8px;height:8px;display:inline-block}.insight{border-left:3px solid var(--border);padding-left:13px}.insight.risk{border-left-color:var(--bad)}.insight.watch{border-left-color:var(--warn)}.insight.good{border-left-color:var(--ok)}.insight h4{letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);margin:0 0 6px;font-size:11.5px;font-weight:600}.insight p{margin:0 0 8px;font-size:14px}.insight p:last-child{margin-bottom:0}.insight .step{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1px;font-size:10.5px;display:block}.note-box{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.nodata{color:var(--text-dim);font-style:italic}@media (max-width:620px){.shell{padding:0 14px 56px}header.top .inner{flex-wrap:wrap;gap:8px 10px;padding:12px 14px}header.top .spacer{display:none}header.top nav{gap:10px;margin-left:0}.kpi .value{font-size:23px}.filters{padding:10px}.filters select,.filters input{width:100%;min-width:0}.filters .field{flex:140px}}
