/* Vigie · feuille de style écrite à la main. Voir DESIGN.md.
   Ordre : 1 jetons · 2 socle · 3 structure (barre, bandeau, onglets bas) · 4 composants · 5 écrans · 6 téléphone · 7 impression */

/* ───────────── 1 · Jetons ───────────── */
@font-face{font-family:"Inter";src:url("/static/fonts/inter-latin-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --fond:#F6F5F1;--surface:#FFFFFF;--surface-2:#FBFAF8;--filet:#E5E2DA;--filet-fort:#CFCBC0;
  --encre:#1A1C1F;--encre-2:#474B52;--encre-3:#666A72;
  --accent:#12495A;--accent-fort:#0C3643;--accent-doux:#E7EFF1;--sur-accent:#FFFFFF;
  --e-mise_en_demeure:#A3301F;--e-relancee:#B4571B;--e-echue:#946A00;--e-a_payer:#3F5F85;--e-payee:#2E6B4E;
  --e-bloquee:#33383F;--e-litige:#7A5A43;--e-annoncee:#946A00;--e-neutre:#666A72;
  --ton-info:#F0F4F5;--ton-succes:#EEF4F0;--ton-attention:#FAF4E4;--ton-erreur:#FAEEEB;
  --police:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --t-titre:600 20px/28px var(--police);--t-section:600 15px/22px var(--police);--t-corps:400 14px/20px var(--police);
  --t-petit:400 12.5px/18px var(--police);--t-chiffre:600 26px/30px var(--police);
  --e1:4px;--e2:8px;--e3:12px;--e4:16px;--e5:24px;--e6:32px;--e7:48px;
  --r1:4px;--r2:6px;--r3:8px;
  --ombre-menu:0 8px 24px rgba(26,28,31,.10),0 1px 2px rgba(26,28,31,.06);
  --vite:140ms;--l-barre:248px;--h-haut:56px;--h-onglets:62px;
}
/* Mode sombre : non livré. Pour l'activer, renseigner ces valeurs dans @media (prefers-color-scheme: dark) :
   --fond:#16181B; --surface:#1D2024; --surface-2:#22262B; --filet:#2E3238; --filet-fort:#3D424A;
   --encre:#ECEAE5; --encre-2:#B9B6AE; --encre-3:#96938B; --accent:#7FB6C6; --accent-fort:#9CC8D5; --accent-doux:#1E3138; --sur-accent:#0E1B20;
   et éclaircir les couleurs d'état d'environ 25 %. */

/* ───────────── 2 · Socle ───────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--t-corps);font-variant-numeric:tabular-nums;color:var(--encre);background:var(--fond);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,dl,figure{margin:0}
h1{font:var(--t-titre);letter-spacing:-.01em}
h2{font:var(--t-section);margin:var(--e6) 0 var(--e3)}
h3{font:600 14px/20px var(--police);margin:0 0 var(--e2)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--accent-fort)}
b,strong{font-weight:600}
code{font:12.5px/18px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--fond);border:1px solid var(--filet);border-radius:var(--r1);padding:0 4px;overflow-wrap:anywhere}
ul,ol{padding-left:20px}
li{margin:2px 0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r1)}
summary{cursor:pointer}
.ico{width:16px;height:16px;flex:none;vertical-align:-3px}
.sans-js .js-seulement{display:none !important}
.cache{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.evitement{position:absolute;left:8px;top:-40px;background:var(--surface);padding:8px 12px;border:1px solid var(--filet-fort);border-radius:var(--r2);z-index:50}
.evitement:focus{top:8px}
.petit,.source{font:var(--t-petit);color:var(--encre-3)}
.doux{color:var(--encre-3)}
.n{text-align:right;white-space:nowrap}
.mot{border-bottom:1px dotted var(--encre-3);cursor:help}
kbd{font:500 11px/16px var(--police);padding:0 5px;min-width:18px;display:inline-block;text-align:center;border:1px solid var(--filet-fort);border-bottom-width:2px;border-radius:var(--r1);background:var(--surface);color:var(--encre-2)}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}

/* ───────────── 3 · Structure ───────────── */
.barre{position:fixed;inset:0 auto 0 0;width:var(--l-barre);display:flex;flex-direction:column;gap:var(--e3);padding:var(--e3);background:var(--fond);border-right:1px solid var(--filet);overflow-y:auto;z-index:20}
.page{margin-left:var(--l-barre);min-height:100vh;display:flex;flex-direction:column}
.barre-tete{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 var(--e2)}
.marque{display:inline-flex;align-items:center;gap:var(--e2);font:650 16px/20px var(--police);letter-spacing:-.02em;color:var(--encre);text-decoration:none}
.marque:hover{color:var(--encre)}
.marque-signe{width:14px;height:14px;border:3.5px solid var(--accent);border-radius:50%;flex:none}
.barre nav{display:flex;flex-direction:column;gap:var(--e4)}
.barre-groupe{display:flex;flex-direction:column;gap:1px}
.barre-titre{font:550 11px/16px var(--police);letter-spacing:.04em;text-transform:uppercase;color:var(--encre-3);padding:0 var(--e2) var(--e1)}
.barre-lien{display:flex;align-items:center;gap:var(--e2);height:32px;padding:0 var(--e2);border:1px solid transparent;border-radius:var(--r2);color:var(--encre-2);text-decoration:none;transition:background var(--vite)}
.barre-lien:hover{background:rgba(26,28,31,.05);color:var(--encre)}
.barre-lien.actif{background:var(--accent-doux);color:var(--accent);font-weight:650;box-shadow:inset 3px 0 0 var(--accent)}
.barre-lien.actif:hover{background:var(--accent-doux);color:var(--accent-fort)}
.barre-lien.actif .ico{color:var(--accent);stroke-width:2.1}
.barre-lien span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compteur{flex:none;font:550 11.5px/18px var(--police);min-width:20px;padding:0 6px;text-align:center;border-radius:9px;background:var(--accent);color:var(--sur-accent)}
.barre-pied{margin-top:auto;display:flex;flex-direction:column;gap:1px;padding-top:var(--e3);border-top:1px solid var(--filet)}
.barre-pied button.barre-lien{background:none;text-align:left;color:var(--encre-2);font:inherit;justify-content:flex-start;width:100%;cursor:pointer}
.barre-pied button.barre-lien:hover{border-color:transparent}
.fermer-plus,.onglets-bas,.sur-tel-seul{display:none}

/* Barre repliée (ordinateur) */
@media (min-width:900px){
  .barre-repliee{--l-barre:57px}
  .barre-repliee .barre{padding:var(--e3) var(--e2)}
  .barre-repliee .barre-lien span,.barre-repliee .barre-titre,.barre-repliee .marque-nom,.barre-repliee .choix-societe .nom,.barre-repliee .choix-societe summary .ico-bas{display:none}
  .barre-repliee .barre-lien{justify-content:center;padding:0;position:relative}
  .barre-repliee .barre-lien .compteur{position:absolute;top:-4px;right:-4px;min-width:16px;padding:0 4px;font-size:10px;line-height:16px}
  .barre-repliee .barre-tete{justify-content:center;padding:0}
  .barre-repliee .barre-groupe + .barre-groupe{border-top:1px solid var(--filet);padding-top:var(--e2)}
  .barre-repliee .barre nav{gap:var(--e2)}
  .barre-repliee .choix-societe summary{justify-content:center;padding:0}
  .barre-repliee .barre{overflow:visible}
  .barre-repliee .choix-societe .liste{right:auto;width:280px}
  .barre-repliee .replier .ico{transform:scaleX(-1)}
}

/* Sélecteur de société */
.choix-societe{position:relative}
.choix-societe summary{list-style:none;display:flex;align-items:center;gap:var(--e2);height:36px;padding:0 var(--e2);background:var(--surface);border:1px solid var(--filet-fort);border-radius:var(--r2);transition:border-color var(--vite)}
.choix-societe summary::-webkit-details-marker{display:none}
.choix-societe summary:hover{border-color:var(--encre-3)}
.choix-societe .nom{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550}
.choix-societe .ico-bas{color:var(--encre-3)}
.choix-societe .liste{position:absolute;top:40px;left:0;right:0;max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--filet-fort);border-radius:var(--r3);box-shadow:var(--ombre-menu);z-index:30}
.choix-societe .chercher{padding:var(--e2);border-bottom:1px solid var(--filet)}
.choix-societe .chercher input{width:100%}
.choix-societe ul{list-style:none;margin:0;padding:var(--e1);overflow-y:auto}
.choix-societe li{margin:0}
.choix-societe li a{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--e2);min-height:32px;padding:5px var(--e2);border-radius:var(--r1);color:var(--encre);text-decoration:none}
.choix-societe li a:hover,.choix-societe li a:focus-visible{background:var(--surface-2)}
.choix-societe li a.actif{background:var(--accent-doux);font-weight:550}
.choix-societe li a .s-nom{flex:1;min-width:0}
.choix-societe li a .etat{width:100%}
.choix-societe li.sep{border-top:1px solid var(--filet);margin-top:var(--e1);padding-top:var(--e1)}
.choix-societe .hors a{color:var(--encre-3)}

/* Bandeau haut */
.haut{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--e4);height:var(--h-haut);padding:0 var(--e6);background:var(--fond);border-bottom:1px solid var(--filet)}
.haut h1{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.haut .fil{display:inline-flex;align-items:center;gap:var(--e1);font:var(--t-corps);color:var(--encre-3);text-decoration:none;margin-right:var(--e2)}
.haut .fil:hover{color:var(--encre)}
.recherche{position:relative;width:280px;flex:none}
.recherche .ico{position:absolute;left:10px;top:8px;color:var(--encre-3);pointer-events:none}
.recherche input{width:100%;padding-left:32px;background:var(--surface)}
/* Menu « Mon compte » : la pastille aux initiales ouvre un petit menu */
.menu-compte{position:relative;flex:none}
.menu-compte summary{list-style:none;display:inline-flex;align-items:center;gap:var(--e2);height:32px;padding:0 var(--e2) 0 var(--e1);border-radius:16px;color:var(--encre-2);white-space:nowrap;transition:background var(--vite)}
.menu-compte summary::-webkit-details-marker{display:none}
.menu-compte summary:hover,.menu-compte[open] summary{background:rgba(26,28,31,.06);color:var(--encre)}
.menu-compte .ico-bas{width:14px;height:14px;color:var(--encre-3)}
.menu-compte .menu{position:absolute;right:0;top:38px;width:264px;padding:var(--e1);background:var(--surface);border:1px solid var(--filet-fort);border-radius:var(--r3);box-shadow:var(--ombre-menu);z-index:30}
.menu-compte .qui{display:flex;flex-direction:column;padding:var(--e2) var(--e3) var(--e3);margin-bottom:var(--e1);border-bottom:1px solid var(--filet);overflow-wrap:anywhere}
.menu-compte .menu-titre{font:550 11px/16px var(--police);letter-spacing:.04em;text-transform:uppercase;color:var(--encre-3);padding:var(--e1) var(--e3)}
.menu-compte form{margin:0}
.menu-compte .menu a,.menu-compte .menu button{display:flex;align-items:center;justify-content:flex-start;gap:var(--e2);width:100%;height:36px;padding:0 var(--e3);border:0;border-radius:var(--r1);background:none;font:var(--t-corps);color:var(--encre);text-decoration:none;text-align:left;cursor:pointer;white-space:normal}
.menu-compte .menu a:hover,.menu-compte .menu button:hover{background:var(--surface-2);color:var(--encre)}
.menu-compte .menu .ico{color:var(--encre-3)}
.menu-compte .menu button.actif{font-weight:600;color:var(--accent)}
.menu-compte .menu button.actif .ico{color:var(--accent)}
.compte{max-width:560px}
.compte .sortir{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e3);margin-top:var(--e5)}
.pastille-profil{width:24px;height:24px;border-radius:50%;background:var(--encre);color:var(--fond);font:600 10.5px/24px var(--police);text-align:center;letter-spacing:.02em}
main{flex:1;width:100%;max-width:1304px;padding:var(--e4) var(--e6) var(--e7)}
footer{padding:var(--e4) var(--e6) var(--e5);max-width:1304px;font:var(--t-petit);color:var(--encre-3);border-top:1px solid var(--filet)}

/* Ligne d'aide, repliable */
.aide{position:relative;font:var(--t-petit);color:var(--encre-2);max-width:86ch;margin-bottom:var(--e4)}
.aide summary{list-style:none;display:inline-flex;align-items:center;gap:var(--e1);color:var(--encre-3);border-radius:var(--r1)}
.aide summary::-webkit-details-marker{display:none}
.aide summary:hover{color:var(--encre)}
.aide[open]{padding-left:22px}
.aide[open] summary{position:absolute;left:0;top:1px}
.aide[open] summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.aide .ico{width:15px;height:15px;vertical-align:0}

/* ───────────── 4 · Composants ───────────── */
/* Boutons */
button,.bouton{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 var(--e3);font:550 13.5px/20px var(--police);font-variant-numeric:tabular-nums;color:var(--sur-accent);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r2);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--vite),border-color var(--vite)}
button:hover,.bouton:hover{background:var(--accent-fort);border-color:var(--accent-fort);color:var(--sur-accent)}
button.second,.bouton.second{background:var(--surface);color:var(--encre);border-color:var(--filet-fort)}
button.second:hover,.bouton.second:hover{background:var(--surface-2);border-color:var(--encre-3);color:var(--encre)}
button.discret,.bouton.discret{background:transparent;color:var(--encre-2);border-color:transparent;padding:0 var(--e2)}
button.discret:hover,.bouton.discret:hover{background:rgba(26,28,31,.06);color:var(--encre)}
button.danger,.bouton.danger{background:var(--e-mise_en_demeure);border-color:var(--e-mise_en_demeure)}
button.danger:hover{background:#86271A;border-color:#86271A}
button.grand,.bouton.grand{height:40px;padding:0 var(--e4);font-size:14px}
button:disabled{opacity:.5;cursor:default}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2)}
.actions.fin{justify-content:flex-end;flex-wrap:nowrap}

/* Formulaires */
label{display:block;font:500 12.5px/18px var(--police);color:var(--encre-2);margin-bottom:var(--e1)}
input,select,textarea{font:var(--t-corps);font-variant-numeric:tabular-nums;color:var(--encre);height:32px;padding:0 10px;border:1px solid var(--filet-fort);border-radius:var(--r2);background:var(--surface);max-width:100%;min-width:0;transition:border-color var(--vite)}
input:hover,select:hover,textarea:hover{border-color:var(--encre-3)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
textarea{width:100%;height:auto;padding:6px 10px}
input[type=checkbox],input[type=radio]{width:16px;height:16px;padding:0;margin:0 6px 0 0;vertical-align:-3px;accent-color:var(--accent)}
input[type=file]{height:auto;padding:5px 8px;font-size:13px}
input::placeholder,textarea::placeholder{color:var(--encre-3);opacity:1}
.champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--e3) var(--e4)}
.champs>div{min-width:0;align-self:end}
.champs input,.champs select,.champ input:not([type=checkbox]):not([type=radio]),.champ select{width:100%}
.champ{margin:var(--e3) 0}
.aide-champ{font:var(--t-petit);color:var(--encre-3);margin-top:var(--e1)}
label.coche{display:flex;align-items:flex-start;gap:2px;font:var(--t-corps);color:var(--encre);margin:var(--e2) 0}
label.coche input{margin-top:2px}
form.ligne{display:flex;flex-wrap:wrap;gap:var(--e3);align-items:flex-end}
form.ligne>div{min-width:0}

/* Sections et panneaux */
.section{margin-top:var(--e6)}
.section-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--e1) var(--e3);margin:var(--e6) 0 var(--e3)}
.section-tete h2{margin:0}
.section-tete .fin{margin-left:auto}
.panneau{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e4)}
.panneau + .panneau{margin-top:var(--e3)}
.panneau>h3:first-child{margin-bottom:var(--e3)}
details.panneau>summary{font-weight:550;list-style-position:inside}
details.panneau[open]>summary{margin-bottom:var(--e3)}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:var(--e4);align-items:start}
.deux>*{min-width:0;margin-top:0 !important}
.barre-outils{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e3);margin-bottom:var(--e3)}
.recherche-liste{width:240px}
.barre-outils .fin{margin-left:auto;display:flex;gap:var(--e2);align-items:center;flex-wrap:wrap}

/* Liste de définitions */
dl.fiche{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px var(--e4)}
dl.fiche dt{color:var(--encre-3)}
dl.fiche dd{margin:0;min-width:0;overflow-wrap:anywhere}

/* Chiffres clés : une ligne sobre */
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);overflow:hidden}
.chiffre{display:block;padding:var(--e3) var(--e4);color:inherit;text-decoration:none;box-shadow:-1px 0 0 var(--filet),0 -1px 0 var(--filet);min-width:0;transition:background var(--vite)}
a.chiffre:hover{background:var(--surface-2);color:inherit}
.chiffre .lib{display:flex;align-items:center;gap:6px;font:var(--t-petit);color:var(--encre-2)}
.chiffre .val{display:block;font:var(--t-chiffre);letter-spacing:-.02em;margin:2px 0;white-space:nowrap}
.chiffre .val.moyen{font-size:20px;line-height:30px}
.chiffre .det{display:block;font:var(--t-petit);color:var(--encre-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chiffre.zero .val{color:var(--encre-3)}

/* Badge d'état : pastille + mot */
.etat{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font:500 13px/18px var(--police);color:var(--encre)}
.etat::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--e-neutre);flex:none}
.etat.mise_en_demeure::before{background:var(--e-mise_en_demeure)}
.etat.relancee::before{background:var(--e-relancee)}
.etat.echue::before{background:var(--e-echue)}
.etat.a_payer::before,.etat.pret::before,.etat.juridique::before{background:var(--e-a_payer)}
.etat.payee::before,.etat.validee::before{background:var(--e-payee)}
.etat.bloquee::before,.etat.doublon::before{background:var(--e-bloquee);border-radius:1.5px}
.etat.litige::before{background:transparent;box-shadow:inset 0 0 0 2px var(--e-litige)}
.etat.annoncee::before,.etat.a_decider::before{background:transparent;box-shadow:inset 0 0 0 2px var(--e-annoncee)}
.etat.proposee::before{background:transparent;box-shadow:inset 0 0 0 2px var(--e-a_payer)}
.etat.cadre{padding:1px 8px 1px 7px;border:1px solid var(--filet-fort);border-radius:10px;background:var(--surface);font-size:12px}
.etat.petit{font-size:12px;font-weight:400;color:var(--encre-2)}
.pastille-nb{display:inline-block;min-width:22px;padding:0 6px;font:550 12px/20px var(--police);text-align:center;border-radius:10px;background:var(--surface);border:1px solid var(--filet-fort);color:var(--encre-2);vertical-align:1px}

/* Indicateur de confiance : trois barrettes + un mot */
.confiance{display:inline-flex;align-items:center;gap:6px;font:500 12.5px/18px var(--police);color:var(--encre-2);white-space:nowrap}
.confiance i{display:inline-flex;gap:2px;align-items:flex-end}
.confiance i b{width:4px;height:10px;border-radius:1px;background:var(--filet-fort)}
.confiance.sur i b{background:var(--e-payee)}
.confiance.a_verifier i b:nth-child(-n+2){background:var(--e-echue)}
.confiance.a_decider i b:first-child{background:var(--e-mise_en_demeure)}

/* Bandeaux */
.bandeau{display:flex;gap:var(--e3);padding:var(--e3) var(--e4);border:1px solid var(--filet);border-radius:var(--r3);background:var(--surface);margin:var(--e3) 0;overflow-wrap:anywhere}
.bandeau>.ico{margin-top:2px;color:var(--accent)}
.bandeau>div{flex:1;min-width:0}
.bandeau p + p,.bandeau p + form,.bandeau ul + p,.bandeau details{margin-top:var(--e2)}
.bandeau ul{margin:var(--e2) 0 0}
.bandeau.succes{background:var(--surface)}
.bandeau.succes>.ico{color:var(--e-payee)}
/* Avertissement : du texte sous un filet, sans fond ni rebord (passe design V2) */
.bandeau.attention{background:none;border:0;border-top:1px solid var(--filet);border-radius:0;padding:var(--e3) 0 var(--e2)}
.bandeau.attention>.ico{color:var(--e-echue)}
.bandeau.erreur{background:var(--ton-erreur);border-color:#E9CFC8}
.bandeau.erreur>.ico{color:var(--e-mise_en_demeure)}
.bandeau.blocage{background:var(--surface);border-color:var(--filet-fort)}
.bandeau.blocage>.ico{color:var(--e-bloquee)}
details.voir-source{font:var(--t-petit);color:var(--encre-2)}
details.voir-source summary{display:inline-block;color:var(--encre-3);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;list-style:none}
details.voir-source summary::-webkit-details-marker{display:none}
details.voir-source summary:hover{color:var(--encre)}
details.voir-source[open] summary{margin-bottom:2px}

/* Tableaux */
.tableau{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{padding:8px var(--e3);text-align:left;vertical-align:top;border-bottom:1px solid var(--filet)}
tbody tr:last-child td,table>tr:last-child td{border-bottom:0}
th{position:sticky;top:0;z-index:1;font:550 11px/16px var(--police);letter-spacing:.04em;text-transform:uppercase;color:var(--encre-3);background:var(--surface-2);white-space:nowrap;vertical-align:bottom;padding-top:8px;padding-bottom:8px}
th.n,td.n{text-align:right}
td.n{white-space:nowrap}
td.detail{color:var(--encre-2)}
td .sous{display:block;font:var(--t-petit);color:var(--encre-3)}
tr{transition:background var(--vite)}
.tableau.cliquable tbody tr{position:relative}
.tableau.cliquable tbody tr:hover{background:var(--surface-2)}
.tableau.cliquable a.lien-ligne{color:var(--encre);font-weight:550;text-decoration:none}
.tableau.cliquable a.lien-ligne::after{content:"";position:absolute;inset:0}
.tableau.cliquable a.lien-ligne:focus-visible{outline:none}
.tableau.cliquable tr:has(a.lien-ligne:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}
.tableau.cliquable td form,.tableau.cliquable td .dessus{position:relative;z-index:1}
.tableau.serre th,.tableau.serre td{padding:6px var(--e3)}
.tableau.serre td{font-size:13px}
.tableau.libre{overflow:visible}
.tableau.libre th:first-child{border-top-left-radius:var(--r3)}
.tableau.libre th:last-child{border-top-right-radius:var(--r3)}
.tableau.libre th{top:var(--h-haut)}
th[data-tri]{cursor:pointer;user-select:none}
th[data-tri]:hover{color:var(--encre)}
th[data-tri][aria-sort=ascending]::after{content:" ↑"}
th[data-tri][aria-sort=descending]::after{content:" ↓"}
tr.passee td{color:var(--encre-3);background:var(--surface-2)}
tr.total td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--filet-fort)}
td.moins{color:var(--e-mise_en_demeure);font-weight:600}
td.case{width:36px;padding-right:0}

/* Onglets de filtre */
.onglets{display:flex;gap:var(--e4);border-bottom:1px solid var(--filet);margin-bottom:var(--e3);overflow-x:auto;scrollbar-width:none}
.onglets::-webkit-scrollbar{display:none}
.onglets a{display:inline-flex;align-items:center;gap:6px;padding:var(--e2) 0;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--encre-2);text-decoration:none;white-space:nowrap;transition:color var(--vite),border-color var(--vite)}
.onglets a:hover{color:var(--encre);border-bottom-color:var(--filet-fort)}
.onglets a.actif{color:var(--encre);font-weight:550;border-bottom-color:var(--accent)}
.onglets a small{font:var(--t-petit);color:var(--encre-3)}

/* État vide */
.vide{display:flex;flex-direction:column;align-items:center;gap:var(--e2);padding:var(--e6) var(--e4);text-align:center;color:var(--encre-2);background:var(--surface);border:1px dashed var(--filet-fort);border-radius:var(--r3)}
.vide .ico{width:28px;height:28px;color:var(--encre-3);stroke-width:1.25}
.vide b{color:var(--encre)}

/* Raisons, texte lu */
.raison{font:var(--t-petit);color:var(--encre-3)}
pre.texte{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e3);font:12.5px/18px ui-monospace,SFMono-Regular,Menlo,monospace;max-height:420px;overflow:auto;margin:var(--e2) 0 0}

/* Graphiques */
.graphique{display:block;width:100%;height:auto;font:11px/1 var(--police);font-variant-numeric:tabular-nums}
.graphique text{fill:var(--encre-3)}
.graphique .axe{stroke:var(--filet);stroke-width:1}
.graphique .zero{stroke:var(--encre-3);stroke-width:1}
.graphique .barre-g{fill:var(--accent)}
.graphique .barre-g.negatif{fill:var(--e-mise_en_demeure)}
.graphique .aire{fill:var(--accent-doux)}
.graphique .ligne{fill:none;stroke:var(--accent);stroke-width:1.75;stroke-linejoin:round}
.graphique .repere{stroke:var(--encre);stroke-width:1;stroke-dasharray:3 3}
.graphique .val{fill:var(--encre);font-weight:550;font-size:11.5px}
.graphique .val.negatif{fill:var(--e-mise_en_demeure)}
.sur-tel{display:none}
.partage{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--filet);margin:var(--e2) 0}
.partage i{display:block;height:100%;background:var(--accent)}
.partage i + i{background:var(--e-echue);box-shadow:inset 2px 0 0 var(--surface)}
.legende{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e4);font:var(--t-petit);color:var(--encre-2)}
.legende span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:6px}
.legende span.interets::before{background:var(--e-echue)}
.progression{height:4px;border-radius:2px;background:var(--filet);overflow:hidden}
.progression i{display:block;height:100%;background:var(--accent)}

/* ───────────── 5 · Écrans ───────────── */
/* Tableau de bord */
.tdb{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:0 var(--e6);align-items:start}
.tdb-col{min-width:0}
.tdb .section-tete{margin-top:var(--e5)}
.suite{display:flex;align-items:center;justify-content:center;gap:var(--e1);padding:10px var(--e3);font:550 13px/20px var(--police);border-top:1px solid var(--filet);background:var(--surface-2);border-radius:0 0 var(--r3) var(--r3);text-decoration:none}
.suite:hover{text-decoration:underline}
.accordeon.surveillance summary{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--e3)}
.accordeon.surveillance details[open] summary{margin-bottom:var(--e1)}
.recap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e3);margin-top:var(--e5)}
.liens-decider{list-style:none;padding:0;margin:0}
.liens-decider li{margin:0;border-bottom:1px solid var(--filet)}
.liens-decider li:last-child{border-bottom:0}
.liens-decider a{display:flex;align-items:center;gap:var(--e2);padding:10px var(--e3);color:var(--encre);text-decoration:none}
.liens-decider a:hover{background:var(--surface-2)}
.liens-decider a .ico{color:var(--encre-3)}
.liens-decider a span{flex:1;min-width:0}
.liens-decider a b{font-weight:550;white-space:nowrap}

/* Deux colonnes : la pièce à gauche, la décision à droite */
.deux-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--e5);align-items:start}
.deux-col.file>.col-piece{grid-column:1;grid-row:1}
.deux-col.file>.col-decision{grid-column:2;grid-row:1}
.col-piece{position:sticky;top:calc(var(--h-haut) + var(--e4))}
/* La pièce : des images de pages empilées. Jamais de défilement de côté. */
.piece-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--e1) var(--e3);margin-bottom:var(--e2);scroll-margin-top:calc(var(--h-haut) + var(--e3))}
.piece-tete h2{margin:0}
.piece-tete .fin{margin-left:auto;font:var(--t-petit);white-space:nowrap}
.piece-pages{display:flex;flex-direction:column;gap:var(--e2);max-height:calc(100vh - var(--h-haut) - 96px);padding:var(--e2);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;border:1px solid var(--filet-fort);border-radius:var(--r3);background:#ECEAE4}
.piece-pages a{display:block;flex:none;border-radius:2px}
.piece-pages img{display:block;width:100%;max-width:100%;height:auto;min-height:120px;background:var(--surface);border:1px solid var(--filet);border-radius:2px;font:var(--t-petit);color:var(--encre-2)}
.piece-pages p{padding:var(--e1) var(--e2)}
.bandeau.non-lue .bouton{margin-top:var(--e1)}
.resume-facture{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e4);margin-bottom:var(--e3)}
.resume-facture .ttc{font:600 20px/28px var(--police);letter-spacing:-.01em}
.bloc{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);margin-top:var(--e3)}
.bloc>header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e3);padding:var(--e3) var(--e4);border-bottom:1px solid var(--filet)}
.bloc>header h2{margin:0;font:600 14px/20px var(--police)}
.bloc>header .num{width:20px;height:20px;border-radius:50%;border:1px solid var(--filet-fort);font:550 11px/18px var(--police);text-align:center;color:var(--encre-2);flex:none}
.bloc>header .fin{margin-left:auto}
.bloc>.corps{padding:var(--e4)}
.bloc>.corps>*+*{margin-top:var(--e3)}
.bloc>.pied{padding:var(--e3) var(--e4);border-top:1px solid var(--filet);background:var(--surface-2);border-radius:0 0 var(--r3) var(--r3)}
details.bloc>summary{padding:var(--e3) var(--e4);font-weight:550;list-style-position:inside}
details.bloc[open]>summary{border-bottom:1px solid var(--filet)}
.proposition{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--e3) var(--e4);align-items:start}
.proposition dt{color:var(--encre-3);padding-top:1px}
.proposition dd{margin:0;min-width:0}
.proposition dd.valeur b{display:block;font-weight:600;overflow-wrap:anywhere}
.proposition dd.valeur .raison{display:block;margin-top:1px}
.proposition .a-dec{font-weight:400;color:var(--encre-3)}
.ligne-ventil{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:var(--e3);margin-top:var(--e2)}
.ligne-ventil select,.ligne-ventil input{width:100%}

/* Gestes d'attribution : valider (principal) et corriger (secondaire, au crayon) sur une même ligne ; le formulaire s'ouvre dessous */
.gestes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--e2);border-top:1px solid var(--filet);padding-top:var(--e3)}
.gestes form.valider{margin:0}
details.corriger{min-width:0}
details.corriger[open]{flex:1 1 100%}
details.corriger>summary{list-style:none}
details.corriger>summary::-webkit-details-marker{display:none}
details.corriger[open]>summary{background:var(--accent-doux);border-color:var(--accent);color:var(--accent)}
details.corriger>p{margin:var(--e3) 0}
details.corriger{scroll-margin-top:calc(var(--h-haut) + var(--e3))}
.barre-action,.vers-piece{display:none}

/* File d'attribution */
.file-tete{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e4);margin-bottom:var(--e3)}
.file-tete .position{font:600 15px/22px var(--police)}
.file-tete .avance{flex:1;min-width:160px;max-width:360px}
.file-tete .avance .progression{margin-top:var(--e1)}
.file-tete .fin{margin-left:auto;display:flex;gap:var(--e2);align-items:center}
.bascule-vue{display:inline-flex;border:1px solid var(--filet-fort);border-radius:var(--r2);overflow:hidden;background:var(--surface)}
.bascule-vue a{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--e3);color:var(--encre-2);text-decoration:none;font-weight:500;font-size:13px}
.bascule-vue a + a{box-shadow:inset 1px 0 0 var(--filet-fort)}
.bascule-vue a.actif{background:var(--accent-doux);color:var(--encre)}
.raccourcis{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e4);font:var(--t-petit);color:var(--encre-3);margin-top:var(--e3)}
.barre-selection{display:flex;align-items:center;gap:var(--e3);padding:var(--e2) var(--e3);background:var(--accent-doux);border:1px solid var(--filet);border-radius:var(--r2);margin-bottom:var(--e2)}

/* Prêts et trésorerie */
.figure{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e4)}
.figure figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--e1) var(--e3);margin-bottom:var(--e3)}
.figure figcaption b{font:600 14px/20px var(--police)}
.figure figcaption .fin{margin-left:auto}
.formulaire-long{max-width:880px}
.formulaire-long .champs .champ{margin:0}
.formulaire-long .corps>.aide-champ{max-width:80ch}
.tresorerie-tete{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
table.treso th.mois{text-align:center;box-shadow:inset 1px 0 0 var(--filet);color:var(--encre-2)}
table.treso .debut{box-shadow:inset 1px 0 0 var(--filet)}
table.treso td.nom{white-space:nowrap}
table.treso td.nom a{color:var(--encre);font-weight:550;text-decoration:none}
table.treso td.nom a:hover{text-decoration:underline}
table.treso td.rien{color:var(--encre-3)}
table.treso thead tr:nth-child(2) th{top:33px}
form.changer-etat{display:grid;grid-template-columns:130px minmax(90px,1fr) auto;gap:var(--e1);min-width:340px}
form.changer-etat select,form.changer-etat input{width:100%}
table.calendrier td:nth-child(2){min-width:280px}
table.calendrier td.date-limite,table.calendrier td.demi:nth-child(4){white-space:nowrap}
.accordeon{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
.accordeon details{padding:10px var(--e4);border-bottom:1px solid var(--filet)}
.accordeon details:last-child{border-bottom:0}
.accordeon details[open] summary{margin-bottom:var(--e2)}
.accordeon details p{max-width:100ch;margin-bottom:var(--e1)}
details.modifier>summary{list-style:none}
details.modifier>summary::-webkit-details-marker{display:none}
details.modifier .lien-modif{text-decoration:underline dotted;text-underline-offset:2px;margin-left:4px}
details.modifier>summary:hover .lien-modif{color:var(--encre)}
details.modifier[open]>summary{margin-bottom:var(--e2)}
details.modifier .champs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
table.regles-pc{table-layout:fixed}
table.regles-pc td{overflow-wrap:anywhere}
table.regles-pc th:nth-child(1){width:120px}
table.regles-pc th:nth-child(3){width:110px}
table.regles-pc th:nth-child(5){width:24%}
.lexique dt{font-weight:550;color:var(--encre)}
.lexique{font-size:13px}
.etapes{counter-reset:etape;list-style:none;padding:0}
.etapes li{counter-increment:etape;position:relative;padding:0 0 var(--e3) 36px}
.etapes li::before{content:counter(etape);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--filet-fort);font:550 11.5px/20px var(--police);text-align:center;color:var(--encre-2);background:var(--surface)}
.profils{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--e3)}
.profils form{display:flex;align-items:center;gap:var(--e3);padding:var(--e3) var(--e4);background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
.profils form>div{flex:1;min-width:0}
.ancre-nav{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e4);padding:var(--e2) 0;margin-bottom:var(--e2);border-bottom:1px solid var(--filet);position:sticky;top:var(--h-haut);background:var(--fond);z-index:2}
.ancre-nav a{color:var(--encre-2);text-decoration:none;font-size:13px}
.ancre-nav a:hover{color:var(--encre);text-decoration:underline}
h2[id]{scroll-margin-top:calc(var(--h-haut) + 56px)}
tr[id]{scroll-margin-top:calc(var(--h-haut) + 48px)}

@media (max-width:1180px){
  .deux-col{grid-template-columns:minmax(0,1fr)}
  .deux-col.file>.col-piece,.deux-col.file>.col-decision{grid-column:1;grid-row:auto}
  .col-piece{position:static}
  .piece-pages{max-height:none;overflow:visible}
  .vers-piece{display:inline-flex;align-items:center;gap:var(--e1);margin-left:auto}
}

/* ───────────── 6 · Téléphone et tablette étroite ───────────── */
@media (max-width:899px){
  :root{--h-haut:48px}
  .page{margin-left:0;padding-bottom:calc(var(--h-onglets) + env(safe-area-inset-bottom) + 8px)}
  .haut{padding:0 var(--e4);gap:var(--e2)}
  .haut h1{font-size:17px;line-height:24px}
  .haut>.recherche,.menu-compte .nom-profil,.menu-compte .ico-bas,.replier{display:none}
  .menu-compte summary{height:40px;padding:0 var(--e1)}
  .menu-compte .pastille-profil{width:30px;height:30px;line-height:30px;font-size:12px}
  .menu-compte .menu{top:44px;width:min(300px,calc(100vw - 32px))}
  .menu-compte .menu a,.menu-compte .menu button{height:44px;font-size:15px}
  .sur-tel-seul{display:flex}
  .haut .fil span{display:none}
  main{padding:var(--e3) var(--e4) var(--e6)}
  footer{padding:var(--e4)}
  button,.bouton{height:40px}
  input,select{height:40px;font-size:16px}
  textarea{font-size:16px}
  input[type=checkbox],input[type=radio]{height:18px;width:18px}
  .bascule-vue a{height:38px}
  /* La barre latérale devient le panneau « Plus » */
  .barre{display:none;inset:0;width:auto;border-right:0;padding:var(--e4) var(--e4) calc(var(--h-onglets) + env(safe-area-inset-bottom) + 28px);z-index:40}
  #plus:checked ~ .barre{display:flex}
  .fermer-plus{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-4px -8px -4px 0;border-radius:var(--r2);color:var(--encre-2);cursor:pointer}
  .barre-lien{height:44px;font-size:15px}
  .choix-societe summary{height:44px}
  .choix-societe .liste{position:static;width:auto;max-height:46vh;box-shadow:none;margin-top:var(--e1)}
  .onglets-bas{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0 0;height:var(--h-onglets);padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box;background:var(--surface);border-top:1px solid var(--filet-fort);z-index:45}
  .onglets-bas a,.onglets-bas label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0;padding-top:5px;min-width:0;font:500 11px/14px var(--police);color:var(--encre-2);text-decoration:none;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
  .onglets-bas span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .onglets-bas .ico{width:22px;height:22px;padding:3px 16px;box-sizing:content-box;border-radius:14px;transition:background var(--vite)}
  /* Entrée active : trait d'accent en haut, icône sur fond teinté, libellé en accent et en gras */
  .onglets-bas .actif{color:var(--accent);font-weight:700}
  .onglets-bas .actif .ico{background:var(--accent-doux);stroke-width:2.1}
  .onglets-bas .actif::before{content:"";position:absolute;top:0;left:50%;width:28px;height:3px;margin-left:-14px;border-radius:0 0 3px 3px;background:var(--accent)}
  .onglets-bas .compteur{position:absolute;top:3px;left:calc(50% + 8px);font-size:10px;line-height:16px;min-width:16px;padding:0 4px;box-shadow:0 0 0 2px var(--surface)}
  #plus:checked ~ .onglets-bas a.actif{color:var(--encre-2);font-weight:500}
  #plus:checked ~ .onglets-bas a.actif .ico{background:none;stroke-width:1.75}
  #plus:checked ~ .onglets-bas a.actif::before{display:none}
  #plus:checked ~ .onglets-bas label{color:var(--accent);font-weight:700}
  #plus:checked ~ .onglets-bas label .ico{background:var(--accent-doux)}
  #plus:checked ~ .onglets-bas label::before{display:block;content:"";position:absolute;top:0;left:50%;width:28px;height:3px;margin-left:-14px;border-radius:0 0 3px 3px;background:var(--accent)}

  .chiffres{grid-template-columns:1fr 1fr}
  .chiffre{padding:var(--e3)}
  .chiffre .val{font-size:22px;line-height:28px}
  .chiffre:last-child:nth-child(odd){grid-column:1/-1}
  .sur-ordi{display:none}
  .sur-tel{display:block}
  table.calendrier td:nth-child(2){min-width:0}
  .tableau.fiches td.c2.date-limite{font-weight:400;grid-row:auto;grid-column:1/-1;text-align:left;order:-1}
  .tableau.fiches td.c2.date-limite .sous{display:inline;margin-left:8px}
  .deux{grid-template-columns:1fr}
  dl.fiche{grid-template-columns:1fr;gap:0}
  dl.fiche dt{margin-top:var(--e2);font:var(--t-petit)}
  dl.fiche dt:first-child{margin-top:0}
  dl.fiche dd.n{text-align:left}
  .proposition{grid-template-columns:minmax(0,1fr) auto;gap:2px var(--e3)}
  .proposition dt{grid-column:1/-1;font:var(--t-petit);margin-top:var(--e2)}
  .proposition dt:first-child{margin-top:0}
  .piece-pages{padding:var(--e1);gap:var(--e1)}
  /* File d'attribution : le geste principal est collé en bas, au-dessus de la navigation */
  .barre-action{display:flex;gap:var(--e2);position:fixed;left:0;right:0;bottom:calc(var(--h-onglets) + env(safe-area-inset-bottom));z-index:44;padding:var(--e2) var(--e4);background:var(--surface);border-top:1px solid var(--filet);box-shadow:0 -4px 12px rgba(26,28,31,.06)}
  .barre-action>*{flex:1;height:44px;min-width:0;padding:0 var(--e2);font-size:14px}
  .barre-action>:first-child:not(:only-child){flex:1.5}
  .barre-action>.etroit{flex:none;width:48px;padding:0}
  .page:has(.barre-action){padding-bottom:calc(var(--h-onglets) + env(safe-area-inset-bottom) + 76px)}
  .deux-col.file form.valider{display:none}
  #plus:checked ~ .page .barre-action{display:none}
  html:not(.sans-js) .deux-col.file details.corriger:not([open])>summary{display:none}
  html:not(.sans-js) .deux-col.file .gestes:not(:has(details[open])){border-top:0;padding-top:0}
  .ligne-ventil{grid-template-columns:minmax(0,1fr) 104px;gap:var(--e2)}
  form.ligne>div,form.ligne select,form.ligne input{width:100%}
  .barre-outils .fin{margin-left:0;width:100%}
  .barre-outils .fin .recherche-liste{display:block;flex:1;width:auto}
  .tdb .section-tete{margin-top:var(--e4);margin-bottom:var(--e2)}
  .tdb .section-tete .petit:not(.fin){display:none}
  .liens-decider a{padding:var(--e3)}
  .file-tete .fin{margin-left:0;width:100%;justify-content:space-between}
  .file-tete .fin .actions{flex-wrap:nowrap}
  .bascule-vue a{padding:0 10px}
  .raccourcis{display:none}
  form.changer-etat{grid-template-columns:1fr 1fr;min-width:250px}
  form.changer-etat button{grid-column:1/-1}
  .ancre-nav{position:static;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}

  /* Les tableaux denses deviennent des fiches empilées */
  .tableau.fiches{overflow:visible}
  .tableau.fiches thead,.tableau.fiches th{display:none}
  .tableau.fiches table,.tableau.fiches tbody{display:block}
  .tableau.fiches colgroup{display:none}
  .tableau.fiches tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--e3);padding:var(--e3);border-bottom:1px solid var(--filet)}
  .tableau.fiches tr:last-child{border-bottom:0}
  .tableau.fiches td{display:block;padding:0;border:0;grid-column:1/-1;min-width:0;text-align:left;white-space:normal}
  .tableau.fiches td:empty{display:none}
  .tableau.fiches td.c1{grid-column:1}
  .tableau.fiches td.c2{grid-column:2;grid-row:1;text-align:right;font-weight:550;white-space:nowrap}
  .tableau.fiches td.meta{font:var(--t-petit);color:var(--encre-2)}
  .tableau.fiches td.demi{grid-column:auto}
  .tableau.fiches td.agir{margin-top:var(--e2)}
  .tableau.fiches td[data-lib]::before{content:attr(data-lib) " : ";color:var(--encre-3)}
  .tableau.fiches td.case{display:none}
  .tableau:not(.fiches) th,.tableau:not(.fiches) td{padding:8px 10px}
  .tableau:not(.fiches) th:first-child,.tableau:not(.fiches) td:first-child{position:sticky;left:0;background:var(--surface);z-index:1}
  .tableau:not(.fiches) th:first-child{background:var(--surface-2);z-index:2}
  .tableau.libre{overflow-x:auto}
  .tableau.libre th{top:0}
}
@media (max-width:420px){
  .chiffre .det{white-space:normal}
}

/* ───────────── 7 · Impression ───────────── */
@media print{
  .barre,.haut .recherche,.menu-compte,.barre-action,.onglets-bas,.aide,.raccourcis,footer{display:none !important}
  .page{margin:0}
  .haut{position:static;border:0;padding:0}
  main{padding:0;max-width:none}
  body{background:#fff}
}

/* ───────────── Connexion ───────────── */
.page-connexion{min-height:100vh;display:grid;place-items:center;padding:var(--e4)}
.connexion{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e6)}
.connexion .marque{display:flex;align-items:center;gap:var(--e2);margin-bottom:var(--e5);font-weight:600}
.connexion h1{margin-bottom:var(--e1)}
.connexion form{display:grid;gap:var(--e4);margin:var(--e5) 0 var(--e4)}
.connexion .champ{display:grid;gap:var(--e1)}
.connexion .champ span{font-weight:500}
.connexion input{width:100%;height:40px;font-size:16px}
.connexion button{height:40px;justify-content:center}
.connexion .bandeau{margin-top:var(--e4)}

/* ───────────── Lot A · sécurité : droits, administration, état de santé ───────────── */
form[data-interdit] button:disabled,button[aria-disabled="true"]{cursor:not-allowed}
form[data-interdit] input:disabled,form[data-interdit] select:disabled,form[data-interdit] textarea:disabled{background:var(--surface-2);color:var(--encre-3);cursor:not-allowed}
.admin{max-width:860px}
.admin h3{margin:var(--e5) 0 var(--e2)}
.admin code.secret{font-size:15px;font-weight:600;user-select:all;overflow-wrap:anywhere}
.admin-comptes{list-style:none;margin:0 0 var(--e4);padding:0}
.admin-comptes>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--e2) var(--e4);align-items:center;padding:var(--e3) 0;border-bottom:1px solid var(--filet)}
.admin-comptes>li:first-child{padding-top:0}
.admin-comptes>li.inactif .qui b{color:var(--encre-3)}
.admin-comptes .qui{display:grid;gap:2px;min-width:0}
.admin-comptes .etats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e3);margin-top:2px}
.admin-comptes .ligne-form{display:flex;align-items:center;gap:var(--e2)}
.admin-comptes .ligne-form label{font:var(--t-petit);color:var(--encre-3)}
.admin-comptes .c-gestes{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--e2)}
.admin-archives{list-style:none;margin:0 0 var(--e3);padding:0}
.admin-archives li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--e1) var(--e3);padding:6px 0;border-bottom:1px solid var(--filet);overflow-wrap:anywhere}
.sante{list-style:none;margin:var(--e3) 0 0;padding:0;background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
.sante>li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--e3);padding:var(--e3) var(--e4);border-bottom:1px solid var(--filet)}
.sante>li:last-child{border-bottom:0}
.sante .s-quoi{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.bandeau.incomplet ul{padding-left:18px}
@media (max-width:899px){
  .admin-comptes>li{grid-template-columns:minmax(0,1fr)}
  .admin-comptes .ligne-form{flex-wrap:wrap}
  .admin-comptes .ligne-form select{flex:1;min-width:140px}
  .sante>li{grid-template-columns:minmax(0,1fr);gap:var(--e1)}
}

/* ───────────── Lot B · paiements, comptes courants d'associés, refacturations, procédure ───────────── */
.etat.a_qualifier::before{background:transparent;border-radius:1.5px;box-shadow:inset 0 0 0 2px var(--e-bloquee)}  /* carré vide : ne se paie pas tant que ce n'est pas tranché */
.etat.partielle::before{background:transparent;box-shadow:inset 3.5px 0 0 var(--e-payee),inset 0 0 0 1.5px var(--e-payee)}  /* pastille à moitié pleine */
.etat.avoir::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--encre-3)}  /* pastille vide et grise : rien à payer */
.etat.cadre.b-large{white-space:normal;border-radius:var(--r2);align-items:flex-start}
.etat.cadre.b-large::before{margin-top:6px}
.outre-erreur{font-weight:550;color:var(--e-mise_en_demeure);margin:var(--e2) 0}
details.b-decision,details.b-perso{margin-top:var(--e3);padding-top:var(--e3);border-top:1px solid var(--filet)}
details.b-decision>summary,details.b-perso>summary{font-weight:550;cursor:pointer}
details.b-decision[open]>summary,details.b-perso[open]>summary{margin-bottom:var(--e3)}
ul.b-parts{list-style:none;margin:var(--e3) 0 var(--e2);padding:0;border:1px solid var(--filet);border-radius:var(--r3);background:var(--surface)}
ul.b-parts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--e4);padding:var(--e2) var(--e3);border-top:1px solid var(--filet)}
ul.b-parts li:first-child{border-top:0}
ul.b-parts .b-quoi{flex:1 1 200px}
ul.b-parts .b-combien{flex:0 0 auto;min-width:110px;text-align:right}
ul.b-parts .b-combien .sous{display:block;font:var(--t-petit);color:var(--encre-3)}
ul.b-parts .b-sens{flex:1 1 260px}
ul.b-parts li.total{background:var(--surface-2);font-weight:600;border-radius:0 0 var(--r3) var(--r3)}
dl.b-solde{margin:var(--e3) 0;max-width:420px}
dl.b-solde dd.n{text-align:right}
.b-paiements{margin-bottom:var(--e2)}
.b-paiements tr.passee td{color:var(--encre-3)}
form.b-joindre{display:flex;gap:var(--e2);align-items:center;margin-top:var(--e1)}
form.b-joindre input[type=file]{width:170px;min-width:0}
details.b-annuler>summary{color:var(--encre-3);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer;list-style:none}
details.b-annuler>summary::-webkit-details-marker{display:none}
details.b-annuler form{display:grid;gap:var(--e1);margin-top:var(--e2);min-width:200px;text-align:left}
form.b-rattache{display:inline-flex;align-items:center;gap:2px;margin:2px var(--e2) 2px 0;padding-left:8px;border:1px solid var(--filet-fort);border-radius:10px;background:var(--surface);font:var(--t-petit)}
form.b-rattache button{height:22px;padding:0 4px}
form.b-rattache .ico{width:12px;height:12px}
.b-compte>.pied details.b-decision{margin:0;padding:0;border:0}
th.b-objet,td.b-objet{min-width:300px}
th.b-conf,td.b-conf{min-width:200px}
td.b-objet details{display:block}
.champs.b-haut>div{align-self:start}
ul.b-points{margin:var(--e1) 0 0;padding-left:18px}
details.b-caution{margin:var(--e2) 0 var(--e3)}
details.b-caution form{margin-top:var(--e2)}
@media (max-width:899px){
  th.b-objet,td.b-objet{min-width:0}
  form.b-joindre{flex-wrap:wrap}
  dl.b-solde{max-width:none}
  ul.b-parts .b-combien{text-align:left}
  ul.b-parts .etat{white-space:normal}
}

/* ───────────── Lot D · métier ───────────── */
/* Bandeau permanent de démonstration : une ligne fine au-dessus du bandeau haut, qui reste en place au défilement */
.bandeau-demo{position:fixed;top:0;left:var(--l-barre);right:0;z-index:11;height:20px;display:flex;align-items:center;justify-content:center;font:550 11px/20px var(--police);letter-spacing:.04em;text-transform:uppercase;color:var(--encre-2);background:var(--ton-attention);border-bottom:1px solid var(--filet);text-decoration:none}
.bandeau-demo:hover{color:var(--encre);text-decoration:underline}
body.demo{--h-haut:76px}
body.demo .page{padding-top:20px}
body.demo .haut{top:20px;height:56px}
@media (min-width:900px){.barre-repliee .bandeau-demo{left:56px}}
@media (max-width:899px){
  .bandeau-demo{left:0}
  body.demo{--h-haut:68px}
  body.demo .haut{height:48px}
}
@media print{.bandeau-demo{position:static}}

/* Petite ligne de précision sous un libellé, hors tableau */
label .sous,li .sous,dd .sous,p .sous,legend .sous{display:block;font:var(--t-petit);color:var(--encre-3);font-weight:400}
.sous.manque{display:flex;gap:6px;align-items:flex-start;margin-top:var(--e1);padding:6px var(--e2);background:var(--ton-attention);border-radius:var(--r1);color:var(--encre-2)}
.sous.manque .ico{width:14px;height:14px;margin-top:2px;color:var(--e-echue)}
.sous.moins{color:var(--e-mise_en_demeure);font-weight:600}

/* Question guidée et choix de la portée : une liste de choix lisible, un seul par ligne */
.question-guidee{margin:var(--e3) 0;padding:0;border:0;min-width:0}
.question-guidee fieldset,fieldset.question-guidee{border:1px solid var(--filet);border-radius:var(--r3);background:var(--surface);padding:var(--e3) var(--e4);margin:0;min-width:0}
.question-guidee legend{display:flex;gap:var(--e2);align-items:flex-start;padding:0 var(--e1);font:var(--t-corps);float:left;width:100%;margin-bottom:var(--e2)}
.question-guidee legend .ico{margin-top:2px;color:var(--accent)}
.choix-liste{list-style:none;padding:0;margin:0;clear:both;display:grid;gap:var(--e1)}
.choix-liste li{margin:0}
.choix-liste label{display:flex;gap:var(--e2);align-items:flex-start;margin:0;padding:var(--e2) var(--e3);font:var(--t-corps);color:var(--encre);background:var(--surface);border:1px solid var(--filet);border-radius:var(--r2);cursor:pointer}
.choix-liste label:hover{border-color:var(--filet-fort)}
.choix-liste label:has(input:checked){border-color:var(--accent);background:var(--accent-doux)}
.choix-liste input[type=radio]{margin:3px 0 0;flex:none}
.choix-liste .demander{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--e3);padding:var(--e2) var(--e3) 0 calc(var(--e3) + 24px)}
.choix-liste .demander select,.choix-liste .demander input{width:100%}
.choix-liste .demander label{display:block;padding:0;border:0;background:transparent;font:500 12.5px/18px var(--police);color:var(--encre-2);cursor:default}
.question-guidee>.champ{max-width:360px}

/* Prêts : le capital restant dû calculé à côté du constaté */
.constate{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--e4);align-items:center;margin-top:var(--e3);padding:var(--e3) var(--e4);background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
.constate.ecart{border-color:var(--e-echue)}
.constate>div{min-width:0}
.constate .lib{display:block;font:var(--t-petit);color:var(--encre-2)}
.constate b{display:block;font:600 20px/28px var(--police);letter-spacing:-.01em}
.constate .bilan{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e1)}
tr.ligne-ecart td{background:var(--ton-attention)}

/* Listes sobres : points du cabinet, liste à demander, champs d'une trame, étapes d'un acte */
.points-cabinet,.a-demander,.champs-trame,.etapes-acte{list-style:none;padding:0;margin:0}
.points-cabinet li,.a-demander li{padding:var(--e2) 0;border-top:1px solid var(--filet)}
.points-cabinet li:first-child{border-top:0}
.a-demander{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:0 var(--e4)}
.a-demander li:first-child{border-top:0}
.champs-trame{margin-bottom:var(--e3)}
.champs-trame li{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e2);align-items:baseline;padding:3px 0}
.etapes-acte li{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e3);align-items:baseline;padding:var(--e2) 0;border-bottom:1px solid var(--filet)}
.retour-cabinet{padding:var(--e2) 0;border-bottom:1px solid var(--filet)}
.retour-cabinet p + p,.retour-cabinet form{margin-top:var(--e1)}
fieldset.formes{border:0;padding:0;margin:var(--e3) 0 0;display:flex;flex-wrap:wrap;gap:0 var(--e4)}
fieldset.formes legend{font:500 12.5px/18px var(--police);color:var(--encre-2);padding:0;margin-bottom:var(--e1)}
fieldset.formes label.coche{margin:var(--e1) 0}
.colonnes-export{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--e5)}
.colonnes-export .ligne-ventil{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
table.fonctions td:nth-child(3){min-width:22rem}
table.fonctions td{vertical-align:top}
table.treso.trois-lignes th .sous{display:block;font:var(--t-petit);text-transform:none;letter-spacing:0;color:var(--encre-3)}
table.treso.trois-lignes td.nom{white-space:normal}
details.bloc>.corps{padding:var(--e4)}
details.bloc>.corps>*+*{margin-top:var(--e3)}
details.bloc>.pied{padding:var(--e3) var(--e4);border-top:1px solid var(--filet);background:var(--surface-2);border-radius:0 0 var(--r3) var(--r3)}

@media (max-width:899px){
  .constate{grid-template-columns:1fr}
  .choix-liste .demander{grid-template-columns:1fr;padding-left:var(--e3)}
  .colonnes-export{grid-template-columns:1fr}
  table.fonctions td:nth-child(3){min-width:0}
  .choix-liste label{padding:var(--e3)}
}
.champs.haut{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.champs.haut>div{align-self:start}
.bloc>form>.corps,.bloc>form>header + .corps{padding:var(--e4)}
.bloc>form>.corps>*+*{margin-top:var(--e3)}
.bloc>form>header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e3);padding:var(--e3) var(--e4);border-bottom:1px solid var(--filet)}
.bloc>form>header h2{margin:0;font:600 14px/20px var(--police)}
.bloc>form>.pied{padding:var(--e3) var(--e4);border-top:1px solid var(--filet);background:var(--surface-2);border-radius:0 0 var(--r3) var(--r3)}
table.calendrier td.demi{min-width:9.5rem}

/* ───────────── Lot C · entrées (boîtes de réception, rappel quotidien, lecture des pièces) ───────────── */
details.lecture{margin:0 0 var(--e4);border:1px solid var(--filet);border-radius:var(--r3);background:var(--surface-2)}
details.lecture>summary{padding:var(--e2) var(--e3);list-style-position:inside;cursor:pointer}
details.lecture>summary .petit{margin-left:var(--e2)}
details.lecture[open]>summary{border-bottom:1px solid var(--filet)}
details.lecture>p{padding:var(--e2) var(--e3) 0}
details.lecture .tableau{border:0;border-radius:0 0 var(--r3) var(--r3);margin-top:var(--e2)}
details.lecture td .sous{overflow-wrap:anywhere}
details.lecture td.c1 b{font-weight:550;overflow-wrap:anywhere}
.rappel-etat{display:flex;gap:var(--e2);align-items:flex-start;flex:1 1 100%}
.rappel-etat .ico{margin-top:2px;color:var(--accent);flex:none}
fieldset.choix-societes{border:1px solid var(--filet);border-radius:var(--r2);padding:var(--e2) var(--e3);margin:var(--e3) 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 var(--e4);max-height:220px;overflow-y:auto}
fieldset.choix-societes legend{font:var(--t-petit);font-weight:500;padding:0 var(--e1);color:var(--encre-2)}
fieldset.choix-societes .coche{margin:2px 0}
.depot-photo{padding-bottom:var(--e4);border-bottom:1px solid var(--filet)}
div.chiffre{cursor:default}
@media (max-width:899px){
  details.lecture .tableau.fiches tr{grid-template-columns:minmax(0,1fr)}
  details.lecture .tableau.fiches td.meta{order:-1}
  form.ligne button{width:100%}
}
.panneau .coche input[type=checkbox],fieldset.choix-societes input[type=checkbox]{flex:none}

/* ───────────── Intégration · harmonisation après fusion des quatre lots ───────────── */
/* Barre latérale : cinq groupes et le pied tiennent mieux dans la hauteur d'un écran d'ordinateur portable. */
@media (min-width:900px){
  .barre{gap:var(--e2);padding-top:var(--e2);padding-bottom:var(--e2)}
  .barre nav{gap:10px}
  .barre-groupe{gap:0}
  .barre-titre{padding-bottom:2px;line-height:14px}
  .barre-lien{height:27px}
  .barre-pied{padding-top:6px;gap:0}
}
/* Un long tableau (échéancier de 240 lignes) défile dans son cadre au lieu d'allonger la page de 15 000 px. */
.tableau.borne{max-height:min(720px,80vh);overflow-y:auto}
.tableau.borne thead th{position:sticky;top:0;z-index:1;background:var(--surface-2)}
.tableau.borne tr[id]{scroll-margin-top:44px}
/* Comparaison de deux versions du dossier du cabinet : lue comme une page, pas comme un fichier brut. */
.comparaison{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e3) var(--e4);max-height:420px;overflow:auto}
.comparaison h3{margin:var(--e3) 0 var(--e1);font-size:14px}
.comparaison h3:first-child{margin-top:0}
.comparaison p{margin:0 0 var(--e1)}
.comparaison .ligne-c{display:flex;gap:var(--e2);align-items:baseline;font:var(--t-petit)}
.comparaison .ligne-c span{flex:none;width:58px;color:var(--encre-3)}
.comparaison .ligne-c code{overflow-wrap:anywhere}
.comparaison .ligne-c.plus span{color:var(--e-payee)}
.comparaison .ligne-c.moins-c span{color:var(--e-mise_en_demeure)}

/* ───────────── Finitions · navigation resserrée, pages courtes au téléphone (05/10/2026) ───────────── */
/* Barre latérale : dix entrées. Les liens retrouvent leur hauteur de 32 px (27 px tant qu'il y en avait 26). */
.barre-lien .dedans{display:none}
@media (min-width:900px){
  .barre nav{gap:var(--e4)}
  .barre-groupe{gap:1px}
  .barre-lien{height:32px}
  .barre-pied{padding-top:var(--e3);gap:1px}
}
/* Onglets de section : les pages rangées dans la même entrée du menu, en tête de page. */
.section-nav::-webkit-scrollbar{display:none}
.section-nav .section-nom{font:550 11px/16px var(--police);letter-spacing:.04em;text-transform:uppercase;color:var(--encre-3)}
.section-nav a.section-nom[aria-current]{color:var(--accent)}
/* Page « Paramètres » : un lien par page, avec sa phrase. */
.sommaire{max-width:720px}
.sommaire .liens-decider a{padding:var(--e3) var(--e4);gap:var(--e3)}
.sommaire .liens-decider a span{display:flex;flex-direction:column}
.sommaire .liens-decider a small{font:var(--t-petit);color:var(--encre-3)}
.sommaire .liens-decider a b{white-space:normal}
/* Listes longues : recherche en tête, résumé, filtres repliés, 25 lignes par page. */
.liste-tete{flex-wrap:nowrap}
.liste-tete .recherche-liste{width:320px}
.liste-tete .bouton{margin-left:auto}
.liste-resume{margin:0 0 var(--e3);color:var(--encre-2)}
.liste-resume b{color:var(--encre)}
th a.tri{color:inherit;text-decoration:none}
th a.tri:hover{color:var(--encre)}
th[aria-sort=ascending] a.tri::after{content:" ↑"}
th[aria-sort=descending] a.tri::after{content:" ↓"}
th[aria-sort] a.tri{color:var(--encre)}
.puces{display:flex;flex-wrap:wrap;gap:var(--e2)}
.puce{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 var(--e3);border:1px solid var(--filet-fort);border-radius:15px;background:var(--surface);color:var(--encre-2);text-decoration:none;font-weight:500;font-size:13px;white-space:nowrap;transition:background var(--vite),border-color var(--vite)}
.puce:hover{border-color:var(--encre-3);color:var(--encre)}
.puce.actif{background:var(--accent-doux);border-color:var(--accent);color:var(--accent);font-weight:600}
.puce small{font:var(--t-petit);color:var(--encre-3)}
.puce.actif small{color:var(--accent)}
details.filtres{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);margin-bottom:var(--e3)}
details.filtres>summary{list-style:none;display:flex;align-items:center;gap:var(--e3);min-height:48px;padding:6px var(--e3)}
details.filtres>summary::-webkit-details-marker{display:none}
details.filtres>summary>span{flex:1;min-width:0;display:flex;flex-direction:column}
details.filtres>summary small{font:var(--t-petit);color:var(--encre-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
details.filtres>summary .ico{color:var(--encre-3)}
details.filtres[open]>summary .ico-bas{transform:rotate(180deg)}
details.filtres .filtres-corps{padding:0 var(--e3) var(--e3);border-top:1px solid var(--filet)}
details.filtres h3{font:550 11px/16px var(--police);letter-spacing:.04em;text-transform:uppercase;color:var(--encre-3);margin:var(--e3) 0 var(--e2)}
.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e4);margin-top:var(--e3)}
.pagination .pages{display:inline-flex;align-items:center;gap:var(--e3);margin-left:auto}
.pagination>a.petit{color:var(--encre-2)}
/* Calendrier juridique : groupes repliables (mois ou société), une ligne courte par démarche, l'état derrière un geste. */
.cal-filtres{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e3);margin:var(--e5) 0 var(--e3)}
.cal-filtres .bascule-vue{margin-left:auto}
.cal-note{margin:0 0 var(--e3)}
details.groupe-cal{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);margin-bottom:var(--e2)}
details.groupe-cal>summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2);min-height:44px;padding:var(--e2) var(--e4);list-style:none}
details.groupe-cal>summary::-webkit-details-marker{display:none}
details.groupe-cal>summary::before{content:"";width:7px;height:7px;border-right:1.75px solid var(--encre-3);border-bottom:1.75px solid var(--encre-3);transform:rotate(-45deg);transition:transform var(--vite);flex:none;margin-right:2px}
details.groupe-cal[open]>summary::before{transform:rotate(45deg)}
details.groupe-cal[open]>summary{border-bottom:1px solid var(--filet);background:var(--surface-2);border-radius:var(--r3) var(--r3) 0 0}
.lignes-cal{list-style:none;margin:0;padding:0}
.lignes-cal>li{display:grid;grid-template-columns:minmax(0,1fr) 190px 150px;gap:var(--e1) var(--e4);margin:0;padding:var(--e3) var(--e4);border-bottom:1px solid var(--filet);scroll-margin-top:calc(var(--h-haut) + 8px)}
.lignes-cal>li:last-child{border-bottom:0}
.lignes-cal>li:target{background:var(--accent-doux)}
.lignes-cal .lc-qui{display:block;font-size:13px}
.lignes-cal .lc-quand,.lignes-cal .lc-etat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.lignes-cal .lc-suite{grid-column:1/-1;display:flex;flex-direction:column;gap:var(--e1);min-width:0}
.lignes-cal .lc-suite>.petit{overflow-wrap:anywhere}
.lignes-cal .lc-gestes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--e2) var(--e4);margin-top:2px}
.lignes-cal li.faite .lc-quoi b{font-weight:500;color:var(--encre-2)}
details.geste>summary{list-style:none;height:28px;font-size:13px;padding:0 10px}
details.geste>summary::-webkit-details-marker{display:none}
details.geste[open]>summary{background:var(--accent-doux);border-color:var(--accent);color:var(--accent)}
details.geste form.changer-etat{margin-top:var(--e2)}
details.geste[open]{flex-basis:100%}
details.regles-hors{margin-top:var(--e3);max-width:720px}
.puces.defile{margin-bottom:var(--e3)}
details.regles-hors>.petit{margin-bottom:var(--e3)}
/* « Ce que fait Vigie » : la synthèse en tête, le détail replié par brique. */
a.chiffre.choisi{background:var(--accent-doux);box-shadow:inset 0 -2px 0 var(--accent)}
details.brique{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);margin-bottom:var(--e2)}
details.brique>summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e4);min-height:48px;padding:var(--e2) var(--e4);list-style:none}
details.brique>summary::-webkit-details-marker{display:none}
details.brique>summary::before{content:"";width:7px;height:7px;border-right:1.75px solid var(--encre-3);border-bottom:1.75px solid var(--encre-3);transform:rotate(-45deg);transition:transform var(--vite);flex:none;margin-right:-4px}
details.brique[open]>summary::before{transform:rotate(45deg)}
details.brique[open]>summary{border-bottom:1px solid var(--filet)}
details.brique .brique-resume{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e3);margin-left:auto}
details.brique>.tableau,details.brique>.a-demander{border:0;border-radius:0 0 var(--r3) var(--r3)}
.source-liste{margin:0 0 var(--e2)}
details.ref-procedure{margin-top:var(--e5);max-width:720px}
details.ref-procedure p + p{margin-top:var(--e2)}
table.fonctions td.c1{min-width:11rem}
/* Cohérence : « .champs.haut » (formulaire aligné par le haut) héritait par son nom du bandeau « .haut » (collant, 56 px de haut) :
   les champs de la fiche société se chevauchaient. On lui rend sa forme de grille ordinaire. */
body.demo .champs.haut,.champs.haut{position:static;height:auto;padding:0;background:none;border-bottom:0;z-index:auto;align-items:start;gap:var(--e3) var(--e4)}
@media (max-width:899px){
  .barre nav{gap:var(--e3)}
  .barre-lien{height:auto;min-height:44px;padding-top:5px;padding-bottom:5px}
  .barre-lien .dedans{display:block;font:var(--t-petit);font-weight:400;color:var(--encre-3);white-space:normal}
  /* Liste des factures : deux lignes par facture (fournisseur et montant ou solde, puis état et échéance). */
  .liste-tete{flex-wrap:wrap}
  .liste-tete .recherche-liste{width:100%;flex:none}
  .liste-tete .bouton{width:100%;margin-left:0}
  .tableau.fiches.compacte tr{padding:10px var(--e3);gap:2px var(--e3)}
  .tableau.fiches.compacte td.soc,.tableau.fiches.compacte td.attr,.tableau.fiches.compacte td.c1 .sous,.tableau.fiches.compacte td.pai br{display:none}
  .tableau.fiches.compacte td.c1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tableau.fiches.compacte td.c2.solde .ttc{display:none}
  .tableau.fiches.compacte td.c2.solde .sous{display:inline;font:inherit;color:inherit}
  .tableau.fiches.compacte td.pai{grid-column:1/-1;grid-row:2;justify-self:start;display:flex;flex-wrap:wrap;gap:0 var(--e3)}
  .tableau.fiches.compacte td.ech{grid-column:1/-1;grid-row:2;justify-self:end;text-align:right;white-space:nowrap}
  .tableau.fiches.compacte td.ech .sous{display:inline}
  .tableau.fiches.compacte td.ech .sous::before{content:"· "}
  .puce{min-height:36px;font-size:14px}
  .pagination{justify-content:space-between}
  .pagination .pages{margin-left:0;width:100%;justify-content:space-between;order:-1}
  .cal-filtres{margin-top:var(--e4)}
  .cal-filtres .puces,.puces.defile{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--e4));padding:0 var(--e4);max-width:100vw}
  .cal-filtres .puces::-webkit-scrollbar,.puces.defile::-webkit-scrollbar{display:none}
  .puces.defile{margin-bottom:var(--e3)}
  .source-liste{display:none}
  .cal-filtres .bascule-vue{margin-left:0}
  details.groupe-cal>summary{padding:var(--e2) var(--e3)}
  .lignes-cal>li{grid-template-columns:minmax(0,1fr) auto;padding:var(--e3)}
  .lignes-cal .lc-quoi{grid-column:1/-1}
  .lignes-cal .lc-quand{flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 var(--e2)}
  .lignes-cal .lc-etat{align-items:flex-end}
  details.geste>summary{height:36px;font-size:14px}
  details.geste form.changer-etat{min-width:0}
  details.brique>summary{padding:var(--e2) var(--e3)}
  details.brique .brique-resume{margin-left:14px;width:100%}
  .section-tete .fin{margin-left:0}
  /* Journal : une fiche courte par ligne (quoi et quand, puis qui et sur quoi, le détail sur deux lignes au plus). */
  .tableau.fiches.journal tr{padding:var(--e2) var(--e3)}
  .tableau.fiches.journal td.c1{order:-2;font-weight:550}
  .tableau.fiches.journal td.c2{order:-1;font-weight:400;color:var(--encre-2);font-size:12.5px}
  .tableau.fiches.journal td.detail-j{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  table.fonctions td.c1{min-width:0}
  .tableau.fiches td.agir.demi{margin-top:0;justify-self:end}
  details.lexique .tableau.fiches td.meta{font:var(--t-corps);color:var(--encre-2)}
  details.lexique .brique-resume{width:auto;margin-left:auto}
  .lignes-cal .lc-etat{max-width:180px;text-align:right}
  .lignes-cal .lc-quand{min-width:0}
  .barre-selection{flex-wrap:wrap}
  .barre-selection .petit{width:100%}
  .tableau.borne{max-height:min(560px,62vh)}
  .chiffre .val{font-size:clamp(17px,5.2vw,22px)}
}
@media print{.section-nav,.pagination,details.filtres,.cal-filtres{display:none !important}}

/* ───────────── Version ───────────── */
.version{color:var(--encre-3);white-space:nowrap}

/* ───────────── Lot E · volet comptable (postes du PCG, règle fournisseur → poste, factures en compte courant) ───────────── */
.e-periode{align-items:flex-end}
.e-periode-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--e2)}
.e-periode-form .champ{margin:0}
.e-periode-form input{width:9.5em}
.e-totaux{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--e2)}
.e-compte b{font-variant-numeric:tabular-nums}
details.e-regle-poste{margin-top:var(--e3)}
details.e-regle-poste>summary{cursor:pointer;color:var(--accent)}
details.e-regle-poste form{margin-top:var(--e2)}
details.e-fourn form+form{margin-top:var(--e3);padding-top:var(--e3);border-top:1px solid var(--filet)}
@media (max-width:767px){
  .e-periode,.e-periode-form{align-items:stretch}
  .e-periode-form{width:100%}
  .e-periode-form .champ{flex:1 1 8em}
  .e-periode-form input{width:100%}
  .e-periode .fin{width:100%;display:flex;gap:var(--e2)}
}

/* ───────────── Lot F · parapheur (aucun jeton nouveau) ───────────── */
.etat.parapheur{color:var(--accent);font-weight:600}
.etat.parapheur::before{display:none}
.etat.parapheur .ico{width:16px;height:16px}
.parapheur-geste{margin:0 0 var(--e4)}
.parapheur-geste .parapheur-dedans{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e3);padding:var(--e2) var(--e3);background:var(--accent-doux);border-radius:var(--r2)}
.parapheur-geste details.geste[open]{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e3);max-width:560px}
.parapheur-ajout,.parapheur-decider{margin-top:var(--e3)}
.parapheur-ajout .champ,.parapheur-decider .champ{margin:var(--e3) 0}
fieldset.puces-choix{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--e2)}
fieldset.puces-choix legend{font:550 13px/18px var(--police);color:var(--encre-2);margin-bottom:var(--e2);padding:0;width:100%}
fieldset.puces-choix legend .sous{display:inline;margin-left:6px;font:var(--t-petit);color:var(--encre-3)}
fieldset.puces-choix label{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 var(--e3);border:1px solid var(--filet-fort);border-radius:999px;background:var(--surface);cursor:pointer;font:500 13.5px/20px var(--police)}
fieldset.puces-choix label:has(input:checked){background:var(--accent-doux);border-color:var(--accent);color:var(--accent)}
fieldset.puces-choix input{margin:0;accent-color:var(--accent)}
.parapheur-file{padding-top:0;padding-bottom:0}
.parapheur-file .parapheur-geste{margin-bottom:var(--e3)}
/* Liste des factures : le bouton de la ligne passe au-dessus du lien qui couvre la ligne. */
.tableau td.para{width:1%;white-space:nowrap;text-align:right}
.tableau td.para form.para-ligne{position:relative;z-index:1;display:inline}
.tableau td.para button{height:28px;font-size:12.5px;padding:0 var(--e2)}
.tableau td.para button.dedans{color:var(--accent);font-weight:600}
.tableau td.para button .ico{width:15px;height:15px}
/* Page Parapheur */
.parapheur-tete{justify-content:space-between}
.parapheur-tete .liste-resume{margin:0}
.parapheur-tete .actions{display:flex;flex-wrap:wrap;gap:var(--e2)}
.parapheur-derniere{margin:0 0 var(--e4)}
.parapheur-groupe{margin-bottom:var(--e5)}
ul.parapheur-liste{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
ul.parapheur-liste>li{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:var(--e1) var(--e4);align-items:start;padding:var(--e3) var(--e4);border-top:1px solid var(--filet)}
ul.parapheur-liste>li:first-child{border-top:0}
.pl-qui,.pl-quand,.pl-combien{display:flex;flex-direction:column;min-width:0}
.pl-qui a{color:var(--encre);text-decoration:none}
.pl-qui a:hover b{text-decoration:underline}
.pl-motif{display:inline-flex;align-items:flex-start;gap:5px;margin-top:4px;font:550 12.5px/18px var(--police);color:var(--accent)}
.pl-motif .ico{width:14px;height:14px;flex:none;margin-top:2px}
.pl-combien{text-align:right;font-variant-numeric:tabular-nums}
.pl-agir{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:var(--e1)}
.pl-agir details.geste[open]{order:2;flex-basis:100%;background:var(--surface-2);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e3)}
ul.parapheur-liste>li:has(details.geste[open]) .pl-agir{grid-column:1/-1}
.pl-plus{grid-column:1/-1;color:var(--encre-3)}
.pl-avert{grid-column:1/-1;margin:var(--e1) 0 0}
.pl-avert ul{margin:0;padding-left:var(--e4)}
.compteur-onglet{font:600 11px/16px var(--police);color:var(--accent);background:var(--accent-doux);border-radius:999px;padding:0 6px;margin-left:4px}
@media (max-width:899px){
  .tableau td.para{display:none}
  ul.parapheur-liste>li{grid-template-columns:minmax(0,1fr) auto;padding:var(--e3)}
  .pl-qui{grid-column:1/2}
  .pl-combien{grid-column:2/3;grid-row:1}
  .pl-quand{grid-column:1/2;flex-direction:row;gap:6px;align-items:baseline}
  .pl-etat{grid-column:2/3;justify-self:end}
  .pl-agir{grid-column:1/-1;justify-content:flex-start}
  .parapheur-tete .actions{width:100%}
  .parapheur-tete .actions form,.parapheur-tete .actions form button,.parapheur-tete .actions .bouton{flex:1;width:100%}
}
/* Vue imprimable (solution de repli) */
.parapheur-papier{background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);padding:var(--e5);max-width:900px}
.pp-garde h2{font:600 26px/32px var(--police);margin:0}
.pp-groupe{font:500 16px/22px var(--police);margin:var(--e1) 0}
.parapheur-papier h3{font:var(--t-section);margin:var(--e5) 0 var(--e2)}
.pp-table{width:100%;border-collapse:collapse;font:var(--t-petit)}
.pp-table th,.pp-table td{border-bottom:1px solid var(--filet);padding:6px 6px;text-align:left;vertical-align:top}
.pp-table .n{text-align:right;white-space:nowrap}
.pp-avert{color:var(--e-mise_en_demeure)}
.pp-decision{border:1px solid var(--encre);padding:var(--e3) var(--e4);margin:var(--e5) 0 var(--e3);break-inside:avoid}
.pp-decision h3{margin-top:0}
.pp-cases{display:flex;gap:var(--e6);font-size:15px}
.pp-ligne{border-bottom:1px solid var(--filet-fort);min-height:28px;margin:var(--e2) 0}
.pp-signature{display:flex;gap:var(--e6);margin-top:var(--e5)}
.pp-signature span{flex:1;border-bottom:1px solid var(--filet-fort);padding-bottom:24px}
@media (max-width:899px){.parapheur-papier{padding:var(--e3)}.pp-table{display:block;overflow-x:auto}}
@media print{
  .ecran-seul,.parapheur-tete,.pl-agir,.para-ligne,.section-nav,.bandeau-demo,details.aide{display:none !important}
  .parapheur-papier{border:0;padding:0;max-width:none;color:#000}
  .pp-table tr{break-inside:avoid}
}

/* ───────────── Lot H · Correspondance (06/10/2026) ───────────── */
.champs>.large{grid-column:1/-1}
.champs textarea{width:100%;font:inherit}
.corr-creer{max-width:760px}
.corr-rappel-defaut{display:flex;align-items:center;gap:6px;margin-top:var(--e3)}
.corr-rappel-defaut .ico{width:14px;height:14px;color:var(--encre-3)}
.corr-plus{margin-top:var(--e2)}
.corr-plus>summary{cursor:pointer;color:var(--accent);font:var(--t-petit);font-weight:500}
.corr-liste tr.echu td.c1 a{font-weight:650}
.corr-liste td.rappel{white-space:nowrap}
.corr-gestes{display:flex;flex-direction:column;gap:var(--e2)}
.corr-gestes>*+*{margin-top:0 !important}
details.geste-corr>summary{list-style:none;display:inline-flex;align-items:center;gap:6px}
details.geste-corr>summary::-webkit-details-marker{display:none}
details.geste-corr[open]>summary{background:var(--accent-doux);border-color:var(--accent);color:var(--accent)}
details.geste-corr>form{margin-top:var(--e2);padding:var(--e3);border:1px solid var(--filet);border-radius:var(--r2);background:var(--surface-2)}
ol.chrono-corr{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
ol.chrono-corr li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:var(--e2) var(--e4);align-items:start;padding:var(--e3) var(--e4);border-bottom:1px solid var(--filet)}
ol.chrono-corr li:last-child{border-bottom:0}
ol.chrono-corr .cc-quoi{display:flex;flex-direction:column;gap:2px;min-width:0}
ol.chrono-corr .cc-quoi .sous{font:var(--t-petit);color:var(--encre-2)}
.boite-test{margin-top:var(--e3)}
.boite-test ul{margin:var(--e2) 0 0;padding-left:18px}
@media (max-width:899px){
  .corr-creer{padding:var(--e3)}
  .corr-creer .champs{grid-template-columns:1fr 1fr;gap:var(--e2) var(--e3)}
  .corr-creer .champs>div:nth-child(1),.corr-creer .champs>div:nth-child(2),.corr-creer .champs>div:nth-child(3){grid-column:1/-1}
  .corr-creer .corr-plus .champs>div{grid-column:1/-1}
  .corr-creer .actions button{flex:1}
  ol.chrono-corr li{grid-template-columns:minmax(0,1fr);gap:4px;padding:var(--e3)}
  .corr-liste td.etat-corr{grid-column:2;grid-row:1}
}

/* ───────── Lot G · rapprochement bancaire (aucun jeton nouveau) ───────── */
.rap-chiffres{margin-top:var(--e3)}
.tableau th.rap-case,.tableau td.rap-case{width:32px;padding-right:0}
.rap-case input{width:18px;height:18px;margin:0}
.rap-proches{margin:4px 0 0;padding-left:16px}
.rap-proches li{margin:2px 0}
.rap-traiter > summary{list-style:none;display:inline-flex;cursor:pointer}
.rap-traiter > summary::-webkit-details-marker{display:none}
.rap-traiter[open] > summary{margin-bottom:var(--e2)}
.rap-traiter form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;max-width:420px}
.rap-traiter form label{width:100%;font:var(--t-petit);font-weight:500}
.rap-traiter form select{flex:1;min-width:0}
.rap-traiter form input{flex:1;min-width:120px}
.rap-lot{margin-top:var(--e3)}
.rap-qualifiees,.rap-reglages,.rap-brut{margin-top:var(--e3)}
.rap-qualifiees summary,.rap-reglages summary,.rap-brut summary{cursor:pointer}
.rap-colonnes{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.rap-brut-t{overflow-x:auto;margin-top:var(--e2)}
.rap-brut-t td,.rap-brut-t th{white-space:nowrap}
@media (max-width:899px){
  .tableau.fiches td.rap-case{grid-column:1/-1;order:-1}
  .tableau.fiches td.rap-case:empty{display:none}
  .rap-traiter form{max-width:none}
}
.rap-raison{margin-top:4px;max-width:60ch}
.rap-inconnues{margin-top:var(--e3)} .rap-inconnues summary{cursor:pointer}

/* ───────────── Passe design V2 (07/10/2026) · voir DESIGN.md § 13 ─────────────
   Le travail avant les chiffres ; plus aucun rebord coloré ; la société dans l'en-tête et sur chaque ligne ;
   cibles de 44 px au téléphone. Aucun jeton de couleur nouveau : --h-haut passe à 72 px au téléphone. */
:root{--h-tete-tel:72px;--t-ligne:600 15px/20px var(--police);--t-ligne-2:400 13px/18px var(--police)}

/* En-tête : titres sur une colonne (contexte société au téléphone, titre) */
.haut .titres{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.haut .titres h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contexte{display:none}
.actions-haut{display:none}

/* Sélecteur de société de la barre latérale : état « choisie » en pétrole clair, avec sa croix */
.choix-societe-rangee{position:relative;display:flex;align-items:stretch;gap:var(--e1)}
.choix-societe-rangee .choix-societe{flex:1;min-width:0}
.choix-societe.choisie summary{background:var(--accent-doux);border-color:var(--accent);color:var(--accent)}
.choix-societe.choisie summary .nom{font-weight:600}
.choix-societe.choisie summary .ico-bas{color:var(--accent)}
.retirer-societe{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r2);color:var(--accent)}
.retirer-societe i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:9px;background:var(--accent-doux)}
.retirer-societe .ico{width:12px;height:12px;stroke-width:2.2}
.retirer-societe:hover i{background:var(--accent);color:var(--sur-accent)}
.barre-repliee .retirer-societe{display:none}

/* Spec 1 · onglets de section : collants sous l'en-tête, horizontaux seulement, verrouillés à la verticale.
   Le filet est une ombre intérieure, l'indicateur actif un ::after dans le lien : aucune marge négative, rien ne déborde en hauteur. */
.section-nav{position:sticky;top:var(--h-haut);z-index:9;display:flex;align-items:stretch;gap:var(--e5);height:44px;margin:0;padding:0 var(--e6);background:var(--fond);
  box-shadow:inset 0 -1px 0 var(--filet);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;flex:none;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.section-nav a,.section-nav .section-nom{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;white-space:nowrap;text-decoration:none;color:var(--encre-2);font-weight:500;transition:color var(--vite)}
.section-nav a:hover{color:var(--encre)}
.section-nav a.actif{color:var(--encre);font-weight:600}
.section-nav a.actif::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:1px;background:var(--accent)}
.section-nav::after{content:"";flex:none;width:12px}

/* Synthèse : un mot, un nombre, sans encadré ni fond teinté */
.synthese{display:flex;flex-direction:column;gap:0;margin:0 0 var(--e2)}
.synthese .quoi{font:600 16px/22px var(--police);color:var(--encre-2)}
.synthese.mise_en_demeure .quoi{color:var(--e-mise_en_demeure)}
.synthese.relancee .quoi{color:var(--e-relancee)}
.synthese.echue .quoi{color:#7D5A00}
.synthese.payee .quoi{color:var(--encre)}
.synthese .combien{font:650 30px/36px var(--police);letter-spacing:-.02em;color:var(--encre)}
.synthese .sous{margin-top:2px;font:var(--t-ligne-2);color:var(--encre-2)}

/* Spec 2 · compteurs : un seul panneau à filets internes ; la couleur dans la pastille, le chiffre en encre sauf le plus grave */
.compteurs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3);overflow:hidden}
.compteur-c{display:flex;flex-direction:column;justify-content:center;gap:0;min-height:72px;padding:var(--e2) var(--e4);color:inherit;text-decoration:none;min-width:0;box-shadow:-1px 0 0 var(--filet),0 -1px 0 var(--filet);transition:background var(--vite)}
a.compteur-c:hover{background:var(--surface-2);color:inherit}
.compteur-c .etat{font:500 13px/18px var(--police);color:var(--encre-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.compteur-c .ligne-c{display:flex;align-items:baseline;justify-content:space-between;gap:var(--e2);min-width:0}
.compteur-c .val{font:600 22px/28px var(--police);letter-spacing:-.015em;color:var(--encre)}
.compteur-c .det{font:400 12.5px/18px var(--police);color:var(--encre-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.compteur-c.grave .val{color:var(--e-mise_en_demeure)}
.compteur-c.zero .val{color:var(--encre-3)}

/* Tableau de bord : synthèse, puis à l'ordinateur la bande des compteurs, puis deux colonnes (liste ≈ 700 px, côté 410 px) */
.tdb{display:grid;grid-template-columns:minmax(0,1fr) 410px;grid-template-areas:"synthese synthese" "chiffres chiffres" "principal cote";gap:0 var(--e6);align-items:start}
.tdb-synthese{grid-area:synthese}
.tdb-chiffres{grid-area:chiffres;margin-top:var(--e3)}
.tdb-principal{grid-area:principal}
.tdb-cote{grid-area:cote}
.lien-tete{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0;font:500 13px/18px var(--police);text-decoration:none}
.lien-tete:hover{text-decoration:underline}
.sur-tel-lien{display:none}
.suite.sur-ordi-flex{display:flex}
.treso-v2 figcaption.treso-chiffre{display:block}
.treso-chiffre b{font:600 22px/28px var(--police);letter-spacing:-.015em}
.treso-chiffre b.moins{color:var(--e-mise_en_demeure)}
.treso-chiffre>span:not(.petit){font:500 14px/20px var(--police);color:var(--encre-2)}
.treso-chiffre .petit{display:block;margin-top:2px}
details.replie-tdb{margin-top:var(--e3);background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
details.replie-tdb>summary{list-style:none;display:flex;align-items:center;gap:var(--e3);min-height:48px;padding:var(--e2) var(--e4)}
details.replie-tdb>summary::-webkit-details-marker{display:none}
details.replie-tdb>summary>span{flex:1}
details.replie-tdb>summary .ico-bas{color:var(--encre-3);transition:transform var(--vite)}
details.replie-tdb[open]>summary .ico-bas{transform:rotate(180deg)}
details.replie-tdb[open]>summary{border-bottom:1px solid var(--filet)}
details.replie-tdb .accordeon{border:0;border-radius:0 0 var(--r3) var(--r3)}
.liens-decider a{min-height:48px}

/* Spec 3 · ligne de liste : trois lignes (qui et combien, société, état et échéance). Rien n'est tronqué ;
   l'état passe à la ligne, l'échéance passe dessous quand la place manque (ajustement V2.2 n° 6). */
.liste3{list-style:none;margin:0;padding:0}
.liste3>li{margin:0;border-top:1px solid var(--filet)}
.liste3>li:first-child{border-top:0}
.l3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--e3);min-height:84px;padding:var(--e3) var(--e4);color:var(--encre);text-decoration:none;align-content:flex-start;transition:background var(--vite)}
a.l3:hover{background:var(--surface-2);color:var(--encre)}
.l3 .f{flex:1 1 0;min-width:0;font:var(--t-ligne);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.l3 .m{flex:none;font:var(--t-ligne);text-align:right;white-space:nowrap}
.l3 .s{flex:1 0 100%;font:var(--t-ligne-2);color:var(--encre-2);overflow-wrap:anywhere}
.l3 .e{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--e3);font:var(--t-ligne-2);color:var(--encre-3)}
.l3 .e .etat{font:500 13px/18px var(--police);white-space:normal;align-items:baseline}
.l3 .e .etat::before{align-self:center}
.l3 .r{margin-left:auto;text-align:right}
.l3 .retard,.retard{color:var(--e-mise_en_demeure);font-weight:500}
.l3.calme .f,.l3.calme .m{font-weight:500;color:var(--encre-2)}
@media (min-width:900px){
  /* Ordinateur : lignes de 62 px à colonnes fixes (qui et état, société 150, échéance 104, montant 132) */
  .l3{display:grid;grid-template-columns:minmax(0,1fr) 150px 120px 132px;grid-template-rows:auto auto;column-gap:var(--e3);row-gap:0;min-height:62px;padding:10px var(--e4);align-items:start}
  .l3 .f{grid-column:1;grid-row:1;font-size:14.5px;-webkit-line-clamp:1}
  .l3 .s{grid-column:2;grid-row:1/3;align-self:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .l3 .e{display:contents}
  .l3 .e .etat{grid-column:1;grid-row:2}
  .l3 .r{grid-column:3;grid-row:1/3;align-self:center;margin:0;text-align:left;color:var(--encre-2)}
  .l3 .r .rel{display:block}
  .l3 .r .sep{display:none}
  .l3 .m{grid-column:4;grid-row:1/3;align-self:center}
}

/* Mois d'échéance : un intertitre qui dit ce qu'il groupe (« Échéances · juillet 2026 ») */
.mois-titre{margin:var(--e5) 0 var(--e2);font:600 12px/18px var(--police);color:var(--encre-2)}
.mois-titre:first-child{margin-top:var(--e2)}

@media (min-width:900px) and (max-width:1180px){
  .tdb{grid-template-columns:minmax(0,1fr);grid-template-areas:"synthese" "chiffres" "principal" "cote"}
  .compteurs{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ── Téléphone ── */
@media (max-width:899px){
  :root{--h-haut:var(--h-tete-tel)}
  body.demo{--h-haut:calc(var(--h-tete-tel) + 20px)}
  /* En-tête de 72 px : rangée de contexte (cible de 44 px) puis titre 20/26. */
  .haut,body.demo .haut{height:var(--h-tete-tel);align-items:stretch;gap:var(--e2)}
  .haut .titres{justify-content:flex-start;padding-top:1px}
  .haut h1,.haut .titres h1{font:600 20px/26px var(--police);letter-spacing:-.01em}
  .haut .fil{height:26px}
  .menu-compte{align-self:center}
  .menu-compte summary{height:44px;width:44px;justify-content:center;padding:0}
  .contexte{display:flex;align-items:center;gap:var(--e2);height:44px;min-width:0;font:500 13px/18px var(--police);color:var(--encre-3)}
  .contexte .nom{display:inline-flex;align-items:center;gap:6px;height:44px;min-width:0;margin:0;font:inherit;color:inherit;cursor:pointer}
  .contexte .nom span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .contexte .ico{width:14px;height:14px}
  .contexte .ico-bas{width:13px;height:13px}
  .contexte.choisie{color:var(--accent);font-weight:600}
  /* Ajustement V2.2 n° 7 : croix de 44 × 44 sans marge négative ni rétrécissement, 8 px entre le nom et la croix, pastille visible de 18 px. */
  .contexte .retirer{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;color:var(--accent);-webkit-tap-highlight-color:transparent}
  .contexte .retirer i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:9px;background:var(--accent-doux)}
  .contexte .retirer .ico{width:11px;height:11px;stroke-width:2.4}
  .actions-haut{display:inline-flex;align-self:center;align-items:center;gap:6px;height:44px;padding:0 var(--e2);font:600 13px/18px var(--police);color:var(--accent);text-decoration:none;white-space:nowrap}
  .actions-haut .ico{width:18px;height:18px}
  /* Panneau « Plus » : la croix du sélecteur prend 44 px */
  .retirer-societe{width:44px;height:44px}

  /* Onglets de section au téléphone : collés sous l'en-tête, libellé de la partie retiré */
  .section-nav{padding:0 var(--e4);gap:var(--e4)}
  .section-nav .section-nom{display:none}
  .section-nav a{font-size:14px}

  /* Cibles de 44 px : boutons, champs, puces, liens de pagination */
  button,.bouton{height:44px;min-height:44px}
  input,select{height:44px}
  input[type=checkbox],input[type=radio]{height:20px;width:20px}
  .bascule-vue a{height:42px}
  .puces{gap:var(--e2)}
  .puce{min-height:44px}
  details.filtres>summary{min-height:44px}
  details.geste>summary{height:44px}
  .tableau td.para button{height:44px}
  details.voir-source summary,details.b-annuler>summary,details.e-regle-poste>summary,.corr-plus>summary{display:inline-flex;align-items:center;min-height:44px}
  .pagination>a.petit{display:inline-flex;align-items:center;min-height:44px}

  /* Tableau de bord au téléphone : synthèse 16 + 28, trois urgences, deux échéances, puis les chiffres en 2 × 3 */
  .tdb{display:block}
  .synthese .combien{font-size:28px;line-height:32px}
  .tdb .section-tete{margin:var(--e5) 0 var(--e2)}
  .tdb-principal .section-tete:first-child,.tdb-brule .section-tete{margin-top:var(--e4)}
  .sur-tel-lien{display:inline-flex}
  .section-tete .lien-tete{margin-left:auto}
  .suite.sur-ordi-flex{display:none}
  .liste3.court3>li:nth-child(n+4),.liste3.court2>li:nth-child(n+3){display:none}
  .tdb-chiffres{margin-top:0}
  .compteurs{grid-template-columns:1fr 1fr}
  .compteur-c{min-height:76px;padding:10px var(--e4)}
  .compteur-c .val{font-size:24px;line-height:30px}
  .compteur-c .det{font-size:13px}
  .treso-v2 .graphique{max-height:200px}
}

/* Factures (liste) : puces d'état, intertitres par mois d'échéance, ligne en trois lignes au téléphone */
.sur-ordi-flex{display:inline-flex}
.puces.etats{margin:0 0 var(--e3)}
.puces.etats .etat{gap:0}
.puce .etat::before{margin:0}
.tableau.trois-lignes tr.mois-ligne th{position:static;padding:var(--e3) var(--e3) 6px;font:600 12px/18px var(--police);letter-spacing:0;text-transform:none;color:var(--encre-2);background:var(--surface-2)}
.tableau.trois-lignes tr.calme td,.tableau.trois-lignes tr.calme a.lien-ligne{color:var(--encre-2)}
.tableau.trois-lignes tr.calme a.lien-ligne{font-weight:500}
.tableau.trois-lignes td.ech .rel{display:block}
.tableau.trois-lignes td.ech .sep{display:none}
.soc-num{display:none}
.parapheur-mot{color:var(--accent)}
.parapheur-mot::before{display:none}
details.filtres.trier{position:relative;margin:0;flex:none}
details.filtres.trier>summary{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:var(--r2)}
details.filtres.trier>summary .ico{width:18px;height:18px;color:var(--encre-2)}
details.filtres.trier .filtres-corps{position:absolute;right:0;top:50px;z-index:25;width:min(343px,calc(100vw - 32px));padding:0 var(--e3) var(--e3);background:var(--surface);border:1px solid var(--filet-fort);border-radius:var(--r3);box-shadow:var(--ombre-menu)}
@media (max-width:899px){
  .sur-ordi-flex{display:none !important}
  .liste-tete{flex-wrap:nowrap;gap:var(--e2)}
  .liste-tete .recherche-liste{flex:1;width:auto}
  .liste-tete .recherche .ico{top:14px}
  .puces.etats{margin:var(--e1) calc(-1 * var(--e4)) var(--e2);padding:0 var(--e4)}
  .puces.etats .puce,.puces.defile .puce{position:relative;z-index:0;min-height:44px;border:0;background:none;padding:0 var(--e3)}
  .puces.etats .puce::after,.puces.defile .puce::after{content:"";position:absolute;inset:6px 0;z-index:-1;border:1px solid var(--filet-fort);border-radius:16px;background:var(--surface)}
  .puces.etats .puce.actif::after,.puces.defile .puce.actif::after{background:var(--accent-doux);border-color:var(--accent)}
  .tableau.fiches.compacte.trois-lignes tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--e3);min-height:84px;padding:var(--e3) var(--e4)}
  .tableau.fiches.compacte.trois-lignes tr.mois-ligne{display:block;min-height:0;padding:0}
  .tableau.fiches.compacte.trois-lignes tr.mois-ligne th{display:block;padding:var(--e3) var(--e4) 6px}
  .tableau.fiches.compacte.trois-lignes td{flex:none;grid-column:auto;grid-row:auto}
  .tableau.fiches.compacte.trois-lignes td.c1{order:1;flex:1 1 0;min-width:0;white-space:normal;overflow:visible}
  .tableau.fiches.compacte.trois-lignes td.c1 a.lien-ligne{font:var(--t-ligne);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .tableau.fiches.compacte.trois-lignes td.c2{order:2;font:var(--t-ligne)}
  .tableau.fiches.compacte.trois-lignes td.soc{order:3;display:block;flex:1 0 100%;font:var(--t-ligne-2);color:var(--encre-2);white-space:normal;overflow-wrap:anywhere}
  .tableau.fiches.compacte.trois-lignes.vue-societe td.soc .soc-nom{display:none}
  .tableau.fiches.compacte.trois-lignes.vue-societe td.soc .soc-num{display:inline}
  .sur-ordi-inline,.liste-resume .sep-resume{display:none}
  .tableau.fiches.compacte.trois-lignes td.pai{order:4;display:flex;flex-wrap:wrap;gap:2px var(--e3);font:var(--t-ligne-2)}
  .tableau.fiches.compacte.trois-lignes td.pai .etat{white-space:normal;font-size:13px}
  .tableau.fiches.compacte.trois-lignes td.ech{order:5;margin-left:auto;text-align:right;white-space:normal;font:var(--t-ligne-2);color:var(--encre-3)}
  .tableau.fiches.compacte.trois-lignes td.ech .rel{display:inline}
  .tableau.fiches.compacte.trois-lignes td.ech .sep{display:inline}
  .tableau.fiches.compacte.trois-lignes tr.calme td.c2,.tableau.fiches.compacte.trois-lignes tr.calme a.lien-ligne{font-weight:500;color:var(--encre-2)}
}
@media (min-width:900px){
  .tableau.trois-lignes thead th:nth-child(2){width:160px}
  .tableau.trois-lignes thead th:nth-child(3){width:124px}
  .tableau.trois-lignes thead th:nth-child(4){width:132px}
}

/* Fiche facture : tête (numéro, fournisseur, montant 28 px, état et retard), un seul avis, puis attribution et paiement ;
   au téléphone la pièce passe après le paiement, « Ce que le logiciel a lu » et l'historique sont repliés. */
.titre-court{display:none}
.tete-fiche{margin:0 0 var(--e3)}
.tf-num{font:500 13px/18px var(--police);color:var(--encre-3)}
.tf-four{font:600 18px/24px var(--police);margin-top:2px;overflow-wrap:anywhere}
.tf-montant{font:650 28px/32px var(--police);letter-spacing:-.02em;margin-top:var(--e2)}
.tf-montant span{font:500 13px/18px var(--police);letter-spacing:0;color:var(--encre-3)}
.tf-etat{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--e3);margin-top:6px;font:var(--t-ligne-2);color:var(--encre-2)}
.avis{display:flex;gap:var(--e2);margin:0 0 var(--e3);padding:var(--e3) 0 0;border-top:1px solid var(--filet);font:400 14px/20px var(--police);color:var(--encre-2)}
.avis>.ico,.rappel-retrouve>.ico{flex:none;margin-top:2px;color:var(--accent)}
.avis b,.rappel-retrouve b{color:var(--encre);font-weight:600}
.avis a,.rappel-retrouve a{font-weight:600}
.rappel-retrouve{display:flex;gap:var(--e2);margin:var(--e3) 0 var(--e2);font:400 14px/20px var(--police);color:var(--encre-2)}
details.noter-paiement{margin-top:var(--e3)}
details.noter-paiement>summary{list-style:none}
details.noter-paiement>summary::-webkit-details-marker{display:none}
details.noter-paiement[open]>summary{background:var(--accent-doux);border-color:var(--accent);color:var(--accent);margin-bottom:var(--e3)}
details.bloc.lu>summary,details.bloc.historique>summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e2);min-height:48px;list-style:none}
details.bloc.lu>summary::-webkit-details-marker,details.bloc.historique>summary::-webkit-details-marker{display:none}
details.bloc.lu>summary .num{width:20px;height:20px;border-radius:50%;border:1px solid var(--filet-fort);font:550 11px/18px var(--police);text-align:center;color:var(--encre-2);flex:none}
details.bloc.lu>summary .petit{font-weight:400}
details.bloc.lu>section>.corps{padding:var(--e4)}
details.bloc.lu>section>.corps>*+*{margin-top:var(--e3)}
.fin-fiche{margin-top:var(--e4)}
@media (max-width:1180px){
  .fiche-v2{display:flex;flex-direction:column;gap:0}
  .fiche-v2>.col-decision{display:contents}
  .fiche-v2>.col-decision>*{order:1}
  .fiche-v2>.col-piece{order:2;margin-top:var(--e3)}
  .fiche-v2>.col-decision>#paiement ~ *{order:3}
}
@media (max-width:899px){
  .titre-long{display:none}
  .titre-court{display:inline}
}
@media (max-width:899px){
  dl.fiche.b-solde{grid-template-columns:minmax(0,1fr) auto;gap:6px var(--e3)}
  dl.fiche.b-solde dt{margin-top:0;font:var(--t-corps);color:var(--encre-3)}
  dl.fiche.b-solde dd.n{text-align:right}
}

/* Argent · rapprochement : la liste à confirmer d'abord, les chiffres dessous, le reste replié */
.rap-titre h2{font:600 18px/24px var(--police)}
.rap-perso{flex-basis:100%;margin-top:var(--e1)}
.rap-consequence{color:var(--accent) !important;font-weight:500}
.rap-chiffres{margin:var(--e4) 0 0}
details.rap-reste{margin-top:var(--e4)}
details.rap-reste>summary>span{display:flex;flex-direction:column;min-width:0}
details.rap-reste>summary small{font:var(--t-petit);color:var(--encre-3)}
.rap-reste-corps{padding:0 var(--e4) var(--e4)}
.rap-reste-corps>.section-tete:first-child,.rap-reste-corps>.bandeau:first-child{margin-top:var(--e4)}
@media (max-width:899px){
  .rap-reste-corps{padding:0 var(--e3) var(--e3)}
  /* Une proposition = une carte : facture et montant, mouvement, pourquoi, conséquence, deux boutons de 44 px */
  .tableau.fiches.rap-props tr{grid-template-columns:minmax(0,1fr) auto;padding:var(--e3) var(--e4);gap:4px var(--e3)}
  .tableau.fiches.rap-props td.rap-case{display:none}
  .tableau.fiches.rap-props td.c1{display:none}
  .tableau.fiches.rap-props td.rap-fac{grid-column:1;grid-row:1;font:var(--t-ligne-2)}
  .tableau.fiches.rap-props td.rap-fac>div>a{font:var(--t-ligne);color:var(--encre);text-decoration:none}
  .tableau.fiches.rap-props td.rap-fac .sous{margin-top:4px;font:var(--t-ligne-2);color:var(--encre-2)}
  .tableau.fiches.rap-props td.c2{grid-column:2;grid-row:1;font:var(--t-ligne)}
  .tableau.fiches.rap-props td.agir{grid-column:1/-1;white-space:normal !important;margin-top:var(--e2)}
  .tableau.fiches.rap-props td.agir .actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--e2)}
  .tableau.fiches.rap-props td.agir form,.tableau.fiches.rap-props td.agir button{width:100%}
  .tableau.fiches.rap-props td.agir button.discret{border-color:var(--filet-fort);background:var(--surface);color:var(--encre)}
  .rap-lot{flex-wrap:wrap}
  .rap-lot button{width:100%}
}
/* Droits du rôle : une ligne grise, le détail se déplie */
details.interdit-bandeau{margin:0 0 var(--e3);font:var(--t-petit);color:var(--encre-3);max-width:86ch}
details.interdit-bandeau>summary{list-style:none;display:flex;align-items:flex-start;gap:var(--e2);min-height:32px;padding:6px 0}
details.interdit-bandeau>summary::-webkit-details-marker{display:none}
details.interdit-bandeau>summary b{font-weight:500;color:var(--encre-2)}
details.interdit-bandeau>summary .ico{width:14px;height:14px;margin-top:2px;flex:none}
details.interdit-bandeau>p{padding:0 0 var(--e2) 22px}
@media (max-width:899px){details.interdit-bandeau>summary{min-height:44px;align-items:center}}
.tableau td .sous.rap-mouv{display:none}
@media (max-width:899px){.tableau.fiches td .sous.rap-mouv{display:block}}

/* Parapheur : synthèse, groupes par société, avertissements en texte sous triangle ocre (sans fond), gestes de 44 px */
.parapheur-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--e3) var(--e5);margin-bottom:var(--e4)}
.parapheur-synthese{margin:0;max-width:720px}
.parapheur-synthese .quoi{color:var(--encre-2)}
.parapheur-groupe-tete h2{font:600 15px/20px var(--police)}
.pl-avert{grid-column:1/-1;display:flex;flex-direction:column;gap:var(--e1);margin:var(--e1) 0 0}
.pl-avert p{display:flex;gap:6px;font:var(--t-ligne-2);color:var(--encre-2)}
.pl-avert .ico{width:14px;height:14px;flex:none;margin-top:2px;color:var(--e-echue)}
.pl-quand .retard{font-size:13px}
.pl-f{color:var(--encre);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.pl-f:hover{text-decoration:underline}
.pl-num,.pl-soc{font:var(--t-ligne-2);color:var(--encre-2)}
@media (min-width:900px){
  ul.parapheur-liste>li{grid-template-columns:minmax(0,1fr) 150px 132px 150px auto;row-gap:2px}
  ul.parapheur-liste .pl-f{grid-column:1;grid-row:1}
  ul.parapheur-liste .pl-soc{grid-column:1}
  ul.parapheur-liste .pl-num{grid-column:1}
  ul.parapheur-liste .pl-motif{grid-column:1}
  ul.parapheur-liste .pl-quand{grid-column:2;grid-row:1/3}
  ul.parapheur-liste .pl-combien{grid-column:3;grid-row:1/3}
  ul.parapheur-liste .pl-etat{grid-column:4;grid-row:1/3}
  ul.parapheur-liste .pl-agir{grid-column:5;grid-row:1/4}
  ul.parapheur-liste .pl-retrouve,ul.parapheur-liste .pl-plus,ul.parapheur-liste .pl-avert{grid-column:1/-1}
}
@media (max-width:899px){
  .parapheur-tete{display:flex;flex-direction:column;align-items:stretch}
  .sur-ordi-inline-b{display:none}
  ul.parapheur-liste>li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--e3);padding:14px var(--e4) var(--e3)}
  ul.parapheur-liste .pl-f{order:1;flex:1 1 0;min-width:0;font:var(--t-ligne)}
  ul.parapheur-liste .pl-combien{order:2;flex:none;text-align:right}
  ul.parapheur-liste .pl-combien b{font:var(--t-ligne)}
  ul.parapheur-liste .pl-soc{order:3;flex:1 0 100%}
  ul.parapheur-liste .pl-num{order:4;flex:1 0 100%}
  ul.parapheur-liste .pl-etat{order:5;flex:none}
  ul.parapheur-liste .pl-quand{order:6;margin-left:auto;font:var(--t-ligne-2);color:var(--encre-3);text-align:right}
  ul.parapheur-liste .pl-motif{order:7;flex:1 0 100%;margin-top:2px}
  ul.parapheur-liste .pl-plus{order:8;flex:1 0 100%;font:var(--t-ligne-2)}
  ul.parapheur-liste .pl-avert{order:9;flex:1 0 100%}
  ul.parapheur-liste .pl-retrouve{order:10;flex:1 0 100%}
  ul.parapheur-liste .pl-agir{order:11;flex:1 0 100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--e2);margin-top:var(--e2)}
  ul.parapheur-liste .pl-agir .pl-retirer{order:1}
  ul.parapheur-liste .pl-agir .pl-retirer button,ul.parapheur-liste .pl-agir details.geste>summary{width:100%}
  ul.parapheur-liste .pl-agir details.geste{order:2}
  ul.parapheur-liste .pl-agir details.geste[open]{grid-column:1/-1;order:3}
}

/* Correspondance : puces sur une rangée, une ligne par dossier en trois lignes au téléphone */
.corr-outils{flex-wrap:nowrap}
.corr-outils .puces-rangee{min-width:0;flex:1}
@media (max-width:899px){
  .corr-outils .puces-rangee .puces{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 calc(-1 * var(--e4));padding:0 var(--e4)}
  .corr-outils .puces-rangee .puces::-webkit-scrollbar{display:none}
  .corr-outils .puces .puce{position:relative;z-index:0;min-height:44px;border:0;background:none;padding:0 var(--e3);flex:none}
  .corr-outils .puces .puce::after{content:"";position:absolute;inset:6px 0;z-index:-1;border:1px solid var(--filet-fort);border-radius:16px;background:var(--surface)}
  .corr-outils .puces .puce.actif::after{background:var(--accent-doux);border-color:var(--accent)}
  .tableau.fiches.corr-liste tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--e3);min-height:84px;padding:var(--e3) var(--e4)}
  .tableau.fiches.corr-liste td{flex:none}
  .tableau.fiches.corr-liste td.c1{order:1;flex:1 1 0;min-width:0}
  .tableau.fiches.corr-liste td.c1 a.lien-ligne{font:var(--t-ligne)}
  .tableau.fiches.corr-liste td.c1 .sous{font:var(--t-ligne-2);color:var(--encre-2)}
  .tableau.fiches.corr-liste td.etat-corr{order:2}
  .tableau.fiches.corr-liste td.soc{order:3;flex:1 0 100%;font:var(--t-ligne-2);color:var(--encre-2)}
  .tableau.fiches.corr-liste td.soc::before{display:none}
  .tableau.fiches.corr-liste td.rappel{order:4;font:var(--t-ligne-2)}
  .tableau.fiches.corr-liste td:nth-child(3){order:5;margin-left:auto;font:var(--t-ligne-2);color:var(--encre-3)}
  .tableau.fiches.corr-liste td:nth-child(3)::before{content:"Dernier échange ";color:var(--encre-3)}
}
@media (max-width:899px){
  /* En-tête du téléphone en grille : rangée de contexte (société, geste de la page, compte) puis le titre sur toute la largeur */
  .haut,body.demo .haut{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:44px 26px;column-gap:var(--e1);row-gap:0;align-content:start;align-items:center}
  .haut .titres{display:contents}
  .haut .contexte{grid-column:1;grid-row:1}
  .haut .titres h1{grid-column:1/-1;grid-row:2}
  .haut .actions-haut{grid-column:2;grid-row:1}
  .haut .menu-compte{grid-column:3;grid-row:1}
}
/* Ajustement V2.2 n° 1 : reste à payer nommé en 15/20, montant de la facture en 13/18 dessous */
.pl-combien .pl-reste{font:400 13px/20px var(--police);color:var(--encre-2);white-space:nowrap}
.pl-combien .pl-reste b{font:600 15px/20px var(--police);color:var(--encre)}
.pl-combien .pl-fact{font:var(--t-ligne-2);color:var(--encre-3);white-space:nowrap}
/* Ajustement V2.2 n° 5 : « Valider l'attribution », 44 px au moins, texte 14 px, 8 px de marge intérieure */
.gestes form.valider button{min-height:44px;font-size:14px;padding:0 var(--e2) 0 var(--e3)}
@media (max-width:899px){.barre-action>button[form="f-valider"]{padding:0 var(--e2);font-size:14px}}
/* Ajustement V2.2 n° 6 : dans les listes du téléphone, ni la société ni l'état ne sont tronqués ; l'état passe à la ligne,
   l'échéance passe dessous quand la place manque ; 13/18 px, 4 px entre les lignes, 84 px au moins et extensible. */
@media (max-width:899px){
  ul.parapheur-liste .pl-etat .etat,.tableau.fiches.corr-liste td.etat-corr .etat,.tableau.fiches.compacte.trois-lignes td.pai .etat,.l3 .e .etat{white-space:normal;font-size:13px;line-height:18px}
  ul.parapheur-liste .pl-soc,.tableau.fiches.corr-liste td.soc,.tableau.fiches.compacte.trois-lignes td.soc,.l3 .s{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  ul.parapheur-liste>li,.tableau.fiches.corr-liste tr{min-height:84px}
}

/* Cibles de 44 px au téléphone, relevées par la recette (captures/design-v2/MESURES.md) */
ul.parapheur-liste>li{position:relative}
ul.parapheur-liste .pl-f::after{content:"";position:absolute;inset:0}
ul.parapheur-liste .pl-agir,ul.parapheur-liste .pl-retrouve a,ul.parapheur-liste .pl-motif,ul.parapheur-liste .pl-avert{position:relative;z-index:1}
@media (max-width:899px){
  main details>summary:not(.bouton){min-height:44px}
  main details:not(.aide)>summary:not(.bouton):not([class]),main details>summary.petit{padding-top:12px;padding-bottom:12px;box-sizing:border-box}
  details.modifier>summary{display:flex;align-items:center;flex-wrap:wrap}
  .accordeon details{padding-top:0;padding-bottom:0}
  input[type=file]{min-height:44px}
  fieldset.puces-choix label{min-height:44px}
  .bascule-vue a{height:44px}
  .barre-action>.etroit,.file-tete .actions .bouton,.file-tete .actions button{min-width:44px}
  a.petit,.piece-tete .fin a,.bloc>.pied.actions a,a.vers-piece{display:inline-flex;align-items:center;min-height:44px}
  form.b-rattache button{min-width:44px;height:44px}
  table.treso td.nom a{display:inline-flex;align-items:center;min-height:44px}
  .tableau td .sous a,.tableau td.meta a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:899px){
  .piece-tete a.fin{display:inline-flex;align-items:center;min-height:44px}
  .onglets a{min-height:44px}
}

/* Finition 1 · l'aide : une ligne grise de 18 px, « ⓘ Aide · début de la phrase », repliée par défaut (un bandeau au plus au-dessus du contenu) */
.aide{max-width:86ch;margin:0 0 var(--e3);padding:0;font:var(--t-petit);color:var(--encre-2)}
.aide[open]{padding-left:0}
.aide summary,.aide[open] summary{position:static;display:flex;align-items:center;gap:6px;min-width:0;height:18px;font:400 12.5px/18px var(--police);color:var(--encre-3);list-style:none}
.aide[open] summary span{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
.aide summary .aide-mot{flex:none;font-weight:500;color:var(--encre-2)}
.aide summary .aide-debut{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aide[open] summary .aide-debut{display:none}
.aide .aide-texte{margin:var(--e1) 0 0 21px}
@media (max-width:899px){
  /* la ligne reste de 18 px à l'œil, sa cible fait 44 px de haut sans pousser le contenu : 13 px de part et d'autre, repris par la marge */
  .aide summary,.aide[open] summary{height:44px;margin:-13px 0}
  .aide{margin:0 0 var(--e3)}
  .aide[open]{margin-bottom:var(--e3)}
  .aide .aide-texte{margin-top:var(--e1)}
}

/* Finition 2 · carte de rapprochement (maquette 02) : trois lignes à libellé gris, conséquence en une ligne pétrole, deux boutons de 44 px */
.rap-carte{display:none}
.rap-perso{margin-top:2px}
@media (max-width:899px){
  .rap-titre{margin-bottom:var(--e2)}
  .rap-titre .rap-perso{flex-basis:100%;margin:2px 0 0;font:var(--t-ligne-2);color:var(--encre-2)}
  .rap-carte{display:block}
  .rap-bureau{display:none}
  .tableau.fiches.rap-props td.rap-fac{font:var(--t-ligne-2)}
  .rap-carte .rc-t{display:block;font:var(--t-ligne);color:var(--encre);text-decoration:none;overflow-wrap:anywhere}
  .rap-carte dl.rc{display:grid;grid-template-columns:76px minmax(0,1fr);gap:4px var(--e2);margin:var(--e2) 0 0;font:var(--t-ligne-2)}
  .rap-carte dl.rc dt{color:var(--encre-3)}
  .rap-carte dl.rc dd{margin:0;color:var(--encre);min-width:0;overflow-wrap:anywhere}
  .rap-carte dl.rc dd small{display:block;font:inherit;color:var(--encre-2)}
  .rap-carte dl.rc dd.pq{color:var(--encre-2)}
  .rap-carte .rc-consequence{margin-top:6px;font:500 13px/18px var(--police);color:var(--accent)}
  .tableau.fiches.rap-props td.agir .actions form:last-child{order:-1}
  .tableau.fiches.rap-props td.agir button.second{background:var(--accent);border-color:var(--accent);color:var(--sur-accent)}
  .tableau.fiches.rap-props tr{padding:var(--e3) var(--e4)}
  .tableau.fiches.rap-props td.agir{margin-top:var(--e3)}
}
@media (max-width:899px){
  .tableau.fiches.rap-props td.rap-fac{grid-column:1/-1;grid-row:1}
  .tableau.fiches.rap-props td.c2{grid-column:2;grid-row:1;align-self:start;position:relative;z-index:1}
  .rap-carte .rc-t{padding-right:112px}
  details.interdit-bandeau>summary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
}

/* Finition 3 · « À suivre et à décider » : trois groupes, le chiffre d'abord, le mot court, le montant à droite, un chevron */
.suivre-groupe{padding:var(--e3) var(--e4) 2px;font:550 11px/16px var(--police);letter-spacing:.05em;text-transform:uppercase;color:var(--encre-3)}
.suivre-groupe:not(:first-child){border-top:1px solid var(--filet)}
.liens-suivre{list-style:none;margin:0;padding:0}
.liens-suivre li{margin:0}
.liens-suivre li+li{border-top:1px solid var(--filet)}
.liens-suivre a{display:flex;align-items:center;gap:var(--e3);min-height:48px;padding:var(--e1) var(--e4);color:var(--encre);text-decoration:none}
.liens-suivre a:hover{background:var(--surface-2)}
.liens-suivre .num,details.replie-tdb .num{flex:none;min-width:24px;text-align:right;font:600 14px/20px var(--police)}
.liens-suivre span{flex:1;min-width:0}
.liens-suivre span.mt{flex:none;font:500 13px/18px var(--police);color:var(--encre-2);white-space:nowrap}
.liens-suivre .ico{color:var(--encre-3);flex:none;width:14px;height:14px}
details.replie-tdb>summary>span .num{display:inline-block;margin-right:var(--e3)}
details.replie-tdb.surveillance>summary{padding:var(--e1) var(--e4)}
details.replie-tdb.surveillance>summary>span{display:flex;align-items:center;gap:var(--e3)}
details.replie-tdb.surveillance>summary>span .num{margin-right:0}

/* Finition 4 · carte du parapheur au téléphone : fournisseur sur toute la largeur (deux lignes au plus), puis « Reste à payer X · Facture : Y » en 13 px */
@media (max-width:899px){
  ul.parapheur-liste .pl-f{flex:1 0 100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  ul.parapheur-liste .pl-combien{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;text-align:left}
  ul.parapheur-liste .pl-combien .pl-reste,ul.parapheur-liste .pl-combien .pl-reste b{font:400 13px/18px var(--police);color:var(--encre-2)}
  ul.parapheur-liste .pl-combien .pl-reste b{font-weight:600;color:var(--encre)}
  ul.parapheur-liste .pl-combien .pl-fact::before{content:"· ";color:var(--encre-3)}
}

/* Finition 5 · flèche de retour : au téléphone, une cible de 44 × 44 dans la rangée de contexte (la flèche du titre est masquée) */
.retour-tel{display:none}
@media (max-width:899px){
  .retour-tel{display:inline-flex;flex:none}
  .retour-tel .fil{display:inline-flex;align-items:center;gap:var(--e1);min-width:44px;height:44px;margin:0 var(--e3) 0 0;padding:0 var(--e3) 0 0;color:var(--accent);font:550 14px/20px var(--police);background:none;border-radius:0;border-right:1px solid var(--filet)}
  .retour-tel .fil .ico{width:16px;height:16px}
  .retour-tel .fil span{display:inline}
  .retour-tel .fil:active{opacity:.6}
  .haut h1 .fil{display:none}
  .contexte:has(.retour-tel){gap:0;align-items:center}
  .contexte:has(.retour-tel) .retirer{margin-left:var(--e2)}
}
.section-nav .compteur-onglet{margin-left:6px}
.parapheur-imprimer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e5);margin-top:var(--e5);padding-top:var(--e4);border-top:1px solid var(--filet)}
.parapheur-imprimer .lien-secondaire{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:500 14px/20px var(--police)}
@media (max-width:899px){
  .parapheur-imprimer{flex-direction:column;align-items:stretch}
  .parapheur-imprimer form,.parapheur-imprimer button{width:100%}
  .parapheur-imprimer .lien-secondaire{justify-content:center}
}
.sur-tel-inline{display:none}
@media (max-width:899px){.sur-tel-inline{display:inline}}
@media (max-width:899px){ul.parapheur-liste .pl-combien{flex-direction:row}}
@media (max-width:899px){
  /* titre de la carte : lien vers la facture, cible de 44 px de haut sans déplacer la carte (12 px repris de part et d'autre) */
  .rap-carte .rc-t{padding-top:12px;padding-bottom:12px;margin:-12px 0}
  .rap-carte dl.rc{margin-top:var(--e3)}
}

/* Passe globale 0.2.2 : dossiers, formulaires et preuves.
   Styles opt-in : les listes Factures et les urgences V2 gardent leur composition. */
.composition .dossier-resume{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e3) var(--e5);padding:var(--e4);margin-bottom:var(--e4);background:var(--surface);border:1px solid var(--filet);border-radius:var(--r3)}
.dossier-resume>div{min-width:0;flex:1}
.dossier-resume .lib{display:block;font:var(--t-petit);color:var(--encre-3)}
.dossier-resume .val{display:block;font:var(--t-chiffre);letter-spacing:-.02em;overflow-wrap:anywhere}
.dossier-resume .det{display:block;font:var(--t-petit);color:var(--encre-2);margin-top:var(--e1)}
.dossier-nav{display:flex;gap:var(--e2);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;margin:0 0 var(--e4);padding:0 0 var(--e2)}
.dossier-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex:none;padding:var(--e2) var(--e3);background:var(--surface);border:1px solid var(--filet);border-radius:var(--r2);font-weight:500;text-decoration:none;color:var(--encre-2)}
.dossier-nav a:hover{background:var(--accent-doux);color:var(--accent)}
.composition [id]{scroll-margin-top:calc(var(--h-haut) + 64px)}
.composition .compose-intro{max-width:86ch;margin:0 0 var(--e4);color:var(--encre-2)}
.composition .compose-etape{margin:var(--e5) 0 var(--e3);padding-bottom:var(--e2);border-bottom:1px solid var(--filet)}
.composition .compose-etape:first-child{margin-top:0}
.composition .compose-etape h2,.composition .compose-etape h3{margin:0}
.composition .compose-etape p{margin-top:var(--e1);font:var(--t-petit);color:var(--encre-3)}
.compose-dossier .bloc>header,.compose-formulaire .bloc>header{flex-wrap:wrap;gap:var(--e2) var(--e3)}
.compose-dossier .bloc>header h2,.compose-formulaire .bloc>header h2{overflow-wrap:anywhere}
.compose-dossier .bloc>header .fin,.compose-formulaire .bloc>header .fin{max-width:100%;white-space:normal}
.compose-formulaire .champs>div{align-self:start}
.compose-formulaire .champ:first-child{margin-top:0}
.compose-formulaire .champ:last-child{margin-bottom:0}
.compose-dossier details>summary,.compose-formulaire details>summary{overflow-wrap:anywhere}
.compose-dossier .actions,.compose-formulaire .actions{row-gap:var(--e3)}
.compose-document .document{max-width:88ch}
@media (max-width:899px){
  .composition .dossier-resume{gap:var(--e3);padding:var(--e3)}
  .dossier-resume .val{font-size:26px;line-height:30px}
  .dossier-resume>div{flex-basis:100%}
  .compose-formulaire .champs{grid-template-columns:minmax(0,1fr)}
  .compose-formulaire .ligne{display:flex;flex-wrap:wrap}
  .compose-formulaire .ligne>div{width:100%}
  .compose-formulaire .pied.actions{align-items:stretch}
  .compose-formulaire .pied.actions>button,.compose-formulaire .pied.actions>.bouton{width:100%;height:auto;min-height:44px;white-space:normal}
  .compose-dossier .bloc>header .fin,.compose-formulaire .bloc>header .fin{margin-left:0;flex-basis:100%}
  .compose-dossier .actions button,.compose-dossier .actions .bouton,.compose-formulaire .actions button,.compose-formulaire .actions .bouton{height:auto;min-height:44px;white-space:normal;text-align:center}
  .compose-dossier dl.fiche dd,.compose-formulaire dl.fiche dd{overflow-wrap:anywhere}
  .composition .dossier-nav{max-width:100%;scrollbar-width:thin}
}
@media (max-width:360px){
  .compose-dossier .tableau.fiches td.c1{grid-column:1/-1}
  .compose-dossier .tableau.fiches td.c2{grid-column:1/-1;grid-row:auto;text-align:left;white-space:normal}
}
@media print{
  .dossier-nav{display:none}
  .dossier-resume{break-inside:avoid}
  .compose-etape{break-after:avoid}
}

/* Prêts : le libellé du capital calculé ne doit pas écraser le nom du prêt. */
@media (max-width:899px){
  .compose-dossier .prets-liste td.c1{grid-column:1/-1}
  .compose-dossier .prets-liste td.c2{grid-column:1/-1;grid-row:auto;text-align:left;white-space:normal}
}

/* Petites largeurs : les avertissements et actions longs restent dans la page. */
@media (max-width:899px){
  .compose-dossier .etat{white-space:normal}
  .compose-dossier .bouton,.compose-formulaire .bouton{max-width:100%;height:auto;min-height:44px;white-space:normal;text-align:center}
  .compose-formulaire input,.compose-formulaire select,.compose-formulaire textarea{min-width:0!important;max-width:100%}
}

@media (max-width:899px){
  .compose-dossier .c-gestes form{max-width:100%;min-width:0}
  .compose-dossier .c-gestes button{max-width:100%;height:auto;min-height:44px;white-space:normal}
}

/* « haut » d’un formulaire ne doit pas hériter des rangées de l’en-tête mobile. */
@media (max-width:899px){
  .composition.compose-formulaire .champs.haut{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:auto;height:auto;align-content:normal;gap:var(--e3) var(--e4)}
}

@media (max-width:899px){
  .compose-dossier .fiche-v2{align-items:stretch}
  .compose-dossier .fiche-v2 .bloc{min-width:0;max-width:100%}
}

/* 0.2.3 · retours d'Alexandre sur iPhone (07/10/2026) : la rangée d'onglets d'un dossier (fiche facture, rapprochement, prêt) se replie sur deux lignes au téléphone au lieu de défiler, pour que « Champs lus » et « Historique » se voient sans glisser */
@media (max-width:899px){
  .dossier-nav{flex-wrap:wrap;overflow:visible;row-gap:var(--e2)}
  .dossier-nav a{flex:none}
}
