/* Design tokens: mantêm a paleta escura como padrão com suporte semântico a tema claro. */
:root {
  /* Cores base (tema escuro padrão) */
  --color-bg:#0a0a0a;
  --color-surface:#111;
  --color-surface-raised:#1a1a1a;
  --color-surface-hover:#252525;
  --color-border:#2a2a2a;
  --color-border-subtle:#353535;
  --color-border-strong:#777;
  --color-text:#f4f4f2;
  --color-text-muted:#a8a8a4;
  --color-input-bg:#000;

  /* Destaque (Dourado institucional) */
  --color-gold:#c8a46a;
  --color-gold-hover:#dfb77d;
  --color-gold-soft:rgba(200,164,106,.14);
  --color-gold-border:rgba(200,164,106,.55);
  --color-on-gold:#111;

  /* Aliases para estabilização de variáveis existentes */
  --color-text-main:var(--color-text);
  --text-h3:var(--text-card-title);

  /* Status (texto, fundo suave) */
  --color-success:#6fcf97;   --color-success-soft:rgba(111,207,151,.14);
  --color-warning:#e0b04a;   --color-warning-soft:rgba(224,176,74,.14);
  --color-danger:#f08080;    --color-danger-soft:rgba(240,128,128,.14);
  --color-info:#7fb2e5;      --color-info-soft:rgba(127,178,229,.14);

  /* Espaçamento */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px;

  /* Espaçamento de página e cards */
  --page-padding:24px;
  --card-gap:16px;
  --card-padding:20px;
  --card-section-gap:16px;

  /* Raios */
  --radius-sm:6px; --radius-md:10px; --radius-lg:14px; --radius-pill:999px;

  /* Sombras sutis */
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-md:0 4px 16px rgba(0,0,0,.45);

  /* Escala tipográfica */
  --text-page-title:28px;
  --text-card-title:16px;
  --text-body:14px;
  --text-caption:12px;
  --text-label:11px;
  --tracking-label:.12em;

  /* Foco visível */
  --focus-ring:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-gold);
}

@media(max-width:520px) {
  :root {
    --page-padding:16px;
    --card-gap:12px;
    --card-padding:16px;
    --card-section-gap:12px;
  }
}

/* Tema Claro (Light Theme) ativado via atributo data-theme="light" */
:root[data-theme="light"], [data-theme="light"] {
  --color-bg:#f8f9fa;
  --color-surface:#ffffff;
  --color-surface-raised:#f0f2f5;
  --color-surface-hover:#e8eaed;
  --color-border:#d1d5db;
  --color-border-subtle:#e5e7eb;
  --color-border-strong:#9ca3af;
  --color-text:#111827;
  --color-text-muted:#6b7280;
  --color-input-bg:#ffffff;

  /* Dourado institucional ajustado para legibilidade e contraste WCAG AA (>= 4.5:1) em fundo claro */
  --color-gold:#966b24;
  --color-gold-hover:#785317;
  --color-gold-soft:rgba(150,107,36,.12);
  --color-gold-border:rgba(150,107,36,.4);
  --color-on-gold:#ffffff;

  /* Status com contraste acessível para fundo claro */
  --color-success:#166534;   --color-success-soft:rgba(22,101,52,.12);
  --color-warning:#854d0e;   --color-warning-soft:rgba(133,77,14,.12);
  --color-danger:#991b1b;    --color-danger-soft:rgba(153,27,27,.12);
  --color-info:#1e40af;      --color-info-soft:rgba(30,64,175,.12);

  --shadow-sm:0 1px 3px rgba(0,0,0,.08);
  --shadow-md:0 4px 12px rgba(0,0,0,.12);

  --focus-ring:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-gold);
}
