:root{
  --page:#EDF0F4;--panel:#FFF;--ink:#0E141B;--muted:#5C6773;--line:#DCE1E8;--line2:#EDF0F4;
  --accent:#14568F;--accent-bg:#E4EDF6;--hold:#9A5E06;--hold-bg:#FBEFD9;
  --ok:#0B5C48;--ok-bg:#E1F5EE;--bad:#8C2F1D;--bad-bg:#FAE6E1;
  --cond:"Roboto Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono","Roboto Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{background:var(--page);color:var(--ink);font-family:var(--body);font-size:14px;-webkit-text-size-adjust:100%}
a{color:var(--accent)}
.cond{font-family:var(--cond)}
.n{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.r{text-align:right}
.muted{color:var(--muted)}
.bib{font-family:var(--mono);font-size:11px;background:var(--ink);color:#fff;padding:1px 6px;border-radius:3px}
.nm{font-family:var(--cond);font-size:16px;font-weight:600;text-transform:uppercase;line-height:1.1}
.sub2{font-size:11px;color:var(--muted)}
.pill{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:10px;
  padding:2px 7px;border-radius:3px;font-weight:600;white-space:nowrap;display:inline-block}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.warn{background:var(--hold-bg);color:var(--hold)}
.pill.bad{background:var(--bad-bg);color:var(--bad)}
.pill.info{background:var(--accent-bg);color:var(--accent)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:12px}
.card>h2{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;
  color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--line);font-weight:600;
  display:flex;align-items:center;gap:9px}
.card .body{padding:14px}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-family:var(--cond);text-transform:uppercase;letter-spacing:.07em;
  font-size:10px;color:var(--muted);font-weight:600;padding:8px 13px;border-bottom:1px solid var(--line)}
td{padding:8px 13px;border-bottom:1px solid var(--line2);vertical-align:middle}
tr:last-child td{border-bottom:0}
tr.hl{background:var(--hold-bg)} tr.er{background:var(--bad-bg)} tr.good{background:var(--ok-bg)}
button.act,a.act{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:11px;
  font-weight:600;border:1px solid var(--line);background:var(--panel);border-radius:5px;
  padding:6px 11px;cursor:pointer;color:var(--ink)}
button.act.primary,a.act.primary{background:var(--accent);border-color:var(--accent);color:#fff}
button.act.danger,a.act.danger{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}
button.act:disabled{opacity:.4;cursor:default}
.acts{display:flex;gap:6px;flex-wrap:wrap}
.conn{display:inline-flex;align-items:center;gap:6px;font-size:11.5px}
.dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;flex:none}
.dot.off{background:#F59E0B} .dot.dead{background:#EF4444}
.warnbox{background:var(--hold-bg);color:var(--hold);border-radius:6px;padding:10px 12px;font-size:12px;margin-bottom:12px;display:flex;gap:9px}
.infobox{background:var(--accent-bg);color:var(--accent);border-radius:6px;padding:10px 12px;font-size:12px;margin-bottom:12px;display:flex;gap:9px}
.lang{font-family:var(--cond);font-size:11px;letter-spacing:.07em;border:1px solid var(--line);
  background:var(--panel);color:var(--muted);border-radius:3px;padding:4px 9px;cursor:pointer}

a.act{text-decoration:none;display:inline-flex;align-items:center;cursor:pointer}
a.act:hover{filter:brightness(.97)}
