/* Charte Baker Tilly relevée sur bakertilly.fr (feuille de style du thème, 26/10/2026) :
   ardoise #2b303a, turquoise #00bab3 / #00838e / #006c75, anis #c9ec51, turquoise clair #e0f2ef,
   gris #dfe0e1 / #555961 ; textes en Roboto, titres en Carnac Bold.
   Sens des couleurs : turquoise = Baker Tilly (outils, focus), anis = renseigné / validé,
   orange = à confirmer / pas encore envoyé, rouge = à corriger, ardoise = action et sélection.
   CSS en BEM strict : bloc__élément--modificateur, états par modificateur ou attribut ARIA,
   aucun style par id ni sélecteur qui croise deux blocs (contrôlé par ?selftest). */
@font-face{font-family:"Carnac";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/carnac-bold.woff2") format("woff2")}
:root{
  /* échelle des titres, commune aux étapes : titre d'étape, de panneau, de groupe, de carte */
  --titre-etape:700 28px/1.15 var(--police-titre); --titre-panneau:700 20px/1.2 var(--police-titre);
  --titre-groupe:700 15px/1.3 var(--police-titre); --titre-carte:700 17px/1.35 var(--police);
  --ardoise:#2b303a; --ardoise-2:#353b47;
  --turquoise:#00bab3; --turquoise-fonce:#00838e; --turquoise-texte:#006c75; --turquoise-clair:#e0f2ef;
  --anis:#c9ec51; --anis-clair:#eff8d2; --anis-texte:#4a5a10;
  --gris:#dfe0e1; --gris-2:#eceded; --gris-clair:#f5f6f6; --gris-fort:#8f949b;
  --texte:#2b303a; --texte-2:#555961; --texte-3:#62676f; --texte-sombre:#b4b9c0;
  --orange:#e5712b; --orange-clair:#fdeee3; --orange-texte:#9c4410;
  --rouge:#c4321f; --rouge-clair:#fcebe8;
  --bleu:#2f5bd3; --bleu-clair:#e7edfc; --bleu-ardoise:#3c5a7d;
  --fond:#f3f4f4; --surface:#fff;
  --rayon:16px; --rayon-m:12px; --rayon-s:8px;
  --ombre:0 1px 2px rgba(43,48,58,.06),0 2px 8px rgba(43,48,58,.05);
  --ombre-forte:0 16px 40px rgba(43,48,58,.2);
  --police-titre:"Carnac","Roboto",Arial,sans-serif;
  --police:"Roboto",Arial,Helvetica,sans-serif;
  --anim:.18s cubic-bezier(.2,.7,.3,1);
}

/* base */
*{box-sizing:border-box}
html:has(.autres--ouvert){scroll-padding-top:176px}
html{scroll-padding-top:84px;scrollbar-color:#b9bdc3 transparent;accent-color:var(--ardoise)}
body{margin:0;background:var(--fond);color:var(--texte);font:15px/1.55 var(--police);-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}
input{caret-color:var(--turquoise-fonce)}
h1,h2,h3,h4,p,ol,ul,dl,dd{margin:0}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
ol,ul{padding:0;list-style:none}
a{color:inherit}
svg{flex:none;display:block}
::selection{background:var(--anis);color:var(--ardoise)}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--focus,var(--turquoise-fonce));outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@keyframes apparition{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes tourne{to{transform:rotate(360deg)}}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes brille{to{background-position:-200% 0}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* app-bar */
.app-bar{--focus:#fff;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;height:60px;padding:0 24px;background:var(--ardoise);color:#fff}
.app-bar__marque{display:flex;color:#fff}
.app-bar__logo{height:24px;width:auto}
.app-bar__sep{width:1px;height:24px;background:#ffffff2e}
.app-bar__nom{font-size:14px;font-weight:500;color:#e6e8eb}
/* nom et numéro du client, recopiés par app.ts dès que le bandeau client est passé sous l'app-bar */
.app-bar__client{display:none;align-items:baseline;gap:8px;min-width:0;padding-left:16px;border-left:1px solid #ffffff2e;white-space:nowrap}
.app-bar--client .app-bar__client{display:flex;animation:apparition var(--anim)}
.app-bar__client-nom{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:700}
.app-bar__client-numero{color:var(--texte-sombre);font-size:13px;font-variant-numeric:tabular-nums}
.app-bar__campagne{margin-left:auto;padding:3px 10px;border:1px solid #ffffff40;border-radius:999px;color:#e6e8eb;font-size:12px;white-space:nowrap}
.app-bar__campagne--recette{border-color:var(--orange);background:var(--orange);color:#fff;font-weight:500}
.app-bar__user{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 10px;border:0;border-radius:999px;background:none;color:#c9cdd3;font:inherit;font-size:13px;cursor:pointer;transition:background var(--anim)}
.app-bar__user:hover,.app-bar__user:focus-visible{background:#ffffff1a}
.app-bar__avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--turquoise);color:var(--ardoise);font-weight:700;font-size:12px}

/* compte : menu du collaborateur, ouvert depuis l'app-bar (popover natif, sous le bouton à droite) */
.compte{inset:66px 16px auto auto;width:270px;margin:0;padding:14px;border:1px solid var(--gris);border-radius:var(--rayon-m);background:var(--surface);box-shadow:var(--ombre-forte);color:var(--texte)}
.compte:popover-open{animation:apparition .18s cubic-bezier(.2,.7,.3,1)}
.compte__nom{font-weight:700}
.compte__mail{margin-top:2px;padding-bottom:12px;border-bottom:1px solid var(--gris-2);overflow:hidden;color:var(--texte-2);font-size:13px;text-overflow:ellipsis}
.compte__sortie{display:flex;align-items:center;gap:10px;margin-top:8px;padding:9px 10px;border-radius:var(--rayon-s);color:var(--texte);font-weight:500;text-decoration:none}
.compte__sortie:hover,.compte__sortie:focus-visible{background:var(--gris-clair)}

/* bouton */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid transparent;border-radius:10px;background:none;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--anim),color var(--anim),border-color var(--anim)}
.bouton--primaire{background:var(--ardoise);color:#fff}
.bouton--primaire:hover{background:var(--turquoise);color:var(--ardoise)}
.bouton--secondaire{background:var(--surface);border-color:var(--ardoise);color:var(--ardoise)}
.bouton--secondaire:hover{background:var(--ardoise);color:#fff}
.bouton--fantome{color:var(--texte-2);padding:0 12px}
.bouton--fantome:hover{background:var(--gris-2);color:var(--texte)}
.bouton--sur-sombre{min-height:38px;padding:0 14px;border-color:#ffffff40;color:#fff;font-size:13px}
.bouton--sur-sombre:hover{background:#fff;color:var(--ardoise)}
.bouton--petit{min-height:40px;padding:0 14px;font-size:13px}
.bouton--valider{background:var(--ardoise);color:#fff}
.bouton--valider:hover{background:var(--anis);color:var(--ardoise)}
.bouton--large{width:100%}
.bouton[disabled]{opacity:.5;cursor:not-allowed}
.bouton__compteur{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--anis);color:var(--ardoise);font-size:12px;font-variant-numeric:tabular-nums}
.lien{min-height:40px;border:0;background:none;padding:0 6px;color:var(--texte-2);font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lien:hover{color:var(--texte)}
.lien:disabled{opacity:.45;cursor:not-allowed}
.chargeur{display:inline-block;width:16px;height:16px;border:2.5px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:tourne .8s linear infinite}

/* etapes */
.etapes__liste{display:flex;align-items:center;gap:6px}
.etapes__item{display:flex;align-items:center;gap:6px}
.etapes__item + .etapes__item::before{content:"";width:24px;height:1.5px;background:#ffffff40}
.etapes__lien{display:flex;align-items:center;gap:8px;min-height:36px;padding:2px 10px 2px 2px;border-radius:999px;color:#c9cdd3;font-size:13px;font-weight:500;text-decoration:none}
.etapes__lien:hover{background:#ffffff14;color:#fff}
.etapes__lien--bouton{border:0;background:none;cursor:pointer}
.etapes__num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid #ffffff55;font-size:12px;font-weight:700}
.etapes__item--fait .etapes__num{background:var(--anis);border-color:var(--anis);color:var(--ardoise)}
.etapes__item--actif .etapes__lien{color:#fff}
.etapes__item--actif .etapes__num{background:#fff;border-color:#fff;color:var(--ardoise)}

/* recherche par numéro client */
.recherche{display:grid;gap:8px}
.recherche__label{font-size:13px;font-weight:700}
.recherche__ligne{display:flex;gap:10px}
.recherche__champ-zone{position:relative;flex:1;display:flex;align-items:center}
.recherche__ico{position:absolute;left:14px;color:var(--texte-3)}
.recherche__champ{width:100%;height:52px;padding:0 48px 0 46px;border:1.5px solid var(--gris-fort);border-radius:var(--rayon-m);background:var(--surface);font-size:20px;font-weight:500;letter-spacing:.04em;font-variant-numeric:tabular-nums;transition:border-color var(--anim),box-shadow var(--anim)}
.recherche__champ::placeholder{color:var(--texte-3);letter-spacing:0;font-weight:400}
.recherche__champ:focus{outline:none;border-color:var(--turquoise-fonce);box-shadow:0 0 0 4px #00838e26}
.recherche__kbd{position:absolute;right:12px;padding:1px 7px;border:1px solid var(--gris);border-radius:6px;background:var(--gris-clair);color:var(--texte-3);font:600 12px var(--police)}
.recherche__champ:focus + .recherche__kbd{display:none}
.recherche__bouton{min-height:52px}
.recherche__erreur{color:var(--rouge);font-size:13px;font-weight:500}
.recherche__aide{margin-top:4px;color:var(--texte-3);font-size:13px}
.introuvable{max-width:640px;margin:48px auto;padding:28px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}
.introuvable__titre{font:700 26px/1.2 var(--police-titre)}
.introuvable__texte{margin:8px 0 20px;color:var(--texte-2)}

/* connexion : accueil hors session, avant le SSO Microsoft (marque ardoise à gauche, carte de connexion à droite) */
.connexion{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);min-height:100vh;min-height:100dvh}
.connexion__marque{--focus:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:48px;padding:40px 56px;background:var(--ardoise);color:#fff}
.connexion__logo{position:relative;align-self:flex-start;height:32px;width:auto}
.connexion__intro{position:relative;max-width:540px;margin-block:auto}
.connexion__intro::before{content:"";display:block;width:56px;height:4px;margin-bottom:28px;border-radius:2px;background:var(--anis)}
.connexion__appli{font:700 clamp(34px,4.2vw,54px)/1.08 var(--police-titre);text-wrap:balance}
.connexion__sigle{margin-top:10px;color:#fff;font-size:19px;font-weight:500;text-wrap:balance}
.connexion__accroche{max-width:440px;margin-top:20px;color:#c9cdd3;font-size:17px}
.connexion__campagne{position:relative;align-self:flex-start;padding:4px 12px;border:1px solid #ffffff40;border-radius:999px;color:#e6e8eb;font-size:13px}
.connexion__filigrane{position:absolute;right:-10%;bottom:-16%;width:min(60%,480px);height:auto;color:var(--turquoise);opacity:.14;pointer-events:none}
.connexion__panneau{display:grid;place-items:center;padding:40px 24px;background:var(--fond)}
.connexion__carte{width:100%;max-width:420px;padding:40px 36px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface);box-shadow:var(--ombre)}
.connexion__surtitre{color:var(--turquoise-texte);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.connexion__titre{margin-top:6px;font:700 30px/1.15 var(--police-titre)}
.connexion__titre:focus{outline:none}
.connexion__texte{margin:10px 0 28px;color:var(--texte-2)}
.connexion__microsoft{gap:12px;min-height:50px;font-size:15px}
.connexion__ms{width:20px;height:20px}
.connexion__note{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--gris-2);color:var(--texte-3);font-size:13px}

/* client (bandeau compact) */
.client{--focus:#fff;background:var(--ardoise);color:#fff}
.client__inner{max-width:1600px;margin:0 auto;padding:14px 24px 18px}
.client__haut{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.client__identite{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:12px}
.client__nom{font:700 30px/1.15 var(--police-titre)}
.client__numero{color:var(--texte-sombre);font-size:14px;font-variant-numeric:tabular-nums}
.client__non-enregistre{display:inline-flex;align-items:center;gap:7px;align-self:center;padding:3px 11px;border-radius:999px;background:var(--rouge-clair);color:var(--rouge);font-size:13px;font-weight:700}
.client__pastille{width:9px;height:9px;border-radius:50%;background:currentColor}
.client__fiche{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:10px}
.client__kpi-label{color:var(--texte-sombre);font-size:12px}
.client__kpi-valeur{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.client__source{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px;color:var(--texte-sombre);font-size:13px}
.client__source-item{display:inline-flex;align-items:center;gap:6px}
.client__valeur{color:#fff;font-weight:500}

/* outil Baker Tilly (lecture seule) */
.outil{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--turquoise-clair);color:var(--turquoise-texte);font-size:13px;font-weight:700}
.outil__type{font-weight:400}

/* espace de saisie */
.espace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;max-width:1600px;margin:0 auto;padding:20px 24px 130px}
/* parcours : panneau de droite de l'étape 3, dans le style de celui de l'étape 2 (.diag__recap), en plus simple */
.parcours{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 170px);overflow:auto;padding:16px 12px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}
.parcours__titre{margin:0 10px 12px;font:var(--titre-panneau)}
.parcours__groupe + .parcours__groupe{margin-top:16px}
.parcours__famille{display:flex;justify-content:space-between;padding:0 10px 4px;color:var(--texte-2);font-size:12px;font-weight:700}
.parcours__compte{font-weight:500;color:var(--texte-3);font-variant-numeric:tabular-nums}
.parcours__item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:4px 10px;border:0;border-radius:var(--rayon-s);background:none;text-align:left;font-size:14px;color:var(--texte);cursor:pointer;transition:background var(--anim)}
.parcours__item:hover{background:var(--gris-2)}
.parcours__item--oblig{font-weight:500}
.parcours__bascule{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:4px 10px;border:0;border-radius:var(--rayon-s);background:none;color:var(--texte);font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:background var(--anim)}
.parcours__bascule:hover{background:var(--gris-2)}
.parcours__bascule-texte{flex:1}
.parcours__chevron{color:var(--texte-3);transition:transform var(--anim)}
.parcours__bascule[aria-expanded="true"] .parcours__chevron{transform:rotate(180deg)}
.puce-etat{flex:none;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:2px solid #b9bdc3}
.puce-etat--renseigne{border:0;background:var(--anis);color:var(--ardoise)}
.puce-etat--a-confirmer{border-color:var(--orange);background:linear-gradient(90deg,var(--orange) 50%,transparent 50%)}
.puce-etat--incomplet{border:0;background:var(--rouge);color:#fff;font-size:11px;font-weight:700}

.contenu{min-width:0}
.contenu__vide{display:flex;align-items:center;gap:10px;margin-top:20px;padding:18px;border-radius:var(--rayon);background:var(--anis-clair);color:var(--anis-texte);font-weight:500}
.outils{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.outils__titre{font:var(--titre-etape)}
.outils__intro{max-width:760px;margin-top:6px;color:var(--texte-2)}
.filtres{display:inline-flex;flex-wrap:wrap;padding:3px;border-radius:10px;background:var(--gris-2)}
.filtres__bouton{display:flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:0;border-radius:8px;background:none;font-size:13px;font-weight:500;color:var(--texte-2);cursor:pointer}
.filtres__bouton[aria-pressed="true"]{background:var(--ardoise);color:#fff;font-weight:700;box-shadow:var(--ombre)}
.filtres__nb{padding:0 7px;border-radius:999px;background:var(--orange-clair);color:var(--orange-texte);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}

.annonce{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;border-radius:var(--rayon-m);font-size:14px}
.annonce--brouillon{background:var(--orange-clair);color:var(--orange-texte)}
.annonce__texte{flex:1}
.annonce__lien{border:0;background:none;padding:0;color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.famille{margin-top:24px}
.famille--masquee{display:none}
.famille__titre{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-bottom:10px;font:var(--titre-groupe);color:var(--texte-2)}
.famille__sous{font:400 13px var(--police);color:var(--texte-3)}
/* autres : catégories facultatives derrière une seule barre « Afficher / Masquer ».
   Ouverte, la barre reste collée sous l'app-bar tant qu'on parcourt les facultatives : on replie de n'importe où. */
.autres{margin-top:28px}
.autres--ouvert .autres__entete{position:sticky;top:60px;z-index:10;margin-top:-8px;padding:8px 0;background:var(--fond)}
.autres__bascule{display:flex;align-items:center;gap:16px;width:100%;min-height:64px;padding:12px 14px 12px 20px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface);box-shadow:var(--ombre);text-align:left;cursor:pointer;transition:border-color var(--anim)}
.autres__bascule:hover{border-color:#c9ccd0}
.autres__textes{display:grid;gap:2px;flex:1;min-width:0}
.autres__titre{font:var(--titre-groupe);color:var(--texte)}
.autres__resume{font-size:13px;font-weight:400;color:var(--texte-2)}
.autres__compte{white-space:nowrap}
.autres__compte--a-confirmer{font-weight:700;color:var(--orange-texte)}
.autres__compte--incomplet{font-weight:700;color:var(--rouge)}
.autres__action{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px 0 14px;border-radius:999px;background:var(--gris-2);color:var(--texte);font-size:13px;font-weight:700;white-space:nowrap;transition:background var(--anim),color var(--anim)}
.autres__bascule:hover .autres__action{background:var(--ardoise);color:#fff}
.autres__chevron{transition:transform var(--anim)}
.autres--ouvert .autres__chevron{transform:rotate(180deg)}
.outils__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.outils__titre:focus{outline:none}

/* cat (carte catégorie, liste repliable) */
.cat{margin-bottom:8px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface);transition:border-color var(--anim),box-shadow var(--anim)}
.cat:hover{border-color:#c9ccd0}
.cat[open]{box-shadow:var(--ombre)}
.cat--incomplet{border-color:#eda59b}
.cat--masquee{display:none}
.cat__tete{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 16px 10px 18px;cursor:pointer;list-style:none;border-radius:var(--rayon)}
.cat__tete::-webkit-details-marker{display:none}
.cat__textes{flex:1;min-width:0}
.cat__titre{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font:var(--titre-carte)}
.cat__resume{display:block;overflow:hidden;color:var(--texte-2);font-size:13px;white-space:nowrap;text-overflow:ellipsis}
.cat__chevron{flex:none;color:var(--texte-3);transition:transform var(--anim)}
.cat[open] .cat__chevron{transform:rotate(180deg)}
.cat__corps{display:grid;gap:16px;padding:4px 18px 18px;border-top:1px solid var(--gris-2)}
.cat__bt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px}
.cat__bt-label{display:inline-flex;align-items:center;gap:6px;color:var(--texte-2);font-size:13px;font-weight:500}
.cat__note{padding:10px 12px;border-radius:var(--rayon-s);background:var(--orange-clair);color:var(--orange-texte);font-size:13px}
.cat__conflit{display:grid;gap:10px;margin-top:12px;padding:12px 14px;border-radius:var(--rayon-s);background:var(--orange-clair);color:var(--orange-texte);font-size:14px}
.cat__conflit-actions{display:flex;flex-wrap:wrap;gap:8px}
.cat__historique{color:var(--texte-3);font-size:13px}
.cat__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.cat__ajouter{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 4px;border:0;background:none;color:var(--ardoise);font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color var(--anim)}
.cat__ajouter:hover{text-decoration-color:currentColor}

.requis{margin-left:2px;color:var(--rouge);font-weight:700}
.tag{padding:1px 8px;border-radius:6px;background:var(--gris-2);color:var(--texte-2);font-size:12px;font-weight:500}
.statut{flex:none;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.statut::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.statut--a-renseigner{background:var(--gris-2);color:var(--texte-2)}
.statut--a-confirmer{background:var(--orange-clair);color:var(--orange-texte)}
.statut--incomplet{background:var(--rouge-clair);color:var(--rouge)}
.statut--renseigne{background:var(--anis-clair);color:var(--anis-texte)}
.statut--enregistre{background:var(--turquoise-clair);color:var(--turquoise-texte)}

/* choix équipé / aucun / non concerné (radios natifs) */
.choix{margin:0;padding:12px 0 0;border:0;min-width:0}
.choix__question{padding:0;font-weight:700}
.choix__exemples{margin-top:2px;color:var(--texte-3);font-size:13px}
.choix__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.choix__options--deux{grid-template-columns:repeat(2,minmax(0,1fr))}
.choix__option{position:relative;display:block}
.choix__input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choix__carte{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--gris-fort);border-radius:var(--rayon-m);background:var(--surface);font-weight:500;transition:border-color var(--anim),box-shadow var(--anim),background var(--anim)}
.choix__ico{color:var(--texte-3)}
.choix__input:hover + .choix__carte{background:var(--gris-clair)}
/* option choisie : même DA que « Enregistrer dans Agility » (fond ardoise, texte blanc), icône anis */
.choix__input:checked + .choix__carte{border-color:var(--ardoise);background:var(--ardoise);color:#fff;font-weight:700}
.choix__input:checked + .choix__carte .choix__ico{color:var(--anis)}
.choix__input:focus-visible + .choix__carte{outline:3px solid var(--turquoise-fonce);outline-offset:2px}
.choix__input:disabled + .choix__carte{opacity:.45;cursor:not-allowed}
.choix__aide{margin-top:8px;color:var(--texte-2);font-size:13px}
.choix__carte--indetermine{border-style:dashed;color:var(--texte-2)}
.choix__agility{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}

/* lignes logiciel : une liste à séparateurs, pas des cartes */
.lignes{display:grid;border-top:1px solid var(--gris-2)}
.ligne{padding:14px 0;border-bottom:1px solid var(--gris-2)}
.ligne--nouveau{animation:apparition .22s cubic-bezier(.2,.7,.3,1)}
.ligne--fin{color:var(--texte-3)}
.ligne__champs{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px}
.ligne__pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.ligne__actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto}
.champ{display:grid;gap:4px;align-content:start;min-width:0}
.champ--large{grid-column:1 / -1}
.champ__label{color:var(--texte-2);font-size:13px;font-weight:500}
.champ__input{width:100%;min-width:0;height:44px;padding:0 12px;border:1px solid var(--gris-fort);border-radius:var(--rayon-s);background:var(--surface);transition:border-color var(--anim),box-shadow var(--anim)}
.champ__input::placeholder{color:var(--texte-3)}
.champ__input:focus{outline:none;border-color:var(--turquoise-fonce);box-shadow:0 0 0 3px #00838e2e}
.champ__input[aria-invalid="true"]{border-color:var(--rouge)}
.champ__erreur{display:flex;align-items:center;gap:6px;color:var(--rouge);font-size:13px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.badge--agility{background:var(--orange-clair);color:var(--orange-texte)}
.badge--ok{background:var(--anis-clair);color:var(--anis-texte)}
.badge--nouveau{background:var(--gris-2);color:var(--ardoise)}
.badge--fin{background:var(--gris-2);color:var(--texte-2)}

/* selecteur : champ qui ouvre un panneau (popover natif ancré au champ ; sans ancrage CSS, centré par le navigateur) */
.selecteur__declencheur{display:flex;align-items:center;gap:10px;width:100%;min-width:0;height:44px;padding:0 12px;border:1px solid var(--gris-fort);border-radius:var(--rayon-s);background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--anim),box-shadow var(--anim)}
.selecteur__declencheur:hover{border-color:var(--ardoise)}
.selecteur__declencheur:focus-visible{outline:none;border-color:var(--turquoise-fonce);box-shadow:0 0 0 3px #00838e2e}
.selecteur__declencheur[aria-invalid="true"]{border-color:var(--rouge)}
.selecteur__ico{color:var(--texte-3)}
.selecteur__valeur{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.selecteur__valeur--vide{color:var(--texte-3)}
.selecteur__valeur--barre{color:var(--texte-3);text-decoration:line-through}
.selecteur__panneau{width:288px;padding:12px;border:1px solid var(--gris);border-radius:var(--rayon-m);background:var(--surface);box-shadow:var(--ombre-forte);color:var(--texte)}
.selecteur__panneau--large{width:min(420px,calc(100vw - 24px))}
.selecteur__panneau:popover-open{animation:apparition .18s cubic-bezier(.2,.7,.3,1)}
@supports (anchor-name:--a){
  .selecteur__panneau{inset:auto;top:anchor(bottom);left:anchor(left);margin:6px 0;position-try-fallbacks:flip-block,flip-inline}
  .selecteur__panneau--large{width:max(340px,anchor-size(width))}
}

/* logiciel : choix du logiciel dans le référentiel Agility de la catégorie */
.logiciel__recherche{position:relative;display:flex;align-items:center}
.logiciel__loupe{position:absolute;left:12px;color:var(--texte-3);pointer-events:none}
.logiciel__champ{width:100%;height:42px;padding:0 12px 0 38px;border:1px solid var(--gris-fort);border-radius:var(--rayon-s);background:var(--surface)}
.logiciel__champ::placeholder{color:var(--texte-3)}
.logiciel__champ:focus{outline:none;border-color:var(--turquoise-fonce);box-shadow:0 0 0 3px #00838e2e}
.logiciel__liste{display:grid;gap:2px;max-height:min(300px,45vh);overflow:auto;margin-top:8px}
.logiciel__option{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:6px 10px;border:0;border-radius:var(--rayon-s);background:none;text-align:left;font-size:14px;cursor:pointer}
.logiciel__option:hover,.logiciel__option:focus-visible{background:var(--gris-2)}
.logiciel__option--choisi,.logiciel__option--choisi:hover,.logiciel__option--choisi:focus-visible{background:var(--ardoise);color:#fff;font-weight:700}
.logiciel__option--choisi .logiciel__coche{color:var(--anis)}
.logiciel__option--choisi .logiciel__note{color:#ffffffb3}
.logiciel__option--libre{margin-top:6px;border-top:1px solid var(--gris-2);border-radius:0 0 var(--rayon-s) var(--rayon-s);font-weight:500}
.logiciel__coche{flex:none;width:16px;color:var(--anis-texte)}
.logiciel__nom{flex:1;min-width:0}
.logiciel__surligne{padding:0 1px;border-radius:3px;background:var(--anis);color:var(--ardoise)}
.logiciel__note{display:block;color:var(--texte-3);font-size:12px;font-weight:400}
.logiciel__vide{padding:10px;color:var(--texte-2);font-size:14px}
.logiciel__pied{margin-top:8px;padding-top:8px;border-top:1px solid var(--gris-2);color:var(--texte-3);font-size:12px}

/* mois : grille des mois et des années */
.mois__entete{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.mois__titre{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 10px;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.mois__titre--bouton{border:0;border-radius:var(--rayon-s);background:none;cursor:pointer}
.mois__titre--bouton:hover{background:var(--gris-2)}
.mois__nav{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--rayon-s);background:none;color:var(--texte-2);cursor:pointer}
.mois__nav:hover{background:var(--gris-2);color:var(--texte)}
.mois__nav:disabled{opacity:.35;cursor:not-allowed;background:none}
.mois__grille{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.mois__case{min-height:40px;border:0;border-radius:var(--rayon-s);background:none;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--anim)}
.mois__case:hover{background:var(--gris-2)}
.mois__case--actuel{box-shadow:inset 0 0 0 1.5px var(--turquoise)}
.mois__case--choisi,.mois__case--choisi:hover{background:var(--ardoise);color:#fff;font-weight:700}
.mois__case:disabled{background:none;color:#b9bdc3;cursor:not-allowed}
.mois__pied{display:flex;justify-content:space-between;margin-top:10px;padding-top:6px;border-top:1px solid var(--gris-2)}

/* barre d'action */
.barre{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--gris);box-shadow:0 -4px 16px rgba(43,48,58,.06)}
.barre__inner{display:flex;align-items:center;gap:16px;max-width:1600px;margin:0 auto;padding:10px 24px}
.barre__etat{display:flex;align-items:center;gap:8px;min-width:0;color:var(--texte-2);font-size:13px}
.barre__etat--ok .barre__ico{color:var(--anis-texte)}
.barre__etat--encours .barre__ico{color:var(--orange);animation:tourne 1s linear infinite}
.barre__etat--erreur{color:var(--rouge)}
.barre__raccourci{margin-left:auto;color:var(--texte-3);font-size:12px;white-space:nowrap}
.barre__touche{padding:1px 6px;border:1px solid var(--gris);border-radius:5px;background:var(--gris-clair);font:600 11px var(--police)}

/* dialogue */
.dialogue{width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:var(--rayon);box-shadow:var(--ombre-forte);color:var(--texte)}
.dialogue[open]{display:flex;flex-direction:column;animation:apparition .2s cubic-bezier(.2,.7,.3,1)}
.dialogue::backdrop{background:rgba(43,48,58,.55)}
.dialogue__tete{padding:22px 24px 0}
.dialogue__titre{font:700 24px/1.2 var(--police-titre)}
.dialogue__titre:focus{outline:none}
.dialogue__intro{margin-top:6px;color:var(--texte-2);font-size:14px}
.dialogue__corps{flex:1;overflow:auto;padding:16px 24px 20px}
.dialogue__pied{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--gris-2);background:var(--gris-clair)}
.succes{display:grid;justify-items:center;gap:8px;padding:28px 8px 8px;text-align:center}
.succes__ico{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--anis);color:var(--ardoise);animation:pop .35s cubic-bezier(.2,.7,.3,1)}
.succes__titre{font:700 24px/1.2 var(--police-titre)}
.succes__titre:focus{outline:none}
.succes__texte{color:var(--texte-2)}

/* toast (zone live de l'application) */
.toast{position:fixed;left:50%;bottom:84px;z-index:40;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);transform:translateX(-50%);padding:10px 16px;border-radius:var(--rayon-m);background:var(--ardoise);color:#fff;font-size:14px;box-shadow:var(--ombre-forte);animation:apparition .2s}
.toast__ico{color:var(--anis)}

/* chargement */
.squelette{border-radius:8px;background:linear-gradient(90deg,#ffffff10 25%,#ffffff22 50%,#ffffff10 75%);background-size:200% 100%;animation:brille 1.1s infinite}
.squelette--clair{background:linear-gradient(90deg,#eceded 25%,#f6f7f7 50%,#eceded 75%);background-size:200% 100%}
.squelette--etapes{width:260px;height:30px}
.squelette--titre{width:min(380px,80%);height:32px;margin-top:14px}
.squelette--ligne{width:60%;height:16px;margin-top:12px}
.squelette--carte{height:60px}
.squelette-liste{display:grid;gap:8px}

/* carto : synthèse (étape 4), document de cartographie de la maquette du co-pil, exporté en PDF par l'impression */
.carto{max-width:1600px;margin:0 auto;padding:20px 24px 64px}
.carto__tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px}
.carto__titre{font:var(--titre-etape)}
.carto__intro{margin-top:6px;color:var(--texte-2)}
.carto__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.carto__avertissement{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;border-radius:var(--rayon-m);background:var(--orange-clair);color:var(--orange-texte);font-size:14px}
.carto__page{border:1px solid var(--gris);border-radius:var(--rayon-s);overflow:hidden;background:var(--surface)}
.carto__entete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;padding:30px 40px 26px;background:var(--ardoise);color:#fff}
.carto__surtitre{margin-bottom:6px;color:var(--anis);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.carto__nom{font:700 clamp(28px,4vw,40px)/1.1 var(--police-titre)}
.carto__sous{margin-top:6px;color:#ffffffcc;font-size:14px}
.carto__logo{height:30px;width:auto;color:#fff}
.carto__corps{padding:24px 40px 30px}
.carto__grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;margin-top:26px}
.carto__groupe + .carto__groupe{margin-top:26px}
.carto__groupe-titre{margin-bottom:12px;color:var(--texte-2);font:var(--titre-groupe)}
.carto__tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.carto__masque{margin-top:16px;color:var(--texte-3);font-size:13px}
.carto__obligations{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--fond)}
.carto__obligations-titre{font:var(--titre-panneau)}
.carto__pied{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:16px 40px;border-top:1px solid var(--gris-2);color:var(--texte-2);font-size:13px}
.legende{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13.5px;color:var(--texte-2)}
.legende__item{display:inline-flex;align-items:center;gap:8px}
.legende__carre{width:22px;height:14px;border-radius:3px}
.legende__carre--client{background:var(--turquoise-clair)}
.legende__carre--bt{background:var(--turquoise)}
.legende__carre--aucun{border:2px solid var(--anis)}
.legende__carre--nc{background:var(--gris-2);border:1px solid var(--gris)}
.legende__carre--apreciser{border:1.5px dashed var(--gris-fort)}

/* tuile : une catégorie de la cartographie, soulignée en turquoise si obligatoire */
.tuile{display:grid;align-content:start;gap:10px;padding:14px 16px;border:1px solid var(--gris);border-radius:10px;background:var(--surface)}
.tuile__titre{padding-bottom:6px;border-bottom:3px solid var(--gris);font:700 17px/1.25 var(--police-titre)}
.tuile--obligatoire .tuile__titre{border-bottom-color:var(--turquoise)}
.tuile__puces{display:flex;flex-wrap:wrap;gap:8px}
.puce{display:inline-grid;max-width:100%;padding:7px 12px;border-radius:8px;font-size:15px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.puce__sous{font-size:13px;font-weight:400}
.puce--client{background:var(--turquoise-clair);color:var(--texte)}
.puce--bt{background:var(--turquoise);color:var(--ardoise)}
.puce--aucun{padding:6px 12px;border:2px solid var(--anis);color:var(--texte)}
.puce--nc{background:var(--gris-2);color:var(--texte-2);font-weight:500}
.puce--apreciser,.puce--nonrenseigne{border:1.5px dashed var(--gris-fort);color:var(--texte-2);font-weight:500}

/* apercu : bandeau « En un coup d'œil » */
.apercu{margin-top:18px;padding:20px 24px;border-radius:10px;background:var(--turquoise-clair)}
.apercu__titre{margin-bottom:14px;font:var(--titre-panneau)}
.apercu__chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 28px}
.apercu__chiffre{display:flex;align-items:center;gap:12px;font-size:14px}
.apercu__nombre{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--anis);color:var(--ardoise);font:700 17px var(--police-titre);font-variant-numeric:tabular-nums}
.apercu__libelle{display:block}

.pistes{margin-top:26px;padding:22px 24px;border-radius:var(--rayon);background:var(--ardoise);color:#fff}
.pistes__titre{font:var(--titre-panneau)}
.pistes__liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:14px;counter-reset:piste}
.pistes__item{display:grid;grid-template-columns:32px 1fr;gap:10px;color:#d5d8dd;font-size:14px;counter-increment:piste}
.pistes__item::before{content:counter(piste);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--anis);color:var(--ardoise);font-weight:700}
.pistes__nom{display:block;color:#fff;font-size:15px;font-weight:700}

/* bord : tableau de bord (étape 1), mêmes jetons que la saisie */
.bord{max-width:1600px;margin:0 auto;padding:20px 24px 64px}
.bord__haut{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.bord__recherche{flex:1;min-width:min(420px,100%);max-width:620px;padding:18px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}
.bord__erreur{margin-top:20px;padding:12px 14px;border-radius:var(--rayon-m);background:var(--rouge-clair);color:var(--rouge);font-size:14px}
.bord__chargement{margin-top:20px}
.bord__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.bord__statuts{margin-top:16px}

/* etape : étape 2, même largeur que l'espace de saisie */
.etape{max-width:1600px;margin:0 auto;padding:20px 24px 130px}

/* diag : diagnostic FE (maquette du co-pil), questionnaire à gauche, obligations identifiées collées à droite */
.diag{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start}
.diag__questions{display:grid;gap:30px;min-width:0}
.diag__tete{display:grid;gap:6px}
.diag__titre{font:var(--titre-etape)}
.diag__titre:focus{outline:none}
.diag__intro{color:var(--texte-2)}
.diag__prerempli{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:var(--rayon-m);background:var(--turquoise-clair);color:var(--turquoise-texte);font-size:14px}
.diag__pied{padding-top:8px;border-top:1px solid var(--gris);color:var(--texte-3);font-size:13px}
.diag__note{color:var(--orange-texte);font-weight:500}
.diag__recap{position:sticky;top:76px;display:grid;gap:14px;max-height:calc(100vh - 160px);overflow:auto;padding:16px 18px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}
.diag__recap-titre{font:var(--titre-panneau)}

/* enregistrement : étape 2, « Enregistrer dans Agility » puis « Continuer », au-dessus des obligations (réunion du 03/11/2026) */
.enregistrement{display:grid;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--gris)}
.enregistrement__etat{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.enregistrement__etat--non{color:var(--rouge)}
.enregistrement__etat--ok{color:var(--anis-texte)}
.enregistrement__pastille{flex:none;width:10px;height:10px;border-radius:50%;background:currentColor}
.enregistrement__boutons{display:grid;gap:8px}
.enregistrement__aide{color:var(--texte-2);font-size:13px}

/* volet : éligibilité, e-invoicing, e-reporting */
.volet{display:grid;gap:14px}
.volet__bande{justify-self:start;padding:6px 18px;border-radius:999px;background:var(--ardoise);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.volet__bande--einvoicing{background:var(--bleu-ardoise)}
.volet__bande--ereporting{background:var(--turquoise-fonce)}
.volet__fin{padding:14px 18px;border:1.5px solid var(--rouge);border-radius:var(--rayon-m);background:var(--rouge-clair);color:var(--rouge);font-weight:700}
.volet__rappel{display:grid;gap:8px;padding:16px 20px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}

/* question : une question du diagnostic (groupe nommé par son titre) */
.question{display:grid;gap:12px;min-width:0;padding:18px 20px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}
.question__titre{font:var(--titre-carte)}
.question__id{display:inline-block;margin-right:12px;padding:2px 8px;border-radius:6px;background:var(--gris-2);color:var(--texte-2);font-size:12px;vertical-align:2px}
.question__aide{margin-top:-4px;color:var(--texte-2);font-size:13px}

/* sortie : ce qu'implique la réponse */
.sortie{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;align-items:start;padding-top:12px;border-top:1px dashed var(--gris)}
.sortie__label{padding-top:4px;color:var(--texte-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sortie__liste{display:grid;gap:8px}
.sortie__ligne{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.sortie__texte{color:var(--texte-2);font-size:14px}

/* etiquette : sortie colorée (e-invoicing bleu, e-reporting turquoise, Chorus Pro gris) */
.etiquette{padding:3px 9px;border:1.5px solid currentColor;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.etiquette--stop{background:var(--rouge-clair);color:var(--rouge)}
.etiquette--go{background:var(--anis-clair);color:var(--anis-texte)}
.etiquette--einvoicing{background:var(--bleu-clair);color:var(--bleu)}
.etiquette--ereporting{background:var(--turquoise-clair);color:var(--turquoise-texte)}
.etiquette--chorus{background:var(--gris-2);color:var(--texte-2)}
.etiquette--aucune{border-color:var(--gris);background:var(--gris-clair);color:var(--texte-3)}

/* choix : variantes du diagnostic */
.choix__options--court{max-width:560px}
.choix__options--types{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.choix__code{display:block;font-weight:700}
.choix__detail{display:block;font-size:12px;font-weight:400;opacity:.8}

/* perimetre : les 5 champs reportés dans Agility, sous le questionnaire (RG3) */
.perimetre{display:grid;gap:10px;padding:18px 20px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}
.perimetre__entete{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.perimetre__titre{font:var(--titre-carte)}
.perimetre__aide{color:var(--texte-2);font-size:13px}

/* obligations : arbre des obligations, avec leur compte sur la synthèse */
.obligations{display:grid;gap:12px}
.obligations__score{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}
.obligations__nombre{font:700 36px/1 var(--police-titre);font-variant-numeric:tabular-nums}
.obligations__texte{color:var(--texte-2);font-size:14px}
.obligations__legende{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--texte-2);font-size:12.5px}
.obligations__cle{display:inline-flex;align-items:center;gap:6px}
.obligations__cle::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--bleu)}
.obligations__cle--ereporting::before{background:var(--turquoise-fonce)}
.obligations__cle--chorus::before{background:var(--texte-2)}
.obligations__cumul{color:var(--texte-3);font-size:13px}

/* arbre : éligibilité puis branches e-invoicing et e-reporting */
.arbre{display:grid;gap:4px;margin-left:8px}
.arbre__porte{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px dashed var(--gris-fort);border-radius:var(--rayon-m)}
.arbre__porte--ok{border:1.5px solid var(--anis-texte);background:var(--anis-clair)}
.arbre__porte--hors{border:1.5px solid var(--rouge);background:var(--rouge-clair)}
.arbre__point{flex:none;width:12px;height:12px;border-radius:50%;background:var(--gris)}
.arbre__porte--ok .arbre__point{background:var(--anis-texte)}
.arbre__porte--hors .arbre__point{background:var(--rouge)}
.arbre__porte-titre{display:block}
.arbre__porte-detail{display:block;color:var(--texte-2);font-size:12.5px}
.arbre__tronc{display:grid;gap:14px;margin-left:22px;padding-top:12px;border-left:2px solid var(--gris)}
.arbre__branche{position:relative;padding-left:20px}
.arbre__branche::before{content:"";position:absolute;left:0;top:13px;width:20px;border-top:2px solid var(--gris)}
.arbre__etiquette{display:inline-block;margin-bottom:8px;padding:3px 12px;border-radius:999px;background:var(--bleu-ardoise);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.arbre__etiquette--ereporting{background:var(--turquoise-fonce)}
.arbre__noeuds{display:grid;gap:6px;margin-left:14px;padding:2px 0;border-left:2px solid var(--gris)}

/* noeud : une obligation, colorée quand le client est concerné */
.noeud{--c:var(--bleu);--ct:var(--bleu-clair);position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:1px 10px;align-items:center;margin-left:18px;padding:7px 12px;border:1.5px solid var(--gris);border-radius:10px;background:var(--surface)}
.noeud::before{content:"";position:absolute;left:-20px;top:18px;width:18px;border-top:2px solid var(--gris)}
.noeud--ereporting{--c:var(--turquoise-texte);--ct:var(--turquoise-clair)}
.noeud--chorus{--c:var(--texte-2);--ct:var(--gris-2)}
.noeud__marque{display:grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--gris);border-radius:50%;color:var(--texte-3);font-size:12px;font-weight:700}
.noeud__titre{font-size:14px;font-weight:700;line-height:1.3}
.noeud__etat{color:var(--texte-3);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.noeud__detail{grid-column:2/-1;color:var(--texte-3);font-size:12.5px;line-height:1.35}
.noeud--empile{grid-template-columns:22px minmax(0,1fr)}
.noeud--empile .noeud__etat,.noeud--empile .noeud__detail{grid-column:2}
.noeud--inconnu{border-style:dashed}
.noeud--non-concerne{background:transparent}
.noeud--non-concerne .noeud__titre{color:var(--texte-3);font-weight:500}
.noeud--concerne{border-color:var(--c);background:var(--ct)}
.noeud--concerne .noeud__marque{border-color:var(--c);background:var(--surface);color:var(--c)}
.noeud--concerne .noeud__etat{color:var(--c)}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:20px}
.kpi{display:grid;align-content:start;gap:4px;padding:16px 18px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface)}
.kpi__valeur{font:700 30px/1.1 var(--police-titre);font-variant-numeric:tabular-nums}
.kpi__label{color:var(--texte-2);font-size:13px;font-weight:500}
.kpi__jauge{height:6px;margin-top:6px;border-radius:99px;background:#ffffff2e;overflow:hidden}
.kpi__jauge-rempli{display:block;width:var(--valeur,0%);height:100%;border-radius:99px;background:var(--anis)}
.kpi--accent{border-color:var(--ardoise);background:var(--ardoise);color:#fff}
.kpi--accent .kpi__label{color:var(--texte-sombre)}
.portefeuille{margin-top:16px;border:1px solid var(--gris);border-radius:var(--rayon);background:var(--surface);overflow-x:auto}
.portefeuille__table{width:100%;border-collapse:collapse;font-size:14px}
.portefeuille__entete{padding:12px 16px;border-bottom:1px solid var(--gris);color:var(--texte-2);font-size:12px;font-weight:700;text-align:left;white-space:nowrap}
.portefeuille__cellule{padding:10px 16px;border-bottom:1px solid var(--gris-2);vertical-align:middle}
.portefeuille__ligne:last-child .portefeuille__cellule{border-bottom:0}
.portefeuille__ligne:hover{background:var(--gris-clair)}
.portefeuille__client{display:grid;min-height:40px;align-content:center;text-decoration:none}
.portefeuille__nom{font-weight:700}
.portefeuille__client:hover .portefeuille__nom{text-decoration:underline;text-underline-offset:3px}
.portefeuille__numero,.portefeuille__meta{color:var(--texte-3);font-size:13px}
.portefeuille__vide{padding:24px 16px;color:var(--texte-3)}

/* tablette */
@media (max-width:900px){
  .espace{grid-template-columns:minmax(0,1fr)}
  .parcours{display:none}
  .diag,.carto__grille{grid-template-columns:minmax(0,1fr)}
  .diag__recap{position:static;max-height:none}
  .connexion{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .connexion__marque{gap:28px;padding:28px 32px 32px}
  .connexion__intro{margin-block:0}
  .connexion__panneau{place-items:start center}
  .connexion__filigrane{right:-40px;bottom:-70px;width:240px}
}
/* mobile */
@media (max-width:640px){
  .app-bar{padding:0 14px;gap:10px}
  .app-bar__nom,.app-bar__sep,.app-bar__campagne{display:none}
  .app-bar__user{margin-left:auto}
  .bouton__libelle,.etapes__texte{display:none}
  .bouton--sur-sombre{width:38px;padding:0}
  .bord{padding:14px 10px 40px}
  .bord__recherche{padding:14px}
  .recherche__ligne{flex-direction:column}
  .client__inner{padding:12px 14px 14px}
  .etapes__item + .etapes__item::before{width:12px}
  .etapes__lien{padding:2px}
  .client__nom{font-size:24px}
  :root{--titre-etape:700 24px/1.15 var(--police-titre)}
  .client__fiche{gap:6px 18px}
  .espace,.etape{padding:14px 10px 150px}
  .cat__tete{gap:8px;padding:10px 12px}
  .cat__corps{padding:4px 12px 14px}
  .autres__bascule{gap:10px;padding:10px 10px 10px 14px}
  .choix__carte{flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:6px 4px;font-size:13px;text-align:center}
  .ligne__champs{grid-template-columns:minmax(0,1fr)}
  .barre__inner{flex-wrap:wrap;gap:8px;padding:8px 10px}
  .barre__raccourci,.barre__suivante{display:none}
  .barre__etat{width:100%}
  .barre__bouton{flex:1}
  .carto{padding:14px 10px 40px}
  .carto__entete,.carto__corps{padding:20px}
  .question{padding:14px}
  .carto__pied{padding:14px 20px}
  .connexion__marque{padding:20px 16px 24px}
  .connexion__logo{height:26px}
  .connexion__intro::before{margin-bottom:18px}
  .connexion__accroche{font-size:15px}
  .connexion__panneau{padding:24px 16px}
  .connexion__carte{padding:28px 20px}
}
/* export PDF (exportPdf de app.ts) : la copie photographiée passe en paysage compact pour tenir sur une page A4 ;
   l'écran ne change pas */
.carto__page--pdf{border:0;border-radius:0}
.carto__page--pdf .carto__entete{padding:20px 32px 16px}
.carto__page--pdf .carto__nom{font-size:32px}
.carto__page--pdf .carto__corps{padding:14px 32px 16px}
.carto__page--pdf .carto__grille{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:14px}
/* groupes et tuiles à la suite : un groupe d'une ou deux catégories ne prend plus une ligne entière */
.carto__page--pdf .carto__groupes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 18px}
.carto__page--pdf .carto__groupe + .carto__groupe{margin-top:0}
.carto__page--pdf .carto__groupe-titre{margin-bottom:6px}
.carto__page--pdf .carto__tuiles{display:flex;flex-wrap:wrap;gap:10px}
.carto__page--pdf .carto__masque{display:none}
/* les obligations restent à l'écran, pas dans le PDF remis au client (décision du 05/11) */
.carto__page--pdf .carto__obligations,.carto__page--pdf .apercu__chiffre--obligations{display:none}
.carto__page--pdf .carto__pied{padding:10px 32px}
.carto__page--pdf .tuile{width:176px;gap:6px;padding:10px 12px}
.carto__page--pdf .tuile__titre{font-size:15px}
.carto__page--pdf .puce{padding:5px 10px;font-size:13px}
.carto__page--pdf .apercu{margin-top:12px;padding:12px 18px}
.carto__page--pdf .apercu__titre{margin-bottom:8px;font-size:16px}
.carto__page--pdf .pistes{margin-top:12px;padding:12px 18px}

/* impression de la cartographie (Ctrl+P, secours de l'export PDF) : A4 paysage, le document seul, aplats conservés */
@page{size:A4 landscape;margin:10mm}
@media print{
  .app-bar,.client,.carto__tete,.carto__avertissement,.barre,.toast{display:none!important}
  body{background:#fff;font-size:12px}
  .carto{margin:0;padding:0;max-width:none}
  .carto__page{border:0;border-radius:0}
  .carto__masque,.carto__obligations,.apercu__chiffre--obligations{display:none}
  .carto__grille{grid-template-columns:minmax(0,1fr)}
  .tuile,.noeud,.apercu,.apercu__chiffre,.pistes{break-inside:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
