:root {
  --bg: #f6f6f4; --surface: #ffffff; --ink: #1d1d1b; --muted: #6b6b66; --line: #d9d9d4;
  --accent: #1f6feb; --critical: #c62828; --warning: #b26a00; --ok: #2e7d32;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #161615; --surface: #20201f; --ink: #ececea; --muted: #a3a39e; --line: #3a3a37;
          --accent: #6ea8ff; --critical: #ff6b6b; --warning: #f0a830; --ok: #66bb6a; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 15px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.topbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
          padding: 12px 16px; background: var(--surface); border-bottom: 1px solid var(--line); }
.brand { font-weight: 700; color: var(--ink); }
nav { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
nav form { margin: 0; }
button.link { background: none; border: 0; color: var(--accent); padding: 0; font: inherit; cursor: pointer; }
main { max-width: 1100px; margin: 0 auto; padding: 16px; }
.banner { padding: 10px 16px; font-weight: 600; }
.banner.critical { background: color-mix(in srgb, var(--critical) 14%, var(--surface)); color: var(--critical); }
.muted { color: var(--muted); }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 12px 0; }
.card, .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; }
.card.critical { border: 2px solid var(--critical); }
.card.warning { border: 2px solid var(--warning); }
.card .label { color: var(--muted); font-size: 13px; }
.card .value { font-size: 28px; font-weight: 700; margin: 4px 0; }
.card .note { font-size: 13px; color: var(--muted); }
.grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 12px; margin-bottom: 12px; }
.panel { margin-bottom: 12px; }
h1, h2 { margin: 0 0 10px; font-size: 17px; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: var(--muted); font-weight: 500; font-size: 13px; }
.num { text-align: right; white-space: nowrap; }
tr.critical td, tr.critical a { color: var(--critical); }
.flags { margin: 0; padding-left: 18px; }
.flags li { margin: 6px 0; }
.flags li.critical::marker { color: var(--critical); }
.flags li.warning::marker { color: var(--warning); }
.queue li { margin: 10px 0; }
.queue .why { color: var(--muted); font-size: 13px; }
.scroll { overflow-x: auto; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
input, select, button { font: inherit; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px;
                        background: var(--surface); color: var(--ink); }
button[type=submit] { background: var(--accent); color: #fff; border-color: var(--accent); cursor: pointer; }
.login, .settings { max-width: 520px; margin: 24px auto; display: flex; flex-direction: column; gap: 12px; }
.login label, .settings label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.settings label.check { flex-direction: row; align-items: center; gap: 8px; }
.error { color: var(--critical); margin: 0; }
.ok { color: var(--ok); margin: 0; }
.call { border-bottom: 1px solid var(--line); padding: 10px 0; }
.call p { margin: 6px 0; }
