/* Complements CRM par-dessus la charte Demarches. */
.crm-barre{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.crm-barre input[type=search]{flex:1;min-width:320px;height:44px;font-size:1rem;padding:0 14px}
.crm-pastilles{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.crm-pastille{font-size:.8125rem;padding:5px 12px;border-radius:var(--rayon);
  background:var(--gris-100);color:var(--texte-secondaire);border:1px solid transparent}
.crm-pastille.actif{background:var(--couleur-primaire-clair);color:var(--couleur-primaire);
  border-color:var(--couleur-primaire-clair)}
.crm-sous{display:block;font-size:.75rem;color:var(--gris-400);margin-top:2px}
.crm-droite{text-align:right}
table th[data-tri]{cursor:pointer;user-select:none;white-space:nowrap}
table th[data-tri] .fleche{opacity:.35;font-size:.75rem;margin-left:3px}
table th[data-tri].tri-asc .fleche,table th[data-tri].tri-desc .fleche{opacity:1}
tr.crm-impaye td{background:var(--badge-refuse-bg)}
.crm-cols{position:relative}
.crm-cols-menu{position:absolute;right:0;top:110%;z-index:30;background:var(--blanc);
  border:1px solid var(--gris-200);border-radius:var(--rayon);padding:10px 14px;min-width:200px}
.crm-cols-menu label{display:block;font-size:.875rem;padding:3px 0;white-space:nowrap;cursor:pointer}
.crm-modale{position:fixed;inset:0;background:rgba(22,25,31,.55);z-index:9000;
  display:flex;align-items:center;justify-content:center;padding:32px 16px}
.crm-modale[hidden]{display:none}
.crm-modale__boite{background:var(--blanc);border-radius:var(--rayon-xl);width:100%;
  max-width:960px;padding:26px 28px;position:relative;z-index:9001;
  max-height:calc(100vh - 64px);overflow-y:auto;
  box-shadow:0 24px 64px -16px rgba(22,25,31,.35)}
.crm-modale__fermer{position:sticky;float:right;top:0}
body.crm-fige{overflow:hidden}
.crm-modale__fermer{position:absolute;top:12px;right:14px;border:0;background:none;
  font-size:1.4rem;line-height:1;cursor:pointer;color:var(--texte-secondaire)}
.crm-ligne{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.9375rem;padding:12px 0;
  border-top:1px solid var(--gris-200);border-bottom:1px solid var(--gris-200);margin:12px 0}
.crm-defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 22px;margin:14px 0}
.crm-defs div{font-size:.9375rem}
.crm-defs span{display:block;font-size:.75rem;color:var(--texte-secondaire);margin-bottom:1px}
.crm-fil{border-left:2px solid var(--gris-200);padding-left:16px}
.crm-fil>div{margin-bottom:13px}
.crm-fil p{margin:0}
.crm-pied{display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:14px;font-size:.875rem;color:var(--texte-secondaire);flex-wrap:wrap}

/* Selection et actions groupees */
.crm-selection{width:36px}
.crm-actions{display:none;align-items:center;gap:8px;flex-wrap:wrap;
  background:var(--couleur-primaire-clair);border-radius:var(--rayon);padding:10px 12px;margin:0 0 12px}
.crm-actions.visible{display:flex}
.crm-actions__compte{font-size:.875rem;color:var(--couleur-primaire);margin-right:4px}
/* Barre laterale : un seul trait */
.sidebar__pied{border-top:1px solid var(--gris-200);padding-top:10px;margin-top:6px}
/* Formulaires d'edition */
.crm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 18px;margin:14px 0}
.crm-form label{display:block;font-size:.75rem;color:var(--texte-secondaire);margin-bottom:3px}
.crm-form input,.crm-form select{width:100%}
.crm-form__large{grid-column:1/-1}
.crm-msg{padding:10px 14px;border-radius:var(--rayon);margin:0 0 14px;font-size:.9375rem}
.crm-msg--ok{background:var(--badge-valide-bg);color:var(--badge-valide-texte)}
.crm-msg--ko{background:var(--badge-refuse-bg);color:var(--badge-refuse-texte)}

/* Toute la ligne ouvre la fiche ; les liens gardent leur geste. */
table[data-liste] tbody tr[data-id]{cursor:pointer}
table[data-liste] tbody tr[data-id]:hover{background:var(--gris-100)}
table[data-liste] tbody a[href^="mailto:"],
table[data-liste] tbody a[href^="tel:"],
table[data-liste] tbody a[target="_blank"]{cursor:pointer;text-decoration:underline;
  text-decoration-color:var(--gris-200);text-underline-offset:2px}

/* ── POURQUOI RIEN NE SE COLLAIT ─────────────────────────────────────────
   La charte pose « overflow-y: auto » sur .contenu. Un conteneur qui declare
   un debordement devient une zone de defilement : tout position:sticky a
   l'interieur se cale sur CETTE zone, qui ne defile jamais puisque sa hauteur
   suit son contenu. Resultat, l'element ne bouge pas et parait ignore.
   Demarches fait deja cette exception pour sa page bibliotheque. On la reprend. */
body.body--crm .contenu{overflow:visible}

/* ── CE QUI RESTE VISIBLE AU DEFILEMENT ──────────────────────────────────
   Un SEUL bloc collant : filtre, pastilles et actions groupees ensemble.
   Deux blocs colles a des hauteurs devinees se chevauchent des que l'un
   d'eux change de taille.
   L'entete du tableau se cale sous ce bloc, a une hauteur MESUREE par le
   script et posee dans --crm-h : une valeur ecrite en dur devient fausse
   des qu'une pastille passe a la ligne. */
/* La charte espace les blocs de .page de 20px : ce vide laissait voir les
   lignes glisser entre la barre collee et l'entete. On annule l'espacement
   pour cet ecran et on gere les marges soi-meme. */
body.body--crm .page{gap:0}
.crm-colle{position:sticky;top:-12px;z-index:40;background:var(--gris-100);
  padding:14px 2px 12px;border-bottom:1px solid transparent}
.crm-colle.est-collee{border-bottom-color:var(--gris-200)}
.crm-colle .crm-barre{margin-bottom:8px}
.crm-colle .crm-pastilles{margin-bottom:8px}
.crm-colle .crm-actions{margin-bottom:8px}
.crm-colle>*:last-child{margin-bottom:0}
.crm-parpage{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--texte-secondaire)}
.crm-parpage select{width:auto;min-width:92px}

/* L'ENTETE DU TABLEAU NE SE COLLE PLUS (arbitrage de Philippe, 31/08).
   Deux elements colles a des hauteurs differentes laissaient toujours une
   fente ou les lignes defilaient a travers. Il n'en a pas l'usage, on retire
   le second : une seule barre collee, aucune fente possible. */
.crm-liste-wrapper{overflow-x:auto}

/* Pagination */
.crm-pagi{display:flex;align-items:center;gap:6px}
.crm-pagi button{min-width:38px}
.crm-pagi .crm-pagi__pos{font-size:.875rem;color:var(--texte-secondaire);padding:0 4px}

/* Note rapide sur la fiche */
.crm-note{margin:14px 0 18px}
.crm-note textarea{width:100%;min-height:74px;padding:10px 12px;font:inherit;
  border:1px solid var(--gris-200);border-radius:var(--rayon);background:var(--blanc);resize:vertical}
.crm-note textarea:focus{outline:none;border-color:var(--couleur-primaire)}
.crm-note__pied{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}

/* Edition d'une note dans le fil */
.crm-lienbtn{border:0;background:none;padding:0;font:inherit;font-size:.75rem;
  color:var(--couleur-primaire);cursor:pointer;text-decoration:underline}
.crm-note--edition{margin:8px 0 4px}
.crm-note--edition textarea{min-height:64px}
