:root{--bg: #0f1115;--surface: #171a21;--surface-raised: #1e222b;--border: #2a2f3a;--text: #e7eaf0;--text-dim: #9aa3b2;--text-faint: #6b7280;--brand: #4c8dff;--brand-dim: #2c5fb3;--ok: #3fb950;--warn: #d29922;--danger: #f85149;--idle: #6b7280;--radius: 8px;--gap: 16px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:20px;margin:0 0 4px}h2{font-size:15px;margin:0 0 12px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:12.5px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100%}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.sidebar .brand{font-weight:700;padding:0 10px 18px;letter-spacing:-.01em}.sidebar .brand small{display:block;font-weight:400;color:var(--text-faint);letter-spacing:0}.sidebar a{color:var(--text-dim);padding:8px 10px;border-radius:6px}.sidebar a:hover{background:var(--surface-raised);text-decoration:none}.sidebar a.active{background:var(--surface-raised);color:var(--text)}.sidebar .who{margin-top:auto;padding:10px;border-top:1px solid var(--border);color:var(--text-faint);font-size:12px}.main{padding:24px 28px 60px;max-width:1200px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap);margin-bottom:20px}.page-head p{margin:0;color:var(--text-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat .value{font-size:26px;font-weight:650;letter-spacing:-.02em}.stat .label{color:var(--text-dim);font-size:12.5px}.stat.attention .value{color:var(--warn)}.stat.bad .value{color:var(--danger)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:0 10px 8px;font-weight:600}td{padding:10px;border-top:1px solid var(--border);vertical-align:top}tbody tr:hover{background:var(--surface-raised)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent}.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.badge.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.badge.idle{color:var(--idle);border-color:var(--border)}button,.button{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text);cursor:pointer}button:hover:not(:disabled){border-color:var(--text-faint)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--brand-dim);border-color:var(--brand)}button.danger{background:transparent;border-color:color-mix(in srgb,var(--danger) 50%,transparent);color:var(--danger)}button.link{padding:0;border:none;background:none;color:var(--text-dim);text-decoration:underline}button.link:hover:not(:disabled){color:var(--text)}label{display:block;margin-bottom:12px}label span{display:block;color:var(--text-dim);font-size:12.5px;margin-bottom:4px}input,select,textarea{font:inherit;width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-dim);outline-offset:-1px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;gap:var(--gap);align-items:flex-start;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:var(--gap)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.error{color:var(--danger);margin:8px 0}.key-once{background:var(--surface-raised);border:1px solid var(--warn);border-radius:var(--radius);padding:16px;margin:16px 0}.key-once .key{font-family:ui-monospace,monospace;font-size:20px;letter-spacing:.06em;margin:8px 0;-webkit-user-select:all;user-select:all}.login{max-width:340px;margin:12vh auto}dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}dl.facts dt{color:var(--text-faint);font-size:12.5px}dl.facts dd{margin:0}
