/* SAINE — tokens canonicos do apps/web.
 * Fonte: design/reference (Catalogo Parte A + Identidade Visual, Apendice A).
 * Primitivas NAO sao usadas por componentes; componentes usam a camada
 * semantica, que o tema re-mapeia. */

:root {
  /* Primitivas — paleta light */
  --papel: #f4efe4;
  --papel-claro: #faf7f0;
  --papel-escuro: #e8e0d0;
  --tinta: #1a2b2e;
  --tinta-media: #4a5559;
  --tinta-clara: #7a8388;
  --verde-garrafa: #1e3a35;
  --verde-garrafa-medio: #2d4a43;
  --azul-tinta: #2b3552;
  --terracota: #a0562e;
  --bordo: #6b2c20;
  --crise: #8b2b2b;
  --aviso: #8b6f1f;
  --confirmacao: #3a5a3f;
  --informacao: #2b4565;

  /* Primitivas — grupo dark */
  --tinta-profunda: #14201e;
  --tinta-profunda-clara: #1c2a28;
  --papel-invertido: #e8dfc9;
  --papel-medio: #b8ae96;
  --verde-palido: #6b8a82;

  /* Fontes */
  --font-body: 'Lora', Georgia, 'Times New Roman', serif;
  --font-display: 'Fraunces', 'Lora', Georgia, serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-admin: 'IBM Plex Sans', -apple-system, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier New', monospace;

  /* Camada semantica — light (componentes usam SO estas) */
  --bg: var(--papel);
  --bg-elevated: var(--papel-claro);
  --bg-sunken: var(--papel-escuro);
  --fg: var(--tinta);
  --fg-muted: var(--tinta-media);
  --fg-subtle: var(--tinta-clara);
  --accent: var(--verde-garrafa);
  --accent-strong: var(--verde-garrafa-medio);
  --on-accent: var(--papel);
  --danger: var(--crise);
  --destructive: var(--bordo);
  --border-subtle: rgba(26, 43, 46, 0.06);
}

/* Tema dark — paleta paralela (Identidade Visual 1.3: nao e inversao).
 * Redefine SO a camada semantica; primitivas intocadas. */
.dark {
  --bg: var(--tinta-profunda);
  --bg-elevated: var(--tinta-profunda-clara);
  --bg-sunken: var(--tinta-profunda);
  --fg: var(--papel-invertido);
  --fg-muted: var(--papel-medio);
  --fg-subtle: var(--papel-medio);
  --accent: var(--verde-palido);
  --accent-strong: var(--verde-palido);
  --on-accent: var(--tinta-profunda);
  --border-subtle: rgba(232, 223, 201, 0.08);
}

:root {
  /* Espacamento (Apendice A.3) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Radius (Apendice A.4) */
  --radius-xs: 4px;
  --radius-s: 8px;
  --radius-m: 12px;
  --radius-l: 16px;
  --radius-chat: 18px;
  --radius-pill: 20px;

  /* Motion (Apendice A.5) */
  --ease-out: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-touch: 100ms;
  --duration-state: 200ms;
  --duration-screen: 280ms;
}
