:root{--fond: #f6f7f9;--surface: #ffffff;--texte: #1b2430;--discret: #5d6b7a;--bord: #dde2e8;--accent: #1f4e8c;--accent-texte: #ffffff;--accent-doux: #e7eef8;--rouge: #b42318;--rouge-doux: #fdecea;--ambre: #8a5a00;--ambre-doux: #fff4dc;--vert: #1d6b3a;--vert-doux: #e5f4ea;--rayon: 8px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--fond: #11161d;--surface: #18202a;--texte: #e6ebf1;--discret: #9aa8b7;--bord: #2b3644;--accent: #7fb0f0;--accent-texte: #0d1a2b;--accent-doux: #1d2c40;--rouge: #f28b82;--rouge-doux: #3a1d1b;--ambre: #f0c36a;--ambre-doux: #3a2e14;--vert: #7fd19b;--vert-doux: #17301f;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--fond);color:var(--texte);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:1200px;margin:0 auto;padding:24px 16px 48px}h1{font-size:1.6rem;margin:0 0 8px}h2{font-size:1.2rem;margin:24px 0 12px}h3{font-size:1.05rem;margin:0 0 8px}a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.barre{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--bord)}.barre nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.barre nav a{text-decoration:none;color:var(--texte)}.barre nav a.actif{color:var(--accent);font-weight:600}.marque{font-weight:700;text-decoration:none;color:var(--texte)}.utilisateur{font-size:.85rem}.pied{text-align:center;padding:16px;font-size:.85rem}.discret{color:var(--discret)}.fil{color:var(--discret);font-size:.9rem;margin:0 0 4px}.carte{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);padding:16px;margin:16px 0}.carte.etroite{max-width:420px;margin:48px auto}button{font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;border:1px solid var(--bord);background:var(--surface);color:var(--texte)}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}button.principal{background:var(--accent);color:var(--accent-texte);border-color:var(--accent)}button.lien{border:none;background:none;color:var(--accent);padding:0 4px;text-decoration:underline}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--discret)}label.case{flex-direction:row;align-items:center;gap:8px}input:not([type=checkbox]):not([type=file]){font:inherit;color:var(--texte);background:var(--surface);border:1px solid var(--bord);border-radius:6px;padding:7px 10px}form{display:flex;flex-direction:column;gap:12px}form.en-ligne{flex-direction:row;align-items:flex-end;flex-wrap:wrap}.grille-formulaire{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end;margin:16px 0}.grille-formulaire .actions{grid-column:1/-1}.entete-page{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.erreur{color:var(--rouge);background:var(--rouge-doux);padding:8px 12px;border-radius:6px}.info{background:var(--accent-doux);padding:8px 12px;border-radius:6px;display:flex;align-items:center;gap:8px}.succes{color:var(--vert);background:var(--vert-doux);padding:8px 12px;border-radius:6px}.sablier{width:14px;height:14px;border-radius:50%;border:2px solid var(--accent);border-right-color:transparent;animation:tourne .8s linear infinite}@keyframes tourne{to{transform:rotate(360deg)}}.defilement{overflow-x:auto}table.donnees{border-collapse:collapse;width:100%;font-size:.9rem}table.donnees th,table.donnees td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--bord);vertical-align:top}table.donnees th{color:var(--discret);font-weight:600;white-space:nowrap}table.donnees tr.cliquable{cursor:pointer}table.donnees tr.cliquable:hover,table.donnees tr.evidence{background:var(--accent-doux)}table.donnees td.valeur,table.donnees td.message{max-width:260px;overflow-wrap:anywhere}table.registre td{white-space:nowrap}input.cellule{width:100%;min-width:140px}.empreinte{overflow-wrap:anywhere}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.8rem;white-space:nowrap;background:var(--accent-doux)}.badge.bloquant{background:var(--rouge-doux);color:var(--rouge)}.badge.alerte{background:var(--ambre-doux);color:var(--ambre)}.badge.ok{background:var(--vert-doux);color:var(--vert)}.etat{font-weight:600}.etat[data-etat=EN_CORRECTION]{color:var(--rouge)}.etat[data-etat=A_VALIDER],.etat[data-etat=EN_CONTROLE]{color:var(--ambre)}.etat[data-etat=VALIDE],.etat[data-etat=PAQUET_GENERE]{color:var(--vert)}.filtres{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pastille{border-radius:999px;padding:4px 12px;font-size:.85rem}.pastille.active{background:var(--accent);color:var(--accent-texte);border-color:var(--accent)}.pastille.active .discret{color:inherit}.onglets{display:flex;gap:4px;border-bottom:1px solid var(--bord);margin-top:16px;overflow-x:auto}.onglets button{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;white-space:nowrap}.onglets button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.compteur{display:inline-block;min-width:20px;padding:0 6px;margin-left:4px;border-radius:999px;font-size:.75rem;background:var(--accent-doux);color:var(--texte)}.compteur.bloquant{background:var(--rouge-doux);color:var(--rouge)}.etapes{display:flex;list-style:none;padding:0;margin:16px 0;gap:4px;flex-wrap:wrap;counter-reset:etape}.etapes li{flex:1 1 110px;padding:6px 10px;border-radius:6px;background:var(--surface);border:1px solid var(--bord);font-size:.85rem;color:var(--discret);counter-increment:etape}.etapes li:before{content:counter(etape) ". "}.etapes li.faite{color:var(--vert);border-color:var(--vert)}.etapes li.courante{color:var(--accent-texte);background:var(--accent);border-color:var(--accent);font-weight:600}.depot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;cursor:pointer;padding:24px 16px;border:2px dashed var(--bord);border-radius:var(--rayon);color:var(--texte)}.depot:hover,.depot.survol{border-color:var(--accent);background:var(--accent-doux)}.depot input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.choisis{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem}.bandeau{padding:8px 0 0}.bandeau p{max-width:760px;color:var(--discret)}.grille-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.grille-cartes .carte{margin:0;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.grille-cartes details{font-size:.9rem}.liste-fichiers{columns:2;padding-left:18px;margin:6px 0 0}.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}.tuile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);padding:12px 16px;color:var(--discret)}.tuile .chiffre{font-size:1.8rem;font-weight:700;color:var(--texte)}.tuile.bloquant{border-color:var(--rouge)}.tuile.bloquant .chiffre{color:var(--rouge)}.tuile.alerte .chiffre{color:var(--ambre)}.tuile.ok{border-color:var(--vert)}.tuile.ok .chiffre{color:var(--vert)}.verdict{font-size:1.1rem;font-weight:600;margin:8px 0 0}.carte.regles ul{margin:0 0 8px;padding-left:18px}.carte.regles ul li{margin:4px 0}.case-gleif{grid-column:1/-1;display:flex;flex-direction:column;gap:4px}.case-gleif p{margin:0;font-size:.85rem}.carte.paquet{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.carte.paquet p{margin:4px 0}.appel{text-align:center;margin-top:24px}.journal{list-style:none;padding:0;margin:0}.journal li{padding:8px 0;border-bottom:1px solid var(--bord)}.journal time{color:var(--discret);font-size:.85rem}.espace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.menu{display:flex;flex-direction:column;gap:2px;position:sticky;top:12px;font-size:.92rem}.menu a{text-decoration:none;color:var(--texte);padding:4px 8px;border-radius:6px}.menu a:hover{background:var(--accent-doux)}.menu a.actif{background:var(--accent-doux);color:var(--accent);font-weight:600}.menu .rubrique{margin:12px 8px 2px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--discret)}.contenu{min-width:0}@media(max-width:800px){.espace{grid-template-columns:minmax(0,1fr)}.menu{position:static;flex-direction:row;flex-wrap:wrap}.menu .rubrique{width:100%;margin:8px 0 0}}textarea,select{font:inherit;color:var(--texte);background:var(--surface);border:1px solid var(--bord);border-radius:6px;padding:7px 10px}textarea{min-height:70px;resize:vertical}.grille-formulaire label.large{grid-column:1/-1}.manquant{color:var(--ambre)}.statut{font-weight:600}.niveau-FAIBLE{color:var(--vert)}.niveau-MOYENNE,.niveau-MOYEN{color:var(--ambre)}.niveau-ELEVEE,.niveau-ELEVE,.niveau-CRITIQUE{color:var(--rouge);font-weight:600}.alertes{list-style:none;padding:0;margin:0}.alertes li{display:flex;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--bord)}.barre-progression{height:8px;border-radius:999px;background:var(--bord);overflow:hidden;min-width:80px}.barre-progression span{display:block;height:100%;background:var(--accent)}.domaines{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.domaines .carte{margin:0}.score{font-size:1.6rem;font-weight:700}.graphe{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}.graphe .colonne{display:flex;flex-direction:column;gap:8px;min-width:180px}.graphe .colonne>p{margin:0;font-size:.8rem;color:var(--discret)}.noeud{border:1px solid var(--bord);border-radius:6px;padding:6px 10px;background:var(--surface);font-size:.88rem}.noeud.racine{border-color:var(--accent);background:var(--accent-doux)}.noeud.critique{border-left:4px solid var(--rouge)}.noeud a{text-decoration:none}a.bouton{display:inline-block;border-radius:6px;padding:7px 14px;border:1px solid var(--bord);text-decoration:none;background:var(--surface);color:var(--texte)}a.bouton.principal{background:var(--accent);color:var(--accent-texte);border-color:var(--accent)}button.danger{color:var(--rouge);border-color:var(--rouge)}.bouton-fichier{flex-direction:row;align-items:center;cursor:pointer}.bouton-fichier input[type=file]{position:absolute;opacity:0;width:1px;height:1px}.bouton-fichier:focus-within{outline:2px solid var(--accent);border-radius:4px}.fiche fieldset{border:none;padding:0;margin:0;min-width:0}.fiche fieldset:disabled input,.fiche fieldset:disabled select,.fiche fieldset:disabled textarea{color:var(--texte);opacity:1;background:transparent}label.large{grid-column:1/-1}p.alerte{color:var(--ambre);background:var(--ambre-doux);padding:8px 12px;border-radius:6px}.indicateurs{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.indicateur{display:flex;flex-direction:column;gap:2px;padding:10px 14px;min-width:140px;border:1px solid var(--bord);border-radius:var(--rayon);background:var(--surface)}.indicateur strong{font-size:1.2rem}.indicateur.principal strong{font-size:1.8rem;color:var(--accent)}.indicateur.ok strong{color:var(--vert)}.alertes li.critique{color:var(--rouge)}.alertes li.alerte{color:var(--ambre)}.alertes li.lue{opacity:.6}.domaine{border:1px solid var(--bord);border-radius:var(--rayon);padding:10px 12px;background:var(--surface)}.domaine summary{display:grid;grid-template-columns:1fr 100px 50px;gap:10px;align-items:center;cursor:pointer}.domaine ul{margin:8px 0 0;padding-left:18px;font-size:.88rem;color:var(--discret)}.filtres button.actif{background:var(--accent);color:var(--accent-texte);border-color:var(--accent)}.deux-colonnes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.historique{list-style:none;padding:0}.historique li{padding:6px 0;border-bottom:1px solid var(--bord);display:flex;gap:10px}.etape-EN_RETARD,.etape-FAIT_EN_RETARD{color:var(--rouge);font-weight:600}.etape-A_FAIRE{color:var(--ambre)}.etape-FAIT{color:var(--vert)}a.noeud{display:block;text-decoration:none;color:var(--texte)}a.noeud span.discret{display:block;font-size:.75rem}h1 .badge{font-size:.8rem;font-weight:600;vertical-align:middle;margin-left:6px}.alertes li>.discret,.echeances li>a{white-space:nowrap}
