/**
 * HPM — L'espace de travail d'un projet, trois colonnes.
 *
 * ⚠️ AUCUNE MEDIA QUERY POUR LA STRUCTURE. Une media query répond à la
 * largeur de la FENÊTRE, jamais à celle du conteneur. Sur un site dont
 * le thème enferme le contenu dans une colonne étroite au milieu d'un
 * écran large, elle ne se déclenche jamais et la mise en page déborde.
 * La structure repose donc sur flex-wrap, qui réagit au conteneur.
 * Les media queries ne servent ici qu'aux espacements.
 */

.hpm-ep{
  --ep-bleu:var(--hpm-t-0068e8,#0068E8); --ep-violet:var(--hpm-t-8224e3,#8224E3); --ep-turquoise:#0FA69F;
  --ep-trait:#e4e8ee; --ep-encre:#1d2430; --ep-doux:#6b7280;
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:22px;
  max-width:100%; font-size:calc(15px * var(--hpm-fs,1)); line-height:1.6; color:var(--ep-encre);
}
.hpm-ep *{box-sizing:border-box}

/* ── Colonne 1 : la navigation ─────────────────────────────────────── */
.hpm-ep-nav{flex:1 1 210px; max-width:260px; min-width:0;
  background:#fff; border:1px solid var(--ep-trait); border-radius:10px; padding:14px}

.hpm-ep-lien{display:flex; align-items:center; justify-content:space-between; gap:8px;
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:10px 12px; border-radius:7px; font-size:calc(14px * var(--hpm-fs,1)); font-weight:600;
  color:var(--ep-encre); font-family:inherit; line-height:1.4}
.hpm-ep-lien:hover{background:#f3f5f8}
.hpm-ep-lien.est-actif{background:linear-gradient(135deg,var(--ep-bleu),var(--ep-violet)); color:#fff}
.hpm-ep-lien.est-actif .hpm-ep-bulle{background:rgba(255,255,255,.25); color:#fff}
.hpm-ep-lien.est-sous{font-size:calc(13px * var(--hpm-fs,1)); font-weight:500; padding:7px 12px 7px 26px; color:var(--ep-doux)}
.hpm-ep-lien.est-sous.est-actif{color:#fff}

.hpm-ep-bulle{background:#eef1f5; color:#6b7280; border-radius:999px;
  padding:1px 8px; font-size:max(calc(11.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; flex:0 0 auto}

/* ── Colonne 2 : le contenu ────────────────────────────────────────── */

.hpm-ep-contenu{background:#fff; border:1px solid var(--ep-trait); border-radius:10px; padding:26px}

/* La ligne du haut : puces à gauche, parcours au milieu, date à droite.
   Trois zones qui se replient proprement quand la colonne rétrécit. */
.hpm-ep-etat{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:24px}
.hpm-ep-etat-g{display:flex; flex-wrap:wrap; gap:8px; flex:0 1 auto}
.hpm-ep-etat .hpm-ep-parcours{flex:1 1 auto; justify-content:center; margin:0}
.hpm-ep-etat-d{flex:0 0 auto; margin-left:auto}
.hpm-ep-puce{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:600; padding:5px 12px; border-radius:999px;
  background:#f1f3f7; color:#5a6169}
.hpm-ep-puce.est-statut{background:#eef1f7; color:var(--puce)}
.hpm-ep-puce.est-statut{background:color-mix(in srgb, var(--puce) 14%, #fff)}
.hpm-ep-puce.est-ouvert{background:#e6f4ee; color:#096b4d}
.hpm-ep-depuis{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#686d82; white-space:nowrap}

.hpm-ep-parcours{display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:22px}
.hpm-ep-parcours-lbl{font-size:max(calc(10.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); letter-spacing:1.2px; text-transform:uppercase;
  color:#686d82; font-weight:700; margin-right:4px}
.hpm-ep-jeton{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:600; padding:4px 12px; border-radius:999px;
  background:#f1f3f7; color:#8b94a3}
.hpm-ep-jeton.est-fait{background:#e6f4ee; color:#096b4d}
.hpm-ep-jeton.est-ici{background:var(--hpm-t-e8effd,#e8effd); color:var(--ep-bleu)}

.hpm-ep-frise{display:flex; flex-wrap:wrap; list-style:none; margin:0 0 20px; padding:0; gap:4px}
.hpm-ep-etape{flex:1 1 90px; min-width:0; display:flex; flex-direction:column;
  align-items:center; gap:7px; position:relative; padding-top:2px}
/* Le trait de liaison : il part du centre de la bulle précédente et
   s'arrête au centre de celle-ci. Posé DERRIÈRE les bulles, qui ont un
   fond plein — le trait ne les traverse pas. */
.hpm-ep-etape+.hpm-ep-etape::before{content:""; position:absolute; z-index:0;
  top:16px; left:-50%; right:50%; height:3px; border-radius:3px; background:#e4e8ee}
.hpm-ep-etape.est-fait+.hpm-ep-etape::before,
.hpm-ep-etape.est-fait+.hpm-ep-etape.est-ici::before{background:var(--ep-turquoise)}
.hpm-ep-etape.est-fait+.hpm-ep-etape.est-ici::before{
  background:linear-gradient(90deg,var(--ep-turquoise),var(--ep-bleu))}
.hpm-ep-rond{width:30px; height:30px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-size:calc(13px * var(--hpm-fs,1)); font-weight:700; position:relative; z-index:1;
  background:#eef1f5; color:#686d82; border:2px solid #fff; box-shadow:0 0 0 1px #e4e8ee; flex:0 0 auto}
.hpm-ep-etape.est-fait .hpm-ep-rond{background:var(--ep-turquoise); color:#fff; box-shadow:0 0 0 1px var(--ep-turquoise)}
.hpm-ep-etape.est-ici .hpm-ep-rond{background:var(--ep-bleu); color:#fff; box-shadow:0 0 0 4px rgba(0,114,255,.16)}
.hpm-ep-etape-lbl{font-size:max(calc(11.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux); text-align:center; font-weight:600}
.hpm-ep-etape.est-ici .hpm-ep-etape-lbl{color:var(--ep-bleu)}

.hpm-ep-avancee{display:flex; justify-content:space-between; align-items:baseline;
  gap:12px; flex-wrap:wrap; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux); margin-bottom:8px}
.hpm-ep-avancee b{font-size:calc(17px * var(--hpm-fs,1)); color:var(--ep-violet)}
.hpm-ep-barre{height:8px; background:#eef1f5; border-radius:999px; overflow:hidden; margin-bottom:22px}
.hpm-ep-barre i{display:block; height:100%; border-radius:999px;
  background:linear-gradient(90deg,var(--ep-bleu),var(--ep-violet))}

/* ── L'image, à la manière de HDM ──────────────────────────────────────
   Un format fixe plutôt qu'une hauteur libre : sans lui, une photo
   portrait pousse le texte à deux écrans plus bas et une photo minuscule
   s'étire jusqu'au flou. object-fit:cover recadre au lieu de déformer.
   aspect-ratio n'est pas connu des navigateurs anciens, d'où le repli
   par padding juste avant.                                            */
.hpm-ep-visuel{position:relative; border-radius:10px; overflow:hidden;
  margin-bottom:14px; background:#eef1f5; padding-top:52%}
.hpm-ep-visuel img{position:absolute; inset:0; display:block;
  width:100%; height:100%; max-width:none; object-fit:cover}
@supports (aspect-ratio:16/9){
  .hpm-ep-visuel{padding-top:0; aspect-ratio:16/9}
  .hpm-ep-visuel img{position:static}
}
.hpm-ep-resume{font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux); padding-bottom:16px;
  border-bottom:1px solid #f0f2f5; margin-bottom:18px}

.hpm-ep-titre{font-size:var(--ep-titre-taille,22px); font-weight:800; line-height:1.3;
  margin:0 0 12px; color:var(--ep-titre-couleur,var(--ep-encre))}
/* ── Le texte du projet, à la manière de HDM ───────────────────────────
   Une description de projet peut faire trois pages. Laissée libre, elle
   repousse l'équipe, les chiffres et les actions hors de l'écran, et la
   colonne du canal se retrouve seule en haut d'une page vide. Elle
   défile donc dans sa propre zone, comme sur la page d'une idée.
   Le dégradé du bas dit qu'il reste à lire — sans lui, on croit avoir
   tout vu.                                                            */
.hpm-ep-texte{position:relative; max-height:var(--ep-texte-hauteur,330px); overflow-y:auto;
  padding-right:12px; margin-bottom:6px;
  font-size:var(--ep-texte-taille,15px); color:var(--ep-texte-couleur,var(--hpm-t-39414f,#39414f)); line-height:1.8}
.hpm-ep-texte p{font-size:inherit; line-height:inherit; color:inherit; margin:0 0 14px}
.hpm-ep-texte p:last-child{margin-bottom:0}
.hpm-ep-texte::-webkit-scrollbar{width:7px}
.hpm-ep-texte::-webkit-scrollbar-thumb{background:#d7dce4; border-radius:999px}
.hpm-ep-texte::-webkit-scrollbar-track{background:transparent}
.hpm-ep-texte{scrollbar-width:thin; scrollbar-color:#d7dce4 transparent}
.hpm-ep-lire{position:relative; margin-bottom:18px}
.hpm-ep-lire::after{content:""; position:absolute; left:0; right:12px; bottom:0;
  height:46px; pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #fff)}
.hpm-ep-lire.est-au-bout::after{opacity:0; transition:opacity .2s}

.hpm-ep-tuiles{display:flex; flex-wrap:wrap; gap:12px; margin:22px 0}
.hpm-ep-tuile{flex:1 1 104px; min-width:0; background:#f8fafc; border:1px solid #eef1f5;
  border-radius:8px; padding:14px; text-align:center}
.hpm-ep-tuile b{display:block; font-size:calc(19px * var(--hpm-fs,1)); font-weight:800; line-height:1.25; overflow-wrap:anywhere}
.hpm-ep-tuile b.est-vert{color:var(--ep-turquoise)}
.hpm-ep-tuile b.est-rouge{color:#E03131}
.hpm-ep-tuile span{font-size:max(calc(11.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux)}

.hpm-ep-soustitre{font-size:max(calc(10.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); letter-spacing:1.3px; text-transform:uppercase;
  color:#686d82; font-weight:700; margin-bottom:12px}
.hpm-ep-gens{display:flex; flex-wrap:wrap; gap:10px}
.hpm-ep-personne{display:flex; align-items:center; gap:9px; border:1px solid var(--ep-trait);
  border-radius:8px; padding:8px 14px 8px 8px; min-width:0}
.hpm-ep-personne img{width:32px; height:32px; border-radius:50%; flex:0 0 auto}
.hpm-ep-personne span{display:flex; flex-direction:column; font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px));
  color:var(--ep-doux); min-width:0}
.hpm-ep-personne b{font-size:calc(13px * var(--hpm-fs,1)); color:var(--ep-encre)}
.hpm-ep-dispo{margin-top:10px; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux)}

.hpm-ep-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;
  padding-top:20px; border-top:1px solid #f0f2f5}
.hpm-ep-btn{padding:11px 20px; border-radius:7px; font-size:calc(14px * var(--hpm-fs,1)); font-weight:700;
  border:1px solid #d9dee6; background:#fff; color:#5a6169; cursor:pointer; font-family:inherit}
.hpm-ep-btn.est-primaire{background:linear-gradient(135deg,var(--ep-bleu),var(--ep-violet));
  color:#fff; border-color:transparent}
.hpm-ep-btn[disabled]{opacity:.55; cursor:default}

/* ── Colonne 3 : le canal ──────────────────────────────────────────── */
.hpm-ep-canal{flex:3 1 280px; min-width:0; background:#fff;
  border:1px solid var(--ep-trait); border-radius:10px; display:flex; flex-direction:column}
.hpm-ep-canal-tete{display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:16px 18px; border-bottom:1px solid #f0f2f5; font-size:calc(14px * var(--hpm-fs,1)); font-weight:800;
  color:var(--ep-violet)}
.hpm-ep-canal-tete em{margin-left:auto; font-style:normal; font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#686d82; font-weight:500}
.hpm-ep-fil{padding:16px 18px; display:flex; flex-direction:column; gap:16px;
  max-height:460px; overflow-y:auto}
.hpm-ep-vide{font-size:calc(13px * var(--hpm-fs,1)); color:#686d82; margin:0; line-height:1.6}
.hpm-ep-msg{display:flex; gap:10px; min-width:0}
.hpm-ep-msg img{width:30px; height:30px; border-radius:50%; flex:0 0 auto}
.hpm-ep-msg>div{min-width:0; flex:1}
.hpm-ep-msg-tete{display:flex; align-items:baseline; gap:8px; margin-bottom:4px; flex-wrap:wrap}
.hpm-ep-msg-tete b{font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-ep-msg-tete time{font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#686d82}
.hpm-ep-bulle-msg{background:#f4f6f9; border-radius:8px; padding:9px 12px;
  font-size:calc(13.5px * var(--hpm-fs,1)); line-height:1.6; overflow-wrap:anywhere}
.hpm-ep-ecrire{padding:14px 18px 18px; border-top:1px solid #f0f2f5;
  display:flex; flex-direction:column; gap:10px}
.hpm-ep-ecrire textarea{width:100%; border:1px solid #dfe3ea; border-radius:7px;
  padding:10px 12px; font-size:calc(13.5px * var(--hpm-fs,1)); font-family:inherit; resize:vertical; line-height:1.5}
.hpm-ep-ecrire small{font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#686d82; text-align:center}

@media(max-width:640px){
  .hpm-ep{gap:16px}
  .hpm-ep-contenu{padding:18px}
  .hpm-ep-nav{max-width:none}
}

/* Une vue large — un tableau, un Gantt — défile DANS la colonne au lieu
   de l'élargir et de pousser le canal hors de l'écran. */
.hpm-ep-contenu{overflow-x:auto}
.hpm-ep-contenu #hpm-frontend-app,
.hpm-ep-contenu .hpm-view{min-width:0; max-width:100%}

/* ── Les boutons de l'application qui faisaient SORTIR du projet ─────────
   Les en-têtes du Kanban, du Gantt et du Budget de app.js portent leur
   propre navigation : « ← Projets » (la liste de TOUS les projets),
   « Rapports » (le tableau de bord général), « Membres »… Dans la page
   d'un projet, ils doublent la navigation de gauche, et plusieurs mènent
   hors du projet. On les masque ici — le bouton « + Tâche » reste.
   Sélection par l'attribut onclick : app.js ne leur donne aucune classe
   propre. Si app.js change ses onclick, ces règles deviendront inertes
   (piège §11.24) — la page de test « Kanban » le montrerait tout de suite. */
.hpm-ep-contenu button[onclick*="navigate('projects')"],
.hpm-ep-contenu button[onclick*="renderBudget(0)"],
.hpm-ep-contenu button[onclick*="navigate('reports'"],
.hpm-ep-contenu button[onclick*="navigate('gantt'"],
.hpm-ep-contenu button[onclick*="navigate('kanban'"],
.hpm-ep-contenu button[onclick*="navigate('calendar'"],
.hpm-ep-contenu button[onclick*="navigate('budget'"],
.hpm-ep-contenu button[onclick*="openMembersModal"]{display:none}

/* ── Les vues locales : membres, documents ──────────────────────────── */
.hpm-ep-vue-tete{display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:8px 16px; margin-bottom:20px}
.hpm-ep-vue-tete h2{font-size:calc(20px * var(--hpm-fs,1)); font-weight:800; margin:0}
.hpm-ep-vue-note{font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux)}
.hpm-ep-cartes{display:flex; flex-wrap:wrap; gap:12px}
.hpm-ep-carte-membre{flex:1 1 230px; min-width:0; display:flex; gap:12px; align-items:center;
  border:1px solid var(--ep-trait); border-radius:10px; padding:14px 16px; background:#fff}
.hpm-ep-carte-membre img{width:44px; height:44px; border-radius:50%; flex:0 0 auto}
.hpm-ep-carte-membre>div{display:flex; flex-direction:column; min-width:0}
.hpm-ep-carte-membre b{font-size:calc(14px * var(--hpm-fs,1))}
.hpm-ep-carte-membre span{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux)}
.hpm-ep-carte-membre em{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#686d82; font-style:normal}
.hpm-ep-places-libres{margin-top:16px; padding:14px 16px; border-radius:10px;
  background:#f1f4fb; border:1px dashed #c9d5f0; color:var(--ep-violet);
  font-size:calc(13.5px * var(--hpm-fs,1)); font-weight:700; text-align:center}
.hpm-ep-table{overflow-x:auto; border:1px solid var(--ep-trait); border-radius:10px}
.hpm-ep-table table{width:100%; border-collapse:collapse; font-size:calc(13.5px * var(--hpm-fs,1))}
.hpm-ep-table th{text-align:left; padding:11px 14px; font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); letter-spacing:.8px;
  text-transform:uppercase; color:#fff; background:linear-gradient(90deg,var(--ep-bleu),var(--ep-violet))}
.hpm-ep-table td{padding:12px 14px; border-top:1px solid #f0f2f5; vertical-align:middle}
.hpm-ep-table a{color:var(--ep-encre); text-decoration:none; font-weight:600}
.hpm-ep-table a:hover{color:var(--ep-bleu)}
.hpm-ep-ext{display:inline-block; min-width:34px; margin-right:9px; padding:2px 6px; border-radius:4px;
  background:#eef1f7; color:#5a6169; font-size:max(calc(10px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:800; text-align:center}

/* ── La mise en forme riche du texte ─────────────────────────────────────
   La description passe par wp_kses_post() : le gras, l'italique, le
   souligné, les couleurs, les titres et les listes à puces écrits dans un
   éditeur sont CONSERVÉS. Encore fallait-il qu'ils s'affichent : un thème
   remet souvent les listes à zéro. Ces règles leur rendent leur forme. */
.hpm-ep-texte ul,.hpm-ep-texte ol{margin:0 0 14px; padding-left:1.4em}
.hpm-ep-texte ul{list-style:disc}
.hpm-ep-texte ol{list-style:decimal}
.hpm-ep-texte li{margin:0 0 6px}
.hpm-ep-texte h2,.hpm-ep-texte h3,.hpm-ep-texte h4{color:var(--ep-titre-couleur,var(--ep-encre));
  font-weight:800; line-height:1.35; margin:18px 0 10px}
.hpm-ep-texte h2{font-size:1.35em}
.hpm-ep-texte h3{font-size:1.18em}
.hpm-ep-texte h4{font-size:1.05em}
.hpm-ep-texte a{color:var(--ep-bleu); text-decoration:underline}
.hpm-ep-texte blockquote{margin:0 0 14px; padding:8px 16px; border-left:3px solid var(--ep-violet);
  background:var(--hpm-t-f7f5fd,#f7f5fd); color:#4b5563}

/* ── Un bloc posé seul dans une page WPBakery ────────────────────────────
   Il porte la classe racine .hpm-ep pour hériter des couleurs et de la
   typographie — mais pas de la mise en page à trois colonnes. */
.hpm-ep.hpm-ep-bloc{display:block; gap:0}
.hpm-ep-bloc .hpm-ep-etat,.hpm-ep-bloc .hpm-ep-frise,.hpm-ep-bloc .hpm-ep-barre{margin-bottom:0}
.hpm-ep-bloc .hpm-ep-titre{margin:0}
.hpm-ep-bloc.sans-defilement .hpm-ep-texte{max-height:none; overflow:visible; padding-right:0}
.hpm-ep-bloc.sans-defilement .hpm-ep-lire::after{display:none}

/* ══════════════════════════════════════════════════════════════════════
   1.4.4 — `[Kad]` 25/09 : icônes, menu et canal repliables, boutons
   centrés, trait de séparation, vrai gras.
   ══════════════════════════════════════════════════════════════════════ */

/* Les liens : icône, nom, pastille. */
.hpm-ep-lien{justify-content:flex-start}

/* Le titre « Le projet » porte le bouton de repli à droite. */

.hpm-ep-replier{flex:0 0 auto; width:28px; height:28px; display:inline-flex; align-items:center;
  justify-content:center; border:1px solid var(--ep-trait); border-radius:7px; background:#fff;
  color:#4b5563; font-size:calc(14px * var(--hpm-fs,1)); line-height:1; cursor:pointer; padding:0; font-family:inherit;
  letter-spacing:0}
.hpm-ep-replier:hover{color:var(--ep-violet); border-color:var(--hpm-t-d9cdf3,#d9cdf3)}
.hpm-ep-replier:focus-visible,.hpm-ep-lien:focus-visible{outline:2px solid var(--ep-violet); outline-offset:2px}
.hpm-ep-lbl-cache{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

/* Le canal : icône à gauche, bouton de repli à droite. */
.hpm-ep-canal-ico{display:inline-flex; align-items:center; gap:4px; background:none; border:none;
  padding:0; font-size:calc(15px * var(--hpm-fs,1)); cursor:default; position:relative; font-family:inherit}
.hpm-ep-canal-tete .hpm-ep-replier{order:10}
.hpm-ep-canal-tete em{margin-left:auto}
.hpm-ep-non-lus{background:#E03131; color:#fff; border-radius:999px; font-size:max(calc(10.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px));
  font-weight:800; padding:0 6px; line-height:17px; min-width:17px; text-align:center}
.hpm-ep-non-lus[hidden]{display:none}

/* ── Menu replié : les icônes seules ─────────────────────────────── */
.hpm-ep.nav-repliee .hpm-ep-nav{flex:0 0 58px; max-width:58px; padding:12px 6px}

.hpm-ep.nav-repliee .hpm-ep-nav .hpm-ep-bulle{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

.hpm-ep.nav-repliee .hpm-ep-lien,
.hpm-ep.nav-repliee .hpm-ep-lien.est-sous{justify-content:center; padding:9px 0}

/* ── Canal replié : l'icône et la pastille ───────────────────────── */
.hpm-ep.canal-replie .hpm-ep-canal{flex:0 0 58px; max-width:58px}
.hpm-ep.canal-replie .hpm-ep-canal-tete{flex-direction:column; padding:12px 0; border:none; gap:10px}
.hpm-ep.canal-replie .hpm-ep-canal-tete .hpm-ep-replier{order:-1}
.hpm-ep.canal-replie .hpm-ep-canal-ico{flex-direction:column; cursor:pointer; font-size:calc(18px * var(--hpm-fs,1))}
.hpm-ep.canal-replie .hpm-ep-canal-nom,
.hpm-ep.canal-replie .hpm-ep-canal-tete em,
.hpm-ep.canal-replie .hpm-ep-canal-tete .hpm-ep-bulle,
.hpm-ep.canal-replie .hpm-ep-fil,
.hpm-ep.canal-replie .hpm-ep-ecrire{display:none}

/* Sur téléphone, les colonnes s'empilent déjà : le repli n'a pas de
   sens, les boutons disparaissent et tout est déplié. */
@media(max-width:640px){
  .hpm-ep-replier{display:none}
  .hpm-ep.nav-repliee .hpm-ep-nav{flex:1 1 210px; max-width:none; padding:14px}

  .hpm-ep.nav-repliee .hpm-ep-nav .hpm-ep-bulle{position:static; width:auto; height:auto; clip:auto; overflow:visible}
  .hpm-ep.nav-repliee .hpm-ep-lien{justify-content:flex-start; padding:10px 12px}
  .hpm-ep.canal-replie .hpm-ep-canal{flex:3 1 280px; max-width:none}
  .hpm-ep.canal-replie .hpm-ep-canal-tete{flex-direction:row; padding:16px 18px}
  .hpm-ep.canal-replie .hpm-ep-canal-nom,
  .hpm-ep.canal-replie .hpm-ep-canal-tete em,
  .hpm-ep.canal-replie .hpm-ep-fil,
  .hpm-ep.canal-replie .hpm-ep-ecrire{display:revert}
  .hpm-ep.canal-replie .hpm-ep-fil{display:flex}
}

/* Boutons d'édition : au centre, jamais à gauche (`[Kad]` 25/09). */
.hpm-ep-actions{justify-content:center}

/* Le vrai gras. « strong » vaut « un cran plus gras que le texte » :
   sur un thème en police fine, ce cran ne se voit presque pas. */
.hpm-ep-texte strong,.hpm-ep-texte b{font-weight:700}

/* Le Guide dans l'espace membre (@since 1.4.5) */
.hpm-ep-guide-intro{color:var(--ep-doux); font-size:calc(14px * var(--hpm-fs,1)); margin:-6px 0 18px}
.hpm-ep-guide-vide{border:2px dashed var(--hpm-t-e0d6f5,#e0d6f5); border-radius:10px; padding:20px 22px; text-align:center; color:var(--ep-doux)}
.hpm-ep-guide-vide p{margin:0 0 10px}

/* ══════════════════════════════════════════════════════════════════════
   Tâches › Liste (@since 1.4.8)
   ⚠️ Structure par requête de CONTENEUR (@container), pas de fenêtre :
   la liste réagit à la largeur de sa colonne, qui change quand on replie
   le menu ou le canal — une media query ne le verrait pas.
   ══════════════════════════════════════════════════════════════════════ */

.hpm-li-rech{display:flex; align-items:center; gap:6px; border:1px solid #d9dee6; border-radius:8px; padding:0 10px; background:#fff; flex:0 1 230px; min-width:160px}
.hpm-li-rech input{border:none !important; outline:none; box-shadow:none !important; padding:7px 0 !important; font-size:calc(13.5px * var(--hpm-fs,1)); width:100%; background:transparent; margin:0 !important; min-height:0 !important}
.hpm-li-rech:focus-within{border-color:var(--ep-violet)}
.hpm-li-chips{display:flex; flex-wrap:wrap; gap:6px}
.hpm-li-chip{border:1px solid #e4e8ee; border-radius:999px; padding:5px 12px; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:600; color:var(--hpm-t-374151,#374151); background:#fff; cursor:pointer; font-family:inherit; line-height:1.3}
.hpm-li-chip b{color:#6b7280; margin-left:3px}
.hpm-li-chip.est-on{background:#1d2430; border-color:#1d2430; color:#fff}
.hpm-li-chip.est-on b{color:#d1d5db}

.hpm-li-chip:focus-visible{outline:2px solid var(--ep-violet); outline-offset:2px}

/* ── 1.4.13 — `[Kad]` 25/09 ─────────────────────────────────────────────
   Le titre « Tâches » en violet accent, et des pastilles de filtre aux
   couleurs de leur statut : teintées au repos, pleines une fois choisies.
   Contrastes vérifiés (≥ 4,5 pour 1, texte comme pastille pleine). */

.hpm-li-chip{--c:var(--hpm-t-8224e3,#8224E3); --f:var(--hpm-t-f3e9fc,#f3e9fc); color:var(--c); background:var(--f); border-color:transparent}
.hpm-li-chip b{color:inherit; opacity:.8}
.hpm-li-chip[data-li-filtre="todo"]{--c:#4b5259; --f:#edeeee}
.hpm-li-chip[data-li-filtre="in_progress"]{--c:var(--hpm-t-1a56db,#1a56db); --f:var(--hpm-t-e8eefb,#e8eefb)}
.hpm-li-chip[data-li-filtre="review"]{--c:var(--hpm-t-7d3c98,#7d3c98); --f:var(--hpm-t-f2ecf5,#f2ecf5)}
.hpm-li-chip[data-li-filtre="blocked"]{--c:#c02626; --f:#f9e9e9}
.hpm-li-chip[data-li-filtre="cancelled"]{--c:#5d6470; --f:#f0f1f2}
.hpm-li-chip:hover{border-color:var(--c)}
.hpm-li-chip.est-on{background:var(--c); color:#fff; border-color:var(--c)}
.hpm-li-chip.est-on b{color:#fff; opacity:.85}

/* ══════════════════════════════════════════════════════════════════════
   Tâches › Gantt (@since 1.4.17)
   Barres aux couleurs du statut (mêmes teintes que le Kanban), aujourd'hui
   en violet, fin du projet en bleu pointillé. Le planning défile
   horizontalement ; la colonne des tâches reste en place.
   ══════════════════════════════════════════════════════════════════════ */
.hpm-gt-seg{display:inline-flex; border:1px solid #d9dee6; border-radius:8px; overflow:hidden}
.hpm-gt-seg button{border:none; background:#fff; padding:6px 13px; font-size:calc(13px * var(--hpm-fs,1)); font-weight:600; color:var(--hpm-t-374151,#374151); cursor:pointer; font-family:inherit}
.hpm-gt-seg button+button{border-left:1px solid #d9dee6}
.hpm-gt-seg button.est-on{background:var(--ep-violet); color:#fff}

.hpm-gt-seg button:focus-visible{outline:2px solid var(--ep-violet); outline-offset:2px}
.hpm-gt-aide{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--ep-doux); flex:1 1 100%}

/* La fenêtre d'un événement — posée sur <body>, hors de tout thème. */
.hpm-cal-voile{position:fixed; inset:0; z-index:999999; background:rgba(17,24,39,.45); display:flex; align-items:center; justify-content:center; padding:16px;
  font-family:inherit}
.hpm-cal-fiche{width:440px; max-width:100%; max-height:calc(100vh - 32px); overflow:auto; background:#fff; border-radius:12px; box-shadow:0 24px 60px rgba(17,24,39,.3);
  color:var(--hpm-t-1d2430,#1d2430); font-size:calc(14px * var(--hpm-fs,1))}
.hpm-cal-fiche header{display:flex; align-items:center; gap:10px; padding:14px 18px; background:linear-gradient(90deg,var(--hpm-t-0068e8,#0068E8),var(--hpm-t-8224e3,#8224E3)); color:#fff}
.hpm-cal-fiche header h3{margin:0; flex:1 1 auto; font-size:calc(16px * var(--hpm-fs,1)); font-weight:800; color:#fff; line-height:1.3}
.hpm-cal-x{border:none; background:rgba(255,255,255,.18); color:#fff; width:30px; height:30px; border-radius:8px; font-size:calc(20px * var(--hpm-fs,1)); line-height:1; cursor:pointer}
.hpm-cal-x:hover{background:rgba(255,255,255,.3)}
.hpm-cal-fiche-corps{padding:16px 18px; display:flex; flex-direction:column; gap:11px; margin:0}
.hpm-cal-fiche-corps p{margin:0}
.hpm-cal-chp{display:flex; flex-direction:column; gap:4px; min-width:0}
.hpm-cal-chp > span{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; color:#4b5563}
.hpm-cal-chp input,.hpm-cal-chp select,.hpm-cal-chp textarea{width:100% !important; box-sizing:border-box; border:1px solid #d9dee6 !important; border-radius:8px !important;
  padding:8px 10px !important; font:inherit !important; font-size:calc(14px * var(--hpm-fs,1)) !important; background:#fff !important; color:var(--hpm-t-1d2430,#1d2430) !important; margin:0 !important; min-height:0 !important; height:auto !important; box-shadow:none !important}
.hpm-cal-chp input:focus,.hpm-cal-chp select:focus,.hpm-cal-chp textarea:focus{border-color:var(--hpm-t-8224e3,#8224E3) !important; outline:2px solid rgba(130,36,227,.18)}
.hpm-cal-chp input:disabled{background:#f3f4f6 !important; color:#686d82 !important}
.hpm-cal-rang{display:flex; gap:10px; flex-wrap:wrap}
.hpm-cal-rang .hpm-cal-chp{flex:1 1 130px}

.hpm-cal-erreur{color:#b42318; font-size:calc(13px * var(--hpm-fs,1)); font-weight:600}
.hpm-cal-fiche footer{display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding:0 18px 16px}
.hpm-cal-fiche .hpm-ep-btn{padding:9px 16px}
.hpm-cal-fiche .hpm-ep-btn.est-primaire{background:linear-gradient(135deg,var(--hpm-t-0068e8,#0068E8),var(--hpm-t-8224e3,#8224E3)); color:#fff; border-color:transparent}
.hpm-cal-suppr{color:#b42318 !important}
.hpm-cal-suppr:hover{border-color:#f1b5ad !important; background:#fff5f4 !important}

.hpm-cal-fiche a{color:var(--hpm-t-8224e3,#8224E3)}

/* ══════════════════════════════════════════════════════════════════════
   Budget (@since 1.4.22) — maquette du 25/09 + retours de Kad :
   icônes en filigrane sur les 4 panneaux, trois groupes bien espacés,
   « À venir » en liste à puces.
   ══════════════════════════════════════════════════════════════════════ */

.j-paye{background:#0c8560}
.j-engage{background:repeating-linear-gradient(135deg,var(--hpm-t-8224e3,#8224E3) 0 6px,var(--hpm-t-a45ff0,#a45ff0) 6px 12px)}

/* ══════════════════════════════════════════════════════════════════════
   Membres (@since 1.4.25) — maquette du 25/09, validée.
   ══════════════════════════════════════════════════════════════════════ */

.hpm-mb-role{display:inline-block; font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; border-radius:99px; padding:2px 9px; margin-top:5px; white-space:nowrap}
/* 1.4.26 — `[Kad]` : « mets de la couleur entre chef de projet, membres… pour équilibrer ».
   Un rôle, une couleur — la même sur la carte et sur son filtre. Le porteur
   seul porte le dégradé de la marque. */
.r-chef{background:var(--hpm-t-f1e8fd,#f1e8fd); color:var(--hpm-t-6a1bbd,#6a1bbd)} .r-mem{background:var(--hpm-t-e6f0ff,#e6f0ff); color:var(--hpm-t-0058c4,#0058c4)} .r-con{background:#fdf0e3; color:#9a4a07} .r-obs{background:#f0f1f3; color:#4b5563}
.r-porteur{background:linear-gradient(135deg,var(--hpm-t-0068e8,#0068E8),var(--hpm-t-8224e3,#8224E3)); color:#fff}

/* Catégories : une teinte par catégorie, la même sur le filtre et sur la carte. */
.c-0{--c:#4b5563; --f:#f0f1f3} .c-1{--c:var(--hpm-t-1a4fc4,#1a4fc4); --f:var(--hpm-t-e6f0ff,#e6f0ff)} .c-2{--c:#b0296b; --f:#fce8f1} .c-3{--c:var(--hpm-t-6a1bbd,#6a1bbd); --f:var(--hpm-t-f1e8fd,#f1e8fd)} .c-4{--c:#9a4a07; --f:#fdf0e3}
.c-5{--c:#0b6f6a; --f:#e3f5f3} .c-6{--c:#b42318; --f:#fdecec} .c-7{--c:#3f5b0a; --f:#eef6e0} .c-8{--c:var(--hpm-t-5b21b6,#5b21b6); --f:var(--hpm-t-ede9fe,#ede9fe)}

.g-pdf{--c:#d93025; --f:#fdecea} .g-doc{--c:var(--hpm-t-1a56db,#1a56db); --f:var(--hpm-t-e8eefb,#e8eefb)} .g-xls{--c:#0c8560; --f:#e6f4ee} .g-ppt{--c:#c2570c; --f:#fdf0e6}
.g-txt{--c:#4b5563; --f:#f1f2f4} .g-lien{--c:#6b7280; --f:#f1f2f4} .g-img{--c:var(--hpm-t-9b59b6,#9b59b6); --f:var(--hpm-t-f3eafe,#f3eafe)}

.hpm-dc-mini{flex:none; min-width:38px; text-align:center; font:800 max(calc(10.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))/1 system-ui,sans-serif; color:#fff; background:var(--c); border-radius:6px; padding:6px 5px}

/* Les fenêtres (posées hors de .hpm-ep : couleurs écrites en clair). */

.hpm-dc-choix{display:flex; gap:6px; flex-wrap:wrap}
.hpm-dc-choix button{border:1px solid #d9dbe3; border-radius:9px; padding:8px 11px; font:inherit; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:600; background:#fff; color:var(--hpm-t-1d2430,#1d2430); cursor:pointer}
.hpm-dc-choix button.est-on{border-color:var(--hpm-t-8224e3,#8224E3); background:var(--hpm-t-f7f0ff,#f7f0ff); color:var(--hpm-t-6a1bbd,#6a1bbd)}
.hpm-dc-choix button:disabled{opacity:.55; cursor:not-allowed}
.hpm-dc-choix button:focus-visible{outline:2px solid var(--hpm-t-8224e3,#8224E3); outline-offset:2px}

/* Les documents publics, sur la présentation (visiteurs et équipe). */
.hpm-dp{margin:18px 0; border:1px solid #e6e8ee; border-radius:12px; padding:14px 16px; background:#fff}
.hpm-dp h3{margin:0 0 10px; font-size:calc(15px * var(--hpm-fs,1)); font-weight:800; color:var(--hpm-t-8224e3,#8224E3)}
.hpm-dp ul{list-style:none; margin:0; padding:0; display:grid; gap:6px}
.hpm-dp li{margin:0}
.hpm-dp a{display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:9px; border:1px solid #f0f2f5; color:var(--hpm-t-1d2430,#1d2430); text-decoration:none; font-size:calc(14px * var(--hpm-fs,1)); font-weight:600}
.hpm-dp a:hover{border-color:var(--hpm-t-8224e3,#8224E3); background:var(--hpm-t-fcfaff,#fcfaff)}
.hpm-dp a:focus-visible{outline:2px solid var(--hpm-t-8224e3,#8224E3); outline-offset:2px}
.hpm-dp-t{flex:1; min-width:0; overflow-wrap:anywhere}
.hpm-dp small{color:#6b7280; font-weight:500; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); white-space:nowrap}

/* ── 1.4.31 — La visionneuse (posée sur <body> : couleurs écrites en clair) ── */
html.hpm-vz-ouvert, html.hpm-vz-ouvert body{overflow:hidden !important}
.hpm-vz{position:fixed; inset:0; z-index:2147483600; background:rgba(17,20,28,.78); display:flex; align-items:center; justify-content:center; padding:2.5vh 3vw; font-family:inherit}
.hpm-vz[hidden]{display:none}
.hpm-vz-boite{width:min(1180px,100%); height:100%; display:flex; flex-direction:column; background:#3f4550; border-radius:14px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.45)}
.hpm-vz.est-grand{padding:0}
.hpm-vz.est-grand .hpm-vz-boite{width:100%; border-radius:0}
.hpm-vz-boite:fullscreen{width:100%; border-radius:0}
.hpm-vz-h{display:flex; align-items:center; gap:10px; padding:10px 14px; background:linear-gradient(135deg,var(--hpm-t-0068e8,#0068E8),var(--hpm-t-8224e3,#8224E3)); color:#fff; flex:none}
.hpm-vz-ext{font:800 max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))/1 system-ui,sans-serif; background:#fff; color:var(--c,var(--hpm-t-374151,#374151)); border-radius:6px; padding:7px 7px; min-width:34px; text-align:center}
.hpm-vz-t{flex:1; min-width:0}
.hpm-vz-t b{display:block; font-size:calc(15px * var(--hpm-fs,1)); line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.hpm-vz-t small{display:block; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); opacity:.88; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.hpm-vz-pos{font-size:calc(13px * var(--hpm-fs,1)); opacity:.9; white-space:nowrap}
.hpm-vz-b{display:inline-flex; align-items:center; gap:4px; height:34px; padding:0 12px; border-radius:9px; background:rgba(255,255,255,.16); color:#fff !important; font-family:inherit; font-weight:600; font-size:calc(13px * var(--hpm-fs,1)); line-height:1; border:0; cursor:pointer; text-decoration:none !important; white-space:nowrap}
.hpm-vz-b:hover{background:rgba(255,255,255,.28)}
.hpm-vz-b[hidden]{display:none}
.hpm-vz-x{width:34px; justify-content:center; padding:0; font-size:calc(15px * var(--hpm-fs,1))}
.hpm-vz-c{flex:1; min-height:0; position:relative; display:flex}
.hpm-vz-zone{flex:1; overflow:auto; outline:none; background:#525862; position:relative}
.hpm-vz-fl{position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:44px; border-radius:50%; border:0; background:rgba(17,20,28,.55); color:#fff; font-size:calc(26px * var(--hpm-fs,1)); line-height:1; cursor:pointer}
.hpm-vz-fl:hover{background:rgba(17,20,28,.8)}
.hpm-vz-fl.est-g{left:14px} .hpm-vz-fl.est-d{right:14px}
.hpm-vz-fl[hidden]{display:none}
.hpm-vz-f{display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; padding:8px 12px; background:#2f343d; color:#fff; font-size:calc(13px * var(--hpm-fs,1)); flex:none}
.hpm-vz-grp{display:inline-flex; background:rgba(255,255,255,.12); border-radius:9px; overflow:hidden}
.hpm-vz-grp button, .hpm-vz-grp1{border:0; background:transparent; color:#fff; font-family:inherit; font-weight:600; font-size:calc(13px * var(--hpm-fs,1)); line-height:1; padding:8px 12px; cursor:pointer}
.hpm-vz-grp button:hover, .hpm-vz-grp1:hover{background:rgba(255,255,255,.18)}
.hpm-vz-grp1{background:rgba(255,255,255,.12); border-radius:9px}
.hpm-vz-pc{min-width:74px}
.hpm-vz-page{opacity:.9; min-width:90px; text-align:center}
/* 1.4.40 : changer de document dans l'en-tête */
.hpm-vz-docs{display:inline-flex; align-items:center; gap:2px; background:rgba(255,255,255,.14); border-radius:9px; padding:2px}
.hpm-vz-docs[hidden]{display:none}
.hpm-vz-docs button{border:0; background:transparent; color:#fff; width:30px; height:30px; border-radius:7px; font-size:calc(20px * var(--hpm-fs,1)); line-height:1; cursor:pointer; padding:0}
.hpm-vz-docs button:hover{background:rgba(255,255,255,.22)}
.hpm-vz-docs .hpm-vz-pos{padding:0 6px; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); white-space:nowrap}
/* 1.4.38 : navigation page par page */
.hpm-vz-nav{display:inline-flex; align-items:center; gap:8px}
.hpm-vz-nav[hidden]{display:none}
.hpm-vz-grp button[disabled]{opacity:.35; cursor:default}
.hpm-vz-pn{display:inline-flex; align-items:center; gap:4px; padding:0 8px; font-size:calc(13px * var(--hpm-fs,1)); color:#fff; white-space:nowrap}
.hpm-vz-pn input{width:4ch; min-width:3.2ch; box-sizing:content-box; border:1px solid rgba(255,255,255,.35) !important; background:rgba(0,0,0,.25) !important; color:#fff !important; border-radius:6px !important;
  padding:3px 5px !important; font:inherit !important; font-size:calc(13px * var(--hpm-fs,1)) !important; text-align:center; margin:0 !important; height:auto !important; box-shadow:none !important; -moz-appearance:textfield}
.hpm-vz-pn input::-webkit-outer-spin-button,.hpm-vz-pn input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.hpm-vz-pages.est-une{min-height:100%; justify-content:center}
.hpm-vz-nodl{background:#7a2e0e; border-radius:9px; padding:7px 11px; font-weight:600; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-vz-nodl[hidden]{display:none}
.hpm-vz button:focus-visible, .hpm-vz a:focus-visible{outline:2px solid #fff; outline-offset:2px}
.hpm-vz-msg{margin:60px auto; max-width:460px; color:#fff; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; font-size:calc(14px * var(--hpm-fs,1))}
.hpm-vz-msg.est-carte{background:#fff; color:var(--hpm-t-374151,#374151); border-radius:12px; padding:22px 24px}
.hpm-vz-msg.est-carte b{color:var(--hpm-t-1d2430,#1d2430); font-size:calc(15px * var(--hpm-fs,1))}
.hpm-vz-spin{width:26px; height:26px; border-radius:50%; border:3px solid rgba(255,255,255,.25); border-top-color:#fff; animation:hpm-vz-t 0.9s linear infinite}
@keyframes hpm-vz-t{to{transform:rotate(360deg)}}
.hpm-vz-pages{display:flex; flex-direction:column; align-items:center; gap:18px; padding:24px 16px 40px; min-width:min-content}
.hpm-vz-pdfp{background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.35); flex:none}
.hpm-vz-pdfp canvas{display:block}
.hpm-vz-img{min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px; box-sizing:border-box; min-width:min-content}
.hpm-vz-img img{display:block; max-width:none; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hpm-vz-feuille{max-width:920px; margin:24px auto; background:#fff; border-radius:6px; box-shadow:0 10px 30px rgba(0,0,0,.35); padding:20px 24px; overflow:auto}
.hpm-vz-feuille pre{margin:0; white-space:pre-wrap; word-break:break-word; font:calc(13px * var(--hpm-fs,1))/1.6 ui-monospace,Menlo,Consolas,monospace; color:var(--hpm-t-1d2430,#1d2430)}
.hpm-vz-table{border-collapse:collapse; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-vz-table th, .hpm-vz-table td{border:1px solid #e3e6ec; padding:5px 8px; text-align:left; white-space:nowrap}
.hpm-vz-table th{background:#f3f4f7}
.hpm-vz-cadre{display:block; width:100%; height:100%; border:0; background:#525862}
.hpm-vz.est-nodl .hpm-vz-zone{-webkit-user-select:none; user-select:none}
@media (max-width: 720px){
  .hpm-vz{padding:0}
  .hpm-vz-boite{border-radius:0}
  .hpm-vz-lbl, .hpm-vz-pos, [data-vz="fenetre"]{display:none}
  .hpm-vz-fl{width:36px; height:36px; font-size:calc(22px * var(--hpm-fs,1))}
  .hpm-vz-fl.est-g{left:6px} .hpm-vz-fl.est-d{right:6px}
}
/* Impression coupée quand le document ne l'autorise pas. */
@media print{
  html.hpm-vz-sans-impression body *{visibility:hidden !important}
  html.hpm-vz-sans-impression body::before{content:"Impression désactivée pour ce document."; visibility:visible; display:block; padding:40px; font:calc(16px * var(--hpm-fs,1)) system-ui,sans-serif}
}
/* Carte : document en consultation seule. */

.hpm-dc-case{display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid #e6e8ee; border-radius:10px; background:#fafbfc; cursor:pointer}
.hpm-dc-case input{margin-top:3px; width:16px; height:16px; accent-color:var(--hpm-t-8224e3,#8224E3); flex:none}
.hpm-dc-case b{display:block; font-size:calc(13px * var(--hpm-fs,1)); color:var(--hpm-t-1d2430,#1d2430)}
.hpm-dc-case small{display:block; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280; margin-top:2px}

.hpm-vz-boite{position:relative}
.hpm-vz-toast{position:absolute; left:50%; bottom:64px; transform:translate(-50%,12px); background:#1d2430; color:#fff; font-size:calc(13px * var(--hpm-fs,1)); font-weight:600; padding:10px 14px; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.35); opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; max-width:90%; text-align:center; z-index:5}
.hpm-vz-toast.est-vu{opacity:1; transform:translate(-50%,0)}
.hpm-vz-reserve{background:var(--hpm-t-3f2a73,#3f2a73); border-radius:9px; padding:7px 11px; font-weight:600; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-vz-reserve[hidden]{display:none}

/* ══════════════════════════════════════════════════════════════════════
   Ressources (@since 1.4.33) — maquette du 26/09 validée par Kad, avec
   les quatre panneaux en icône filigrane et info-bulle.
   Couleurs écrites en clair : les fenêtres sont posées hors de .hpm-ep.
   ══════════════════════════════════════════════════════════════════════ */
.hpm-rs button{font-family:inherit; text-transform:none; letter-spacing:normal; box-shadow:none}

/* Les quatre panneaux */
.hpm-rs-sum{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 14px}
.hpm-rs-k{position:relative; overflow:visible; display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; cursor:pointer;
  border:1px solid #e4e8ee !important; border-radius:12px !important; padding:12px 14px !important; background:#fff !important; color:var(--hpm-t-1d2430,#1d2430) !important; min-height:0; width:auto; margin:0; line-height:1.3}
.hpm-rs-k > b{font-size:calc(24px * var(--hpm-fs,1)); font-weight:800; line-height:1.1; position:relative; z-index:1}
.hpm-rs-k > span:not(.hpm-rs-bulle){font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280; position:relative; z-index:1}
.hpm-rs-filigrane{position:absolute; right:8px; bottom:6px; width:54px; height:54px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; opacity:.13; pointer-events:none}
.hpm-rs-k.k-tout{color:var(--hpm-t-1d2430,#1d2430) !important}
.hpm-rs-k.k-ok{color:#0c8560 !important}
.hpm-rs-k.k-cours{color:var(--hpm-t-0057c2,#0057c2) !important}
.hpm-rs-k.k-trouver{color:#b45309 !important}
.hpm-rs-k:hover{border-color:currentColor !important}
.hpm-rs-k.est-on{border-color:currentColor !important; box-shadow:0 0 0 2px currentColor inset !important}
.hpm-rs-k:focus-visible{outline:2px solid var(--hpm-t-8224e3,#8224E3); outline-offset:2px}
.hpm-rs-info{position:absolute; top:8px; right:9px; width:16px; height:16px; border-radius:50%; border:1px solid #c3c8d2; color:#6b7280; font:italic 700 max(calc(10px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))/14px Georgia,serif; text-align:center; z-index:1}
.hpm-rs-bulle{position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:50; background:#1d2430; color:#fff !important; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)) !important; font-weight:500; line-height:1.45; padding:9px 11px; border-radius:8px;
  box-shadow:0 10px 24px rgba(17,24,39,.25); opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .15s, transform .15s; pointer-events:none; text-align:left; min-width:190px}
.hpm-rs-bulle::before{content:""; position:absolute; top:-6px; left:18px; border:6px solid transparent; border-top:0; border-bottom-color:#1d2430}
.hpm-rs-k:hover .hpm-rs-bulle,.hpm-rs-k:focus-visible .hpm-rs-bulle{opacity:1; visibility:visible; transform:none}
.hpm-rs-chips{margin-bottom:6px}

/* La liste des besoins */
.hpm-rs-grp{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)) !important; letter-spacing:1.2px; text-transform:uppercase; color:#98a1b0 !important; font-weight:700; margin:18px 0 8px !important}
.hpm-rs-b{display:grid !important; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; align-items:center; width:100%; text-align:left; cursor:pointer;
  border:1px solid #e4e8ee !important; border-radius:12px !important; padding:14px 16px !important; background:#fff !important; color:var(--hpm-t-1d2430,#1d2430) !important; margin:0 0 10px !important; line-height:1.35; font-size:calc(14px * var(--hpm-fs,1))}
.hpm-rs-b:hover{border-color:var(--hpm-t-b89ae8,#b89ae8) !important; box-shadow:0 0 0 3px rgba(130,36,227,.08) !important}
.hpm-rs-b:focus-visible{outline:2px solid var(--hpm-t-8224e3,#8224E3); outline-offset:2px}
.hpm-rs-ic{width:44px; height:44px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; font-size:calc(21px * var(--hpm-fs,1)); flex:none; font-style:normal}
.hpm-rs-ic.t-humain{background:var(--hpm-t-ede4fb,#ede4fb)}.hpm-rs-ic.t-prestataire{background:var(--hpm-t-e0edff,#e0edff)}.hpm-rs-ic.t-materiel{background:#fff1dc}.hpm-rs-ic.t-lieu{background:#dcf3ea}
.hpm-rs-ic.t-assurance{background:#fde4e4}.hpm-rs-ic.t-consommables{background:#f3f0e0}.hpm-rs-ic.t-location{background:#e2f4f8}.hpm-rs-ic.t-autre{background:#eef0f4}
.hpm-rs-b-c{display:flex; flex-direction:column; gap:3px; min-width:0}
.hpm-rs-b-t{font-weight:700; font-size:calc(15px * var(--hpm-fs,1))}
.hpm-rs-b-m{display:flex; flex-wrap:wrap; gap:3px 12px; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280}
.hpm-rs-lien{color:var(--hpm-t-0057c2,#0057c2)}
.hpm-rs-sug-l{font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:var(--hpm-t-6d1fc0,#6d1fc0)}
.hpm-rs-tag{display:inline-block; background:var(--hpm-t-ede4fb,#ede4fb); color:var(--hpm-t-6d1fc0,#6d1fc0); border-radius:999px; padding:1px 8px; font-size:max(calc(11.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:600}
.hpm-rs-b-d{display:flex; flex-direction:column; align-items:flex-end; gap:6px; text-align:right}
.hpm-rs-st{display:inline-block; padding:4px 10px; border-radius:999px; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; white-space:nowrap}
.hpm-rs-st.st-ok{background:#dcf3ea; color:#0a6b4d}.hpm-rs-st.st-cmp{background:var(--hpm-t-e0edff,#e0edff); color:var(--hpm-t-0057c2,#0057c2)}
.hpm-rs-st.st-trouver{background:#fff1dc; color:#9a4a06}.hpm-rs-st.st-devis{background:var(--hpm-t-ede4fb,#ede4fb); color:var(--hpm-t-6d1fc0,#6d1fc0)}
.hpm-rs-pr{font-size:calc(13px * var(--hpm-fs,1)); color:var(--hpm-t-374151,#374151)}
.hpm-rs-pr b{font-size:calc(15px * var(--hpm-fs,1))}
.hpm-rs-vide{border:1px dashed #d6dae2; border-radius:12px; padding:20px; text-align:center; color:#4b5563; font-size:calc(14px * var(--hpm-fs,1))}
.hpm-rs-vide p{margin:0 0 8px}

/* Le comparatif */
.hpm-rs-fil{font-size:calc(13px * var(--hpm-fs,1)); color:#6b7280; margin-bottom:8px}
.hpm-rs-mot{border:none !important; background:none !important; color:var(--hpm-t-0057c2,#0057c2) !important; padding:0 !important; font-size:calc(13px * var(--hpm-fs,1)) !important; font-weight:600; cursor:pointer; text-decoration:none; min-height:0; width:auto; margin:0}
.hpm-rs-mot:hover{text-decoration:underline}
.hpm-rs-mot:focus-visible{outline:2px solid var(--hpm-t-8224e3,#8224E3); outline-offset:2px; border-radius:3px}
.hpm-rs-rouge{color:#b42318 !important}
.hpm-rs-ch{display:flex; gap:14px; align-items:flex-start; margin-bottom:12px}
.hpm-rs-ch-t{flex:1 1 auto; min-width:0}
.hpm-rs-ch-t h2{margin:0 !important; font-size:calc(20px * var(--hpm-fs,1)) !important; font-weight:800; color:var(--hpm-t-1d2430,#1d2430) !important; line-height:1.25}
.hpm-rs-ch-t p{margin:4px 0 0 !important; font-size:calc(13px * var(--hpm-fs,1)); color:#6b7280}
.hpm-rs-ch-t p b{color:var(--hpm-t-374151,#374151)}
.hpm-rs-ch-b{display:flex; gap:6px; align-items:center; flex:none}
.hpm-rs-ico{border:1px solid #e4e8ee !important; background:#fff !important; border-radius:8px !important; width:32px; height:32px; padding:0 !important; cursor:pointer; font-size:calc(14px * var(--hpm-fs,1)); line-height:1; color:var(--hpm-t-1d2430,#1d2430); margin:0}
.hpm-rs-ico:hover{border-color:var(--hpm-t-b89ae8,#b89ae8) !important}
.hpm-rs-details{font-size:calc(13.5px * var(--hpm-fs,1)); color:var(--hpm-t-374151,#374151); background:#f8f9fb; border-radius:10px; padding:10px 14px; margin:0 0 12px !important}
.hpm-rs-tab-env{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -2px; padding:2px}
.hpm-rs-tab{width:100%; border-collapse:separate !important; border-spacing:0; font-size:calc(13.5px * var(--hpm-fs,1)); table-layout:fixed; margin:0 !important; border:none !important; background:none !important}
.hpm-rs-tab th,.hpm-rs-tab td{padding:10px 12px !important; border:none !important; border-bottom:1px solid #eef0f4 !important; vertical-align:top; text-align:left; background:none !important; color:var(--hpm-t-1d2430,#1d2430)}
.hpm-rs-col0{width:160px}
.hpm-rs-tab thead th,.hpm-rs-tab thead td{border-bottom:0 !important; padding:0 6px 8px !important}
.hpm-rs-tab tbody th{color:#6b7280; font-weight:600; font-size:calc(13px * var(--hpm-fs,1))}
.hpm-rs-tab td.est-ecarte{opacity:.55}
.hpm-rs-tab td > small,.hpm-rs-tab td > span + small{display:block; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280; margin-top:2px}
.hpm-rs-cd{border:1px solid #e4e8ee; border-radius:12px; padding:11px 12px; background:#fff; height:100%; box-sizing:border-box; display:flex; flex-direction:column; gap:2px}
.hpm-rs-cd b{font-size:calc(14.5px * var(--hpm-fs,1)); color:var(--hpm-t-1d2430,#1d2430)}
.hpm-rs-cd small{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280; font-weight:500}
.hpm-rs-cd .hpm-rs-st{align-self:flex-start; margin-top:4px}
.hpm-rs-cd.est-top{border:2px solid #0c8560; background:#f3fbf7}
.hpm-rs-cd.est-top .hpm-rs-cd-s{color:#0a6b4d; font-weight:700}
.hpm-rs-cd.est-retenu{border:2px solid #0c8560; background:#e9f7f0}
.hpm-rs-cd.est-ecarte{opacity:.6}
.hpm-rs-best{display:inline-block; background:#dcf3ea; color:#0a6b4d; font-weight:700; border-radius:6px; padding:1px 7px; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-style:normal; margin-left:4px}
.hpm-rs-oui{color:#0a7a55; font-weight:700}
.hpm-rs-non{color:#b42318}
.hpm-rs-oui small,.hpm-rs-non small{font-weight:400; color:inherit}
.hpm-rs-nr{color:#b0b6c1}
.hpm-rs-exige{font-style:normal; font-size:max(calc(10.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--hpm-t-8224e3,#8224E3); background:var(--hpm-t-f3e9fc,#f3e9fc); border-radius:4px; padding:1px 5px; margin-left:4px; white-space:nowrap}
.hpm-rs-et{color:#f59e0b; letter-spacing:1px; font-size:calc(14px * var(--hpm-fs,1))}
.hpm-rs-et s{color:#d6dae2; text-decoration:none}
.hpm-rs-tab td .hpm-rs-mot,.hpm-rs-dd-avis .hpm-rs-mot{display:block; margin-top:4px}
.hpm-rs-doc{display:inline-flex !important; align-items:center; gap:5px; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)) !important; border:1px solid #e4e8ee !important; border-radius:7px !important; padding:3px 8px !important; background:#fff !important; color:var(--hpm-t-1d2430,#1d2430) !important; cursor:pointer; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:0; min-height:0; width:auto}
.hpm-rs-doc em{font-style:normal; font-weight:800; font-size:max(calc(10px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#d93025}
.hpm-rs-doc:hover{border-color:var(--hpm-t-b89ae8,#b89ae8) !important}
.hpm-rs-att{font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#9a4a06}
.hpm-rs-rq{display:block; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#4b5563; margin-bottom:3px}
.hpm-rs-rq i{color:#8a92a0}
.hpm-rs-act{display:flex; flex-wrap:wrap; align-items:center; gap:8px}
.hpm-rs-r-act td,.hpm-rs-r-act th{border-bottom:0 !important}
.hpm-rs-outils{position:absolute; top:6px; right:6px; display:inline-flex; gap:3px}
.hpm-rs-cd{position:relative}
.hpm-rs-cd > b{padding-right:62px}
.hpm-rs-outils .hpm-rs-ico{width:26px; height:26px; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); opacity:.7}
.hpm-rs-cd:hover .hpm-rs-ico,.hpm-rs-outils .hpm-rs-ico:focus-visible{opacity:1}
.hpm-rs b,.hpm-rs-fen b{font-weight:700}
.hpm-rs-alerte{background:#fff6ea; border:1px solid #f6d7ad; color:#8a3b06; border-radius:8px; padding:8px 12px; font-size:calc(13px * var(--hpm-fs,1))}
.hpm-ep-btn.hpm-rs-pt{padding:6px 12px !important; font-size:calc(13px * var(--hpm-fs,1))}
.hpm-ep-btn.est-vert{background:#0c8560 !important; border-color:#0c8560 !important; color:#fff !important}
.hpm-ep-btn.est-vert:hover{background:#0a6b4d !important}
.hpm-rs-bas{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.hpm-rs-note{background:var(--hpm-t-f6f2fd,#f6f2fd); border-radius:10px; padding:10px 14px; font-size:calc(13px * var(--hpm-fs,1)); color:var(--hpm-t-4b2a86,#4b2a86); margin:14px 0 0 !important}
.hpm-rs-sug{border:1px dashed var(--hpm-t-b89ae8,#b89ae8); border-radius:12px; padding:12px 14px; margin:0 0 14px; font-size:calc(13px * var(--hpm-fs,1)); background:var(--hpm-t-fbf9ff,#fbf9ff)}
.hpm-rs-sug p{margin:0 0 4px !important; color:var(--hpm-t-6d1fc0,#6d1fc0); font-weight:600}
.hpm-rs-pp{display:inline-flex; align-items:center; gap:7px; border:1px solid #e4e8ee; border-radius:999px; padding:4px 12px 4px 4px; margin:6px 6px 0 0; background:#fff; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-rs-pp i{width:24px; height:24px; border-radius:50%; background:#0c8560; color:#fff; font-style:normal; font-size:max(calc(10px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; display:inline-flex; align-items:center; justify-content:center}

/* Le comparatif en cartes (colonne étroite, téléphone) */
.hpm-rs-cartes{display:flex; flex-direction:column; gap:10px}
.hpm-rs-pc{border:1px solid #e4e8ee; border-radius:12px; padding:12px; background:#fff}
.hpm-rs-pc > .hpm-rs-cd{border:0; padding:0; background:none}
.hpm-rs-pc.est-top,.hpm-rs-pc.est-retenu{border:2px solid #0c8560; background:#f3fbf7}
.hpm-rs-pc.est-ecarte{opacity:.6}
.hpm-rs-pc dl{display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; margin:10px 0 0; font-size:calc(13px * var(--hpm-fs,1))}
.hpm-rs-pc dt{color:#6b7280; margin:0; font-weight:500}
.hpm-rs-pc dd{margin:0; text-align:right; overflow-wrap:anywhere}
.hpm-rs-pc dd small{display:block; color:#6b7280; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-rs-pc-rq{margin-top:8px}
.hpm-rs-pc .hpm-rs-act{margin-top:10px}

/* Les fenêtres */
.hpm-cal-fiche.hpm-rs-fen.est-large{width:600px}
.hpm-rs-fen .hpm-cal-fiche-corps{gap:12px}
.hpm-rs-types{display:flex; flex-wrap:wrap; gap:6px}
.hpm-rs-crs{display:flex; flex-direction:column; gap:6px}
.hpm-rs-cr{display:grid; grid-template-columns:minmax(0,1fr) 118px auto 32px; gap:6px; align-items:center; padding:6px; border:1px solid #eef0f4; border-radius:10px; background:#fafbfc}
.hpm-rs-fen .hpm-rs-cr [data-c]{width:100% !important; min-width:0}
.hpm-rs-fen .hpm-rs-cr [data-c=exige]{width:16px !important; height:16px; margin:0 !important; accent-color:var(--hpm-t-8224e3,#8224E3)}
.hpm-rs-fen .hpm-rs-cr [data-c=cible]{grid-column:1 / -1}
.hpm-rs-cr .hpm-rs-ico{width:32px}
@media (max-width:520px){ .hpm-rs-cr{grid-template-columns:minmax(0,1fr) auto 32px} .hpm-rs-fen .hpm-rs-cr [data-c=label]{grid-column:1 / -1} }
.hpm-rs-cr input[type=text],.hpm-rs-cr select{border:1px solid #d9dee6 !important; border-radius:8px !important; padding:6px 9px !important; font:inherit !important; font-size:calc(13.5px * var(--hpm-fs,1)) !important; background:#fff !important; color:var(--hpm-t-1d2430,#1d2430) !important; margin:0 !important; height:auto !important; box-shadow:none !important}
.hpm-rs-cr [data-c=label]{flex:1 1 160px; min-width:0}
.hpm-rs-cr [data-c=cible]{flex:1 1 150px; min-width:0}
.hpm-rs-cr [data-c=cible][hidden]{display:none}
.hpm-rs-cr-ex{display:inline-flex; align-items:center; gap:4px; font-size:calc(13px * var(--hpm-fs,1)); color:var(--hpm-t-374151,#374151); white-space:nowrap}
.hpm-rs-cvs{display:flex; flex-direction:column; gap:8px}
.hpm-rs-cv{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; align-items:center}
.hpm-rs-cv-l{grid-column:1 / -1; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:600; color:var(--hpm-t-374151,#374151)}
.hpm-rs-cv input{border:1px solid #d9dee6 !important; border-radius:8px !important; padding:7px 9px !important; font:inherit !important; font-size:calc(14px * var(--hpm-fs,1)) !important; background:#fff !important; color:var(--hpm-t-1d2430,#1d2430) !important; margin:0 !important; height:auto !important; width:100% !important; box-sizing:border-box; box-shadow:none !important}
.hpm-rs-seg{display:inline-flex; border:1px solid #d9dee6; border-radius:8px; overflow:hidden}
.hpm-rs-seg button{border:0 !important; border-left:1px solid #e4e8ee !important; background:#fff !important; color:var(--hpm-t-374151,#374151) !important; padding:6px 11px !important; font-size:calc(13px * var(--hpm-fs,1)) !important; cursor:pointer; margin:0; border-radius:0 !important; min-height:0; width:auto}
.hpm-rs-seg button:first-child{border-left:0 !important}
.hpm-rs-seg button.est-on[data-vv=ok]{background:#0c8560 !important; color:#fff !important}
.hpm-rs-seg button.est-on[data-vv=ko]{background:#b42318 !important; color:#fff !important}
.hpm-rs-seg button.est-on[data-vv=""]{background:#eef0f4 !important}
.hpm-rs-devis-l{display:flex; gap:8px; flex-wrap:wrap}
.hpm-rs-devis-l select{flex:1 1 200px; border:1px solid #d9dee6 !important; border-radius:8px !important; padding:8px 10px !important; font:inherit !important; font-size:calc(14px * var(--hpm-fs,1)) !important; background:#fff !important; color:var(--hpm-t-1d2430,#1d2430) !important; margin:0 !important; height:auto !important}
.hpm-rs-note-et{display:flex; gap:4px}
.hpm-rs-note-et button{border:0 !important; background:none !important; font-size:calc(30px * var(--hpm-fs,1)) !important; line-height:1; color:#d6dae2 !important; cursor:pointer; padding:0 2px !important; margin:0; min-height:0; width:auto}
.hpm-rs-note-et button.est-on{color:#f59e0b !important}
.hpm-rs-note-et button:focus-visible{outline:2px solid var(--hpm-t-8224e3,#8224E3); border-radius:4px}
.hpm-rs-res{display:flex; gap:12px; align-items:center; border:1px solid #e4e8ee; border-radius:10px; padding:12px}
.hpm-rs-res b{display:block; font-size:calc(15px * var(--hpm-fs,1))}
.hpm-rs-res small{color:#6b7280; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-rs-ens{font-weight:700; margin:4px 0 -4px !important}
.hpm-rs-ck{display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-top:1px solid #f1f3f7; cursor:pointer}
.hpm-rs-ck input{margin-top:3px; accent-color:#0c8560; width:16px; height:16px; flex:none}
.hpm-rs-ck b{font-weight:500}
.hpm-rs-ck em{font-style:normal; font-weight:700}
.hpm-rs-ck small{display:block; color:#6b7280; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-rs-ck input:disabled + span{opacity:.6}
.hpm-rs-sous{margin:-4px 0 4px 26px}
.hpm-rs-sous[hidden]{display:none}
.hpm-rs-info-l{display:flex; gap:8px; align-items:flex-start; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280; border-top:1px solid #f1f3f7; padding-top:9px !important}
.hpm-rs-info-l span{flex:none; width:18px; height:18px; border-radius:5px; background:#eef0f4; font:italic 700 max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))/18px Georgia,serif; text-align:center}
.hpm-cal-fiche .hpm-ep-btn.est-primaire.est-vert{background:#0c8560 !important}

@media (max-width: 760px){
  .hpm-rs-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hpm-rs-b{grid-template-columns:40px minmax(0,1fr)}
  .hpm-rs-b-d{grid-column:1 / -1; flex-direction:row; justify-content:space-between; align-items:center}
  .hpm-rs-ch{flex-wrap:wrap}
  .hpm-rs-bulle{min-width:0}
}
@media print{ .hpm-rs-bulle{display:none} }

/* Ressources 1.4.38 — retours de Kad : retour, recherche, cases à remplir, couleurs par type */
.hpm-rs-fil{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
/* 1.4.39 : à droite, fond coloré, texte en contraste (`[Kad]`). */
.hpm-rs-retour{margin-left:auto; border:0 !important; border-radius:9px !important; padding:9px 16px !important; background:linear-gradient(135deg,var(--hpm-t-0068e8,#0068E8),var(--hpm-t-8224e3,#8224E3)) !important; color:#fff !important;
  font-weight:700 !important; font-size:calc(13.5px * var(--hpm-fs,1)) !important; cursor:pointer; box-shadow:0 4px 12px rgba(130,36,227,.25) !important; line-height:1.2; width:auto; min-height:0}
.hpm-rs-retour:hover{filter:brightness(1.08)}
.hpm-rs-retour:focus-visible{outline:2px solid #1d2430; outline-offset:2px}
.hpm-rs-barre{display:flex; flex-direction:column; gap:10px; margin-bottom:6px}
.hpm-rs-rech{max-width:420px}
.hpm-rs-plus{display:flex; align-items:center; gap:12px; justify-content:center; margin:12px 0 0 !important; color:#6b7280; font-size:calc(13px * var(--hpm-fs,1))}
.hpm-rs-ajout{border:1px dashed #c9cfd8 !important; background:#fafbfc !important; color:var(--hpm-t-0057c2,#0057c2) !important; border-radius:7px !important; padding:3px 9px !important; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)) !important; font-weight:600; cursor:pointer; margin:0; min-height:0; width:auto; line-height:1.4}
.hpm-rs-ajout:hover{border-color:var(--hpm-t-0057c2,#0057c2) !important; background:var(--hpm-t-eef5ff,#eef5ff) !important}
.hpm-rs-cible{outline:2px solid var(--hpm-t-0068e8,#0068E8); outline-offset:4px; border-radius:8px}
/* Une couleur par type (puces du filtre et icônes) — moins de violet partout. */
.hpm-li-chip.hpm-rs-f{--c:#374151; --f:#f3f4f6}
.hpm-li-chip.hpm-rs-f.t-tous{--c:#1d2430; --f:#ffffff; border-color:#d9dee6}
.hpm-li-chip.hpm-rs-f.t-humain{--c:var(--hpm-t-6d28d9,#6d28d9); --f:var(--hpm-t-f7f3ff,#f7f3ff)}
.hpm-li-chip.hpm-rs-f.t-prestataire{--c:var(--hpm-t-0057c2,#0057c2); --f:var(--hpm-t-eef5ff,#eef5ff)}
.hpm-li-chip.hpm-rs-f.t-materiel{--c:#b45309; --f:#fff7eb}
.hpm-li-chip.hpm-rs-f.t-lieu{--c:#0a7a55; --f:#edf8f3}
.hpm-li-chip.hpm-rs-f.t-assurance{--c:#b42318; --f:#fdf1f0}
.hpm-li-chip.hpm-rs-f.t-consommables{--c:#7a5d00; --f:#fbf6e3}
.hpm-li-chip.hpm-rs-f.t-location{--c:#0e7490; --f:#ecf8fb}
.hpm-li-chip.hpm-rs-f.t-autre{--c:#4b5563; --f:#f3f4f6}
.hpm-rs-ic.t-humain{background:var(--hpm-t-f3edff,#f3edff)}.hpm-rs-ic.t-prestataire{background:var(--hpm-t-e9f2ff,#e9f2ff)}.hpm-rs-ic.t-materiel{background:#fff4e2}.hpm-rs-ic.t-lieu{background:#e5f6ee}
.hpm-rs-ic.t-assurance{background:#fdebea}.hpm-rs-ic.t-consommables{background:#f8f3de}.hpm-rs-ic.t-location{background:#e6f5f9}
/* Violet clair encore plus clair */
.hpm-rs-tag{background:var(--hpm-t-f7f2fe,#f7f2fe); color:var(--hpm-t-6d28d9,#6d28d9)}
.hpm-rs-exige{background:var(--hpm-t-f8f4fe,#f8f4fe); color:var(--hpm-t-7c3aed,#7c3aed)}
.hpm-rs-sug{background:var(--hpm-t-fdfbff,#fdfbff); border-color:var(--hpm-t-d9c7f5,#d9c7f5)}
.hpm-rs-st.st-devis{background:var(--hpm-t-f6f0fe,#f6f0fe); color:var(--hpm-t-6d28d9,#6d28d9)}
.hpm-rs-note{background:var(--hpm-t-faf7fe,#faf7fe); color:var(--hpm-t-5b3a92,#5b3a92)}

/* ─── 1.4.42 — Demande de devis par lien sécurisé ─── */
.hpm-rs-dl{display:block; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#9a4a06; font-weight:600; margin-top:2px}
.hpm-rs-dl.est-ok{color:#0c8560; font-weight:700; margin-top:5px}
.hpm-rs-dl-i{display:block; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280; margin-top:1px}
.hpm-rs-dl-mot{display:block; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280; font-style:italic; margin-top:3px}
.hpm-rs-dl-act{display:block; margin-top:3px}
.hpm-rs-dl-act .hpm-rs-mot{display:inline-block !important; margin:0 12px 0 0 !important}
.hpm-rs-dl-act .hpm-rs-mot:last-child{margin-right:0 !important}
.hpm-rs-dl-btn{display:inline-flex; align-items:center; gap:6px; margin-top:6px; border:1px solid #d9dbe3; background:#fff; border-radius:9px; padding:6px 11px; font:inherit; font-size:calc(13px * var(--hpm-fs,1)); font-weight:700; color:var(--hpm-t-1d2430,#1d2430); cursor:pointer}
.hpm-rs-dl-btn:hover{border-color:var(--hpm-t-8224e3,#8224E3); color:var(--hpm-t-8224e3,#8224E3)}
.hpm-rs-dl-rang > label:first-child{flex:1 1 260px}
.hpm-rs-dl-rang > label:last-child{flex:0 0 150px}

/* Formulaire */

.hpm-cal-fiche small{font-weight:500}

/* ─── 1.4.43 — La fiche d'une réunion ─── */
.hpm-rn .hpm-rn-f{width:720px}
.hpm-rn-tete{flex:1 1 auto; min-width:0}
.hpm-rn-type{display:inline-block; font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:800; letter-spacing:.04em; text-transform:uppercase; background:rgba(255,255,255,.22); border-radius:99px; padding:2px 9px; margin-bottom:4px}
.hpm-rn-quand{font-size:calc(13px * var(--hpm-fs,1)); opacity:.92; margin-top:2px}
.hpm-rn-infos{display:flex; flex-wrap:wrap; gap:8px}
.hpm-rn-pill{display:inline-flex; align-items:center; gap:6px; border:1px solid #e3e6ee; border-radius:9px; padding:7px 11px; font-size:calc(13px * var(--hpm-fs,1)); background:var(--hpm-t-fafbff,#fafbff); color:var(--hpm-t-1d2430,#1d2430) !important; text-decoration:none !important}
.hpm-rn-pill.est-visio{border:0; background:linear-gradient(135deg,var(--hpm-t-0068e8,#0068E8),var(--hpm-t-8224e3,#8224E3)); color:#fff !important; font-weight:700}
.hpm-rn-desc{font-size:calc(13.5px * var(--hpm-fs,1)); color:var(--hpm-t-374151,#374151); margin:0}
.hpm-rn-h{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; font-size:calc(13.5px * var(--hpm-fs,1)); font-weight:800; color:var(--hpm-t-8224e3,#8224E3); margin-top:4px}
.hpm-rn-h small{font-weight:600; color:#6b7280; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-rn-plus{margin-left:auto; display:inline-flex; gap:12px; flex-wrap:wrap}
.hpm-rn-lien{border:0; background:none; padding:0; color:var(--hpm-t-0057c2,#0057c2); font:inherit; font-size:calc(13px * var(--hpm-fs,1)); font-weight:700; cursor:pointer}
.hpm-rn-lien:hover{text-decoration:underline}
.hpm-rn-rep{display:flex; gap:8px; flex-wrap:wrap}
.hpm-rn-rep button{flex:1 1 150px; border:1.5px solid #d9dbe3; border-radius:10px; padding:10px; font:inherit; font-weight:700; font-size:calc(13.5px * var(--hpm-fs,1)); background:#fff; cursor:pointer}
.hpm-rn-rep .est-oui{color:#0c8560} .hpm-rn-rep .est-pe{color:#b26a00} .hpm-rn-rep .est-non{color:#b42318}
.hpm-rn-rep .est-oui.est-on{border-color:#0c8560; background:#e8f6f0}
.hpm-rn-rep .est-pe.est-on{border-color:#b26a00; background:#fff4e0}
.hpm-rn-rep .est-non.est-on{border-color:#b42318; background:#fdecec}
.hpm-rn-rep button:disabled{cursor:default; opacity:.7}
.hpm-rn-comptes{display:flex; gap:6px; flex-wrap:wrap; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.hpm-rn-comptes b{border-radius:99px; padding:3px 9px}
.c-oui{background:#e8f6f0; color:#0c8560} .c-pe{background:#fff4e0; color:#b26a00} .c-non{background:#fdecec; color:#b42318} .c-att{background:#f1f2f5; color:#6b7280}
.hpm-rn-gens{display:flex; flex-wrap:wrap; gap:6px}
.hpm-rn-g{display:inline-flex; align-items:center; gap:7px; border:1px solid #eceef3; border-radius:99px; padding:3px 10px 3px 3px; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); background:#fff}
.hpm-rn-g i{width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font:700 max(calc(10px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)) system-ui,sans-serif; color:#fff; font-style:normal}
.hpm-rn-g em{font-style:normal; font-weight:800; font-size:max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))}
.s-oui{color:#0c8560} .s-pe{color:#b26a00} .s-non{color:#b42318} .s-att{color:#686d82}
.hpm-rn-sec{margin:0; font-size:calc(13px * var(--hpm-fs,1)); color:var(--hpm-t-374151,#374151)}
.hpm-rn-odj{list-style:none; margin:0; padding:0; border:1px solid #eceef3; border-radius:10px; overflow:hidden}
.hpm-rn-odj li{display:flex; align-items:center; gap:9px; padding:8px 11px; border-top:1px solid #f0f2f5; font-size:calc(13.5px * var(--hpm-fs,1))}
.hpm-rn-odj li:first-child{border-top:0}
.hpm-rn-odj li.est-vide{color:#686d82; font-size:calc(13px * var(--hpm-fs,1))}
.hpm-rn-odj .n{width:22px; height:22px; border-radius:50%; background:var(--hpm-t-f3eaff,#f3eaff); color:var(--hpm-t-8224e3,#8224E3); font:800 max(calc(11px * var(--hpm-fs,1)),var(--hpm-fs-min,0px))/22px system-ui,sans-serif; text-align:center; flex:none}
.hpm-rn-odj .t{flex:1; min-width:0}
.hpm-rn-odj .q{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#6b7280}
.hpm-rn-odj .d{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; color:var(--hpm-t-374151,#374151); background:#f1f2f5; border-radius:6px; padding:2px 7px; white-space:nowrap}
.hpm-rn-odj li.est-prop{background:#fffaf0} .hpm-rn-odj li.est-prop .t{color:#6b5a2e}
.hpm-rn-val{font:inherit; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; color:#0c8560; border:1px solid #bfe5d5; border-radius:7px; padding:3px 8px; background:#fff; cursor:pointer}
.hpm-rn-ord{display:inline-flex; gap:2px}
.hpm-rn-ord button,.hpm-rn-ico{border:1px solid #e3e6ee; background:#fff; border-radius:6px; width:24px; height:24px; padding:0; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); cursor:pointer; color:#6b7280; line-height:1}
.hpm-rn-ord button:disabled{opacity:.35; cursor:default}
.hpm-rn-pt-f{display:flex; gap:6px; flex-wrap:wrap}
.hpm-rn-pt-f [data-p=titre]{flex:1 1 220px}
.hpm-rn-pt-f [data-p=duree]{width:80px}
.hpm-rn-pt-f input,.hpm-rn-pt-f select,.hpm-rn-act-l input,.hpm-rn-act-l select{border:1px solid #d9dbe3; border-radius:8px; padding:7px 9px; font:inherit; font-size:calc(13px * var(--hpm-fs,1)); min-width:0}
.hpm-rn-docs{display:flex; flex-wrap:wrap; gap:6px}
.hpm-rn-doc{display:inline-flex; align-items:center; gap:4px}
.hpm-rn-doc > button:first-child{display:inline-flex; align-items:center; gap:7px; border:1px solid #e3e6ee; border-radius:9px; padding:6px 10px; font:inherit; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); background:#fff; cursor:pointer; color:var(--hpm-t-1d2430,#1d2430)}
.hpm-rn-doc b{font:800 max(calc(10px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)) system-ui,sans-serif; color:#fff; border-radius:4px; padding:2px 5px; background:#6b7280}
.hpm-rn-doc b.x-pdf{background:#d93025} .hpm-rn-doc b.x-docx,.hpm-rn-doc b.x-odt{background:#2b579a} .hpm-rn-doc b.x-xlsx,.hpm-rn-doc b.x-ods,.hpm-rn-doc b.x-csv{background:#1e7145} .hpm-rn-doc b.x-pptx,.hpm-rn-doc b.x-odp{background:#c43e1c}
.hpm-rn-choix-doc select{width:100%; border:1px solid #d9dbe3; border-radius:8px; padding:8px; font:inherit; font-size:calc(13px * var(--hpm-fs,1))}
.hpm-rn-cr-ok{border:1px solid #d7ecdf; background:#f3faf6; border-radius:10px; padding:10px 12px; font-size:calc(13px * var(--hpm-fs,1)); color:#23583f}
.hpm-rn-cr-br{border:1px dashed #e3cf9a; background:#fffaf0; border-radius:10px; padding:10px 12px; font-size:calc(13px * var(--hpm-fs,1)); color:#6b5a2e}
/* Le compte rendu */
.hpm-rn-pres{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:6px}
.hpm-rn-pres label{display:flex; align-items:center; gap:7px; font-size:calc(13px * var(--hpm-fs,1)); border:1px solid #eceef3; border-radius:8px; padding:7px 9px; cursor:pointer}
.hpm-rn-notes{display:flex; flex-direction:column; gap:10px}
.hpm-rn-note{display:flex; flex-direction:column; gap:4px}
.hpm-rn-note b{font-size:calc(13px * var(--hpm-fs,1)); color:var(--hpm-t-8224e3,#8224E3)}
.hpm-rn-note textarea{border:1px solid #d9dbe3; border-radius:9px; padding:9px 11px; font:inherit; font-size:calc(13.5px * var(--hpm-fs,1)); resize:vertical}
.hpm-rn-fich{display:flex; flex-wrap:wrap; align-items:center; gap:10px}
.hpm-rn-acts{display:flex; flex-direction:column; gap:6px}
.hpm-rn-act-l{display:grid; grid-template-columns:110px minmax(0,1fr) 140px 140px auto 26px; gap:6px; align-items:center}
.hpm-rn-tache{font:inherit; font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; color:#fff; background:linear-gradient(135deg,var(--hpm-t-0068e8,#0068E8),var(--hpm-t-8224e3,#8224E3)); border:0; border-radius:7px; padding:6px 9px; cursor:pointer; white-space:nowrap}
.hpm-rn-tok{font-size:max(calc(12px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); font-weight:700; color:#0c8560; white-space:nowrap}
.hpm-rn-publ{border:1px solid #d7ecdf; background:#f3faf6; border-radius:10px; padding:10px 12px; font-size:max(calc(12.5px * var(--hpm-fs,1)),var(--hpm-fs-min,0px)); color:#23583f; line-height:1.6}
@media (max-width: 760px){
  .hpm-rn-act-l{grid-template-columns:1fr 1fr; }
  .hpm-rn-act-l [data-c=t]{grid-column:1 / -1}
}

/* Les champs masqués de la fenêtre d'un événement restent masqués (« Jusqu'au »…) */
.hpm-cal-fiche [hidden]{display:none !important}
/* Les fenêtres posées sur <body> (hors de .hpm-ep) reprennent les couleurs de l'espace. */
.hpm-rn{--ep-bleu:var(--hpm-t-0068e8,#0068E8); --ep-violet:var(--hpm-t-8224e3,#8224E3); --ep-turquoise:#0FA69F; --ep-trait:#e4e8ee; --ep-encre:#1d2430; --ep-doux:#6b7280}
.hpm-rn *{box-sizing:border-box}
.hpm-rn-act-l{grid-template-columns:104px minmax(0,1fr) 124px 136px auto 26px}
/* alpha.190 : le lien vers le pôle ressources, sur un besoin « humain » */
.hpm-rs-pole{border-color:#e1d3f7;background:#faf7ff}.hpm-rs-pole a{font-weight:700;color:var(--hpm-ds-violet,#8224E3)}
