/* Atelier : couleurs, densité et coque reprises de la maquette validée (v2). */
:root{--f:#0F141B;--s:#161C25;--s2:#1D2530;--t:#2A3442;--e:#E6EBF2;--e2:#9AA6B6;--e3:#6B7788;--ac:#7C9BFF;--ok:#4FC48D;--at:#FF8A7A;--bl:#F2B84B;--mono:ui-monospace,Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--f);color:var(--e);font:13.5px/1.45 system-ui,sans-serif;overflow-wrap:anywhere}
button,input,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;text-align:left}
button:disabled{cursor:default;opacity:.55}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--ac);outline-offset:1px}
h2{font-size:15px;font-weight:650}
h3{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--e2);font-weight:600;margin-bottom:6px}
.cache{display:none!important}
.k,small{color:var(--e2);font-size:12px}
mark{background:#3A2E12;color:var(--bl);border-radius:2px;padding:0 1px}

/* Coque */
.app{height:100%;display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:44px minmax(0,1fr)}
.top{grid-column:1/-1;position:relative;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--s);border-bottom:1px solid var(--t)}
.top .nom{font-size:14.5px;width:66px}
.top input{flex:1;max-width:520px;height:28px;padding:0 10px;background:var(--f);border:1px solid var(--t);border-radius:5px}
#resultats-generaux{position:absolute;left:88px;top:40px;width:min(520px,calc(100vw - 24px));background:var(--s);border:1px solid var(--ac);border-radius:6px;z-index:20;max-height:60vh;overflow:auto;box-shadow:0 8px 24px #0008;padding-bottom:4px}
#resultats-generaux h3{padding:8px 12px 2px;margin:0}
#resultats-generaux a{display:block;padding:6px 12px}
#resultats-generaux a:hover,#resultats-generaux a:focus-visible{background:var(--s2);outline:0}
#resultats-generaux a small{display:block}
#resultats-generaux p{padding:8px 12px}

nav{background:var(--s);border-right:1px solid var(--t);padding:8px 0;display:flex;flex-direction:column;overflow:auto}
nav h3{padding:10px 14px 4px;margin:0}
nav .entree{display:flex;gap:9px;align-items:center;padding:8px 14px;border-left:2px solid transparent;color:var(--e2)}
nav a.entree:hover{color:var(--e)}
nav .entree.on{background:var(--s2);border-left-color:var(--ac);color:var(--e)}
nav .entree.sous{padding-left:26px}
nav .entree .nom-entree{flex:1}
nav .avenir{color:var(--e3);cursor:default}
nav button.entree,.panneau-plus button.entree{width:100%}
nav button.entree:hover{color:var(--e)}
.menu-compte{margin-top:auto;padding-top:6px;border-top:1px solid var(--t)}
nav .plus,.voile-plus{display:none}
nav .tard{font-size:10px;color:var(--e3);border:1px solid var(--t);border-radius:3px;padding:0 4px;white-space:nowrap}
.n{font:11px var(--mono);padding:0 5px;border-radius:3px;background:var(--s2);color:var(--e2)}
.n.at{background:var(--at);color:#200}

main{overflow:auto;min-width:0;padding:16px 18px 40px}
main:focus{outline:0}
.ecran{max-width:1180px}
.tete{display:flex;align-items:baseline;gap:8px 10px;margin-bottom:12px;flex-wrap:wrap}
.tete p{color:var(--e2);font-size:12.5px}
.tete.serree{margin-bottom:4px}
.indispo{border:1px solid var(--t);border-radius:5px;padding:7px 9px;margin-bottom:10px}
.tete .actions{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap;position:relative}
.retour{color:var(--e2);font-size:12.5px;display:inline-block;margin-bottom:6px}
.retour:hover{color:var(--ac)}

/* Briques */
.g2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;align-items:start}
.c{background:var(--s);border:1px solid var(--t);border-radius:7px;padding:12px 13px}
.l{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--t)}
.l:first-of-type{border-top:0}
.l .x{flex:1;min-width:0}
.l .x small{display:block}
.vide-texte{color:var(--e2);font-size:12.5px;padding:4px 0}
.et{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:3px;white-space:nowrap;line-height:1.5}
.et.at{background:#3A1C19;color:var(--at)}.et.bl{background:#3A2E12;color:var(--bl)}.et.ok{background:#143024;color:var(--ok)}
.et.co{background:#1B2748;color:var(--ac)}.et.gr{background:var(--s2);color:var(--e2)}
.etiquettes{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.bt{display:inline-block;padding:5px 11px;border:1px solid var(--t);border-radius:5px;white-space:nowrap;text-align:center;background:var(--s)}
.bt:hover:not(:disabled){border-color:var(--ac)}
.bt.p{background:var(--ac);border-color:var(--ac);color:#0B1020;font-weight:600}
.bt.ok{border-color:#2A6B4B;color:var(--ok)}
.bt.petit{padding:2px 8px;font-size:12px}
.rg{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;align-items:center}
.puce{padding:3px 10px;border:1px solid var(--t);border-radius:14px;color:var(--e2);font-size:12px;white-space:nowrap}
.puce:hover{color:var(--e)}
.puce.on{border-color:var(--ac);color:var(--ac)}
.alerte{color:var(--at)}

/* Menu discret */
.menu-plus{position:absolute;right:0;top:calc(100% + 4px);background:var(--s);border:1px solid var(--t);border-radius:6px;box-shadow:0 8px 24px #0008;z-index:15;min-width:200px;padding:4px 0}
.menu-plus button{display:block;width:100%;padding:7px 12px}
.menu-plus button:hover{background:var(--s2)}

/* Bibliothèque */
.outils{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.outils input{flex:1;min-width:160px;height:30px;padding:0 10px;background:var(--s);border:1px solid var(--t);border-radius:5px}
.fac{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.facs{display:flex;gap:6px 16px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.compte{color:var(--e2);font-size:12px;margin-left:auto}
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}
.doc{background:var(--s);border:1px solid var(--t);border-radius:7px;overflow:hidden;display:flex;flex-direction:column}
.doc:hover,.doc:focus-visible{border-color:var(--ac)}
.doc img,.doc .sans-image{display:block;width:100%;height:auto;aspect-ratio:210/200;object-fit:cover;object-position:top;background:#fff}
.doc .sans-image{background:repeating-linear-gradient(45deg,var(--s2) 0 8px,var(--s) 8px 16px);display:flex;align-items:center;justify-content:center;color:var(--e2);font-size:12px;text-align:center;padding:10px}
.doc .corps-carte{padding:8px 10px}
.doc b{display:block;font-size:12.5px;line-height:1.3;margin-bottom:5px}
.doc small{display:block;margin-top:5px;font-size:11.5px}
.doc .extrait{color:var(--e);font-size:11.5px;margin-top:6px;border-left:2px solid var(--t);padding-left:6px}
.ecran>details.c{margin-bottom:14px}

.grp{margin-bottom:12px}
.gh{display:flex;width:100%;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--t);margin-bottom:10px}
.gh:hover{color:var(--ac)}
.chev{width:12px;color:var(--e2);transition:transform .15s;display:inline-block}
.ferme .chev{transform:rotate(-90deg)}
.ferme>.corps{display:none}
details.c>summary{list-style:none;cursor:pointer;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
details.c>summary::-webkit-details-marker{display:none}
details.c>summary::after{content:"Développer ▾";margin-left:auto;color:var(--e2);font-size:11.5px}
details.c[open]>summary::after{content:"Réduire ▴"}
details.c[open]>summary{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--t)}
table{width:100%;border-collapse:collapse;font-size:12.5px}
td,th{padding:7px 8px;border-top:1px solid var(--t);text-align:left;vertical-align:top}
th{color:var(--e2);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-top:0}
.cv td button{display:block;width:100%;padding:2px 0}
.cv td button:hover .et{outline:1px solid var(--ac)}
.cv .note{margin-top:8px}
.aucun{padding:16px 0}
.aucun p{margin-bottom:8px;color:var(--e2)}

/* Document */
.ed{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}
.colonne-page{min-width:0}
.pages{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin:0 auto 8px;max-width:620px}
.pages .bt{min-width:30px;padding:3px 8px}
.pages.large{max-width:none}
.pages .bt.on{border-color:var(--ac);color:var(--ac)}
.pages .k{margin-left:auto}
.page{position:relative;background:#fff;border-radius:4px;overflow:hidden;max-width:620px;margin:0 auto}
.page img{display:block;width:100%;height:auto}
.page .absente{aspect-ratio:1240/1755;display:flex;align-items:center;justify-content:center;color:#555;padding:20px;text-align:center}
.z{position:absolute;border:1.5px dashed transparent;border-radius:3px;cursor:pointer}
.page:hover .z,.page.reperes .z{border-color:rgba(124,155,255,.55)}
.z:hover,.z:focus-visible{background:rgba(124,155,255,.16);border-color:rgba(124,155,255,.9);outline:0}
.z.on,.page:hover .z.on{border:2px solid #FF8A00;background:rgba(255,138,0,.10)}
@media (hover:none){.page .z{border-color:rgba(124,155,255,.45)}}
.comparaison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.comparaison .page{max-width:none;margin:0}
.comparaison h3{margin:0 0 4px}
.comparaison select{width:100%;max-width:300px;background:var(--s);border:1px solid var(--t);border-radius:5px;padding:2px 6px;margin-bottom:6px;font-size:12px}
.panneau{position:sticky;top:0;max-height:calc(100vh - 76px);overflow:auto}
.tete-comparaison{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.tete-comparaison .k{margin-left:auto}
.ong{display:flex;gap:2px;border-bottom:1px solid var(--t);margin:-4px -13px 12px;padding:0 9px;overflow-x:auto}
.ong button{padding:6px 9px;color:var(--e2);border-bottom:2px solid transparent;white-space:nowrap}
.ong button.on{color:var(--e);border-color:var(--ac)}
.ong .n{margin-left:4px}
textarea{display:block;width:100%;min-height:96px;background:var(--f);border:1px solid var(--t);border-radius:5px;padding:8px;resize:vertical;font:12.5px/1.45 var(--mono)}
textarea[readonly]{color:var(--e2)}
.nom-zone{font:12px var(--mono);color:var(--e);text-transform:none;letter-spacing:0}
.attente{display:flex;gap:9px;align-items:center;padding:9px 10px;margin-top:10px;border:1px solid var(--t);border-radius:6px;background:var(--s2)}
.roue{width:14px;height:14px;border-radius:50%;border:2px solid var(--t);border-top-color:var(--ac);animation:tourne 1s linear infinite;flex:none}
@keyframes tourne{to{transform:rotate(360deg)}}
.compte-rendu{margin-top:12px;padding:10px;border:1px solid var(--t);border-radius:6px}
.compte-rendu.reussi{border-color:#2A6B4B}
.compte-rendu.rate{border-color:#6B2E28}
.compte-rendu b{display:block;margin-bottom:6px}
.compte-rendu dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;font-size:12px;margin-bottom:8px}
.compte-rendu dt{color:var(--e2)}
.compte-rendu dd{white-space:pre-wrap}
.compte-rendu h3{margin-top:4px}
.problemes{margin:0 0 8px 18px;font-size:12.5px}
.problemes li{margin-bottom:4px;color:var(--at)}
.detail-technique{margin-top:8px}
.detail-technique summary{cursor:pointer;color:var(--e2);font-size:12px;padding:2px 0 6px}
.sortie{font:11.5px/1.45 var(--mono);white-space:pre-wrap;color:var(--e2);max-height:260px;overflow:auto;background:var(--f);border-radius:4px;padding:8px}
.sortie .alerte{color:var(--at)}
.liste-zones{margin-top:12px}
.liste-zones summary{cursor:pointer;color:var(--e2);font-size:12.5px;padding:4px 0}
.liste-zones input{width:100%;height:28px;padding:0 8px;background:var(--f);border:1px solid var(--t);border-radius:5px;margin:6px 0}
.liste-zones .defile{max-height:300px;overflow:auto}
.liste-zones button{display:flex;gap:8px;align-items:baseline;width:100%;padding:6px 4px;border-top:1px solid var(--t)}
.liste-zones button:hover,.liste-zones button.on{background:var(--s2)}
.liste-zones button .nom-lisible{flex:1;min-width:0;font-size:12.5px;overflow-wrap:normal}
.titre-zone{display:flex;gap:8px;align-items:baseline;margin-bottom:6px}
.titre-zone .nom-lisible{flex:1;min-width:0;font-weight:600;font-size:13px}
.cle-technique{flex:none;font:10.5px var(--mono);color:var(--e3);white-space:nowrap}
.texte-md{font-size:13px}
.texte-md h1,.texte-md h2,.texte-md h3,.texte-md h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--e2);margin:14px 0 6px;font-weight:600}
.texte-md h1{font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--e);margin-top:0}
.texte-md p{margin:0 0 8px}
.texte-md ul,.texte-md ol{margin:0 0 8px 18px}
.texte-md li{margin-bottom:4px}
.texte-md code{font:11.5px var(--mono);background:var(--s2);padding:0 3px;border-radius:3px}
.verdict{padding:8px 10px;border-left:3px solid var(--ok);background:var(--s2);border-radius:0 5px 5px 0;margin-bottom:10px}
.manques{margin-bottom:12px}
.manques ul{margin:0 0 0 18px}
.manques li{margin-bottom:4px;font-size:12.5px}

/* Téléphone */
@media (width < 860px){
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:44px minmax(0,1fr) 56px}
  .top input,#resultats-generaux{display:none}
  nav{grid-row:3;flex-direction:row;padding:0;border-right:0;border-top:1px solid var(--t);overflow:hidden}
  nav h3,nav .avenir,nav .menu-compte,nav .entree:not(.barre):not(.plus){display:none}
  nav .plus{display:flex}
  nav .plus.ouvert{color:var(--e)}
  .voile-plus{display:flex;position:fixed;left:0;right:0;top:0;bottom:56px;z-index:30;background:#000a;align-items:flex-end}
  .panneau-plus{width:100%;max-height:75vh;overflow:auto;background:var(--s);border-top:1px solid var(--t);border-radius:10px 10px 0 0;padding:6px 0 10px}
  .panneau-plus h3{padding:12px 18px 4px;margin:0}
  .panneau-plus .entree{display:flex;gap:9px;align-items:center;padding:11px 18px;color:var(--e2);font-size:14px}
  .panneau-plus .entree.on{color:var(--e);background:var(--s2)}
  .panneau-plus .avenir{color:var(--e3)}
  .panneau-plus .nom-entree{flex:1}
  nav .entree,nav .entree.sous{flex:1;flex-direction:column;justify-content:center;gap:2px;padding:6px 4px;border-left:0;border-top:2px solid transparent;font-size:12.5px;align-items:center;min-width:0;white-space:nowrap}
  nav .entree.on{border-top-color:var(--ac)}
  nav .entree .nom-entree{flex:none}
  main{padding:12px 12px 30px}
  .g2,.ed{grid-template-columns:minmax(0,1fr)}
  .tete .actions{margin-left:0}
  .menu-plus{left:0;right:auto}
  .compte{margin-left:0;width:100%}
  .panneau{position:static;max-height:none}
  .cv tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:9px 0;border-top:1px solid var(--t)}
  .cv tr:first-child{display:none}
  .cv td{border:0;padding:0}
  .cv td:first-child{grid-column:1/-1}
  .cv td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;color:var(--e2);margin-bottom:2px}
  .docs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
.aide{margin-top:6px}

/* Mes appareils */
.pile{display:flex;flex-direction:column;gap:14px}
.ajout{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.ajout label{flex:1;min-width:180px}
label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--e2)}
label input,.ajout input{height:32px;padding:0 10px;background:var(--f);border:1px solid var(--t);border-radius:5px;color:var(--e);font-size:13.5px}
.l.cle .x b{font-weight:600}
.l.cle .x small.alerte{color:var(--at)}
.l.en-confirmation{background:var(--s2);margin:0 -8px;padding:8px}
.bt.danger{border-color:#6B2E28;color:var(--at)}
.indispo.alerte{border-color:#6B2E28}
@media (width < 860px){.ajout{flex-direction:column;align-items:stretch}}

/* Page de connexion */
body.porte{display:flex;align-items:center;justify-content:center;min-height:100%;padding:16px}
#porte{width:100%;max-width:380px}
#porte:focus{outline:0}
.carte-porte{width:100%;background:var(--s);border:1px solid var(--t);border-radius:9px;padding:26px 24px 22px;display:flex;flex-direction:column;gap:14px}
.nom-porte{font-size:20px;font-weight:650;letter-spacing:.01em}
.carte-porte h1{font-size:16px;font-weight:650}
.carte-porte p{font-size:13px;color:var(--e2)}
.carte-porte form{display:flex;flex-direction:column;gap:10px}
.carte-porte label input{height:38px;font-size:15px}
.bt.grand{width:100%;padding:10px 14px;font-size:14.5px}
.message-porte{font-size:12.5px;color:var(--at)!important}
.message-porte:empty{display:none}
.message-porte.ok{color:var(--ok)!important}
.discret{align-self:flex-start;color:var(--e2);font-size:12.5px;text-decoration:underline;text-underline-offset:2px}
.discret:hover{color:var(--e)}
.secours input{font-family:var(--mono);letter-spacing:.06em}
ol.codes{padding-left:30px;font:14px/1.75 var(--mono);color:var(--e)}
ol.codes li::marker{color:var(--e3)}
@media print{
  body,body.porte{background:#fff;color:#000;display:block}
  .carte-porte{border:0;width:auto;background:#fff}
  .carte-porte p,ol.codes{color:#000!important}
  .carte-porte .rg,.message-porte{display:none}
}

/* Étape 3 : jauge du budget, bandeau, Équipe, Savoir, Travaux, Budget */
.jauge{margin-left:auto;font-size:11.5px;color:var(--e2);white-space:nowrap}
.jauge a{display:flex;align-items:center;gap:7px}
.jauge a:hover{color:var(--e)}
.jauge .fort{color:var(--e);font-weight:600}
.jauge-barre{display:inline-block;width:70px;height:6px;border-radius:3px;background:var(--s2);overflow:hidden;vertical-align:middle}
.jauge-barre i{display:block;height:100%;background:var(--ok)}
.jauge-barre i.bl{background:var(--bl)}.jauge-barre i.at{background:var(--at)}
.bandeau{border:1px solid var(--t);border-left:3px solid var(--bl);background:var(--s);border-radius:6px;padding:8px 11px;margin:0 0 12px;max-width:1180px;font-size:12.5px}
.bandeau.at{border-left-color:var(--at)}
.bandeau a{color:var(--ac);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.pousse{margin-left:auto}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.titre-bloc{margin:4px 0 8px}
.espace{height:16px}
.fraicheur{margin:-6px 0 12px}
.fraicheur.alerte{color:var(--bl)}
.echecs{margin:-6px 0 12px}
.echecs>summary{cursor:pointer;list-style:none}
.echecs>summary::-webkit-details-marker{display:none}
.echecs>summary .fraicheur{margin:0;display:inline}
.echecs>summary::after{content:" · détail ▾";color:var(--e2);font-size:12px}
.echecs ul{margin:4px 0 0 18px;font-size:12px;color:var(--e2)}
.defile-x{overflow-x:auto}
td.nombre,th.nombre{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.note{margin-top:8px}

/* Équipe */
.ag>summary{display:block}
.ag>summary::after{display:block;margin-top:4px}
.nom-agent{display:flex;gap:6px 8px;align-items:baseline;flex-wrap:wrap}
.nom-agent b{font-size:14px}
.ag>summary p{margin:4px 0 0;color:var(--e2);font-size:12.5px}
.ag h3{margin:12px 0 5px}
.ag p.k{margin:0}
.skills{list-style:none}
.skills li{border-top:1px solid var(--t);padding:5px 0;font-size:12.5px}
.skills li:first-child{border-top:0}
.skills a,.skills li>span{display:block}
.skills a:hover span{color:var(--ac)}
.skills small{display:block;margin-top:1px}
.tags{display:flex;gap:5px;flex-wrap:wrap}
.tag{font-size:11.5px;padding:1px 8px;border-radius:3px;background:var(--s2);color:var(--e);white-space:nowrap}
.boite{margin-top:14px}
.lecteur-texte{max-width:860px}
.lecteur-texte>h3{margin-bottom:2px}
.lecteur-texte>p.k{margin-bottom:12px}

/* Savoir */
.entete-liste{margin:8px 0 2px}
.entete-liste .compte{margin-left:0;flex:1}
.lecon{border-top:1px solid var(--t)}
.lecon:first-child{border-top:0}
.lecon>summary{list-style:none;cursor:pointer;display:flex;gap:6px;padding:8px 0}
.lecon>summary::-webkit-details-marker{display:none}
.lecon>summary .chev{padding-top:1px}
.lecon>summary .chev::before{content:"▸"}
.lecon[open]>summary .chev::before{content:"▾"}
.lecon>summary:hover b{color:var(--ac)}
.lecon .regle{font-size:12.5px;margin:3px 0 2px}
.lecon small{display:block}
.corps-lecon{padding:0 0 10px 18px}
.champ-lecon h4{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--e2);font-weight:600;margin:6px 0 2px}
.champ-lecon p{font-size:12.5px}
.progression{border-top:1px solid var(--t);padding-top:8px;margin-top:8px}
.progression a{display:block;font-size:12.5px;margin-bottom:4px}
.progression a:hover{color:var(--ac)}
.progression small{display:block;margin-top:2px}
.dessins{margin-top:14px}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.galerie figure{border:1px solid var(--t);border-radius:6px;overflow:hidden;background:var(--s2);display:flex;flex-direction:column}
.galerie figure a{display:block;background:#fff;padding:8px}
.galerie img{display:block;width:100%;height:150px;object-fit:contain}
.galerie figcaption{padding:7px 9px;font-size:12px;color:var(--e2)}
.galerie figcaption b{display:block;color:var(--e);font:11.5px var(--mono);margin-bottom:3px}

/* Graphiques */
.graphique{display:block;width:100%;height:auto;overflow:visible}
.graphique.petit{width:auto;max-width:100%}
.graphique .grille{stroke:var(--t);stroke-width:1}
.graphique .axe{stroke:var(--e3);stroke-width:1}
.graphique text{fill:var(--e2);font:10.5px system-ui,sans-serif}
.graphique text.valeur{fill:var(--e);font-weight:600;font-size:11.5px}
.graphique .survol{fill:transparent}
.graphique .barre:hover .survol{fill:rgba(124,155,255,.08)}
.serie-0{fill:var(--ac);background:var(--ac)}.serie-1{fill:var(--ok);background:var(--ok)}.serie-2{fill:var(--bl);background:var(--bl)}
.serie-3{fill:var(--e);background:var(--e)}.serie-4{fill:var(--e2);background:var(--e2)}.serie-5{fill:var(--at);background:var(--at)}.serie-6{fill:var(--e3);background:var(--e3)}
.cadre-graphique{margin:8px 0 6px}
.legende{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;margin-bottom:6px}
.legende li{display:flex;align-items:center;gap:6px}
.pastille{width:10px;height:10px;border-radius:2px;flex:none}
.valeurs summary{cursor:pointer;color:var(--e2);font-size:12px;padding:4px 0}
.valeurs table{margin-top:4px}

/* Travaux */
.tv{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
.liste-travaux{margin-top:10px;max-height:calc(100vh - 210px);overflow:auto}
.cmd{display:block;width:100%;padding:8px 10px;border:1px solid var(--t);border-radius:6px;background:var(--s);margin-bottom:7px}
.cmd:hover{border-color:var(--e3)}
.cmd.on{border-color:var(--ac)}
.cmd b{display:block;font-weight:600;font-size:12.5px;margin-bottom:3px}
.tete-travail{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.tete-travail .x{flex:1;min-width:0}
.tete-travail small{display:block;margin-top:3px}
.entete-fil{margin-bottom:2px}
.entete-fil h3{margin:0}
.fil .grp{margin:0;border-top:1px solid var(--t)}
.fil .gh{border:0;margin:0;padding:8px 2px}
.gh .res{flex:1;color:var(--e2);font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fil .corps{padding:0 0 8px 20px}
.etape{display:flex;gap:8px;align-items:baseline;padding:4px 0}
.etape .h{font:11px var(--mono);color:var(--e2);width:38px;flex:none}
.etape .marque{flex:none;font-size:10.5px;font-weight:600;padding:0 6px;border-radius:3px;width:78px;text-align:center}
.marque.ok{background:#143024;color:var(--ok)}.marque.bl{background:#3A2E12;color:var(--bl)}.marque.at{background:#3A1C19;color:var(--at)}
.marque.co{background:#1B2748;color:var(--ac)}.marque.gr{background:var(--s2);color:var(--e2)}
.etape .x{flex:1;min-width:0;font-size:12.5px}
.etape small{display:block}
.taches .grp{margin-bottom:4px}
.taches .gh{margin-bottom:4px}
.tache.retrait-1{padding-left:18px}.tache.retrait-2{padding-left:36px}.tache.retrait-3{padding-left:54px}
.tache.retrait-1 .x>span::before,.tache.retrait-2 .x>span::before,.tache.retrait-3 .x>span::before{content:"↳ ";color:var(--e3)}
.tache .pj{color:var(--e3)}

/* Budget */
.explication{margin:-6px 0 4px}
.chiffres{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.chiffres small{display:block}
.gros{display:block;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;margin:2px 0}
.c h3+table,.c table+h3{margin-top:4px}
.c>h3:not(:first-child){margin-top:14px}
table.semaine td small{display:block}
.colonne-barre{width:40%}
.barre-h{display:block;height:8px;border-radius:3px;background:var(--s2);margin-top:5px;overflow:hidden}
.barre-h i{display:block;height:100%;min-width:2px}
.limites{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.limites label input{max-width:200px}
.limites fieldset{border:1px solid var(--t);border-radius:6px;padding:8px 10px}
.limites legend{font-size:12px;color:var(--e2);padding:0 4px}
.choix{flex-direction:row;align-items:flex-start;gap:8px;padding:5px 0;color:var(--e);cursor:pointer}
.choix input{margin-top:3px}
.choix b{display:block;font-weight:600;font-size:13px}
.choix small{display:block}
.message:empty{display:none}
.journal{margin:0 0 0 18px;font-size:12.5px}
.journal li{margin-bottom:4px}
.ecran>.c,.ecran>details.c{margin-top:14px}
.agrandir{max-width:620px;margin:6px auto 0;text-align:right;font-size:12px}
.agrandir a{color:var(--e2);text-decoration:underline;text-underline-offset:2px}

@media (width < 860px){
  .jauge .mot{display:none}
  .g3,.tv,.chiffres{grid-template-columns:minmax(0,1fr)}
  .liste-travaux{max-height:none}
  .gh .res{display:none}
  .galerie{grid-template-columns:minmax(0,1fr)}
  .tete-travail{flex-direction:column}
  .colonne-barre{width:30%}
  .etape .marque{width:auto}
}
.espace-haut{margin-top:14px}
.cadre-graphique{min-height:200px}
.cadre-graphique .graphique{width:auto}
.semaine-precedente{margin-top:14px}
.semaine-precedente summary{cursor:pointer;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--e2);font-weight:600;padding:2px 0 6px}
.lecon>summary .chev{flex:none}
.skills a>span:first-child,.skills li>span:first-child{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Étape 4 : commander, suivre une commande, demander à l'IA, aide */
.lien-aide{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--t);border-radius:50%;font-size:11px;font-weight:600;color:var(--e2);align-self:center;flex:none}
.lien-aide:hover,.lien-aide:focus-visible{border-color:var(--ac);color:var(--ac)}
.commander textarea,.demande-ia textarea{font:13px/1.45 system-ui,sans-serif;min-height:80px}
.commander .rg .k{flex:1;min-width:160px}
.commander .message:empty,.demande-ia .message:empty{display:none}
.commander .compte-rendu p{margin:0 0 8px;font-size:12.5px}
.commander .compte-rendu .bt,.demande-ia .compte-rendu .bt{display:inline-block}
.commander .indispo,.demande-ia .indispo{margin:8px 0 0}
.texte-commande{white-space:normal}
.l .texte-commande{display:block;font-size:13px}
.l small.alerte{color:var(--at)}
.bloc-commandes{display:flex;flex-direction:column;gap:10px}
.bloc-commandes>.outils{margin-bottom:0}
details.commande>summary{align-items:flex-start}
details.commande>summary .x{flex:1;min-width:0}
details.commande>summary small{display:block;margin-top:2px}
details.commande>summary small.alerte{color:var(--at)}
details.commande .nom-agent b{font-size:13.5px;font-weight:600}
.texte-entier{white-space:pre-wrap;font-size:12.5px;background:var(--s2);border-radius:5px;padding:8px 10px;margin-bottom:8px}
.documents-commande{margin:0 0 4px}
.fil-cartes{list-style:none;display:flex;flex-direction:column;gap:2px}
.fil-cartes ol{list-style:none;display:flex;flex-direction:column;gap:2px}
.carte-fil{display:flex;gap:9px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--t)}
.fil-cartes>.carte-fil:first-child{border-top:0}
.carte-fil>.marque{flex:none;width:132px;font-size:11px;font-weight:600;padding:1px 6px;border-radius:3px;text-align:center;margin-top:1px;line-height:1.35}
.carte-fil .x{flex:1;min-width:0;font-size:12.5px}
.carte-fil small{display:block;margin-top:1px}
.carte-fil small.alerte{color:var(--at)}
.carte-fil .rg{margin-top:5px}
.vague{border-left:2px solid var(--ac);padding:4px 0 2px 10px;margin:4px 0;border-top:1px solid var(--t)}
.vague>.k{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ac);margin:2px 0 0}
.vague .carte-fil:first-child{border-top:0}
details.resume{margin-top:4px}
details.resume>summary{cursor:pointer;color:var(--e2);font-size:12px}
details.resume>summary:hover{color:var(--e)}
details.resume .texte-md{margin-top:4px;padding:8px 10px;background:var(--f);border-radius:5px;font-size:12.5px}
.demande-ia{margin-top:14px;padding-top:10px;border-top:1px solid var(--t)}
.demande-ia h3{margin-bottom:6px}
.petit-choix{margin-top:6px;font-size:12.5px;color:var(--e2)}
.petit-choix span{flex:1;min-width:0}
.bandeau.ok-bandeau{border-left-color:var(--ok)}
.bandeau .bt{margin-left:4px;vertical-align:baseline}
.sommaire-aide{margin-bottom:12px}
.page-aide .texte-md h1{font-size:15px;margin-bottom:8px}
.page-aide .texte-md h2{font-size:11px;margin-top:16px}
.page-aide .texte-md p,.page-aide .texte-md li{font-size:13.5px;line-height:1.55}
.taches>summary .k{font-weight:400}
@media (width < 860px){
  .carte-fil{flex-direction:column;gap:3px}
  .carte-fil>.marque{width:auto;max-width:100%}
}
.documents-commande .bt,.carte-fil .rg .bt{white-space:normal;text-align:left}
.modeles .limites fieldset{display:flex;flex-direction:column;gap:2px}
.modeles .mesure{color:var(--e);margin:2px 0 4px}
.modeles .limites{margin-top:0}
