/* Consoles : connexion, espace stagiaires, administration, annuaire.
   Toutes les valeurs viennent de jetons.css et de jetons-complements.css (section « Consoles »).
   Outil de travail : dense mais aéré, surfaces pleines ; verre dépoli réservé aux éléments flottants. */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{min-width:var(--largeur-min-page);min-height:100vh;background:var(--couleur-fond);color:var(--couleur-texte);font-family:var(--police-ui);font-size:var(--taille-14);line-height:var(--interligne-normal);-webkit-font-smoothing:antialiased}
a{color:var(--couleur-accent);text-underline-offset:2px}
a:hover{color:var(--couleur-accent-survol)}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
button:disabled{cursor:not-allowed}
:focus-visible{outline:var(--bordure-focus) solid var(--couleur-focus);outline-offset:2px}
[hidden]{display:none !important}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evitement{position:absolute;z-index:100;left:var(--espace-4);top:var(--espace-2);padding:var(--espace-2) var(--espace-4);background:var(--couleur-surface);border-radius:var(--rayon-s);box-shadow:var(--ombre-2);transform:translateY(-200%)}
.evitement:focus{transform:none}
.sans-script{margin:var(--espace-8) auto;max-width:var(--console-largeur-connexion);padding:var(--espace-4);background:var(--couleur-erreur-doux);color:var(--couleur-erreur);border-radius:var(--rayon-m)}
h1,h2,h3{font-weight:var(--graisse-demi);line-height:var(--interligne-serre)}
h1:focus{outline:none}
ul,ol{list-style:none}

/* ---------- Bandeaux ---------- */
.bandeau-simulation{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--espace-1) var(--espace-3);min-height:var(--console-hauteur-bandeau);padding:var(--espace-1) var(--espace-4);background:var(--couleur-avertissement-doux);color:var(--couleur-texte);border-bottom:var(--bordure-fine) solid var(--couleur-avertissement);font-size:var(--taille-13)}
.bandeau-simulation strong{color:var(--couleur-avertissement);text-transform:uppercase;letter-spacing:.06em;font-size:var(--taille-12)}
.bandeau-simulation .lien{font-size:var(--taille-13);min-height:var(--console-hauteur-bandeau)}
.bandeau-hors-ligne{position:sticky;top:0;z-index:71;padding:var(--espace-2) var(--espace-4);background:var(--couleur-erreur-doux);color:var(--couleur-erreur);text-align:center;font-size:var(--taille-13);font-weight:var(--graisse-moyen)}
.demarrage{display:grid;place-items:center;min-height:60vh;color:var(--couleur-texte-3)}

/* ---------- Coque : navigation latérale et contenu ---------- */
.coque{display:grid;grid-template-columns:var(--console-largeur-nav) minmax(0,1fr);min-height:100vh}
.nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--espace-1);padding:var(--espace-5) var(--espace-3) var(--espace-4);background:var(--couleur-surface);border-right:var(--bordure-fine) solid var(--couleur-bordure);overflow-y:auto}
.bandeau-simulation~.coque .nav{height:calc(100vh - var(--console-hauteur-bandeau));top:var(--console-hauteur-bandeau)}
.nav-marque{display:inline-flex;align-self:flex-start;padding:var(--espace-1) var(--espace-2);border-radius:var(--rayon-s)}
.nav-marque img{display:block;height:var(--hauteur-logo-entete);width:auto}
.nav-espace{margin:var(--espace-3) var(--espace-2) var(--espace-4);font-family:var(--police-titre);font-size:var(--taille-18);font-weight:var(--graisse-demi);line-height:var(--interligne-serre)}
.nav-liens{display:grid;gap:var(--marge-etiquette)}
.nav-lien{position:relative;display:flex;align-items:center;min-height:var(--cible-tactile);padding:0 var(--espace-3);border-radius:var(--rayon-s);color:var(--couleur-texte-2);text-decoration:none;font-weight:var(--graisse-moyen)}
.nav-lien:hover{background:var(--couleur-surface-2);color:var(--couleur-texte)}
.nav-lien[aria-current="page"]{background:var(--couleur-accent-doux);color:var(--couleur-accent);font-weight:var(--graisse-demi)}
.nav-lien[aria-current="page"]::before{content:"";position:absolute;left:0;top:var(--espace-2);bottom:var(--espace-2);width:var(--bordure-focus);border-radius:var(--rayon-plein);background:var(--couleur-accent)}
.nav-pied{margin-top:auto;padding:var(--espace-4) var(--espace-2) 0;border-top:var(--bordure-fine) solid var(--couleur-bordure);display:grid;gap:var(--marge-etiquette)}
.nav-nom{font-weight:var(--graisse-demi);overflow-wrap:anywhere}
.nav-role{font-size:var(--taille-12);color:var(--couleur-texte-3);overflow-wrap:anywhere;margin-bottom:var(--espace-2)}
.nav-pied .nav-lien{margin:0 calc(var(--espace-2) * -1)}
.nav-deconnexion{justify-self:start}
.tete-mobile,.onglets-bas{display:none}
.contenu-principal{min-width:0;width:100%;max-width:var(--console-largeur-contenu);padding:var(--espace-8) var(--espace-8) var(--espace-16);outline:none}

/* ---------- En-tête de vue ---------- */
.vue-tete{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--espace-4);margin-bottom:var(--espace-6)}
.vue-titres{min-width:0}
.vue-tete h1{font-family:var(--police-titre);font-size:var(--taille-28);letter-spacing:-.005em}
.vue-sous-titre{margin-top:var(--espace-1);color:var(--couleur-texte-2)}
.vue-actions{display:flex;flex-wrap:wrap;gap:var(--espace-2)}
.lien-retour{display:inline-flex;align-items:center;gap:var(--espace-1);min-height:var(--cible-tactile);margin:calc(var(--espace-4) * -1) 0 var(--espace-1) calc(var(--espace-2) * -1);padding:0 var(--espace-2);border-radius:var(--rayon-s);font-size:var(--taille-13);font-weight:var(--graisse-moyen);text-decoration:none}
.lien-retour:hover{background:var(--couleur-accent-doux)}
.icone{display:inline-grid;place-items:center;flex:none}
.icone svg{width:var(--taille-icone-controle);height:var(--taille-icone-controle)}
.lien-retour .icone svg{width:var(--taille-icone);height:var(--taille-icone)}

/* ---------- Boutons ---------- */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:var(--espace-2);min-height:var(--cible-tactile);padding:0 var(--espace-5);border-radius:var(--rayon-plein);font-size:var(--taille-14);font-weight:var(--graisse-demi);line-height:var(--interligne-serre);text-decoration:none;text-align:center;border:var(--bordure-fine) solid var(--couleur-bordure-forte);background:var(--couleur-surface);color:var(--couleur-texte);transition:background var(--duree-rapide),border-color var(--duree-rapide),box-shadow var(--duree-rapide)}
.bouton:hover{border-color:var(--couleur-texte-3);color:var(--couleur-texte)}
.bouton.principal{background:var(--couleur-accent);border-color:var(--couleur-accent);color:var(--couleur-sur-accent)}
.bouton.principal:hover{background:var(--couleur-accent-survol);border-color:var(--couleur-accent-survol);color:var(--couleur-sur-accent)}
.bouton.principal:active{background:var(--couleur-accent-actif)}
.bouton.secondaire{background:var(--couleur-surface)}
.bouton.danger{background:var(--couleur-erreur);border-color:var(--couleur-erreur);color:var(--couleur-surface)}
.bouton.petit{min-height:var(--hauteur-lien);padding:0 var(--espace-3);font-size:var(--taille-13)}
.bouton.large{width:100%}
.bouton:disabled{opacity:.55}
.bouton.lien,.lien{display:inline-flex;align-items:center;min-height:var(--cible-tactile);padding:0 var(--espace-1);border:0;background:none;border-radius:var(--rayon-xs);color:var(--couleur-accent);font-weight:var(--graisse-moyen);text-decoration:underline;text-underline-offset:2px}
.bouton.lien:hover,.lien:hover{color:var(--couleur-accent-survol);background:none}
.lien.petit,.bouton.lien.petit{font-size:var(--taille-13);min-height:var(--hauteur-lien)}
.lien.danger,.bouton.lien.danger{color:var(--couleur-erreur)}
.lien.discret{color:var(--couleur-texte-3);font-weight:var(--graisse-normal);font-size:var(--taille-12)}
.bouton-icone{display:inline-grid;place-items:center;width:var(--cible-tactile);height:var(--cible-tactile);border-radius:var(--rayon-plein);color:var(--couleur-texte-2)}
.bouton-icone:hover{background:var(--couleur-surface-2);color:var(--couleur-texte)}
.bouton.principal.attention{box-shadow:0 0 0 var(--bordure-focus) var(--couleur-accent-doux)}

/* ---------- Champs ---------- */
.champ{display:flex;flex-direction:column;gap:var(--espace-1);min-width:0}
.champ>label,.champ>.libelle,.champ-case label{font-size:var(--taille-13);font-weight:var(--graisse-demi);color:var(--couleur-texte)}
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],input[type="search"],input[type="date"],select,textarea{width:100%;min-height:var(--cible-tactile);padding:var(--espace-2) var(--espace-3);background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure-forte);border-radius:var(--rayon-s);font-size:var(--taille-14);line-height:var(--interligne-normal);color:var(--couleur-texte);transition:border-color var(--duree-rapide),box-shadow var(--duree-rapide)}
textarea{resize:vertical}
select{appearance:auto}
input::placeholder,textarea::placeholder{color:var(--couleur-texte-3)}
input:hover,select:hover,textarea:hover{border-color:var(--couleur-texte-3)}
input:focus-visible,select:focus-visible,textarea:focus-visible,.editeur-zone:focus-visible{outline:none;border-color:var(--couleur-accent);box-shadow:0 0 0 var(--bordure-focus) var(--couleur-accent-doux)}
input[readonly],select:disabled{background:var(--couleur-surface-2);color:var(--couleur-texte-2)}
[aria-invalid="true"]{border-color:var(--couleur-erreur) !important}
[aria-invalid="true"]:focus-visible{box-shadow:0 0 0 var(--bordure-focus) var(--couleur-erreur-doux) !important}
input[type="checkbox"],input[type="radio"]{width:var(--taille-icone);height:var(--taille-icone);accent-color:var(--couleur-accent);flex:none}
.champ-erreur{display:flex;gap:var(--espace-1);font-size:var(--taille-12);font-weight:var(--graisse-moyen);color:var(--couleur-erreur)}
.champ-erreur::before{content:"!";display:inline-grid;place-items:center;flex:none;width:var(--taille-14);height:var(--taille-14);border-radius:var(--rayon-plein);background:var(--couleur-erreur);color:var(--couleur-surface);font-size:var(--taille-11);font-weight:var(--graisse-gras)}
.champ-aide{font-size:var(--taille-12);color:var(--couleur-texte-3)}
.champ-resolu{font-size:var(--taille-12);color:var(--couleur-texte-2)}
.champ-case{display:flex;flex-direction:row;align-items:center;gap:var(--espace-2);min-height:var(--cible-tactile)}
.champ-case label{font-weight:var(--graisse-moyen)}
.champ-suffixe{display:flex;align-items:center;gap:var(--espace-2)}
.champ-suffixe span{color:var(--couleur-texte-2);font-size:var(--taille-13);white-space:nowrap}
.marque-requis{display:inline-block;width:var(--taille-pastille-puce);height:var(--taille-pastille-puce);margin-left:var(--espace-2);border-radius:var(--rayon-plein);border:var(--bordure-epaisse) solid var(--couleur-accent);vertical-align:middle}
.legende-requis{display:flex;align-items:center;gap:var(--espace-2);font-size:var(--taille-12);color:var(--couleur-texte-3);margin-bottom:var(--espace-3)}
.legende-requis .marque-requis{margin-left:0}
.grille-champs{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--console-largeur-min-colonne),1fr));gap:var(--espace-4) var(--espace-5)}
.grille-champs .plein{grid-column:1/-1}
.champ.court select,.champ.court input{max-width:var(--console-largeur-champ-court)}
.formulaire-compact,.formulaire-dialogue{display:grid;gap:var(--espace-4)}
.formulaire-compact .bouton[type="submit"]{justify-self:start}
.mot-de-passe{position:relative;display:flex}
.mot-de-passe input{padding-right:calc(var(--espace-16) + var(--espace-4))}
.bouton-afficher{position:absolute;right:var(--marge-etiquette);top:var(--marge-etiquette);bottom:var(--marge-etiquette);padding:0 var(--espace-3);border-radius:var(--rayon-xs);font-size:var(--taille-12);font-weight:var(--graisse-demi);color:var(--couleur-accent)}
.bouton-afficher:hover{background:var(--couleur-accent-doux)}

/* ---------- Surfaces ---------- */
.panneau-blanc{background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-l);padding:var(--espace-5) var(--espace-6)}
.panneau-blanc.etroit{max-width:var(--console-largeur-formulaire)}
.pile{display:grid;gap:var(--espace-5);align-content:start}
.titre-section{display:flex;align-items:center;gap:var(--espace-2);font-size:var(--taille-16);font-weight:var(--graisse-demi);margin-bottom:var(--espace-4)}
.compte{display:inline-grid;place-items:center;min-width:var(--espace-6);height:var(--espace-5);padding:0 var(--espace-2);border-radius:var(--rayon-plein);background:var(--couleur-surface-2);color:var(--couleur-texte-2);font-size:var(--taille-12);font-weight:var(--graisse-demi);font-variant-numeric:tabular-nums}
.compte.alerte{background:var(--couleur-erreur-doux);color:var(--couleur-erreur)}
.section-tete{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--espace-3)}
.section-tete .titre-section{margin-bottom:var(--espace-3)}
.texte-discret{color:var(--couleur-texte-3);font-size:var(--taille-13)}
.compte-resultats{font-size:var(--taille-13);color:var(--couleur-texte-2);margin-bottom:var(--espace-3)}

/* Compteurs en ruban : un seul bloc, séparateurs verticaux */
.ruban{display:flex;align-items:center;flex-wrap:wrap;gap:var(--espace-3) var(--espace-8);margin-bottom:var(--espace-5);padding:var(--espace-4) var(--espace-6);background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-l)}
.ruban-titre{font-size:var(--taille-12);font-weight:var(--graisse-demi);letter-spacing:.06em;text-transform:uppercase;color:var(--couleur-texte-2);min-width:var(--largeur-min-onglet)}
.ruban-chiffres{display:flex;flex-wrap:wrap;flex:1;gap:var(--espace-3) 0}
.ruban-chiffre{display:flex;flex-direction:column-reverse;padding:0 var(--espace-6);border-left:var(--bordure-fine) solid var(--couleur-bordure)}
.ruban-chiffre dt{font-size:var(--taille-12);color:var(--couleur-texte-2)}
.ruban-chiffre dd{font-family:var(--police-titre);font-size:var(--taille-28);font-weight:var(--graisse-demi);line-height:var(--interligne-serre);font-variant-numeric:tabular-nums}

.grille-tableau{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--largeur-panneau));gap:var(--espace-5);align-items:start}

/* ---------- Jauges et pastilles d'état ---------- */
.jauge{position:relative;display:block;width:100%;height:var(--console-hauteur-jauge);border-radius:var(--rayon-plein);background:var(--couleur-surface-2);overflow:hidden;box-shadow:inset 0 0 0 var(--bordure-fine) var(--couleur-bordure)}
.jauge.fine{height:var(--console-hauteur-jauge-fine)}
.jauge-remplie{display:block;height:100%;border-radius:var(--rayon-plein);background:var(--couleur-accent);transition:width var(--duree-normale) var(--courbe)}
.jauge.faible .jauge-remplie{background:var(--couleur-avertissement)}
.jauge.pleine .jauge-remplie{background:var(--couleur-succes)}
.statut-pastille{display:inline-flex;align-items:center;padding:var(--marge-etiquette) var(--espace-2);border-radius:var(--rayon-plein);font-size:var(--taille-12);font-weight:var(--graisse-demi);white-space:nowrap}
.statut-pastille.succes{background:var(--couleur-succes-doux);color:var(--couleur-succes)}
.statut-pastille.avertissement{background:var(--couleur-avertissement-doux);color:var(--couleur-avertissement)}
.statut-pastille.info{background:var(--couleur-accent-doux);color:var(--couleur-accent)}
.statut-pastille.neutre{background:var(--couleur-surface-2);color:var(--couleur-texte-2)}
.badge-retard{display:inline-flex;align-items:center;margin-left:var(--espace-2);padding:var(--marge-etiquette) var(--espace-2);border-radius:var(--rayon-plein);background:var(--couleur-erreur-doux);color:var(--couleur-erreur);font-size:var(--taille-12);font-weight:var(--graisse-demi)}
.pastille-parti{display:inline-block;flex:none;width:var(--taille-pastille-infobulle);height:var(--taille-pastille-infobulle);border-radius:var(--rayon-pastille-petite);border:var(--bordure-fine) solid var(--pastille-bordure)}
.pastille-parti.hachure{background:repeating-linear-gradient(135deg,var(--carte-hachure) 0 var(--hachure-trait),var(--couleur-surface) var(--hachure-trait) var(--hachure-pas))}
.parti-cellule{display:inline-flex;align-items:center;gap:var(--espace-2);font-weight:var(--graisse-moyen);font-size:var(--taille-13)}

/* ---------- Listes de fiches et de tâches ---------- */
.filtre-liste input{min-height:var(--hauteur-recherche);width:var(--largeur-recherche);max-width:100%}
.liste-fiches{display:grid}
.ligne-fiche+.ligne-fiche{border-top:var(--bordure-fine) solid var(--couleur-bordure)}
.ligne-fiche-lien{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--console-largeur-champ-court)) auto;align-items:center;gap:var(--espace-5);padding:var(--espace-3) var(--espace-3);margin:0 calc(var(--espace-3) * -1);border-radius:var(--rayon-m);color:inherit;text-decoration:none;min-height:calc(var(--cible-tactile) + var(--espace-4))}
.ligne-fiche-lien:hover{background:var(--couleur-surface-2)}
.ligne-fiche-qui{display:flex;flex-direction:column;min-width:0}
.ligne-fiche-nom{font-weight:var(--graisse-demi);line-height:var(--interligne-serre)}
.ligne-fiche-sous{font-size:var(--taille-12);color:var(--couleur-texte-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ligne-fiche-renvoi{margin-top:var(--espace-1);font-size:var(--taille-12);color:var(--couleur-texte);background:var(--couleur-avertissement-doux);padding:var(--marge-etiquette) var(--espace-2);border-radius:var(--rayon-xs);justify-self:start}
.ligne-fiche-renvoi strong{color:var(--couleur-avertissement)}
.ligne-fiche.renvoyee .ligne-fiche-lien{box-shadow:inset var(--bordure-focus) 0 0 var(--couleur-avertissement)}
.ligne-fiche-etat{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--espace-1) var(--espace-2)}
.ligne-fiche-pourcent{font-size:var(--taille-13);font-weight:var(--graisse-demi);font-variant-numeric:tabular-nums}
.ligne-fiche-manquants{grid-column:1/-1;font-size:var(--taille-12);color:var(--couleur-texte-3)}
.ligne-fiche-action{font-size:var(--taille-13);font-weight:var(--graisse-demi);color:var(--couleur-accent);padding:0 var(--espace-2)}
.ligne-fiche-lien:hover .ligne-fiche-action{text-decoration:underline}
.lignes-vide{padding:var(--espace-4) 0;color:var(--couleur-texte-3);font-size:var(--taille-13)}

.liste-taches{display:grid}
.liste-taches.admin{background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-l);padding:var(--espace-1) var(--espace-6)}
.tache{display:grid;gap:var(--espace-2);padding:var(--espace-4) 0}
.tache+.tache{border-top:var(--bordure-fine) solid var(--couleur-bordure)}
.tache.en-retard{box-shadow:inset var(--bordure-focus) 0 0 var(--couleur-erreur);padding-left:var(--espace-4);margin-left:calc(var(--espace-4) * -1)}
.tache-tete{display:flex;align-items:center;flex-wrap:wrap;gap:var(--espace-2)}
.tache-type{font-weight:var(--graisse-demi);margin-right:auto}
.tache-qui{font-family:var(--police-titre);font-size:var(--taille-16);font-weight:var(--graisse-demi)}
.tache-description{color:var(--couleur-texte)}
.tache-perimetre,.tache-echeance{font-size:var(--taille-13);color:var(--couleur-texte-2);display:flex;align-items:center;flex-wrap:wrap}
.tache-avancement{display:grid;gap:var(--espace-1);font-size:var(--taille-12);color:var(--couleur-texte-2);font-variant-numeric:tabular-nums}
.tache .lien{justify-self:start}
.tache-fiches summary{cursor:pointer;min-height:var(--hauteur-lien);display:flex;align-items:center;font-size:var(--taille-13);color:var(--couleur-accent);font-weight:var(--graisse-moyen)}
.liste-simple{display:grid;gap:var(--espace-2);margin:var(--espace-2) 0}
.liste-simple li{display:flex;flex-direction:column}
.cellule-sous{display:block;font-size:var(--taille-12);color:var(--couleur-texte-3);font-weight:var(--graisse-normal)}
.actions-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:var(--espace-2)}
.liste-mesures{display:grid;gap:var(--espace-4)}
.mesure-tete{display:flex;justify-content:space-between;margin-bottom:var(--espace-1);font-size:var(--taille-13)}
.mesure-tete strong{font-variant-numeric:tabular-nums}
.liste-definitions{display:grid;grid-template-columns:1fr auto;gap:var(--espace-2) var(--espace-4);align-items:center}
.liste-definitions dd{font-variant-numeric:tabular-nums;font-weight:var(--graisse-demi);text-align:right}

/* ---------- Tables ---------- */
.table-defilante{overflow-x:auto;margin:0 calc(var(--espace-6) * -1);padding:0 var(--espace-6)}
.table-defilante:focus-visible{outline-offset:-3px}
.table{width:100%;border-collapse:collapse;font-size:var(--taille-13)}
.table th{text-align:left;font-size:var(--taille-11);font-weight:var(--graisse-demi);letter-spacing:.06em;text-transform:uppercase;color:var(--couleur-texte-2);padding:var(--espace-2) var(--espace-3);border-bottom:var(--bordure-fine) solid var(--couleur-bordure-forte);white-space:nowrap}
.table td{padding:var(--espace-3);border-bottom:var(--bordure-fine) solid var(--couleur-bordure);vertical-align:top}
.table tbody tr:hover{background:var(--couleur-surface-2)}
.table tfoot th,.table tfoot td{font-weight:var(--graisse-demi);border-bottom:0;border-top:var(--bordure-epaisse) solid var(--couleur-bordure-forte);font-size:var(--taille-13);text-transform:none;letter-spacing:0;color:var(--couleur-texte)}
.table th:first-child,.table td:first-child{padding-left:0}
.table th:last-child,.table td:last-child{padding-right:0}
.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.table .actions{text-align:right;width:1%;white-space:nowrap}
.table .actions .actions-ligne{justify-content:flex-end;flex-wrap:nowrap}
.table a{font-weight:var(--graisse-demi)}
.table .cellule-secondaire{color:var(--couleur-texte-2)}
.table tr.inactif td{color:var(--couleur-texte-3)}
.table.journal td.valeur{max-width:var(--console-largeur-aside);overflow-wrap:anywhere;color:var(--couleur-texte-2)}
.cellule-jauge{display:grid;justify-items:end;gap:var(--espace-1);min-width:var(--espace-16)}
.coordonnees-cellule{display:flex;flex-direction:column;gap:var(--marge-etiquette);overflow-wrap:anywhere}
.coordonnees-cellule a{font-weight:var(--graisse-normal)}
.pagination{display:flex;align-items:center;justify-content:center;gap:var(--espace-3);margin-top:var(--espace-4)}
.pagination-texte{font-size:var(--taille-13);color:var(--couleur-texte-2);font-variant-numeric:tabular-nums}

/* ---------- Filtres ---------- */
.barre-filtres{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--espace-3) var(--espace-4);margin-bottom:var(--espace-5)}
.barre-filtres .champ{flex:0 1 var(--console-largeur-min-colonne)}
.barre-filtres .champ.large{flex:1 1 var(--console-largeur-min-colonne)}
.barre-filtres>.bouton{flex:none}
.recherche-annuaire{display:flex;align-items:flex-end;gap:var(--espace-3);flex:1 1 var(--largeur-recherche)}
.recherche-annuaire .champ{flex:1}
.segments{display:inline-flex;flex-wrap:wrap;background:var(--couleur-surface-2);border-radius:var(--rayon-plein);padding:var(--onglets-marge-interne);gap:var(--onglets-ecart)}
.segment{min-height:var(--hauteur-onglet);padding:0 var(--espace-4);border-radius:var(--rayon-plein);font-size:var(--taille-13);font-weight:var(--graisse-moyen);color:var(--couleur-texte-2)}
.segment:hover{color:var(--couleur-texte)}
.segment[aria-checked="true"]{background:var(--couleur-surface);color:var(--couleur-texte);box-shadow:var(--ombre-1);font-weight:var(--graisse-demi)}

/* ---------- Édition d'une fiche ---------- */
.edition-messages{display:grid;gap:var(--espace-3);margin-bottom:var(--espace-4)}
.edition-messages:empty{display:none}
.edition-grille{display:grid;grid-template-columns:minmax(0,1fr) var(--console-largeur-aside);gap:var(--espace-6);align-items:start}
.edition-formulaire{display:grid;gap:var(--espace-5);min-width:0}
.edition-section{border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-l);background:var(--couleur-surface);padding:var(--espace-5) var(--espace-6) var(--espace-6);min-width:0}
.edition-section>legend{float:left;width:100%;margin-bottom:var(--espace-4);font-family:var(--police-titre);font-size:var(--taille-20);font-weight:var(--graisse-demi);line-height:var(--interligne-serre)}
.edition-section>legend+*{clear:both}
.edition-aside{position:sticky;top:var(--espace-6);display:grid;gap:var(--espace-4);padding:var(--espace-5);background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-l)}
.bandeau-simulation~.coque .edition-aside{top:calc(var(--console-hauteur-bandeau) + var(--espace-6))}
.aside-completude{display:grid;gap:var(--espace-2)}
.aside-pourcentage{font-family:var(--police-titre);font-size:var(--taille-40);font-weight:var(--graisse-demi);line-height:1;font-variant-numeric:tabular-nums}
.aside-pourcentage::after{content:" complète";font-family:var(--police-ui);font-size:var(--taille-13);font-weight:var(--graisse-normal);color:var(--couleur-texte-2)}
.aside-pourcentage.complet{color:var(--couleur-succes)}
.aside-manquants summary{cursor:pointer;min-height:var(--hauteur-lien);display:flex;align-items:center;font-size:var(--taille-13);font-weight:var(--graisse-demi)}
.liste-manquants{display:grid;gap:var(--marge-etiquette);max-height:40vh;overflow-y:auto}
.lien-champ{text-align:left;min-height:var(--hauteur-puce);padding:0 var(--espace-2);margin-left:calc(var(--espace-2) * -1);border-radius:var(--rayon-xs);font-size:var(--taille-13);color:var(--couleur-accent);text-decoration:underline;text-underline-offset:2px}
.lien-champ:hover{background:var(--couleur-accent-doux)}
.aside-brouillon{font-size:var(--taille-12);color:var(--couleur-texte-3);min-height:var(--taille-16)}
.aside-raccourci{font-size:var(--taille-11);color:var(--couleur-texte-3);text-align:center}
.resume-erreurs{padding:var(--espace-4) var(--espace-5);border-radius:var(--rayon-m);background:var(--couleur-erreur-doux);border:var(--bordure-fine) solid var(--couleur-erreur);outline:none}
.resume-erreurs .message-titre{color:var(--couleur-erreur)}
.resume-erreurs .lien-champ{color:var(--couleur-texte)}

/* Fichiers : photo, logo, CV */
.bloc-fichier{display:flex;align-items:center;gap:var(--espace-4);margin-top:var(--espace-2)}
.bloc-fichier-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--espace-1);min-width:0}
.apercu-image{flex:none;display:grid;place-items:center;width:var(--console-taille-apercu-photo);height:var(--console-taille-apercu-photo);border-radius:var(--rayon-plein);overflow:hidden;background:var(--couleur-surface-2);border:var(--bordure-fine) solid var(--couleur-bordure)}
.apercu-image img{width:100%;height:100%;object-fit:cover;display:block}
.apercu-image.logo{border-radius:var(--rayon-m);width:calc(var(--console-taille-apercu-photo) * 1.5)}
.apercu-image.logo img{object-fit:contain;padding:var(--espace-2)}
.apercu-vide{font-size:var(--taille-11);color:var(--couleur-texte-3);text-align:center;padding:var(--espace-2)}
.televersement label{cursor:pointer}
.televersement input:focus-visible+label{outline:var(--bordure-focus) solid var(--couleur-focus);outline-offset:2px}
.televersement label.occupe{opacity:.6;pointer-events:none}

/* Couleur du parti : aperçus clair et sombre */
.couleur-ligne{display:flex;align-items:center;gap:var(--espace-3)}
.couleur-ligne input[type="color"]{width:var(--cible-tactile);height:var(--cible-tactile);padding:var(--marge-etiquette);border:var(--bordure-fine) solid var(--couleur-bordure-forte);border-radius:var(--rayon-s);background:var(--couleur-surface);cursor:pointer}
.code-couleur{max-width:var(--console-largeur-champ-court);font-variant-numeric:tabular-nums;text-transform:uppercase}
.apercus-couleur{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--console-largeur-min-colonne),1fr));gap:var(--espace-3);margin-top:var(--espace-2)}
.apercu-theme{position:relative;display:grid;gap:var(--espace-3);padding:var(--espace-4);border-radius:var(--rayon-m);background:var(--couleur-surface);color:var(--couleur-texte);border:var(--bordure-fine) solid var(--couleur-bordure-forte)}
.apercu-theme-nom{font-size:var(--taille-11);text-transform:uppercase;letter-spacing:.06em;color:var(--couleur-texte-3)}
.apercu-rang{display:flex;align-items:center;gap:var(--espace-2);font-size:var(--taille-13);font-weight:var(--graisse-moyen)}
.pastille-apercu{width:var(--taille-pastille);height:var(--taille-pastille);border-radius:var(--rayon-pastille);border:var(--bordure-fine) solid var(--pastille-bordure);flex:none}
.puce-apercu{justify-self:start;padding:var(--marge-etiquette) var(--espace-3);border-radius:var(--rayon-plein);font-size:var(--taille-12);font-weight:var(--graisse-gras);border:var(--bordure-fine) solid var(--pastille-bordure)}
.logo-apercu{position:absolute;right:var(--espace-3);bottom:var(--espace-3);max-height:var(--console-taille-apercu-logo);max-width:var(--console-taille-apercu-logo);object-fit:contain}
.alerte-contraste{margin-top:var(--espace-2);padding:var(--espace-2) var(--espace-3);border-radius:var(--rayon-s);background:var(--couleur-avertissement-doux);color:var(--couleur-texte);font-size:var(--taille-13);border-left:var(--bordure-focus) solid var(--couleur-avertissement)}

/* Étiquettes retirables (municipalités, territoires) */
.etiquettes-edition{display:flex;flex-wrap:wrap;gap:var(--espace-2);margin-bottom:var(--espace-2)}
.etiquette-edition{display:inline-flex;align-items:center;gap:var(--espace-1);padding-left:var(--espace-3);border-radius:var(--rayon-plein);background:var(--couleur-accent-doux);color:var(--couleur-accent);font-size:var(--taille-13);font-weight:var(--graisse-moyen)}
.etiquette-retirer{display:inline-grid;place-items:center;width:var(--hauteur-lien);height:var(--hauteur-lien);border-radius:var(--rayon-plein);color:inherit}
.etiquette-retirer:hover{background:var(--couleur-surface)}
.etiquette-retirer svg{width:var(--taille-14);height:var(--taille-14)}
.rang-ajout{display:flex;align-items:flex-start;gap:var(--espace-3)}
.rang-ajout .champ{flex:1}
.rang-ajout>.bouton{margin-top:calc(var(--taille-13) * 1.45 + var(--espace-1))}

/* Éditeur de biographie */
.editeur-barre{display:flex;flex-wrap:wrap;gap:var(--espace-1);padding:var(--espace-1);background:var(--couleur-surface-2);border:var(--bordure-fine) solid var(--couleur-bordure-forte);border-bottom:0;border-radius:var(--rayon-s) var(--rayon-s) 0 0}
.editeur-bouton{min-width:var(--hauteur-lien);min-height:var(--hauteur-lien);padding:0 var(--espace-3);border-radius:var(--rayon-xs);font-size:var(--taille-13);font-weight:var(--graisse-moyen)}
.editeur-bouton:hover{background:var(--couleur-surface)}
.editeur-bouton.gras{font-weight:var(--graisse-gras)}
.editeur-bouton.italique{font-style:italic;font-family:var(--police-titre)}
.editeur-zone{min-height:var(--console-hauteur-editeur);padding:var(--espace-3) var(--espace-4);background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure-forte);border-radius:0 0 var(--rayon-s) var(--rayon-s);line-height:var(--interligne-aere);overflow-wrap:anywhere}
.editeur-zone p+p{margin-top:var(--espace-2)}
.editeur-zone:empty::before{content:"Rédigez la biographie ici.";color:var(--couleur-texte-3)}
.editeur-lien{display:flex;flex-wrap:wrap;align-items:center;gap:var(--espace-2);padding:var(--espace-2) var(--espace-3);background:var(--couleur-accent-doux);border:var(--bordure-fine) solid var(--couleur-bordure-forte);border-bottom:0}
.editeur-lien label{font-size:var(--taille-13);font-weight:var(--graisse-demi)}
.editeur-lien input{flex:1 1 var(--console-largeur-min-colonne);width:auto}
.editeur-lien .champ-erreur{flex-basis:100%}

/* Lignes répétables */
.lignes{display:grid;gap:var(--espace-3)}
.lignes-liste{display:grid;gap:var(--espace-3)}
.ligne-edition{display:grid;gap:var(--espace-3);padding:var(--espace-4);background:var(--couleur-fond);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-m)}
.ligne-titre{font-size:var(--taille-12);font-weight:var(--graisse-demi);letter-spacing:.06em;text-transform:uppercase;color:var(--couleur-texte-2)}
.ligne-edition>.bouton{justify-self:start}
.lignes>.bouton{justify-self:start}
.cumul-elections{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--espace-3) var(--espace-5);padding-bottom:var(--espace-3);border-bottom:var(--bordure-fine) solid var(--couleur-bordure)}
.champ-nombre-court{max-width:var(--console-largeur-champ-court)}

/* ---------- Messages ---------- */
.message{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--espace-3);padding:var(--espace-3) var(--espace-4);border-radius:var(--rayon-m);border:var(--bordure-fine) solid var(--couleur-bordure);border-left:var(--bordure-focus) solid var(--couleur-accent);background:var(--couleur-info-doux);font-size:var(--taille-13)}
.message.avertissement{background:var(--couleur-avertissement-doux);border-left-color:var(--couleur-avertissement)}
.message.erreur{background:var(--couleur-erreur-doux);border-left-color:var(--couleur-erreur)}
.message.succes{background:var(--couleur-succes-doux);border-left-color:var(--couleur-succes)}
.message-titre{font-weight:var(--graisse-demi);font-size:var(--taille-14);margin-bottom:var(--marge-etiquette)}
.message-actions{display:flex;flex-wrap:wrap;gap:var(--espace-2)}
.citation{margin-top:var(--espace-1);padding-left:var(--espace-3);border-left:var(--bordure-epaisse) solid var(--couleur-bordure-forte);font-style:italic;white-space:pre-line}
.zone-erreur:empty{display:none}
.dialogue-erreur{padding:var(--espace-2) var(--espace-3);border-radius:var(--rayon-s);background:var(--couleur-erreur-doux);color:var(--couleur-erreur);font-weight:var(--graisse-moyen);font-size:var(--taille-13)}

/* Annonces flottantes (verre dépoli : élément flottant) */
.annonces{position:fixed;z-index:90;right:var(--espace-6);bottom:var(--espace-6);display:grid;gap:var(--espace-2);width:min(var(--largeur-panneau),calc(100vw - var(--espace-8)))}
.annonce{display:flex;align-items:flex-start;gap:var(--espace-2);padding:var(--espace-3) var(--espace-2) var(--espace-3) var(--espace-4);border-radius:var(--rayon-m);background:var(--verre-fond);backdrop-filter:blur(var(--verre-flou));-webkit-backdrop-filter:blur(var(--verre-flou));border:var(--bordure-fine) solid var(--verre-bordure);border-left:var(--bordure-focus) solid var(--couleur-accent);box-shadow:var(--ombre-2);font-size:var(--taille-13);font-weight:var(--graisse-moyen);animation:apparaitre var(--duree-normale) var(--courbe)}
.annonce>span{flex:1;padding-top:var(--espace-1)}
.annonce.succes{border-left-color:var(--couleur-succes)}
.annonce.erreur{border-left-color:var(--couleur-erreur)}
.annonce-fermer{display:inline-grid;place-items:center;width:var(--hauteur-lien);height:var(--hauteur-lien);border-radius:var(--rayon-plein);color:var(--couleur-texte-2);flex:none}
.annonce-fermer:hover{background:var(--couleur-surface-2)}
.annonce-fermer svg{width:var(--taille-icone);height:var(--taille-icone)}
@keyframes apparaitre{from{opacity:0;transform:translateY(var(--espace-2))}to{opacity:1;transform:none}}

/* ---------- Dialogues ---------- */
.dialogue{margin:auto;width:min(var(--console-largeur-dialogue),calc(100vw - var(--espace-8)));max-height:calc(100dvh - var(--espace-12));padding:0;border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-l);background:var(--couleur-surface-elevee);color:var(--couleur-texte);box-shadow:var(--ombre-2);overflow:hidden}
.dialogue[open]{display:flex;flex-direction:column}
.dialogue.large{width:min(var(--console-largeur-formulaire),calc(100vw - var(--espace-8)))}
.dialogue::backdrop{background:var(--verre-bordure);backdrop-filter:blur(var(--flou-puce));-webkit-backdrop-filter:blur(var(--flou-puce))}
.dialogue-tete{display:flex;align-items:center;justify-content:space-between;gap:var(--espace-3);padding:var(--espace-3) var(--espace-3) var(--espace-3) var(--espace-6);border-bottom:var(--bordure-fine) solid var(--couleur-bordure)}
.dialogue-tete h2{font-family:var(--police-titre);font-size:var(--taille-20)}
.dialogue-corps{padding:var(--espace-5) var(--espace-6);overflow-y:auto;display:grid;gap:var(--espace-4)}
.dialogue-pied{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--espace-2);padding:var(--espace-3) var(--espace-6);border-top:var(--bordure-fine) solid var(--couleur-bordure);background:var(--couleur-surface)}
.groupe-perimetre{display:grid;gap:var(--espace-3);padding:var(--espace-4);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-m)}
.groupe-perimetre legend{padding:0 var(--espace-2);font-weight:var(--graisse-demi)}
.mot-de-passe-unique{display:grid;gap:var(--espace-3)}
.mot-de-passe-valeur{display:block;padding:var(--espace-4);border-radius:var(--rayon-m);background:var(--couleur-surface-2);border:var(--bordure-fine) dashed var(--couleur-bordure-forte);font-size:var(--taille-24);font-weight:var(--graisse-demi);letter-spacing:.08em;text-align:center;font-variant-numeric:tabular-nums;user-select:all;overflow-wrap:anywhere}
.mot-de-passe-unique>.bouton{justify-self:start}
.menu-plus{display:grid}
.menu-plus li+li{border-top:var(--bordure-fine) solid var(--couleur-bordure)}
.menu-plus-lien{display:flex;align-items:center;width:100%;min-height:calc(var(--cible-tactile) + var(--espace-2));padding:0 var(--espace-2);color:var(--couleur-texte);text-decoration:none;font-size:var(--taille-16);font-weight:var(--graisse-moyen)}
.menu-plus-lien:hover{background:var(--couleur-surface-2)}
.groupe-radios{display:grid;gap:var(--espace-3);border:0}
.groupe-radios legend{font-weight:var(--graisse-demi);margin-bottom:var(--espace-3);font-size:var(--taille-16)}
.radio-riche{display:flex;gap:var(--espace-3);align-items:flex-start;padding:var(--espace-4);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-m)}
.radio-riche:has(input:checked){border-color:var(--couleur-accent);background:var(--couleur-accent-doux)}
.radio-riche input{margin-top:var(--marge-etiquette)}
.radio-riche label{display:grid;gap:var(--espace-1);cursor:pointer}
.radio-riche label span{font-size:var(--taille-13);color:var(--couleur-texte-2)}

/* ---------- États : chargement, vide, erreur ---------- */
.squelettes{display:grid;gap:var(--espace-4);padding:var(--espace-2) 0}
.squelette-ligne{display:grid;gap:var(--espace-2)}
.squelette{display:block;height:var(--taille-14);border-radius:var(--rayon-xs);background:linear-gradient(90deg,var(--squelette-a),var(--squelette-b),var(--squelette-a));background-size:200% 100%;animation:miroiter var(--duree-squelette) linear infinite}
.squelette.court{width:60%;height:var(--taille-11)}
@keyframes miroiter{from{background-position:200% 0}to{background-position:-200% 0}}
.etat-vide,.etat-erreur{display:grid;justify-items:center;gap:var(--espace-2);padding:var(--espace-10) var(--espace-4);text-align:center;color:var(--couleur-texte-2)}
.etat-titre{font-family:var(--police-titre);font-size:var(--taille-18);font-weight:var(--graisse-demi);color:var(--couleur-texte)}
.etat-erreur .etat-titre{color:var(--couleur-erreur)}
.etat-vide .bouton,.etat-erreur .bouton{margin-top:var(--espace-2)}

/* ---------- Rendement ---------- */
.zone-graphique{position:relative;height:var(--console-hauteur-graphique)}

/* ---------- Connexion ---------- */
.page-connexion{display:grid;place-items:center;min-height:100vh;padding:var(--espace-6) var(--espace-4)}
.connexion{width:100%;max-width:var(--console-largeur-connexion)}
.connexion-carte{padding:var(--espace-8);background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-l);box-shadow:var(--ombre-1)}
.connexion-marque{display:flex;align-items:center;gap:var(--espace-3);margin-bottom:var(--espace-8);color:var(--couleur-texte-2);text-decoration:none;font-size:var(--taille-13);font-weight:var(--graisse-moyen)}
.connexion-marque img{height:var(--hauteur-logo-entete);width:auto;display:block}
.connexion-contenu{display:grid;gap:var(--espace-5)}
.connexion-contenu h1{font-family:var(--police-titre);font-size:var(--taille-28)}
.connexion-sous-titre{margin-top:calc(var(--espace-4) * -1);color:var(--couleur-texte-2)}
.connexion-contenu .formulaire-compact .bouton[type="submit"]{justify-self:stretch}
.connexion-pied{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--espace-2);padding-top:var(--espace-4);border-top:var(--bordure-fine) solid var(--couleur-bordure)}

/* Logo en mode sombre (comme sur la carte) */
[data-theme="sombre"] .nav-marque img,[data-theme="sombre"] .connexion-marque img{filter:brightness(0) invert(1) opacity(.92)}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .nav-marque img,:root:not([data-theme]) .connexion-marque img{filter:brightness(0) invert(1) opacity(.92)}}

/* ---------- Bureau étroit et tablette ---------- */
@media (max-width:1279px){
  .grille-tableau{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1179px){
  .edition-grille{grid-template-columns:minmax(0,1fr)}
  .edition-aside,.bandeau-simulation~.coque .edition-aside{position:sticky;top:auto;bottom:0;z-index:20;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--espace-2) var(--espace-4);padding:var(--espace-3) var(--espace-4);margin:0 calc(var(--espace-2) * -1);background:var(--verre-fond);backdrop-filter:blur(var(--verre-flou));-webkit-backdrop-filter:blur(var(--verre-flou));border-color:var(--verre-bordure);box-shadow:var(--ombre-2)}
  .aside-completude{grid-column:1;grid-template-columns:auto var(--espace-16);align-items:center;gap:var(--espace-3)}
  .aside-pourcentage{font-size:var(--taille-24)}
  .aside-pourcentage::after{content:""}
  .aside-manquants{grid-column:2;grid-row:1;min-width:0}
  .aside-manquants[open]{grid-column:1/-1;grid-row:2}
  .aside-brouillon{grid-column:1/-1;grid-row:3}
  .edition-aside .bouton.large{grid-column:3;grid-row:1;width:auto;align-self:center}
  .aside-raccourci{display:none}
}
@media (max-width:1023px){
  .contenu-principal{padding:var(--espace-6) var(--espace-5) var(--espace-12)}
  .coque{grid-template-columns:var(--console-largeur-nav) minmax(0,1fr)}
}

/* ---------- Mobile (< 640) : en-tête compact et onglets du bas ---------- */
@media (max-width:639px){
  .coque{display:block}
  .nav{display:none}
  .tete-mobile{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--espace-3);padding:calc(env(safe-area-inset-top) + var(--espace-2)) var(--espace-4) var(--espace-2);background:var(--verre-fond);backdrop-filter:blur(var(--verre-flou));-webkit-backdrop-filter:blur(var(--verre-flou));border-bottom:var(--bordure-fine) solid var(--verre-bordure)}
  .bandeau-simulation{position:relative}
  .bandeau-simulation~.coque .tete-mobile{top:0}
  .tete-mobile .nav-marque{padding:0}
  .tete-mobile img{height:var(--hauteur-logo-entete-mobile);width:auto;display:block}
  .tete-mobile-titre{font-family:var(--police-titre);font-size:var(--taille-16);font-weight:var(--graisse-demi)}
  [data-theme="sombre"] .tete-mobile img{filter:brightness(0) invert(1) opacity(.92)}
  .contenu-principal{padding:var(--espace-5) var(--espace-4) calc(var(--console-hauteur-onglets) + env(safe-area-inset-bottom) + var(--espace-8))}
  .onglets-bas{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(var(--console-hauteur-onglets) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--verre-fond);backdrop-filter:blur(var(--verre-flou));-webkit-backdrop-filter:blur(var(--verre-flou));border-top:var(--bordure-fine) solid var(--verre-bordure)}
  .onglet-bas{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--marge-etiquette);min-height:var(--cible-tactile);color:var(--couleur-texte-2);text-decoration:none;font-size:var(--taille-11);font-weight:var(--graisse-moyen)}
  .onglet-bas[aria-current="page"]{color:var(--couleur-accent);font-weight:var(--graisse-demi)}
  .onglet-bas[aria-current="page"] .icone{background:var(--couleur-accent-doux);border-radius:var(--rayon-plein);padding:0 var(--espace-3)}
  .vue-tete{margin-bottom:var(--espace-4)}
  .vue-tete h1{font-size:var(--taille-24)}
  .vue-actions{width:100%}
  .vue-actions .bouton{flex:1}
  .panneau-blanc{padding:var(--espace-4);border-radius:var(--rayon-m)}
  .table-defilante{margin:0 calc(var(--espace-4) * -1);padding:0 var(--espace-4)}
  .liste-taches.admin{padding:var(--espace-1) var(--espace-4)}
  .ruban{padding:var(--espace-4);gap:var(--espace-3)}
  .ruban-chiffres{display:grid;grid-template-columns:1fr 1fr;gap:var(--espace-3) 0;width:100%}
  .ruban-chiffre{padding:0 var(--espace-3)}
  .ruban-chiffre dd{font-size:var(--taille-24)}
  .ligne-fiche-lien{grid-template-columns:minmax(0,1fr) auto;gap:var(--espace-2) var(--espace-3)}
  .ligne-fiche-etat{grid-column:1/-1;grid-row:2}
  .ligne-fiche-action{grid-column:2;grid-row:1}
  .barre-filtres .champ,.barre-filtres .champ.large{flex:1 1 100%}
  .barre-filtres>.bouton{width:100%}
  .recherche-annuaire{flex-direction:column;align-items:stretch}
  .recherche-annuaire .bouton{flex:none}
  .segments{display:flex;flex-wrap:nowrap;width:100%;overflow-x:auto;scrollbar-width:none}
  .segment{flex:1 0 auto;padding:0 var(--espace-3)}
  .bandeau-texte{display:none}
  .edition-section{padding:var(--espace-4);border-radius:var(--rayon-m)}
  .edition-section>legend{font-size:var(--taille-18)}
  .grille-champs{grid-template-columns:minmax(0,1fr)}
  .edition-aside,.bandeau-simulation~.coque .edition-aside{position:fixed;top:auto;left:0;right:0;bottom:calc(var(--console-hauteur-onglets) + env(safe-area-inset-bottom));margin:0;border-radius:0;border-left:0;border-right:0}
  .edition-grille{padding-bottom:calc(var(--cible-tactile) + var(--espace-8))}
  .aside-completude{grid-template-columns:auto}
  .aside-completude .aside-jauge{display:none}
  .annonces{right:var(--espace-4);left:var(--espace-4);width:auto;bottom:calc(var(--console-hauteur-onglets) + env(safe-area-inset-bottom) + var(--espace-3))}
  .page-edition .annonces{bottom:calc(var(--console-hauteur-onglets) + var(--cible-tactile) + var(--espace-10))}
  .bloc-fichier{align-items:flex-start}
  .table.annuaire td:nth-child(3),.table.annuaire th:nth-child(3){display:none}
  .connexion-carte{padding:var(--espace-6) var(--espace-5)}
  .dialogue-corps{padding:var(--espace-4)}
  .dialogue-pied{padding:var(--espace-3) var(--espace-4)}
  .dialogue-pied .bouton{flex:1}
}

@media (prefers-reduced-motion:reduce){*{transition-duration:0s !important;animation:none !important}}
