/* Tokens de identidade visual — harness seção 12.2. Não duplicar valores de cor fora deste arquivo. */
:root {
  --navy-900: #073763; /* cor institucional do documento */
  --navy-700: #1e4d78;
  --blue-600: #365f91;
  --blue-400: #4f81bd;
  --navy-gradient: linear-gradient(135deg, var(--navy-900), var(--navy-700));

  --bg: #f6f8fb;
  --surface: #ffffff;
  --surface-sunken: #eef1f6;
  --border: #e3e8ef;

  --text: #0f1b2d;
  --text-muted: #5b6b80;
  --text-on-navy: #ffffff;
  /* Texto "de marca"/link sobre fundos surface — navy-900 e blue-600 têm
     contraste ótimo no claro, mas ficam ilegíveis sobre fundo escuro, então
     viram tokens próprios em vez de serem usados direto como cor de texto. */
  --accent-text: var(--navy-900);
  --link-text: var(--blue-600);

  --success: #1a7f4b;
  --success-bg: #e9f7ef;
  --warning: #b26b00;
  --warning-bg: #fdf3e2;
  --danger: #c62828;
  --danger-bg: #fdecea;

  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 4px 12px rgba(16, 24, 40, 0.06);
  --shadow-lift: 0 8px 20px rgba(16, 24, 40, 0.12);

  --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;

  --duration-fast: 150ms;
  --duration-base: 200ms;

  --focus-ring: 0 0 0 3px rgba(79, 129, 189, 0.5);

  color-scheme: light;
}

/* Modo escuro — só entra com o alternador do topo (src/ui/theme.js), nunca
   automaticamente pelo sistema: o padrão da aplicação é sempre claro. */
:root[data-theme="dark"] {
  --bg: #0b1220;
  --surface: #111a2b;
  --surface-sunken: #0c1526;
  --border: #1f2a3d;
  --text: #e6edf6;
  --text-muted: #9fb0c6;
  --success-bg: rgba(26, 127, 75, 0.18);
  --warning-bg: rgba(178, 107, 0, 0.18);
  --danger-bg: rgba(198, 40, 40, 0.18);
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.25);
  --shadow-lift: 0 10px 24px rgba(0, 0, 0, 0.35);

  --accent-text: #8fb8ea;
  --link-text: #7aa6e0;

  color-scheme: dark;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
  }
}
