:root{--bg:#f4f6fa;--card:#fff;--tx:#14202e;--mut:#64748b;--bd:#e2e8f0;--ac:#0891b2;--ac2:#0e7490;--ok:#16a34a;--warn:#d97706;--bad:#dc2626}
@media(prefers-color-scheme:dark){:root{--bg:#0b1220;--card:#121b2d;--tx:#e6edf6;--mut:#8da0b8;--bd:#22304a;--ac:#22b8d4;--ac2:#67e8f9}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--ac2)}main{max-width:1100px;margin:0 auto;padding:18px 16px 60px}h1{font-size:22px;margin:6px 0 14px}h2{font-size:17px;margin:0 0 10px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:var(--card);border-bottom:1px solid var(--bd);flex-wrap:wrap}.brand{font-weight:700;text-decoration:none;color:var(--tx)}
.top nav{display:flex;gap:16px;align-items:center}.top nav form{margin:0}.lnk{background:none;border:0;color:var(--ac2);cursor:pointer;font:inherit;padding:0}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:16px;margin:0 0 14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}.tile{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 14px}.tile b{display:block;font-size:26px}.tile small{color:var(--mut)}.tile.on{border-color:var(--ac)}.tile.hot{border-color:var(--warn);box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 25%,transparent)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--bd);vertical-align:top}th{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:color-mix(in srgb,var(--ac) 4%,transparent)}
.tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid}.tag.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.tag.warn,.tag.wait{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.tag.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:color-mix(in srgb,var(--bad) 10%,transparent)}.tag.mut{color:var(--mut);border-color:var(--bd)}
input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:8px 10px;max-width:100%}input[type=text],input[type=password],textarea{width:100%}label{display:block;font-size:13px;color:var(--mut);margin:10px 0 4px}
button,.btn{font:inherit;border:0;border-radius:8px;padding:8px 14px;background:var(--ac);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}button.gray,.btn.gray{background:var(--bd);color:var(--tx)}button.red{background:var(--bad)}button.sm{padding:5px 10px;font-size:13px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.fl{padding:10px 14px;border-radius:10px;margin:0 0 12px}.fl.ok{background:color-mix(in srgb,var(--ok) 14%,transparent)}.fl.bad{background:color-mix(in srgb,var(--bad) 14%,transparent)}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.hint{color:var(--mut);font-size:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:800px){.grid2{grid-template-columns:1fr}th:nth-child(n+5),td:nth-child(n+5){display:none}}
.login{max-width:360px;margin:12vh auto 0}
