/* KO 2027 — tokens e base */
:root {
  --c-navy: #0f1b2d;
  --c-navy-2: #16263d;
  --c-navy-3: #1f3350;
  --c-accent: #f2c200;       /* amarelo de segurança */
  --c-accent-ink: #1a1400;
  --c-blue: #2f6fd6;
  --c-bg: #eef1f5;
  --c-surface: #ffffff;
  --c-surface-2: #f6f8fa;
  --c-line: #dde2e8;
  --c-ink: #17202b;
  --c-ink-2: #4b5665;
  --c-muted: #6b7684;
  --c-ok: #22a05a;
  --c-low: #e8b021;
  --c-crit: #d9433b;
  --c-pos-empty: #ef6b63; /* posição vazia (0 itens) */
  --c-empty: #8b939e;
  --c-blocked: #5b2f8f;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 2px 8px rgba(16, 24, 40, .06);
  --shadow-lg: 0 12px 40px rgba(15, 27, 45, .22);
  --sidebar-w: 248px;
  --font: 'Inter', 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.45;
  color: var(--c-ink);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { margin: 0; line-height: 1.2; font-weight: 650; letter-spacing: -.01em; }
h1 { font-size: 20px; }
h2 { font-size: 17px; }
h3 { font-size: 15px; }
h4 { font-size: 14px; }
p { margin: 0; }
a { color: var(--c-blue); }
code { font-family: ui-monospace, 'Cascadia Code', Consolas, monospace; font-size: .92em; background: var(--c-surface-2); padding: 1px 5px; border-radius: 4px; }
.muted { color: var(--c-muted); }
.small { font-size: 12.5px; }
.num, td.num { text-align: right; font-variant-numeric: tabular-nums; }
.ico { flex: none; vertical-align: middle; }
:focus-visible { outline: 2px solid var(--c-blue); outline-offset: 2px; }
.row { display: flex; align-items: center; }
.row.gap { gap: 8px; }
.row.end { justify-content: flex-end; }
.row.wrap { flex-wrap: wrap; }
.spacer { flex: 1; }
.hidden { display: none !important; }
