/* ==========================================================================
   P-LAB PRO — Design Tokens
   Sistema di design indipendente (no Bootstrap / no Metronic).
   Tutti i valori di design vivono qui come CSS custom properties.
   ========================================================================== */

/* IBM Plex Sans dai Google Fonts (nessuna OpenType feature richiesta).
   Il peso 600 serve SOLO al lockup di testata "P-LAB PRO" (§5.bis): senza,
   il browser lo faux-bolda e il wordmark diverge da quello del sito (.pls-logo,
   che carica il 600 reale). Tutto il resto della UI resta 400/500 (§5). */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap');

/* IBM Plex Mono dal pacchetto ufficiale @ibm/plex-mono (jsDelivr): la versione
   servita dai Google Fonts ha la tabella GSUB svuotata, quindi la feature
   "zero" (slashed zero) NON verrebbe resa. Questi file "complete" mantengono
   tutte le OpenType feature, inclusa "zero". */
@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/npm/@ibm/plex-mono@2.5.0/fonts/complete/woff2/IBMPlexMono-Regular.woff2') format('woff2');
}
@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('https://cdn.jsdelivr.net/npm/@ibm/plex-mono@2.5.0/fonts/complete/woff2/IBMPlexMono-Medium.woff2') format('woff2');
}

:root {
    /* ---- Colori: superfici scure / struttura ---- */
    --plab-navy: #0D1B2A;        /* superficie primaria scura: header nav, struttura */
    --plab-navy-soft: #16273D;   /* navy secondario */

    /* ---- Colori: azione affermativa (SOLO CTA di conferma) ---- */
    --plab-green: #2E7D32;
    --plab-green-light: #E9F3EA;
    --plab-green-dark: #25642a;  /* hover CTA */

    /* ---- Colori: stati negativi / LIVE / accento PRO ---- */
    --plab-red: #C62828;
    --plab-red-light: #FBECEC;

    /* ---- Colori: selezione attiva (voce menu) ---- */
    --plab-gold: #C9A227;
    --plab-gold-light: #FBF4DD;

    /* ---- Colori: testo ---- */
    --plab-ink: #26323D;         /* testo primario */
    --plab-ink-2: #4A5763;       /* testo secondario */
    --plab-ink-soft: #76828E;    /* testo terziario / label */

    /* ---- Colori: neutri struttura ---- */
    --plab-line: #E2E7EB;        /* bordi */
    --plab-paper: #F4F6F8;       /* sfondo pagina */
    --plab-white: #FFFFFF;       /* superfici card */

    /* navy soft per testo nav inattivo (grigio-azzurro chiaro) */
    --plab-nav-idle: #8A99AB;

    /* ---- Palette categorica SERIE (grafici multi-serie LAB) ----
       Ordine FISSO di assegnazione per i dataset dei grafici a più serie del
       Data Analisi LAB (line/bar). Riusare SEMPRE in quest'ordine: la serie 1
       è navy, la 2 petrolio, ecc. (vedi §7.decies "palette serie"). Non sono
       colori semantici: codificano la serie, non lo stato del dato. */
    --plab-series-1: #0D1B2A;  /* navy     (= --plab-navy) */
    --plab-series-2: #3E7CA8;  /* petrolio */
    --plab-series-3: #C9A227;  /* ocra     (= --plab-gold) */
    --plab-series-4: #9AA7B4;  /* ardesia */
    --plab-series-5: #8A7CA8;  /* viola-grigio desaturato (solo per 5+ serie) */

    /* ---- Tipografia ---- */
    --plab-font-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --plab-font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;

    --plab-fw-regular: 400;
    --plab-fw-medium: 500;

    /* ---- Spaziatura ---- */
    --plab-space-1: 4px;
    --plab-space-2: 8px;
    --plab-space-3: 12px;
    --plab-space-4: 16px;
    --plab-space-5: 24px;
    --plab-space-6: 32px;
    --plab-space-7: 48px;

    /* ---- Raggi ---- */
    --plab-radius-card: 12px;
    --plab-radius-control: 8px;
    --plab-radius-pill: 999px;

    /* ---- Bordi & ombre ---- */
    --plab-border: 1px solid var(--plab-line);
    --plab-shadow-soft: 0 1px 2px rgba(13, 27, 42, 0.04);

    /* ---- Layout ---- */
    --plab-container: 1160px;
    --plab-letter-spacing: 0.09em;  /* per label / eyebrow / colonne */

    /* ---- Moduli a barre ---- */
    /* Banda contenuta entro cui vive la barra dei moduli a barre (.plab-distrib & co.):
       la barra NON si stira a tutta larghezza, il valore mono sta subito a destra della
       banda, il resto della riga è uno spacer (margine destro calmo). Vedi §8.
       VALORE UNICO: ogni modulo a barre consuma QUESTO token via la colonna-track
       `minmax(0, var(--plab-bar-band))` — nessun override per-modulo. Il valore massimo
       di ogni card riempie ESATTAMENTE la banda. Estensione di riferimento ~62% della
       larghezza utile riga, tarata su "Eventi che hanno portato al tiro" (lead 120px +
       banda): perché due moduli impilati si allineino, condividono ANCHE il lead (120px),
       non solo questo token. */
    --plab-bar-band: 280px;

    /* breakpoint nav (riferimento, usato nei media query) */
    --plab-nav-collapse: 900px;
}
