@charset "utf-8";
/* ============================================================
   DESIGN V5 — JETONS
   ------------------------------------------------------------
   Source : design_handoff_work_station_v5, « 00-Charte UI complete ».
   Les valeurs sont reprises telles quelles du bloc <style> des prototypes :
   c'est la seule vraie CSS du lot, tout le reste est en styles en ligne sur un
   runtime de maquette.

   CETTE FEUILLE EST CHARGÉE POUR TOUS LES ESPACES, ET C'EST VOULU.

   La charte V5 n'est appliquée qu'à la Station (iso 1) — le pont vers les
   variables historiques, la typographie, la coquille et le thème sombre par
   défaut vivent dans v5-station.css, qui reste scopé. Mais les ~1 400 littéraux
   de couleur remplacés par des jetons l'ont été dans des feuilles PARTAGÉES :
   common.css, components/*, objects-js/*, pages/*. Le Client Center, l'espace
   partenaire et le hub servent ces mêmes fichiers.

   Sans définition, `background: var(--surface)` est invalide à la valeur
   calculée : le fond retombe à `transparent`, et le raccourci
   `border: 1px solid var(--line)` disparaît entièrement. Chaque carte, chaque
   tableau et chaque popup de ces espaces y perdrait sa surface.

   Hors iso 1, `data-zt` n'est jamais posé : ce sont donc les valeurs CLAIRES
   ci-dessous qui s'appliquent — et elles sont à un ou deux points des littéraux
   qu'elles remplacent (#fff → #FFFFFF, #e8ecee → #E6EAF3). Ces espaces ne
   changent pas d'apparence.

   DEUX THÈMES, pilotés par `data-zt` sur <html>. Le sombre est le défaut sur
   iso 1 : l'attribut est posé par un script inline du <head> AVANT les
   feuilles (template.php), sinon la première peinture se fait en clair et la
   page clignote.
   ============================================================ */

/* ---------- 1. Jetons ---------- */

:root {
    --bg: #F4F6FB;
    --surface: #FFFFFF;
    --surface2: #F7F9FD;
    --line: #E6EAF3;
    --line-soft: #EFF2F9;
    --text: #0B1533;
    --text-mid: #4A5578;
    /* #8A93AF dans la charte. Mesuré : 3,06:1 sur `--surface`, 2,78:1 sur
       `--chip` — sous le seuil que la charte se donne elle-même
       (« contraste minimum 4,5:1 pour le texte courant »). Et ce n'est pas un
       jeton décoratif : c'est la couleur des libellés de métrique, des en-têtes
       de colonne et de toutes les métadonnées.
       Assombri dans la MÊME teinte jusqu'à 4,95:1 sur la surface et 4,70:1 sur
       `--surface2`. Même correction en sombre, plus bas. */
    --text-dim: #697085;
    --accent: #0066FF;
    --accent-soft: #E5EFFF;
    --aqua: #009900;
    --aqua-soft: #E3F6E1;
    --neutral: #7E88A3;
    --neutral-soft: #EDEFF5;
    --violet: #7B45FF;
    --violet-soft: #EFE8FF;
    --grid: #EDF0F7;
    --chip: #F1F4FB;
    --rail: #0B1533;
    --glow: transparent;
    --glow2: transparent;

    /* Dérivés — pas dans la charte, mais nécessaires dès qu'on quitte les
       styles en ligne d'une maquette : un « blanc sur accent » ne peut pas
       s'écrire #fff en dur si le thème sombre doit tenir. */
    --on-accent: #FFFFFF;
    --on-rail: #FFFFFF;
    --on-rail-mid: #A9B3D6;

    --radius-card: 18px;
    --radius-soft: 12px;
    --radius-field: 11px;
    --radius-pill: 8px;

    --shadow-card: 0 12px 28px rgba(11, 21, 51, .12);
    --shadow-menu: 0 18px 44px rgba(11, 21, 51, .30);

    --ease: cubic-bezier(.2, .8, .25, 1);

    --font: Poppins, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

:root[data-zt="dark"] {
    --bg: #080D22;
    --surface: #0E1533;
    --surface2: #131B3D;
    --line: #1F2A54;
    --line-soft: #18214A;
    --text: #FFFFFF;
    --text-mid: #A9B3D6;
    /* #6E7AA6 dans la charte : 4,26:1 sur `--surface` et 3,99:1 sur
       `--surface2`, donc sous le seuil AA sur les deux fonds où il sert.
       Éclairci dans la même teinte jusqu'à 4,88 / 4,57:1. */
    --text-dim: #7784B3;
    --accent: #3D8BFF;
    --accent-soft: rgba(61, 139, 255, .18);
    --aqua: #35D435;
    --aqua-soft: rgba(53, 212, 53, .16);
    --neutral: #93A0C4;
    --neutral-soft: rgba(147, 160, 196, .14);
    --violet: #A98CFF;
    --violet-soft: rgba(169, 140, 255, .16);
    --grid: #1B2450;
    --chip: rgba(255, 255, 255, .06);
    --rail: #060A1B;
    --glow: rgba(0, 102, 255, .22);
    --glow2: rgba(255, 255, 255, .05);

    /* En sombre, l'accent est clair : du blanc dessus tomberait à 2,4:1.
       On repasse sur l'encre sombre de la charte. */
    --on-accent: #071026;

    --shadow-card: 0 12px 28px rgba(0, 0, 0, .45);
    --shadow-menu: 0 18px 44px rgba(0, 0, 0, .55);
}

/* Le navigateur doit connaître le thème : sans ça, les ascenseurs, les
   `input` natifs et les `select` restent peints en clair sur fond #080D22. */
:root { color-scheme: light; }
:root[data-zt="dark"] { color-scheme: dark; }

/* ---------- 2. Animations de la charte ---------- */

@keyframes zPopIn  { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes zItemIn { from { opacity: 0; transform: translateX(-10px); }            to { opacity: 1; transform: none; } }
@keyframes zMenuIn { from { opacity: 0; transform: translateX(-16px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes zRise   { from { opacity: 0; transform: translateY(14px); }              to { opacity: 1; transform: none; } }

/* ---------- 3. Impression ---------- */
/* Les jetons sombres survivraient à `@media print` : une page imprimée depuis le
   thème sombre sortirait en blanc sur #080D22, soit une cartouche d'encre pour
   un rapport client. On repasse la racine en jetons CLAIRS à l'impression, quel
   que soit `data-zt`.

   Les valeurs sont recopiées plutôt que référencées : `:root` porte déjà les
   valeurs claires, mais `:root[data-zt="dark"]` les a écrasées avec une
   spécificité supérieure (0,1,1 contre 0,0,1). Une redéclaration de même
   spécificité, plus loin dans le fichier, ne suffirait donc pas — d'où le
   sélecteur d'attribut ici aussi. */
@media print {
    :root,
    :root[data-zt="dark"] {
        --bg: #FFFFFF;
        --surface: #FFFFFF;
        --surface2: #F7F9FD;
        --line: #E6EAF3;
        --line-soft: #EFF2F9;
        --text: #0B1533;
        --text-mid: #4A5578;
        --text-dim: #697085;
        --accent: #0066FF;
        --accent-soft: #E5EFFF;
        --aqua: #009900;
        --aqua-soft: #E3F6E1;
        --neutral: #7E88A3;
        --neutral-soft: #EDEFF5;
        --violet: #7B45FF;
        --violet-soft: #EFE8FF;
        --grid: #EDF0F7;
        --chip: #F1F4FB;
        --rail: #0B1533;
        --glow: transparent;
        --glow2: transparent;
        --on-accent: #FFFFFF;
        --shadow-card: none;
        --shadow-menu: none;
        color-scheme: light;
    }
}
