:root {
  --white: #ffffff;

  --color-bg: #fbf9f5;
  --color-surface: #ffffff;
  --color-surface-soft: #f5f1ea;
  --color-surface-raised: #ffffff;
  --color-text: #28231f;
  --color-text-muted: #766c68;
  --color-border: #e6dfd7;
  --color-divider: #f0e9e0;

  --color-primary: #2f6f68;
  --color-primary-deep: #1a4a45;
  --color-primary-hover: #285e58;
  --color-primary-soft: #e7f1ee;
  --color-primary-700: #3d8a82;
  --color-primary-600: #4fa69d;
  --color-primary-500: #6bc2b8;
  --color-primary-400: #8fd4cd;
  --color-primary-300: #b8e6e1;
  --color-primary-200: #d9f2f0;
  --color-primary-100: #edf9f8;
  --color-primary-50: #f5fcfb;

  --color-accent: #ae5d39;
  --color-accent-hover: #9a4d2f;

  --color-brand: #5a1710;

  --color-ai: #6f53c8;
  --color-ai-hover: #6b52c4;
  --color-ai-bg: #eeeaff;
  --color-ai-border: #d8cef5;

  --color-success: #34815b;
  --color-warning: #956b30;
  --color-error: #b14f4f;

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-ai: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;

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

  --shadow-card: 0 12px 40px rgba(33, 28, 26, 0.08);
  --shadow-hover: 0 20px 60px rgba(33, 28, 26, 0.1);
  --shadow-sm: 0 1px 2px rgba(33, 28, 26, 0.07);
  --shadow-md: 0 4px 16px rgba(33, 28, 26, 0.09);
  --shadow-lg: 0 12px 40px rgba(33, 28, 26, 0.13);
  --shadow-tile: 0 1px 3px rgba(40, 35, 31, 0.06);

  --content-max-width: 1200px;
  --sidebar-width: 240px;
  --header-height: 72px;

  /* Aliases legados para telas que ainda usam os nomes antigos */
  --brand-900: var(--color-primary-deep);
  --brand-800: var(--color-primary);
  --brand-700: var(--color-primary-700);
  --brand-600: var(--color-primary-600);
  --brand-500: var(--color-primary-500);
  --brand-400: var(--color-primary-400);
  --brand-300: var(--color-primary-300);
  --brand-200: var(--color-primary-200);
  --brand-100: var(--color-primary-100);
  --brand-50: var(--color-primary-50);

  --sage-900: var(--brand-800);
  --sage-700: var(--brand-700);
  --sage-500: var(--brand-600);
  --sage-300: var(--brand-300);
  --sage-100: var(--brand-100);
  --sage-50: var(--brand-50);

  --accent: var(--color-accent);
  --accent-hover: var(--color-accent-hover);
  --brand: var(--color-brand);
  --gold: var(--color-warning);

  --ai: var(--color-ai);
  --ai-hover: var(--color-ai-hover);
  --ai-bg: var(--color-ai-bg);

  --ink: var(--color-text);
  --muted: var(--color-text-muted);
  --line: var(--color-border);
  --divider: var(--color-divider);
  --surface: var(--color-surface);
  --surface-soft: var(--color-surface-soft);
  --bg: var(--color-bg);

  --danger: var(--color-error);
  --warn: var(--color-warning);
  --ok: var(--color-success);
  --focus-ring: var(--color-primary);
  --badge-bg-strength: 8%;
  --badge-ok-text: #2b6b4b;
  --badge-warn-text: #7a5521;
  --badge-danger-text: #943838;
  --badge-gold-text: #7a5521;

  --r-sm: var(--radius-sm);
  --r-md: var(--radius-md);
  --r-lg: var(--radius-lg);
  --r-xl: var(--radius-xl);
  --r-full: var(--radius-pill);

  --sidebar-w: var(--sidebar-width);
}

/* ===== Dark mode =====
   Sobrescreve apenas tokens existentes. Nenhum seletor de página aqui.
   Se alguma tela precisar de exceção, é sinal de hex hardcoded → corrigir a tela.
   Elevação = clareamento do fundo (sombras somem no escuro).
   A rampa/aliases abaixo invertem o papel tonal: no dark, 900 = mais claro.
*/
:root[data-theme="dark"] {
  color-scheme: dark;

  --color-bg: #171412;
  --color-surface: #1e1a17;
  --color-surface-soft: #262019;
  --color-surface-raised: #2a2420;
  --color-text: #ece7e1;
  --color-text-muted: #a89f97;
  --color-border: #35302a;
  --color-divider: #2b2621;

  --color-primary: #6bc2b8;
  --color-primary-hover: #8fd4cd;
  --color-primary-soft: #223c38;
  --color-primary-deep: #1a4a45;
  --color-primary-900: #8fd4cd;
  --color-primary-800: #7bcac1;
  --color-primary-700: #6bc2b8;
  --color-primary-600: #56aca3;
  --color-primary-500: #418f87;
  --color-primary-400: #2f726c;
  --color-primary-300: #285e58;
  --color-primary-200: #223c38;
  --color-primary-100: #1d322e;
  --color-primary-50: #182826;

  --color-accent: #d98a63;
  --color-accent-hover: #e29d7a;

  --color-ai: #a894f0;
  --color-ai-hover: #b9a8f4;
  --color-ai-bg: #2b2440;
  --color-ai-border: #3d3560;

  --color-success: #5cb98a;
  --color-warning: #d9a45e;
  --color-error: #d97a7a;
  --focus-ring: var(--color-primary-600);
  --badge-ok-text: var(--color-success);
  --badge-warn-text: var(--color-warning);
  --badge-danger-text: var(--color-error);
  --badge-gold-text: var(--color-warning);

  --shadow-card: none;
  --shadow-tile: none;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-hover: 0 0 0 1px var(--color-primary);

  --brand-900: var(--color-primary-900);
  --brand-800: var(--color-primary-800);
  --brand-700: var(--color-primary-700);
  --brand-600: var(--color-primary-600);
  --brand-500: var(--color-primary-500);
  --brand-400: var(--color-primary-400);
  --brand-300: var(--color-primary-300);
  --brand-200: var(--color-primary-200);
  --brand-100: var(--color-primary-100);
  --brand-50: var(--color-primary-50);

  --sage-900: var(--brand-800);
  --sage-700: var(--brand-700);
  --sage-500: var(--brand-600);
  --sage-300: var(--brand-300);
  --sage-100: var(--brand-100);
  --sage-50: var(--brand-50);
}
