:root{--bg: #f3f6f4;--surface: #ffffff;--surface-2: #e9efec;--ink: #12201c;--ink-2: #4b5c57;--ink-3: #6e7f79;--line: #d3ddd8;--brand: #0d6a5b;--brand-ink: #ffffff;--brand-soft: #d8eee8;--ok: #1d7f46;--ok-soft: #ddf1e5;--warn: #9a5d0c;--warn-soft: #f8ebd3;--crit: #b9362d;--crit-soft: #f8e0dd;--info: #2560b5;--info-soft: #e0eaf8;--radius: 10px;--f-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0e1513;--surface: #151f1c;--surface-2: #1b2824;--ink: #e4ede9;--ink-2: #a3b4ae;--ink-3: #839590;--line: #2a3934;--brand: #43b9a3;--brand-ink: #06201b;--brand-soft: #16342e;--ok: #4cc27e;--ok-soft: #173a27;--warn: #e3a44a;--warn-soft: #3a2b12;--crit: #ef7a6f;--crit-soft: #3e1c19;--info: #7aa6ee;--info-soft: #18294a;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5}h1,h2,h3{margin:0;line-height:1.15}code,.mono{font-family:var(--f-mono);font-size:.88em}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;display:grid;gap:16px}.brand{font-weight:900;font-size:30px;letter-spacing:-.01em}.brand span{color:var(--brand)}.muted{color:var(--ink-2)}.small{font-size:13px;color:var(--ink-3)}.field{display:grid;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--ink-2)}input,select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}input:focus,select:focus{border-color:var(--brand);outline:none}.code-input{font-family:var(--f-mono);font-size:24px;letter-spacing:.3em;text-align:center}.btn{font:600 14px/1 var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 14px;cursor:pointer}.btn:hover{border-color:var(--ink-3)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.danger{color:var(--crit)}.btn.link{border:0;background:none;color:var(--brand);padding:4px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:12px}.alert{border-radius:8px;padding:10px 12px;font-size:14px}.alert.err{background:var(--crit-soft);color:var(--crit)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.info{background:var(--info-soft);color:var(--info)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.side{background:var(--surface-2);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.side .brand{font-size:22px;padding:0 8px 14px}.nav-item{display:block;padding:8px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-weight:500}.nav-item:hover{background:var(--surface);color:var(--ink)}.nav-item.on{background:var(--surface);color:var(--ink);font-weight:650;box-shadow:0 0 0 1px var(--line)}.side .who{margin-top:auto;padding:10px;border-top:1px solid var(--line);font-size:13px;display:grid;gap:4px}.main{padding:24px 28px;min-width:0;display:grid;gap:20px;align-content:start}.page-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.page-head h1{font-size:26px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.kpi b{display:block;font-size:28px;font-weight:800}.kpi span{font-size:13px;color:var(--ink-3)}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);background:var(--surface-2);padding:9px 12px;white-space:nowrap}td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);margin:0 4px 4px 0;white-space:nowrap}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.crit{background:var(--crit-soft);color:var(--crit)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.brand{background:var(--brand-soft);color:var(--brand)}.qr{background:#fff;padding:12px;border-radius:10px;justify-self:center}.secret{font-family:var(--f-mono);word-break:break-all;background:var(--surface-2);padding:8px 10px;border-radius:6px;font-size:13px}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.checks label{display:flex;gap:6px;align-items:center;font-size:14px}.checks input{width:auto}dialog{border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:22px;width:min(560px,calc(100vw - 32px))}dialog::backdrop{background:#00000059}@media(max-width:760px){.shell{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;align-items:center}.side .brand{padding:0 8px}.side .who{margin-top:4px;border-top:1px solid var(--line);flex-basis:100%;grid-template-columns:auto auto auto 1fr;align-items:baseline;column-gap:8px}.main{padding:16px}}
