/* =============================================================================
   tokens.css — single source of truth per i design token cauzioni.org.
   Caricato PRIMA di app.css e auth.css, così entrambi consumano le stesse
   variabili. Tutti i namespace storici (--cc-*, --mia-*, --auth-*, --sem-*)
   sono qui dentro per zero migration cost: app.css/auth.css continuano a
   referenziarli con i nomi che usavano.

   Canonical: OKLCH (vedi DESIGN.md). Hex sono presenti solo dove il valore
   è del brand storico (es. navy MIA Consulting #1a3766).
   ============================================================================= */

:root {

  /* ------------- Slate scale (cool, hue 264, chroma 0.005-0.015) --------- */
  /* Usata come testo, bordi, surface. Canonical OKLCH; equivalenti hex
     riportati nel commento per riferimento e debugging. */

  --cc-ink:      oklch(0.21 0.012 264);   /* #0f172a slate-900: testo */
  --cc-body:     oklch(0.42 0.011 264);   /* #475569 slate-600: body */
  --cc-border:   oklch(0.92 0.006 264);   /* #e2e8f0 slate-200 */
  --cc-shadow:   0 12px 36px rgba(15, 23, 42, 0.04);

  /* Aliases legacy MIA (slate-mapped) — usati ovunque in app.css */
  --mia-navy:    oklch(0.21 0.012 264);   /* slate-900 */
  --mia-navy-2:  oklch(0.27 0.011 264);   /* slate-800 */
  --mia-navy-3:  oklch(0.32 0.012 264);   /* slate-700 */
  --mia-sky:     oklch(0.42 0.011 264);   /* slate-600 */
  --mia-sky-2:   oklch(0.55 0.010 264);   /* slate-500 */
  --mia-light:   oklch(0.96 0.005 264);   /* slate-100 */
  --mia-bg:      oklch(0.985 0.003 264);  /* slate-50 */

  /* Auth namespace (stessi valori, nomi distinti per chiarezza nei file) */
  --auth-ink:        oklch(0.21 0.012 264);
  --auth-strong:     oklch(0.32 0.012 264);
  --auth-body:       oklch(0.42 0.011 264);
  --auth-muted:      oklch(0.55 0.010 264);
  --auth-line:       oklch(0.92 0.006 264);
  --auth-line-soft:  oklch(0.96 0.005 264);
  --auth-surface:    oklch(0.985 0.003 264);
  --auth-card:       oklch(1 0.002 264);   /* "bianco" tinted slate (audit P2 fix) */

  /* ------------- Brand accent — navy MIA Consulting ---------------------- */
  /* Hex hardcoded perché è il valore brand storico (#1a3766). Tutto il
     resto del sistema è OKLCH, questo è l'unica eccezione consapevole. */

  --mia-accent:        #1a3766;
  --mia-accent-hover:  #142c52;
  --mia-accent-active: #0f2347;
  /* Focus ring derivato da --mia-accent: se domani cambia il navy, il ring
     si aggiorna in automatico (audit P3 fix). Fallback rgba per Safari <16.4. */
  --mia-accent-ring:   rgba(26, 55, 102, 0.18);
  --mia-accent-ring:   color-mix(in srgb, var(--mia-accent) 18%, transparent);

  /* Auth namespace, stessi valori */
  --auth-accent:        var(--mia-accent);
  --auth-accent-hover:  var(--mia-accent-hover);
  --auth-accent-active: var(--mia-accent-active);
  --auth-accent-ring:   var(--mia-accent-ring);

  /* ------------- Palette semantica (tinted-bg + dark-text-in-hue) -------- */
  /* Pattern: bg lightness 0.95, fg lightness 0.42-0.46, stesso hue. */

  --sem-success-bg:  oklch(0.95 0.05 150);
  --sem-success-fg:  oklch(0.42 0.13 150);
  --sem-success-bd:  oklch(0.87 0.06 150);
  --sem-warning-bg:  oklch(0.95 0.05 80);
  --sem-warning-fg:  oklch(0.45 0.13 65);
  --sem-warning-bd:  oklch(0.88 0.07 80);
  --sem-danger-bg:   oklch(0.95 0.04 25);
  --sem-danger-fg:   oklch(0.46 0.16 27);
  --sem-danger-bd:   oklch(0.88 0.06 25);
  --sem-info-bg:     oklch(0.95 0.04 230);
  --sem-info-fg:     oklch(0.42 0.12 235);
  --sem-info-bd:     oklch(0.88 0.05 230);
  --sem-neutral-bg:  var(--mia-light);
  --sem-neutral-fg:  var(--mia-navy-3);
  --sem-neutral-bd:  var(--cc-border);
  --sem-primary-bg:  oklch(0.93 0.03 255);
  --sem-primary-fg:  var(--mia-accent);
  --sem-primary-bd:  oklch(0.86 0.04 255);

  /* ------------- Radii --------------------------------------------------- */

  --auth-radius-sm:  6px;
  --auth-radius-md:  8px;     /* btn, form-control */
  --auth-radius-lg:  12px;    /* card */
  --radius-pill:     999px;

  /* ------------- Shadow -------------------------------------------------- */

  --auth-shadow-sm:  0 1px 2px rgba(15, 23, 42, 0.04);
  --auth-shadow-md:  0 1px 2px rgba(15, 23, 42, 0.04),
                     0 12px 36px rgba(15, 23, 42, 0.05);

  /* ------------- Motion -------------------------------------------------- */

  --auth-ease:       cubic-bezier(0.22, 1, 0.36, 1); /* ease-out-quart */
}
