/* Contrôle Blanc : page d'analyse */
.chapo{font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.55;color:var(--encre-doux);max-width:46ch}

/* 1. Dépôt */
.depot{padding-block:clamp(2.5rem,6vw,5.5rem)}
.depot__in{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.depot h1{font-size:clamp(2.3rem,1.5rem + 3.6vw,4.2rem);margin:.8rem 0 1.2rem}
.promesses{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1rem;max-width:48ch}
.promesses li{padding-left:2rem;position:relative;color:var(--encre-doux)}
.promesses li strong{color:var(--encre)}
.promesses li::before{content:"";position:absolute;left:.2rem;top:.35rem;width:16px;height:16px;border:2.5px solid var(--vert);border-radius:50%;background:radial-gradient(circle,var(--vert) 3px,transparent 4px)}
.depot__carte{background:var(--kraft);border:2px solid var(--encre);border-radius:1rem;padding:clamp(1.25rem,3vw,2rem);box-shadow:8px 8px 0 var(--encre);position:relative}
.depot__carte::before{content:"";position:absolute;left:1.5rem;top:-14px;width:9rem;height:16px;background:var(--kraft);border:2px solid var(--encre);border-bottom:0;border-radius:.6rem .6rem 0 0}
.zone{display:grid;justify-items:center;gap:.4rem;text-align:center;padding:2.25rem 1.25rem;border:2.5px dashed var(--encre);border-radius:.8rem;background:var(--papier);cursor:pointer;transition:background .2s var(--doux),transform .2s var(--doux)}
.zone:hover,.zone.survol{background:var(--tampon-pale);transform:translateY(-2px)}
.zone input{position:absolute;width:1px;height:1px;opacity:0}
.zone:focus-within{outline:3px solid var(--tampon);outline-offset:3px}
.zone__chemise svg{width:120px;height:92px;margin-bottom:.4rem;transition:transform .3s var(--doux)}
.zone:hover .zone__chemise svg{transform:rotate(-4deg) scale(1.05)}
.zone__titre{font-weight:800;font-size:1.3rem}
.zone__sous{color:var(--encre-doux);font-size:.9375rem}
.depot__ou{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--encre-doux);font:700 .8125rem var(--machine);text-transform:uppercase}
.depot__ou::before,.depot__ou::after{content:"";flex:1;height:2px;background:var(--kraft-fonce);opacity:.5}
.demo-btn{width:100%}
.depot__aide{margin-top:1rem;font-size:.9375rem;text-align:center}
.erreur{margin-top:1rem;padding:.8rem 1rem;border:2px solid var(--rouge);border-radius:.5rem;background:var(--rouge-pale);color:var(--encre);font-weight:600}
@media (min-width:900px){.depot__in{grid-template-columns:1.1fr 1fr}}

/* 2. Théâtre */
.theatre{padding-block:clamp(3rem,8vw,7rem);min-height:70vh}
.theatre__in{max-width:44rem}
.theatre h2{font-size:clamp(1.9rem,1.4rem + 2vw,2.8rem);margin:.6rem 0 2rem}
.etapes{list-style:none;margin:0;padding:0;border-top:2px solid var(--encre)}
.etapes li{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--filet);color:var(--encre-doux);opacity:.35;transition:opacity .25s}
.etapes li.encours{opacity:1;color:var(--encre)}
.etapes li.fait{opacity:1}
.etapes li .tampon{font-size:.75rem}

/* 3. Résultat */
.resultat{padding-block:2rem 4rem}
.bandeau-demo{margin-bottom:1.5rem;padding:.9rem 1.1rem;border:2px dashed var(--tampon);border-radius:.6rem;background:var(--tampon-pale);font-size:.9375rem}
.dossier-tete{display:grid;gap:1.25rem;align-items:end;padding-bottom:1.5rem;border-bottom:2px solid var(--encre)}
.dossier-titre{font-size:clamp(2rem,1.5rem + 2.4vw,3.2rem);margin:.4rem 0 .4rem}
.dossier-meta{color:var(--encre-doux);font-size:.9375rem}
.dossier-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.dossier-actions .bouton{min-height:2.75rem;padding:.5rem 1rem;font-size:.9063rem}
.verrou::after{content:" 🔒";font-size:.8em}
@media (min-width:1000px){.dossier-tete{grid-template-columns:1fr auto}}

.synthese{display:grid;gap:1.25rem;margin-top:2rem}
.note-bloc,.risque-bloc{background:var(--papier-2);border:2px solid var(--encre);border-radius:1rem;padding:clamp(1.25rem,3vw,2rem)}
.note-bloc{display:grid;justify-items:center;text-align:center;background:var(--kraft)}
.cadran{width:min(100%,300px)}
#aiguille{transition:transform 1.6s cubic-bezier(.34,1.3,.5,1)}
.note-chiffre{font-family:var(--machine);font-weight:700;font-size:clamp(3.2rem,2.4rem + 3vw,4.4rem);line-height:1;margin-top:-.3rem}
.note-chiffre small{font-size:.4em;color:var(--encre-doux)}
.note-niveau{margin-top:.6rem;font-weight:800;font-size:1.25rem}
.note-niveau span{display:block;font-weight:500;font-size:.9375rem;color:var(--encre-doux);margin-top:.2rem;max-width:30ch}
.risque-chiffre{font-family:var(--machine);font-weight:700;font-size:clamp(2.6rem,1.8rem + 3.6vw,4.6rem);line-height:1;margin:.6rem 0 .7rem;color:var(--rouge);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.risque-explique{color:var(--encre-doux);max-width:52ch;font-size:.9688rem}
.scenario{display:flex;flex-wrap:wrap;margin-top:1.25rem;border:2px solid var(--encre);border-radius:.6rem;overflow:hidden;width:max-content;max-width:100%}
.scenario button{min-height:2.75rem;padding:.4rem .9rem;border:0;border-right:2px solid var(--encre);background:var(--papier);color:var(--encre);font:700 .875rem/1.2 var(--texte);cursor:pointer}
.scenario button:last-child{border-right:0}
.scenario button[aria-pressed="true"]{background:var(--encre);color:var(--papier)}
.scenario-note{margin-top:.6rem;font-size:.875rem;color:var(--encre-doux)}
.taux{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;font-size:.875rem;color:var(--encre-doux)}
.taux select{min-height:2.5rem;padding:.3rem .6rem;border:2px solid var(--encre);border-radius:.45rem;background:var(--papier);color:var(--encre);font:600 .875rem var(--texte)}
@media (min-width:900px){.synthese{grid-template-columns:.85fr 1.15fr}}

.titre-bloc{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);margin:3rem 0 1.25rem}

/* Feux */
.feux{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.6rem}
.feux a{display:grid;gap:.6rem;min-height:6.5rem;padding:.9rem;border:2px solid var(--encre);border-radius:.7rem;background:var(--papier);color:var(--encre);text-decoration:none;transition:transform .2s var(--doux),box-shadow .2s var(--doux)}
.feux a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--encre);color:var(--encre)}
.feux .feu-nom{font-weight:700;font-size:.9375rem;line-height:1.25}
.feux .tampon{justify-self:start;font-size:.6875rem}
.feux li.ko a{background:var(--rouge-pale)}
.feux li.attention a{background:var(--ambre-pale)}

/* Offre */
.offre{display:grid;gap:1.5rem;margin-top:2.5rem;padding:clamp(1.25rem,3vw,2.25rem);background:var(--encre);color:var(--papier);border-radius:1rem}
.offre .sur{color:oklch(80% 0.06 266)}
.offre h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);margin:.5rem 0 1rem;max-width:22ch}
.offre ul{margin:0;padding-left:1.2rem;display:grid;gap:.4rem;color:oklch(88% 0.02 268)}
.offre__prix{display:grid;gap:.8rem;align-content:center}
.offre__prix p span{display:block;font-size:3rem;font-weight:700;line-height:1}
.offre__prix small{color:oklch(80% 0.02 268)}
.offre__note{font-size:.8125rem;color:oklch(78% 0.02 268)}
@media (min-width:900px){.offre{grid-template-columns:1.4fr 1fr;align-items:center}}

/* Plan d'action */
.plan__liste{list-style:none;margin:0;padding:0;counter-reset:p;display:grid;gap:.6rem}
.plan__liste li{counter-increment:p;display:grid;grid-template-columns:2.6rem 1fr auto;gap:.2rem 1rem;align-items:start;padding:1rem;border:2px solid var(--encre);border-radius:.7rem;background:var(--papier)}
.plan__liste li::before{content:counter(p);display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--encre);color:var(--papier);font:700 1rem var(--machine);grid-row:span 2}
.plan__liste strong{font-weight:800}
.plan__liste span.plan-faire{grid-column:2;color:var(--encre-doux);font-size:.9375rem}
.plan__liste span.plan-montant{grid-column:3;grid-row:1;font:700 1rem var(--machine);color:var(--rouge);white-space:nowrap}

/* Tests */
.tests{display:grid;gap:1rem}
.test{border:2px solid var(--encre);border-radius:1rem;background:var(--papier);overflow:hidden;scroll-margin-top:5.5rem}
.test > summary{list-style:none;display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;align-items:center;padding:1.1rem 1.25rem;cursor:pointer}
.test > summary::-webkit-details-marker{display:none}
.test__num{font:700 .8125rem var(--machine);color:var(--encre-doux)}
.test__titre{font-weight:800;font-size:clamp(1.15rem,1rem + .5vw,1.4rem);line-height:1.2}
.test__resume{grid-column:1 / -1;color:var(--encre-doux);font-size:.9688rem}
.test__montant{font:700 1rem var(--machine);color:var(--rouge)}
.test.ko > summary{background:var(--rouge-pale)}
.test.attention > summary{background:var(--ambre-pale)}
.test[open] > summary{border-bottom:2px solid var(--encre)}
.test__corps{padding:1.25rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
.chiffres{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.6rem;margin:0}
.chiffres div{padding:.7rem .8rem;border-radius:.5rem;background:var(--papier-2)}
.chiffres dt{font-size:.8125rem;color:var(--encre-doux)}
.chiffres dd{margin:.15rem 0 0;font:700 1.15rem var(--machine);font-variant-numeric:tabular-nums}
.pedago{display:grid;gap:.8rem}
.pedago div{padding:1rem 1.1rem;border-radius:.6rem;border:2px solid var(--filet)}
.pedago h3{font-size:.9375rem;margin-bottom:.35rem;display:flex;align-items:center;gap:.5rem}
.pedago h3::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background-repeat:no-repeat;background-position:center;background-size:14px}
.pedago .voit h3::before{background-color:var(--tampon-pale);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10' cy='10' r='6' fill='none' stroke='%233b47b8' stroke-width='3'/%3E%3Cpath d='M15 15l6 6' stroke='%233b47b8' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.pedago .cout h3::before{background-color:var(--rouge-pale);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctext x='12' y='18' text-anchor='middle' font-family='Arial' font-weight='700' font-size='17' fill='%23b8372b'%3E%E2%82%AC%3C/text%3E%3C/svg%3E")}
.pedago .faire h3::before{background-color:var(--vert-pale);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l5 5 11-11' fill='none' stroke='%23267a4a' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.pedago p{color:var(--encre-doux);font-size:.9375rem}
.pedago ul{margin:0;padding-left:1.15rem;color:var(--encre-doux);font-size:.9375rem;display:grid;gap:.25rem}
@media (min-width:900px){.pedago{grid-template-columns:repeat(3,1fr)}}
.risque-ligne{padding:.8rem 1rem;border-left:0;border-radius:.5rem;background:var(--rouge-pale);font-size:.9375rem}
.risque-ligne strong{font-family:var(--machine)}
.methode{font-size:.8438rem;color:var(--encre-doux)}

/* Tableaux */
.liste{position:relative}
.liste__defile{overflow-x:auto;border:2px solid var(--encre);border-radius:.6rem}
.liste table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--papier)}
.liste th{position:sticky;top:0;text-align:left;padding:.6rem .75rem;background:var(--encre);color:var(--papier);font:700 .75rem var(--machine);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.liste td{padding:.55rem .75rem;border-top:1px solid var(--filet);vertical-align:top}
.liste tr:nth-child(even) td{background:var(--papier-2)}
.liste td.m{font-family:var(--machine);white-space:nowrap;text-align:right}
.liste__voile{position:relative}
.liste__flou td{filter:blur(4px);user-select:none}
.liste__cta{position:absolute;inset:auto 0 0 0;display:grid;justify-items:center;gap:.6rem;padding:1.5rem 1rem;text-align:center;background:linear-gradient(transparent,var(--papier) 45%)}
.liste__cta p{font-weight:700}
.liste__plus{margin-top:.5rem;font-size:.875rem;color:var(--encre-doux)}

/* Graphiques */
.graphe{border:2px solid var(--encre);border-radius:.6rem;padding:1rem;background:var(--papier)}
.graphe svg{width:100%;height:auto}
.graphe figcaption{margin-top:.6rem;font-size:.8438rem;color:var(--encre-doux)}
.legende{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:var(--encre-doux);margin-bottom:.5rem}
.legende i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:.35rem;vertical-align:-1px}

.penalites__grille{display:grid;gap:1rem;color:var(--encre-doux)}
@media (min-width:900px){.penalites__grille{grid-template-columns:1fr 1fr;gap:2.5rem}}
.avertissement{margin-top:2.5rem;padding:1rem 1.2rem;border:2px dashed var(--encre-doux);border-radius:.6rem;font-size:.9063rem;color:var(--encre-doux)}

/* Impression : le rapport complet, sans interface */
@media print{
  .tete,.pied,.dossier-actions,.scenario,.taux,.offre,.bandeau-demo,.depot,.theatre,.liste__cta{display:none!important}
  body{background:#fff;font-size:10.5pt}
  .resultat{padding:0}
  .test{break-inside:avoid-page;border-width:1px}
  .test__corps{display:grid!important}
  .liste__flou td{filter:none}
  .feux a,.note-bloc,.risque-bloc{box-shadow:none}
  #aiguille{transition:none}
  .titre-bloc{break-after:avoid}
}
.risque-chiffre,#prix,.plan-montant,.test__montant{word-spacing:-.4em}
.erreur.ok{border-color:var(--vert);background:var(--vert-pale);color:var(--encre)}
.bandeau-code{margin-bottom:1.5rem;padding:1rem 1.25rem;border:2px solid var(--vert);border-radius:.8rem;background:var(--vert-pale)}
.bandeau-code .machine{font-weight:700;letter-spacing:.04em;white-space:nowrap}
.consent{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 .9rem;font-size:.8125rem;line-height:1.45;color:oklch(86% 0.015 268);cursor:pointer}
.consent input{flex:none;width:1.1rem;height:1.1rem;margin-top:.1rem;accent-color:var(--tampon)}
.consent a{color:var(--papier)}
.code-deja{margin-top:1rem;font-size:.875rem;color:oklch(86% 0.015 268)}
.code-deja summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.code-deja form{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap}
.code-deja input{flex:1;min-width:12rem;min-height:2.75rem;padding:.5rem .8rem;border:2px solid var(--papier);border-radius:.5rem;background:var(--papier);color:var(--encre);font:700 .9375rem var(--machine);letter-spacing:.04em}
.code-deja .bouton{min-height:2.75rem;padding:.5rem 1rem}
.code-msg{margin-top:.5rem}
.synthese>*{min-width:0}.taux{flex-wrap:wrap}.taux select{max-width:100%}
/* Dossier pour le comptable */
.comptable{margin-top:3rem;padding:clamp(1.25rem,3vw,2.25rem);background:var(--kraft);background-image:repeating-linear-gradient(90deg,transparent 0 3px,oklch(80% 0.07 76 / .22) 3px 4px);border:2px solid var(--encre);border-radius:1rem;box-shadow:0 5px 0 var(--encre)}
.comptable .titre-bloc{margin-top:.5rem}
.comptable__intro{margin-top:.6rem;max-width:62ch;color:var(--encre)}
.comptable__grille{display:grid;gap:1rem;margin-top:1.5rem}
@media (min-width:820px){.comptable__grille{grid-template-columns:1fr 1fr}}
.livrable{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.5rem 1.4rem 1.3rem;background:var(--papier);border:2px solid var(--encre);border-radius:.8rem}
.livrable__type{align-self:flex-start;padding:.2rem .55rem .15rem;border:2px solid var(--rouge);color:var(--rouge);border-radius:.3rem;font:700 .75rem/1.1 var(--machine);letter-spacing:.1em;transform:rotate(-3deg)}
.livrable__type--xlsx{border-color:var(--vert);color:var(--vert)}
.livrable h3{font-size:1.35rem}
.livrable p{color:var(--encre-doux);font-size:.9375rem;flex:1}
.livrable .bouton{align-self:flex-start;margin-top:.4rem}
.livrable .livrable__aide{flex:none;font-size:.8125rem}
.message-comptable{margin-top:1rem;padding:1.25rem 1.4rem;background:var(--papier);border:2px dashed var(--encre);border-radius:.8rem}
.message-comptable__tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem}
.message-comptable h3{font-size:1.15rem}
.message-comptable .bouton{min-height:2.6rem;padding:.45rem 1rem;font-size:.9375rem}
.message-comptable pre{margin:1rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:400 .9375rem/1.6 var(--machine);color:var(--encre)}
/* Mode cabinet */
.depot-cabinet{margin-top:1rem;padding:.75rem 1rem;border:2px solid var(--tampon);border-radius:.6rem;background:var(--tampon-pale);font-size:.9375rem}
.bandeau-cabinet{margin-bottom:1.5rem;padding:1rem 1.25rem;border:2px solid var(--tampon);border-radius:.8rem;background:var(--tampon-pale)}
/* Simulateur */
.simulation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding:1.1rem 1.4rem;border:2px solid var(--vert);border-radius:1rem;background:var(--vert-pale)}
.simulation .sur{color:var(--vert)}
.simulation__ligne{margin-top:.3rem;font-size:1.2rem;font-weight:700}
.simulation__ligne .machine{word-spacing:-.35em}
.simulation__aide{margin-top:.2rem;font-size:.875rem;color:var(--encre-doux)}
.simulation .bouton{min-height:2.6rem;padding:.45rem 1rem;font-size:.9375rem}
.liste__aide{margin:0 0 .6rem;font-size:.875rem;color:var(--encre-doux)}
.liste__compteur{font-weight:700;color:var(--vert)}
th.justif,td.justif{width:4.5rem;text-align:center}
td.justif input{width:1.15rem;height:1.15rem;accent-color:var(--vert);cursor:pointer}
.liste tr.justifiee td{background:var(--vert-pale)!important;color:var(--encre-doux)}
/* Comparaison avant / après */
.comparaison{margin-top:1.25rem;padding:clamp(1.1rem,3vw,1.75rem);border:2px solid var(--encre);border-radius:1rem;background:var(--papier-2)}
.comp__chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:.8rem}
.comp__chiffres p:first-child{font-size:.875rem;color:var(--encre-doux)}
.comp__valeur{font:700 clamp(1.6rem,1.2rem + 1.6vw,2.4rem)/1.1 var(--machine);word-spacing:-.35em}
.comp__valeur.mieux{color:var(--vert)}.comp__valeur.moins{color:var(--rouge)}
.comp__listes{display:grid;gap:.8rem;margin-top:1.1rem}
@media (min-width:820px){.comp__listes{grid-template-columns:repeat(3,1fr)}}
.comp__liste{padding:.9rem 1rem;background:var(--papier);border:1.5px solid var(--filet);border-radius:.7rem}
.comp__liste h3{font:700 .75rem/1.2 var(--machine);letter-spacing:.08em;text-transform:uppercase}
.comp__liste--ok h3{color:var(--vert)}.comp__liste--att h3{color:var(--ambre)}.comp__liste--ko h3{color:var(--rouge)}
.comp__liste ul{margin:.5rem 0 0;padding-left:1.1rem;font-size:.9375rem}
.offre--recontrole{background:var(--vert);background:oklch(36% 0.08 152)}
