/* Identidade FF: azul #013779 + dourado #d4af37. Tema claro por padrão; escuro segue o
   sistema, ou a escolha do usuário (data-theme no <html>, salvo no aparelho). */
:root {
  --ff-azul:        #013779;
  --ff-azul-escuro: #002b5c;
  --ff-dourado:     #d4af37;
  --white:          #ffffff;

  --brand:        #013779;
  --brand-hover:  #0a4a9a;
  --brand-soft:   #e8f0fb;
  --brand-text:   #013779;
  --accent:       #d4af37;
  --accent-soft:  #fbf3d9;

  --bg:           #f4f6fa;
  --surface:      #ffffff;
  --surface-2:    #f8fafc;
  --text:         #0f172a;
  --muted:        #5b6779;
  --border:       #e3e8f0;
  --row-alt:      #fbfcfe;
  --row-hover:    #f1f5fb;
  --row-group:    #eef3fa;
  --foot:         #eef2f7;
  --overlay:      rgba(15, 23, 42, .45);

  --danger:       #dc2626;
  --danger-soft:  #fdecec;
  --success:      #15803d;
  --success-soft: #e7f6ec;
  --warning:      #d97706;
  --warning-soft: #fdf3e2;
  /* Texto sobre fundo claro/suave: tons mais escuros, contraste ≥ 4,5:1 (WCAG AA). */
  --danger-text:  #b91c1c;
  --success-text: #166534;
  --warning-text: #92400e;
  --accent-text:  #7a5f0c;

  --radius:     12px;
  --radius-sm:  8px;
  --shadow:     0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);
  --shadow-lg:  0 10px 30px rgba(15, 23, 42, .14);
  --font:       "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --sidebar-w:  248px;
  --navbar-h:   56px;
  --bottom-nav-h: 60px;
  --transition: 150ms ease;

  /* Áreas seguras do iPhone (notch / barra de gesto); 0 fora dele. */
  --safe-top:    env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left:   env(safe-area-inset-left, 0px);
  --safe-right:  env(safe-area-inset-right, 0px);

  color-scheme: light;
}

/* Tema escuro: mesmas variáveis, valores trocados. Duas entradas: sistema (quando o
   usuário não escolheu) e escolha explícita. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand:        #2f6fd0;
    --brand-hover:  #4a86e0;
    --brand-soft:   #17284a;
    --brand-text:   #8db8ff;
    --accent-soft:  #3a3320;
    --bg:           #0b1120;
    --surface:      #121a2c;
    --surface-2:    #172238;
    --text:         #e6ebf4;
    --muted:        #94a3b8;
    --border:       #25324b;
    --row-alt:      #141e32;
    --row-hover:    #1a2740;
    --row-group:    #1a2740;
    --foot:         #1a2740;
    --overlay:      rgba(0, 0, 0, .6);
    --danger:       #f87171;
    --danger-soft:  #3b1d22;
    --success:      #4ade80;
    --success-soft: #16301f;
    --warning:      #fbbf24;
    --warning-soft: #3a2e12;
    --danger-text:  #f87171;
    --success-text: #4ade80;
    --warning-text: #fbbf24;
    --accent-text:  #e5c55a;
    --shadow:       0 1px 2px rgba(0, 0, 0, .3);
    --shadow-lg:    0 10px 30px rgba(0, 0, 0, .5);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --brand:        #2f6fd0;
  --brand-hover:  #4a86e0;
  --brand-soft:   #17284a;
  --brand-text:   #8db8ff;
  --accent-soft:  #3a3320;
  --bg:           #0b1120;
  --surface:      #121a2c;
  --surface-2:    #172238;
  --text:         #e6ebf4;
  --muted:        #94a3b8;
  --border:       #25324b;
  --row-alt:      #141e32;
  --row-hover:    #1a2740;
  --row-group:    #1a2740;
  --foot:         #1a2740;
  --overlay:      rgba(0, 0, 0, .6);
  --danger:       #f87171;
  --danger-soft:  #3b1d22;
  --success:      #4ade80;
  --success-soft: #16301f;
  --warning:      #fbbf24;
  --warning-soft: #3a2e12;
  --danger-text:  #f87171;
  --success-text: #4ade80;
  --warning-text: #fbbf24;
  --accent-text:  #e5c55a;
  --shadow:       0 1px 2px rgba(0, 0, 0, .3);
  --shadow-lg:    0 10px 30px rgba(0, 0, 0, .5);
  color-scheme: dark;
}
