/* ============================================================
   42B — DESIGN TOKEN UNICI
   Il fondamento condiviso delle tre interfacce (cliente, admin,
   produttore). Le regole e i perché stanno in DESIGN_NOTE.md.
   Qui vivono SOLO le variabili e tre basi globali.
   ============================================================ */
:root{
  /* colori */
  --ink:#181511;            /* testo primario, superfici scure */
  --ink-2:#2a251e;          /* superfici scure in rilievo */
  --paper:#f4efe6;          /* sfondo pagina */
  --card:#fffcf6;           /* superfici / card */
  --line:#e3dccc;           /* bordi a riposo */
  --line-forte:#cfc6b2;     /* bordi in evidenza / hover */
  --accent:#e6431f;         /* SOLO azioni e segnali */
  --accent-dark:#b83015;    /* pressione / testo accento su chiaro */
  --ok:#1e7a3c; --warn:#a06a00; --muted:#6e6759;
  --plate:#181511;          /* targhetta codice prodotto */
  --bar:#857349;            /* unico colore dati dei grafici */

  /* raggi */
  --r-xs:8px; --r-s:12px; --r:14px;
  --radius:14px;            /* alias storico: usato dalle pagine esistenti */

  /* ombre (riposo / hover / sovrapposizioni) */
  --ombra-s:0 1px 2px rgba(24,21,17,.06);
  --ombra-m:0 6px 18px rgba(24,21,17,.10);
  --ombra-l:0 12px 32px rgba(24,21,17,.18);

  /* movimento */
  --t-fast:150ms; --t:200ms;
  --curva:cubic-bezier(.2,.7,.3,1);

  /* tipografia display condensata (solo titoli, brand, cifre eroiche) */
  --font-disp:"HelveticaNeue-CondensedBlack","Helvetica Neue Condensed Black","Roboto Condensed","Arial Narrow",sans-serif-condensed,Arial,sans-serif;
}

/* Focus da tastiera: uguale ovunque, sempre visibile. */
button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--accent);outline-offset:2px;
}

/* Prezzi e quantità: cifre tabellari che si incolonnano. */
.tnum{font-variant-numeric:tabular-nums}

/* Scheletro di caricamento: barre che pulsano, mai buchi bianchi. */
.skel{border-radius:var(--r-xs);min-height:14px;
  background:linear-gradient(90deg,#eee7d9 25%,#f7f2e7 45%,#eee7d9 65%);
  background-size:200% 100%;animation:skel 1.1s linear infinite}
@keyframes skel{from{background-position:200% 0}to{background-position:-200% 0}}

/* Chi preferisce meno movimento non riceve NESSUNA animazione. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
}
