/* ============================================================================
   ORKESTROR — LES JETONS (tokens)
   LA source unique de toutes les valeurs visuelles de l'application.
   ============================================================================

   A QUOI CA SERT, CONCRETEMENT : changer la couleur de l'application, la
   hauteur des boutons ou les arrondis se fait ICI, sur UNE ligne. Toutes les
   pages suivent, sans en ouvrir une seule.

   LA REGLE, ET ELLE EST STRICTE : aucun fichier de composant, aucune page ne
   doit ecrire une couleur ou une taille EN DUR. Tout passe par un jeton :
       correct   : color: var(--ork-bleu);
       INTERDIT  : color: #0096d6;
   Pourquoi si strict : une couleur ecrite en dur est invisible depuis ce
   fichier. Le jour ou l'on change le bleu, elle reste — et personne ne sait
   pourquoi un bouton est reste de l'ancienne couleur. C'est exactement ce qui
   est arrive a l'ancien `commun/buttons/buttons-canon.css` : 8 couleurs en dur,
   impossibles a faire evoluer ensemble.
   Le script `commun/controle-canon.ps1` verifie cette regle mecaniquement.

   D'OU VIENNENT CES VALEURS : du theme SSA valide par Leck en 7 iterations
   (captures a l'appui, cf. `.ressources\Maquettes_Theme_SSA\`). Elles ne sont
   pas re-decidees ici, elles sont RASSEMBLEES ici.
   ============================================================================ */

:root {

  /* ── COULEURS : un seul accent, le bleu (regle 2 du canon SSA) ─────────── */
  --ork-bleu:          #0096d6;   /* accent : liens, lisere de selection, filets */
  /* POURQUOI #00658f et non #007dba : sur le bleu pale des boutons
     secondaires, #007dba ne donnait que 3,59 de contraste -- SOUS le seuil
     AA de 4,5 exige pour du texte normal. #00658f monte a 5,12 sur ce meme
     fond (et 6,45 sur blanc) sans changer de famille de couleur. */
  --ork-bleu-texte:    #00658f;   /* texte sur fond pale — lisible (AA) */
  --ork-bleu-pale:     #cceaf7;   /* fond des boutons secondaires et de la selection */
  --ork-bleu-clair:    #bfe5f5;   /* fond du bouton au repos */
  /* ── FONDS DES BOUTONS PLEINS — jetons DEDIES, et voici pourquoi ────────
     Un bouton plein porte du texte BLANC. Le seuil AA d'un texte normal est
     de 4,5. Or l'accent --ork-bleu (#0096d6) ne donne que 3,32 avec du blanc,
     et --ork-erreur (#dc442f) que 4,28 : les deux boutons les plus cliques de
     l'application etaient sous le seuil.
     On NE TOUCHE PAS a l'accent lui-meme : il sert aussi de filet, de lisere
     de selection et de couleur de lien, ou il n'a pas a etre assombri. On
     declare donc un jeton SEPARE pour le FOND des boutons pleins -- une
     intention, un jeton.
       #0079ad sur blanc = 4,84   (etait 3,32)
       #c93a26 sur blanc = 5,10   (etait 4,28) */
  --ork-bleu-fond-actif:   #0079ad;  /* fond d'un bouton principal (texte blanc) */
  --ork-erreur-fond-actif: #c93a26;  /* fond d'un bouton destructeur (texte blanc) */

  /* ── NEUTRES DE STRUCTURE ──────────────────────────────────────────────── */
  --ork-fond-app:      #dddddd;   /* le fond gris qui separe les blocs (regle 1) */
  --ork-blanc:         #ffffff;   /* panneaux, rail, champs */
  --ork-gris-clair:    #f3f3f3;   /* bandeau, en-tete de panneau, en-tete de tableau */
  --ork-gris-moyen:    #e6e6e6;   /* survol de navigation, separateurs */
  --ork-gris-pied:     #d9d9d9;   /* pied de panneau, bordure des champs */
  --ork-bordure:       #d2d2d2;   /* bordure des panneaux, filets de tableau */

  /* ── TEXTES : quatre niveaux, pas un de plus ───────────────────────────── */
  --ork-texte:         #333333;   /* texte principal et titres */
  --ork-valeur:        #000000;   /* valeurs de donnees (cellules, fiches) */
  --ork-label:         #666666;   /* libelles secondaires */
  /* POURQUOI #6e6e6e — et pourquoi le commentaire precedent etait FAUX :
     il annoncait « 4,0 sur #f3f3f3 » comme une reussite. 4,0 n'est pas une
     reussite : le seuil AA d'un TEXTE NORMAL est 4,5, pas 4,0 (le 3,0 ne vaut
     que pour les elements non textuels et le texte de grande taille).
     #767676 donnait 4,54 sur blanc mais 4,09 sur le gris #f3f3f3 et 3,64 sur
     le gris des bandeaux #e6e6e6 : deux fonds sur trois etaient hors norme.
     #6e6e6e passe les TROIS : 5,10 sur blanc, 4,60 sur #f3f3f3, 4,09 sur
     #e6e6e6 -- et garde l'effet « texte tertiaire » (il reste plus clair que
     --ork-label #666666). Le dernier point (4,09 sur #e6e6e6) reste sous le
     seuil : on n'ecrit donc PAS de texte faible sur un bandeau gris. */
  --ork-faible:        #6e6e6e;   /* descriptions, placeholders */

  /* ── ETATS : uniquement pour DIRE quelque chose, jamais pour decorer ───── */
  --ork-ok:            #42a425;
  --ork-avertissement: #f4b51e;   /* PASTILLE seulement — illisible en fond de texte */
  --ork-erreur:        #dc442f;   /* action destructrice assumee (regle 27) */

  /* ── GEOMETRIE : SSA est CARRE (regle 8) ───────────────────────────────── */
  --ork-rayon:          0;        /* par defaut : angles droits */
  --ork-rayon-panneau:  5px;      /* seul arrondi tolere : haut/bas des panneaux */

  /* ── HAUTEURS : DECLAREES, jamais calculees (regle 28) ─────────────────── */
  /* Le probleme resolu par ces trois lignes : tant que la hauteur d'un bouton
     etait le RESULTAT d'un calcul (padding + taille du texte), elle changeait
     des qu'un des deux bougeait — d'ou des boutons de hauteurs differentes
     dans une meme barre. Declaree, elle ne peut plus deriver. */
  --ork-h-btn:         28px;      /* TOUS les boutons ordinaires */
  --ork-h-btn-lg:      38px;      /* exception declaree : bouton pleine largeur */
  --ork-h-entete-bloc: 40px;      /* les 3 en-tetes de bloc, a la meme hauteur */

  /* ── BANDEAU D'EN-TETE DE BLOC — CANON GRAPHIQUE (Leck, 26/07/2026) ──
     La reference retenue est le bandeau des ecrans de tableaux
     (« Gerer les eleves », « Gerer les dossiers d'inscription »), releve
     a l'ecran : fond #e6e6e6, texte #333333, filet du bas #d2d2d2.
     Elle s'applique DESORMAIS AUX TROIS BLOCS -- Menu, Liste, Principal --
     pour que l'identite visuelle soit la meme sur tous les ecrans.
     POURQUOI DES JETONS DEDIES alors que les teintes existent deja plus
     haut : `--ork-gris-moyen` porte la meme valeur, mais son ROLE declare
     est « survol de navigation, separateurs ». S'en servir pour les
     bandeaux lierait deux usages qui n'ont aucune raison d'evoluer
     ensemble -- changer la couleur de survol repeindrait tous les
     bandeaux. Un jeton par intention. */
  --ork-entete-bloc-fond:  #e6e6e6;
  --ork-entete-bloc-texte: #333333;
  --ork-entete-bloc-filet: #d2d2d2;
  --ork-h-bandeau:     60px;      /* bandeau du haut */
  --ork-rail-largeur:  285px;     /* rail deploye */
  --ork-rail-plie:     76px;      /* rail replie */

  /* ── ESPACEMENTS ───────────────────────────────────────────────────────── */
  /* CANON OFFICIEL (Leck, 26/07/2026) : 8 px sur TOUT le perimetre des
     ecrans -- haut, bas, gauche, droite ET entre les blocs. Une seule
     valeur commande les cinq. Elle valait 5 px ici alors que
     theme-ssa.css en utilisait 8 : les deux referentiels divergeaient
     en silence, et c'est theme-ssa qui gagnait. */
  --ork-gouttiere:      8px;
  --ork-espace-boutons: 5px;      /* entre deux boutons d'une meme barre */

  /* ── TYPOGRAPHIE ───────────────────────────────────────────────────────── */
  --ork-police:        "Segoe UI", system-ui, -apple-system, sans-serif;
  /* 12 px, et c'est la VRAIE valeur de l'ecran. Ce jeton disait 13 px alors
     que `theme-ssa.css` ecrivait `font-size: 12px` EN DUR sur le corps de la
     page : le jeton etait mort -- on pouvait le changer sans que rien ne
     bouge. C'est le pire etat possible pour un jeton, car il fait croire a une
     commande qui n'en est pas une. theme-ssa.css lit desormais ce jeton, et la
     valeur qui y figure est celle que Leck a validee : 12 px, la cle de la
     densite « console » du canon SSA. */
  --ork-taille-base:   12px;
  --ork-taille-btn:    12px;
  --ork-graisse-btn:   700;

  /* ── TABLEAUX : densite forte « console » (regle 6 du canon SSA) ────────── */
  /* La densite est LA signature d'une grille SSA : ~26 px par ligne, la ou une
     grille Bootstrap en fait ~40. Declaree ICI, elle se regle en UN point pour
     toutes les pages — au lieu d'etre le RESULTAT d'un padding plus une taille
     de police eparpilles dans le theme, qui derivait des qu'un des deux bougeait
     (meme piege que la hauteur des boutons, cf. --ork-h-btn). */
  --ork-h-ligne-tableau:       26px;   /* hauteur d'UNE ligne (th comme td) */
  --ork-taille-tableau:        12px;   /* texte des cellules du corps */
  --ork-taille-entete-tableau: 11px;   /* texte des en-tetes (th) — un cran plus petit */
  /* PAS de `--ork-h-toolbar` ici, et c'est VOLONTAIRE (26/07/2026).
     Il valait 38 px pendant que `--ork-h-entete-bloc` valait 40 px : deux
     jetons pour UN SEUL objet -- le bandeau gris qui ouvre un bloc. La barre
     d'outils d'un tableau EST un bandeau d'en-tete de bloc (canon 3), elle
     n'a aucune raison d'avoir sa propre hauteur. Resultat mesure a l'ecran :
     39 px sur 23 pages au lieu de 40.
     C'est la RECIDIVE EXACTE du piege `--ork-gouttiere` 5 px contre
     `--ssa-gouttiere` 8 px : deux referentiels pour une meme intention
     divergent toujours, et en silence. UN SEUL JETON PAR INTENTION.
     `commun/tableaux.css` lit desormais `--ork-h-entete-bloc`. */

  /* ── TAGS D'ETAT : le FOND ARRONDI colore des valeurs de liste ──────────── */
  /* A QUOI CA SERT : une colonne qui ne porte qu'un CHOIX FERME (Sexe, Mention,
     Statut...) se lit mieux avec une petite etiquette a fond colore, facon
     SharePoint, qu'avec du texte brut. Ces jetons sont la PALETTE de ces
     etiquettes ; le dessin (forme, taille) vit dans `commun/etats-tags.css`.
     REGLE DE LECTURE : chaque famille = un FOND doux (pastel) + un TEXTE fonce
     assorti, choisi pour rester lisible sur ce fond (contraste >= 4,5).
     Le fond dit la COULEUR, le texte porte le SENS. */
  --ork-tag-rayon:            8px;      /* « legerement arrondi » : ni carre, ni pilule pleine */

  /* Sexe : deux teintes DOUCES et neutres (surtout pas rouge = « erreur ») */
  --ork-tag-rose-fond:        #fbe7f2;  /* Fille  : fond rose pale */
  --ork-tag-rose-texte:       #b03a76;  /* Fille  : texte magenta fonce */
  --ork-tag-bleu-fond:        #dbeafe;  /* Garcon : fond bleu pale */
  --ork-tag-bleu-texte:       #1d4ed8;  /* Garcon : texte bleu fonce */

  /* Mention : un DEGRADE lisible du VERT (haut) au ROUGE (bas), 6 crans */
  --ork-tag-vertfonce-fond:   #cdeccf;  /* Excellent   : vert profond */
  --ork-tag-vertfonce-texte:  #0b6a1e;
  --ork-tag-vert-fond:        #dff6dd;  /* Tres Bien / Actif : vert */
  --ork-tag-vert-texte:       #0f7a12;
  --ork-tag-lime-fond:        #e7f2cf;  /* Bien        : vert-tilleul */
  --ork-tag-lime-texte:       #5a7710;
  --ork-tag-ambre-fond:       #fdf1c9;  /* Assez Bien  : ambre */
  --ork-tag-ambre-texte:      #8a6a00;
  --ork-tag-orange-fond:      #fde3cf;  /* Passable    : orange */
  --ork-tag-orange-texte:     #9a4d16;
  --ork-tag-rouge-fond:       #fbe0e2;  /* Insuffisant : rouge */
  --ork-tag-rouge-texte:      #a4262c;

  /* Neutre : pour les valeurs « sans couleur » (Archive, inconnu...) */
  --ork-tag-gris-fond:        #eeeeee;
  --ork-tag-gris-texte:       #5f5f5f;


  /* ── TUILES KPI : la PASTILLE D'ICONE des cartes de comptage ────────────
     A QUOI CA SERT : les cartes du haut d'ecran (« 312 Eleves », « 8 Alertes »)
     portent un petit carre colore avec une icone dedans. Ces couleurs etaient
     RECOPIEES A LA MAIN dans 254 attributs `style="background:#...;color:#..."`
     repartis sur 24 pages -- toujours les MEMES 5 duos. Une couleur ecrite la
     est invisible depuis ce fichier : le jour ou la charte bouge, elle reste.
     Le dessin des tuiles vit dans `commun/tuiles.css`.

     POURQUOI DES JETONS DEDIES alors que `--ork-tag-bleu-fond` porte deja
     exactement #dbeafe : ce sont DEUX INTENTIONS differentes. Un tag d'etat
     dit « ce dossier est Actif » ; une pastille de tuile dit « voici la
     famille de ce compteur ». Les lier ferait qu'en repeignant les tags on
     repeindrait les tableaux de bord. Meme raisonnement que
     --ork-gris-moyen contre --ork-entete-bloc-fond, plus haut : UN JETON PAR
     INTENTION, meme si la valeur est identique aujourd'hui. */
  --ork-tuile-vert-fond:      #dcfce7;   /* reussite, effectifs, presence */
  --ork-tuile-vert-texte:     #15803d;
  --ork-tuile-bleu-fond:      #dbeafe;   /* information, volumes, comptages */
  --ork-tuile-bleu-texte:     #1d4ed8;
  --ork-tuile-ambre-fond:     #fff3cd;   /* en attente, rappel, echeance */
  --ork-tuile-ambre-texte:    #D4860A;
  --ork-tuile-rouge-fond:     #fee2e2;   /* alerte, retard, impaye */
  --ork-tuile-rouge-texte:    #dc2626;
  --ork-tuile-violet-fond:    #e9d5ff;   /* categorie a part (RH, achats) */
  --ork-tuile-violet-texte:   #7c3aed;


  /* ── COULEURS DE MARQUE (heritees, anterieures au theme SSA) ────────────
     Ces deux teintes sont l'identite historique d'Orkestror : le marine du
     logo et l'or du sigle. Le theme SSA ne les utilise plus a l'ecran (il n'a
     qu'un accent, le bleu), mais elles restent la SOURCE des variables
     heritees du pont ci-dessous et du favicon. Les nommer ici les rend
     visibles et modifiables en un point -- au lieu d'etre recopiees dans
     56 pages sous forme d'URL encodee (`%230A4A7A`), ou aucun controle ne
     les voyait. */
  --ork-marine:        #0A4A7A;   /* marine du logo Orkestror */
  --ork-or:            #D4860A;   /* or du sigle « Orke »stror */


  /* ══════════════════════════════════════════════════════════════════════
     AJOUTS DU 26/07/2026 — LES 273 DERNIERES COULEURS DES PAGES
     ══════════════════════════════════════════════════════════════════════
     D'OU VIENNENT CES JETONS : d'une passe qui a vide les blocs `<style>`
     de `dashboard`, `emploi-du-temps`, `comptabilite` et `bulletin` de
     leurs couleurs ecrites en dur. Chaque valeur ci-dessous est EXACTEMENT
     celle qui etait a l'ecran avant la passe -- on a DEPLACE des couleurs,
     on n'en a re-decide aucune. C'est ce qui permet de verifier le travail
     au pixel : la capture d'avant et celle d'apres doivent etre identiques.

     REGLE APPLIQUEE POUR NE PAS SE RETROUVER AVEC 40 GRIS : une teinte qui
     tombait a moins de ~5/255 d'un gris deja present dans la charte n'a PAS
     eu son jeton -- elle consomme le jeton existant (les bordures #eef1f5 /
     #f0f2f5 / #eef2f6 des tuiles du tableau de bord sont ainsi passees sur
     `--ork-gris-clair`, sans difference visible sur un filet de 1 px).
     Ce qui suit, ce sont donc les teintes qui n'avaient VRAIMENT pas
     d'equivalent : deux palettes CATEGORIELLES (elles encodent une donnee,
     pas une decoration), la grille du calendrier, et quelques roles precis.
     ══════════════════════════════════════════════════════════════════════ */


  /* ── BANDE KPI ANALYTIQUE DU TABLEAU DE BORD ────────────────────────────
     DE QUOI ON PARLE : les 5 grands panneaux SOMBRES en haut du tableau de
     bord (Scolarite, Recouvrement, Workflow, Personnel, Alertes). Chacun a
     un FOND fonce et une couleur d'ANNEAU claire assortie -- c'est ce duo,
     et lui seul, qui distingue une famille d'indicateurs de la suivante.

     POURQUOI CES COULEURS SORTENT DU CANON « UN SEUL ACCENT, LE BLEU » :
     c'est un ECART ASSUME, demande par Leck le 24/07/2026 (« remettre les
     couleurs sur les KPI pour voir ce que ca donne »). Le texte est BLANC
     sur des fonds volontairement FONCES, donc le contraste tient. La
     coloration reste circonscrite a UN ecran.

     >>> POINT A CONNAITRE AVANT DE CHANGER UNE VALEUR <<<
     `theme-ssa.css` (section 32) declare AUSSI ces couleurs, en dur, sur
     `.dashboard-kpi-panel`. C'est un fichier hors du perimetre de cette
     passe. Pour que CES jetons-ci commandent vraiment l'ecran, la page
     `dashboard.html` les repose avec un selecteur PLUS SPECIFIQUE
     (`.dashboard-kpi-strip .dashboard-kpi-panel`) : la specificite tranche
     avant l'ordre de chargement, donc c'est bien la valeur d'ici qui gagne.
     Preuve a faire en 10 secondes : mettre `--ork-kpi-fond` en rouge vif,
     le 1er panneau doit virer au rouge. Le jour ou la section 32 de
     theme-ssa.css sera nettoyee, ce detour disparaitra. */
  --ork-kpi-fond:             #174f7f;  /* panneau par defaut — bleu profond */
  --ork-kpi-anneau:           #14a8db;
  --ork-kpi-fond-alt:         #141052;  /* panneau pair — bleu nuit (alternance) */
  --ork-kpi-anneau-alt:       #10a9d7;
  --ork-kpi-fond-succes:      #145c58;  /* recouvrement — vert profond */
  --ork-kpi-anneau-succes:    #48d0bd;
  --ork-kpi-fond-vigilance:   #594512;  /* ressources humaines — brun */
  --ork-kpi-anneau-vigilance: #f2b84b;
  --ork-kpi-fond-risque:      #64263a;  /* exceptions & risques — bordeaux */
  --ork-kpi-anneau-risque:    #ef6c87;


  /* ── CE QU'ON POSE SUR UN FOND SOMBRE ───────────────────────────────────
     A QUOI CA SERT : sur un panneau fonce (la bande KPI ci-dessus, un
     bandeau ardoise...), on n'ecrit pas en gris — on ecrit en BLANC PLUS OU
     MOINS TRANSPARENT. L'interet du blanc translucide sur une couleur en
     dur : il laisse passer la teinte du fond, donc UNE seule valeur marche
     sur les cinq panneaux, quelle que soit leur couleur.
     Ces cinq niveaux remplacent 12 `rgba(255,255,255,.xx)` recopies a la
     main, ou chaque page avait invente son propre taux. */
  --ork-sur-sombre-texte:        rgba(255, 255, 255, .86); /* texte secondaire */
  --ork-sur-sombre-texte-faible: rgba(255, 255, 255, .66); /* texte tertiaire (pied de carte) */
  --ork-sur-sombre-piste:        rgba(255, 255, 255, .18); /* portion VIDE d'une jauge, contour de pastille */
  --ork-sur-sombre-filet:        rgba(255, 255, 255, .14); /* trait de separation */
  --ork-sur-sombre-fond:         rgba(255, 255, 255, .13); /* fond d'une pastille posee sur le panneau */
  --ork-sur-sombre-voile:        rgba(255, 255, 255, .08); /* survol, ornement de fond */


  /* ── SERIES D'UN GRAPHIQUE ──────────────────────────────────────────────
     A QUOI CA SERT : quand un camembert ou un histogramme a plusieurs parts,
     il faut les distinguer SANS ajouter de couleur de marque. La reponse du
     canon SSA : l'accent bleu, ses declinaisons, puis des gris. L'ORDRE
     compte — c'est l'ordre de passage des series, la 1re est la plus visible.
     Ces cinq valeurs etaient recopiees dans le JavaScript de dashboard.html ;
     une couleur ecrite dans un tableau JS est invisible depuis ce fichier. */
  --ork-serie-1: var(--ork-bleu);     /* accent plein */
  --ork-serie-2: #007dba;             /* bleu soutenu */
  --ork-serie-3: #66c2e8;             /* bleu clair */
  --ork-serie-4: #999999;             /* gris moyen */
  --ork-serie-5: var(--ork-bordure);  /* gris clair */
  /* Aplat sous une courbe : l'accent, quasi transparent. */
  --ork-bleu-voile: rgba(0, 150, 214, .10);


  /* ── GRILLE TEMPORELLE (le calendrier de l'emploi du temps) ─────────────
     DE QUOI ON PARLE : la grille facon Outlook de `emploi-du-temps.html` —
     colonnes de jours, traits d'heure, bandes de pause, vue Mois.

     POURQUOI UNE FAMILLE A ELLE, ET PAS LES GRIS DE LA CHARTE : cette
     grille a ete reglee a l'oeil par Leck le 26/07/2026, trait par trait
     (« il y a trop de traits horizontaux »). Sa palette est legerement
     BLEUTEE, la charte est neutre. Fondre l'une dans l'autre deplacerait un
     rendu deja valide — ce n'est pas une correction technique, c'est une
     decision visuelle : elle attend l'accord de Leck. Les valeurs sont donc
     reprises telles quelles ; ce qui change, c'est qu'elles sont desormais
     REGLABLES ICI au lieu d'etre eparpillees dans un bloc <style>.

     LES TROIS PREMIERS SE LISENT COMME UNE HIERARCHIE : l'heure d'abord,
     la demie ensuite, le quart en dernier. Ne pas les egaliser : c'est
     exactement ce qui rendait la grille illisible avant correction. */
  --ork-cal-filet:        #e6ebf1;  /* trait de l'HEURE, bordures de colonnes et de cases, en-tete de week-end */
  --ork-cal-filet-demie:  #eef2f7;  /* trait de la DEMIE, fond de l'en-tete des jours, bloc « +N autres » */
  --ork-cal-filet-quart:  #e9eef4;  /* pointille du QUART d'heure, 2e teinte des hachures de pause */
  --ork-cal-hachure:      #f1f5f9;  /* 1re teinte des hachures des bandes de pause */
  --ork-cal-fond-attenue: #f7f9fb;  /* colonnes de week-end, cases hors du mois affiche */
  --ork-cal-fond-jour:    #fbfdff;  /* colonne du jour courant — teinte tres legere */
  --ork-cal-entete-jour:  #e4f0fb;  /* en-tete du jour courant — plus marque que la colonne */
  --ork-cal-texte:        #334155;  /* nom du jour, numero d'une case du mois */
  --ork-cal-texte-doux:   #475569;  /* bloc « +N autres » */
  --ork-cal-texte-faible: #94a3b8;  /* graduation des heures, libelle d'une pause */
  --ork-cal-texte-efface: #b6c0cc;  /* numero d'une case HORS du mois affiche */
  --ork-cal-maintenant:   #e11d48;  /* trait de l'heure courante — un SIGNAL, jamais une decoration */


  /* ── PALETTE DES MATIERES (cours de l'emploi du temps) ──────────────────
     A QUOI CA SERT : distinguer les matieres D'UN COUP D'OEIL sur la grille
     et dans la legende. C'est une palette CATEGORIELLE : la couleur ENCODE
     une donnee (la matiere), elle ne decore pas. C'est pour cela qu'elle a
     le droit d'avoir 9 teintes la ou le canon n'a qu'un accent.

     CHAQUE ENTREE EST UN DUO : un fond PASTEL + un texte FONCE assorti
     (contraste >= 4,5) qui sert aussi de lisere gauche a la carte de cours.
     Meme grammaire que les tags d'etat, plus haut.

     POURQUOI UNE FAMILLE SEPAREE ALORS QUE 3 DUOS ONT LA MEME VALEUR QUE
     `--ork-tuile-*` : ce sont deux intentions differentes. Une pastille de
     tuile dit « famille de ce compteur » ; une carte de cours dit « c'est
     un cours de maths ». Les lier ferait qu'en repeignant les tableaux de
     bord on repeindrait les emplois du temps. UN JETON PAR INTENTION —
     meme raisonnement que --ork-tag-* contre --ork-tuile-*.

     LE NOM DIT LA TEINTE, LE COMMENTAIRE DIT LA MATIERE : on ne peut pas
     nommer ces jetons « --ork-matiere-maths », sinon une ecole qui n'a pas
     de maths se retrouve avec un jeton orphelin. La correspondance
     matiere -> teinte vit dans le JS de la page, elle est propre a l'ecole. */
  --ork-matiere-bleu-fond:      #dbeafe;  --ork-matiere-bleu-texte:      #1d4ed8;  /* Mathematiques */
  --ork-matiere-ambre-fond:     #fef3c7;  --ork-matiere-ambre-texte:     #b45309;  /* Francais */
  --ork-matiere-violet-fond:    #ede9fe;  --ork-matiere-violet-texte:    #6d28d9;  /* Anglais */
  --ork-matiere-vert-fond:      #dcfce7;  --ork-matiere-vert-texte:      #15803d;  /* SVT */
  --ork-matiere-sarcelle-fond:  #ccfbf1;  --ork-matiere-sarcelle-texte:  #0f766e;  /* Histoire-Geographie */
  --ork-matiere-rouge-fond:     #fee2e2;  --ork-matiere-rouge-texte:     #dc2626;  /* EPS */
  --ork-matiere-indigo-fond:    #e0e7ff;  --ork-matiere-indigo-texte:    #4338ca;  /* Physique-Chimie */
  --ork-matiere-magenta-fond:   #fae8ff;  --ork-matiere-magenta-texte:   #a21caf;  /* Arts plastiques, Education musicale */
  --ork-matiere-neutre-fond:    #f1f5f9;  --ork-matiere-neutre-texte:    #475569;  /* matiere sans couleur attribuee */


  /* ── ETATS FINANCIERS (compte de resultat, bilan) ───────────────────────
     A QUOI CA SERT : un etat comptable n'est PAS une grille de donnees. Il
     se lit par blocs — une ligne de SECTION (« PRODUITS D'EXPLOITATION »),
     des lignes de detail, une ligne de TOTAL. Ces deux fonds sont ce qui
     rend cette structure lisible ; le canon `commun/tableaux.css`, lui, ne
     connait que des lignes toutes egales.
     Le TOTAL est plus CLAIR que la SECTION, et c'est voulu : la section
     ouvre un bloc (elle pese), le total le referme (il conclut). */
  --ork-etat-section-fond: #eef3f8;  /* ligne de SECTION d'un etat financier */
  --ork-etat-total-fond:   #f8fafc;  /* ligne de TOTAL et de sous-section */

  /* ── SENS D'UN MONTANT ──────────────────────────────────────────────────
     POURQUOI PAS `--ork-ok` / `--ork-erreur` : ce sont des couleurs de
     PASTILLE, pensees pour un aplat. Ecrites en TEXTE sur du blanc,
     --ork-ok (#42a425) ne donne que 3,1 de contraste — sous le seuil AA de
     4,5. Ces deux-ci passent (5,0 et 4,6) et disent la meme chose. */
  --ork-valeur-positive: #15803d;  /* resultat benefique, solde crediteur */
  --ork-valeur-negative: #dc2626;  /* perte, solde debiteur */
  /* Grand livre : les deux colonnes n'ont PAS le meme sens, elles n'ont donc
     pas la meme couleur. Ni vert ni rouge : un debit n'est pas une erreur. */
  --ork-debit:  #1d4ed8;
  --ork-credit: #b45309;


  /* ── TEINTES D'OMBRE ────────────────────────────────────────────────────
     On ne declare QUE la couleur, pas la geometrie : la distance et le flou
     d'une ombre sont du calage local (comme les paddings), la TEINTE est une
     decision de charte. Le canon SSA separe par des filets, pas par des
     ombres — ces trois-la ne servent donc que sur les rares elements
     « premium » qui en gardent une (tuiles du tableau de bord, cartes de
     cours du calendrier). */
  --ork-ombre-tuile:       rgba(10, 74, 122, .13);  /* survol d'une tuile / d'une carte */
  --ork-ombre-posee:       rgba(0, 0, 0, .14);      /* element pose sur une grille (carte de cours) */
  --ork-ombre-posee-forte: rgba(0, 0, 0, .20);      /* le meme, au survol */
}

/* ============================================================================
   PONT VERS LE THEME EXISTANT — a ne pas supprimer tant que theme-ssa.css vit
   ----------------------------------------------------------------------------
   `theme-ssa.css` (2 900 lignes deja validees) lit des variables nommees
   `--ssa-*`. Les redefinir ICI a partir des jetons `--ork-*` fait que le theme
   et les nouveaux composants puisent a la MEME source : changer `--ork-bleu`
   ci-dessus repeint les deux d'un coup.
   Sans ce pont, il faudrait maintenir deux jeux de couleurs en parallele — et
   ils divergeraient au premier oubli.
   Ce bloc disparaitra le jour ou tous les composants seront passes en `--ork-*`.

   >>> ORDRE DE CHARGEMENT — LE POINT A NE PAS RATER <<<
   Ce fichier doit etre charge APRES `theme-ssa.css`, dans la page :
       <link rel="stylesheet" href="theme-ssa.css?v=16">
       <link rel="stylesheet" href="commun/tokens.css?v=1">   <-- APRES
   POURQUOI, alors qu'on charge d'habitude le socle en premier : `theme-ssa.css`
   declare lui aussi ses `--ssa-*` dans un `:root`. Deux `:root` ont la MEME
   specificite — c'est donc le DERNIER lu qui gagne. Charge avant, notre pont
   serait ecrase par le theme et ne servirait a rien ; charge apres, c'est lui
   qui alimente le theme. On verifie que le pont fonctionne en changeant
   `--ork-bleu` en rouge : TOUTE l'application doit virer au rouge.
   ============================================================================ */
:root {
  --ssa-bleu:        var(--ork-bleu);
  --ssa-bleu-fond-actif:   var(--ork-bleu-fond-actif);
  --ssa-erreur-fond-actif: var(--ork-erreur-fond-actif);
  --ssa-bleu-texte:  var(--ork-bleu-texte);
  --ssa-bleu-pale:   var(--ork-bleu-pale);
  --ssa-bleu-clair:  var(--ork-bleu-clair);
  --ssa-fond-app:    var(--ork-fond-app);
  --ssa-blanc:       var(--ork-blanc);
  --ssa-gris-clair:  var(--ork-gris-clair);
  --ssa-gris-moyen:  var(--ork-gris-moyen);
  --ssa-gris-pied:   var(--ork-gris-pied);
  --ssa-bordure:     var(--ork-bordure);
  --ssa-texte:       var(--ork-texte);
  --ssa-valeur:      var(--ork-valeur);
  --ssa-label:       var(--ork-label);
  --ssa-faible:      var(--ork-faible);
  --ssa-ok:          var(--ork-ok);
  --ssa-warn:        var(--ork-avertissement);
  --ssa-erreur:      var(--ork-erreur);
  --ssa-rayon:       var(--ork-rayon);
  --ssa-rayon-panneau: var(--ork-rayon-panneau);
  --ssa-h-btn:       var(--ork-h-btn);
  --ssa-h-btn-lg:    var(--ork-h-btn-lg);
  --ssa-h-entete-bloc: var(--ork-h-entete-bloc);
  --ssa-gouttiere:   var(--ork-gouttiere);
  --ssa-entete-bloc-fond:  var(--ork-entete-bloc-fond);
  --ssa-entete-bloc-texte: var(--ork-entete-bloc-texte);
  --ssa-entete-bloc-filet: var(--ork-entete-bloc-filet);
}

/* ============================================================================
   PONT VERS LES VARIABLES « PREMIUM » HERITEES (--navy, --gold, --text...)
   ----------------------------------------------------------------------------
   LE PROBLEME QUE CE BLOC REGLE, mesure le 26/07/2026 : il existait un SECOND
   systeme de variables, parallele a --ork-*, avec des noms qui MENTAIENT.
     * `--navy` (« marine ») valait en realite #333333, un GRIS ;
     * `--gold` (« or »)     valait en realite #0096d6, un BLEU ;
     * `--navy` etait declaree QUATRE fois, dans deux fichiers, a des valeurs
       differentes -- shared.css deux fois, theme-ssa.css deux fois. Seule la
       derniere lue gagnait, et personne ne pouvait dire laquelle sans ouvrir
       les quatre.
   Les blocs `<style>` de `dashboard`, `comptabilite`, `bulletin` et `index`
   consomment EXCLUSIVEMENT ce systeme : zero `var(--ork-*)`. Les supprimer
   casserait ces quatre ecrans.

   LA SOLUTION : les rassembler ICI, en ALIAS purs des jetons --ork-*, et
   retirer les quatre declarations concurrentes. Une seule source, un seul
   endroit ou regarder. Meme mecanique et meme raison d'etre que le pont
   --ssa-* juste au-dessus, et il disparaitra le meme jour : quand les pages
   auront ete passees en `var(--ork-*)`.

   >>> ORDRE DE CHARGEMENT : ce fichier doit etre charge APRES shared.css ET
   APRES theme-ssa.css. C'est deja le cas partout ; `index.html` et
   `login.html` l'ont recu a cette occasion, sans quoi leurs `var(--navy)` et
   `var(--gold)` seraient devenus invalides.
   ============================================================================ */
:root {
  /* Le « marine » qui n'en est pas un : c'est la couleur du TEXTE principal.
     On garde sa valeur reelle (gris fonce) -- la renommer casserait les
     quatre pages qui l'appellent, la repeindre changerait leur rendu. */
  --navy:          var(--ork-texte);
  --navy-2:        var(--ork-blanc);
  /* L'« or » qui n'en est pas un. La valeur d'origine (#D4860A) est disponible
     juste au-dessus sous le nom --ork-or. LE REMETTRE CHANGERAIT L'ECRAN :
     le sigle « Orke » de la page de connexion et du sommaire, le crayon
     « modifier » des tableaux, le lisere actif du rail et l'etape courante des
     fils de progression passeraient du bleu a l'orange. C'est une decision
     visuelle, pas une correction technique : elle attend l'accord de Leck.
     Pour la prendre, il suffit de remplacer --ork-bleu par --ork-or ci-dessous. */
  --gold:          var(--ork-bleu);
  --primary:       var(--ork-bleu);
  --primary-soft:  var(--ork-bleu-pale);
  --lt-bg:         var(--ork-fond-app);
  --surface:       var(--ork-blanc);
  --surface-muted: var(--ork-gris-clair);
  --border:        var(--ork-bordure);
  --text:          var(--ork-texte);
  --muted:         var(--ork-label);
  --success:       var(--ork-ok);
  --warning:       var(--ork-avertissement);
  --danger:        var(--ork-erreur);
  --sidebar-w:     var(--ork-rail-largeur);
  /* `--header-slate` etait le vrai coupable du bandeau ardoise (#486381) :
     shared.css s'en sert dans 10 regles a forte specificite. La reaffecter
     ici les neutralise toutes d'un coup, sans reecrire un seul selecteur. */
  --header-slate:  var(--ork-gris-clair);
}
