/* base.css — tokens (família vistou / Augur), reset, tipografia, utilitários */
:root {
  --bg: #fafafa; --surface: #fff; --ink: #0b1b30; --muted: #5a6478; --faint: #8893a3;
  --line: #e5e8ed;
  --primary: #10c3db; --primary-ink: #0b4a56; --primary-soft: #bfeef5;
  --success: #0a7e57; --success-soft: #e2f8ef;
  --danger: #b23b2f; --danger-soft: #ffe7e3;
  --warn: #8a5a0a; --warn-soft: #fff1d8;     /* âmbar = previsto por IA */
  --info: #0b4a56; --info-soft: #bfeef5;
  --ia: #ffb547;
  --radius: 14px; --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(11,27,48,.05), 0 6px 20px rgba(11,27,48,.04);
  --serif: 'Geist', system-ui, sans-serif;          /* títulos (vistou usa Geist 600) */
  --sans: 'Geist', system-ui, -apple-system, sans-serif;
  --mono: 'Geist Mono', ui-monospace, monospace;     /* valores e tabelas */
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--sans); background: var(--bg); color: var(--ink); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.centered { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; letter-spacing: -.02em; color: var(--ink); margin: 0; }
a { color: var(--primary-ink); text-decoration: none; }
a:hover { text-decoration: underline; }
.num { font-family: var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.flash { padding: 11px 15px; border-radius: var(--radius-sm); font-size: 14px; font-weight: 500; margin-bottom: 18px; }
.flash.ok { background: var(--success-soft); color: var(--success); }
.flash.erro { background: var(--danger-soft); color: var(--danger); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
