/* ==========================================================================
   PROPOSTA IDEAL - VARIÁVEIS DE DESIGN E SISTEMA DE TEMAS (LIGHT / DARK)
   Diretrizes Obrigatórias:
   - Tipografia: Família de fontes exclusivamente Inter.
   - Acessibilidade: font-weight no Tema Claro ligeiramente MAIOR que no
     Tema Escuro para máxima nitidez e contraste de leitura.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750;800&display=swap');

:root {
  /* Tipografia Base */
  --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Espaçamentos e Geometria */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Transições Suaves */
  --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);

  /* Dimensões Globais de Estrutura */
  --header-height: 64px;
  --footer-height: 42px;
}

/* ==========================================================================
   TEMA CLARO (LIGHT MODE) - PADRÃO
   O font-weight é ligeiramente superior para assegurar excelente legibilidade.
   ========================================================================== */
:root,
html[data-theme="light"] {
  /* Escala Tipográfica de Pesos - Tema Claro (Reforçada) */
  --font-weight-regular: 450;
  --font-weight-medium: 550;
  --font-weight-semibold: 650;
  --font-weight-bold: 750;
  --font-weight-extrabold: 800;

  /* Cores de Fundo e Superfície */
  --bg-app: #f8fafc;
  --bg-surface: #ffffff;
  --bg-surface-elevated: #ffffff;
  --bg-surface-subtle: #f1f5f9;
  --bg-surface-muted: #e2e8f0;

  /* Cores de Borda */
  --border-subtle: #e2e8f0;
  --border-base: #cbd5e1;
  --border-strong: #94a3b8;

  /* Cores de Texto e Ícones */
  --text-primary: #0f172a;
  --text-secondary: #334155;
  --text-muted: #64748b;
  --text-inverse: #ffffff;

  /* Cores Primárias da Marca */
  --color-primary: #0284c7;
  --color-primary-hover: #0369a1;
  --color-primary-active: #075985;
  --color-primary-subtle: #e0f2fe;
  --color-primary-contrast: #ffffff;

  /* Cores de Destaque e Apoio */
  --color-accent: #0d9488;
  --color-accent-subtle: #ccfbf1;
  --color-success: #16a34a;
  --color-success-subtle: #dcfce7;
  --color-warning: #d97706;
  --color-warning-subtle: #fef3c7;
  --color-danger: #dc2626;
  --color-danger-subtle: #fee2e2;

  /* Sombras */
  --shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, 0.05);
  --shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.1), 0 1px 2px -1px rgba(15, 23, 42, 0.1);
  --shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.1), 0 2px 4px -2px rgba(15, 23, 42, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.1), 0 4px 6px -4px rgba(15, 23, 42, 0.1);
  --shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.1);

  /* Elementos Visuais Específicos */
  --hero-glow: radial-gradient(circle at 50% 30%, rgba(2, 132, 199, 0.12) 0%, rgba(248, 250, 252, 0) 70%);
}

/* ==========================================================================
   TEMA ESCURO (DARK MODE)
   O font-weight é ligeiramente menor para evitar sensação de borrão ou excesso
   de espessura em fundos escuros (efeito ótico de irradiação).
   ========================================================================== */
html[data-theme="dark"] {
  /* Escala Tipográfica de Pesos - Tema Escuro (Suavizada) */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 750;

  /* Cores de Fundo e Superfície */
  --bg-app: #0b1120;
  --bg-surface: #111827;
  --bg-surface-elevated: #1e293b;
  --bg-surface-subtle: #1f2937;
  --bg-surface-muted: #374151;

  /* Cores de Borda */
  --border-subtle: #1f2937;
  --border-base: #334155;
  --border-strong: #475569;

  /* Cores de Texto e Ícones */
  --text-primary: #f8fafc;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --text-inverse: #0f172a;

  /* Cores Primárias da Marca */
  --color-primary: #38bdf8;
  --color-primary-hover: #0284c7;
  --color-primary-active: #0369a1;
  --color-primary-subtle: rgba(56, 189, 248, 0.15);
  --color-primary-contrast: #0b1120;

  /* Cores de Destaque e Apoio */
  --color-accent: #2dd4bf;
  --color-accent-subtle: rgba(45, 212, 191, 0.15);
  --color-success: #4ade80;
  --color-success-subtle: rgba(74, 222, 128, 0.15);
  --color-warning: #fbbf24;
  --color-warning-subtle: rgba(251, 191, 36, 0.15);
  --color-danger: #f87171;
  --color-danger-subtle: rgba(248, 113, 113, 0.15);

  /* Sombras */
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.35);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.4), 0 1px 2px -1px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.45), 0 2px 4px -2px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6), 0 8px 10px -6px rgba(0, 0, 0, 0.6);

  /* Elementos Visuais Específicos */
  --hero-glow: radial-gradient(circle at 50% 30%, rgba(56, 189, 248, 0.12) 0%, rgba(11, 17, 32, 0) 70%);
}