/* Elevora CRM — espace-prospect.css
   L'espace d'un prospect (24/09/2026, js/54-espace-prospect.js). Il emprunte sa structure à la
   fiche client (css/fiche-client.css : en-tête .fiche-tete, chiffres clés, sections titrées) et
   n'ajoute ici que ce qui lui est propre : ses onglets (classes distinctes de ceux de la fiche
   client, que swPTab() parcourt), le formulaire de la fiche, les pastilles du besoin et la liste
   des documents avec leurs états. Aucune couleur nouvelle : uniquement les jetons de
   css/elevora.css, lisibles dans les deux thèmes. Chargé après fiche-client.css. */

.ep .ep-puce-neutre{background:var(--bg3);color:var(--text2)}
.ep select.ep-etape{width:auto;max-width:100%;padding:5px 8px;font-size:13px;min-height:32px}

/* ── Onglets : le même dessin que ceux de la fiche client ─────────────────────────────── */
/* Padding égal en haut et en bas (28/09/2026) : le mot au milieu de l'onglet, comme partout. */
.ep .fiche-onglets button.ep-onglet{position:relative;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;min-height:52px;
  border:0;border-radius:0;background:none;color:var(--text2);font:500 16px var(--font);cursor:pointer;white-space:nowrap;transition:color .15s}
.ep .fiche-onglets button.ep-onglet::after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:4px;border-radius:4px 4px 0 0;background:transparent;transition:background-color .18s}
.ep .fiche-onglets button.ep-onglet:hover{color:var(--text)}
.ep .fiche-onglets button.ep-onglet:hover::after{background:var(--border2)}
.ep .fiche-onglets button.ep-onglet.active{color:var(--accent);font-weight:700}
.ep .fiche-onglets button.ep-onglet.active::after{background:var(--accent)}
.ep .fiche-onglets button.ep-onglet:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:var(--rs)}
.ep .ep-onglet .ptab-n{min-width:24px;padding:0 7px;border-radius:11px;font:700 13px/22px var(--font);text-align:center;background:var(--bg3);color:var(--text)}
.ep .ep-onglet.active .ptab-n{color:var(--on-fill);background:var(--accent-fill)}
/* L'intitulé garde la largeur de sa version grasse (comme la fiche client) : ouvrir un onglet ne
   décale plus ses voisins. */
.ep-onglet-l{display:inline-flex;flex-direction:column;align-items:center}
.ep-onglet-l::after{content:attr(data-l) / "";height:0;overflow:hidden;visibility:hidden;font-weight:700}
.ep-panneau:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--rs)}
@keyframes epApparait{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ep-panneau:not([hidden]){animation:epApparait .22s cubic-bezier(.25,1,.5,1)}
@media (prefers-reduced-motion:reduce){.ep-panneau:not([hidden]){animation:none}.ep .fiche-onglets button.ep-onglet,.ep .fiche-onglets button.ep-onglet::after{transition:none}}

/* ── La fiche et son besoin ───────────────────────────────────────────────────────────── */
.ep-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.ep-grille .ep-large{grid-column:1 / -1}
.ep-prestations{border:0;margin:0 0 14px;padding:0;min-width:0}
.ep-legende{font:600 14px var(--font);color:var(--text2);margin-bottom:10px;padding:0}
.ep-pastilles{display:flex;flex-wrap:wrap;gap:8px}
.ep-pastille{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:7px 14px;border-radius:20px;border:1px solid var(--border-input);
  background:transparent;color:var(--text2);font:500 14px var(--font);cursor:pointer}
.ep-pastille:hover{color:var(--text);border-color:var(--accent)}
.ep-pastille:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ep-pastille-case{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-input);display:inline-flex;align-items:center;justify-content:center;color:transparent;flex-shrink:0}
.ep-pastille[aria-pressed="true"]{border-color:var(--accent);background:var(--glow);color:var(--text);font-weight:600}
.ep-pastille[aria-pressed="true"] .ep-pastille-case{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}
.ep-echeancier{margin:14px 0}
.ep-sous-t{font-size:14px;font-weight:600;color:var(--text2);margin:0 0 8px}
.ep-versements{list-style:none;margin:0;padding:0}
.ep-versements li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 14px;padding:9px 0;border-top:1px solid var(--border);font-size:14.5px;color:var(--text)}
.ep-versements li:last-child{border-bottom:1px solid var(--border)}
.ep-err{color:var(--red);font-size:14px;margin:12px 0 0}
.ep-err:empty{display:none}
.ep-form-pied{display:flex;justify-content:flex-end;margin-top:var(--s4)}

/* ── Proposition et devis : générer, lister ───────────────────────────────────────────── */
.ep-liste-zone{margin-bottom:var(--s5)}
.ep-generer{max-width:680px}
.ep-generer .fta{width:100%;margin:4px 0 8px}
.ep-generer .btn-p{margin-top:6px}
.ep-avis{font-size:14px;color:var(--text);background:var(--amber-bg);border-radius:var(--r);padding:10px 14px;margin:0 0 12px}
.ep-msg{font-size:14px;color:var(--text2);margin:0 0 10px}
.ep-msg:empty{display:none}
.ep-msg-err{color:var(--red)}
.ep-panneau-tete{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-bottom:var(--s4)}
.ep-panneau-tete .fiche-vide{flex:1 1 320px;max-width:680px}
.ep-liste{list-style:none;margin:0;padding:0}
.ep-doc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;border-top:1px solid var(--border)}
.ep-doc:last-child{border-bottom:1px solid var(--border)}
.ep-doc-id{display:flex;flex-direction:column;min-width:0;flex:1 1 200px}
.ep-doc-nom{font-size:14px;font-weight:600;color:var(--text);overflow-wrap:anywhere}
.ep-doc-meta{font-size:12px;color:var(--text3)}
.ep-etats{display:flex;flex-wrap:wrap;gap:6px;flex:2 1 260px}
.ep-etat{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:10px;background:var(--bg3);color:var(--text2)}
.ep-etat-brouillon{background:var(--bg3);color:var(--text2)}
.ep-etat-envoye,.ep-etat-ouvert{background:var(--glow);color:var(--accent)}
.ep-etat-ok{background:var(--green-bg);color:var(--green)}
.ep-etat-alerte{background:var(--amber-bg);color:var(--amber)}
.ep-doc-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}

/* La carte « Gagné » d'un prospect qui a signé sans fiche client encore (js/39). */
.pr-puce-signe{background:var(--green-bg);color:var(--green);font-weight:600}
.pr-suite-signe{margin-bottom:4px}

/* ── Écrans étroits : tout s'empile, rien ne déborde à 320 px ─────────────────────────── */
@media (max-width:640px){
  .ep-grille{grid-template-columns:minmax(0,1fr)}
  .ep-doc-actions{margin-left:0}
  .ep .fiche-onglets button.ep-onglet{padding:9px;font-size:13.5px}
}

/* [LD] 03/10/2026 (modification 13) : fiche reprise par Elevora, en lecture seule pour l'agent ;
   le bouton d'un administrateur pour la déverrouiller suit le texte. Pas de bordure latérale. */
.ep-verrou{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0 0;padding:9px 12px;border-radius:var(--r);background:var(--blue-bg);color:var(--text);font-size:13.5px;line-height:1.45}
.ep-verrou .btn{min-height:var(--cmd-h)}
/* ── [LC] 03/10/2026 : le bloc Besoin qui s'enregistre seul, l'analyse des échanges (js/54b-besoin.js) ──
   Rien d'animé, aucune couleur nouvelle : les jetons existants, lisibles dans les deux thèmes. Chaque
   information de couleur est doublée d'un texte (« Enregistré à… », « modifié manuellement »…). */
.bs-tete{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}
.bs-sauve{font-size:12.5px;color:var(--text2);margin:0}
.bs-sauve:empty{display:none}
.bs-auto{font-size:12.5px;color:var(--text2);margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.bs-champ-tete{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px}
.bs-marque{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.bs-marque:empty{display:none}
.ep-prestations>.bs-marque{margin:0 0 8px}
.bs-manuel,.bs-auto-champ{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:10px;background:var(--bg3);color:var(--text2)}
.bs-auto-champ{background:var(--glow);color:var(--accent)}
.bs-rendre{font-size:12px}
#ep-besoin-err .fiche-lien{margin-left:4px}
.bs-analyse{font-size:13px;color:var(--text2);margin:10px 0 0}
.bs-analyse:empty{display:none}
.bs-analyse-echec{color:var(--red)}
.bs-avis-ok{font-size:13px;color:var(--green);margin:0 0 12px}
.bs-avis-info{font-size:12.5px;color:var(--text2);margin:-6px 0 12px}
.bs-maj{font-size:11px;font-weight:600;padding:1px 7px;border-radius:9px;background:var(--glow);color:var(--accent)}
.ep-generer .btn-p[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.bs-source{font-size:12px;color:var(--text2);margin:0 0 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.bs-source-change b{color:var(--amber);font-weight:600}

/* ══ [LB] 03/10/2026 : chantier v10, lot B — la fiche prospect refaite (bug 5, améliorations 8 et 8 bis) ══
   Retour de Célian (liste du 02/10) : « trop brouillonne », « beaucoup trop de boutons », « texte trop
   petit » ; le profil client est plus clair. Même mise en page que la fiche client (V3) : un en-tête en
   carte (identité, trois boutons au plus, barre des étapes, quatre cartes), des onglets lisibles et
   collés en haut au défilement, puis dans chaque onglet un bandeau (titre, une phrase, l'action) et des
   cartes titrées. Texte de 15-16 px, libellés de 14 px en --text2 (gris foncé, 7:1 et plus dans les deux
   thèmes), titres de cartes de 18 px, champs de 46 px, boutons de 40 px au moins. Jetons uniquement ;
   la couleur d'un statut est toujours doublée de son texte ; rien ne bouge de plus qu'avant. */
.ep{--t:var(--accent);--t-bg:var(--glow);--t-fill:var(--accent-fill);--t-on:var(--on-fill);--cmd-h:44px;font-size:15px}
.ep [data-teinte="proposition"]{--t:var(--red);--t-bg:var(--red-bg);--t-fill:var(--red-fill);--t-on:var(--on-fill)}
.ep [data-teinte="devis"]{--t:var(--blue);--t-bg:var(--blue-bg);--t-fill:var(--accent-fill);--t-on:var(--on-fill)}
/* Le retour : un vrai bouton, qui dit où il mène (js/54, _epRetourLibelle). */
#sec-prospect>.back-btn.ep-retour{min-height:40px;padding:6px 14px 6px 10px;margin-bottom:var(--s4);border:1px solid var(--border2);border-radius:var(--r);
  background:var(--bg2);color:var(--text2);font:600 15px var(--font)}
#sec-prospect>.back-btn.ep-retour:hover{color:var(--text);border-color:var(--border-input)}

/* ── L'en-tête ── */
.ep .ep-tete{display:block;margin:0;padding:0;background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl)}
.ep-tete-haut{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s4) var(--s5);padding:var(--s5)}
.ep .ep-tete .fiche-id{flex:1 1 320px}
.ep .profile-av.ep-av{width:56px;height:56px;border-radius:14px;font-size:19px;overflow:hidden;flex-shrink:0}
.ep .ep-av img{width:100%;height:100%;object-fit:cover;display:block}
.ep .ep-tete .profile-name{font-size:26px;line-height:1.2;letter-spacing:-.4px}
.ep .ep-tete .fiche-contact{font-size:15px;gap:4px 18px}
.ep .ep-tete .fiche-contact .ep-entreprise{color:var(--text);font-weight:600}
.ep .ep-tete .fiche-tel{font-size:14.5px}
.ep .ep-tete .fiche-puce{font-size:13px;padding:3px 10px;border-radius:12px}
.ep-commandes{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.ep .ep-cta,.ep .ep-cta-2,.ep .ep-menu-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r);font:600 15px var(--font);white-space:nowrap}
.ep .ep-cta{font-weight:700;padding:0 20px}
.ep .ep-cta svg,.ep .ep-cta-2 svg,.ep .ep-menu-btn svg{flex-shrink:0}
.ep .ep-cta-2,.ep .ep-menu-btn{background:var(--bg2);border:1px solid var(--border2);color:var(--text)}
.ep .ep-cta-2:hover,.ep .ep-menu-btn:hover{background:var(--bg3);color:var(--text)}
.ep .ep-menu-btn[aria-expanded="true"]{background:var(--bg3);border-color:var(--border-input)}
/* Les menus « Actions » et « Plus » : le dessin du menu « Plus » de la fiche client, classes propres. */
.ep-menu{position:relative}
.ep-menu-liste{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:260px;padding:6px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:12px;box-shadow:0 14px 36px -10px rgba(0,0,0,.5)}
.ep-menu-liste[hidden]{display:none}
.ep-menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:none;
  color:var(--text);font:500 15px var(--font);text-align:left;cursor:pointer}
.ep-menu-item svg{color:var(--text2);flex-shrink:0}
.ep-menu-item:hover,.ep-menu-item:focus-visible{background:var(--bg3)}
.ep-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ep-menu-danger,.ep-menu-danger svg{color:var(--red)}
.ep-menu-danger:hover,.ep-menu-danger:focus-visible{background:var(--red-bg)}
.ep-menu-sep{height:1px;background:var(--border);margin:4px 6px}
.ep .ep-menu-liste .rdv-fiche-liste{display:none!important}
/* La barre des étapes : la position du prospect d'un coup d'œil (aria-current, aplat, gras). */
.ep-etapes{padding:0 var(--s5) var(--s5)}
.ep-etapes-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.ep-etapes .ep-etape{min-width:0}
.ep-etape-b{display:flex;align-items:center;gap:7px;width:100%;height:100%;min-height:52px;padding:8px;border:1px solid var(--border2);border-radius:var(--r);
  background:var(--bg);color:var(--text2);font:500 14px/1.25 var(--font);text-align:left}
button.ep-etape-b{cursor:pointer}
button.ep-etape-b:hover{border-color:var(--accent);color:var(--text)}
.ep-etape-n{flex:0 0 24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-input);font:700 13px var(--font);color:var(--text2)}
.ep-etape-l{min-width:0;overflow-wrap:break-word}
.ep-etape-fait .ep-etape-b{background:var(--glow);border-color:transparent;color:var(--text)}
.ep-etape-fait .ep-etape-n{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-fill)}
.ep-etape-courant .ep-etape-b{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-fill);font-weight:700}
.ep-etape-courant .ep-etape-n{border-color:var(--on-fill);color:var(--on-fill)}
.ep-etape-perdu.ep-etape-courant .ep-etape-b{background:var(--red-fill);border-color:var(--red-fill)}
.ep-etape-perdu:not(.ep-etape-courant) .ep-etape-b{border-style:dashed}
/* Les quatre cartes : besoin, dernier envoi, prochaine étape, prochain rendez-vous. */
.ep .ep-cles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0;padding:var(--s4) var(--s5) var(--s5);border-top:1px solid var(--border)}
.ep-cle{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r)}
.ep-cle[hidden]{display:none}
.ep-cle dt{font:600 14px var(--font);color:var(--text2)}
.ep-cle dd{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;font-size:14.5px;color:var(--text2)}
.ep-cle-v{font:700 19px/1.25 var(--font);color:var(--text);overflow-wrap:anywhere}
.ep-cle-v.ep-cle-texte{font-size:16px}
.ep-cle-sous{font-size:14px;color:var(--text2);overflow-wrap:anywhere}
.ep-cle-note{font-size:14.5px;color:var(--text2)}
.ep .ep-cle .ep-cle-lien{font-size:14.5px;min-height:32px}
.ep .ep-tete .ep-verrou{margin:0 var(--s5) var(--s5)}

/* ── Les onglets : collés en haut de l'écran pendant le défilement ── */
.ep .ep-nav{position:sticky;top:64px;z-index:30;margin:0;background:var(--bg);border-bottom:1px solid var(--border2)}
@media (max-width:900px){.ep .ep-nav{top:0}}

/* ── Les panneaux : un bandeau, puis des cartes titrées ── */
.ep .ep-panneau:not([hidden]){display:flex;flex-direction:column;gap:var(--s5)}
.ep-bandeau{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s3) var(--s5);padding:var(--s4) var(--s5);
  background:var(--t-bg);border:1px solid color-mix(in srgb,var(--t) 30%,transparent);border-radius:var(--rl)}
.ep-bandeau-txt{min-width:0;flex:1 1 320px}
.ep-bandeau-t{margin:0 0 4px;font:700 20px/1.25 var(--font);letter-spacing:-.3px;color:var(--text)}
.ep-bandeau-txt>.ep-bandeau-t:last-child{margin:0}
.ep-bandeau-note{margin:0;font-size:15px;line-height:1.55;color:var(--text2);max-width:92ch}
.ep-bandeau-actions{display:flex;flex-wrap:wrap;gap:10px}
.ep [data-teinte] .btn-p.ep-cta{background:var(--t-fill);color:var(--t-on);border-color:transparent}
.ep [data-teinte] .btn-p.ep-cta:hover{filter:brightness(.92)}
.ep-carte{min-width:0;padding:var(--s5);background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl)}
.ep .ep-carte .fiche-section-t,.ep .ep-carte-t{margin:0 0 var(--s4);font:700 18px/1.3 var(--font);letter-spacing:-.1px;text-transform:none;color:var(--text)}
.ep .bs-tete .fiche-section-t{margin:0}
.ep .bs-tete{margin-bottom:var(--s3)}
/* La fiche : deux colonnes au large (coordonnées à gauche, besoin et présentation à droite). */
.ep-fiche-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5)}
@media (min-width:1180px){.ep-fiche-grille{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ep-col{display:flex;flex-direction:column;gap:var(--s5);min-width:0}
.ep .ep-grille{gap:18px}
.ep .ag-champ{gap:6px}
.ep :is(.ag-champ>label,.bs-champ-tete>label,.ep-lib,.tva-groupe>label,.tel-groupe>label){font:600 14px var(--font);color:var(--text2)}
.ep :is(input.fi,select.fsel):not(.tva-saisie>.fi){min-height:46px;font-size:15px}
.ep .tva-saisie>.fi{min-height:46px}
.ep .fta{font-size:15px;line-height:1.55}
.ep :is(.ag-aide-champ,.saisie-aide,.ep-aide,.fiche-vide,.bs-auto){font-size:14px;line-height:1.5;color:var(--text2)}
.ep .saisie-msg{font-size:13.5px}
.ep .btn{min-height:40px}
.ep .btn-sm{min-height:40px;font-size:13.5px}
.ep-lib{display:block;margin:0 0 6px}
/* La barre d'enregistrement : collée en bas de l'écran tant que la fiche est visible. */
.ep-barre-enr{position:sticky;bottom:12px;z-index:25;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;
  margin-top:var(--s5);padding:12px 14px 12px 20px;background:var(--bg2);border:1px solid var(--border-input);border-radius:var(--rl);box-shadow:0 12px 30px -12px rgba(0,0,0,.45)}
.ep-barre-enr[hidden]{display:none}
.ep-barre-txt{margin:0;font:600 15px var(--font);color:var(--text)}
.ep-barre-btns .btn{min-width:120px;font-size:14.5px}

/* ── Proposition : quatre étapes numérotées, et les propositions enregistrées ── */
.ep-prop-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);align-items:start}
@media (min-width:1200px){.ep-prop-grille{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.ep .ep-generer{max-width:none}
.ep-pas-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s4)}
.ep-pas-t{display:flex;align-items:center;gap:12px;margin:0 0 var(--s3);font:700 18px/1.3 var(--font);color:var(--text)}
.ep-pas-n{flex:0 0 32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--t-bg);color:var(--t);border:1.5px solid var(--t);font:700 15px var(--font)}
.ep-facultatif{font-weight:500;font-size:15px;color:var(--text2)}
.ep-pas .fta{width:100%}
.ep-pas .ep-aide{margin:0 0 12px}
.ep .ep-pas .ep-cta{min-height:48px;padding:0 24px;font-size:15.5px}
.ep #ep-besoin-avis .ep-avis{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0;padding:14px 16px;font-size:15px;line-height:1.5;color:var(--text);
  background:var(--amber-bg);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);border-radius:var(--r)}
.ep #ep-besoin-avis .ep-avis .fiche-lien{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--amber);border-radius:var(--r);
  background:var(--bg2);color:var(--text);text-decoration:none;font:700 14.5px var(--font)}
.ep #ep-besoin-avis .bs-avis-ok{margin:0;padding:12px 16px;font-size:15px;font-weight:600;background:var(--green-bg);border-radius:var(--r)}
.ep #ep-besoin-avis .bs-avis-attente{background:var(--bg3)}
.ep #ep-besoin-avis .bs-avis-info{margin:10px 0 0;font-size:14px}

/* ── Documents (propositions, devis) en cartes ── */
.ep .ep-liste{display:flex;flex-direction:column;gap:12px}
.ep .ep-doc,.ep .ep-doc:last-child{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,2fr) auto;align-items:center;gap:10px 18px;
  padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r)}
.ep .ep-doc-id{flex:none}
.ep .ep-doc-nom{font-size:16px;font-weight:700}
.ep .ep-doc-meta{font-size:14px;color:var(--text2)}
.ep-doc-montant{font:700 16px var(--font);color:var(--text);white-space:nowrap}
.ep .ep-etats{flex:none;gap:6px}
.ep .ep-etat{font-size:13px;padding:3px 10px;border-radius:12px}
.ep .ep-doc-actions{margin:0;justify-content:flex-end}
.ep .ep-doc-actions>.btn{font-size:14px;font-weight:600;padding:0 16px}
.ep .ep-doc-actions>.btn:not(.btn-p){color:var(--text)}
.ep-prop-grille .ep-doc,.ep-prop-grille .ep-doc:last-child{grid-template-columns:minmax(0,1fr) auto}
.ep-prop-grille .ep-etats,.ep-prop-grille .ep-doc-actions{grid-column:1 / -1;justify-content:flex-start}
@media (max-width:900px){
  .ep .ep-doc,.ep .ep-doc:last-child{grid-template-columns:minmax(0,1fr) auto}
  .ep .ep-etats,.ep .ep-doc-actions{grid-column:1 / -1;justify-content:flex-start}
}
.ep-vide{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--s6) var(--s5);text-align:center;background:var(--bg2);border:1px dashed var(--border2);border-radius:var(--rl)}
.ep-vide-t{margin:0;font:700 17px var(--font);color:var(--text)}
.ep-vide-txt{margin:0 0 8px;max-width:58ch;font-size:15px;line-height:1.55;color:var(--text2)}
.ep .ep-liste-zone{margin:0}

/* ── Devis : la frise des statuts ── */
.ep-frise{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ep-frise-i{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center;padding:12px 14px;background:var(--bg);border:1px solid var(--border2);border-radius:var(--r)}
.ep-frise-n{grid-row:1 / span 2;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--t-bg);color:var(--t);border:1.5px solid var(--t);font:700 14px var(--font)}
.ep-frise-t{font:700 15.5px var(--font);color:var(--text)}
.ep-frise-d{font-size:14px;color:var(--text2)}
.ep-frise-i:last-child{background:var(--green-bg);border-color:color-mix(in srgb,var(--green) 50%,transparent)}
.ep-frise-i:last-child .ep-frise-n{background:var(--green-fill);border-color:var(--green-fill);color:var(--on-fill)}
.ep .ep-frise-note{margin:12px 0 0}

/* ── Échanges (liste de js/40) : le même bandeau, la liste dans une carte, date, type et auteur lisibles ── */
.ep #ep-echanges-area .ech-tete{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s3) var(--s5);margin:0 0 var(--s5);
  padding:var(--s4) var(--s5);background:var(--t-bg);border:1px solid color-mix(in srgb,var(--t) 30%,transparent);border-radius:var(--rl)}
.ep #ep-echanges-area .ech-tete>div:first-child{min-width:0;flex:1 1 320px}
.ep #ep-echanges-area .ech-h{margin:0 0 4px;font:700 20px/1.25 var(--font);letter-spacing:-.3px}
.ep #ep-echanges-area .ech-tete .pr-note{margin:0;font-size:15px;line-height:1.55;color:var(--text2);max-width:92ch}
.ep #ep-echanges-area .ech-tete .btn-p{min-height:48px;padding:0 24px;font-size:15.5px;font-weight:700}
.ep #ep-echanges-area .ech-liste{padding:0 var(--s5);background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl)}
.ep #ep-echanges-area .ech-item:first-child{border-top:0}
.ep #ep-echanges-area .ech-item:last-child{border-bottom:0}
.ep #ep-echanges-area .ech-meta{margin-bottom:6px;font-size:14.5px;color:var(--text2)}
.ep #ep-echanges-area .ech-meta b{font-size:15.5px;color:var(--text)}
.ep #ep-echanges-area .ech-texte{font-size:15px;line-height:1.6}
.ep #ep-echanges-area .ech-vide{padding:var(--s5);font-size:15px;color:var(--text2);background:var(--bg2)}

/* ── Les listes de prospects : toute la ligne s'ouvre (bug 5) ── */
tr.ligne-ouvrable{cursor:pointer}
tr.ligne-ouvrable:hover>:is(td,th),tr.ligne-ouvrable:focus-within>:is(td,th){background:var(--bg3)}

/* ── Tablette et téléphone ── */
@media (max-width:1280px){.ep-etapes-liste{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){
  .ep-tete-haut{padding:var(--s4)}
  .ep-etapes{padding:0 var(--s4) var(--s4)}
  .ep .ep-cles{padding:var(--s4)}
  .ep .ep-tete .ep-verrou{margin:0 var(--s4) var(--s4)}
  .ep-carte{padding:var(--s4)}
  .ep-bandeau{padding:var(--s4)}
  .ep-frise{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .ep .ep-tete .profile-name{font-size:22px}
  .ep-commandes{width:100%;justify-content:stretch}
  .ep-commandes>*{flex:1 1 auto}
  .ep-commandes .ep-menu-btn,.ep-commandes .ep-cta{width:100%}
  #ep-actions-menu{right:auto;left:0}
  .ep-menu-liste{min-width:min(260px,calc(100vw - 32px))}
  .ep-etapes-liste{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ep .fiche-onglets button.ep-onglet{padding:10px 12px;font-size:15px}
  .ep-frise{grid-template-columns:minmax(0,1fr)}
  .ep-barre-enr{bottom:8px;padding:12px}
  .ep-barre-btns{width:100%}
  .ep-barre-btns .btn{flex:1 1 0;min-width:0}
}

/* [AC] 03/10/2026 : chantier v11 — fiche prospect devenue cliente : identité (Coordonnées, Entreprise) et
   besoin en lecture seule. Les champs restent lisibles, sélectionnables et atteignables au clavier
   (readonly) ; le cadre passe en pointillés, le texte garde sa couleur (contraste inchangé). Statique. */
.ep .ep-lecture-seule .fi[readonly],.ep .ep-lecture-seule .fta[readonly],.ep .ep-lecture-seule .fsel:disabled{background:transparent;border-style:dashed;color:var(--text);opacity:1;cursor:default}
.ep .ep-lecture-seule .ep-pastille:disabled{cursor:default;opacity:1}
.ep .ep-lecture-seule .ep-pastille:disabled:not([aria-pressed="true"]):hover{border-color:var(--border-input)}
.ep .ep-lecture-note{margin:0 0 var(--s4)}
.ep .ep-lecture-seule .fi[readonly]::placeholder,.ep .ep-lecture-seule .fta[readonly]::placeholder{color:transparent}
