/* Vida DS — tokens da demonstração.
   Valores do anexo 14 (proposta/14-Design-system.md) com as correções de contraste
   das changes ds-tokens-cor-semanticos, ds-tokens-cor-severidade e ds-componente-provenance-badge:
   action.primary no claro = vida-600; texto escuro sobre vida-400 no escuro; text.brand = vida-700. */

:root {
  /* Primitivos — marca vida */
  --vida-50: #EEFAF3;
  --vida-100: #D6F0E0;
  --vida-200: #AEE1C2;
  --vida-300: #7FCDA1;
  --vida-400: #4CB37F;
  --vida-500: #178A5E;
  --vida-600: #127550;
  --vida-700: #0F5C40;
  --vida-800: #0A3527;
  --vida-900: #062418;

  /* Primitivos — neutros esverdeados */
  --neutro-0: #FFFFFF;
  --neutro-50: #F7F8F8;
  --neutro-100: #EEF0F0;
  --neutro-200: #D9DDDD;
  --neutro-300: #B6BCBC;
  --neutro-400: #8A9292;
  --neutro-500: #5F6B6B;
  --neutro-600: #465151;
  --neutro-700: #313A3A;
  --neutro-800: #1E2626;
  --neutro-900: #121818;
  --neutro-950: #0C1313;

  /* Primitivos — severidade */
  --info-500: #2B5FA8;
  --atencao-500: #B9770E;
  --urgente-500: #C0392B;

  /* Tipografia */
  --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-legivel: "Atkinson Hyperlegible", "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --font-body: var(--font-ui);

  --text-caption: 500 12px/16px var(--font-body);
  --text-body-sm: 400 14px/20px var(--font-body);
  --text-body: 400 16px/24px var(--font-body);
  --text-body-strong: 600 16px/24px var(--font-body);
  --text-title-sm: 600 18px/26px var(--font-body);
  --text-title: 700 20px/28px var(--font-body);
  --text-title-lg: 700 24px/32px var(--font-body);
  --text-display: 800 30px/38px var(--font-body);

  /* Espaçamento (grid 4 pt) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 48px;

  /* Raio */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;

  /* Alvo de toque */
  --target-min: 48px;

  /* Motion — calmo, sem bounce */
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;
  --easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --easing-emphasized: cubic-bezier(0.3, 0, 0, 1);
}

/* Tema claro (padrão) */
:root,
[data-theme="light"] {
  --surface-app: #EEF2F1;
  --surface-base: var(--neutro-0);
  --surface-raised: var(--neutro-0);
  --surface-sunken: var(--neutro-50);
  --surface-hover: var(--neutro-100);
  --surface-brand: var(--vida-50);
  --surface-brand-strong: var(--vida-800);

  --text-primary: var(--neutro-900);
  --text-secondary: var(--neutro-600);
  --text-tertiary: var(--neutro-500);
  --text-brand: var(--vida-700);
  --text-on-action: #FFFFFF;
  --text-on-brand-strong: #FFFFFF;

  --action-primary: var(--vida-600);
  --action-primary-hover: var(--vida-700);
  --action-secondary-bg: var(--vida-50);
  --action-secondary-text: var(--vida-700);

  --border-default: var(--neutro-200);
  --border-strong: var(--neutro-500);
  --focus-ring: var(--vida-500);

  --info-text: #2B5FA8;
  --info-icon: #2B5FA8;
  --info-bg: #EAF1FB;
  --atencao-text: #875207;
  --atencao-icon: #B9770E;
  --atencao-bg: #FDF4E3;
  --urgente-text: #AD3123;
  --urgente-icon: #C0392B;
  --urgente-bg: #FCEDEB;
  --sucesso-text: var(--vida-600);
  --sucesso-bg: var(--vida-50);

  --badge-verificado: var(--vida-700);
  --badge-parcial: #2B5FA8;
  --badge-autorrelato: var(--neutro-600);

  --chart-band: var(--vida-100);
  --chart-line: var(--vida-600);
  --chart-grid: var(--neutro-200);

  --shadow-1: 0 1px 2px rgba(18, 24, 24, 0.06), 0 1px 3px rgba(18, 24, 24, 0.08);
  --shadow-2: 0 10px 30px rgba(18, 24, 24, 0.14);
  --shadow-3: 0 12px 28px rgba(192, 57, 43, 0.28);
  color-scheme: light;
}

/* Tema escuro */
[data-theme="dark"] {
  --surface-app: #070C0C;
  --surface-base: var(--neutro-900);
  --surface-raised: var(--neutro-800);
  --surface-sunken: var(--neutro-950);
  --surface-hover: #263030;
  --surface-brand: #0E2A20;
  --surface-brand-strong: var(--vida-800);

  --text-primary: var(--neutro-50);
  --text-secondary: var(--neutro-300);
  --text-tertiary: #A3ABAB;
  --text-brand: var(--vida-300);
  --text-on-action: var(--neutro-950);
  --text-on-brand-strong: #FFFFFF;

  --action-primary: var(--vida-400);
  --action-primary-hover: var(--vida-300);
  --action-secondary-bg: #12392B;
  --action-secondary-text: var(--vida-200);

  --border-default: var(--neutro-700);
  --border-strong: var(--neutro-400);
  --focus-ring: var(--vida-300);

  --info-text: #8DB2EA;
  --info-icon: #7DA6E4;
  --info-bg: #14233A;
  --atencao-text: #EBC072;
  --atencao-icon: #E0A743;
  --atencao-bg: #33270F;
  --urgente-text: #F29C91;
  --urgente-icon: #EE7F71;
  --urgente-bg: #3A1814;
  --sucesso-text: var(--vida-300);
  --sucesso-bg: #0E2A20;

  --badge-verificado: var(--vida-300);
  --badge-parcial: #8DB2EA;
  --badge-autorrelato: var(--neutro-300);

  --chart-band: #13402F;
  --chart-line: var(--vida-300);
  --chart-grid: var(--neutro-700);

  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-2: 0 12px 32px rgba(0, 0, 0, 0.5);
  --shadow-3: 0 12px 28px rgba(0, 0, 0, 0.55);
  color-scheme: dark;
}

/* Tema alto contraste */
[data-theme="contrast"] {
  --surface-app: #FFFFFF;
  --surface-base: #FFFFFF;
  --surface-raised: #FFFFFF;
  --surface-sunken: #FFFFFF;
  --surface-hover: #E9ECEC;
  --surface-brand: #FFFFFF;
  --surface-brand-strong: #000000;

  --text-primary: #000000;
  --text-secondary: var(--neutro-800);
  --text-tertiary: var(--neutro-700);
  --text-brand: var(--vida-900);
  --text-on-action: #FFFFFF;
  --text-on-brand-strong: #FFFFFF;

  --action-primary: var(--vida-800);
  --action-primary-hover: #000000;
  --action-secondary-bg: #FFFFFF;
  --action-secondary-text: var(--vida-900);

  --border-default: var(--neutro-700);
  --border-strong: #000000;
  --focus-ring: #000000;

  --info-text: #183F75;
  --info-icon: #183F75;
  --info-bg: #FFFFFF;
  --atencao-text: #5E3A05;
  --atencao-icon: #6E4406;
  --atencao-bg: #FFFFFF;
  --urgente-text: #7E1F15;
  --urgente-icon: #8E2418;
  --urgente-bg: #FFFFFF;
  --sucesso-text: var(--vida-800);
  --sucesso-bg: #FFFFFF;

  --badge-verificado: var(--vida-900);
  --badge-parcial: #183F75;
  --badge-autorrelato: var(--neutro-800);

  --chart-band: var(--vida-200);
  --chart-line: var(--vida-900);
  --chart-grid: var(--neutro-500);

  --shadow-1: 0 0 0 1px #000000;
  --shadow-2: 0 0 0 2px #000000;
  --shadow-3: 0 0 0 2px #000000;
  color-scheme: light;
}

[data-font="legivel"] {
  --font-body: var(--font-legivel);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
