:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--border:#e1e4e9;--text:#1c2430;--muted:#5d6877;--accent:#1f6feb;--accent-soft:#e6efff;--ok:#1a7f37;--ok-soft:#e7f5ec;--warn:#9a6700;--warn-soft:#fff4d6;--bad:#c62828;--bad-soft:#fdecec;--info:#57606a;--info-soft:#eef0f3;--radius:10px;--shadow:0 1px 2px #1018280f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}@media (prefers-color-scheme:dark){:root{--bg:#0f1419;--surface:#171d24;--surface-2:#1e252e;--border:#2b333d;--text:#e6e9ee;--muted:#98a2b0;--accent:#4c8dff;--accent-soft:#1a2a45;--ok:#4ac26b;--ok-soft:#13291b;--warn:#d4a72c;--warn-soft:#2e2510;--bad:#ff6b6b;--bad-soft:#3a1717;--info:#98a2b0;--info-soft:#222a33;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent)}h1{margin:0 0 4px;font-size:1.35rem}h2{margin:0 0 12px;font-size:1.05rem}.muted{color:var(--muted)}.small{font-size:.85rem}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{margin-right:8px;font-weight:650}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{color:var(--text);border-radius:8px;padding:6px 12px;text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.spacer{flex:1}main{max-width:1400px;margin:0 auto;padding:20px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.grid{gap:16px;display:grid}.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.kpi .label{color:var(--muted);font-size:.85rem}.kpi .value{font-variant-numeric:tabular-nums;margin:4px 0;font-size:1.6rem;font-weight:650}.kpi .sub{color:var(--muted);font-size:.82rem}.two{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}select,input,button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 10px}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button:disabled{opacity:.6;cursor:default}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--border);border-radius:0}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}th{color:var(--muted);font-size:.82rem;font-weight:600}tr:last-child td{border-bottom:0}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-block}.badge.critical,.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.major,.badge.warn,.badge.warning{background:var(--warn-soft);color:var(--warn)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.info{background:var(--info-soft);color:var(--info)}.note{background:var(--info-soft);color:var(--text);border-radius:8px;margin:12px 0;padding:10px 12px;font-size:.9rem}.note.warn{background:var(--warn-soft)}.note.bad{background:var(--bad-soft)}.error{color:var(--bad)}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth .card{width:100%;max-width:400px}.auth form{gap:12px;display:grid}.auth label{color:var(--muted);gap:4px;font-size:.9rem;display:grid}.qr{background:#fff;border-radius:8px;margin:8px auto;padding:8px;display:block}code.secret{word-break:break-all;font-size:.85rem}@media (width<=600px){main{padding:12px}.two{grid-template-columns:1fr}}
