/* FV Design System v1.0 — a única fonte de tokens visuais. */
:root,
[data-theme="light"] {
  color-scheme: light;
  /* Brand: altere estes tokens, não cores em páginas isoladas. */
  --brand-navy: #111d35;
  --brand-blue: #2563eb;
  --brand-blue-hover: #1d4ed8;
  --brand-blue-active: #1e40af;
  --brand-turquoise: #17b9b1;
  --brand-turquoise-text: #0f766e;
  /* Semantics */
  --color-page: #f5f7fb;
  --color-surface: #ffffff;
  --color-surface-soft: #f9fbfd;
  --color-surface-muted: #edf2f8;
  --color-text: #17243c;
  --color-text-secondary: #4d5e76;
  --color-text-muted: #63738a;
  --color-border: #dce4ee;
  --color-border-strong: #8190a3;
  --color-primary: var(--brand-blue);
  --color-primary-text: #1d4ed8;
  --color-primary-hover: var(--brand-blue-hover);
  --color-primary-subtle: #eaf1ff;
  --color-success: #147d54;
  --color-success-subtle: #e8f7ef;
  --color-warning: #946000;
  --color-warning-subtle: #fff5d8;
  --color-danger: #b42318;
  --color-danger-subtle: #fff0ee;
  --color-focus-ring: rgba(37, 99, 235, 0.24);
  --color-overlay: rgba(14, 27, 53, 0.52);
  /* Typography */
  --font-heading: "Manrope", "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-display: clamp(2.25rem, 2.9vw + 1.35rem, 3.5rem);
  /* Spacing: unidade base 4px */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  /* Geometry */
  --radius-sm: .5rem;
  --radius-md: .625rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-2xl: 1.5rem;
  --radius-pill: 999px;
  --control-height-sm: 2.5rem;
  --control-height: 3rem;
  --control-height-lg: 3.5rem;
  --container-width: 80rem;
  --content-width: 47.5rem;
  --admin-width: 90rem;
  --shadow-card: 0 8px 28px rgba(19, 35, 62, .045);
  --shadow-popover: 0 18px 50px rgba(18, 36, 64, .16);
  --transition-fast: 150ms ease;
  --transition-normal: 220ms ease;
}
[data-theme="dark"] {
  color-scheme: dark;
  --color-page: #0b1325;
  --color-surface: #131f35;
  --color-surface-soft: #18263f;
  --color-surface-muted: #243650;
  --color-text: #f1f6fe;
  --color-text-secondary: #c6d3e6;
  --color-text-muted: #a8bad3;
  --color-border: #32435e;
  --color-border-strong: #6a7c97;
  --color-primary: #2563eb;
  --color-primary-text: #b2d0ff;
  --color-primary-hover: #2563eb;
  --color-primary-subtle: #1c3257;
  --color-success: #61d4a1;
  --color-success-subtle: #164433;
  --color-warning: #f6c75b;
  --color-warning-subtle: #4f3d19;
  --color-danger: #ff8b83;
  --color-danger-subtle: #512724;
  --color-focus-ring: rgba(121, 173, 255, .35);
  --brand-turquoise-text: #5de0d0;
  --color-overlay: rgba(0, 0, 0, .65);
  --shadow-card: 0 8px 28px rgba(0, 0, 0, .14);
  --shadow-popover: 0 18px 50px rgba(0, 0, 0, .32);
}
