
:root{
  --fond:#F5F6F8;--carte:#FFFFFF;--bord:#E4E7EC;--bord-2:#D0D5DD;
  --texte:#101828;--texte-2:#475467;--texte-3:#5F6B7E;
  --nuit:#13294B;--nuit-2:#1E3A64;--nuit-3:#EEF2F8;
  --vert:#067647;--vert-fond:#ECFDF3;--vert-bord:#ABEFC6;
  --orange:#9A3E07;--orange-fond:#FFFAEB;--orange-bord:#FEDF89;
  --rouge:#B42318;--rouge-fond:#FEF3F2;--rouge-bord:#FECDCA;
  --bleu:#175CD3;--bleu-fond:#EFF4FF;
  --r:12px;--r-petit:8px;
  --ombre:0 1px 2px rgba(16,24,40,.05);
  --ombre-2:0 4px 12px -2px rgba(16,24,40,.08),0 2px 4px -2px rgba(16,24,40,.05);
  --police:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:15px/1.55 var(--police);
  -webkit-font-smoothing:antialiased}
a{color:var(--bleu);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0;letter-spacing:-.01em;color:var(--texte)}
h1{font-size:26px;line-height:1.25;font-weight:700}
h2{font-size:18px;line-height:1.35;font-weight:650}
h3{font-size:15.5px;font-weight:650}
p{margin:0}
:focus-visible{outline:2px solid var(--bleu);outline-offset:2px;border-radius:4px}
.lu-seul{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saut{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--nuit);color:#fff;
  padding:10px 14px;border-radius:8px}
.saut:focus{left:8px}
.ic{flex:0 0 auto;display:inline-block;vertical-align:middle}
.sigle{width:30px;height:30px;flex:0 0 auto}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--texte);font-weight:750;
  font-size:17px;letter-spacing:-.01em;text-decoration:none!important}

/* ── la structure ── */
.appli{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.cote{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--carte);
  border-right:1px solid var(--bord);padding:20px 14px;display:flex;flex-direction:column;gap:18px}
.cote .logo{padding:2px 8px}
.menu{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.menu a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;
  color:var(--texte-2);font-weight:560;font-size:14.5px;text-decoration:none}
.menu a:hover{background:var(--fond);color:var(--texte)}
.menu a[aria-current="page"]{background:var(--nuit-3);color:var(--nuit)}
.menu .compteur{margin-left:auto;background:var(--rouge);color:#fff;font-size:11.5px;
  font-weight:700;border-radius:99px;padding:1px 7px;line-height:1.5}
.menu-titre{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--texte-3);padding:10px 10px 4px}
.cote-bas{margin-top:auto;border-top:1px solid var(--bord);padding-top:14px}
.qui{display:flex;align-items:center;gap:10px;padding:4px 8px 10px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--nuit-3);color:var(--nuit);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13.5px;flex:0 0 auto}
.qui b{display:block;font-size:14px;line-height:1.3;color:var(--texte)}
.qui small{display:block;font-size:12.5px;color:var(--texte-3);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;max-width:150px}
.principal{min-width:0;display:flex;flex-direction:column}
.haut{position:sticky;top:0;z-index:20;background:rgba(245,246,248,.92);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--bord);
  display:flex;align-items:center;gap:14px;padding:12px 28px}
.haut .logo{display:none}
.recherche{flex:1;max-width:520px;position:relative}
.recherche input{width:100%;height:40px;border:1px solid var(--bord-2);border-radius:10px;
  background:var(--carte);padding:0 12px 0 38px;font:inherit;color:var(--texte)}
.recherche .ic{position:absolute;left:12px;top:11px;color:var(--texte-3)}
.cloche{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;color:var(--texte-2);border:1px solid var(--bord-2);
  background:var(--carte)}
.cloche .point{position:absolute;top:7px;right:8px;width:9px;height:9px;border-radius:50%;
  background:var(--rouge);border:2px solid var(--carte)}
.contenu{padding:28px 28px 64px;max-width:1120px;width:100%}
.titre-page{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  flex-wrap:wrap;margin-bottom:22px}
.titre-page p{color:var(--texte-2);margin-top:6px;max-width:44em}
.barre-bas{display:none}

/* ── les cartes et les blocs ── */
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);
  box-shadow:var(--ombre);padding:20px}
.carte+.carte{margin-top:16px}
.carte h2{margin-bottom:12px}
.carte-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:14px;flex-wrap:wrap}
.carte-tete h2{margin:0}
.pile{display:flex;flex-direction:column;gap:16px;min-width:0}
.grille-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grille-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.colonnes{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.section{margin-top:26px}
.section>h2{margin-bottom:12px}
.muet{color:var(--texte-3)}
.petit{font-size:13px}
.gras{font-weight:650}
.mono{font-family:var(--mono);font-size:.94em}
.separateur{height:1px;background:var(--bord);margin:16px 0;border:0}

/* ── indicateurs ── */
.kpi{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);padding:16px 18px;
  box-shadow:var(--ombre)}
.kpi span{display:block;font-size:13px;color:var(--texte-2);font-weight:560}
.kpi b{display:block;font-size:28px;line-height:1.15;margin-top:6px;font-weight:700;letter-spacing:-.02em}
.kpi small{display:block;font-size:12.5px;color:var(--texte-3);margin-top:4px}
.kpi.vert b{color:var(--vert)}
.kpi.orange b{color:var(--orange)}
.kpi.rouge b{color:var(--rouge)}
.bandeau-jour{background:var(--nuit);color:#fff;border-radius:var(--r);padding:22px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.bandeau-jour .gros{font-size:34px;font-weight:750;letter-spacing:-.02em;line-height:1.1}
.bandeau-jour p{color:#D5DDEA;margin-top:4px}
.bandeau-jour .puces{display:flex;gap:10px;flex-wrap:wrap}
.bandeau-jour .puces span{background:rgba(255,255,255,.12);border-radius:99px;padding:6px 12px;
  font-size:13.5px;font-weight:600}

/* ── les badges ── */
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:3px 10px;
  font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.6;
  border:1px solid transparent;white-space:nowrap}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.b-tres{background:var(--vert-fond);color:var(--vert);border-color:var(--vert-bord)}
.b-pert{background:var(--bleu-fond);color:var(--bleu);border-color:#C7D7FE}
.b-hors{background:var(--fond);color:var(--texte-3);border-color:var(--bord-2)}
.b-att{background:var(--orange-fond);color:var(--orange);border-color:var(--orange-bord)}
.b-urg{background:var(--rouge-fond);color:var(--rouge);border-color:var(--rouge-bord)}
.b-neutre{background:var(--fond);color:var(--texte-2);border-color:var(--bord-2)}
.b-nuit{background:var(--nuit-3);color:var(--nuit);border-color:#C9D4E5}
.etiquette{display:inline-flex;align-items:center;border-radius:6px;padding:2px 8px;font-size:12.5px;
  font-weight:600;background:var(--fond);color:var(--texte-2);border:1px solid var(--bord)}

/* ── les boutons ── */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;
  padding:0 16px;border-radius:10px;border:1px solid var(--nuit);background:var(--nuit);color:#fff;
  font:600 14.5px var(--police);cursor:pointer;text-decoration:none!important;white-space:nowrap}
.bouton:hover{background:var(--nuit-2)}
.bouton.secondaire{background:var(--carte);color:var(--texte);border-color:var(--bord-2)}
.bouton.secondaire:hover{background:var(--fond)}
.bouton.fantome{background:transparent;color:var(--texte-2);border-color:transparent}
.bouton.fantome:hover{background:var(--fond);color:var(--texte)}
.bouton.danger{background:var(--carte);color:var(--rouge);border-color:var(--rouge-bord)}
.bouton.danger:hover{background:var(--rouge-fond)}
.bouton.vert{background:var(--vert);border-color:var(--vert)}
.bouton.petit{min-height:34px;padding:0 12px;font-size:13.5px;border-radius:8px}
.bouton.large{width:100%}
.bouton[disabled]{opacity:.55;cursor:default}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lien-retour{display:inline-flex;align-items:center;gap:8px;color:var(--texte-2);font-weight:560;
  margin-bottom:16px}

/* ── les formulaires ── */
.champ{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.champ label,.legende{font-weight:600;font-size:14px;color:var(--texte)}
.champ input,.champ select,.champ textarea{width:100%;min-height:44px;border:1px solid var(--bord-2);
  border-radius:10px;background:var(--carte);padding:10px 12px;font:inherit;color:var(--texte)}
.champ textarea{min-height:110px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--bleu);
  box-shadow:0 0 0 3px rgba(23,92,211,.14)}
.champ .aide{font-size:13px;color:var(--texte-3)}
.champ.en-erreur input{border-color:var(--rouge)}
.champ .err{font-size:13px;color:var(--rouge);font-weight:560}
.deux-champs{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:6px 0 18px}
.case{display:flex;align-items:center;gap:10px;border:1px solid var(--bord-2);border-radius:10px;
  padding:11px 12px;background:var(--carte);cursor:pointer;font-weight:560;font-size:14.5px}
.case:hover{border-color:var(--nuit)}
.case input{width:18px;height:18px;accent-color:var(--nuit);margin:0;flex:0 0 auto}
.case:has(input:checked){border-color:var(--nuit);background:var(--nuit-3)}
.case small{display:block;font-weight:400;color:var(--texte-3);font-size:12.5px}
.secteur{border:1px solid var(--bord-2);border-radius:12px;margin:0 0 8px;background:var(--carte)}
.secteur>summary{cursor:pointer;padding:12px 14px;font-weight:600;font-size:15px;list-style:none}
.secteur>summary::-webkit-details-marker{display:none}
.secteur>summary::before{content:'+';display:inline-block;width:18px;color:var(--texte-3)}
.secteur[open]>summary::before{content:'\2212'}
.secteur>.cases{padding:0 14px 6px;margin:0 0 8px}
.case[hidden]{display:none}
.liste-pieces{list-style:none;margin:0;padding:0}
.liste-pieces li{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;
  padding:13px 0;border-bottom:1px solid var(--bord)}
.liste-pieces li:last-child{border-bottom:0}
.liste-pieces .texte{display:flex;flex-direction:column;gap:2px;flex:1 1 260px;min-width:0}
.liste-pieces .qui{font-size:12px;color:var(--texte-3);letter-spacing:.02em}
.liste-pieces .droite{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#toutes-rubriques .cases{max-height:360px;overflow:auto}
.coche-ligne{display:flex;align-items:flex-start;gap:10px;margin:10px 0;font-size:14.5px}
.coche-ligne input{width:18px;height:18px;margin-top:2px;accent-color:var(--nuit);flex:0 0 auto}
.message{border-radius:10px;padding:12px 14px;font-size:14.5px;margin-bottom:16px;border:1px solid}
.message.info{background:var(--bleu-fond);border-color:#C7D7FE;color:#1849A9}
.message.ok{background:var(--vert-fond);border-color:var(--vert-bord);color:var(--vert)}
.message.att{background:var(--orange-fond);border-color:var(--orange-bord);color:var(--orange)}
.message.err{background:var(--rouge-fond);border-color:var(--rouge-bord);color:var(--rouge)}
.message b{font-weight:650}

/* ── connexion et accueil ── */
.porte{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:48px 18px}
.porte-boite{width:100%;max-width:470px}
.porte-boite.large{max-width:660px}
.porte-boite .logo{margin-bottom:26px}
.porte-carte{background:var(--carte);border:1px solid var(--bord);border-radius:16px;
  box-shadow:var(--ombre-2);padding:30px 28px}
.porte-carte h1{font-size:24px}
.porte-carte .sous{color:var(--texte-2);margin:8px 0 24px}
.porte-pied{text-align:center;margin-top:18px;color:var(--texte-2);font-size:14.5px}
.progression{display:flex;gap:6px;margin-bottom:20px}
.progression span{flex:1;height:4px;border-radius:4px;background:var(--bord)}
.progression span.fait{background:var(--nuit)}
.etape-num{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--texte-3);margin-bottom:8px}
.fiche-entreprise{border:1px solid var(--bord);border-radius:12px;padding:16px 18px;background:var(--fond);
  margin-bottom:18px}
.fiche-entreprise .nom{font-size:19px;font-weight:700;margin-bottom:10px}
.lignes-info{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14.5px}
.lignes-info dt{color:var(--texte-3)}
.lignes-info dd{margin:0;font-weight:560}

/* ── les marches ── */
.liste{display:flex;flex-direction:column;gap:12px}
.marche{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);padding:18px 20px;
  box-shadow:var(--ombre);display:flex;flex-direction:column;gap:10px}
.marche:hover{border-color:var(--bord-2);box-shadow:var(--ombre-2)}
.marche-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.marche h3{font-size:16.5px;line-height:1.4}
.marche h3 a{color:var(--texte)}
.marche .acheteur{color:var(--texte-2);font-size:14px;margin-top:2px}
.infos{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:14px;color:var(--texte-2)}
.infos span{display:inline-flex;align-items:center;gap:6px}
.infos .urgent{color:var(--rouge);font-weight:650}
.pourquoi-court{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--texte-2)}
.pourquoi-court span{display:inline-flex;align-items:center;gap:5px}
.pourquoi-court .ok{color:var(--vert)}
.marche-pied{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding-top:10px;border-top:1px solid var(--bord)}
.statut-suivi{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;
  color:var(--nuit)}
.vide{text-align:center;padding:40px 24px;background:var(--carte);border:1px dashed var(--bord-2);
  border-radius:var(--r)}
.vide h2{margin-bottom:8px}
.vide p{color:var(--texte-2);max-width:34em;margin:0 auto 16px}
.cles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.cle{border:1px solid var(--bord);border-radius:10px;padding:12px 14px;background:var(--carte)}
.cle span{display:block;font-size:12.5px;color:var(--texte-3);font-weight:600;text-transform:uppercase;
  letter-spacing:.04em}
.cle b{display:block;font-size:16px;margin-top:4px}
.cle small{display:block;color:var(--texte-2);font-size:13px;margin-top:2px}
.cle.urgent b{color:var(--rouge)}
.pourquoi{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pourquoi li{display:flex;gap:12px;align-items:flex-start}
.pourquoi .rond{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;margin-top:1px}
.pourquoi .ok .rond{background:var(--vert-fond);color:var(--vert)}
.pourquoi .non .rond{background:var(--rouge-fond);color:var(--rouge)}
.pourquoi .att .rond{background:var(--orange-fond);color:var(--orange)}
.pourquoi .inc .rond{background:var(--fond);color:var(--texte-3)}
.pourquoi b{display:block;font-size:14px}
.pourquoi p{color:var(--texte-2);font-size:14px}
.transparence{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--fond);
  color:var(--texte-2);font-size:13.5px}
.points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.points li{display:flex;gap:10px;align-items:flex-start;background:var(--orange-fond);
  border:1px solid var(--orange-bord);border-radius:10px;padding:10px 12px;color:var(--orange);font-size:14px}
.points li b{display:block;color:#7A2E0E}
.points li p{color:#7A2E0E;opacity:.92}
.infos-table{width:100%;border-collapse:collapse;font-size:14.5px}
.infos-table th{text-align:left;font-weight:560;color:var(--texte-3);padding:9px 12px 9px 0;
  width:36%;vertical-align:top;border-bottom:1px solid var(--bord)}
.infos-table td{padding:9px 0;border-bottom:1px solid var(--bord)}
.infos-table tr:last-child th,.infos-table tr:last-child td{border-bottom:0}
.docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.docs li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--bord);
  border-radius:10px;padding:10px 12px}
.docs li span{display:inline-flex;align-items:center;gap:10px;font-weight:560}

/* ── les onglets, filtres et tableaux ── */
.onglets{display:flex;gap:4px;border-bottom:1px solid var(--bord);margin-bottom:18px;overflow-x:auto;
  scrollbar-width:none}
.onglets a{padding:10px 14px;color:var(--texte-2);font-weight:600;font-size:14.5px;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none}
.onglets a[aria-current="page"]{color:var(--nuit);border-color:var(--nuit)}
.onglets a .n{color:var(--texte-3);font-weight:560;margin-left:5px}
.filtres{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:16px}
.filtres .champ{margin:0;min-width:150px;flex:1 1 150px}
.filtres .champ label{font-size:12.5px;color:var(--texte-2)}
.filtres .champ select,.filtres .champ input{min-height:40px;padding:8px 10px}
.nombre-resultats{font-weight:650;margin:4px 0 12px}
.tableau-boite{overflow-x:auto;background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);
  box-shadow:var(--ombre)}
table.tableau{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.tableau th{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--texte-3);
  font-weight:650;padding:11px 14px;background:#FAFBFC;border-bottom:1px solid var(--bord);white-space:nowrap}
.tableau td{padding:12px 14px;border-bottom:1px solid var(--bord);vertical-align:top}
.tableau tr:last-child td{border-bottom:0}
.tableau tr:hover td{background:#FAFBFC}
.tableau .num{text-align:right;font-variant-numeric:tabular-nums}
.fil-activite{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fil-activite li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--bord);font-size:14px}
.fil-activite li:last-child{border-bottom:0}
.fil-activite .quand{color:var(--texte-3);font-size:12.5px;min-width:112px}
.etat-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;
  border-bottom:1px solid var(--bord)}
.etat-ligne:last-child{border-bottom:0}
.pastille{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.pastille::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.pastille.ok{color:var(--vert)}.pastille.att{color:var(--orange)}.pastille.err{color:var(--rouge)}
.pastille.off{color:var(--texte-3)}
.barre-prog{height:8px;border-radius:8px;background:var(--bord);overflow:hidden}
.barre-prog i{display:block;height:100%;background:var(--vert);border-radius:8px}
.entonnoir-ligne{display:grid;grid-template-columns:200px 1fr 60px;gap:12px;align-items:center;
  font-size:14px;padding:6px 0}
.entonnoir-ligne .barre-prog i{background:var(--nuit)}
.fil-ticket{display:flex;flex-direction:column;gap:12px}
.bulle{border:1px solid var(--bord);border-radius:12px;padding:12px 14px;background:var(--carte)}
.bulle.admin{background:var(--nuit-3);border-color:#C9D4E5}
.bulle small{display:block;color:var(--texte-3);font-size:12.5px;margin-bottom:4px}
.faq details{border:1px solid var(--bord);border-radius:10px;background:var(--carte);margin-bottom:10px}
.faq summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--texte-3);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 16px 14px;color:var(--texte-2)}
.offre{border:2px solid var(--nuit);border-radius:16px;padding:24px;background:var(--carte)}
.offre .prix{font-size:42px;font-weight:750;letter-spacing:-.02em;line-height:1}
.offre .prix small{font-size:16px;font-weight:560;color:var(--texte-2)}
.inclus{list-style:none;margin:18px 0;padding:0;display:flex;flex-direction:column;gap:9px}
.inclus li{display:flex;gap:10px;align-items:center}
.inclus .ic{color:var(--vert)}
.pastilles-choix{display:flex;flex-wrap:wrap;gap:8px}

/* ── le telephone ── */
@media (max-width:1100px){
  .grille-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .colonnes{grid-template-columns:minmax(0,1fr)}
  .cles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .appli{grid-template-columns:1fr}
  .cote{display:none}
  .haut{padding:10px 16px}
  .haut .logo{display:inline-flex}
  .haut .logo span{display:none}
  .contenu{padding:20px 16px 96px}
  .barre-bas{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--carte);
    border-top:1px solid var(--bord);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .barre-bas a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;
    color:var(--texte-3);font-size:11.5px;font-weight:600;text-decoration:none;border-radius:8px;
    min-height:48px;justify-content:center}
  .barre-bas a[aria-current="page"]{color:var(--nuit)}
  .grille-2,.grille-3{grid-template-columns:1fr}
  h1{font-size:23px}
}
@media (max-width:560px){
  .grille-4{grid-template-columns:1fr 1fr}
  .deux-champs{grid-template-columns:1fr}
  .porte{padding:24px 14px}
  .porte-carte{padding:24px 18px}
  .cles{grid-template-columns:1fr 1fr}
  .kpi b{font-size:24px}
  .marche{padding:16px}
  .entonnoir-ligne{grid-template-columns:1fr 60px}
  .entonnoir-ligne .barre-prog{grid-column:1 / -1;order:3}
  .bandeau-jour .gros{font-size:28px}
}
@media (max-width:900px){
  body.admin .cote{display:flex;position:static;height:auto;border-right:0;border-bottom:1px solid var(--bord);
    padding:12px 12px 8px;gap:10px}
  body.admin .menu{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:4px}
  body.admin .menu a{white-space:nowrap;padding:8px 10px}
  body.admin .cote-bas{display:none}
  body.admin .contenu{padding-bottom:40px}
}
/* ── Le systeme commun au site public (27/09/2026) : fond tres clair, surfaces
   blanches, bleu nuit pour agir, vert reserve aux etats positifs ; titres a
   empattements et logotype en capitales, comme sur le site. ── */
:root{--fond:#F6F7F9;--texte-3:#5B6679;--bleu:#1D4ED8;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
h1{font-family:var(--serif);font-weight:400;letter-spacing:-.012em}
.logo span{font-family:var(--serif);font-weight:400;letter-spacing:.09em;text-transform:uppercase;
  font-size:16px;color:var(--nuit)}
.porte{background:radial-gradient(900px 520px at 12% -8%,rgba(29,78,216,.07),transparent 62%),
  radial-gradient(800px 480px at 100% 0,rgba(19,41,75,.06),transparent 58%),var(--fond)}
.porte-carte{box-shadow:0 24px 60px -30px rgba(16,24,40,.25)}
.pagination{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
details.pas-pour-moi{position:relative}
details.pas-pour-moi>summary{list-style:none;cursor:pointer}
details.pas-pour-moi>summary::-webkit-details-marker{display:none}
details.pas-pour-moi[open]>form{position:absolute;right:0;z-index:30;margin-top:6px;width:min(290px,80vw);
  background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);box-shadow:var(--ombre-2);padding:12px 14px}
.raisons{border:0;margin:0 0 10px;padding:0;display:grid;gap:4px}
.raisons legend{margin-bottom:6px}
.ou-lien{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--texte-3);font-size:13px}
.ou-lien::before,.ou-lien::after{content:"";flex:1;height:1px;background:var(--bord)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.cote,.haut,.barre-bas,.actions{display:none!important}.appli{display:block}}
