/* RÉCUPÉRER SON DÉPÔT DE GARANTIE. Encres propres, le reste vient de ../commun/socle.css.
   Accent prune (encre de tampon postal), fond gris lilas froid. Signature : la frise des délais,
   un segment pour le délai légal puis un bloc par mois de retard commencé, chacun avec son montant. */
:root{
  --fond:#F1EEF3;--encre:#14162B;--accent:#55285E;--accent2:#FFB224;--alerte:#A3261C;--sur-accent:#fff;
  --feuille:#FFFFFF;--doux:#4F4A57;--filet:#D8D0DD;--teinte:#E8DFEC;--teinte-forte:#D9C8E0;
  --retard:#B4361C;--retard-pale:#F6E2DC;--ok:#2F6B3A;--ok-pale:#E1EEDF;
}
[hidden]{display:none!important}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.marque img{width:30px;height:30px;flex:none}
.visuel-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.impression{display:none}
.etiq{color:var(--accent)}
.aide{display:block}

/* Plan : une colonne sur mobile ; sur bureau, le calcul reste à droite à côté du dossier */
.plan{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;max-width:1160px;margin:0 auto;padding:22px var(--gouttiere) 0}
.plan>section,.plan>form{min-width:0}
.intro{display:grid;gap:10px}
.chapo{font-size:1.06rem;max-width:62ch}
.avertissement{padding:11px 14px;border-left:3px solid var(--accent);background:var(--teinte);border-radius:0 8px 8px 0;font-size:.9rem;max-width:68ch}
h2{margin-bottom:6px}
section>h2:not(.etiq){font-size:clamp(1.3rem,1.1rem + .9vw,1.7rem)}

/* Le calcul */
.calcul{background:var(--feuille);border:1px solid var(--filet);border-radius:14px;padding:18px 18px 20px;outline:none;
  box-shadow:0 1px 2px rgba(20,22,43,.06),0 14px 30px -18px rgba(85,40,94,.45)}
.calcul>h2.etiq{font-size:.72rem;margin:0 0 10px}
.invite{color:var(--doux)}
.verdict-tete{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pastille{display:inline-flex;align-items:center;min-height:28px;padding:2px 12px;border-radius:999px;font:700 .82rem var(--texte);letter-spacing:.02em}
.pastille.attente{background:var(--teinte);color:var(--accent)}
.pastille.retard{background:var(--retard-pale);color:var(--retard)}
.pastille.ok{background:var(--ok-pale);color:var(--ok)}
.grand{margin:12px 0 4px}
.grand-terme{font-size:.9rem;color:var(--doux)}
.grand-valeur{font-family:var(--titre);font-weight:600;font-size:clamp(2.1rem,1.7rem + 2vw,2.9rem);line-height:1.05;letter-spacing:-.02em;
  color:var(--accent);font-variant-numeric:tabular-nums}
.grand-note{font-size:.9rem;color:var(--doux);margin-top:2px}

/* La frise des délais */
.frise{margin:16px 0 6px}
.rail{display:flex;gap:3px;height:46px}
.seg{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;border-radius:6px;
  font:600 .74rem var(--mono);white-space:nowrap;overflow:hidden}
.seg-delai{background:var(--teinte);color:var(--accent);justify-content:flex-start;gap:6px;padding:0 10px;border-radius:8px 6px 6px 8px;
  border:1.5px solid var(--teinte-forte)}
.seg-tete svg{width:20px;height:20px;display:block}
.seg-retard{background:var(--retard);color:#fff;letter-spacing:-.02em}
.seg-retard:nth-child(even){background:#9E2E17}
.seg-plus{background:var(--encre)!important}
.seg-vide{background:repeating-linear-gradient(135deg,var(--ok-pale) 0 6px,#fff 6px 10px);border:1.5px solid #C9DEC6;flex-grow:.6}
.reperes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;font:400 .7rem/1.3 var(--mono);color:var(--doux)}
.repere{display:grid;gap:1px;min-width:0}
.repere-terme{text-transform:uppercase;letter-spacing:.05em;font-size:.62rem}
.repere-date{color:var(--encre);font-weight:600;font-size:.74rem}
.repere-limite{text-align:center}
.repere-limite .repere-date{color:var(--accent)}
.repere-fin{text-align:right}
.repere-fin .repere-date{color:var(--retard)}

.montants{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--filet);font-size:.94rem}
.montants dt{color:var(--doux)}
.montants dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.montants dd.fort{color:var(--retard)}
.notes{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;font-size:.88rem}
.notes li{padding:9px 12px;border-radius:8px;background:var(--fond)}
.notes li.alerte{background:var(--retard-pale);color:#6E1E0E}
.option-maj{margin-top:14px;padding-top:12px;border-top:1px solid var(--filet);display:grid;gap:10px;font-size:.88rem}
.option-maj .case{font-weight:500}
.avis-maj{padding:9px 12px;border-radius:8px;background:#FFF1D1;color:#5C3D00;font-size:.86rem}
.suite{margin-top:16px;padding-top:14px;border-top:1px solid var(--filet);display:grid;gap:8px;justify-items:start}
.suite .etiq{font-size:.7rem}

/* Le dossier */
.dossier{display:grid;gap:16px}
.bloc{margin:0;border:1px solid var(--filet);border-radius:12px;background:var(--feuille);padding:16px 16px 18px;display:grid;gap:14px;min-width:0}
.bloc legend{display:flex;align-items:center;gap:10px;font:600 1.15rem var(--titre);letter-spacing:-.01em;padding:0 6px;margin-left:-6px}
.num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font:700 .8rem var(--mono)}
.deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.somme{position:relative;display:block}
.somme input{padding-right:34px}
.somme>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--doux);font-weight:600}
.question{font-weight:600;font-size:.95rem;margin-bottom:-6px}
.bascule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choix{position:relative;display:block;font-weight:600}
.choix input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;min-height:0}
.choix span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:6px 10px;border:1.5px solid var(--filet);
  border-radius:10px;background:var(--fond);line-height:1.2}
.choix input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.choix input:focus-visible+span{outline:3px solid var(--accent2);outline-offset:2px}
.case{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-weight:500}
.case input{width:22px;height:22px;min-height:0;margin:2px 0 0;accent-color:var(--accent)}
.sous{font-family:var(--texte);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--doux);margin:4px 0 -6px}
.lignes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lignes:empty{display:none}
.ligne{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:10px;align-items:end;padding:12px;border-radius:10px;background:var(--fond)}
.ligne .quand{grid-column:1 / span 2}
.ligne .combien{grid-column:1 / span 2;grid-row:2}
.ligne .quand~.retirer{grid-column:3;grid-row:2}
.ligne input[type="date"]{min-width:0}
@media (min-width:600px){.ligne .quand{grid-column:1}.ligne .combien{grid-column:2;grid-row:1}.ligne .quand~.retirer{grid-row:1}}
.ligne label{font-size:.85rem}
.ligne-retenue{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
.ligne-retenue .motif{grid-column:1/-1}
.ligne-retenue .retirer{grid-column:3;grid-row:2}
.retirer{width:44px;height:46px;border-radius:8px;border:1.5px solid var(--filet);background:#fff;color:var(--doux);display:grid;place-items:center;cursor:pointer}
.retirer svg{width:18px;height:18px}
.retirer:hover{color:var(--alerte);border-color:var(--alerte)}
.ajout{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px dashed var(--accent);
  background:transparent;color:var(--accent);font:700 .92rem var(--texte);cursor:pointer}
.ajout svg{width:18px;height:18px}
.ajout:hover{background:var(--teinte)}

/* Lettres */
.lettres,.preuves,.ia,.recours,.donnees{display:grid;gap:12px;padding-top:24px;border-top:1px solid var(--filet)}
.lettres-gauche{display:contents}
.lettres-gauche .onglets{order:1}
.lettres .feuille{order:2}
.lettres-gauche .actions{order:3}
.lettres .impression{order:4}
.onglets{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.onglets [role="tab"]{position:relative;min-height:48px;padding:8px 14px;border-radius:10px;border:1.5px solid var(--filet);background:var(--feuille);
  color:var(--encre);font:600 .95rem var(--texte);text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.onglets [aria-selected="true"]{border-color:var(--accent);background:var(--teinte);color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}
.onglets .conseillee::after{content:"conseillée";font:600 .66rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#fff;
  background:var(--accent);border-radius:999px;padding:3px 8px;flex:none}
.feuille{background:var(--feuille);border:1px solid var(--filet);border-radius:4px 14px 14px 14px;padding:14px;
  box-shadow:0 1px 0 var(--filet),0 12px 26px -20px rgba(20,22,43,.5)}
.conseil{font-size:.88rem;color:var(--accent);font-weight:600;margin-bottom:10px}
#lettre-texte{border:0;padding:4px 2px;min-height:460px;font:400 .9rem/1.55 var(--texte);background:transparent;resize:vertical}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bouton svg{width:18px;height:18px}
.statut{font-size:.9rem;color:var(--accent);font-weight:600}

/* Preuves */
.coches{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.coche{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:10px;background:var(--feuille);
  border:1px solid var(--filet);font-weight:400;cursor:pointer}
.coche input{width:22px;height:22px;min-height:0;margin:1px 0 0;accent-color:var(--accent)}
.coche-corps{display:grid;gap:2px}
.coche:has(input:checked){background:var(--teinte);border-color:var(--teinte-forte)}

/* IA */
.form-ia{display:grid;gap:12px}
.form-ia textarea{background:var(--feuille)}
.demo{padding:10px 14px;border-radius:8px;background:#FFF1D1;color:#5C3D00;font-weight:600;font-size:.9rem;border:1px dashed #D99A00}
.demo.vraie{background:var(--teinte);color:var(--accent);border-color:var(--teinte-forte)}
#reponse-ia{display:grid;gap:12px}
#reponse-ia:empty{display:none}
.points-ia{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:pt}
.point-ia{background:var(--feuille);border:1px solid var(--filet);border-radius:12px;padding:14px 16px}
.point-ia h3{font-family:var(--texte);font-weight:700;font-size:1rem;margin-bottom:8px}
.point-ia dl{margin:0;display:grid;gap:6px}
.point-ia dt{font:600 .7rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.point-ia dd{margin:0 0 4px;font-size:.93rem}
.questions{margin:0;padding-left:20px;display:grid;gap:4px}
.limites{font-size:.88rem;color:var(--doux)}

/* Recours */
.etapes{list-style:none;counter-reset:etape;margin:0;padding:0;display:grid}
.etapes>li{counter-increment:etape;display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 14px;padding:14px 0;border-top:1px solid var(--filet)}
.etapes>li:first-child{border-top:0}
.etapes>li::before{content:counter(etape);grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  border:1.5px solid var(--accent);color:var(--accent);font:700 .85rem var(--mono)}
.etapes h3{font-size:1.08rem}
.etapes p{max-width:68ch;font-size:.95rem}
.sources{font-size:.82rem;color:var(--doux)}
.sources a{color:var(--accent)}

/* Données */
.fichier{position:relative;overflow:hidden}
.fichier input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}
.fichier:focus-within{outline:3px solid var(--accent2);outline-offset:2px}
.danger{color:var(--alerte);border-color:var(--alerte)}

label textarea,label select{font-weight:400}
.form-ia textarea{font-size:.95rem}

/* Mobile étroit */
@media (max-width:440px){
  .deux{grid-template-columns:minmax(0,1fr)}
  .ligne{padding:10px;gap:8px}
  .lettres .actions .bouton{flex:1 1 auto}
  .pied{margin-top:36px}
}

/* Bureau : le calcul colle à droite du dossier */
@media (min-width:960px){
  .plan{grid-template-columns:minmax(0,1fr) 380px;column-gap:32px;row-gap:22px;padding-top:30px}
  .intro{grid-column:1;grid-row:1}
  .calcul{grid-column:2;grid-row:1 / span 2;position:sticky;top:16px;align-self:start}
  .dossier{grid-column:1;grid-row:2}
  .lettres,.preuves,.ia,.recours,.donnees{grid-column:1 / -1}
  .lettres{grid-template-columns:280px minmax(0,1fr);column-gap:24px;align-items:start}
  .lettres>h2,.lettres>.aide{grid-column:1 / -1}
  .lettres-gauche{display:grid;gap:22px;grid-column:1;grid-row:3;position:sticky;top:16px}
  .lettres .feuille{grid-column:2;grid-row:3}
  .lettres-gauche .actions{flex-direction:column;align-items:stretch}
  .preuves .coches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .points-ia{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Impression : la lettre seule */
@media print{
  body.impression-lettre main>*:not(.lettres){display:none!important}
  body.impression-lettre .lettres>*:not(.impression){display:none!important}
  body.impression-lettre .lettres{border:0;padding:0;display:block}
  body.impression-lettre .impression{display:block;white-space:pre-wrap;font:400 11pt/1.5 var(--texte);margin:0}
}
