/* ============================================================
   Omnia Sano — design tokens
   Sorgente unica per lab.omniasano.it e omniasano.it

   I nomi delle variabili sono gli stessi già usati nel portale:
   questo file è un rimpiazzo diretto di :root in main.css,
   nessun componente va toccato.
   ============================================================ */

:root {

  /* --- Marchio -------------------------------------------------
     #000080 e #008A8C sono campionati dal logo. Non si toccano.
     Tutto il resto deriva da questi due.                        */

  --brand:        #000080;
  --brand-dark:   #00005a;
  --brand-light:  #2a2ab8;
  --brand-50:     #eef0f9;
  --brand-100:    #d8dcf0;

  --teal:         #008a8c;   /* solo grafica e icone — 4,2:1, non basta per il testo */
  --teal-dark:    #006668;   /* testo, link, CTA — 6,8:1 */
  --teal-light:   #00b4b7;
  --teal-50:      #e4f0f0;

  /* --- Neutri --------------------------------------------------
     Virati sul blu, non grigi puri: accanto a un navy così
     saturo un grigio neutro sembra sporco.                      */

  --bg:            #f4f6f9;
  --surface:       #ffffff;
  --surface-2:     #edf1f6;
  --border:        #d0d7e2;
  --border-strong: #b0bcd0;

  --text:           #2d3748;   /* 11,6:1 */
  --text-secondary: #4a5568;   /*  8,3:1 */
  --text-muted:     #8898aa;   /*  3,4:1 — solo testo grande o decorativo */
  --color-white:    #ffffff;

  /* --- Semantici -----------------------------------------------
     Valori scuri come default: passano AA sul bianco e possono
     essere usati per il testo. Le varianti -light sono solo
     riempimenti, con sopra il valore scuro corrispondente.      */

  --success:       #1a7a44;   /* 5,4:1 */
  --success-light: #d9f0e3;
  --warning:       #8a5a00;   /* 5,9:1 */
  --warning-light: #fbf0d6;
  --danger:        #a02020;   /* 7,7:1 */
  --danger-light:  #f7e3e3;
  --info:          #1a5f8a;   /* 6,9:1 */
  --info-light:    #dceaf4;

  /* --- Flag dei valori di laboratorio --------------------------
     Il colore non deve MAI essere l'unico segnale: accanto al
     valore serve sempre un simbolo (H/L, freccia) o un'etichetta.
     Circa un uomo su dodici non distingue rosso e verde.        */

  --result-normal:   #1a7a44;
  --result-low:      #1a5f8a;
  --result-high:     #a02020;
  --result-critical: #7a1010;
  --result-normal-bg:   #d9f0e3;
  --result-low-bg:      #dceaf4;
  --result-high-bg:     #f7e3e3;
  --result-critical-bg: #f2d2d2;

  /* --- Tipografia ----------------------------------------------
     Una sola famiglia, due membri. IBM Plex ha cifre tabulari:
     indispensabile perché i valori incolonnati si allineino.    */

  --font-display: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
  --font-ui:      'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    'IBM Plex Mono', 'Courier New', monospace;

  --fs-xs:   13px;
  --fs-sm:   15px;
  --fs-base: 17px;   /* pubblico anagraficamente alto: 16px è al limite */
  --fs-lg:   20px;
  --fs-h3:   22px;
  --fs-h2:   28px;
  --fs-h1:   36px;

  --lh-tight: 1.25;
  --lh-base:  1.65;

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-bold:    600;

  /* --- Forma ---------------------------------------------------
     Le ombre sono costruite sul navy, non sul nero: è quello che
     le fa sembrare parte del marchio invece che un default.     */

  --radius-sm:   4px;
  --radius:      8px;
  --radius-lg:   12px;
  --radius-pill: 9999px;

  --shadow-xs: 0 1px 3px  rgba(0, 0, 128, 0.06);
  --shadow:    0 2px 8px  rgba(0, 0, 128, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 128, 0.12);
  --shadow-lg: 0 8px 32px rgba(0, 0, 128, 0.16);

  --focus-ring: 0 0 0 3px rgba(0, 138, 140, 0.35);

  /* --- Gradienti -----------------------------------------------
     Mantenuti per non rompere i componenti che li usano già.
     Consiglio: usarli solo su superfici piccole. Su fondi ampi
     un navy-teal sfumato invecchia in fretta e legge meno
     clinico del colore pieno.                                   */

  --gradient-brand:   linear-gradient(135deg, #008a8c 0%, #000080 100%);
  --gradient-brand-h: linear-gradient(90deg,  #008a8c 0%, #000080 100%);
}
