/* ERP épif : compléments au style de sales.epif.fr (style.css, brandbook), même vocabulaire visuel.
   Rien ici ne redéfinit les classes de style.css : préfixes à part (pas-, ligne-, camp-, saisie, avis). */

.brand__erp { padding: 3px 10px; border-radius: var(--r-pill); background: var(--foret); color: var(--rosee); font-size: .75rem; font-weight: 800; letter-spacing: .04em; }

/* --- À faire : alertes automatiques, actions datées, clients à programmer ------------------------------------------- */
.faire-bloc { margin-bottom: 22px; }
.faire-bloc h2 { display: flex; align-items: center; gap: 8px; margin: 0 8px 10px; font-size: 1.05rem; font-weight: 800; }
.faire-bloc h2 span { padding: 2px 9px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .08); color: var(--ink-soft); font-size: .8rem; }
.a-faire { display: grid; gap: 0; padding: 6px; }
.ligne-faire { display: grid; grid-template-columns: 6.5rem minmax(0, 14rem) minmax(0, 1fr) auto; align-items: center; gap: 8px 14px; padding: 12px 12px 12px 14px; border-radius: 16px; color: var(--foret); }
.ligne-faire + .ligne-faire { box-shadow: 0 -1px 0 var(--trait); }
.ligne-faire:hover { background: #F7FAF4; }
.ligne-faire .qui { display: grid; min-width: 0; color: inherit; text-decoration: none; }
.ligne-faire .qui b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ligne-faire .qui span { overflow: hidden; color: var(--ink-soft); font-size: .8125rem; text-overflow: ellipsis; white-space: nowrap; }
.ligne-faire .quoi { font-size: .9375rem; font-weight: 600; }
.ligne-faire .depuis { color: var(--ink-soft); font-size: .875rem; font-weight: 700; white-space: nowrap; }
.ligne-faire .go { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); }
.ligne-faire .go:hover { background: var(--grad-lime); }
.ligne-faire .go::after { content: none; } /* le style partagé de sales.epif.fr étend la flèche à toute la ligne : ici la ligne n'est pas positionnée, la flèche couvrait toute la page (clic sur « Sales » = fiche ouverte) */
.ligne-faire__form { grid-column: 1 / -1; } .ligne-faire__form:empty { display: none; }
.en-retard { color: #B23A20 !important; font-weight: 800; }
.coche { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid #9FCB62; border-radius: 50%; background: var(--blanc); color: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.coche::after { content: "✓"; }
.coche:hover { background: var(--rosee); color: #3E7D1C; }
.form-action { display: grid; grid-template-columns: minmax(0, 1fr) 11rem; gap: 10px 14px; padding: 12px 14px; border-radius: 14px; background: #F4F6F3; box-shadow: inset 0 0 0 1px var(--trait); }
.form-action .actions, .form-action .msg { grid-column: 1 / -1; } .form-action .msg:empty { display: none; }
.tag--urgent { background: var(--ambre); }
.tag--jour { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.tag--suivre { background: #E6EBE3; }
@media (max-width: 699px) {
  .ligne-faire { grid-template-columns: auto minmax(0, 1fr) auto; }
  .ligne-faire .quoi { grid-column: 1 / -1; grid-row: 2; }
  .form-action { grid-template-columns: 1fr; }
}

/* --- Clients : cartes du plateau ---------------------------------------------------------------------------------- */
.carte-crm__sous { display: block; margin-top: 1px; overflow: hidden; color: var(--ink-soft); font-size: .78rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.carte-crm__alerte { display: block; margin-top: 7px; padding: 5px 9px; border-radius: 10px; background: #FBF1D6; color: var(--foret); font-size: .75rem; font-weight: 700; line-height: 1.3; white-space: normal !important; }
.carte-crm__nom { display: flex; align-items: baseline; gap: 0; min-width: 0; font-size: .95rem; }
.carte-crm__nom b { flex: none; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.carte-crm__ent { min-width: 0; overflow: hidden; color: var(--ink-soft); font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.carte-crm__ent::before { content: ""; display: inline-block; width: 1px; height: .9em; margin: 0 8px; background: rgba(21, 44, 18, .25); vertical-align: -1px; }
.carte-crm__infos { display: grid; gap: 4px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--trait); }
.carte-crm__infos > span { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: .8rem; }
.carte-crm__infos i { min-width: 0; overflow: hidden; color: var(--ink-soft); font-style: normal; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.carte-crm__infos b { flex: none; font-weight: 800; }
.carte-crm__infos .en-retard b, .carte-crm__infos .en-retard i { color: #B23A20; }
.carte-crm__infos .a-programmer b { color: #8A4B0E; }
.carte-crm[data-alerte] { box-shadow: 0 8px 18px -14px rgba(21, 44, 18, .6), inset 0 0 0 1.5px var(--ambre); }

/* --- Fiche : étapes du Setup ------------------------------------------------------------------------------------ */
.pas { padding: 14px 16px; border: 1px solid var(--trait); border-radius: 18px; background: var(--blanc); }
.pas + .pas { margin-top: 8px; }
.pas__tete { display: flex; align-items: center; gap: 12px; }
.pas__num { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: #EEF1EC; color: var(--ink-soft); font-size: .875rem; font-weight: 800; }
.pas--fait .pas__num { background: var(--foret); color: var(--rosee); }
.pas--ouvert { border-color: var(--lime); box-shadow: 0 16px 34px -26px rgba(21, 44, 18, .7), inset 0 0 0 1px var(--lime); }
.pas--ouvert .pas__num { background: var(--grad-lime); color: var(--foret); }
.pas--ferme { opacity: .55; }
.pas__titre { flex: 1; font-weight: 800; }
.pas__resume { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; text-align: right; }
.pas__resume a { color: var(--foret); }
.pas__corps { display: grid; gap: 12px; margin-top: 12px; padding-left: 42px; font-size: .9375rem; }
.pas__corps p { margin: 0; }
@media (max-width: 699px) { .pas__corps { padding-left: 0; } }

/* boutons de l'ERP (même dessin que .bouton de sales) */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; border: 0; border-radius: var(--r-pill);
  background: var(--grad-lime); color: var(--foret); font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 8px 18px -12px rgba(98, 150, 30, .9); }
.btn:hover { filter: brightness(1.04); }
.btn--sombre { background: var(--foret); color: var(--rosee); box-shadow: none; }
.btn--doux { background: rgba(21, 44, 18, .08); color: var(--foret); box-shadow: none; }
.btn--doux:hover { background: rgba(21, 44, 18, .14); }
.btn[disabled] { opacity: .45; cursor: not-allowed; filter: none; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* avis : messages dans la fiche */
.avis { padding: 10px 14px; border-radius: 14px; font-size: .875rem; font-weight: 600; line-height: 1.45; }
.avis b { display: block; font-weight: 800; }
.avis--ok { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.avis--erreur { background: #FBEDEA; color: #8A2A14; }
.avis--attention { background: #FBF1D6; }
.avis--info { background: #EEF1EC; }
.controles { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.controles li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 6px; font-size: .875rem; }
.controles .consigne { grid-column: 2; color: var(--ink-soft); font-size: .8125rem; }
.ok-ic { color: #3E7D1C; font-weight: 800; } .ko-ic { color: #B23A20; font-weight: 800; } .warn-ic { color: #A0700E; font-weight: 800; }

/* choix (radio) et saisies */
.option { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 14px; background: #F4F6F3; box-shadow: inset 0 0 0 1px var(--trait); cursor: pointer; font-size: .9rem; }
.option:hover { background: var(--rosee); }
.option input { accent-color: #3E7D1C; }
.saisies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.saisie { display: grid; gap: 5px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.saisie--large { grid-column: 1 / -1; }
.saisie input, .saisie textarea, .saisie select { width: 100%; padding: 9px 12px; border: 1.5px solid var(--trait); border-radius: 12px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .9375rem; font-weight: 500; }
.saisie textarea { min-height: 132px; resize: vertical; line-height: 1.45; }
.saisie input:focus, .saisie textarea:focus { border-color: var(--lime); outline: 2px solid var(--lime); }
.saisie__ligne { display: flex; gap: 8px; }
.saisie__ligne input { flex: 1; }
.note-mini { color: var(--ink-soft); font-size: .8rem; font-weight: 500; }
details.volet { border-radius: 16px; background: #F4F6F3; box-shadow: inset 0 0 0 1px var(--trait); }
details.volet > summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; font-size: .9rem; font-weight: 800; list-style: none; cursor: pointer; }
details.volet > summary::-webkit-details-marker { display: none; }
details.volet > summary::after { content: "+"; color: var(--ink-soft); font-size: 1.1rem; }
details.volet[open] > summary::after { content: "−"; }
details.volet > div { display: grid; gap: 12px; padding: 0 14px 14px; }
.barre { height: 6px; overflow: hidden; border-radius: 3px; background: #E6EBE3; } .barre i { display: block; width: 0; height: 100%; background: var(--grad-lime); }
.bulle { max-width: 320px; padding: 10px 12px; border-radius: 14px 14px 14px 4px; background: #DCF8C6; font-size: .8125rem; line-height: 1.4; white-space: pre-line; }
.deux { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 260px); gap: 16px; }
@media (max-width: 699px) { .saisies, .deux { grid-template-columns: 1fr; } }

/* --- Fiche : prochaine action -------------------------------------------------------------------------------------- */
.bloc-action__ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.bloc-action__ligne b { font-size: .95rem; }
.bloc-action__ligne span { color: var(--ink-soft); font-weight: 700; }
.bloc-action__ligne .btn { margin-left: auto; }
#form-action:not(:empty) { margin-top: 10px; }
.table-camp--mini { min-width: 0; }
.table-camp--mini td, .table-camp--mini th { padding: 8px 6px; }
.lance-le { margin: 0 0 8px; color: var(--ink-soft); font-size: .875rem; font-weight: 600; } .lance-le b { color: var(--foret); }

/* --- Onglet Campagne de la fiche : chiffres ---------------------------------------------------------------------- */
.camp__tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.camp__tete b { display: block; font-size: 1rem; }
.camp__tete span { display: block; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.camp__tete a { color: inherit; text-decoration: none; }
.camp__chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.chiffre { padding: 10px 10px 8px; border-radius: 14px; background: #F4F6F3; }
.chiffre span { display: block; color: var(--ink-soft); font-size: .72rem; font-weight: 700; }
.chiffre b { display: block; font-size: 1.2rem; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.chiffre--cle { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.chiffre--rouge b { color: #B23A20; }
.budget { display: inline-flex; align-items: center; gap: 6px; padding: 4px 4px 4px 12px; border-radius: var(--r-pill); background: #F4F6F3; }
.budget input { width: 56px; padding: 6px 8px; border: 0; border-radius: var(--r-pill); background: var(--blanc); color: var(--foret); font: inherit; font-weight: 800; text-align: right; }
.budget .btn { padding: 6px 12px; font-size: .8rem; }

/* --- Campagnes : une ligne par client, comme le Gestionnaire de publicités ---------------------------------------- */
.board--table { overflow-x: auto; padding: 4px 10px; }
.table-camp { width: 100%; min-width: 880px; border-collapse: collapse; font-size: .9rem; }
.table-camp th { padding: 12px 10px; border-bottom: 1px solid var(--trait); color: var(--ink-soft); font-size: .75rem; font-weight: 700; text-align: left; white-space: nowrap; }
.table-camp td { padding: 12px 10px; border-bottom: 1px solid var(--trait); vertical-align: middle; }
.table-camp tbody tr:hover { background: #F7FAF4; }
.table-camp .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.table-camp .rouge { color: #B23A20; font-weight: 800; }
.table-camp .qui a { display: grid; color: inherit; text-decoration: none; }
.table-camp .qui b { font-weight: 800; }
.table-camp .qui span, .table-camp .lance span, .table-camp td small { display: block; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.table-camp .lance { white-space: nowrap; }
.table-camp tr.a-regarder td:first-child { box-shadow: inset 3px 0 0 var(--ambre); }
.table-camp tfoot td { border-bottom: 0; color: var(--ink-soft); font-weight: 800; }
.table-camp tfoot .num { color: var(--foret); }
/* Campagnes : un filet net entre deux campagnes */
.table-camp--campagnes > tbody > tr > td { border-bottom: 1.5px solid rgba(21, 44, 18, .2); }
/* Répartition par jour : bouton sous le nom du client ; le détail s'ouvre sous la ligne, sur toute la largeur du tableau,
   et forme un seul bloc avec la ligne ouverte (même fond, même filet vert à gauche, pas de trait entre les deux) */
.camp-jours-btn { margin-top: 4px; padding: 4px 0; border: 0; background: none; color: var(--foret); font: inherit; font-size: .78rem; font-weight: 700; text-decoration: underline; cursor: pointer; }
.table-camp .qui .camp-jours-btn span { display: inline-block; margin-left: 4px; color: inherit; font-size: inherit; transition: transform .15s; }
.camp-jours-btn[aria-expanded="true"] span { transform: rotate(90deg); }
.table-camp--campagnes > tbody > tr.camp-ouverte > td, .table-camp--campagnes > tbody > tr.camp-ouverte:hover > td { border-bottom-color: transparent; background: var(--rosee); }
.table-camp--campagnes > tbody > tr.camp-ouverte > td:first-child, .camp-jours > td { box-shadow: inset 4px 0 0 var(--lime); }
.table-camp--campagnes > tbody > tr.camp-jours > td { padding: 0 14px 18px 18px; border-bottom: 2px solid var(--foret); background: var(--rosee); }
.table-camp tbody tr.camp-jours:hover { background: none; }
.cj { overflow: hidden; border-radius: 14px; background: var(--blanc); box-shadow: 0 0 0 1px var(--trait); }
.cj__tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 12px 14px 8px; }
.cj__tete b { font-size: .9rem; } .cj__tete span { color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.cj__ligne { display: grid; grid-template-columns: minmax(4rem, .6fr) minmax(6.5rem, 1fr) minmax(4.5rem, .8fr) minmax(6rem, 1fr) minmax(0, 3.2fr); align-items: center; gap: 4px 18px; padding: 8px 14px; border-top: 1px solid var(--trait); font-size: .85rem; }
.cj__ligne--titres { color: var(--ink-soft); font-size: .72rem; font-weight: 700; }
.cj__ligne--total { font-weight: 800; background: #F4F6F3; }
.cj__ligne--pb { background: #FFF7E0; box-shadow: inset 3px 0 0 #D9822B; }
.cj__jour { font-weight: 700; font-variant-numeric: tabular-nums; }
.cj__zero { color: #B23A20; font-weight: 800; }
.cj__ev { display: flex; flex-wrap: wrap; gap: 4px 6px; min-width: 0; }
.cj__past { padding: 3px 9px; border-radius: var(--r-pill); background: #F4F6F3; font-size: .78rem; font-weight: 600; }
.cj__past--pb { background: var(--ambre); color: #5A3608; font-weight: 700; }
.cj__past--resolu { background: #E3F2D3; color: #2F5A1E; }
@media (max-width: 699px) {
  /* téléphone : le détail tient dans l'écran (collé à gauche de la zone qui défile), les événements passent sous la ligne du jour */
  .cj { position: sticky; left: 0; width: calc(100vw - 72px); }
  .cj__ligne { grid-template-columns: 3.2rem minmax(0, 1.3fr) minmax(0, .9fr) minmax(0, 1.1fr); gap: 4px 8px; padding: 8px 10px; }
  .cj__ev { grid-column: 1 / -1; } .cj__ev:empty { display: none; }
  .cj__zero { white-space: normal; }
}
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.diff { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; white-space: nowrap; }
.diff::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #B9C2B4; }
.diff--ok::before { background: #4E9F1F; }
.diff--alerte { color: #8A4B0E; } .diff--alerte::before { background: #D9822B; }
.interrupteur { position: relative; display: inline-block; width: 38px; height: 22px; }
.interrupteur input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.interrupteur span { position: absolute; inset: 0; border-radius: 11px; background: #CBD3C6; transition: background .15s; }
.interrupteur span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--blanc); box-shadow: 0 1px 2px rgba(21, 44, 18, .3); transition: transform .15s; }
.interrupteur input:checked + span { background: #4E9F1F; }
.interrupteur input:checked + span::after { transform: translateX(16px); }
.interrupteur input:focus-visible + span { outline: 2px solid var(--lime); outline-offset: 2px; }
.interrupteur input:disabled { cursor: wait; } .interrupteur input:disabled + span { opacity: .45; }
.budget-l input { width: 66px; padding: 6px 8px; border: 1.5px solid var(--trait); border-radius: 10px; background: var(--blanc); color: var(--foret); font: inherit; font-weight: 700; text-align: right; }
.budget-l input:focus { border-color: var(--lime); outline: 2px solid var(--lime); }

/* --- Application : rubriques à gauche (Sales, Delivery, KPI selon le rôle), onglets de la rubrique en haut ------------- */
.app { display: grid; grid-template-columns: 228px minmax(0, 1fr); min-height: 100vh; }
.cote { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 26px; padding: 22px 14px 18px;
  background: rgba(242, 254, 226, .66); border-right: 1px solid rgba(255, 255, 255, .8); box-shadow: 14px 0 32px -30px rgba(21, 44, 18, .55);
  -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); }
.cote__logo { display: flex; align-items: center; gap: 10px; padding: 4px 8px; text-decoration: none; }
.cote__logo img { display: block; height: 30px; width: auto; }
.cote__titre { padding: 0 12px; color: var(--ink-soft); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cote__modules { display: grid; gap: 4px; margin-top: -16px; }
.cote__modules a { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: var(--r-pill); color: var(--ink-soft); font-size: .95rem; font-weight: 700; text-decoration: none; }
.cote__modules a:hover { background: rgba(21, 44, 18, .07); color: var(--foret); }
.cote__modules a[aria-current] { background: var(--foret); color: var(--rosee); }
.cote__modules .ic { width: 22px; text-align: center; }
.cote__pied { margin-top: auto; }
.cote__modules--bas { margin-top: auto; } .cote__modules--bas:empty { display: none; } .cote__modules--bas:not(:empty) + .cote__pied { margin-top: 0; }
/* mon compte : mon nom en bas de la barre, comme une rubrique */
.cote__profil { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 18px; color: var(--foret); text-decoration: none; }
.cote__profil:hover { background: rgba(21, 44, 18, .07); }
.cote__profil[aria-current] { background: var(--foret); color: var(--rosee); }
.cote__profil[aria-current] small { color: rgba(242, 254, 226, .72); }
.cote__qui { display: grid; min-width: 0; line-height: 1.25; }
.cote__qui b { overflow: hidden; font-size: .9375rem; text-overflow: ellipsis; white-space: nowrap; }
.cote__qui small { color: var(--ink-soft); font-size: .75rem; font-weight: 600; }
.avatar { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--grad-lime); color: var(--foret); font-size: .9375rem; font-weight: 800; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55); }
.avatar--grand { width: 56px; height: 56px; font-size: 1.375rem; }
.zone { min-width: 0; }
.zone .entete .bar { width: min(100% - 2 * var(--gutter), 1560px); margin-inline: auto; padding: 6px; }
.zone .onglets { flex: 1; margin-right: 0; }
.zone .onglets a[href="#/sales/sop"], .zone .onglets a[href="#/delivery/sop"] { margin-left: auto; } /* la SOP, peu ouverte, tout à droite de la barre */
/* Delivery : l'offre (SAE, Reconversion) au-dessus des onglets ; couleurs des pastilles d'offre (SAE lime, Reconversion ambre) */
.offres { display: flex; gap: 6px; width: min(100% - 2 * var(--gutter), 1560px); margin: 0 auto 8px; padding-left: 6px; }
.offres[hidden] { display: none; }
.offres a { padding: 5px 14px; border-radius: var(--r-pill); color: var(--ink-soft); font-size: .8125rem; font-weight: 700; text-decoration: none; }
.offres a:hover { background: rgba(21, 44, 18, .07); color: var(--foret); }
.offres a[aria-current] { color: var(--foret); }
.offres a[data-offre="SAE"][aria-current] { background: var(--lime); }
.offres a[data-offre="Reconversion"][aria-current] { background: var(--ambre); }
.carte-crm--lecture { cursor: default; }
.carte-crm__nom b:only-child { max-width: none; }
.zone main { padding-top: clamp(24px, 4vw, 40px); }
.zone main.wrap { width: min(100% - 2 * var(--gutter), 1100px); }
.zone main.wrap.large { width: min(100% - 2 * var(--gutter), 1320px); }
.zone main.wrap.plein { width: min(100% - 2 * var(--gutter), 1560px); }
.zone main.cadre { width: 100%; padding: 0; }
/* Écrans Sales et KPI (cadres) : la page tient dans l'écran et ne défile plus, le cadre prend toute la place sous les onglets */
.cadres[hidden], .cadre-sales[hidden], #page[hidden] { display: none; }
body.vue-cadre { height: 100vh; height: 100dvh; overflow: hidden; }
body.vue-cadre .app { height: 100vh; height: 100dvh; min-height: 0; }
body.vue-cadre .zone { display: flex; flex-direction: column; min-height: 0; }
.cadres { flex: 1; min-height: 0; }
.cadre-sales { display: block; width: 100%; height: 100%; border: 0; background: var(--lichen); }
@media (max-width: 899px) {
  .app { grid-template-columns: 1fr; }
  .cote { position: static; height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px var(--gutter); border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .8); }
  .cote__titre { display: none; }
  .cote__modules { display: flex; margin: 0; } .cote__modules a { padding: 8px 12px; font-size: .875rem; }
  .cote__pied { order: 1; margin: 0 0 0 auto; } .cote__modules { order: 2; flex-basis: 100%; } /* logo et mon compte sur la 1re ligne, rubriques dessous */
  .cote__modules--bas { order: 3; margin: 0; }
  .cote__profil { padding: 4px; border-radius: 50%; } .cote__qui { display: none; }
  body.vue-cadre .app { grid-template-rows: auto minmax(0, 1fr); }
}

/* --- Mon compte -------------------------------------------------------------------------------------------------- */
.compte { display: grid; gap: 14px; max-width: 760px; }
/* MDP-2910 : « Changer mon mot de passe » dans Mon compte */
.mdp-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; }
.mdp-form__champ { display: grid; flex: 1 1 220px; gap: 6px; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.mdp-form__champ input { box-sizing: border-box; width: 100%; height: 42px; padding: 0 14px; border: 0; border-radius: 12px; background: var(--gris, #EEF1EC); color: var(--foret); font: inherit; font-size: 1rem; }
.mdp-form__msg:empty { display: none; }
.compte__bloc { display: grid; gap: 14px; padding: 18px 20px; border-radius: var(--r-glass); background: var(--blanc); box-shadow: 0 20px 44px -30px rgba(40, 64, 24, .55); }
.compte__id { display: flex; align-items: center; gap: 14px; }
.compte__id b { display: block; font-size: 1.25rem; font-weight: 800; }
.compte__id div > span { color: var(--ink-soft); font-size: .875rem; font-weight: 600; }
/* LIGNE-2210 : Mon profil › WhatsApp, la ligne pro reliée à Periskope (état, QR à scanner) */
.ligne-wa__tete { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; }
.ligne-wa__ic { display: grid; place-items: center; color: var(--foret); }
.ligne-wa__ic svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ligne-wa__qui { flex: 1; min-width: 140px; }
.ligne-wa__qui b { display: block; font-size: 1.0625rem; font-weight: 800; }
.ligne-wa__qui span { color: var(--ink-soft); font-size: .875rem; font-weight: 600; }
.ligne-wa__qr { display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; align-items: center; gap: 16px 28px; padding: 20px; border-radius: 22px; background: var(--rosee); }
.ligne-wa__qr[hidden] { display: none; }
.ligne-wa__cadre { grid-row: span 2; display: grid; place-items: center; width: 232px; height: 232px; box-sizing: border-box; padding: 10px; border-radius: 18px; background: #fff; }
.ligne-wa__cadre img { width: 100%; height: 100%; image-rendering: pixelated; }
.ligne-wa__vide { color: #5b6b57; font-size: .875rem; font-weight: 700; }
.ligne-wa__etapes { display: grid; gap: 10px; margin: 0; padding-left: 22px; font-weight: 700; }
.ligne-wa__etapes li::marker { color: var(--ink-soft); font-weight: 800; }
#wa-regenerer { justify-self: start; }
.ligne-wa__parcours { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ligne-wa__parcours[hidden] { display: none; }
.ligne-wa__parcours li { display: grid; align-content: start; gap: 4px; padding: 14px 14px 16px; border-radius: 18px; background: var(--rosee); }
.ligne-wa__parcours b { font-size: .9375rem; font-weight: 800; }
.ligne-wa__parcours li > span:last-child { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; line-height: 1.35; }
.ligne-wa__n { display: grid; place-items: center; width: 24px; height: 24px; margin-bottom: 4px; border-radius: 50%; background: var(--grad-lime); color: var(--foret); font-size: .75rem; font-weight: 800; }
@media (max-width: 759px) { .ligne-wa__parcours { grid-template-columns: 1fr 1fr; } }
#wa-connecter[hidden], .ligne-wa__cadre [hidden] { display: none; }
@media (max-width: 559px) { .ligne-wa__qr { grid-template-columns: 1fr; justify-items: center; } .ligne-wa__cadre { grid-row: auto; } #wa-regenerer { justify-self: center; } }

/* --- 🐞 Signaler : bouton en bas de la barre, panneau, liste des signalements ------------------------------------------- */
.cote__pied { display: flex; align-items: center; gap: 2px; }
.cote__pied .cote__profil { flex: 1; min-width: 0; }
.cote__bug { display: grid; place-items: center; flex: none; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: none; font: inherit; font-size: .95rem; cursor: pointer; opacity: .75; }
.cote__bug:hover { background: rgba(21, 44, 18, .07); opacity: 1; }
.cote__bug.en-capture { cursor: progress; opacity: .4; }
.fiche__bug { position: absolute; top: 16px; right: 60px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .08); font: inherit; cursor: pointer; }
.fiche__bug:hover { background: rgba(21, 44, 18, .14); }
.fiche__bug.en-capture { cursor: progress; opacity: .6; }
.signaler { width: min(640px, 100% - 32px); max-height: calc(100% - 32px); padding: 0; border: 0; border-radius: var(--r-board); background: #E9EEE6; color: var(--foret); box-shadow: 0 30px 60px -30px rgba(21, 44, 18, .6); }
.signaler::backdrop { background: rgba(21, 44, 18, .35); backdrop-filter: blur(2px); }
.sig { display: grid; gap: 14px; padding: 20px; }
.sig__tete { position: relative; padding-right: 48px; }
.sig__tete h2, .sig--fini h2 { margin: 0; font-size: 1.375rem; font-weight: 800; letter-spacing: -.02em; }
.sig__tete .fiche__fermer { top: -4px; right: -4px; }
.sig__choix { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 0; border: 0; }
.sig__choix legend { margin-bottom: 6px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.sig__choix[hidden] { display: none; }
.sig__carte { position: relative; display: grid; gap: 2px; padding: 12px 14px; border-radius: 16px; background: var(--blanc); box-shadow: inset 0 0 0 1.5px var(--trait); cursor: pointer; }
.sig__carte input { position: absolute; opacity: 0; pointer-events: none; }
.sig__carte b { font-size: .95rem; }
.sig__carte span { color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.sig__carte:hover { background: var(--rosee); }
.sig__carte:has(input:checked) { background: var(--rosee); box-shadow: inset 0 0 0 2px var(--lime), 0 10px 22px -18px rgba(21, 44, 18, .7); }
.sig__carte:has(input:focus-visible) { outline: 3px solid var(--foret); outline-offset: 2px; }
.sig__carte--petite { padding: 9px 14px; }
.sig__texte textarea { resize: vertical; min-height: 90px; }
.sig__capture { display: grid; gap: 6px; }
.sig__barre { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.sig__barre span { margin-right: auto; }
.sig__capture canvas { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 0 0 1px var(--trait), 0 12px 26px -20px rgba(21, 44, 18, .7); cursor: crosshair; touch-action: none; }
.lien { padding: 0; border: 0; background: none; color: var(--foret); font: inherit; font-weight: 700; text-decoration: underline; text-decoration-color: var(--lime); text-underline-offset: .2em; cursor: pointer; }
.sig__pied { justify-content: flex-start; }
.sig--fini { justify-items: center; padding: 30px 24px; text-align: center; }
.sig__merci { font-size: 2.5rem; line-height: 1; }
.sig-liste { display: grid; gap: 2px; padding: 6px; }
.sig-ligne { border-radius: 16px; }
.sig-ligne + .sig-ligne { box-shadow: 0 -1px 0 var(--trait); }
.sig-ligne summary { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) auto auto; align-items: center; gap: 8px 14px; padding: 12px 14px; border-radius: 16px; cursor: pointer; list-style: none; }
.sig-ligne summary::-webkit-details-marker { display: none; }
.sig-ligne summary:hover { background: #F4F6F3; }
.sig-ligne[open] summary { background: #F4F6F3; }
.sig-ligne summary .tag { justify-self: start; }
.sig-ligne__txt { overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.sig-ligne__qui { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; white-space: nowrap; }
.sig-ligne__corps { display: grid; gap: 12px; padding: 12px 14px 18px; }
.sig-ligne__texte { white-space: pre-wrap; }
.sig-ligne__img img { display: block; max-width: 100%; max-height: 520px; border-radius: 12px; box-shadow: 0 0 0 1px var(--trait); }
.sig__tech summary { padding: 10px 14px; color: var(--ink-soft); font-size: .85rem; font-weight: 700; cursor: pointer; }
.sig__tech-corps { display: grid; gap: 8px; padding: 0 14px 14px; font-size: .85rem; }
.sig__tech-corps ul { margin: 0; padding-left: 18px; }
.sig__tech-corps code { color: var(--ink-soft); font-size: .78rem; }
.sig-traiter { display: grid; gap: 10px; }
.sig-traiter__statuts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sig-traiter__statuts .btn { padding: 8px 14px; font-size: .85rem; }
@media (max-width: 899px) {
  .sig-ligne summary { grid-template-columns: auto minmax(0, 1fr); } .sig-ligne__qui { grid-column: 1; } .sig-ligne summary > .tag:last-child { grid-column: 2; justify-self: end; }
}
@media (max-width: 520px) { .sig__choix { grid-template-columns: 1fr; } }

/* --- Système (admin) : la base et les automatisations --------------------------------------------------------------- */
.sys-logo { display: inline-grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 9px; background: var(--blanc); box-shadow: inset 0 0 0 1px var(--trait); }
.sys-logo i { display: block; width: 16px; height: 16px; background: var(--c); -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.sys-logo--txt { color: #fff; font-size: .625rem; font-weight: 800; letter-spacing: .02em; box-shadow: none; }
.sys-logo--db { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); color: var(--foret); }
.sys-logo--db .i { width: 16px; height: 16px; }
.sys-puces { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sys-mini { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 0; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font: inherit; font-size: .8125rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.sys-mini:hover { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.sys-vide { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.sys-vues { position: absolute; top: 12px; left: 12px; z-index: 1; display: inline-flex; gap: 2px; padding: 3px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); }
.sys-vues button { padding: 5px 12px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink-soft); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; }
.sys-vues button[aria-current] { background: var(--blanc); color: var(--foret); box-shadow: 0 6px 14px -10px rgba(21, 44, 18, .6); }
/* Base de données : la toile des tables (cercles + traits) et la fiche de la table choisie */
.sys-toile { position: relative; padding: 0; overflow: hidden; }
.sys-toile svg { display: block; width: 100%; height: min(78vh, 760px); cursor: grab; touch-action: none; user-select: none; }
.sys-toile svg.est-glisse { cursor: grabbing; }
.sys-zones path { fill: var(--c); fill-opacity: .07; stroke: var(--c); stroke-opacity: .22; stroke-width: 1.5; }
.sys-zones text { fill: var(--c); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-anchor: middle; text-transform: uppercase; pointer-events: none; }
.sys-zones .sys-zone__nom { pointer-events: auto; cursor: pointer; } .sys-zones .sys-zone__nom:hover { text-decoration: underline; }
.sys-traits line { stroke: rgba(21, 44, 18, .16); stroke-width: 1.4; transition: stroke .15s, opacity .15s; }
.sys-traits line.est-vif { stroke: #7DBA3A; stroke-width: 2.2; }
.sys-noeud { cursor: pointer; outline: none; transition: opacity .15s; }
.sys-noeud circle { fill: var(--c); stroke: var(--blanc); stroke-width: 3; }
.sys-noeud:hover circle, .sys-noeud:focus-visible circle { stroke: var(--lime); }
.sys-noeud.est-choisie circle { stroke: var(--foret); stroke-width: 4; }
.sys-noeud__n { fill: #fff; font-size: 10px; font-weight: 800; text-anchor: middle; pointer-events: none; }
.sys-noeud__nom { fill: var(--foret); font-size: 12px; font-weight: 700; text-anchor: middle; paint-order: stroke; stroke: var(--blanc); stroke-width: 4px; stroke-linejoin: round; pointer-events: none; }
.sys-noeud.est-eteinte { opacity: .22; }
.sys-traits:has(.est-vif) line:not(.est-vif) { opacity: .35; }
.sys-zoom { position: absolute; right: 12px; bottom: 12px; display: grid; gap: 4px; }
.sys-zoom button { width: 34px; height: 34px; border: 1px solid var(--trait); border-radius: 10px; background: var(--blanc); color: var(--foret); font: inherit; font-size: 1.05rem; font-weight: 800; cursor: pointer; }
.sys-zoom button:hover { background: var(--rosee); }
.sys-detail { position: absolute; top: 12px; right: 12px; bottom: 12px; width: 340px; overflow: auto; padding: 18px 20px; border-radius: 18px; background: var(--blanc); box-shadow: 0 0 0 1px var(--trait), 0 18px 40px -24px rgba(21, 44, 18, .55); }
.sys-detail__tete { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.sys-detail__tete h2 { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.sys-detail__tete i { flex: none; width: 14px; height: 14px; border-radius: 50%; }
.sys-detail__desc { margin: 8px 0 14px; color: var(--ink-soft); font-size: .9375rem; font-weight: 600; line-height: 1.5; }
.sys-fiche { margin: 0 0 6px; font-size: .95rem; font-weight: 600; line-height: 1.5; }
.sys-detail__fermer { flex: none; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #EEF1EC; color: var(--foret); font: inherit; font-weight: 800; cursor: pointer; } .sys-detail__fermer:hover { background: var(--rosee); }
.sys-detail h3 { margin: 16px 0 8px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.sys-cols { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sys-cols li { display: grid; gap: 2px; padding: 8px 10px; border-radius: 10px; background: #F4F6F3; font-size: .875rem; }
.sys-cols li span { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; line-height: 1.35; }
.sys-cols b { overflow-wrap: anywhere; font-weight: 700; }
.sys-autres { margin-top: 8px; } .sys-autres summary { padding: 4px 2px; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; cursor: pointer; } .sys-autres .sys-cols { margin-top: 6px; }
@media (max-width: 699px) { .sys-toile { overflow: visible; } .sys-toile svg { height: 62vh; } .sys-detail { position: static; width: auto; margin: 0 10px 10px; } }
.sys-seg { display: inline-flex; gap: 4px; margin: 0 8px 18px; padding: 4px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); }
.sys-seg button { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink-soft); font: inherit; font-size: .875rem; font-weight: 800; cursor: pointer; }
.sys-seg button span { padding: 1px 8px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .08); font-size: .75rem; }
.sys-seg button[aria-current] { background: var(--blanc); color: var(--foret); box-shadow: 0 8px 18px -12px rgba(21, 44, 18, .55); }
.sys-seg .sys-logo { width: 26px; height: 26px; border-radius: 50%; }
.sys-pole { margin-bottom: 10px; }
.sys-pole > summary { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-radius: 18px; background: var(--blanc); box-shadow: 0 16px 34px -28px rgba(21, 44, 18, .55); color: var(--foret); cursor: pointer; list-style: none; }
.sys-pole > summary::-webkit-details-marker { display: none; }
.sys-pole > summary:hover { background: #F7FAF4; }
.sys-pole__nom { font-size: 1.05rem; font-weight: 800; }
.sys-pole__n { padding: 2px 9px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .08); color: var(--ink-soft); font-size: .8rem; font-weight: 800; }
.sys-pole > summary .i { margin-left: auto; width: 18px; height: 18px; color: var(--ink-soft); transform: rotate(90deg); transition: transform .15s; }
.sys-pole[open] > summary .i { transform: rotate(-90deg); }
.sys-pole[open] > summary { border-radius: 18px 18px 0 0; box-shadow: none; }
.sys-pole[open] > .sys-sous-liste { display: grid; gap: 10px; border-radius: 0 0 var(--r-board) var(--r-board); padding: 4px 16px 16px 30px; }
.sys-sous { border: 1px solid var(--trait); border-radius: 16px; background: #F4F6F3; }
.sys-sous[open] { background: #EEF2EB; box-shadow: inset 0 0 0 1px rgba(161, 224, 77, .55); }
.sys-sous > summary { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; color: var(--foret); cursor: pointer; list-style: none; }
.sys-sous > summary::-webkit-details-marker { display: none; }
.sys-sous > summary:hover { background: #E9EEE6; }
.sys-sous__nom { font-size: .95rem; font-weight: 800; }
.sys-sous > summary .i { margin-left: auto; width: 16px; height: 16px; color: var(--ink-soft); transform: rotate(90deg); transition: transform .15s; }
.sys-sous[open] > summary .i { transform: rotate(-90deg); }
.sys-sous > .sys-wfs { margin: 0 10px 10px; border-radius: 14px; background: var(--blanc); box-shadow: 0 10px 22px -18px rgba(21, 44, 18, .5); }
.sys-wfs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 6px; }
.sys-wf { min-width: 0; }
.sys-plus { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 9px; background: #EEF1EC; color: var(--ink-soft); font-size: .72rem; font-weight: 800; }
.sys-wf + .sys-wf { box-shadow: 0 -1px 0 var(--trait); }
.sys-wf__tete { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px; border: 0; border-radius: 16px; background: none; color: var(--foret); font: inherit; text-align: left; cursor: pointer; }
.sys-wf__tete:hover { background: #F7FAF4; }
.sys-code { flex: none; padding: 3px 9px; border-radius: var(--r-pill); background: var(--foret); color: var(--rosee); font-size: .78rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.sys-wf__nom { display: grid; flex: 1; min-width: 0; }
.sys-wf__nom b { overflow: hidden; font-size: .9375rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.sys-wf__nom small { overflow: hidden; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sys-logos { display: flex; gap: 4px; }
.sys-wf__corps { display: none; padding: 4px 14px 16px 52px; }
.sys-wf.est-ouvert { margin: 4px 0; border-radius: 18px; background: #FBFCFA; box-shadow: inset 0 0 0 1.5px var(--lime); }
.sys-wf.est-ouvert + .sys-wf { box-shadow: none; }
.sys-wf.est-ouvert .sys-wf__corps { display: block; }
.sys-logo--grand { width: 46px; height: 46px; border-radius: 14px; } .sys-logo--grand i { width: 24px; height: 24px; } .sys-logo--grand .i { width: 24px; height: 24px; } .sys-logo--grand.sys-logo--txt { font-size: .8rem; }
.sys-logo--erp img { display: block; width: 100%; height: 100%; border-radius: inherit; }
.sys-logo--img { overflow: hidden; } .sys-logo--img img { display: block; width: 72%; height: 72%; object-fit: contain; }
.sys-logo--plein { box-shadow: none; } .sys-logo--plein img { width: 100%; height: 100%; object-fit: cover; }
.sys-schema { display: flex; flex-wrap: nowrap; gap: 0; margin: 4px 0 14px; padding: 8px 0 10px; overflow-x: auto; list-style: none; scrollbar-width: thin; }
.sys-etape { position: relative; flex: none; display: grid; justify-items: center; align-content: start; gap: 8px; width: 140px; padding: 0 8px; text-align: center; }
.sys-etape + .sys-etape::before { content: ""; position: absolute; top: 22px; left: -14px; width: 28px; height: 2px; background: var(--lime); }
.sys-etape + .sys-etape::after { content: ""; position: absolute; top: 18px; left: 9px; border: 5px solid transparent; border-left: 7px solid var(--lime); }
.sys-etape__n { position: absolute; top: -6px; left: calc(50% + 14px); display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--foret); color: var(--rosee); font-size: .7rem; font-weight: 800; }
.sys-etape p { margin: 0; font-size: .8125rem; font-weight: 600; line-height: 1.4; }
.sys-n8n { color: var(--ink-soft); font-size: .8125rem; font-weight: 700; } .sys-n8n:hover { color: var(--foret); }
.sys-vide-bloc { padding: 14px; }
@media (max-width: 699px) {
  .sys-wf__tete { flex-wrap: wrap; } .sys-wf__nom { flex-basis: calc(100% - 90px); white-space: normal; } .sys-wf__nom small { white-space: normal; } .sys-logos { order: 5; }
  .sys-wf__corps { padding-left: 14px; }
}

/* --- Système › Équipe : qui a accès à quoi (lecture seule) ----------------------------------------------------- */
.eq-tete { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; } /* nombre de membres et « + Ajouter un closer » */
.eq-table { min-width: 1100px; }
.eq-table th, .eq-table td { padding-left: 6px; padding-right: 6px; }
.eq-qui { display: flex; align-items: center; gap: 10px; }
.eq-qui > div { display: grid; }
.eq-qui b { font-weight: 800; }
.eq-qui small { color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.eq-metiers .sys-mini { white-space: nowrap; cursor: default; }
.eq-metiers .sys-mini:hover { background: #EEF1EC; box-shadow: none; }
.eq-metiers { display: flex; flex-wrap: wrap; gap: 4px; }
.eq-table td > small { display: block; margin-top: 4px; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.eq-table .eq-acces { text-align: center; }
.eq-oui { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--grad-lime); font-weight: 800; cursor: help; }
.eq-non { color: #B9C2B4; font-weight: 700; }
.eq-activite { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 0; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font: inherit; font-size: .85rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
.eq-activite:hover, .eq-activite[aria-expanded="true"] { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.eq-activite span { transition: transform .15s; } .eq-activite[aria-expanded="true"] span { transform: rotate(90deg); }
.table-camp tbody tr.eq-journal:hover { background: none; }
.eq-journal td { padding: 6px 14px 16px; background: #F7FAF4; }
.eq-journal__titre { display: block; margin: 6px 0 8px; font-size: .85rem; }
.eq-journal__liste { display: grid; gap: 2px; max-width: 360px; margin: 0; padding: 0; list-style: none; }
.eq-journal__liste li { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 12px; padding: 6px 4px; border-bottom: 1px solid var(--trait); font-size: .85rem; }
.eq-journal__absent, .eq-journal__zero { color: #9AA595; }
.eq-journal__liste--grok { max-width: 520px; } .eq-journal__liste--grok li { grid-template-columns: 130px 130px 1fr; }
.eq-grok b { font-weight: 800; white-space: nowrap; } .eq-table td.eq-grok > small { margin-top: 2px; white-space: nowrap; }

/* --- Finance (administrateurs) : 4 cases, alertes, graphe du solde, à mettre de côté, tableau par catégorie --------------- */
.fin-cases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.fin-case { position: relative; padding: 16px 18px 14px; border-radius: 18px; background: var(--blanc); box-shadow: 0 0 0 1px var(--trait), 0 14px 30px -26px rgba(21, 44, 18, .6); outline: none; }
.fin-l { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fin-v { margin-top: 6px; font-size: 2rem; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.fin-s { margin-top: 2px; color: var(--ink-soft); font-size: .85rem; font-weight: 600; font-variant-numeric: tabular-nums; } .fin-s b { color: var(--foret); }
.fin-pop { display: none; position: absolute; top: calc(100% - 6px); left: 12px; right: 12px; z-index: 6; padding: 10px 12px; border-radius: 12px; background: var(--foret); color: var(--rosee); font-size: .84rem; font-variant-numeric: tabular-nums; box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .5); }
.fin-pop div { display: flex; justify-content: space-between; gap: 12px; padding: 2px 0; } .fin-pop div.sep { margin-top: 4px; padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .2); }
.fin-case:hover .fin-pop, .fin-case:focus-within .fin-pop { display: block; } .fin-case:hover, .fin-case:focus-within { z-index: 7; }
.fin-alertes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.fin-alertes span { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: var(--r-pill); background: #FBEBDD; color: #A2531A; font-size: .84rem; font-weight: 700; }
.fin-alertes i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.fin-zoom { margin: 22px 0 10px; } .fin-zoom button { padding: 6px 14px; }
.fin-graphe { position: relative; padding: 10px 12px 6px; }
.fin-graphe svg { display: block; width: 100%; height: auto; }
.fin-grille { stroke: var(--trait); stroke-width: 1; } .fin-axe { fill: var(--ink-soft); font-size: 11px; font-weight: 600; }
.fin-seuil { stroke: #C77A2E; stroke-width: 1.5; stroke-dasharray: 3 4; } .fin-auj { stroke: var(--ink-soft); stroke-width: 1; stroke-dasharray: 2 3; }
.fin-ligne { fill: none; stroke: #2F8A3A; stroke-width: 2.4; stroke-linejoin: round; } .fin-ligne--prevu { stroke-dasharray: 6 5; }
.fin-point { fill: #2F8A3A; stroke: var(--blanc); stroke-width: 2; } .fin-lab { fill: var(--foret); font-size: 12px; font-weight: 800; }
.fin-e { fill: #3BAA6E; } .fin-s { fill: #E8743B; } .fin-prevu { opacity: .45; }
.fin-zero { stroke: var(--ink-soft); stroke-width: 1.2; } .fin-lab { paint-order: stroke; stroke: var(--blanc); stroke-width: 4px; stroke-linejoin: round; }
.fin-legende { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 2px 4px 4px; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.fin-legende span { display: inline-flex; align-items: center; gap: 6px; } .fin-legende i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.fin-legende__ligne { height: 3px !important; width: 16px !important; border-radius: 2px; background: #2F8A3A; } .fin-legende__e { background: #3BAA6E; } .fin-legende__s { background: #E8743B; }
.fin-bulle { position: absolute; z-index: 3; padding: 8px 10px; border-radius: 10px; background: var(--foret); color: var(--rosee); font-size: .8rem; line-height: 1.45; white-space: nowrap; pointer-events: none; }
.fin-cote { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin-top: 14px; padding: 12px 18px; font-variant-numeric: tabular-nums; }
.fin-cote__v { font-weight: 800; } .fin-cote__v small { margin-right: 6px; color: var(--ink-soft); font-size: .84rem; font-weight: 600; } .fin-cote__v em { color: var(--ink-soft); font-style: normal; font-weight: 600; }
.fin-cote__v[title] { cursor: help; border-bottom: 1px dotted var(--ink-soft); }
.fin-table { margin-top: 14px; padding: 0; overflow-x: auto; }
.fin-table table, .fin-tiroir table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.fin-table table { min-width: 820px; font-size: .9rem; }
.fin-table th, .fin-table td { padding: 8px 12px; border-bottom: 1px solid var(--trait); text-align: right; white-space: nowrap; }
.fin-table th:first-child, .fin-table td:first-child { text-align: left; }
.fin-table th { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.fin-table .fin-avenir, .fin-tiroir .fin-avenir td { color: var(--ink-soft); font-style: italic; }
.fin-sec td { background: #F4F6F3; font-weight: 800; }
.fin-grp td { font-weight: 700; cursor: pointer; } .fin-grp td:first-child::before { content: "▾ "; color: var(--ink-soft); } .fin-grp.est-ferme td:first-child::before { content: "▸ "; }
.fin-sub td { color: var(--ink-soft); } .fin-sub td:first-child { padding-left: 28px; }
.fin-clic { cursor: pointer; } .fin-clic:hover { background: var(--rosee); color: var(--foret); }
.fin-tiroir { margin-top: 14px; padding: 14px 18px; }
.fin-tiroir__tete { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; } .fin-tiroir__tete h3 { flex: 1; margin: 0; font-size: 1rem; }
.fin-tiroir__tete h3 span { color: var(--ink-soft); font-size: .84rem; font-weight: 600; }
.fin-tiroir td { padding: 7px 8px; border-bottom: 1px solid var(--trait); font-size: .88rem; } .fin-tiroir td:last-child { text-align: right; font-weight: 700; white-space: nowrap; }
.fin-tiroir td small { display: block; color: var(--ink-soft); font-size: .78rem; }
@media (max-width: 899px) { .fin-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 499px) { .fin-cases { grid-template-columns: 1fr; } .fin-v { font-size: 1.7rem; } }
.fin-filtres { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 22px 0 10px; } .fin-filtres .sys-seg { margin: 0; } .fin-filtres .sys-seg button { padding: 6px 14px; }
.fin-total { margin-left: auto; color: var(--ink-soft); font-size: .84rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.fin-journal td { vertical-align: top; } .fin-journal td small { display: block; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.fin-journal td:nth-child(2) { max-width: 420px; white-space: normal; text-align: left; } .fin-journal td:nth-child(3) { text-align: left; } .fin-journal th:nth-child(2), .fin-journal th:nth-child(3) { text-align: left; }
.fin-jl--clic { cursor: pointer; } .fin-jl--clic:hover td, .fin-jl.est-ouverte td { background: #F7FAF4; }
.fin-neg { color: #C2551F; } .fin-pos { color: #2F8A3A; }
.fin-a-classer { padding: 2px 8px; border-radius: var(--r-pill); background: #FBEBDD; color: #A2531A; font-size: .78rem; font-style: normal; font-weight: 800; }
.fin-jform td { background: #F7FAF4; }
.fin-ranger { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; padding: 4px 0; }
.fin-ranger label { display: grid; gap: 4px; color: var(--ink-soft); font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.fin-ranger input, .fin-ranger select { min-width: 160px; padding: 7px 10px; border: 1px solid var(--trait); border-radius: 10px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .9rem; text-transform: none; letter-spacing: 0; }
.fin-ranger .sys-seg { margin: 0; } .fin-msg { color: var(--ink-soft); font-size: .84rem; font-weight: 700; } .fin-vide { color: var(--ink-soft); text-align: left !important; }
.fin-retard { display: block; color: #C2551F !important; font-style: normal; font-weight: 800; }

/* Finance · Rentabilité (mois par mois, sur 100 €, encaisser) et Offres (cases d'une version, mois par mois) */
.fin-renta { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; margin-top: 18px; align-items: start; }
.fin-renta > div { display: grid; gap: 14px; min-width: 0; }
@media (max-width: 900px) { .fin-renta { grid-template-columns: 1fr; } }
.fin-panel { padding: 16px 18px; overflow-x: auto; }
.fin-panel h3 { margin: 0 0 10px; font-size: 1rem; font-weight: 800; } .fin-panel h3 span { margin-left: 8px; color: var(--ink-soft); font-size: .84rem; font-weight: 600; }
.fin-mini { width: 100%; border-collapse: collapse; font-size: .9rem; font-variant-numeric: tabular-nums; }
.fin-mini th, .fin-mini td { padding: 7px 6px; border-bottom: 1px solid var(--trait); text-align: right; white-space: nowrap; }
.fin-mini th:first-child, .fin-mini td:first-child { text-align: left; }
.fin-mini th { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.fin-mini td small, .fin-table td small { margin-left: 6px; color: var(--ink-soft); font-size: .76rem; font-weight: 600; }
.fin-mini .fin-avenir { color: var(--ink-soft); font-style: italic; }
.fin-rl { cursor: pointer; } .fin-rl:hover td { background: #F7FAF4; } .fin-rl.est-choisi td { background: var(--rosee); font-weight: 700; }
.fin-kvs { margin-top: 12px; }
.fin-kv { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--trait); font-size: .9rem; font-variant-numeric: tabular-nums; }
.fin-kv:last-child { border-bottom: 0; } .fin-kv > span:first-child { color: var(--ink-soft); font-weight: 600; }
.fin-kv b { font-weight: 800; text-align: right; } .fin-kv b small { margin-left: 6px; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.fin-hb { display: grid; grid-template-columns: minmax(120px, 190px) 1fr 64px; align-items: center; gap: 10px; margin: 6px 0; font-size: .88rem; font-variant-numeric: tabular-nums; }
.fin-hb > span:first-child { color: var(--ink-soft); font-weight: 600; } .fin-hb b { text-align: right; }
.fin-hb__b { height: 12px; border-radius: 4px; background: #EEF1EC; overflow: hidden; } .fin-hb__b i { display: block; height: 100%; border-radius: 4px; background: #7FA9D9; }
.fin-hb--res > span:first-child, .fin-hb--res b { color: var(--foret); font-weight: 800; } .fin-hb--res .fin-hb__b i { background: #2F8A3A; }
.fin-hb--neg .fin-hb__b i { background: #E8743B; } .fin-hb--neg b { color: #C2551F; }
.fin-regles { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 12px; }
.fin-regle { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: .84rem; font-weight: 700; }
.fin-regle input { width: 64px; padding: 4px 8px; border: 1px solid var(--trait); border-radius: 8px; background: var(--blanc); color: var(--foret); font: inherit; text-align: right; }
.fin-og { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px; }
@media (max-width: 900px) { .fin-og { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fin-mo { min-width: 0; padding: 12px 14px; border: 1px solid var(--trait); border-radius: 14px; font-variant-numeric: tabular-nums; }
.fin-mo__a { margin-top: 4px; font-size: 1.5rem; font-weight: 800; letter-spacing: -.01em; } .fin-mo__a small { margin-left: 4px; color: var(--ink-soft); font-size: .9rem; font-weight: 600; }
.fin-mo__b { margin-top: 2px; color: var(--ink-soft); font-size: .82rem; } .fin-mo__b b { color: var(--foret); }
.fin-mo--ok .fin-mo__a { color: #2F8A3A; } .fin-mo--ko .fin-mo__a { color: #C2551F; }
.sys-seg[hidden] { display: none; }

/* --- Barre des rubriques repliable (icônes seules), mémorisée sur l'appareil ------------------------------------------- */
.cote__tete { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cote__replier { display: grid; place-items: center; flex: none; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink-soft); cursor: pointer; }
.cote__replier:hover { background: rgba(21, 44, 18, .08); color: var(--foret); }
.cote__replier svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.app { transition: grid-template-columns .2s; }
body.cote-repliee .app { grid-template-columns: 76px minmax(0, 1fr); }
body.cote-repliee .cote { padding-inline: 10px; align-items: center; }
body.cote-repliee .cote__tete { flex-direction: column; gap: 10px; }
body.cote-repliee .cote__replier svg { transform: rotate(180deg); }
body.cote-repliee .brand__erp, body.cote-repliee .cote__titre, body.cote-repliee .cote__nom, body.cote-repliee .cote__qui { display: none; }
body.cote-repliee .cote__logo { padding: 4px 0; }
body.cote-repliee .cote__modules { margin-top: 0; }
body.cote-repliee .cote__modules a { justify-content: center; width: 48px; padding: 11px 0; }
body.cote-repliee .cote__pied { display: grid; justify-items: center; gap: 8px; }
body.cote-repliee .cote__profil { padding: 4px; }

/* --- Delivery : l'offre ouverte et ses onglets forment un seul bloc (onglet « dossier » collé à sa barre) ---------------- */
.entete--dossier .offres { gap: 2px; margin-bottom: 0; padding-left: 22px; }
.entete--dossier .offres a { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px 11px; border-radius: 16px 16px 0 0; font-size: .9rem; }
.entete--dossier .offres a::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: rgba(21, 44, 18, .2); }
.entete--dossier .offres a[data-offre="SAE"]::before { background: var(--lime); } .entete--dossier .offres a[data-offre="Reconversion"]::before { background: #E9B93A; }
.entete--dossier .offres a[aria-current] { z-index: 1; margin-bottom: -1px; background: #E7F1DC !important; border: 1px solid rgba(255, 255, 255, .85); border-bottom: 0; color: var(--foret); box-shadow: 0 -8px 18px -16px rgba(21, 44, 18, .45); }
.entete--dossier .offres a[aria-current]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 4px; background: #E7F1DC; }
.entete--dossier .bar { border-radius: 22px; background: #E7F1DC; -webkit-backdrop-filter: none; backdrop-filter: none; }

/* --- Reconversion › Ateliers : à venir, puis l'historique par classe --------------------------------------------------- */
.at-bloc { margin-bottom: 26px; }
.at-bloc > h2 { display: flex; align-items: center; gap: 8px; margin: 0 8px 12px; font-size: 1.05rem; font-weight: 800; }
.at-bloc > h2 span { padding: 2px 9px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .08); color: var(--ink-soft); font-size: .8rem; }
.at-avenir { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1099px) { .at-avenir { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 599px) { .at-avenir { grid-template-columns: 1fr; } }
.at-cal__tete { display: flex; align-items: center; gap: 6px; margin: 0 8px 12px; } .at-cal__tete h2 { margin: 0 auto 0 0; font-size: 1.05rem; font-weight: 800; text-transform: capitalize; }
.at-cal__nav { min-width: 34px; height: 34px; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: rgba(255, 255, 255, .6); color: var(--foret); font: inherit; font-size: .84rem; font-weight: 800; cursor: pointer; } .at-cal__nav:hover { background: var(--blanc); }
.at-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; padding: 12px; }
.at-cal__jsem { padding: 0 6px 4px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.at-cal__case { display: grid; align-content: start; gap: 4px; min-height: 84px; padding: 6px; border-radius: 12px; background: #F7FAF4; }
.at-cal__case--vide { background: transparent; } .at-cal__case--auj { box-shadow: inset 0 0 0 2px var(--lime); }
.at-cal__n { color: var(--ink-soft); font-size: .78rem; font-weight: 800; }
.at-cal__at { display: block; overflow: hidden; padding: 4px 7px; border: 0; border-radius: 8px; background: var(--blanc); box-shadow: 0 0 0 1px var(--trait); color: var(--foret); font: inherit; font-size: .74rem; font-weight: 600; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.at-cal__at b { font-weight: 800; } .at-cal__at:hover { box-shadow: 0 0 0 1.5px var(--lime); }
.at-cal__at--avenir { background: var(--grad-lime); box-shadow: none; }
@media (max-width: 699px) { .at-cal { gap: 3px; padding: 6px; } .at-cal__case { min-height: 56px; padding: 4px; } .at-cal__at { font-size: .66rem; padding: 3px 4px; } }
.at-avenir__carte { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 18px; background: var(--blanc); box-shadow: 0 0 0 1px var(--trait), 0 14px 30px -26px rgba(21, 44, 18, .6); }
.at-date { display: grid; place-items: center; flex: none; width: 52px; height: 56px; border-radius: 14px; background: #FBF1D2; color: var(--foret); line-height: 1.05; }
.at-date b { font-size: 1.35rem; font-weight: 800; } .at-date small { font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.at-avenir__corps { display: grid; gap: 3px; min-width: 0; flex: 1; } .at-avenir__corps > b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.at-avenir__corps > small { color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.at-lien { flex: none; padding: 6px 12px; border-radius: var(--r-pill); background: var(--grad-lime); color: var(--foret); font-size: .8rem; font-weight: 800; text-decoration: none; }
.at-tuteur { display: inline-flex; align-items: center; gap: 7px; font-size: .84rem; font-weight: 700; }
.avatar--mini { width: 24px; height: 24px; font-size: .72rem; }
.at-classe { margin-bottom: 10px; }
.at-classe > summary { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 16px; background: rgba(255, 255, 255, .55); cursor: pointer; list-style: none; }
.at-classe > summary::-webkit-details-marker { display: none; }
.at-classe > summary b { font-size: 1rem; } .at-classe > summary span { color: var(--ink-soft); font-size: .84rem; font-weight: 600; }
.at-classe > summary .i { margin-left: auto; width: 18px; height: 18px; transition: transform .15s; } .at-classe[open] > summary .i { transform: rotate(90deg); }
.at-liste { margin-top: 8px; padding: 6px; }
.at-ligne { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) 8.5rem 4.5rem 6.5rem 4.5rem; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 14px; cursor: pointer; }
.at-ligne + .at-ligne, .at-detail + .at-ligne { box-shadow: 0 -1px 0 var(--trait); }
.at-ligne:hover, .at-ligne.est-ouverte { background: #F7FAF4; }
.at-ligne__date { display: grid; font-size: .84rem; font-weight: 700; } .at-ligne__date small { color: var(--ink-soft); font-weight: 600; }
.at-ligne__titre { overflow: hidden; font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.at-ligne__duree, .at-ligne__presents { color: var(--ink-soft); font-size: .84rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.at-ligne__presents { color: var(--foret); }
.at-ligne__liens { display: flex; gap: 6px; justify-content: flex-end; color: var(--ink-soft); font-style: normal; } .at-ligne__liens i { font-style: normal; }
.at-detail { padding: 4px 12px 14px; background: #F7FAF4; border-radius: 0 0 14px 14px; }
.at-presents { display: flex; flex-wrap: wrap; gap: 6px; }
.at-present { display: grid; padding: 6px 12px; border-radius: 12px; background: var(--blanc); box-shadow: 0 0 0 1px var(--trait); font-size: .84rem; }
.at-present small { color: var(--ink-soft); font-size: .75rem; font-weight: 600; }
.at-present--court { opacity: .55; }
.at-participants { margin: 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.5; }
.at-liens { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bouton--doux { background: var(--blanc); box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); text-decoration: none; }
@media (max-width: 899px) { .at-ligne { grid-template-columns: 7.5rem minmax(0, 1fr) 5rem; } .at-ligne .at-tuteur, .at-ligne__duree, .at-ligne__liens { display: none; } }

/* --- À faire : appels du jour (heure, client, lien de la visio), blocs de la suite en retrait ---------------------------- */
.ligne-faire--appel { grid-template-columns: 5.2rem minmax(0, 14rem) minmax(0, 1fr) auto; }
.appel-h { display: grid; line-height: 1.15; }
.appel-h b { font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.appel-h small { color: var(--ink-soft); font-size: .72rem; font-weight: 700; }
.appel-h--demain b { color: var(--ink-soft); }
.btn--mini { padding: 7px 12px; font-size: .8rem; }
.faire-bloc--suite h2 { color: var(--ink-soft); }
.faire-bloc--suite .a-faire { background: rgba(255, 255, 255, .7); box-shadow: inset 0 0 0 1px var(--trait); }

/* --- Campagnes : état de la ligne (puces), chevron du jour par jour, ligne cliquable ----------------------------------- */
.puces { display: flex; flex-wrap: wrap; gap: 4px 6px; }
.puce { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--ink-soft); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.puce::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #B9C2B4; }
.puce--ok { background: #E3F2D3; color: #2F5A1E; } .puce--ok::before { background: #4E9F1F; }
.puce--alerte { background: #FBF1D6; color: #5A3608; } .puce--alerte::before { background: #D9822B; }
.table-camp .etat { min-width: 12rem; }
.table-camp .interr { width: 46px; }
.table-camp .plus { width: 40px; padding-right: 6px; text-align: right; }
.table-camp .plus .camp-jours-btn { display: grid; place-items: center; width: 30px; height: 30px; margin: 0; padding: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); font-size: 1.15rem; line-height: 1; text-decoration: none; }
.table-camp .plus .camp-jours-btn span { display: block; margin: 0; transition: transform .15s; }
.table-camp .plus .camp-jours-btn:hover { background: var(--grad-lime); }
.table-camp--campagnes tr.camp-ligne { cursor: pointer; }

/* --- Alertes : ce qui se déclenche tout seul (quand → tout seul → le CSM), une carte par alerte ---------------------------- */
.al-bloc { margin-bottom: 26px; }
.al-bloc h2 { margin: 0 8px 10px; font-size: 1.05rem; font-weight: 800; }
.al-liste { display: grid; gap: 10px; }
.al { padding: 14px 16px 12px; border-radius: 22px; background: var(--blanc); box-shadow: 0 24px 48px -36px rgba(21, 44, 18, .5); }
.al--proposee { background: rgba(255, 255, 255, .55); box-shadow: inset 0 0 0 1.5px var(--trait); }
.al__tete { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.al__ic { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 12px; background: #F4F6F3; font-size: 1.25rem; }
.al__tete h3 { flex: 1; margin: 0; font-size: 1rem; font-weight: 800; }
.al__n { padding: 3px 10px; border-radius: var(--r-pill); background: var(--ambre); color: #5A3608; font-size: .78rem; font-weight: 800; }
.al__flux { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.35fr) auto minmax(0, 1fr); align-items: start; gap: 10px; margin-top: 12px; }
.al__fleche { align-self: center; color: rgba(21, 44, 18, .35); font-size: 1.2rem; font-weight: 800; }
.al__pas { min-width: 0; padding: 10px 12px; border-radius: 14px; background: #F4F6F3; font-size: .9rem; line-height: 1.4; }
.al__pas p { margin: 0; }
.al__pas--auto { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.al__lib { display: block; margin-bottom: 5px; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.al__bulle { padding: 8px 10px; border-radius: 12px 12px 12px 4px; background: var(--blanc); font-size: .875rem; white-space: pre-line; }
.al__pas small { display: block; margin-top: 6px; color: var(--ink-soft); font-size: .75rem; font-weight: 600; }
.al__rien { color: var(--ink-soft); font-weight: 600; }
.al__note { margin: 10px 0 0; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
@media (max-width: 899px) { .al__flux { grid-template-columns: 1fr; } .al__fleche { justify-self: center; transform: rotate(90deg); } }
.ligne-faire .tag--suivre { padding: 5px 10px; line-height: 1.15; text-align: center; white-space: normal; }

/* --- Campagnes : filtre de période (puces), tableau condensé ------------------------------------------------------------ */
.chips { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .6); }
.chip { padding: 6px 12px; border: 0; border-radius: var(--r-pill); background: none; color: var(--ink-soft); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; }
.chip:hover { background: rgba(21, 44, 18, .07); color: var(--foret); }
.chip--on { background: var(--foret); color: var(--rosee); }
.dates { display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; color: var(--ink-soft); font-weight: 700; }
.dates input { padding: 6px 10px; border: 1.5px solid var(--trait); border-radius: 10px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .85rem; font-weight: 700; }
.table-camp--campagnes { font-size: .875rem; }
/* CAMPAV-1510 : vue avancée de Campagnes (mêmes lignes, colonnes en plus ; courbes jour par jour dans le détail) */
.chips--vue { margin-right: 8px; }
/* CAMPTRI-1510 : titres de colonnes cliquables (tri) */
.th-tri .tri { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; color: inherit; font: inherit; line-height: inherit; text-align: inherit; cursor: pointer; }
.th-tri .tri:hover, .th-tri .tri--on { color: var(--foret); }
.th-tri .tri span { font-size: .65rem; }
.th-tri .tri:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; border-radius: 4px; }
.table-camp.table-camp--av > tbody > tr > td, .table-camp.table-camp--av th { padding-left: 6px; padding-right: 6px; }
.table-camp.table-camp--av th { white-space: normal; line-height: 1.2; }
.table-camp--av .qui b { white-space: nowrap; }
.table-camp.table-camp--av .etat { min-width: 0; }
.table-camp--av > tbody > tr.camp-ligne > td.num:not(:has(.budget-l)) { font-size: .9rem; }
.table-camp--campagnes .rep--moyen { color: #B26B00; }
.table-camp--campagnes .rep--haut { color: #C2372F; }
/* CAMPHIST-1510 + CAMPDESIGN-1510 : le détail d'un client dans Campagnes (lignes du même tableau, alignées) : un panneau, le compte et le paiement
   en tête, une carte par campagne (icône, nom, lancement, le bouton rond du client), ses jours dessous en retrait. Pas de barre verte. */
.table-camp--campagnes > tbody > tr.camp-ouverte > td:first-child { box-shadow: none; }
.table-camp--campagnes > tbody > tr.camp-sous > td { background: #EEF3EA; border-bottom: 0; box-shadow: none; }
.table-camp tbody tr.camp-sous:hover { background: none; }
.table-camp--campagnes > tbody > tr.camp-sous--compte > td { padding-top: 14px; padding-bottom: 4px; }
.cj__compte { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
.cj__etat { display: inline-flex; align-items: center; gap: 8px; }
.cj__etat > span:first-child { color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.cj__moyen { color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.table-camp--campagnes > tbody > tr.camp-sous--camp { cursor: pointer; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td { background: #FFFFFF; border-top: 10px solid #EEF3EA; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td:first-child, .table-camp--campagnes > tbody > tr.camp-sous--jour > td:first-child { background: #EEF3EA; }
.table-camp--campagnes > tbody > tr.camp-sous--camp:hover > td:not(:first-child), .table-camp--campagnes > tbody > tr.camp-sous--camp[aria-expanded="true"] > td:not(:first-child) { background: #F6FAF0; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td.num { font-size: .92rem; font-weight: 700; }
.cs-camp { display: flex; align-items: center; gap: 10px; }
.cs-ic { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #E3F2D3; color: #3C6B16; }
.cs-ic svg { width: 16px; height: 16px; }
.table-camp.table-camp--campagnes tr.camp-sous--camp .qui b { display: block; max-width: 13rem; white-space: normal; overflow-wrap: anywhere; font-size: .85rem; line-height: 1.3; }
.table-camp--campagnes tr.camp-sous--camp .qui small { margin-top: 1px; }
.table-camp .plus .cs-btn { display: grid; place-items: center; width: 30px; height: 30px; margin-left: auto; border-radius: 50%; background: rgba(21, 44, 18, .06); font-size: 1.15rem; font-weight: 800; }
.table-camp--campagnes > tbody > tr.camp-sous--camp:hover .cs-btn { background: var(--grad-lime); }
.cs-btn span { display: block; transition: transform .15s; }
.cs-btn[aria-expanded="true"] span { transform: rotate(90deg); }
.table-camp--campagnes > tbody > tr.camp-sous--jour > td { padding-top: 6px; padding-bottom: 6px; background: #FAFCF8; border-top: 1px solid var(--trait); font-size: .82rem; }
.table-camp--campagnes > tbody > tr.camp-sous--jour > td.num { font-weight: 600; }
.table-camp--campagnes > tbody > tr.camp-sous--jour > td.cs-jour { padding-left: 46px; color: var(--ink-soft); }
.table-camp--campagnes > tbody > tr.camp-sous--jour .cj__ev { flex-wrap: wrap; }
.table-camp--campagnes > tbody > tr.camp-sous--fin > td { height: 12px; padding: 0; border-bottom: 2px solid var(--trait); }
.cj__pub { margin-left: auto; color: var(--foret); font-size: .82rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.cj__pub:hover { text-decoration: underline; }
/* CAMPHIST-1510 : petites courbes retirées */
.table-camp--campagnes > tbody > tr > td, .table-camp--campagnes th { padding: 8px 10px; }
.table-camp--campagnes .qui b { display: block; font-weight: 800; }
.table-camp--campagnes .qui span { display: block; color: var(--ink-soft); font-size: .76rem; font-weight: 600; }
.table-camp--campagnes tr.camp-ligne:focus-visible { outline-offset: -3px; }

/* --- Alertes : catégories repliées, une ligne par alerte, le détail au clic ------------------------------------------------ */
.al-cats { display: grid; gap: 10px; }
details.al-cat { border-radius: 22px; background: var(--blanc); box-shadow: 0 24px 48px -36px rgba(21, 44, 18, .5); }
details.al-cat > summary { display: flex; align-items: center; gap: 12px; padding: 14px 18px; list-style: none; cursor: pointer; }
details.al-cat > summary::-webkit-details-marker { display: none; }
details.al-cat > summary b { font-size: 1rem; font-weight: 800; }
details.al-cat > summary span { flex: 1; color: var(--ink-soft); font-size: .85rem; font-weight: 600; }
details.al-cat > summary .i { transition: transform .15s; } details.al-cat[open] > summary .i { transform: rotate(90deg); }
.al-cat__liste { margin: 0 10px 10px; padding: 4px; background: #F4F6F3; box-shadow: none; }
.al-l + .al-l { box-shadow: 0 -1px 0 var(--trait); }
.al-l__tete { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 12px; border: 0; border-radius: 14px; background: none; color: var(--foret); font: inherit; text-align: left; cursor: pointer; }
.al-l__tete:hover { background: var(--blanc); }
.al-l__tete .al__ic { width: 34px; height: 34px; font-size: 1.1rem; }
.al-l__tete b { flex: 1; font-weight: 800; }
.al-l__tete .i { transition: transform .15s; } .al-l__tete[aria-expanded="true"] .i { transform: rotate(90deg); }
.al-l__detail { padding: 0 12px 14px 58px; }
.al-l__detail .al__flux { margin-top: 4px; }
.al-l__detail .al__pas { background: var(--blanc); }
.al-l__detail .al__pas--auto { background: var(--rosee); }
.al-l__detail .al__bulle { background: #F4F6F3; }
@media (max-width: 899px) { .al-l__detail { padding-left: 12px; } }
/* Campagnes : calendriers toujours affichés (surlignés quand la période est « Dates »), recherche d'un client dans la barre */
.dates { margin-left: 8px; padding: 4px 6px; border-radius: var(--r-pill); }
.dates--on { background: var(--foret); color: var(--rosee); }
.dates--on input { border-color: var(--foret); }
.recherche--camp { flex: 0 1 220px; min-width: 150px; margin-left: auto; padding: 7px 14px; }
.filtres .recherche--camp + .btn { margin-left: 10px; }


/* COTE-1210 (Loris, 12/10) : la barre des rubriques façon SaaS : plus de « Rubriques », une ligne sous le logo, des icônes au trait,
   la rubrique ouverte en vert foncé avec son icône lime ; « replier » et « signaler » en icônes au trait */
.cote { gap: 18px; padding: 20px 14px 16px; }
.cote__tete { padding: 0 2px 18px 6px; border-bottom: 1px solid rgba(21, 44, 18, .1); }
.cote__titre { display: none; }
.cote__modules { gap: 2px; margin-top: 0; }
.cote__modules--bas { margin-top: auto; } /* Système, Équipe : en bas, au-dessus de mon nom */
.cote__modules a { gap: 12px; padding: 10px 12px; border-radius: 12px; color: var(--ink-soft); font-size: .9375rem; font-weight: 600; letter-spacing: -.005em; }
.cote__modules a:hover { background: rgba(21, 44, 18, .06); color: var(--foret); }
.cote__modules a[aria-current] { background: var(--foret); color: var(--rosee); box-shadow: 0 10px 22px -14px rgba(21, 44, 18, .9); }
.cote__modules .ic { display: grid; place-items: center; width: 20px; height: 20px; }
.cote__modules .ic svg, .cote__replier svg, .cote__bug svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cote__modules a[aria-current] .ic { color: var(--lime); }
.cote__replier { width: 32px; height: 32px; border-radius: 10px; }
.cote__replier svg, body.cote-repliee .cote__replier svg { width: 18px; height: 18px; transform: none; transition: none; }
.cote__bug { width: 34px; height: 34px; border-radius: 10px; color: var(--ink-soft); opacity: 1; }
.cote__bug:hover { color: var(--foret); }
.cote__bug svg { width: 18px; height: 18px; }
.cote__pied { padding-top: 12px; border-top: 1px solid rgba(21, 44, 18, .1); }
body.cote-repliee .cote__tete { padding: 0 0 14px; }
body.cote-repliee .cote__modules a { width: 48px; padding: 12px 0; }
@media (max-width: 899px) { .cote__tete, body.cote-repliee .cote__tete { padding: 0; border-bottom: 0; } .cote__pied { padding-top: 0; border-top: 0; } }


/* BANDEAU-1210 (Loris, 12/10) : le cadre de l'ERP. La barre des rubriques et le bandeau d'onglets ont la même couleur (« chrome » blanc cassé,
   ombre douce) et sont fermés par une même ligne à la même hauteur : la ligne sous le logo prolonge celle des onglets.
   Chaque onglet a l'air d'un bouton au repos (pilule claire, bord fin), l'onglet ouvert en lime. Toutes les rubriques sauf Delivery. */
:root { --entete-h: 64px; --chrome: #F7F9F5; --chrome-trait: rgba(21, 44, 18, .09); }
.zone .entete--bandeau { box-sizing: border-box; display: flex; align-items: center; height: var(--entete-h); padding: 0; border-bottom: 1px solid var(--chrome-trait); background: var(--chrome); box-shadow: 0 14px 30px -28px rgba(21, 44, 18, .6); }
.zone .entete--bandeau .bar { padding: 0 2px; border: 0; border-radius: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.entete--bandeau .onglets { gap: 8px; }
.entete--bandeau .onglets a { padding: 8px 20px; border-radius: 999px; background: rgba(21, 44, 18, .05); box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .08); color: var(--ink-soft); font-size: 1.0625rem; font-weight: 700; letter-spacing: -.01em; }
.entete--bandeau .onglets a:hover { background: rgba(21, 44, 18, .09); color: var(--foret); }
.entete--bandeau .onglets a[aria-current] { background: var(--grad-lime); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 6px 14px -8px rgba(90, 140, 30, .8); color: var(--foret); font-weight: 800; }
@media (max-width: 639px) { .zone .entete--bandeau { height: auto; padding: 10px 0; } .entete--bandeau .onglets { display: flex; gap: 6px; overflow-x: auto; } .entete--bandeau .onglets a { padding: 7px 14px; font-size: .9375rem; } }
/* la barre des rubriques, même couleur que le bandeau ; son en-tête a la hauteur du bandeau */
.cote { padding-top: 0; border-right: 1px solid var(--chrome-trait); background: var(--chrome); box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.cote__tete { box-sizing: border-box; height: var(--entete-h); margin: 0 -14px; padding: 0 12px 0 20px; border-bottom: 1px solid var(--chrome-trait); }
.cote__pied { border-top-color: var(--chrome-trait); }
body.cote-repliee .cote__tete { height: var(--entete-h); margin: 0 -10px; padding: 0; flex-direction: row; justify-content: center; }
body.cote-repliee .cote__logo { display: none; }
@media (max-width: 899px) { .cote { padding-top: 10px; } .cote__tete, body.cote-repliee .cote__tete { height: auto; margin: 0; padding: 0; border-bottom: 0; } }

/* THEME-1210 (Loris, 12/10) : clair / sombre : une petite icône (lune ; soleil en sombre) sur la ligne de mon nom, à côté de « signaler » */
.cote__theme, .cote__pied .cote__bug { display: grid; place-items: center; flex: none; width: 30px; height: 30px; margin: 0; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--ink-soft); opacity: 1; cursor: pointer; }
.cote__theme:hover, .cote__pied .cote__bug:hover { background: rgba(21, 44, 18, .07); color: var(--foret); }
.cote__theme svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cote__theme .theme-soleil, .cote__theme[aria-pressed="true"] .theme-lune { display: none; }
.cote__theme[aria-pressed="true"] .theme-soleil { display: block; }
.cote__pied { flex-wrap: nowrap; gap: 0; }
.cote__pied .cote__profil { flex: 1; min-width: 0; gap: 8px; padding: 8px 2px 8px 6px; }
.cote__qui b, .cote__qui small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.cote-repliee .cote__pied { display: grid; justify-items: center; gap: 6px; }

/* Rubriques en construction (Loris, 12/10) : grisées dans la barre, page vide avec la mention */
.cote__modules a.chantier:not([aria-current]) { opacity: .5; }
.cote__sep { border: 0; border-top: 1px solid var(--trait); margin: 10px 14px; }
@media (max-width: 899px) { .cote__sep { display: none; } }
.chantier-vide { display: grid; place-items: center; align-content: center; gap: 14px; min-height: 60vh; color: var(--ink-soft); font-size: 1.05rem; }
.chantier-vide__ic svg { width: 44px; height: 44px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

/* ENTETE-1210 (Loris, 12/10, « que ce soit cohérent entre Sales, Delivery, Finance, toujours pareil ») : toutes les rubriques ont le bandeau
   d'onglets de BANDEAU-1210, Delivery compris. L'offre de Delivery = un menu en tête des onglets, comme l'offre du CRM (pastille de couleur).
   Plus de titre de page sous les onglets : l'onglet ouvert le dit (règle des écrans Sales, CADRE-SALES-1210). */
.entete--bandeau .onglets .nav-offre { display: inline-flex; align-items: center; margin-right: 6px; padding-right: 14px; border-right: 1px solid var(--chrome-trait); }
.nav-offre .choix__menu { position: relative; display: inline-flex; align-items: center; }
.nav-offre .choix__menu::before { content: ""; position: absolute; z-index: 1; left: 18px; width: 10px; height: 10px; border-radius: 50%; background: var(--lime); pointer-events: none; }
.nav-offre .choix__menu[data-offre="Reconversion"]::before { background: #E9B93A; }
.nav-offre select { appearance: none; -webkit-appearance: none; height: 40px; padding: 0 38px 0 38px; border: 0; border-radius: 999px; background: var(--blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23152C12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 14px; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .12), 0 6px 14px -10px rgba(21, 44, 18, .5); color: var(--foret); font: inherit; font-size: 1.0625rem; font-weight: 800; letter-spacing: -.01em; cursor: pointer; }
.nav-offre select:hover { background-color: var(--rosee); }
#page .head > .title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#page .head { justify-content: flex-start; align-items: center; }
#page .head:not(:has(> :not(.title))) { display: none; } /* un en-tête qui n'avait que le titre disparaît : le contenu monte sous les onglets */

/* EQUIPE-1210 (Loris, 12/10) : Équipe en onglets par pôle ; une case par onglet : il y écrit (crayon, lime), il lit (œil), rien (—) */
.eq-filtres { min-height: 40px; } /* même barre sur les trois onglets, même vide : le tableau commence toujours au même endroit */
.eq-filtres .btn { height: 40px; }
.eq-niveau { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; cursor: help; }
.eq-niveau svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.eq-niveau--ecrire { background: var(--grad-lime); color: var(--foret); }
.eq-niveau--lire { background: #EEF1EC; color: var(--ink-soft); }
.eq-offres { display: inline-flex; gap: 4px; }
.eq-offre { display: inline-block; padding: 3px 10px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .12); color: #9AA595; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.eq-offre--on { background: #F2FEE2; box-shadow: inset 0 0 0 1.5px #A1E04D; color: var(--foret); }
.eq-offre--on[data-offre="Reconversion"] { background: #FDF5DF; box-shadow: inset 0 0 0 1.5px #E9B93A; }
.eq-fiches { color: var(--ink-soft); font-size: .85rem; font-weight: 700; white-space: nowrap; }
.eq-table th.eq-groupe { padding-bottom: 2px; text-align: center; }
.eq-table thead tr:first-child th[colspan] + th[rowspan], .eq-table thead th[rowspan] { vertical-align: bottom; }

/* EQUIPE-1210 (suite) : le tiroir des droits d'un membre, à droite ; — / Lire / Écrire en segments, l'état choisi en lime */
.eq-table tbody tr.eq-cliquable { cursor: pointer; }
.eq-table tbody tr.eq-cliquable:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.eq-tiroir { position: fixed; inset: 0 0 0 auto; box-sizing: border-box; width: min(460px, 100vw); height: 100vh; max-width: none; max-height: none; margin: 0; padding: 20px 24px 32px; border: 0; border-radius: 22px 0 0 22px; background: #FFFFFF; color: var(--foret); box-shadow: -24px 0 60px -36px rgba(21, 44, 18, .55); overflow-y: auto; }
.eq-tiroir::backdrop { background: rgba(21, 44, 18, .22); }
.eq-tiroir__tete { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.eq-tiroir__tete > div { display: grid; min-width: 0; }
.eq-tiroir__tete h2 { margin: 0; font-size: 1.2rem; font-weight: 800; letter-spacing: -.01em; }
.eq-tiroir__tete small { overflow: hidden; color: var(--ink-soft); font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.eq-tiroir__tete .fiche__fermer { margin-left: auto; }
.eq-ligne { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 4px 2px; border-bottom: 1px solid var(--trait); font-weight: 700; }
.eq-ligne--info { border-bottom: 0; color: var(--ink-soft); font-size: .88rem; }
.eq-droits summary { padding: 16px 2px 4px; color: var(--ink-soft); font-size: .8rem; font-weight: 800; letter-spacing: .02em; cursor: pointer; }
.eq-seg { display: inline-flex; flex: none; padding: 3px; border-radius: 999px; background: #EEF1EC; }
.eq-seg button { min-width: 44px; padding: 6px 12px; border: 0; border-radius: 999px; background: none; color: var(--ink-soft); font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.eq-seg button[aria-pressed="true"] { background: var(--grad-lime); color: var(--foret); font-weight: 800; }
button.eq-offre { border: 0; background: none; font-family: inherit; cursor: pointer; }
button.eq-offre.eq-offre--on { background: #F2FEE2; }
button.eq-offre.eq-offre--on[data-offre="Reconversion"] { background: #FDF5DF; }
.eq-tiroir .msg:not(:empty) { margin-top: 12px; }

.eq-filtres .filtres__gauche { display: flex; gap: 8px; } /* « + Closer » « + Setter », « + CSM » « + Tuteur » */

/* CAMPAGNES-1210 (Loris, 12/10) : calendriers seulement en « Personnalisée », posés comme les pastilles (pas de cadre) ;
   chiffres et titres de colonnes plus lisibles, sans rendre les lignes plus hautes */
.dates.dates--on { gap: 6px; margin-left: 8px; padding: 0; background: none; color: var(--ink-soft); }
.dates.dates--on input { height: 36px; box-sizing: border-box; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: rgba(255, 255, 255, .6); color: var(--foret); font-size: .8125rem; font-weight: 800; }
.dates.dates--on input:focus-visible { outline: 2px solid var(--lime); outline-offset: 1px; }
.filtres:has(.dates--on) .recherche--camp { flex-basis: 160px; } /* les calendriers ouverts : la recherche cède la place, « Mettre à jour » reste sur la ligne */
.table-camp--campagnes th { color: var(--ink-soft); font-size: .875rem; font-weight: 800; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.num:not(:has(.budget-l)) { font-size: 1rem; font-weight: 800; }
.table-camp--campagnes tfoot td { font-size: 1rem; }
.table-camp--campagnes tfoot td.camp-lu { color: var(--ink-soft); font-size: .875rem; font-weight: 700; white-space: nowrap; }

/* VUES-1210 (Loris, 12/10, « standardiser l'architecture des vues ») : sous les onglets, jamais de phrase ; en haut à gauche, les filtres
   ou le contenu ; un chiffre va dans le bloc qu'il décrit. Filet pour un écran qui en remettrait une : la phrase d'en-tête reste cachée. */
#page .head > .lede { display: none; }
#page .head:not(:has(> :not(.title, .lede))) { display: none; }
/* Campagnes : campagne modifiée par le client dans Meta (vu par le Suivi du matin) ; résumé WhatsApp du jour dans le jour par jour */
.puce--info { background: #E4EDF8; color: #244E7A; } .puce--info::before { background: #4F84C4; }
.cj__past--wa { flex-basis: 100%; background: #E4EDF8; color: #244E7A; white-space: normal; }

/* AIDE-1310 (Loris, 13/10) : « ? » en bas à droite ; au clic, « Signaler un bug » (le 🐞 de la barre se confondait avec le mode sombre) */
.aide { position: fixed; right: 24px; bottom: 24px; z-index: 40; display: grid; justify-items: end; gap: 10px; } /* BARRES-1310 : plus gros, par-dessus le tableau */
.aide__bouton { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: #152C12; color: #A1E04D; font: inherit; font-size: 1.25rem; font-weight: 800; line-height: 1; cursor: pointer; box-shadow: 0 0 0 3px #FFFFFF, 0 14px 30px -10px rgba(21, 44, 18, .65); transition: background .15s, color .15s, transform .15s; } /* BOUTON-1610 (Loris, 16/10) : plein, vert forêt et lime (blanc et transparent, il ne ressortait pas sur les cartes) */
.aide__bouton:hover, .aide__bouton:focus-visible { transform: scale(1.07); }
.aide__bouton[aria-expanded="true"] { background: #A1E04D; color: #152C12; }
.aide__bouton.en-capture { cursor: progress; opacity: .3; }
.aide__menu { padding: 6px; border: 1px solid rgba(21, 44, 18, .14); border-radius: 14px; background: var(--blanc); box-shadow: 0 22px 44px -18px rgba(21, 44, 18, .6); } /* BOUTON-1610 : détaché des cartes */
.aide__menu[hidden] { display: none; }
.aide__choix { display: block; width: 100%; padding: 9px 12px; border: 0; border-radius: 10px; background: none; color: var(--foret); font: inherit; font-size: .9rem; text-align: left; white-space: nowrap; cursor: pointer; }
.aide__choix:hover, .aide__choix:focus-visible { background: rgba(21, 44, 18, .07); }
@media print { .aide { display: none; } }

/* NOTIFICATIONS-1310 (Loris, 13/10) : la cloche, tout à droite de la barre du haut, dans toutes les rubriques */
.cloche { position: relative; display: inline-flex; flex: none; margin-left: 10px; }
.cloche__bouton { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 999px; background: rgba(21, 44, 18, .05); box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .08); color: #152C12; font: inherit; font-size: 1.1rem; cursor: pointer; }
.cloche__bouton:hover { background: rgba(21, 44, 18, .09); }
.cloche__bouton--nouvelles { background: #FDF1EC; box-shadow: inset 0 0 0 1px #F2C9BC; }
.cloche__n { position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #D2492A; color: #fff; font-size: .7rem; font-weight: 800; line-height: 18px; text-align: center; }
.cloche__panneau { position: absolute; top: calc(100% + 10px); right: 0; z-index: 60; width: min(390px, calc(100vw - 24px)); max-height: min(72vh, 540px); overflow-y: auto; padding: 8px; border-radius: 18px; background: #fff; box-shadow: 0 24px 48px -24px rgba(21, 44, 18, .45), 0 0 0 1px rgba(21, 44, 18, .1); color: #152C12; text-align: left; }
.cloche__tete { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px 8px; font-size: .95rem; }
.cloche__tout { padding: 0; border: 0; background: none; color: #46553F; font: inherit; font-size: .78rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cloche__liste { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cloche__item { display: grid; gap: 2px; width: 100%; padding: 9px 10px; border: 0; border-radius: 12px; background: none; color: #152C12; font: inherit; text-align: left; white-space: normal; cursor: pointer; }
.cloche__item:hover { background: #F2FEE2; }
.cloche__item b { font-size: .86rem; }
.cloche__item span { color: #46553F; font-size: .8rem; line-height: 1.4; }
.cloche__item b span { color: inherit; font-size: inherit; }
.cloche__item small { color: #46553F; font-size: .72rem; }
.cloche__item--nouvelle { background: #FDF5F2; box-shadow: inset 3px 0 0 #D2492A; }
.cloche__item--nouvelle b { color: #B23A20; }
.cloche__item--regle { opacity: .6; }
/* LOT1C-2010 : la notification « il s'est passé quoi ? » d'un R1 / R2 (No show, Il a annulé, Décalé + jour et heure) */
.cloche__rdv { display: grid; gap: 6px; margin-top: 6px; cursor: default; }
.cloche__rdv-boutons, .cloche__rdv-date { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cloche__rdv-date[hidden] { display: none; }
.cloche__rdv .btn { padding: 6px 12px; font-size: .78rem; }
.cloche__rdv input { padding: 5px 8px; border: 1px solid rgba(21, 44, 18, .2); border-radius: 10px; background: #fff; color: #152C12; font: inherit; font-size: .8rem; }
.cloche__item .cloche__rdv-msg { color: #2c5a12; font-size: .78rem; }
.cloche__rdv-msg:empty { display: none; }
/* LOT1D-2010 : la liste des fiches à trier, dans la cloche */
.cloche__tri { display: grid; gap: 8px; margin-top: 4px; }
.cloche__tri[hidden] { display: none; }
.cloche__tri-ligne { display: grid; gap: 5px; padding: 8px; border-radius: 10px; background: #F6F9F2; }
.cloche__item .cloche__tri-ligne b { color: #152C12; font-size: .82rem; }
.cloche__tri-ligne--faite { opacity: .55; }
.cloche__tri-note { padding: 5px 8px; border: 1px solid rgba(21, 44, 18, .2); border-radius: 10px; background: #fff; color: #152C12; font: inherit; font-size: .8rem; }
.cloche__vide { margin: 0; padding: 10px; color: #46553F; font-size: .84rem; }

/* NOTIFICATIONS-1310 · icône (Loris, 13/10) : la cloche au trait, comme les icônes du menu de gauche ; elle suit la couleur du texte (mode sombre compris) */
.cloche__bouton { color: var(--ink-soft); }
.cloche__bouton:hover { color: var(--foret); }
.cloche__bouton svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cloche__bouton--nouvelles { color: #B23A20; }

/* ICONES-1310 (Loris, 13/10) : en haut à droite, 3 icônes rondes de la même taille : 📖 les guides (l'onglet SOP), 💳 les liens de paiement
   (Sales), 🔔 la cloche ; et la barre de gauche repliée garde Système, Équipe, mon compte et le mode sombre en bas */
.entete--bandeau .onglets a.onglet-icone { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; padding: 0; border-radius: 999px; color: var(--ink-soft); }
.entete--bandeau .onglets a.onglet-icone:hover { color: var(--foret); }
.onglet-icone svg, .liens-haut .cloche__bouton svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.liens-haut { position: relative; display: inline-flex; flex: none; margin-left: 10px; }
.liens-haut[hidden] { display: none; }
.liens-haut .cloche__bouton[aria-expanded="true"] { background: rgba(21, 44, 18, .09); color: var(--foret); }
.liens-haut__offres { display: inline-flex; gap: 2px; padding: 2px; border-radius: 999px; background: rgba(21, 44, 18, .06); }
.liens-haut__offres button { padding: 4px 10px; border: 0; border-radius: 999px; background: none; color: #46553F; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; }
.liens-haut__offres button[aria-pressed="true"] { background: #FFFFFF; color: #152C12; box-shadow: 0 1px 3px rgba(21, 44, 18, .18); }
.liens-haut__groupe { padding: 4px 4px 8px; }
.liens-haut__groupe + .liens-haut__groupe { border-top: 1px solid rgba(21, 44, 18, .08); padding-top: 10px; }
.liens-haut__groupe h4 { margin: 0 6px 6px; color: #46553F; font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.liens-haut__lien { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 7px 6px 7px 8px; border-radius: 10px; color: #152C12; font-size: .86rem; }
.liens-haut__lien:hover { background: #F2FEE2; }
.liens-haut__copier { flex: none; padding: 5px 12px; border: 0; border-radius: 999px; background: rgba(21, 44, 18, .07); color: #152C12; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; }
.liens-haut__copier:hover { background: rgba(21, 44, 18, .12); }
.liens-haut__copier--ok { background: #E3F7C8; color: #2F5A12; }
body.cote-repliee .cote__modules--bas { margin-top: auto; }

/* LIENS-1310 (Loris, 13/10) : les 3 icônes du haut (guides, liens de paiement, cloche) au même dessin que la barre de gauche : carré arrondi
   sans fond, vert foncé avec l'icône lime quand c'est ouvert ou affiché (couleurs écrites en dur : le mode sombre garde vert foncé et lime) */
.entete--bandeau .onglets a.onglet-icone, .cloche__bouton { width: 40px; height: 40px; border-radius: 12px; background: none; box-shadow: none; color: var(--ink-soft); transition: background .15s, color .15s; }
.entete--bandeau .onglets a.onglet-icone:hover, .cloche__bouton:hover { background: rgba(21, 44, 18, .06); color: var(--foret); }
.cloche__bouton.cloche__bouton--nouvelles { background: #FDF1EC; color: #B23A20; }
.zone .entete--bandeau .onglets a.onglet-icone[aria-current], .zone .cloche__bouton[aria-expanded="true"] { background: #152C12; color: #A1E04D; box-shadow: inset 0 0 0 1px rgba(161, 224, 77, .18), 0 10px 22px -14px rgba(21, 44, 18, .9); }

/* les deux panneaux (liens de paiement, notifications) : même en-tête, mêmes cartes, défilement discret */
.cloche__panneau { padding: 12px; border-radius: 20px; scrollbar-width: thin; scrollbar-color: transparent transparent; }
.cloche__panneau:hover { scrollbar-color: rgba(21, 44, 18, .25) transparent; }
.cloche__tete, .liens-haut__tete { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 2px 4px 10px; font-size: 1rem; }
.cloche__tete b, .liens-haut__tete b { font-weight: 800; letter-spacing: -.01em; }
.cloche__tout { padding: 5px 12px; border-radius: 999px; background: rgba(21, 44, 18, .07); text-decoration: none; }
.cloche__tout:hover { background: rgba(21, 44, 18, .12); }
.cloche__liste { gap: 8px; }
.cloche__item { gap: 3px; padding: 11px 12px; border-radius: 14px; background: #F3F6F1; }
.cloche__item:hover { background: #EAF0E6; }
.cloche__item b { font-size: .88rem; font-weight: 800; }
.cloche__item span { font-size: .82rem; }
.cloche__item small { font-size: .74rem; }
.cloche__item--nouvelle { background: #FFFFFF; box-shadow: inset 3px 0 0 #D2492A, 0 0 0 1px rgba(210, 73, 42, .18); }
.cloche__item--nouvelle:hover { background: #FFF8F6; }
.cloche__vide { margin: 0; padding: 18px 14px; border-radius: 14px; background: #F3F6F1; color: #46553F; font-size: .84rem; text-align: center; }

/* liens de paiement : le dépôt en tête, une carte par formule, deux lignes (paiement complet, après un dépôt) ; les montants en colonnes alignées */
.liens-haut__panneau { width: min(470px, calc(100vw - 24px)); max-height: calc(100vh - 90px); } /* toutes les formules d'un coup sur un écran d'ordinateur */
body:has(.cloche__panneau:not([hidden])) .aide { display: none; } /* le « ? » ne passe pas sur un panneau ouvert */
.liens-haut__offre { color: #46553F; font-size: .8rem; font-weight: 700; }
.liens-haut__offres { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: rgba(21, 44, 18, .07); }
.liens-haut__offres button { padding: 5px 12px; border: 0; border-radius: 999px; background: none; color: #46553F; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.liens-haut__offres button[aria-pressed="true"] { background: #152C12; color: #A1E04D; }
.liens-haut__aide { margin: -4px 4px 12px; color: #46553F; font-size: .78rem; }
.liens-haut__bloc { margin: 0 0 8px; padding: 12px 12px 8px; border-radius: 16px; background: #F3F6F1; }
.liens-haut__bloc:last-child { margin-bottom: 0; }
.liens-haut__bloc--depot { background: #F4FBEA; box-shadow: inset 0 0 0 1px rgba(161, 224, 77, .35); }
.liens-haut__bloc h4 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 6px; color: #152C12; font-size: .9rem; font-weight: 800; letter-spacing: -.01em; }
.liens-haut__bloc h4 small { color: #46553F; font-size: .76rem; font-weight: 700; white-space: nowrap; }
.liens-haut__ligne { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 6px 0; color: #46553F; font-size: .82rem; }
.liens-haut__ligne + .liens-haut__ligne { border-top: 1px solid rgba(21, 44, 18, .07); }
.liens-haut__puces { display: flex; justify-content: flex-end; gap: 6px; } /* collés à droite : les montants s'alignent en colonnes d'une carte à l'autre */
.liens-haut__puce { width: 88px; display: grid; justify-items: center; gap: 1px; padding: 6px 4px 5px; border: 1px solid rgba(21, 44, 18, .12); border-radius: 12px; background: #FFFFFF; color: #152C12; font: inherit; cursor: pointer; transition: border-color .15s, background .15s, transform .1s; }
.liens-haut__puce b { font-size: .86rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.liens-haut__puce small { color: #46553F; font-size: .68rem; font-weight: 600; white-space: nowrap; }
.liens-haut__puce:hover { border-color: #152C12; }
.liens-haut__puce:active { transform: scale(.97); }
.liens-haut__puce--ok { border-color: #A1E04D; background: #E3F7C8; }
.liens-haut__puce--ok small { color: #2F5A12; font-weight: 800; }
.liens-haut__puce--ko { border-color: #F2C9BC; background: #FDF1EC; } /* COPIE-1310 : le navigateur a refusé la copie */

/* QUESTION-1310 (Loris, 13/10) : « Poser une question » (en construction) : la fenêtre de discussion au-dessus du « ? » */
.aide__bientot { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: rgba(21, 44, 18, .08); color: #46553F; font-size: .68rem; font-weight: 800; vertical-align: 1px; }
.aide__chat { position: absolute; right: 0; bottom: 54px; display: grid; grid-template-rows: auto 1fr auto; width: min(360px, calc(100vw - 32px)); height: min(440px, calc(100vh - 120px)); border-radius: 20px; background: #FFFFFF; box-shadow: 0 24px 48px -24px rgba(21, 44, 18, .45), 0 0 0 1px rgba(21, 44, 18, .1); overflow: hidden; }
.aide__chat[hidden] { display: none; }
.aide__chat-tete { display: flex; align-items: center; gap: 8px; padding: 14px 12px 12px 16px; border-bottom: 1px solid rgba(21, 44, 18, .08); color: #152C12; }
.aide__chat-tete b { font-size: 1rem; font-weight: 800; letter-spacing: -.01em; }
.aide__chat-tete .aide__bientot { margin-left: 0; }
.aide__chat-fermer { margin-left: auto; width: 30px; height: 30px; border: 0; border-radius: 10px; background: none; color: #46553F; font: inherit; cursor: pointer; }
.aide__chat-fermer:hover { background: rgba(21, 44, 18, .07); }
.aide__chat-fil { display: grid; align-content: start; gap: 8px; padding: 16px 14px; overflow-y: auto; background: #F3F6F1; }
.aide__bulle { max-width: 88%; padding: 10px 12px; border-radius: 14px 14px 14px 4px; background: #FFFFFF; color: #152C12; font-size: .86rem; line-height: 1.45; box-shadow: 0 0 0 1px rgba(21, 44, 18, .06); }
.aide__bulle p { margin: 0; }
.aide__bulle p + p { margin-top: 6px; color: #46553F; }
.aide__chat-saisie { display: flex; align-items: center; gap: 6px; padding: 10px; border-top: 1px solid rgba(21, 44, 18, .08); background: #FFFFFF; }
.aide__chat-saisie input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid rgba(21, 44, 18, .14); border-radius: 12px; background: #F3F6F1; color: #152C12; font: inherit; font-size: .88rem; }
.aide__chat-saisie button { display: grid; place-items: center; flex: none; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 12px; background: rgba(21, 44, 18, .07); color: #46553F; cursor: not-allowed; }
.aide__chat-saisie .aide__chat-envoyer { background: #152C12; color: #A1E04D; }
.aide__chat-saisie button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.aide__chat-saisie :disabled { opacity: .55; }

/* --- AFAIRE-1310 : l'À faire de la CSM (maquette validée par Loris le 13/10/2026, harmonisée) ---------------------------------------
   Une carte par moment ; chaque ligne a les mêmes 4 colonnes : en-tête (pastille ou heure, même largeur) · client et entreprise ·
   icône, titre et détail · action (case, bouton, flèche). Deux lignes de texte partout : toutes les lignes ont la même hauteur. */
.faire-carte { margin: 0 0 12px; padding: 12px 14px 6px; border-radius: 18px; background: var(--blanc); box-shadow: inset 0 0 0 1px var(--trait); }
.faire-carte h2 { display: flex; align-items: center; gap: 8px; min-height: 30px; margin: 0 0 2px; padding: 0 6px; color: var(--foret); font-size: .9375rem; font-weight: 800; }
.faire-carte--retard h2 { color: #B23A20; }
.faire-n { padding: 1px 8px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .08); color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.faire-carte h3 { margin: 10px 6px 0; color: var(--ink-soft); font-size: .8125rem; font-weight: 800; }
.faire-ic { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.faire-lignes { display: grid; }
.faire-lignes[hidden], .faire-sous[hidden] { display: none; }  /* replié : le display de la carte ne doit pas l'emporter */
.faire-ligne { display: grid; grid-template-columns: 6.5rem minmax(0, 13rem) minmax(0, 1fr) auto; align-items: center; column-gap: 16px; min-height: 58px; padding: 8px 6px; color: var(--foret); }
.faire-ligne + .faire-ligne, .faire-sous + .faire-ligne, .ligne-faire__form + .faire-ligne, .faire-sous > .faire-ligne:first-child, .faire-carte h3 + .faire-ligne { box-shadow: 0 -1px 0 var(--trait); }
.faire-tete { display: inline-flex; align-items: center; justify-content: center; height: 28px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.faire-tete:empty { background: none; }
.faire-qui, .faire-quoi > span { display: grid; min-width: 0; line-height: 1.3; }
.faire-qui { color: inherit; text-decoration: none; }
.faire-qui b, .faire-quoi b { overflow: hidden; font-size: .9375rem; text-overflow: ellipsis; white-space: nowrap; }
.faire-qui b { font-weight: 700; }
.faire-quoi b { font-weight: 600; }
.faire-qui small, .faire-quoi small { min-height: 1.3em; overflow: hidden; color: var(--ink-soft); font-size: .8125rem; text-overflow: ellipsis; white-space: nowrap; }
a.faire-qui:hover b { text-decoration: underline; }
.faire-quoi { display: flex; align-items: center; gap: 10px; min-width: 0; }
.faire-quoi > .faire-ic { color: var(--ink-soft); }
.faire-act { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 28px; }
.faire-act .btn { white-space: nowrap; }
.faire-ouvrir { display: grid; flex: none; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); cursor: pointer; }
.faire-ouvrir:hover { background: var(--rosee); }
.faire-ouvrir[aria-expanded="true"] .faire-ic, .faire-carte__tete[aria-expanded="true"] .faire-ic--fleche { transform: rotate(180deg); }
.faire-ligne--sous { min-height: 52px; }
.faire-carte__tete { display: flex; flex: 1; align-items: center; gap: 8px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.faire-jours { flex: 1; min-width: 0; margin-left: 4px; overflow: hidden; color: var(--ink-soft); font-size: .875rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.faire-carte--avenir .faire-lignes { margin-top: 2px; }
.faire-ligne + .ligne-faire__form .form-action { margin: 4px 6px 10px; }
@media (max-width: 640px) {  /* téléphone : en-tête, client et action en haut ; l'icône, le titre et le détail dessous */
  .faire-carte { padding: 10px 10px 4px; border-radius: 16px; }
  .faire-ligne { grid-template-columns: 6rem minmax(0, 1fr) auto; grid-template-areas: "tete qui act" "quoi quoi quoi"; column-gap: 10px; row-gap: 6px; }
  .faire-tete { grid-area: tete; } .faire-qui { grid-area: qui; } .faire-quoi { grid-area: quoi; } .faire-act { grid-area: act; }
}
/* AFAIRE2-1310 : un appel du jour passé est coché tout seul (la case pleine, le texte en retrait) */
.coche.coche--faite { background: #E3F2D3; color: #3E7D1C; cursor: default; }
.faire-ligne--fait .faire-qui b, .faire-ligne--fait .faire-quoi b { color: var(--ink-soft); }

/* MODES-1310 (Loris, 13/10) : sous l'offre, deux onglets : GoCardless (les liens) et Virement (le RIB d'EPIF ; remplace la barre RIB-1310) */
.liens-haut__modes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 0 0 12px; padding: 4px; border-radius: 14px; background: rgba(21, 44, 18, .07); }
.liens-haut__modes button { padding: 8px 10px; border: 0; border-radius: 11px; background: none; color: #46553F; font: inherit; font-size: .86rem; font-weight: 800; cursor: pointer; transition: background .15s, color .15s; }
.liens-haut__modes button:hover { color: #152C12; }
.liens-haut__modes button[aria-selected="true"] { background: #FFFFFF; color: #152C12; box-shadow: 0 1px 3px rgba(21, 44, 18, .16), 0 6px 14px -10px rgba(21, 44, 18, .5); }
.liens-haut__rib-carte { display: grid; gap: 14px; padding: 14px; }
.liens-haut__rib-carte h4 { margin: 0; }
.liens-haut__rib-infos { display: grid; gap: 8px; margin: 0; }
.liens-haut__rib-infos div { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 10px; }
.liens-haut__rib-infos dt { color: #46553F; font-size: .78rem; font-weight: 700; }
.liens-haut__rib-infos dd { margin: 0; color: #152C12; font-size: .88rem; font-weight: 700; }
.liens-haut__rib-infos dd.liens-haut__iban-texte { padding: 9px 11px; border-radius: 10px; background: #FFFFFF; font-size: .95rem; font-weight: 800; letter-spacing: .03em; font-variant-numeric: tabular-nums; box-shadow: 0 0 0 1px rgba(21, 44, 18, .08); }
.liens-haut__rib-gestes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.liens-haut__geste { padding: 10px; border: 1px solid rgba(21, 44, 18, .14); border-radius: 12px; background: #FFFFFF; color: #152C12; font: inherit; font-size: .84rem; font-weight: 800; cursor: pointer; transition: border-color .15s, background .15s; }
.liens-haut__geste:hover { border-color: #152C12; }
.liens-haut__geste--plein { border-color: #152C12; background: #152C12; color: #A1E04D; }
.liens-haut__geste--ok { border-color: #A1E04D; background: #E3F7C8; color: #2F5A12; }
a.liens-haut__geste { display: grid; place-items: center; text-decoration: none; } /* TELECHARGER-1310 : le lien de téléchargement a l'allure d'un bouton */

/* MOBILE-1310 (Loris, 13/10) : sur téléphone, l'ERP prenait la largeur de la barre des rubriques (763 px au lieu de l'écran) : tout débordait
   et paraissait cassé. La colonne se réduit, la barre du haut ne s'étire plus sur une page courte ; sur un téléphone : une seule ligne en haut
   (logo, rubriques en icônes qui défilent, mon compte), les onglets qui défilent puis les 3 icônes (le 📖 reste visible au bout des onglets),
   les panneaux du haut en feuille posée en bas, et une fiche ouverte dans un écran Sales prend tout l'écran (body.cadre-fiche, app.js) */
@media (max-width: 899px) {
  .app { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
  .cote, .zone, .entete, .bar { min-width: 0; }
  .cote__modules { min-width: 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .cote__modules::-webkit-scrollbar { display: none; }
  .cote__modules a { flex: none; }
  .cote__modules--bas { margin: 0; }
  .cote__replier { display: none; }
}
@media (max-width: 639px) {
  .cote { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-areas: "tete modules bas pied"; align-items: center; gap: 0 4px; padding: 8px 10px 8px 14px; }
  .cote__tete { grid-area: tete; }
  .cote__logo { padding: 4px 2px; }
  .cote .brand__erp { display: none; }
  .cote__modules { grid-area: modules; gap: 2px; }
  .cote__modules--bas { grid-area: bas; }
  .cote__modules a { padding: 7px; }
  .cote__modules .cote__nom { display: none; }
  .cote__modules a.chantier:not([aria-current]) { display: none; } /* en construction (pages vides) : pas sur téléphone */
  .cote__pied { grid-area: pied; margin: 0; }
  .zone .entete--bandeau { padding: 8px 0; }
  .zone .entete--bandeau .bar { flex-wrap: nowrap; gap: 4px; }
  .zone .entete--bandeau .onglets { order: 0; min-width: 0; margin: -6px 0 -10px -2px; padding: 6px 0 10px 2px; scrollbar-width: none; } /* de la place pour l'ombre de l'onglet ouvert */
  .zone .entete--bandeau .onglets::-webkit-scrollbar { display: none; }
  /* le 📖 collé au bout des onglets : fond plein, bords (ombre pleine) et fondu à gauche de la couleur du bandeau, l'onglet dessous ne dépasse pas */
  .zone .entete--bandeau .onglets a.onglet-icone { position: sticky; right: 0; z-index: 1; box-shadow: 0 0 0 6px var(--chrome); }
  .zone .entete--bandeau .onglets a.onglet-icone:not([aria-current]) { background: var(--chrome); }
  .zone .entete--bandeau .onglets a.onglet-icone[aria-current] { box-shadow: inset 0 0 0 1px rgba(161, 224, 77, .18), 0 0 0 6px var(--chrome); }
  .zone .entete--bandeau .onglets a.onglet-icone::before { content: ""; position: absolute; top: -6px; right: calc(100% + 6px); bottom: -6px; width: 20px; background: linear-gradient(90deg, transparent, var(--chrome)); pointer-events: none; }
  .entete--bandeau .onglets .nav-offre { margin-right: 2px; padding-right: 8px; }
  .nav-offre select { max-width: 112px; height: 36px; padding: 0 30px 0 32px; background-position: right 11px center; font-size: .9375rem; text-overflow: ellipsis; }
  .nav-offre .choix__menu::before { left: 14px; }
  .liens-haut, .cloche { margin-left: 0; }
  .cloche__panneau, .liens-haut__panneau { position: fixed; top: auto; right: 8px; bottom: 8px; left: 8px; width: auto; max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); }
  .liens-haut__ligne:has(.liens-haut__puce + .liens-haut__puce) { grid-template-columns: 1fr; gap: 6px; } /* plusieurs montants : la phrase au-dessus */
  .aide { right: 14px; bottom: 14px; }
  .aide__bouton { width: 42px; height: 42px; font-size: 1.1rem; } /* BOUTON-1610 */
  body.cadre-fiche .cote, body.cadre-fiche .entete, body.cadre-fiche .aide { display: none; }
  body.cadre-fiche .app { grid-template-rows: minmax(0, 1fr); }
}

/* CRM-1410 : cartes du CRM (deux lignes selon l'étape, ou les 3 chiffres du support ; rouge = la CSM doit agir), fiche : résultats, historique, note */
.carte-crm--rouge { box-shadow: 0 8px 18px -14px rgba(21, 44, 18, .6), inset 0 0 0 1.5px #D9876F; }
.carte-crm__stats { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr) minmax(0, .65fr); gap: 6px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--trait); }
.carte-crm__stats > span { display: grid; gap: 1px; min-width: 0; }
.carte-crm__stats i { overflow: hidden; color: var(--ink-soft); font-size: .72rem; font-style: normal; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.carte-crm__stats b { font-size: .95rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.carte-crm__stats .en-retard b, .carte-crm__stats .en-retard i { color: #B23A20; }
.carte-crm__stats + .carte-crm__infos { margin-top: 8px; padding-top: 0; border-top: 0; }
.table-camp.table-camp--mini { min-width: 0; table-layout: fixed; }
.chiffres-crm { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.histo { display: grid; margin: 0; padding: 0; list-style: none; }
.histo li { display: grid; grid-template-columns: 58px 18px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 9px 0; border-top: 1px solid var(--trait); font-size: .875rem; }
.histo li:first-child { border-top: 0; padding-top: 0; }
.histo time { color: var(--ink-soft); font-size: .8rem; font-weight: 600; white-space: nowrap; }
.histo .faire-ic { width: 16px; height: 16px; align-self: center; color: var(--ink-soft); }
.histo small { display: block; margin-top: 2px; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.note-crm { display: block; width: 100%; box-sizing: border-box; min-height: 180px; padding: 12px 14px; border: 1px solid var(--trait); border-radius: 14px; font: inherit; line-height: 1.5; resize: vertical; }
@media (max-width: 699px) { .chiffres-crm { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* CRM2-1410 : la Timeline de la Delivery, au dessin de celle des Sales (ecrans-sales/style.css : .fil, .transcription), les étapes clés en haut */
.tl-etapes { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); align-items: start; margin: 0; padding: 0; list-style: none; }
.tl-etape { position: relative; display: grid; justify-items: center; gap: 3px; min-width: 0; text-align: center; }
.tl-etape::before { content: ""; position: absolute; top: 6px; left: -50%; width: 100%; height: 2px; background: var(--trait); }
.tl-etape:first-child::before { display: none; }
.tl-etape--faite::before { background: var(--lime); }
.tl-etape__point { position: relative; z-index: 1; width: 14px; height: 14px; border-radius: 50%; background: var(--surface, #fff); box-shadow: inset 0 0 0 2px var(--trait); }
.tl-etape--faite .tl-etape__point { background: var(--lime); box-shadow: none; }
.tl-etape b { max-width: 100%; font-size: .72rem; font-weight: 700; line-height: 1.15; }
.tl-etape small { color: var(--ink-soft); font-size: .7rem; font-weight: 600; white-space: nowrap; }
.tl-filtres { display: flex; gap: 6px; margin-bottom: 10px; }
.tl-filtre { padding: 6px 12px; border: 0; border-radius: 999px; background: #EEF1EC; color: var(--foret); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; }
.tl-filtre[aria-pressed="true"] { background: var(--foret); color: #fff; }
.fil { margin: 0; }
.fil__jour { margin: 14px 0 2px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.fil__jour:first-child { margin-top: 0; }
.fil__ligne { border-top: 1px solid var(--trait); }
.fil__ligne > summary, div.fil__ligne { display: grid; grid-template-columns: 3.1rem 5.4rem 1.4rem minmax(0, 1fr) 1rem; align-items: center; column-gap: 6px;
  min-height: 34px; padding: 3px 4px; font-size: .875rem; list-style: none; }
.fil__ligne > summary { border-radius: 8px; cursor: pointer; }
.fil__ligne > summary::-webkit-details-marker { display: none; }
.fil__ligne > summary:hover { background: var(--rosee); }
.fil__ligne time { color: var(--ink-soft); font-size: .78rem; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fil__qui { overflow: hidden; color: var(--foret); font-size: .8125rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.fil__ligne--client .fil__qui { color: #1D5FA6; }
.fil__ligne .faire-ic { width: 16px; height: 16px; justify-self: center; color: var(--ink-soft); }
.fil__txt { overflow: hidden; color: var(--foret); text-overflow: ellipsis; white-space: nowrap; }
.fil__chev { color: var(--ink-soft); font-size: .75rem; text-align: center; transition: transform .15s; }
.fil__ligne[open] .fil__chev { transform: rotate(180deg); }
.fil__ligne[open] .fil__txt { color: var(--ink-soft); }
.fil__plein { margin: 0 0 8px calc(3.1rem + 5.4rem + 1.4rem + 22px); padding: 8px 12px; border-radius: 12px; background: #F4F6F2; font-size: .875rem; }
.fil__plein > * + * { margin-top: 8px; }
.fil__plein .texte { margin: 0; white-space: pre-line; }
.fil__ligne--client .fil__plein { background: #EEF4FB; }
.transcription p { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr); gap: 12px; margin: 0; padding: 4px 0; font-size: .875rem; line-height: 1.45; }
.transcription summary { display: inline-flex; margin: 4px 0; padding: 7px 12px; border-radius: 999px; background: rgba(21, 44, 18, .07); font-size: .8125rem; font-weight: 600; line-height: 1; list-style: none; cursor: pointer; }
.transcription summary::-webkit-details-marker { display: none; }
.transcription summary:hover { background: rgba(21, 44, 18, .12); }
.transcription[open] .tr-plus, .transcription:not([open]) .tr-moins { display: none; }
@media (max-width: 699px) {
  .tl-etapes { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 12px; }
  .tl-etape:nth-child(5)::before { display: none; }
  .fil__ligne > summary, div.fil__ligne { grid-template-columns: 2.8rem 4.2rem 1.3rem minmax(0, 1fr) .9rem; }
  .fil__plein { margin-left: 0; }
  .transcription p { grid-template-columns: 1fr; gap: 0; }
}

/* BASCULE-1410 (Loris, 14/10) : la bascule ERP ⇄ APP du logo (administrateurs) ; panneau comme ceux de 💳 et 🔔 */
.cote__marque { position: relative; display: flex; align-items: center; gap: 2px; min-width: 0; }
.bascule__bouton { display: inline-flex; align-items: center; gap: 4px; border: 0; font-family: inherit; cursor: pointer; }
.bascule__bouton svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.bascule__bouton:hover, .bascule__bouton[aria-expanded="true"] { filter: brightness(1.2); }
.bascule__panneau { position: absolute; top: calc(100% + 8px); left: 0; z-index: 60; width: 236px; padding: 6px; border-radius: 16px; background: #fff;
  box-shadow: 0 24px 48px -24px rgba(21, 44, 18, .45), 0 0 0 1px rgba(21, 44, 18, .1); }
.bascule__ligne { display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; align-items: center; gap: 8px; padding: 8px; border-radius: 12px; color: #152C12; text-decoration: none; }
.bascule__ligne:hover { background: #F2FEE2; }
.bascule__pastille { justify-self: start; padding: 3px 8px; border-radius: var(--r-pill); background: var(--foret); color: var(--rosee); font-size: .7rem; font-weight: 800; letter-spacing: .04em; } /* comme .brand__erp, aussi en mode sombre */
.bascule__pastille--app { background: var(--grad-lime); color: var(--foret); }
.bascule__texte { display: grid; min-width: 0; line-height: 1.25; }
.bascule__texte b { font-size: .875rem; }
.bascule__texte small { overflow: hidden; color: #46553F; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.bascule__coche { width: 18px; height: 18px; fill: none; stroke: #152C12; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
/* ZERNIO-1410 : titre d'étape du Setup sur une ligne, le résumé passe à la ligne s'il est long */
.pas__titre { white-space: nowrap; }
.pas__resume { text-align: right; }

/* PREPA-1510 (Loris, 15/10) : l'onglet Formulaire de la fiche client (Delivery) : les points d'attention, rouges quand ils sont à régler avant l'appel */
.form-points { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.form-point { position: relative; padding: 9px 12px 9px 30px; border-radius: 12px; background: #F2F5F0; font-size: .9rem; line-height: 1.45; }
.form-point::before { content: ""; position: absolute; top: 15px; left: 13px; width: 8px; height: 8px; border-radius: 50%; background: #9AA597; }
.form-point--regler { background: #FDECE9; }
.form-point--regler::before { background: #D9544E; }
.form-recu { margin-left: 8px; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }

/* VUE-1510, VUE2-1510 (Loris, 15/10) : la vue d'un membre (Équipe › Voir sa vue) : un bandeau sur toute la largeur, tout en haut (comme la plateforme),
   qui ne touche pas la barre des onglets ; la page, la barre des rubriques et les onglets se calent dessous (--vue-h). Sombre : finition de sombre.py */
body.en-vue { --vue-h: 40px; }
.vue-de { position: sticky; top: 0; z-index: 30; box-sizing: border-box; display: flex; align-items: center; gap: 10px; height: var(--vue-h); padding: 0 8px 0 18px; background: #152C12; color: #A1E04D; font-size: .88rem; font-weight: 700; }
.vue-de span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vue-de__quitter { padding: 4px 14px; border: 0; border-radius: var(--r-pill); background: rgba(161, 224, 77, .16); color: inherit; font: inherit; cursor: pointer; }
.vue-de__quitter:hover { background: rgba(161, 224, 77, .28); }
body.en-vue .app { min-height: calc(100vh - var(--vue-h)); }
body.en-vue .cote { top: var(--vue-h); height: calc(100vh - var(--vue-h)); }
body.en-vue .entete { top: var(--vue-h); }
body.en-vue.vue-cadre .app { height: calc(100vh - var(--vue-h)); height: calc(100dvh - var(--vue-h)); }
@media (max-width: 899px) { body.en-vue .cote { top: auto; height: auto; } }
.vue-de svg, .eq-vue svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.eq-vue { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-bottom: 14px; }
/* CRM3-1510 : la carte du CRM = où en est le client + sa 1re action (celle de l'À faire) ; fiche : les actions en haut, l'onglet Suivi (7 étapes), le lien vers Campagnes */
.carte-crm__etat { display: block; margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--trait); overflow: hidden; color: var(--foret); font-size: .8rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.carte-crm__qui { display: block; margin-top: 2px; color: var(--ink-soft); font-size: .75rem; font-weight: 600; }
.carte-crm__barre { display: block; height: 4px; margin-top: 7px; border-radius: 2px; background: #E6EBE3; overflow: hidden; }
.carte-crm__barre i { display: block; height: 100%; border-radius: 2px; background: var(--lime); }
.action-chip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 3px 10px 3px 8px; border-radius: var(--r-pill); background: #FBE7E0; color: #B23A20; font-size: .75rem; font-weight: 700; line-height: 1.3; }
.action-chip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.action-chip .faire-ic { flex: none; width: 13px; height: 13px; color: inherit; }
.action-chip--neutre { background: #EEF1EC; color: var(--foret); }
.carte-crm .action-chip { margin-top: 8px; }
.bloc-action .bloc-action__ligne + .bloc-action__ligne { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--trait); }
.bloc-action__ligne .action-chip, .bloc-action__ligne .action-chip span { color: #B23A20; font-weight: 700; }
.bloc-action__ligne .action-chip--neutre, .bloc-action__ligne .action-chip--neutre span { color: var(--foret); }
.bloc-action__ligne .bloc-action__quoi { flex: 1; min-width: 0; font-size: .875rem; font-weight: 600; }
.bloc-action__ligne .btn--mini { margin-left: auto; }
@media (min-width: 700px) { .tl-etapes { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.lien-campagnes { margin: 0; text-align: right; font-size: .875rem; font-weight: 700; }
.lien-campagnes a { color: var(--foret); }
/* JOURS-1510 : Campagnes, détail jour par jour : des pastilles courtes (icône + quelques mots), le texte entier se déplie sous le jour */
.cj__past { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; }
.cj__past > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cj__past .faire-ic { flex: none; width: 13px; height: 13px; color: inherit; }
.cj__past--wa { flex-basis: auto; white-space: nowrap; }
.cj__ligne--plus { position: relative; padding-right: 34px; cursor: pointer; }
.cj__ligne--plus:hover { background: var(--rosee); }
.cj__ligne--pb.cj__ligne--plus:hover { background: #FFF1CC; }
.cj__chev { position: absolute; top: 50%; right: 12px; color: var(--ink-soft); font-size: .75rem; transform: translateY(-50%); transition: transform .15s; }
.cj__ligne--plus[aria-expanded="true"] .cj__chev { transform: translateY(-50%) rotate(180deg); }
.cj__plein { display: grid; gap: 6px; padding: 8px 14px 10px; border-top: 1px solid var(--trait); background: #F4F6F2; font-size: .85rem; }
.cj__plein[hidden] { display: none; }
.cj__plein p { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; margin: 0; }
.cj__plein .faire-ic { width: 14px; height: 14px; margin-top: 2px; color: var(--ink-soft); }
/* FICHE-1510 : la carte au dessin de Sales (lignes à icône, action « 📌 » en texte) ; fiche : la tâche dans Infos, les formulaires (une question et sa réponse par ligne) */
.carte-crm .emo, .bloc-action .emo { margin-right: .45em; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-style: normal; }
.carte-crm > .carte-crm__ligne { margin-top: 9px; }
.carte-crm .carte-crm__info { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.carte-crm .carte-crm__qui { margin-top: 3px; }
.carte-crm .carte-crm__tache { display: block; margin-top: 7px; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.carte-crm .carte-crm__tache b { color: var(--foret); font-weight: 800; }
.carte-crm .carte-crm__tache--retard b { color: #B23A20; }
.carte-crm .carte-crm__visio { flex: none; padding: 3px 10px; border-radius: var(--r-pill); background: var(--grad-lime); color: var(--foret); font-size: .75rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.carte-crm .carte-crm__visio:hover { filter: brightness(1.05); }
.bloc-action h3 + .bloc-action__ligne { margin-top: 2px; }
.bloc-action .tache-cle { flex: none; font-size: .875rem; }
.bloc-action .tache-cle b { color: #B23A20; font-weight: 800; }
.bloc-action .tache-cle--neutre b { color: var(--foret); }
.form-qr { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 14px; padding: 9px 2px; border-top: 1px solid var(--trait); }
.sous-panneau > .form-qr:first-child, .form-titre + .form-qr { border-top: 0; }
.form-qr span { color: var(--ink-soft); font-size: .875rem; font-weight: 600; line-height: 1.4; }
.form-qr b { color: var(--foret); font-size: .9375rem; font-weight: 600; line-height: 1.4; white-space: pre-line; }
.form-qr b:only-child { grid-column: 1 / -1; }
.form-titre { margin: 0 0 8px; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.form-points + .form-titre { margin-top: 18px; }
/* PUBVIDEO-1510 : la pub vidéo faite toute seule, en tête de l'onboarding */
.form-pub { display: flex; gap: 18px; align-items: flex-start; margin: 0 0 18px; }
.form-pub video { flex: none; width: 210px; aspect-ratio: 1; border-radius: 14px; background: #0F1A10; object-fit: cover; }
.form-pub__infos { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; color: var(--ink-soft); font-size: .875rem; line-height: 1.45; }
.form-pub__infos b { color: var(--foret); font-size: 1rem; }
.form-pub__alerte { padding: 6px 10px; border-radius: 10px; background: #FDECE9; color: #B3362F; font-weight: 600; }
@media (max-width: 699px) { .form-pub { flex-direction: column; } .form-pub video { width: 100%; } }
/* REGLAGES-1510 : les réglages de la campagne créée, en lecture (Setup, étape Campagne) */
.reg { margin: 4px 0 14px; }
.reg__tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 12px; }
.reg__tete b { font-size: 1rem; }
.reg__tete span { color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.reg__rub + .reg__rub { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--trait); }
.reg__rub h4 { margin: 0 0 6px; color: var(--ink-soft); font-size: .8rem; font-weight: 800; }
.reg__l { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 3fr); gap: 12px; padding: 5px 2px; font-size: .875rem; }
.reg__l span { color: var(--ink-soft); font-weight: 600; }
.reg__l b { font-weight: 600; color: var(--foret); }
.reg__texte { white-space: pre-line; color: inherit !important; font-weight: 600 !important; }
@media (max-width: 699px) { .reg__l { grid-template-columns: 1fr; gap: 2px; } }
.form-recu-le { margin: 12px 0 0; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
@media (max-width: 699px) { .form-qr { grid-template-columns: 1fr; gap: 2px; } }

/* OFFRES-1510 (Loris, 15/10) : l'offre en tête des onglets (Sales, KPI, Delivery) : une pilule « ● SAE ⌄ » et sa liste maison ; des cases à cocher dans
   Sales et KPI (Toutes, ou les offres voulues), une seule offre dans Delivery, Présentation et SOP. Plus la liste du navigateur. */
.nav-offre__bouton { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 14px 0 16px; border: 0; border-radius: 999px; background: var(--blanc);
  box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .12), 0 6px 14px -10px rgba(21, 44, 18, .5); color: var(--foret); font: inherit; font-size: 1.0625rem; font-weight: 800;
  letter-spacing: -.01em; white-space: nowrap; cursor: pointer; transition: background .15s; }
.nav-offre__bouton:hover, .nav-offre__bouton[aria-expanded="true"] { background: var(--rosee); }
.nav-offre__bouton:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.nav-offre__fleche { flex: none; width: 16px; height: 16px; margin-left: -2px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
.nav-offre__bouton[aria-expanded="true"] .nav-offre__fleche { transform: rotate(180deg); }
.nav-offre__pt { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--lime); box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .12); }
.nav-offre__pt[data-offre="Reconversion"] { background: #E9B93A; }
.nav-offre__pt[data-offre=""] { background: linear-gradient(90deg, #A1E04D 50%, #E9B93A 50%); }
.nav-offre__bouton .nav-offre__pt + .nav-offre__pt { margin-left: -14px; box-shadow: 0 0 0 2px var(--blanc); } /* plusieurs offres cochées, pas toutes : pastilles serrées */
.nav-offre__liste { position: fixed; z-index: 1000; display: grid; gap: 2px; padding: 6px; border-radius: 16px; background: var(--blanc);
  box-shadow: inset 0 0 0 1px var(--trait), 0 24px 48px -20px rgba(21, 44, 18, .5); }
.nav-offre__choix { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 12px; background: none; color: var(--foret);
  font: inherit; font-size: .9375rem; font-weight: 700; text-align: left; white-space: nowrap; cursor: pointer; }
.nav-offre__choix:hover, .nav-offre__choix:focus-visible { background: var(--rosee); outline: none; }
.nav-offre__choix[aria-selected="true"] { font-weight: 800; }
.nav-offre__choix > svg { flex: none; width: 16px; height: 16px; margin-left: auto; padding-left: 14px; fill: none; stroke: var(--ink-soft); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; box-sizing: content-box; }
.nav-offre__case { display: inline-grid; place-items: center; flex: none; width: 18px; height: 18px; border-radius: 6px; box-shadow: inset 0 0 0 1.5px rgba(21, 44, 18, .3); }
.nav-offre__case svg { width: 12px; height: 12px; fill: none; stroke: var(--blanc); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.nav-offre__choix[aria-checked="true"] .nav-offre__case { background: var(--foret); box-shadow: none; }
.nav-offre__choix[aria-checked="true"] .nav-offre__case svg { opacity: 1; }
.nav-offre__sep { height: 1px; margin: 4px 8px; border: 0; background: var(--trait); }
@media (max-width: 639px) {
  .nav-offre__bouton { height: 36px; gap: 8px; padding: 0 10px 0 12px; font-size: .9375rem; }
  .nav-offre__nom { max-width: 92px; overflow: hidden; text-overflow: ellipsis; }
}

/* AGENDA-1510 (Loris, 15/10) : rubrique Agenda au format de Sales et Delivery (CADRE-SALES-1210) : barre d'outils de 40 px (menus « le mot,
   puis la pilule blanche », boutons gris, segments), compteur dessous, puis le contenu ; Rendez-vous = le Calendrier de Sales ;
   Liens de réservation et Disponibilités = des cartes, puis une page par lien ou par personne (flèche pour revenir) */
.zone .onglets a[href="#/agenda/sop"] { margin-left: auto; } /* la SOP tout à droite, comme dans Sales et Delivery */
.ag-outils { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; min-height: 40px; margin: 0 8px 18px; }
.ag-gauche, .ag-droite, .ag-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; }
.ag-nav { gap: 8px; }
.ag-droite { gap: 12px; margin-left: auto; }
.ag-qui-bouton { gap: 8px; padding-left: 8px; font-size: .9375rem; } /* Personne : même bouton que le menu Offre, pastille à gauche */
.ag-qui-pile { display: inline-flex; flex: none; }
.ag-qui-pile .avatar + .avatar { margin-left: -5px; box-shadow: 0 0 0 2px var(--blanc); }
.ag-qui-liste .nav-offre__choix { min-width: 220px; }
.ag-qui-metier { color: var(--ink-soft); font-size: .75rem; font-weight: 600; }
.ag-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; text-decoration: none; white-space: nowrap; cursor: pointer; }
.ag-rond { display: grid; flex: none; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); cursor: pointer; }
.ag-btn:hover, .ag-rond:hover { background: rgba(21, 44, 18, .11); }
.ag-btn .i { width: 16px; height: 16px; } .ag-rond .i { width: 17px; height: 17px; }
.ag-seg { display: inline-flex; gap: 2px; height: 40px; box-sizing: border-box; padding: 3px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); }
.ag-seg button { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink-soft); font: inherit; font-size: .875rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
.ag-seg button[aria-pressed="true"] { background: var(--blanc); color: var(--foret); box-shadow: 0 6px 14px -10px rgba(21, 44, 18, .6); }
.ag-seg button:disabled { cursor: default; }
.ag-periode { margin: 0 0 0 6px; font-size: 1.0625rem; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; }
.ag-periode::first-letter { text-transform: uppercase; }
.ag-titre { margin: 0; font-size: 1.375rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.ag-qui { display: inline-flex; align-items: center; gap: 12px; } .ag-qui small { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.ag-gauche:has(.ag-titre) { gap: 14px; }
.ag-statut { color: var(--ink-soft); font-size: .84rem; font-weight: 700; }
.ag-enregistrer[hidden] { display: none; } .ag-statut--erreur { color: #B23A20; }
.ag-infos { margin: -6px 10px 14px; color: var(--ink-soft); font-size: .875rem; }
.ag-infos__alerte { margin-left: 18px; color: #B23A20; font-weight: 700; }
.ag-infos { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; }
.ag-legende { display: inline-flex; flex-wrap: wrap; gap: 6px 16px; margin-left: 20px; } /* qui a quelle pastille */
.ag-legende > span { display: inline-flex; align-items: center; gap: 7px; color: var(--foret); font-size: .8125rem; font-weight: 700; }
.ag-legende .avatar--mini { width: 20px; height: 20px; font-size: .625rem; }
.ag-legende small { margin-left: -1px; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.ag-infos [data-info] { position: relative; cursor: help; } /* au survol : le détail des rendez-vous, carte au format des menus */
.ag-infos [data-info]:hover::after { content: attr(data-info); position: absolute; top: calc(100% + 8px); left: -8px; z-index: 30; padding: 10px 14px; border-radius: 14px; background: var(--blanc); box-shadow: inset 0 0 0 1px var(--trait), 0 24px 48px -20px rgba(21, 44, 18, .5); color: var(--foret); font-size: .8125rem; font-weight: 600; line-height: 1.6; white-space: pre; pointer-events: none; }
.ag-pers { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-right: 6px; padding: 0 4px; border-radius: 999px; font-size: .625rem; font-weight: 800; line-height: 1; vertical-align: 1px; box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .75); }
.ag-mpuce .ag-pers { flex: none; min-width: 16px; height: 16px; margin: 0 0 0 -4px; padding: 0 3px; font-size: .5625rem; }
.ag-offre { display: inline-flex; align-items: center; gap: 7px; padding: 4px 11px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--foret); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.ag-offre i { width: 9px; height: 9px; border-radius: 50%; background: #A1E04D; } .ag-offre[data-offre="Reconversion"] i { background: #E9B93A; }
.ag-vide { padding: 28px; color: var(--ink-soft); }

/* Rendez-vous : la grille horaire du Calendrier */
.ag-cal { padding: 12px 12px 16px; overflow-x: auto; }
.ag-grille { display: grid; grid-template-columns: 3rem repeat(var(--n), minmax(120px, 1fr)); }
.ag-heures { padding-top: 52px; }
.ag-heures span { display: block; height: 64px; padding-right: 8px; color: var(--ink-soft); font-size: .75rem; font-weight: 500; text-align: right; transform: translateY(-.6em); }
.ag-col { min-width: 0; border-left: 1px solid var(--trait); }
.ag-col--auj { background: rgba(242, 254, 226, .7); }
.ag-col__tete { display: flex; align-items: center; justify-content: center; gap: 10px; height: 52px; color: var(--ink-soft); font-size: .875rem; font-weight: 600; }
.ag-col__tete b { display: block; color: var(--foret); font-size: .9375rem; font-weight: 800; line-height: 1.1; } .ag-col__tete small { display: block; font-size: .72rem; font-weight: 600; }
.ag-jourtete { padding: 4px 12px; border-radius: var(--r-pill); }
.ag-jourtete--auj { background: var(--grad-lime); color: var(--foret); font-weight: 800; }
.ag-creneaux { position: relative; border-top: 1px solid var(--trait); background: repeating-linear-gradient(to bottom, transparent 0 63px, var(--trait) 63px 64px); }
.ag-creneaux > i { position: absolute; left: 0; right: 0; display: block; font-style: normal; }
.ag-dispo { left: 2px !important; right: 2px !important; border-radius: 6px; background: rgba(161, 224, 77, .26); }
.ag-dispo--multi { background: rgba(161, 224, 77, .14); }
.ag-occupe { left: 2px !important; right: 2px !important; overflow: hidden; border-radius: 6px; background: repeating-linear-gradient(135deg, rgba(21, 44, 18, .14) 0 5px, rgba(21, 44, 18, .05) 5px 10px); }
.ag-occupe span { display: block; overflow: hidden; padding: 3px 6px; color: var(--foret); font-size: .72rem; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.ag-absent { inset: 0; z-index: 1; display: grid !important; place-items: start center; padding-top: 14px; background: repeating-linear-gradient(135deg, rgba(217, 63, 63, .16) 0 6px, rgba(217, 63, 63, .06) 6px 12px); box-shadow: inset 0 0 0 1.5px rgba(217, 63, 63, .35); }
.ag-absent-heures { left: 2px !important; right: 2px !important; z-index: 1; display: grid !important; place-items: center; overflow: hidden; border-radius: 6px; background: repeating-linear-gradient(135deg, rgba(217, 63, 63, .2) 0 6px, rgba(217, 63, 63, .08) 6px 12px); box-shadow: inset 0 0 0 1.5px rgba(217, 63, 63, .4); }
.ag-absent-heures span { padding: 2px 9px; border-radius: var(--r-pill); background: #D93F3F; color: #FFFFFF; font-size: .72rem; font-weight: 800; }
.ag-absent span { padding: 4px 12px; border-radius: var(--r-pill); background: #D93F3F; color: #FFFFFF; font-size: .78rem; font-weight: 800; }
.ag-rdv { position: absolute; z-index: 2; display: block; overflow: hidden; padding: 5px 8px; border: 0; border-radius: 10px; background: #A1E04D; color: var(--foret); font: inherit; font-size: .8125rem; line-height: 1.25; text-align: left; cursor: pointer; }
.ag-rdv--reco { background: #F2A23A; color: #3E2400; } /* CALBARRE-2010 : Reco orange, SAE vert franc */
.ag-rdv--r2 { box-shadow: inset 0 0 0 2px var(--foret); }
.ag-rdv:hover { filter: brightness(1.05) saturate(1.08); }
.ag-rdv__nom, .ag-rdv__meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-rdv__nom { font-weight: 700; } .ag-rdv__meta { font-size: .75rem; font-weight: 600; opacity: .8; }
.ag-rdv--court { display: flex; align-items: center; gap: 6px; padding: 0 8px; } /* rendez-vous court : tout sur une ligne */
.ag-rdv--court .ag-rdv__nom { flex: 0 1 auto; min-width: 0; } .ag-rdv--court .ag-rdv__meta { flex: 0 0 auto; }
.ag-maintenant { z-index: 3; height: 2px; background: #D93F3F; pointer-events: none; }
.ag-maintenant--suite::before { display: none; }
.ag-maintenant:not(.ag-maintenant--suite)::before { content: ""; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: #D93F3F; }

/* Liens de réservation et Disponibilités : des cartes (même gabarit que les cartes du CRM), un clic ouvre la page */
.ag-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; margin: 0 8px; }
.ag-carte { display: grid; gap: 8px; align-content: start; padding: 16px 18px; border-radius: 18px; background: var(--blanc); box-shadow: inset 3px 0 0 #A1E04D, 0 16px 32px -28px rgba(21, 44, 18, .55); color: var(--foret); text-decoration: none; }
.ag-carte[data-offre="Reconversion"] { box-shadow: inset 3px 0 0 #E9B93A, 0 16px 32px -28px rgba(21, 44, 18, .55); }
.ag-carte[data-offre=""] { box-shadow: inset 3px 0 0 var(--lichen), 0 16px 32px -28px rgba(21, 44, 18, .55); }
.ag-carte:hover { box-shadow: inset 3px 0 0 #A1E04D, 0 0 0 2px rgba(161, 224, 77, .6), 0 16px 32px -24px rgba(21, 44, 18, .6); }
.ag-carte--off { opacity: .55; }
.ag-carte__tete { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 28px; margin-bottom: 2px; }
.ag-carte__tete b { font-size: 1rem; font-weight: 800; }
.ag-carte__tete--qui { justify-content: flex-start; gap: 12px; } .ag-carte__tete--qui > span:last-child { display: grid; line-height: 1.2; }
.ag-carte__tete small { color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.ag-carte__etat { color: var(--ink-soft); font-size: .78rem; font-weight: 800; }
.ag-ligne { display: flex; align-items: flex-start; gap: 9px; color: var(--ink-soft); font-size: .875rem; font-weight: 600; line-height: 1.35; }
.ag-ligne .i { flex: none; width: 16px; height: 16px; margin-top: 1px; }
.ag-ligne em { font-style: normal; }
.ag-ligne--ok { color: #3B6D11; font-weight: 700; } .ag-ligne--vide { font-style: italic; }

/* Page d'un lien ou d'une personne : des blocs, un réglage par ligne, enregistré tout seul */
.ag-blocs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 8px; align-items: start; }
.ag-blocs--personne { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.ag-pile { display: grid; gap: 16px; }
.ag-bloc { padding: 18px 22px 20px; }
.ag-bloc__titre { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; color: var(--ink-soft); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ag-bloc__titre .i { width: 15px; height: 15px; }
.ag-champ { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; min-height: 52px; border-top: 1px solid var(--trait); }
.ag-bloc__titre + .ag-champ { border-top: 0; }
.ag-champ__nom { font-size: .9375rem; font-weight: 700; }
.ag-champ__val { display: flex; align-items: center; gap: 8px; }
.ag-texte, .ag-nb input, .ag-plage input { box-sizing: border-box; height: 38px; border: 0; border-radius: 12px; background: rgba(21, 44, 18, .05); color: var(--foret); font: inherit; font-size: .9375rem; font-weight: 700; }
.ag-texte { width: 240px; padding: 0 14px; }
.ag-nb { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: .875rem; font-weight: 700; }
.ag-nb input { width: 76px; padding: 0 10px; text-align: center; }
.ag-texte:focus, .ag-nb input:focus, .ag-plage input:focus { outline: 0; box-shadow: inset 0 0 0 2px #A1E04D; }
.ag-puces { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 0 12px; }
.ag-puce { display: inline-flex; align-items: center; gap: 8px; padding: 4px 14px 4px 4px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.ag-puce .avatar { width: 28px; height: 28px; font-size: .78rem; opacity: .55; }
.ag-puce[aria-pressed="true"] { background: var(--foret); color: var(--rosee); }
.ag-puce[aria-pressed="true"] .avatar { opacity: 1; }
.ag-jourligne { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 54px; border-top: 1px solid var(--trait); }
.ag-bloc__titre + .ag-jourligne { border-top: 0; }
.ag-jourligne__nom { flex: none; width: 92px; font-size: .9375rem; font-weight: 700; }
.ag-plages { display: flex; flex: 1; flex-wrap: wrap; gap: 8px; min-width: 0; }
.ag-plages:empty::before { content: "Indisponible"; color: var(--ink-soft); font-size: .875rem; font-style: italic; }
.ag-plage { display: inline-flex; align-items: center; gap: 4px; padding: 3px; border-radius: 14px; background: rgba(21, 44, 18, .06); } /* plus de fond vert (Loris, 15/10) */
.ag-plage input { width: auto; padding: 0 8px; background: var(--blanc); }
.ag-plage input[type="time"], .ag-absence input[type="time"] { width: 92px; min-width: 92px; text-align: center; font-variant-numeric: tabular-nums; } /* les minutes toujours visibles (Loris, 15/10) */ .ag-plage input[type="time"]::-webkit-calendar-picker-indicator { display: none; }
.ag-plage > span { color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.ag-x, .ag-plus { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--ink-soft); cursor: pointer; }
.ag-x .i, .ag-plus .i { width: 15px; height: 15px; }
.ag-plus { margin-left: auto; background: rgba(21, 44, 18, .06); }
.ag-x:hover, .ag-plus:hover { background: rgba(21, 44, 18, .11); color: var(--foret); }
.ag-absences { display: grid; gap: 8px; margin-bottom: 14px; }
.ag-absence { display: flex; align-items: center; gap: 6px; padding: 6px 6px 6px 10px; border-radius: 14px; background: rgba(21, 44, 18, .05); }
.ag-absence__lignes { display: grid; flex: 1; gap: 4px; min-width: 0; }
.ag-absence__ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } .ag-absence__ligne > span { width: 22px; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.ag-absence input { box-sizing: border-box; height: 36px; padding: 0 8px; border: 0; border-radius: 10px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .88rem; font-weight: 700; }
.ag-absence input[type="date"] { width: 142px; } .ag-absence input[type="time"]::-webkit-calendar-picker-indicator { display: none; }
.ag-absence input:focus { outline: 0; box-shadow: inset 0 0 0 2px #A1E04D; }
.ag-google { display: flex; align-items: center; gap: 8px; margin: 2px 0 6px; color: var(--ink-soft); font-size: .9375rem; font-weight: 700; }
.ag-google .i { width: 18px; height: 18px; } .ag-google--ok { color: #3B6D11; }
.ag-note { margin: 0 0 12px; color: var(--ink-soft); font-size: .875rem; }
.ag-bloc .btn { margin-top: 4px; }
.ag-etape { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--trait); }
.ag-bloc__titre + .ag-etape { border-top: 0; padding-top: 2px; }
.ag-etape__num { display: grid; flex: none; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(21, 44, 18, .07); color: var(--ink-soft); font-size: .8125rem; font-weight: 800; }
.ag-etape--faite .ag-etape__num { background: #A1E04D; color: #152C12; } .ag-etape__num .i { width: 15px; height: 15px; stroke-width: 2.6; }
.ag-etape__corps { display: grid; flex: 1; gap: 6px; min-width: 0; padding-top: 4px; } .ag-etape__corps > b { font-size: .9375rem; font-weight: 800; }
.ag-etape__corps .ag-note { margin: 0; } .ag-etape__corps .btn { justify-self: start; margin-top: 2px; }
.ag-lien { padding: 0; border: 0; background: none; color: var(--foret); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ag-agendas { display: grid; gap: 6px; }
.ag-msg { flex: 1 1 100%; order: 3; color: var(--ink-soft); font-size: .84rem; font-weight: 700; } .ag-msg:empty { display: none; }
.ag-agendas__pied { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 8px; } .ag-agendas__pied .btn { margin: 0; } .ag-agendas__pied .ag-btn--petit { margin-left: auto; }
.ag-btn--petit { height: 34px; padding: 0 12px; font-size: .8125rem; } .ag-btn--petit .i { width: 14px; height: 14px; }
.ag-resume { display: grid; gap: 4px; } .ag-resume span { display: flex; gap: 10px; font-size: .9rem; font-weight: 700; }
.ag-resume b { flex: none; width: 92px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.9; }
.ag-etape__corps > .ag-lien, .ag-agendas > .ag-lien { justify-self: start; }
.ag-bloc--large { grid-column: 1 / -1; }
.ag-fixes { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; } .ag-fixes span { padding: 6px 12px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .05); color: var(--ink-soft); font-size: .84rem; font-weight: 700; }
.ag-questions { display: grid; gap: 8px; margin-bottom: 12px; }
.ag-question { display: grid; gap: 8px; padding: 10px; border-radius: 16px; background: rgba(21, 44, 18, .035); box-shadow: inset 0 0 0 1px var(--trait); }
.ag-question__ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.ag-question__texte { flex: 1; min-width: 220px; } .ag-question__choix { flex: 1; min-width: 220px; width: auto; }
.ag-seg--petit { height: 36px; } .ag-seg--petit button { height: 30px; padding: 0 12px; font-size: .8125rem; }
.ag-coche { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: none; color: var(--foret); font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
.ag-coche .ag-case { display: grid; flex: none; place-items: center; width: 18px; height: 18px; border-radius: 5px; box-shadow: inset 0 0 0 1.5px rgba(21, 44, 18, .3); }
.ag-coche .ag-case .i { width: 13px; height: 13px; stroke-width: 3; }
.ag-coche[aria-pressed="true"] .ag-case { background: #152C12; box-shadow: none; color: #A1E04D; }
.ag-coche:disabled { cursor: default; }
.ag-sous { margin: 8px 0 2px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; } .ag-sous:first-child { margin-top: 0; }
.ag-agenda .ag-case { display: grid; flex: none; place-items: center; width: 18px; height: 18px; border-radius: 5px; box-shadow: inset 0 0 0 1.5px rgba(21, 44, 18, .3); }
.ag-agenda .ag-case .i { width: 13px; height: 13px; stroke-width: 3; }
.ag-agenda--verifier[aria-pressed="true"] { background: rgba(161, 224, 77, .22); color: var(--foret); }
.ag-agenda--verifier[aria-pressed="true"] .ag-case { background: #152C12; box-shadow: none; color: #A1E04D; }
.ag-agenda--verifier[aria-pressed="true"] small { color: var(--ink-soft); }
.ag-agenda { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 14px; border: 0; border-radius: 12px; background: rgba(21, 44, 18, .05); color: var(--foret); font: inherit; font-size: .9rem; font-weight: 700; text-align: left; cursor: pointer; }
.ag-agenda i { flex: none; width: 11px; height: 11px; border-radius: 50%; }
.ag-agenda span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-agenda small { color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.ag-agenda:hover { background: rgba(21, 44, 18, .09); }
.ag-agenda--agenda[aria-pressed="true"] { background: var(--foret); color: var(--rosee); } .ag-agenda--agenda[aria-pressed="true"] small { color: var(--on-dark-soft, #C3D3B6); }
.ag-agenda:disabled { cursor: default; }
@media (max-width: 899px) { .ag-blocs, .ag-blocs--personne { grid-template-columns: 1fr; } .ag-texte { width: 100%; } }
@media (max-width: 639px) { .ag-jourligne__nom { width: 100%; } .ag-plus { margin-left: 0; } }
/* Listes (Liens de réservation, Disponibilités) : le tableau de l'ERP, une ligne par élément, le bouton rond à droite (Loris, 15/10 : « pas des cases ») */
.ag-liste { margin: 0 8px; }
.ag-tab { min-width: 760px; }
.ag-tab tbody tr.ag-l { cursor: pointer; }
.ag-tab tbody tr.ag-l:focus-visible { outline: 2px solid #A1E04D; outline-offset: -2px; }
.ag-tab td { vertical-align: middle; }
.ag-tab td.plus, .ag-tab th:last-child { width: 1%; padding-right: 16px; }
.ag-tab .cs-btn { display: grid; place-items: center; width: 30px; height: 30px; margin-left: auto; border-radius: 50%; background: rgba(21, 44, 18, .06); font-size: 1.15rem; font-weight: 800; }
.ag-tab tr.ag-l:hover .cs-btn { background: var(--grad-lime); }
.ag-l__nom { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; } .ag-l__nom b { font-weight: 800; } .ag-l__nom small { color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.ag-l--off td { color: var(--ink-soft); }
.ag-l__horaires { font-size: .86rem; line-height: 1.6; }
.ag-l__vide { color: var(--ink-soft); font-style: italic; }
.ag-tab .eq-qui { display: flex; align-items: center; gap: 10px; } .ag-tab .eq-qui b { display: block; font-weight: 800; } .ag-tab .eq-qui small { display: block; color: var(--ink-soft); font-size: .76rem; font-weight: 600; }
.ag-etat { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.ag-etat .i { width: 13px; height: 13px; stroke-width: 3; }
.ag-etat--ok { background: rgba(161, 224, 77, .25); color: #2F5A1E; } .ag-etat--attente { background: #FFF1D6; color: #8A5A00; }
/* Vue Mois (Loris, 15/10) : une case par jour, les rendez-vous en pastilles, les absences en rouge */
.ag-cal.ag-mois { padding: 4px 8px 8px; }
.ag-mois__tete, .ag-mois__grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ag-mois__tete { border-bottom: 1px solid var(--trait); }
.ag-mois__tete span { padding: 12px 8px 10px; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; text-align: center; }
.ag-mois__j { display: flex; flex-direction: column; gap: 3px; min-width: 0; min-height: 124px; padding: 6px 6px 8px; border-right: 1px solid var(--trait); border-bottom: 1px solid var(--trait); }
.ag-mois__j:nth-child(7n) { border-right: 0; } .ag-mois__j:nth-last-child(-n + 7) { border-bottom: 0; }
.ag-mois__j--hors > * { opacity: .45; }
.ag-mois__j--auj { background: rgba(242, 254, 226, .7); }
.ag-mois__j--absent { background: repeating-linear-gradient(135deg, rgba(217, 63, 63, .1) 0 6px, rgba(217, 63, 63, .03) 6px 12px); }
.ag-mois__num { align-self: flex-start; min-width: 28px; height: 28px; padding: 0 8px; border: 0; border-radius: var(--r-pill); background: none; color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.ag-mois__num:hover, .ag-mois__plus:hover { background: var(--rosee); }
.ag-mois__j--auj .ag-mois__num { background: var(--grad-lime); font-weight: 800; }
.ag-mpuce { display: flex; align-items: center; gap: 6px; width: 100%; min-width: 0; padding: 3px 8px; border: 0; border-radius: 8px; background: #A1E04D; color: var(--foret); font: inherit; font-size: .75rem; font-weight: 600; line-height: 1.3; text-align: left; cursor: pointer; }
.ag-mpuce--reco { background: #F2A23A; color: #3E2400; } .ag-mpuce--r2 { box-shadow: inset 0 0 0 1.5px var(--foret); }
.ag-mpuce:hover { filter: brightness(1.05) saturate(1.08); }
.ag-mpuce b { flex: none; font-weight: 800; } .ag-mpuce span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-mois__plus { align-self: flex-start; padding: 2px 8px; border: 0; border-radius: var(--r-pill); background: none; color: var(--ink-soft); font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; }
.ag-mois__abs { align-self: flex-start; max-width: 100%; overflow: hidden; padding: 2px 8px; border-radius: var(--r-pill); background: #D93F3F; color: #FFFFFF; font-size: .6875rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 639px) { .ag-mois__j { min-height: 84px; padding: 4px 2px; } .ag-mpuce { padding: 2px 4px; font-size: .6875rem; } .ag-mpuce span { display: none; } }
/* fin AGENDA-1510 */
/* LIENS-1510 (Loris, 15/10) : Agenda › Liens de réservation refait. Liste : une ligne sur deux teintée, l'offre dans sa colonne (pastilles alignées),
   l'interrupteur Actif sur la ligne. Page d'un lien : réglages à gauche (puces, choix en vert clair, jamais de fond noir), aperçu de la page de réservation
   à droite. Classes lr-* seulement (le reste de l'Agenda appartient au bloc AGENDA-1510). */
.lr-liste.board--table { padding: 0; overflow: auto; } /* le tableau bord à bord : pas de bande blanche, les coins arrondis de la carte coupent les lignes */
.lr-tab { min-width: 820px; }
.lr-tab th { height: 46px; padding-top: 0; padding-bottom: 0; }
.lr-tab td { height: 58px; padding-top: 0; padding-bottom: 0; white-space: nowrap; }
.lr-tab th:first-child, .lr-tab td:first-child { padding-left: 24px; }
.lr-tab th:last-child, .lr-tab td:last-child { padding-right: 18px; }
.lr-tab tbody tr:last-child > td { border-bottom: 0; }
.lr-tab tbody tr:nth-child(even) > td { background: #F8FAF6; }
.lr-tab tbody tr.lr-l:hover > td { background: #F0F5EA; }
.lr-tab th:nth-child(1) { width: 24%; } .lr-tab th:nth-child(2) { width: 11%; } .lr-tab th:nth-child(3) { width: 10%; } .lr-tab th:nth-child(4) { width: 12%; }
.lr-tab .interr { width: 64px; text-align: center; }
.lr-tab td small { display: inline; color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.lr-l__nom { font-weight: 800; }
.lr-l--off td { color: rgba(21, 44, 18, .42); } .lr-l--off .ag-offre, .lr-l--off .lr-qui { opacity: .45; }
.lr-qui { display: inline-flex; gap: 16px; }
.lr-qui > span { display: inline-flex; align-items: center; gap: 7px; font-size: .84rem; font-weight: 700; }
.lr-qui .avatar--mini { width: 22px; height: 22px; font-size: .64rem; }

/* Page d'un lien : réglages | aperçu */
.lr-page { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 16px; align-items: start; margin: 0 8px; }
.lr-reglages { display: grid; gap: 16px; min-width: 0; }
.lr-apercu { position: sticky; top: 16px; min-width: 0; }
.ag-outils .btn[hidden] { display: none; }
.lr-actif { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 14px 0 10px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); font-size: .875rem; font-weight: 700; }
.lr-actif #lr-actif-txt { min-width: 5.4em; }
.lr-page .ag-champ__val { flex-wrap: wrap; justify-content: flex-end; }
.lr-puces { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.lr-puce { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 13px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font: inherit; font-size: .84rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
.lr-puce:hover:not(:disabled), .lr-gen:hover:not(:disabled) { background: rgba(21, 44, 18, .1); color: var(--foret); }
.lr-puce[aria-pressed="true"], .lr-puce[aria-pressed="true"]:hover { background: #E3F5C6; box-shadow: inset 0 0 0 1.5px #8CCB3A; color: var(--foret); font-weight: 800; }
.lr-puce:disabled, .lr-gen:disabled, .lr-option:disabled { cursor: default; }
.lr-pastille { width: 9px; height: 9px; border-radius: 50%; background: #A1E04D; box-shadow: 0 0 0 2px var(--blanc); }
.lr-pastille[data-offre="Reconversion"] { background: #E9B93A; }
.lr-coche[aria-pressed="true"] .ag-case { background: #4E9F1F; color: #fff; }
.lr-gens { display: flex; flex-wrap: wrap; gap: 8px; padding: 2px 0 14px; }
.lr-gen { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 5px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.lr-gen .avatar { width: 30px; height: 30px; font-size: .78rem; opacity: .45; }
.lr-gen .i { width: 15px; height: 15px; margin-left: -2px; color: #4E9F1F; stroke-width: 3; }
.lr-gen[aria-pressed="true"], .lr-gen[aria-pressed="true"]:hover { background: #E3F5C6; box-shadow: inset 0 0 0 1.5px #8CCB3A; color: var(--foret); }
.lr-gen[aria-pressed="true"] .avatar { opacity: 1; }
.lr-champ--bloc { flex-direction: column; align-items: stretch; padding: 12px 0 2px; }
.lr-champ--bloc .ag-champ__val { justify-content: stretch; }
.lr-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
.lr-option { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 0; border-radius: 16px; background: rgba(21, 44, 18, .035); box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); font: inherit; text-align: left; cursor: pointer; }
.lr-option b { display: block; font-size: .9rem; font-weight: 800; }
.lr-option small { display: block; margin-top: 2px; color: var(--ink-soft); font-size: .78rem; font-weight: 600; line-height: 1.35; }
.lr-rond, .lr-carre { flex: none; display: inline-block; width: 16px; height: 16px; border-radius: 50%; background: var(--blanc); box-shadow: inset 0 0 0 1.5px rgba(21, 44, 18, .3); }
.lr-carre { border-radius: 4px; }
.lr-option .lr-rond { width: 18px; height: 18px; margin-top: 1px; }
.lr-option[aria-checked="true"] { background: #F1FAE4; box-shadow: inset 0 0 0 1.5px #8CCB3A; }
.lr-option[aria-checked="true"] .lr-rond { box-shadow: inset 0 0 0 5px #4E9F1F; }

/* Formulaire : l'interrupteur dans le titre, les champs à cocher, les questions */
.lr-bloc-form .ag-bloc__titre { margin-bottom: 4px; }
.lr-titre-inter { margin-left: auto; }
.lr-bloc-form .ag-bloc__titre + .ag-champ, .lr-form > .ag-champ:first-child { border-top: 0; }
.lr-champs { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 2px; }
.lr-questions { display: grid; gap: 10px; margin-bottom: 12px; }
.lr-q { display: grid; gap: 10px; padding: 12px 14px; border-radius: 16px; background: rgba(21, 44, 18, .035); box-shadow: inset 0 0 0 1px var(--trait); }
.lr-q__haut { display: flex; align-items: center; gap: 10px; }
.lr-q__num { display: grid; flex: none; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(21, 44, 18, .08); font-size: .78rem; font-weight: 800; }
.lr-q__texte { flex: 1; width: auto; min-width: 0; }
.lr-q__ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-left: 36px; }
.lr-q__options { display: grid; justify-items: start; gap: 6px; padding-left: 36px; }
.lr-opt { display: flex; align-items: center; gap: 10px; width: 100%; }
.lr-opt .ag-texte { flex: 1; width: auto; height: 34px; }
.lr-q__ajout { display: inline-flex; align-items: center; gap: 6px; margin-left: 26px; font-size: .84rem; text-decoration: none; }
.lr-q__ajout .i { width: 14px; height: 14px; }

/* Aperçu de la page de réservation */
.lr-ap { padding: 14px; }
.lr-ap__barre { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.lr-ap__url { display: flex; flex: 1; align-items: center; gap: 8px; min-width: 0; height: 34px; padding: 0 12px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.lr-ap__url .i { flex: none; width: 14px; height: 14px; }
.lr-ap__url span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lr-ap__page { padding: 18px; border-radius: 20px; background: #F4F8F0; }
.lr-ap__page--off { opacity: .5; }
.lr-ap__tete { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
:where(html[data-theme="sombre"]) .lr-ap__tete img { filter: brightness(0) invert(.9); } /* le logo vert foncé, lisible sur l'aperçu sombre */
.lr-ap__pile { display: flex; } .lr-ap__pile .avatar { width: 28px; height: 28px; margin-left: -6px; font-size: .74rem; box-shadow: 0 0 0 2px #F4F8F0; }
.lr-ap__nom { display: block; font-size: 1.125rem; font-weight: 800; letter-spacing: -.01em; }
.lr-ap__duree { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--ink-soft); font-size: .84rem; font-weight: 700; }
.lr-ap__duree .i { width: 14px; height: 14px; }
.lr-ap__etapes { display: flex; gap: 6px; margin: 14px 0 0; }
.lr-ap__etapes button { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px 0 4px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.lr-ap__etapes b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--blanc); font-size: .72rem; }
.lr-ap__etapes [aria-pressed="true"] { background: #E3F5C6; box-shadow: inset 0 0 0 1.5px #8CCB3A; color: var(--foret); }
.lr-ap__corps { margin-top: 14px; padding: 14px; border-radius: 16px; background: var(--blanc); }
.lr-ap__mois { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: .875rem; }
.lr-ap__mois b::first-letter, .lr-ap__jour::first-letter { text-transform: uppercase; }
.lr-ap__fl { width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; font-size: 1rem; font-weight: 800; cursor: pointer; }
.lr-ap__fl:disabled { opacity: .3; cursor: default; }
.lr-ap__grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; text-align: center; }
.lr-ap__grille small { padding: 2px 0 4px; color: var(--ink-soft); font-size: .68rem; font-weight: 800; }
.lr-ap__j { height: 32px; padding: 0; border: 0; border-radius: 50%; background: none; color: rgba(21, 44, 18, .3); font: inherit; font-size: .78rem; font-weight: 700; }
.lr-ap__j--ok { background: rgba(161, 224, 77, .22); color: var(--foret); font-weight: 800; cursor: pointer; }
.lr-ap__j--ok:hover { background: rgba(161, 224, 77, .4); }
.lr-ap__j[aria-pressed="true"] { background: #A1E04D; }
.lr-ap__jour { margin: 12px 0 8px; font-size: .84rem; font-weight: 800; }
.lr-ap__heures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.lr-ap__heures span { padding: 8px 0; border-radius: 10px; box-shadow: inset 0 0 0 1.5px #A1E04D; font-size: .8rem; font-weight: 800; text-align: center; }
.lr-ap__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
.lr-ap__champ { display: grid; grid-column: 1 / -1; gap: 6px; font-size: .78rem; font-weight: 700; }
.lr-ap__champ--demi { grid-column: auto; }
.lr-ap__champ > i { height: 32px; border-radius: 10px; background: #F4F8F0; box-shadow: inset 0 0 0 1px var(--trait); }
.lr-ap__vide { color: var(--ink-soft); font-style: italic; }
.lr-ap__choix { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.lr-ap__bouton { display: grid; grid-column: 1 / -1; place-items: center; height: 40px; margin-top: 4px; border-radius: var(--r-pill); background: var(--grad-lime); font-size: .875rem; font-weight: 800; }
@media (max-width: 1099px) { .lr-page { grid-template-columns: minmax(0, 1fr); } .lr-apercu { position: static; } }
@media (max-width: 599px) { .lr-options { grid-template-columns: minmax(0, 1fr); } .lr-q__ligne, .lr-q__options { padding-left: 0; } }
/* fin LIENS-1510 */
/* ONGLETS2-1510 (15/10) : fiche du CRM, onglets Paiements (celui de Sales, en lecture) et Appels (comme Sales) ; les titres à icône (jeu de Sales) */
.fiche .ico { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -3px; }
.fiche .bloc h3 .ico, .fiche .pai-plie summary h3 .ico { width: 17px; height: 17px; margin-right: 8px; color: var(--ink-soft); }
.fiche .bloc--gagnee { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime), 0 16px 34px -26px rgba(21, 44, 18, .7); }
.fiche .bloc--gagnee h3 .ico { color: #3E7D1C; }
.fiche .lignes { display: grid; gap: 8px; margin: 0; }
.fiche .lignes > div { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); align-items: baseline; gap: 12px; }
.fiche .lignes dt { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.fiche .lignes dd { margin: 0; color: var(--foret); font-size: .9375rem; font-weight: 700; overflow-wrap: anywhere; }
.fiche .pai-chiffres { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.fiche .pai-chiffres p { margin: 0; }
.fiche .pai-chiffres span, .fiche .pai-reste { color: var(--ink-soft); font-size: .9rem; }
.fiche .pai-gros { color: var(--foret); font-size: 1.6rem; font-weight: 800; letter-spacing: -.01em; }
.fiche .pai-reste b { color: var(--foret); font-size: 1.05rem; }
.fiche .pai-barre { height: 10px; margin: 8px 0 10px; overflow: hidden; border-radius: 999px; background: #E6EBE3; }
.fiche .pai-barre i { display: block; height: 100%; border-radius: inherit; background: var(--grad-lime); }
.fiche .pai-situation { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; margin: 0; padding: 9px 12px; border-radius: 12px; font-size: .9rem; line-height: 1.45; }
.fiche .pai-situation b { display: inline-flex; align-items: center; gap: 6px; }
.fiche .pai-situation--ok { background: #EEF7E6; } .fiche .pai-situation--ok b { color: #2F7A1F; }
.fiche .pai-situation--attente { background: #FCEFD7; } .fiche .pai-situation--attente b { color: #8A5300; }
.fiche .pai-situation--ko { background: #FBE3DE; } .fiche .pai-situation--ko b { color: #B23A20; }
.fiche .pai-mandat { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; color: var(--ink-soft); font-size: .84rem; }
.fiche .pai-sous { display: flex; align-items: center; gap: 6px; margin: 14px 0 4px; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.fiche .pai-sous .ico { width: 14px; height: 14px; }
.fiche .pai-souci { padding: 10px 12px; border-left: 4px solid #D2492A; border-radius: 12px; background: #FDF5F2; }
.fiche .pai-souci + .pai-souci { margin-top: 8px; }
.fiche .pai-souci--attente { border-left-color: #E2A33A; background: #FFF9EE; }
.fiche .pai-souci--info { border-left-color: var(--lime); background: var(--rosee); }
.fiche .pai-souci__tete { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; font-size: .92rem; }
.fiche .pai-souci__expl { margin: 6px 0 0; font-size: .875rem; line-height: 1.45; }
.fiche .pai-liste { margin: 0; padding: 0; list-style: none; }
.fiche .pai-ligne { display: grid; grid-template-columns: 96px 112px minmax(0, 1fr); gap: 8px; align-items: start; padding: 9px 2px; border-bottom: 1px solid var(--trait); font-size: .9rem; font-variant-numeric: tabular-nums; }
.fiche .pai-ligne:last-child { border-bottom: 0; }
.fiche .pai-ligne small { color: var(--ink-soft); }
.fiche .pai-montant { color: var(--foret); font-weight: 700; }
.fiche .pai-etat { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: .76rem; font-weight: 700; }
.fiche .pai-etat--ok { background: #E3F1DA; color: #2F7A1F; }
.fiche .pai-etat--ko { background: #FBE3DE; color: #B23A20; }
.fiche .pai-etat--attention { background: #FCEFD7; color: #A35F00; }
.fiche .pai-etat--info { background: #E1ECF8; color: #2F6FB5; }
.fiche .pai-etat--neutre { background: rgba(21, 44, 18, .06); color: var(--ink-soft); }
.fiche .pai-hist { display: block; margin: 4px 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.fiche details.pai-plie > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; list-style: none; cursor: pointer; }
.fiche details.pai-plie > summary::-webkit-details-marker { display: none; }
.fiche details.pai-plie > summary h3 { margin: 0; }
.fiche details.pai-plie > summary span { color: var(--ink-soft); font-size: .86rem; font-weight: 700; }
.fiche details.pai-plie > summary span::after { content: " ▾"; }
.fiche details.pai-plie[open] > summary span::after { content: " ▴"; }
.fiche details.pai-plie[open] > summary { margin-bottom: 8px; }
.fiche .etat-appel { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: var(--r-pill); background: #EEF2EC; color: var(--ink-soft); font-size: .74rem; font-weight: 700; vertical-align: 1px; }
.fiche .etat-appel--realise { background: #EEF7E6; color: #2F7A1F; }
.fiche .etat-appel--noshow { background: #FBE3DE; color: #B23A20; }
.fiche .etat-appel--avenir { background: var(--rosee); color: var(--foret); box-shadow: inset 0 0 0 1px var(--lime); }
.fiche .appels { margin: 0; padding: 0; list-style: none; }
.fiche .appel { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 9px 0; border-top: 1px solid var(--trait); }
.fiche .appel:first-child { padding-top: 0; border-top: 0; }
.fiche .appel time { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fiche .appel__quoi { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; color: var(--foret); font-size: .9rem; font-weight: 600; }
.fiche .appel__quoi > .ico { width: 15px; height: 15px; margin-right: 2px; color: var(--ink-soft); }
.fiche .appel__quoi .etat-appel { margin-left: 2px; }
.fiche .appel__res { color: var(--ink-soft); font-size: .84rem; }
.fiche .appel__liens { display: inline-flex; gap: 12px; white-space: nowrap; }
.fiche .appel__liens a, .fiche .appel__ecouter { padding: 0; border: 0; background: none; color: var(--foret); font: inherit; font-size: .84rem; font-weight: 700;
  text-decoration: underline; text-decoration-color: var(--lime); text-underline-offset: .2em; cursor: pointer; }
.fiche .appel--court { opacity: .55; }
.fiche .appel__audio { grid-column: 1 / -1; width: 100%; height: 34px; margin-top: 4px; }
@media (max-width: 699px) {
  .fiche .pai-ligne { grid-template-columns: 84px 1fr; }
  .fiche .pai-ligne > .pai-etat-zone { grid-column: 1 / -1; }
  .fiche .appel { grid-template-columns: minmax(0, 1fr) auto; }
  .fiche .appel time { grid-column: 1 / -1; }
}
/* STICKY-1510 (15/10) : Campagnes, sur ordinateur le tableau défile dans son cadre (hauteur réglée par cadreCampagnes) ; la ligne des titres de
   colonnes reste collée en haut (fond plein ; le trait du bas en ombre, une bordure de tableau fusionnée ne suit pas) */
#table-camp.board--table { overflow: auto; padding-top: 0; } /* pas de bande au-dessus des titres collés */
#table-camp .table-camp--campagnes > thead > tr > th { position: sticky; top: 0; z-index: 3; background: var(--blanc); border-bottom: 0; box-shadow: inset 0 -1px 0 var(--trait); }

/* CAMPDESIGN2-1510 (Loris, 15/10 : « ouvre le compte publicitaire… arrondi, plus de contraste entre les campagnes… les boutons ronds collés à droite,
   pas propre ») : le détail d'un client = un panneau arrondi ; chaque campagne = une carte arrondie, détachée du panneau, ses jours dessous dans la
   même carte ; de l'air à droite (boutons ronds, « Voir la pub »). Les cellules gardent la couleur du panneau, la carte est dessinée derrière (::before). */
.table-camp--campagnes { border-collapse: separate; border-spacing: 0; }
.table-camp--campagnes > tbody > tr > td.plus, .table-camp--campagnes > thead th:last-child { padding-right: 18px; }
.table-camp--campagnes > tbody > tr.camp-ouverte > td:first-child { border-top-left-radius: 18px; }
.table-camp--campagnes > tbody > tr.camp-ouverte > td:last-child { border-top-right-radius: 18px; }
.table-camp--campagnes > tbody > tr.camp-sous--fin > td { height: 14px; border-bottom: 0; border-radius: 0 0 18px 18px; }
.table-camp--campagnes > tbody > tr.camp-sous--fin + tr > td { border-top: 10px solid transparent; }
.table-camp--campagnes > tbody > tr.camp-sous--compte > td:last-child { padding-right: 30px; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td,
.table-camp--campagnes > tbody > tr.camp-sous--camp:hover > td:not(:first-child),
.table-camp--campagnes > tbody > tr.camp-sous--camp[aria-expanded="true"] > td:not(:first-child),
.table-camp--campagnes > tbody > tr.camp-sous--jour > td,
.table-camp--campagnes > tbody > tr.camp-sous--jour > td:not(:first-child) { position: relative; z-index: 0; background: #EEF3EA; border-top: 0; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td { padding-top: 20px; padding-bottom: 12px; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td:not(:first-child)::before,
.table-camp--campagnes > tbody > tr.camp-sous--jour > td:not(:first-child)::before { content: ""; position: absolute; z-index: -1; inset: 0; background: #FFFFFF; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td:not(:first-child)::before { top: 10px; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td:nth-child(2)::before { border-radius: 14px 0 0 14px; box-shadow: -1px 0 0 rgba(21, 44, 18, .06); }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td:last-child::before { right: 12px; border-radius: 0 14px 14px 0; }
.table-camp--campagnes > tbody > tr.camp-sous--camp > td:last-child { padding-right: 24px; }
.table-camp--campagnes > tbody > tr.camp-sous--camp:hover > td:not(:first-child)::before { background: #F6FAF0; }
/* une campagne ouverte : la carte continue sur ses jours, arrondie en bas après le dernier jour */
.table-camp--campagnes > tbody > tr.camp-sous--camp[aria-expanded="true"] > td:not(:first-child)::before { background: #FFFFFF; }
.table-camp--campagnes > tbody > tr.camp-sous--camp[aria-expanded="true"] > td:nth-child(2)::before { border-radius: 14px 0 0 0; }
.table-camp--campagnes > tbody > tr.camp-sous--camp[aria-expanded="true"] > td:last-child::before { border-radius: 0 14px 0 0; }
.table-camp--campagnes > tbody > tr.camp-sous--jour > td:not(:first-child)::before { background: #FAFCF8; box-shadow: inset 0 1px 0 rgba(21, 44, 18, .06); }
.table-camp--campagnes > tbody > tr.camp-sous--jour > td:last-child::before { right: 12px; }
.table-camp--campagnes > tbody > tr.camp-sous--jour:not(:has(+ tr.camp-sous--jour)) > td:nth-child(2)::before { border-bottom-left-radius: 14px; }
.table-camp--campagnes > tbody > tr.camp-sous--jour:not(:has(+ tr.camp-sous--jour)) > td:last-child::before { border-bottom-right-radius: 14px; }
.table-camp--campagnes > tbody > tr.camp-sous--jour:not(:has(+ tr.camp-sous--jour)) > td { padding-bottom: 12px; }
/* fin CAMPDESIGN2-1510 */
/* PLATEAU-1510 (15/10) : CRM de Delivery, sur ordinateur le plateau tient dans la fenêtre (hauteur réglée par cadrePlateau) : chaque colonne
   défile seule, son titre reste en haut (fond plein : le blanc à 55 % de la colonne sur le fond) ; la barre de droite à gauche reste en bas */
.plateau.plateau--cadre { align-items: flex-start; overflow-y: hidden; }
.plateau--cadre > .colonne-crm { max-height: 100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(21, 44, 18, .25) transparent; }
.plateau--cadre > .colonne-crm > h2 { position: sticky; top: -12px; z-index: 2; margin: -12px -12px 4px; padding: 12px 12px 8px 16px; background: #EAEDEA; }
/* INFOS2-1510 (15/10) : fiche et plateau du CRM, les icônes du thème à la place des émojis (iconiserErp) ; dans la fiche, un texte plus lisible */
.carte-crm .ico { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -2px; }
.emo.ico-zone { display: inline-flex; align-items: center; margin-right: .4em; font-family: inherit; font-style: normal; color: var(--ink-soft); vertical-align: -2px; }
.carte-crm__tache .emo.ico-zone, .carte-crm__visio .emo.ico-zone, .tache-cle .emo.ico-zone { color: inherit; }
.fiche .sous-onglets .ico, .fiche .form-pub__infos .ico, .fiche button > .ico:first-child { margin-right: 6px; vertical-align: -3px; }
#fiche .grille { gap: 14px 20px; }
#fiche .grille dt { font-size: .8125rem; }
#fiche .grille dd { font-size: 1rem; font-weight: 700; }
#fiche .lignes dd { font-size: 1rem; }
/* FICHE3-1510 (15/10) : la fiche du CRM Delivery, « comme une feuille à rabat » (Loris), avec ONGLETSFICHE-1510 (session Présentation, validé par
   Loris) : fiche plus large, tous les onglets sur une ligne, en classeur (l'onglet ouvert a le fond de son contenu, un trait lime en haut) ;
   « Rejoindre la visio » et l'heure à côté du nom ; titres de section soulignés, plus d'air ; Infos sans cases (une ligne, une liste) ;
   Note : ajouter, puis l'historique ; PHOTOS-1510 : la tête de l'élève, ronde, devant son nom et à gauche de sa carte du CRM */
#fiche.fiche { width: min(760px, 100% - 32px); }
#fiche .fiche__tete { gap: 28px; padding: 26px 64px 0 22px; }
#fiche .fiche__tete .fiche__titre { padding-right: 52px; }
#fiche .fiche__onglets { position: relative; align-items: flex-end; gap: 4px; margin: 0 -44px 0 -8px; padding: 0; scrollbar-width: none; }
#fiche .fiche__onglets::-webkit-scrollbar { display: none; }
#fiche .fiche__onglets [role=tab] { position: relative; flex: 0 0 auto; padding: 10px 16px 9px; border-radius: 12px 12px 0 0; font-weight: 600; transition: background .15s, color .15s; }
#fiche .fiche__onglets [role=tab]:hover { background: rgba(21, 44, 18, .03); color: var(--foret); }
#fiche .fiche__onglets [role=tab][aria-selected="true"] { background: rgba(21, 44, 18, .06); color: var(--foret); font-weight: 800; }
#fiche .fiche__onglets [role=tab][aria-selected="true"]::after { content: ""; position: absolute; top: 0; right: 12px; left: 12px; height: 3px; border-radius: 0 0 3px 3px; background: var(--lime); }
#fiche .fiche__corps { margin: 0 14px 14px; padding: 18px 16px 20px; border-radius: 0 16px 16px 16px; background: rgba(21, 44, 18, .06); }
#fiche #panneau { gap: 16px !important; }
#fiche .bloc > h3 { display: inline-flex; align-items: center; margin: 0 0 16px; padding-bottom: 7px; border-bottom: 2px solid var(--lime); }
#fiche .fiche__photo { width: 52px; height: 52px; flex: none; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--blanc), 0 0 0 5px var(--lime); }
#fiche .fiche__appel { display: inline-flex; align-items: center; gap: 12px; padding-left: 14px; border-left: 2px solid rgba(21, 44, 18, .2); }
#fiche .fiche__visio { --visio-encre: #152C12; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px 6px 10px; border-radius: var(--r-pill); background: var(--grad-lime); color: var(--visio-encre); font-size: .8125rem; font-weight: 800; text-decoration: none; white-space: nowrap; box-shadow: 0 8px 18px -12px rgba(21, 44, 18, .7); }
#fiche .fiche__visio:hover { filter: brightness(1.05); }
#fiche .fiche__visio .faire-ic { width: 16px; height: 16px; }
#fiche .fiche__quand { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; white-space: nowrap; }
#fiche .fiche__quand .faire-ic { width: 15px; height: 15px; }
#fiche .fiche__num { margin-right: 8px; padding: 1px 8px; border-radius: 999px; background: rgba(161, 224, 77, .3); font-size: .8125rem; font-weight: 800; font-variant-numeric: tabular-nums; }
#fiche .infos-fiche { margin: 0; }
#fiche .infos-fiche dt { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
#fiche .infos-fiche dd { margin: 0; color: var(--foret); font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
#fiche .infos-fiche--ligne { display: flex; flex-wrap: wrap; gap: 14px 48px; }
#fiche .infos-fiche--ligne dd { margin-top: 5px; }
#fiche .infos-fiche--liste { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 12px 32px; align-items: baseline; }
#fiche .infos-fiche--liste .champ { display: contents; }
#fiche .infos-fiche__plus { margin-left: 12px; color: var(--ink-soft); font-size: .875rem; font-weight: 600; white-space: nowrap; }
@media (max-width: 560px) { /* sur téléphone : le libellé au-dessus de la valeur */
  #fiche .infos-fiche--liste { grid-template-columns: minmax(0, 1fr); gap: 0; }
  #fiche .infos-fiche--liste dd { margin: 3px 0 12px; }
  #fiche .fiche__appel { padding-left: 0; border-left: 0; }
}
#fiche textarea.note-crm { box-sizing: border-box; width: 100%; min-height: 84px; padding: 12px 14px; border: 1px solid var(--trait); border-radius: 14px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .9375rem; line-height: 1.5; resize: vertical; }
#fiche textarea.note-crm:focus { outline: none; border-color: var(--lime); box-shadow: 0 0 0 3px rgba(161, 224, 77, .25); }
#fiche .notes-crm { display: grid; margin: 0; padding: 0; list-style: none; }
#fiche .notes-crm li { padding: 12px 0; border-top: 1px solid var(--trait); }
#fiche .notes-crm li:first-child { padding-top: 2px; border-top: 0; }
#fiche .notes-crm p { margin: 0 0 6px; color: var(--foret); font-size: 1rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
#fiche .notes-crm small { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.carte-crm--photo { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 10px; }
.carte-crm--photo > :not(.carte-crm__photo) { grid-column: 2; }
.carte-crm--photo .carte-crm__nom b { max-width: 80%; } /* le nom d'abord (Loris : « on ne voit pas bien le nom, il est tronqué »), l'entreprise après */
.carte-crm__photo { grid-column: 1; grid-row: 1 / span 4; align-self: start; width: 34px; height: 34px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--blanc), 0 0 0 3px var(--lime); }

/* RDVAIDE-1610 (Loris, 16/10) : « ? » › Rendez-vous avec Hassane : le panneau au format de « Poser une question », puces vertes comme les Liens de réservation */
.aide-rdv { grid-template-rows: auto 1fr; height: auto; max-height: min(560px, calc(100vh - 120px)); }
.aide-rdv__corps { display: grid; align-content: start; gap: 12px; padding: 14px 16px 16px; overflow-y: auto; color: var(--foret); }
.aide-rdv__intro, .aide-rdv__msg { margin: 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.45; }
.aide-rdv__msg:empty { display: none; }
.aide-rdv__jours { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.aide-rdv__heures { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.aide-rdv__puce { flex: none; height: 34px; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font: inherit; font-size: .84rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; cursor: pointer; }
.aide-rdv__heures .aide-rdv__puce { height: 30px; padding: 0; font-size: .8rem; }
.aide-rdv__puce:hover { background: rgba(21, 44, 18, .1); color: var(--foret); }
.aide-rdv__puce[aria-pressed="true"], .aide-rdv__puce[aria-pressed="true"]:hover { background: #E3F5C6; box-shadow: inset 0 0 0 1.5px #8CCB3A; color: var(--foret); font-weight: 800; }
.aide-rdv__question { display: grid; gap: 5px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.aide-rdv__question textarea { padding: 10px 12px; border: 1px solid rgba(21, 44, 18, .14); border-radius: 12px; background: #F3F6F1; color: var(--foret); font: inherit; font-size: .88rem; font-weight: 400; resize: vertical; }
.aide-rdv__go { justify-self: stretch; text-decoration: none; }
.aide-rdv__go:disabled { opacity: .5; cursor: default; }
.aide-rdv__ok { display: grid; gap: 8px; }
.aide-rdv__ok p { margin: 0; font-size: .9rem; }
.aide-rdv__ok-titre { font-size: 1.05rem !important; font-weight: 800; }
a.aide__choix { box-sizing: border-box; text-decoration: none; } /* le lien direct vers son Calendly, pour l'instant */
.lr-ap__exemple { margin-left: 8px; padding: 2px 8px; border-radius: 999px; background: #FFF4D6; color: #7A5A00; font-size: .7rem; font-weight: 800; vertical-align: 1px; } /* RDVPAGE-1610 : l'aperçu montre des créneaux d'exemple */
/* fin RDVAIDE-1610 */

/* CAMPSIMPLE-1610 : Campagnes, vue simple : Compte et Paiement serrés, le client lisible ; une campagne pas lancée en plus discret */
.table-camp.table-camp--campagnes .col-court { width: 1%; min-width: 0; white-space: nowrap; }  /* .table-camp .etat a un min-width de 12rem */
.table-camp--campagnes > tbody > tr.camp-ligne > td.qui { min-width: 12rem; }
.table-camp--campagnes > tbody > tr.camp-ligne--prevue > td.num { color: var(--ink-soft); }
.table-camp--campagnes > tbody > tr.camp-sous--camp .budget-l { white-space: nowrap; }

/* CAMPFOCUS-1610 : Campagnes, comptes pub en premier ; le détail d'un compte = un panneau avec son tableau de campagnes ; le reste grisé */
.table-camp.table-camp--campagnes .col-court { padding-left: 16px; padding-right: 16px; }
.table-camp--campagnes > tbody > tr.camp-ligne, .table-camp--campagnes > tfoot { transition: opacity .15s; }
.table-camp--campagnes > tbody > tr.camp-ligne--grise, .table-camp--campagnes > tfoot.camp-pied--grise { opacity: .25; }
.table-camp--campagnes > tbody > tr.camp-ligne--grise:hover { opacity: .6; }
.table-camp--campagnes > tbody > tr.camp-detail > td { padding: 4px 14px 20px; background: var(--rosee); border-bottom: 1.5px solid rgba(21, 44, 18, .2); box-shadow: none; }
.cd { padding: 8px 14px 6px; border-radius: 16px; background: var(--blanc); box-shadow: inset 0 0 0 1px var(--trait); }
.cd__defile { width: 0; min-width: 100%; overflow-x: auto; }
.cd__t { width: 100%; border-collapse: collapse; font-size: .875rem; }
.table-camp .cd__t th { padding: 10px 12px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; text-align: left; white-space: nowrap; border-bottom: 1px solid var(--trait); background: none; }
.table-camp .cd__t td { padding: 16px 10px; vertical-align: middle; border: 0; background: none; }
.table-camp .cd__t th.num, .table-camp .cd__t td.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.table-camp .cd__t .interr { width: 46px; padding-left: 4px; padding-right: 4px; }
.cd__camp { cursor: pointer; transition: opacity .15s; }
.cd__camp + .cd__camp > td { box-shadow: 0 -1px 0 var(--trait); }
.table-camp .cd__camp:hover > td { background: #F6FAF0; }
.cd__camp--grise { opacity: .3; }
.table-camp .cd__t td.qui { min-width: 16rem; }
.cd__camp .qui b { display: block; max-width: 20rem; white-space: normal; font-size: .875rem; line-height: 1.3; }
.cd__camp .qui small { display: block; margin-top: 2px; color: var(--ink-soft); font-size: .75rem; }
.table-camp .cd__jour > td { padding: 10px 12px; background: #FAFCF8; box-shadow: 0 -1px 0 var(--trait); font-size: .82rem; }
.table-camp .cd__t td.cd__date { padding-left: 52px; color: var(--ink-soft); font-weight: 700; font-variant-numeric: tabular-nums; }
.cd__t .budget-l { white-space: nowrap; }

/* CAL-1610 (Loris, 16/10/2026) : le Calendrier de l'Agenda (ex-Calendrier de Sales) : état des rendez-vous (comme Sales), légende */
.ag-rdv--realise, .ag-mpuce--realise { opacity: .6; } .ag-rdv--realise:hover, .ag-mpuce--realise:hover { opacity: .85; }
.ag-rdv--noshow, .ag-mpuce--noshow { background: #E9DCDC; color: #5A2E2E; }
.ag-rdv--reporte, .ag-rdv--annule, .ag-mpuce--reporte, .ag-mpuce--annule { background: rgba(255, 255, 255, .55); color: var(--ink-soft); box-shadow: none; outline: 1.5px dashed rgba(21, 44, 18, .3); outline-offset: -1.5px; }
.ag-rdv--annule .ag-rdv__nom, .ag-mpuce--annule span { text-decoration: line-through; }
.ag-cle { display: inline-flex; flex-wrap: wrap; gap: 6px 14px; margin-left: auto; padding-left: 20px; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.ag-cle > span { display: inline-flex; align-items: center; gap: 6px; }
.ag-cle i { display: inline-block; width: 16px; height: 11px; border-radius: 3px; }
.ag-cle__dispo { background: rgba(161, 224, 77, .3); }
.ag-cle__occupe { background: repeating-linear-gradient(135deg, rgba(21, 44, 18, .24) 0 3px, rgba(21, 44, 18, .08) 3px 6px); }
.ag-cle__absent { background: repeating-linear-gradient(135deg, rgba(217, 63, 63, .32) 0 3px, rgba(217, 63, 63, .1) 3px 6px); box-shadow: inset 0 0 0 1px rgba(217, 63, 63, .45); }
.ag-cle__sae { background: var(--grad-lime); }
.ag-cle__reco { background: var(--ambre); }
.ag-cle__noshow { background: #E9DCDC; }
.ag-cle__annule { background: rgba(255, 255, 255, .55); outline: 1.5px dashed rgba(21, 44, 18, .35); outline-offset: -1.5px; }
/* FUSEAU-1610 : Agenda › Disponibilités, le fuseau des horaires et des absences */
.ag-fuseau { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 54px; } /* pas .ag-jourligne : « Enregistrer » lit les jours par cette classe */
.ag-fuseau__choix { box-sizing: border-box; max-width: 100%; height: 38px; padding: 0 36px 0 12px; border: 0; border-radius: 12px; appearance: none; -webkit-appearance: none; background: rgba(21, 44, 18, .05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23152C12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 14px; color: var(--foret); font: inherit; font-size: .9375rem; font-weight: 700; cursor: pointer; }
.ag-fuseau__choix:focus { outline: 0; box-shadow: inset 0 0 0 2px #A1E04D; }
html[data-theme="sombre"] .ag-fuseau__choix { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8F2E0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); } /* la flèche claire en sombre (sombre.py ne convertit pas les images) */
.ag-fuseau__choix:disabled { cursor: default; }
.ag-fuseau__heure { color: var(--ink-soft); font-size: .84rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.ag-fuseau__avis { margin: 0 0 12px; } .ag-fuseau__avis[hidden], .ag-fuseau__rappel[hidden] { display: none; }
.ag-fuseau__rappel { margin-left: auto; padding: 3px 10px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--ink-soft); font-size: .75rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.ag-l__fuseau { display: block; margin-top: 3px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
/* fin FUSEAU-1610 */

/* CALFICHE-1610 (Loris, 16/10/2026) : la fiche d'une vente par-dessus le Calendrier de l'Agenda (cadre transparent plein écran, /sales/fiche.html) */
.ag-fiche { position: fixed; inset: 0; z-index: 2000; width: 100%; height: 100%; border: 0; background: transparent; }
.ag-fiche[hidden] { display: none; }

/* CAMPMAJ1-1610 : ↻ par compte pub, à gauche du bouton du détail */
.camp-plus { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; }
.camp-maj { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink-soft); font: inherit; font-size: 1.05rem; font-weight: 800; cursor: pointer; opacity: .45; transition: opacity .15s, background .15s; }
.camp-ligne:hover .camp-maj, .camp-ligne.camp-ouverte .camp-maj, .camp-maj:focus-visible { opacity: 1; }
.camp-maj:hover { background: rgba(21, 44, 18, .08); color: var(--foret); }
.camp-maj[disabled] { cursor: progress; opacity: 1; }
.camp-maj--tourne span { display: block; animation: camp-maj-tourne .9s linear infinite; }
@keyframes camp-maj-tourne { to { transform: rotate(360deg); } }

/* DETAILCOMPTE-1610 : Campagnes, bulle de détail du compte et du paiement (au survol) */
.puce--bulle { cursor: help; text-decoration: underline dotted rgba(21, 44, 18, .35); text-underline-offset: 3px; }
.bulle { position: fixed; z-index: 60; width: min(390px, calc(100vw - 24px)); padding: 12px 14px; border-radius: 14px; background: var(--blanc); color: var(--foret);
  box-shadow: 0 12px 32px rgba(21, 44, 18, .18), inset 0 0 0 1px var(--trait); font-size: .8125rem; line-height: 1.4; pointer-events: none; }
.bulle[hidden] { display: none; }
.bulle__titre { display: block; margin-bottom: 6px; font-size: .875rem; font-weight: 800; }
.bulle__l { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 8px; margin: 4px 0 0; overflow-wrap: anywhere; }
.bulle__l span { color: var(--ink-soft); font-weight: 700; }

/* CALVUE-1610 (Loris, 16/10/2026) : Agenda › Calendrier, une forme par sens (« on comprend rien entre dispo, occupé et absence »).
   Disponible = vert uni · Occupé (agenda Google) = bloc gris uni avec « Occupé » ou le titre · Absence = seul hachuré, rouge et opaque · hors horaires = rien. */
.ag-dispo { background: rgba(161, 224, 77, .3); }
.ag-occupe { background: linear-gradient(rgba(21, 44, 18, .13), rgba(21, 44, 18, .13)), var(--blanc); box-shadow: inset 3px 0 0 rgba(21, 44, 18, .32); }
.ag-occupe span { padding: 3px 7px 3px 9px; color: var(--ink-soft); }
.ag-absent { z-index: 1; background: repeating-linear-gradient(135deg, rgba(217, 63, 63, .2) 0 6px, rgba(217, 63, 63, .07) 6px 12px), var(--blanc); }
.ag-absent-heures { z-index: 1; background: repeating-linear-gradient(135deg, rgba(217, 63, 63, .2) 0 6px, rgba(217, 63, 63, .07) 6px 12px), var(--blanc); }
.ag-cle__dispo { background: rgba(161, 224, 77, .35); }
.ag-cle__occupe { background: linear-gradient(rgba(21, 44, 18, .16), rgba(21, 44, 18, .16)), var(--blanc); box-shadow: inset 3px 0 0 rgba(21, 44, 18, .36); }
/* fin CALVUE-1610 */

/* MENU-1810 (Loris, 18/10 : « les logos dans le header c'est de la merde, s'il y a de nouveaux logos ça va pas passer ») : sous 900 px, plus de
   rubriques en icônes en haut. Le ☰ à gauche des onglets ouvre la barre des rubriques en tiroir par la gauche, la même qu'à l'ordinateur (noms,
   séparateur, Système et Équipe en bas, mon compte, mode sombre), sur un voile ; un choix, le voile, ✕ ou Échap la referment (app.js).
   Remplace la ligne du haut de MOBILE-1310. Ordinateur (900 px et plus) inchangé. */
.menu-bouton, .cote__fermer, .cote-voile { display: none; }
@media (max-width: 899px) {
  .app, body.vue-cadre .app { grid-template-rows: minmax(0, 1fr); }
  .cote { position: fixed; top: 0; bottom: 0; left: 0; z-index: 70; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px;
    box-sizing: border-box; width: min(288px, 84vw); height: auto; padding: 0 14px 16px; overflow-y: auto; overscroll-behavior: contain;
    border-right: 1px solid var(--chrome-trait); border-bottom: 0; box-shadow: 18px 0 40px -24px rgba(21, 44, 18, .55);
    transform: translateX(-105%); visibility: hidden; transition: transform .22s ease, visibility 0s linear .22s; }
  body.menu-ouvert .cote { transform: none; visibility: visible; transition: transform .22s ease; }
  .cote__tete { flex: none; height: var(--entete-h); margin: 0 -14px; padding: 0 10px 0 20px; border-bottom: 1px solid var(--chrome-trait); }
  .cote__logo { padding: 4px 8px; }
  .cote .brand__erp { display: inline; }
  .cote__modules, .cote__modules--bas { display: grid; flex: none; order: 0; gap: 2px; margin: 0; overflow: visible; }
  .cote__modules--bas { margin-top: auto; }
  .cote__modules a { padding: 10px 12px; font-size: .9375rem; }
  .cote__modules .cote__nom { display: inline; }
  .cote__modules a.chantier:not([aria-current]) { display: flex; }
  .cote__sep { display: block; }
  .cote__pied { flex: none; order: 0; margin: 0; padding-top: 12px; border-top: 1px solid var(--chrome-trait); }
  .cote__modules--bas:empty + .cote__pied { margin-top: auto; }
  .cote__pied .cote__profil { border-radius: 18px; }
  .cote__qui { display: grid; }
  .cote__fermer { display: grid; place-items: center; flex: none; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--ink-soft); cursor: pointer; }
  .cote__fermer:hover { background: rgba(21, 44, 18, .07); color: var(--foret); }
  .cote__fermer svg, .menu-bouton svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
  .cote-voile { position: fixed; inset: 0; z-index: 65; display: block; background: rgba(21, 44, 18, .35); opacity: 0; pointer-events: none; transition: opacity .22s; }
  body.menu-ouvert .cote-voile { opacity: 1; pointer-events: auto; }
  body.menu-ouvert { overflow: hidden; }
  .bar .menu-bouton { display: grid; place-items: center; flex: none; order: -1; width: 40px; height: 40px; margin-right: 6px; padding: 0; border: 0; border-radius: 12px;
    background: rgba(21, 44, 18, .05); box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .08); color: var(--foret); cursor: pointer; }
  .bar .menu-bouton:hover { background: rgba(21, 44, 18, .09); }
  .entete--bandeau .onglets.defile { -webkit-mask-image: linear-gradient(90deg, transparent, #000 28px); mask-image: linear-gradient(90deg, transparent, #000 28px); }
}
@media (max-width: 639px) {  /* le ☰ prend la place qu'occupaient les rubriques : la barre se resserre un peu pour que l'offre et l'onglet ouvert tiennent */
  .bar .menu-bouton { width: 36px; height: 36px; margin-right: 4px; }
  .zone .entete .bar { width: calc(100% - 20px); }
  .entete--bandeau .onglets .nav-offre { margin-right: 0; padding-right: 5px; }
  .entete--bandeau .nav-offre__bouton { padding: 0 7px 0 10px; }
  .zone .entete--bandeau .onglets a:not(.onglet-icone) { padding: 7px 12px; }
}
@media (prefers-reduced-motion: reduce) { .cote, .cote-voile { transition: none !important; } }
/* fin MENU-1810 */

/* CALFOCUS-1810 (Loris, 18/10) : la carte du Calendrier défile seule (hauteur posée par agHauteur) : la barre et les comptes restent au-dessus,
   la ligne des jours colle en haut de la carte ; un clic sur une personne des comptes fait ressortir ses rendez-vous, les autres pâlissent */
.ag-cal { overflow: auto; overscroll-behavior: contain; }
.ag-cal .ag-col__tete, .ag-cal .ag-mois__tete { position: sticky; top: -12px; z-index: 4; background: var(--blanc); } /* -12px = le haut de la carte (sa marge intérieure) */
.ag-cal.ag-mois .ag-mois__tete { top: -4px; }
.ag-cal .ag-col--auj .ag-col__tete { background: linear-gradient(rgba(242, 254, 226, .7), rgba(242, 254, 226, .7)), var(--blanc); }
.ag-heures__coin { position: sticky; top: -12px; z-index: 4; display: block; height: calc(52px - .45rem); margin: -52px 0 .45rem; background: var(--blanc); }
.ag-legende__qui { position: relative; display: inline-flex; align-items: center; gap: 7px; margin: -4px -6px -4px -4px; padding: 4px 10px 4px 4px; border: 0; border-radius: var(--r-pill); background: none; color: var(--foret); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; transition: opacity .15s, background-color .15s; }
.ag-infos .ag-legende__qui[data-info] { cursor: pointer; }
.ag-legende__qui:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.ag-legende__qui--on { background: color-mix(in srgb, currentColor 13%, transparent); }
.ag-legende__qui--pale { opacity: .45; }
.ag-rdv.ag-pale, .ag-mpuce.ag-pale { opacity: .28; filter: saturate(.3); transition: opacity .15s; }
.ag-rdv.ag-pale:hover, .ag-mpuce.ag-pale:hover { opacity: .8; filter: none; }
/* fin CALFOCUS-1810 */
/* APERCU-1810 (Loris, 18/10) : l'aperçu d'un lien montre la fenêtre J+N ; un jour de la fenêtre déjà plein est barré ; fenêtre pleine → le prochain créneau */
.lr-ap__j--fen { color: var(--foret); }
.lr-ap__j--plein { background: rgba(21, 44, 18, .06); color: rgba(21, 44, 18, .45); text-decoration: line-through; }
.lr-ap__plein { margin: 12px 0 0; color: rgba(21, 44, 18, .6); font-size: .8rem; line-height: 1.5; }
.lr-ap__plein b { color: var(--foret); font-weight: 800; }
/* fin APERCU-1810 */

/* EQUIPE2-1810 (Loris, 18/10/2026 : « l'onglet Équipe est moche, même design que Finance et KPI ») : Équipe › Accès et Équipe › Organigramme.
   Les codes du KPI : panneau sous-bois avec halo lime (3 chiffres), boîtes blanches titrées (pastille lime + icône, chiffre à droite),
   lignes qui se soulèvent, volet rosée qui se déroule avec des cartes blanches ; photo du membre à la place de l'initiale. */
.eqa, .org { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.eqa > *, .org > * { min-width: 0; }
.eqa-av { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: var(--grad-lime); color: #152C12; font-size: 1rem; font-weight: 800; box-shadow: 0 0 0 2px var(--blanc), 0 6px 14px -8px rgba(21, 44, 18, .6); }
.eqa-av--moyen { width: 52px; height: 52px; font-size: 1.25rem; }
.eqa-av--grand { width: 72px; height: 72px; font-size: 1.7rem; }
.eqa-av--hero { width: 96px; height: 96px; font-size: 2.2rem; box-shadow: 0 0 0 3px rgba(161, 224, 77, .55), 0 18px 30px -16px rgba(0, 0, 0, .7); }

/* le haut : 3 chiffres sur le sous-bois, les visages sous chacun */
.eqa-hero { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 26px 28px 24px; border-radius: var(--r-board); background: radial-gradient(120% 140% at 100% 0%, rgba(161, 224, 77, .16) 0%, rgba(161, 224, 77, 0) 46%), var(--grad-sousbois); box-shadow: 0 26px 50px -30px rgba(21, 44, 18, .9); color: #FFFFFF; }
.eqa-chiffre { min-width: 0; }
.eqa-chiffre + .eqa-chiffre { padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .1); }
.eqa-chiffre__nom { margin: 0; color: #C3D3B6; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.eqa-chiffre__n { margin: 12px 0 0; color: #FFFFFF; font-size: clamp(1.8rem, 2.8vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.eqa-chiffre--cle .eqa-chiffre__n { color: #A1E04D; font-size: clamp(2.2rem, 3.6vw, 3.2rem); text-shadow: 0 0 28px rgba(161, 224, 77, .35); }
.eqa-chiffre--alerte .eqa-chiffre__n { color: #F5A08A; }
.eqa-u { margin-left: .2em; color: #C3D3B6; font-size: .45em; font-weight: 700; letter-spacing: 0; text-shadow: none; }
.eqa-pile { display: flex; min-height: 30px; margin-top: 14px; padding-left: 6px; }
.eqa-pile > span { display: inline-flex; margin-left: -6px; }
.eqa-pile .eqa-av { width: 30px; height: 30px; font-size: .75rem; box-shadow: 0 0 0 2px #233E17; }

/* les boîtes par pôle */
.eqa-bloc, .org-pole { padding: 24px 24px 18px; border-radius: var(--r-board); background: var(--blanc); box-shadow: 0 24px 48px -30px rgba(21, 44, 18, .55); }
.eqa-titre { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; }
.eqa-titre__ic { display: inline-grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--grad-lime); box-shadow: 0 10px 20px -12px rgba(61, 122, 39, .9); }
.eqa-titre__ic svg { width: 22px; height: 22px; fill: none; stroke: #152C12; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.eqa-titre__nom { margin: 0; color: var(--foret); font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; }
.eqa-titre__n { color: var(--ink-soft); font-size: 1.45rem; font-weight: 800; font-variant-numeric: tabular-nums; opacity: .45; }
.eqa-ajouts { display: flex; gap: 8px; margin-left: auto; }
.eqa-ajout { height: 36px; padding: 0 14px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; font-size: .84rem; font-weight: 800; cursor: pointer; }
.eqa-ajout:hover { background: var(--grad-lime); }
.eqa-liste { display: grid; gap: 6px; }
.eqa-rien { color: var(--ink-soft); font-weight: 700; }

/* une ligne par membre */
.eqa-ligne { display: grid; grid-template-columns: minmax(190px, 1.25fr) minmax(0, 1.6fr) 104px 174px 104px 30px; align-items: center; gap: 16px; padding: 12px 10px 12px 12px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); cursor: pointer; transition: box-shadow .2s, transform .2s, background .2s; }
.eqa-ligne:hover { box-shadow: inset 0 0 0 1px var(--trait), 0 10px 22px -14px rgba(21, 44, 18, .5); transform: translateY(-1px); }
.eqa-ligne:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.eqa-ligne--ouverte, .eqa-ligne--ouverte:hover { border-radius: 16px 16px 0 0; background: var(--rosee); box-shadow: 0 12px 24px -16px rgba(21, 44, 18, .55); transform: translateY(-2px); }
.eqa-qui { display: flex; align-items: center; gap: 12px; min-width: 0; }
.eqa-qui > span:last-child { display: grid; min-width: 0; }
.eqa-qui b { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.eqa-qui small { overflow: hidden; color: var(--ink-soft); font-size: .78rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.eqa-rubs { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.eqa-rub { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px 0 9px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.eqa-rub svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.eqa-admin { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: var(--r-pill); background: #152C12; color: #A1E04D; font-size: .78rem; font-weight: 800; }
.eqa-offres { display: inline-flex; gap: 4px; }
.eqa-offre { display: inline-block; padding: 3px 10px; border: 0; border-radius: var(--r-pill); background: transparent; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .12); color: #9AA595; font: inherit; font-size: .74rem; font-weight: 800; }
button.eqa-offre { height: 32px; padding: 0 14px; font-size: .84rem; cursor: pointer; }
.eqa-offre--on { background: #F2FEE2; box-shadow: inset 0 0 0 1.5px #A1E04D; color: var(--foret); }
.eqa-offre--on[data-offre="Reconversion"] { background: #FDF5DF; box-shadow: inset 0 0 0 1.5px #E9B93A; }

/* 14 jours de connexions : une barre par jour, aujourd'hui à droite */
.eqa-jours { display: flex; align-items: flex-end; gap: 3px; height: 30px; }
.eqa-jours i { position: relative; flex: 1; min-height: 6px; height: calc(6px + var(--h, 0) * 24px); border-radius: 3px; background: linear-gradient(180deg, #A1E04D, #3D7A27); }
.eqa-jours i.eqa-j0 { height: 6px; background: rgba(21, 44, 18, .1); }
.eqa-jours i.eqa-jauj { box-shadow: 0 0 0 1.5px var(--blanc), 0 0 0 3px rgba(161, 224, 77, .55); }
.eqa-vu { color: var(--ink-soft); font-size: .84rem; font-weight: 700; white-space: nowrap; }
.eqa-vu--auj { color: #3D7A27; font-weight: 800; }
.eqa-plus { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(21, 44, 18, .06); font-size: 1.15rem; font-weight: 800; transition: transform .15s, background .15s; }
.eqa-ligne:hover .eqa-plus, .eqa-ligne--ouverte .eqa-plus { background: var(--grad-lime); }
.eqa-ligne--ouverte .eqa-plus { transform: rotate(90deg); }
.eqa [data-bulle]:hover::after, .org [data-bulle]:hover::after { content: attr(data-bulle); position: absolute; left: 50%; bottom: calc(100% + 8px); z-index: 5; width: max-content; max-width: 260px; padding: 8px 11px; border-radius: 12px; background: #152C12; color: #FFFFFF; font-size: .78rem; font-style: normal; font-weight: 700; line-height: 1.3; white-space: nowrap; transform: translateX(-50%); pointer-events: none; box-shadow: 0 10px 24px rgba(21, 44, 18, .25); }

/* le volet d'un membre : un panneau rosée, des cartes blanches */
.eqa-volet { display: grid; gap: 14px; margin-top: -6px; padding: 16px 16px 18px; border-radius: 0 0 18px 18px; background: var(--rosee); }
.eqa-volet__tete { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.eqa-changer { position: relative; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.eqa-changer__ic { position: absolute; right: -2px; bottom: -2px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #152C12; box-shadow: 0 0 0 2px var(--rosee); }
.eqa-changer__ic svg { width: 14px; height: 14px; fill: none; stroke: #A1E04D; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.eqa-changer:hover .eqa-av { filter: brightness(.92); }
.eqa-contacts { display: flex; flex-wrap: wrap; gap: 8px; }
.eqa-contact { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: var(--r-pill); background: var(--blanc); color: var(--foret); font-size: .86rem; font-weight: 700; text-decoration: none; }
.eqa-contact:hover { box-shadow: inset 0 0 0 1.5px var(--lime); }
.eqa-contact svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.eqa-vue { display: inline-flex; align-items: center; gap: 8px; height: 40px; margin-left: auto; white-space: nowrap; }
.eqa-vue svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.avatar--photo { object-fit: cover; padding: 0; }
.eqa-reglages { display: flex; flex-wrap: wrap; gap: 8px; }
.eqa-reglage { display: inline-flex; align-items: center; gap: 12px; padding: 6px 6px 6px 16px; border-radius: var(--r-pill); background: var(--blanc); color: var(--ink-soft); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.eqa-reglage b { padding-right: 10px; color: var(--foret); font-size: .875rem; letter-spacing: 0; text-transform: none; }
.eqa-reglage .eqa-offres, .eqa-reglage .eqa-seg { letter-spacing: 0; text-transform: none; }
.eqa-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); align-items: start; gap: 10px; }
.eqa-carte { padding: 14px 14px 8px; border-radius: 16px; background: var(--blanc); }
.eqa-carte__nom { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; color: var(--foret); font-size: .92rem; font-weight: 800; }
.eqa-carte__nom svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.eqa-onglet { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; border-top: 1px solid var(--trait); color: var(--foret); font-size: .85rem; font-weight: 700; }
.eqa-onglet > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eqa-seg { display: inline-flex; flex: none; gap: 2px; padding: 3px; border-radius: var(--r-pill); background: #EEF1EC; }
.eqa-seg button { height: 28px; min-width: 30px; padding: 0 9px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink-soft); font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.eqa-seg button[aria-pressed="true"] { background: var(--blanc); box-shadow: 0 2px 6px -2px rgba(21, 44, 18, .35); color: var(--foret); }
.eqa-seg button[data-v="lire"][aria-pressed="true"] { background: #152C12; color: #A1E04D; box-shadow: none; }
.eqa-seg button[data-v="ecrire"][aria-pressed="true"] { background: linear-gradient(100deg, #A1E04D 0%, #C2EA62 55%, #E6F68A 100%); color: #152C12; box-shadow: none; }
.eqa-reglage .eqa-seg button[data-v="siennes"][aria-pressed="true"], .eqa-reglage .eqa-seg button[data-v="toutes"][aria-pressed="true"] { background: #152C12; color: #A1E04D; }
.eqa-volet .msg:empty { display: none; }

/* le mouvement : le volet se déroule, ses cartes arrivent en cascade */
@keyframes eqa-deroule { from { opacity: 0; transform: translateY(-8px); clip-path: inset(0 0 100% 0); } to { opacity: 1; transform: none; clip-path: inset(0 0 0 0); } }
@keyframes eqa-entre { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.eqa-deroule { animation: eqa-deroule .34s cubic-bezier(.2, .8, .2, 1) both; }
.eqa-deroule .eqa-carte { animation: eqa-entre .3s cubic-bezier(.2, .8, .2, 1) both; }
.eqa-deroule .eqa-carte:nth-child(2) { animation-delay: .04s; } .eqa-deroule .eqa-carte:nth-child(3) { animation-delay: .07s; }
.eqa-deroule .eqa-carte:nth-child(4) { animation-delay: .1s; } .eqa-deroule .eqa-carte:nth-child(n+5) { animation-delay: .13s; }
@media (prefers-reduced-motion: reduce) { .eqa *, .org * { animation: none !important; transition: none !important; } }

/* Organigramme : le fondateur sur le sous-bois, un rail, un pôle par colonne */
.org-fondateur { justify-self: center; width: min(100%, 360px); } /* ORGA-2110 : le fondateur à la taille d'un responsable de pôle */
.org-hero { display: flex; align-items: center; gap: 24px; justify-self: center; width: min(100%, 640px); padding: 24px 28px; border-radius: var(--r-board); background: radial-gradient(120% 140% at 100% 0%, rgba(161, 224, 77, .2) 0%, rgba(161, 224, 77, 0) 50%), var(--grad-sousbois); box-shadow: 0 26px 50px -30px rgba(21, 44, 18, .9); color: #FFFFFF; }
.org-hero__qui { display: grid; flex: 1; gap: 2px; min-width: 0; }
.org-hero__qui b { font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; }
.org-hero__qui small { color: #A1E04D; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.org-coord { display: flex; flex-wrap: wrap; gap: 2px 14px; margin-top: 6px; }
.org-copie { display: inline-flex; align-items: center; gap: 6px; min-width: 0; padding: 2px 0; border: 0; background: none; color: var(--ink-soft); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.org-copie span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.org-copie:hover { color: var(--foret); }
.org-copie:hover span { text-decoration: underline; }
.org-copie svg { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.org-hero .org-coord { gap: 8px; margin-top: 14px; }
.org-hero .org-copie { height: 34px; padding: 0 14px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); color: #E8F0E2; font-size: .86rem; }
.org-hero .org-copie:hover { background: rgba(161, 224, 77, .16); color: #FFFFFF; }
.org-rail { position: relative; height: 34px; margin: -16px 0; }
.org-rail::before { content: ""; position: absolute; top: 0; left: 50%; width: 2px; height: 50%; background: rgba(21, 44, 18, .25); }
.org-rail::after { content: ""; position: absolute; top: 50%; left: calc(100% / 6); right: calc(100% / 6); height: 2px; border-radius: 2px; background: rgba(21, 44, 18, .25); }
.org-poles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 16px; }
.org-pole { position: relative; display: grid; align-content: start; gap: 10px; }
.org-pole::before { content: ""; position: absolute; top: -17px; left: 50%; width: 2px; height: 17px; background: rgba(21, 44, 18, .25); }
.org-pole .eqa-titre { margin-bottom: 4px; }
.org-tete { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 14px; border-radius: 18px; background: var(--rosee); }
.org-tete__qui { display: grid; min-width: 0; }
.org-tete__qui b { font-size: 1.05rem; font-weight: 800; }
.org-tete__qui small { color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.org-groupe { padding: 12px 4px 4px; border-top: 1px solid var(--trait); }
.org-groupe__nom { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.org-groupe__nom span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); letter-spacing: 0; }
.org-membre { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 0; }
.org-membre__qui { display: grid; min-width: 0; }
.org-membre b { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.org-membre .org-coord { margin-top: 2px; }
.org-membre .eqa-av { width: 36px; height: 36px; font-size: .9rem; }
.org-c { position: relative; display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); cursor: pointer; }
.org-c:hover { background: var(--grad-lime); }
.org-c svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.org-hero .org-c { align-self: center; width: 44px; height: 44px; background: rgba(255, 255, 255, .08); color: #FFFFFF; }
.org-hero .org-c:hover { background: #A1E04D; color: #152C12; }

@media (max-width: 1060px) {
  .eqa-ligne { grid-template-columns: minmax(170px, 1fr) minmax(0, 1.3fr) 150px 30px; }
  .eqa-ligne .eqa-offres, .eqa-ligne .eqa-vu { display: none; }
}
@media (max-width: 900px) {
  .org-poles { grid-template-columns: minmax(0, 1fr); }
  .org-rail, .org-pole::before { display: none; }
}
@media (max-width: 640px) {
  .eqa-hero { gap: 10px; padding: 18px 16px; }
  .eqa-chiffre + .eqa-chiffre { padding-left: 10px; }
  .eqa-chiffre__nom { font-size: .6rem; letter-spacing: .06em; }
  .eqa-chiffre__n, .eqa-chiffre--cle .eqa-chiffre__n { font-size: 1.9rem; }
  .eqa-pile { display: none; }
  .eqa-bloc, .org-pole { padding: 18px 12px 12px; }
  .eqa-titre { flex-wrap: wrap; }
  .eqa-ligne { grid-template-columns: minmax(0, 1fr) 30px; gap: 10px; }
  .eqa-ligne .eqa-rubs { grid-column: 1 / -1; grid-row: 2; }
  .eqa-ligne .eqa-jours { display: none; }
  .eqa-vue { margin-left: 0; }
  .org-hero { flex-wrap: wrap; padding: 20px; }
}

/* EQUIPE3-1810 (Loris, 18/10/2026) : un seul bouton « Ajouter un membre », « Modifier » dans le volet, le tiroir du formulaire (identité, métier, accès, mail) */
.eqa-nouveau, .eqa-modifier { display: inline-flex; align-items: center; gap: 8px; height: 40px; white-space: nowrap; }
.eqa-nouveau svg, .eqa-modifier svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.eqa-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.eqa-actions .eqa-vue { margin-left: 0; }
.eqa-seg[data-champ="mail"] button[aria-pressed="true"] { background: #152C12; color: #A1E04D; }
.eqm { position: fixed; inset: 0 0 0 auto; box-sizing: border-box; width: min(660px, 100vw); height: 100vh; max-width: none; max-height: none; margin: 0; padding: 22px 22px 0; border: 0; border-radius: 28px 0 0 28px; background: var(--rosee); color: var(--foret); overflow-y: auto; box-shadow: -24px 0 60px -30px rgba(21, 44, 18, .6); }
.eqm::backdrop { background: rgba(21, 44, 18, .28); }
.eqm-form { display: grid; gap: 12px; }
.eqm-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.eqm-tete h2 { margin: 0; font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; }
.eqm-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; padding: 16px; border-radius: 18px; background: var(--blanc); }
.eqm-grille .saisie { margin: 0; }
.eqm-titre { margin: 6px 0 0; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.eqm-metiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.eqm-pole { display: grid; align-content: start; gap: 6px; padding: 12px; border-radius: 16px; background: var(--blanc); }
.eqm-pole > span { color: var(--ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eqm-metier { height: 36px; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font: inherit; font-size: .86rem; font-weight: 800; cursor: pointer; }
.eqm-metier:hover { box-shadow: inset 0 0 0 1.5px var(--lime); }
.eqm-metier[aria-pressed="true"] { background: #152C12; color: #A1E04D; box-shadow: none; }
.eqm-admin { margin: 0; }
.eqm .eqa-cartes { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.eqm .msg:empty { display: none; }
.eqm .actions { position: sticky; bottom: 0; display: flex; gap: 8px; margin: 0 -22px; padding: 14px 22px 22px; background: linear-gradient(180deg, rgba(242, 254, 226, 0), var(--rosee) 30%); }
@media (max-width: 640px) {
  .eqm { padding: 16px 14px 0; border-radius: 0; }
  .eqm .actions { margin: 0 -14px; padding: 12px 14px 16px; }
  .eqm-grille, .eqm-metiers { grid-template-columns: minmax(0, 1fr); }
}

/* CALZOOM-1810 (Loris, 18/10) : la hauteur d'une heure = --ag-h (posée par agHauteur : toute la journée dans la carte, ou − / +) ;
   les cartes s'adaptent à leur taille : la ligne « 16 h · R1 · Pierre » part d'abord (carte basse ou étroite), puis le nom, la pastille reste */
.zone main.wrap.ag-plein { padding-bottom: 16px; } /* la carte descend jusqu'en bas ; le « ? » flotte sur son coin */
.ag-heures span { height: var(--ag-h, 64px); }
.ag-creneaux { background: repeating-linear-gradient(to bottom, transparent 0 calc(var(--ag-h, 64px) - 1px), var(--trait) calc(var(--ag-h, 64px) - 1px) var(--ag-h, 64px)); }
.ag-zoom button { padding: 0 11px; }
.ag-zoom button:disabled { opacity: .35; cursor: default; }
.ag-rdv { padding: 0; container-type: size; }
.ag-rdv__in { display: block; padding: 5px 8px; }
@container (max-height: 39px) {
  .ag-rdv__meta { display: none; }
  .ag-rdv__in { display: flex; align-items: center; height: 100cqh; padding-block: 0; }
  .ag-rdv__nom { min-width: 0; }
}
@container (max-width: 84px) { .ag-rdv__meta { display: none; } }
@container (max-height: 21px) {
  .ag-rdv__in { padding-inline: 5px; }
  .ag-rdv__nom { font-size: .72rem; }
  .ag-rdv__nom .ag-pers { min-width: 15px; height: 15px; margin-right: 4px; padding: 0 3px; font-size: .5rem; }
}
@container (max-height: 14px) {
  .ag-rdv__in { padding-inline: 3px; }
  .ag-rdv__nom { font-size: 0; }
  .ag-rdv__nom .ag-pers { min-width: 12px; height: 12px; margin-right: 0; padding: 0 2px; font-size: .45rem; }
}
/* fin CALZOOM-1810 */

/* EQUIPE4-1810 (Loris : « trop d'informations ») : l'organigramme, contacts en icônes (la valeur au survol, un clic copie) */
.org-contacts { display: inline-flex; flex: none; gap: 6px; }
.org-membre { grid-template-columns: auto minmax(0, 1fr) auto; }
.org-tete { grid-template-columns: auto minmax(0, 1fr) auto; }
.org-hero .org-contacts { align-self: center; gap: 8px; }
.org .org-c[data-bulle]:hover::after { bottom: auto; top: calc(100% + 8px); }

/* CAMPCOPIE-1910 (Loris, 19/10/2026) : Campagnes › réglages et copie d'une campagne. Boutons ronds sur la ligne de la campagne ; volet à droite
   comme celui d'Équipe (fond clair, blocs blancs, panneau sous-bois à 3 chiffres, pub façon Facebook) */
.cd-acts { display: inline-flex; flex: none; align-items: center; gap: 4px; margin-left: auto; padding-left: 8px; }
.cs-camp:has(.cd-acts) { width: 100%; }
.table-camp .qui span.cd-acts { display: inline-flex; color: var(--foret); font-size: inherit; } /* .table-camp .qui span met tout en bloc */
.cd-act { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); cursor: pointer; }
.cd-act:hover, .cd-act:focus-visible { background: var(--grad-lime); }
.cd-act svg { width: 15px; height: 15px; }
.cs-ic.ct-ic--lime { background: var(--grad-lime); color: var(--foret); }
.table-camp .cd__t tr.cd__camp--copie { cursor: default; }
.ct { position: fixed; inset: 0 0 0 auto; box-sizing: border-box; width: min(600px, 100vw); height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 22px 0 0 22px; background: #F4F6F2; color: var(--foret); box-shadow: -24px 0 60px -36px rgba(21, 44, 18, .55); overflow: hidden; display: flex; flex-direction: column; }
.ct:not([open]) { display: none; }
.ct::backdrop { background: rgba(21, 44, 18, .22); }
.ct-tete { display: flex; align-items: center; gap: 12px; padding: 20px 22px 12px; }
.ct-tete > div { display: grid; min-width: 0; }
.ct-tete h2 { margin: 0; overflow: hidden; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.ct-tete small { overflow: hidden; color: var(--ink-soft); font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ct-tete .fiche__fermer { position: static; flex: none; margin-left: auto; }
.ct > .vide, .ct > .avis { margin: 8px 22px; }
.ct-corps { flex: 1; display: grid; align-content: start; gap: 12px; margin: 0; padding: 0 22px 22px; overflow-y: auto; }
.ct-pied { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 22px; border-top: 1px solid var(--trait); background: #FFFFFF; }
.ct-pied .btn svg { width: 16px; height: 16px; }
.ct-bloc { display: grid; gap: 12px; min-width: 0; padding: 16px; border-radius: 18px; background: #FFFFFF; }
.ct-bloc h3 { margin: 0; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ct-panneau { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px; border-radius: 18px; background: var(--grad-sousbois); color: #F2FEE2; }
.ct-panneau div { display: grid; gap: 2px; }
.ct-panneau small { color: #C3D3B6; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ct-panneau b { font-size: 1.55rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ct-panneau .ct-cle { color: #A1E04D; }
.ct .u { margin-left: 2px; color: var(--ink-soft); font-size: .78em; font-weight: 700; }
.ct-panneau .u { color: #C3D3B6; }
.ct-lignes { display: grid; }
.ct-l { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--trait); font-size: .9rem; }
.ct-l:last-child { border-bottom: 0; }
.ct-l span { color: var(--ink-soft); font-weight: 600; }
.ct-l b { font-weight: 800; text-align: right; }
.ct-aud { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.ct-aud b { font-size: 1.8rem; font-weight: 800; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.ct-aud span { color: var(--ink-soft); font-weight: 700; }
.ct-jauge { height: 8px; overflow: hidden; border-radius: 4px; background: #EEF1EC; }
.ct-jauge i { display: block; height: 100%; border-radius: 4px; background: var(--grad-lime); }
.ct-jauge__l { display: flex; justify-content: space-between; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.ct-trois { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ct-trois > div { display: grid; gap: 2px; padding: 12px; border-radius: 14px; background: var(--rosee); }
.ct-trois small { display: flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ct-trois b { font-size: 1.4rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.ct-i { display: inline-grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: rgba(21, 44, 18, .08); font-size: .62rem; font-weight: 800; text-transform: none; cursor: help; }
.ct-vis { display: grid; gap: 8px; }
.ct-vis__l { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3.6rem; align-items: center; gap: 10px; font-size: .85rem; }
.ct-vis__l > span { color: var(--ink-soft); font-weight: 700; }
.ct-vis__b { height: 14px; overflow: hidden; border-radius: 7px; background: #EEF1EC; }
.ct-vis__b i { display: block; height: 100%; border-radius: 7px; background: var(--grad-sousbois); }
.ct-vis__l:first-child .ct-vis__b i { background: var(--grad-lime); }
.ct-vis__l b { font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.ct-fb { overflow: hidden; border-radius: 14px; background: #F0F2F5; color: #1C1E21; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.38; }
.ct-fb__tete { display: flex; align-items: center; gap: 8px; padding: 12px 12px 6px; }
.ct-fb__tete b { display: block; font-size: 14px; }
.ct-fb__tete small { display: block; color: #65676B; font-size: 12px; }
.ct-fb__av { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--grad-sousbois); color: #A1E04D; font-size: .78rem; font-weight: 800; }
.ct-fb__texte { margin: 0; padding: 4px 12px 10px; overflow-wrap: anywhere; white-space: pre-line; }
.ct-fb__media { position: relative; background: #000000; }
.ct-fb__media img, .ct-fb__media video { display: block; width: 100%; max-height: 400px; object-fit: contain; background: #000000; }
.ct-fb__lecture { position: absolute; inset: 0; width: 56px; height: 56px; margin: auto; border-radius: 50%; background: rgba(0, 0, 0, .5); pointer-events: none; }
.ct-fb__lecture::after { content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left: 18px solid #FFFFFF; }
.ct-fb__bas { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; }
.ct-fb__bas b { display: block; font-size: 15px; }
.ct-fb__bas small { display: block; color: #65676B; font-size: 13px; }
.ct-fb__cta { flex: none; padding: 8px 12px; border-radius: 6px; background: #E4E6EB; font-weight: 700; }
.ct-fixe { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.ct-fixe .puce::before { display: none; }
.ct-zone { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding-top: 4px; color: var(--foret); }
.ct-zone small { order: 3; flex-basis: 100%; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.ct-zone .btn { margin-left: auto; }
.ct-est { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-radius: 14px; background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.ct-est b { color: var(--foret); font-size: 1.2rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.ct-est span { color: var(--ink-soft); font-weight: 700; }
.ct-video { display: flex; align-items: center; gap: 12px; padding-top: 4px; color: var(--foret); }
.ct-video img, .ct-video video { flex: none; width: 56px; height: 56px; border-radius: 12px; object-fit: cover; }
.ct-video > span { display: grid; flex: 1; min-width: 0; gap: 2px; }
.ct-video b { overflow: hidden; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.ct-video small { color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.ct-seg { display: inline-flex; flex-wrap: wrap; justify-self: start; padding: 3px; border-radius: 999px; background: #EEF1EC; }
.ct-seg button { padding: 7px 14px; border: 0; border-radius: 999px; background: none; color: var(--ink-soft); font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.ct-seg button[aria-pressed="true"] { background: var(--grad-lime); color: var(--foret); font-weight: 800; }
.ct-coche { display: flex; align-items: flex-start; gap: 10px; color: var(--foret); font-size: .9rem; font-weight: 600; }
.ct-coche input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: #4E9F1F; }
.ct .msg:empty { display: none; }
.ct-villes { display: grid; gap: 6px; }
.ct .saisie__ligne input[type=number] { min-width: 0; }
@media (max-width: 640px) { .ct { width: 100vw; border-radius: 0; } .ct-trois, .ct .saisies { grid-template-columns: 1fr; } .ct-panneau b { font-size: 1.25rem; } }

/* CRM-RECO-1910 (Loris, 19/10/2026) : Delivery › Reco › CRM, la maquette v2 validée (https://claude.ai/artifact/EXVSStasRsh3JZ3GYnPqkN).
   Le haut = le panneau sous-bois d'Équipe (.eqa-hero), les segments de l'Agenda (.ag-seg), les colonnes du CRM SAE (.colonne-crm) ;
   le reste préfixé rc- : le tableau, les cartes, la fiche en volet à droite (le tableau reste visible et cliquable). */
.rc { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.rc [hidden] { display: none !important; }
.rc > .head { display: none; }
.rc-barre { margin: 0 8px; }
.rc-hero { margin: 0; }
.rc-pastille { display: inline-flex; align-items: center; margin-top: 12px; padding: 4px 11px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); color: #C3D3B6; font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.rc-pastille--cle { background: rgba(161, 224, 77, .16); box-shadow: inset 0 0 0 1px rgba(161, 224, 77, .45); color: #A1E04D; }
.rc-visages { display: inline-flex; margin-right: 8px; }
.rc-visages .rc-tete { width: 22px; height: 22px; box-shadow: 0 0 0 2px #233E17; font-size: .55rem; }
.rc-visages .rc-tete + .rc-tete { margin-left: -6px; }
.rc-filtres { margin: 0 8px; }
.rc-filtres .ag-seg { max-width: 100%; overflow-x: auto; }
.rc-filtres .ag-seg b { margin-left: 7px; font-weight: 800; font-variant-numeric: tabular-nums; opacity: .5; }
.rc-filtres .ag-seg button[aria-pressed="true"] b { opacity: 1; }
.rc-filtres .ag-seg .rc-rouge b { color: #B23A20; opacity: 1; }
.rc-filtres .ag-seg button.rc-zero { opacity: .45; }

/* le tableau : une boîte blanche, des lignes simples */
.rc-boite { overflow-x: auto; padding: 6px 10px 10px; border-radius: var(--r-board); background: var(--blanc); box-shadow: 0 24px 48px -30px rgba(21, 44, 18, .55); }
.rc-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; font-size: .9375rem; }
.rc-table th { padding: 14px 12px 10px; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; cursor: pointer; user-select: none; }
.rc-table th:hover { color: var(--foret); }
.rc-table .rc-num { text-align: right; }
.rc-table .rc-ecart { padding-left: 48px; }
.rc-table td { padding: 12px; border-top: 1px solid var(--trait); font-variant-numeric: tabular-nums; vertical-align: middle; }
.rc-table tbody tr { cursor: pointer; }
.rc-table tbody tr td:first-child { border-radius: 14px 0 0 14px; }
.rc-table tbody tr td:last-child { border-radius: 0 14px 14px 0; }
.rc-table tbody tr:hover td { background: #F5F9F1; }
.rc-table tbody tr.rc-ouvert td { background: var(--rosee); }
.rc-table tbody tr:hover td, .rc-table tbody tr:hover + tr td, .rc-table tbody tr.rc-ouvert td, .rc-table tbody tr.rc-ouvert + tr td { border-top-color: transparent; }
.rc-table .rc-vide { padding: 40px 12px; color: var(--ink-soft); text-align: center; cursor: default; }
.rc-u { margin-left: .12em; font-size: .62em; font-weight: 700; opacity: .6; }
.rc-n { font-size: 1.0625rem; font-weight: 800; }
.rc-pale { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.rc-action { color: #B23A20; font-size: .9rem; font-weight: 800; }
.rc-paie { font-size: .9rem; font-weight: 800; }
.rc-paie--ambre, .rc-ambre-txt { color: #A35A0B; }
.rc-paie--vert, .rc-vert-txt { color: #3F7F1A; }
.rc-rouge-txt { color: #B23A20; font-weight: 800; }
.rc-qui { display: flex; align-items: center; gap: 12px; min-width: 200px; }
.rc-tete { flex: none; width: 38px; height: 38px; border-radius: 50%; object-fit: cover; background: var(--rosee); }
.rc-tete--init { display: grid; place-items: center; color: var(--ink-soft); font-size: .78rem; font-weight: 800; }
.rc-qui__nom { min-width: 0; }
.rc-qui__nom b { display: block; font-weight: 800; white-space: nowrap; }
.rc-qui__nom span { display: block; max-width: 200px; overflow: hidden; color: var(--ink-soft); font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.rc-avance { min-width: 170px; max-width: 340px; }
.rc-avance__ligne { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; white-space: nowrap; }
.rc-avance__ligne b { font-weight: 800; }
.rc-jauge { display: block; height: 6px; margin-top: 7px; border-radius: 3px; background: rgba(21, 44, 18, .09); overflow: hidden; }
.rc-jauge i { display: block; height: 100%; border-radius: 3px; background: var(--grad-lime); }
.rc-jauge--plein i { background: var(--lime); }
.rc-etoile { display: inline-flex; align-items: center; gap: 6px; color: #3F7F1A; font-size: .8125rem; font-weight: 800; white-space: nowrap; }
.rc-etoile .rc-ic { width: 15px; height: 15px; fill: currentColor; }
.rc-etoile--vide { color: var(--ink-soft); }
.rc-etoile--vide .rc-ic { fill: none; }
.rc-ic { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* le Kanban : les colonnes du CRM SAE, des cartes sans bordure */
.rc-colonne { flex: 1 1 230px; min-width: 230px; max-width: 300px; }
.rc-carte { display: grid; gap: 8px; padding: 12px 14px; border-radius: 16px; background: var(--blanc); box-shadow: 0 10px 22px -16px rgba(21, 44, 18, .55); cursor: pointer; }
.rc-carte:hover { background: #F5F9F1; }
.rc-carte.rc-ouvert { background: var(--rosee); }
.rc-carte .rc-qui { min-width: 0; gap: 10px; }
.rc-carte .rc-tete { width: 34px; height: 34px; }
.rc-carte .rc-qui__nom b { overflow: hidden; font-size: .95rem; text-overflow: ellipsis; }
.rc-carte .rc-avance { min-width: 0; max-width: none; font-size: .875rem; }
.rc-carte .rc-action { font-size: .85rem; }

/* la fiche en volet, à droite */
.rc-volet { position: fixed; top: 0; right: 0; bottom: 0; z-index: 60; display: flex; flex-direction: column; width: min(680px, 100%); padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); background: #E9EEE6; box-shadow: 0 30px 60px -30px rgba(21, 44, 18, .6), -1px 0 0 var(--trait); transform: translateX(105%); transition: transform .22s ease; }
.rc-volet--ouvert { transform: none; }
@media (prefers-reduced-motion: reduce) { .rc-volet { transition: none; } }
.rc-v-tete { display: flex; align-items: center; gap: 14px; padding: 18px 18px 16px 22px; }
.rc-v-tete .rc-tete { width: 56px; height: 56px; }
.rc-v-tete .rc-tete--init { font-size: 1rem; }
.rc-v-nom { flex: 1; min-width: 0; }
.rc-v-nom b { display: block; font-size: 1.25rem; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.rc-v-nom span { display: block; color: var(--ink-soft); font-size: .875rem; font-weight: 600; }
.rc-rond { display: grid; place-items: center; align-self: flex-start; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--ink-soft); cursor: pointer; }
.rc-rond:hover { background: var(--grad-lime); color: var(--foret); }
.rc-v-onglets { display: flex; gap: 2px; margin: 0 18px 14px; padding: 3px; overflow-x: auto; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); }
.rc-v-onglets button { flex: 1 0 auto; height: 34px; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink-soft); font: inherit; font-size: .8125rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
.rc-v-onglets button[aria-selected="true"] { background: var(--blanc); color: var(--foret); box-shadow: 0 6px 14px -10px rgba(21, 44, 18, .6); }
.rc-v-corps { flex: 1; display: grid; align-content: start; gap: 12px; padding: 0 18px 28px; overflow-y: auto; }
.rc-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 8px; }
.rc-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 14px; border: 0; border-radius: var(--r-pill); background: var(--blanc); box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; text-decoration: none; white-space: nowrap; cursor: pointer; }
.rc-bouton:hover { background: var(--grad-lime); box-shadow: none; color: var(--foret); }
.rc-bouton--large { width: 100%; }
.rc-bouton--fort { background: var(--foret); box-shadow: none; color: var(--rosee); }
.rc-bouton--recu { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.rc-bouton--recu .rc-ic { fill: var(--lime); color: var(--lime); }
.rc-alerte { display: grid; gap: 4px; padding: 12px 16px; border-radius: 16px; background: #FBE8E2; }
.rc-alerte .rc-action { font-size: 1rem; }
.rc-bloc { display: grid; gap: 10px; padding: 14px 16px; border-radius: 18px; background: var(--blanc); }
.rc-bloc h3 { margin: 0; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rc-bloc .rc-avance { max-width: none; }
.rc-ligne { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; }
.rc-ligne span { color: var(--ink-soft); font-weight: 600; }
.rc-ligne b { font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.rc-attente { margin: 8px 4px; }
.rc-msg { margin: 0; color: #B23A20; font-size: .85rem; font-weight: 700; }

/* le parcours : l'étape (menu maison, jamais le menu du navigateur) et les jalons */
.rc-etape-ligne { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 4px; font-size: .9rem; }
.rc-etape-ligne > span { color: var(--ink-soft); font-weight: 600; }
.rc-etape-choix { position: relative; }
.rc-etape-btn { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px 0 14px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; font-size: .875rem; font-weight: 800; cursor: pointer; }
.rc-etape-btn:hover { background: #F5F9F1; box-shadow: inset 0 0 0 1px var(--trait); }
.rc-etape-btn i, .rc-etape-liste i, .rc-etape-txt i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #E9B93A; }
.rc-etape-txt { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.rc-etape-btn .rc-ic { width: 16px; height: 16px; color: var(--ink-soft); }
.rc-etape-liste { position: absolute; top: calc(100% + 6px); right: 0; z-index: 3; display: grid; min-width: 232px; padding: 6px; border-radius: 16px; background: var(--blanc); box-shadow: 0 30px 60px -30px rgba(21, 44, 18, .6), 0 0 0 1px var(--trait); }
.rc-etape-liste[hidden] { display: none; }
.rc-etape-liste button { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 0; border-radius: 10px; background: transparent; color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; text-align: left; cursor: pointer; }
.rc-etape-liste button:hover { background: #F5F9F1; }
.rc-etape-liste button[aria-pressed="true"] { background: var(--rosee); }
.rc-etape-liste button:not([aria-pressed="true"]) i { background: rgba(21, 44, 18, .12); }
.rc-jalon { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: .9rem; }
.rc-jalon .rc-ic { color: var(--ink-soft); opacity: .45; }
.rc-jalon--fait .rc-ic { color: #3F7F1A; opacity: 1; }
.rc-jalon span { font-weight: 700; }
.rc-jalon b { max-width: 270px; overflow: hidden; font-size: .85rem; font-weight: 700; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.rc-jalon:not(.rc-jalon--fait) span, .rc-jalon:not(.rc-jalon--fait) b { color: var(--ink-soft); font-weight: 600; }

/* l'historique : une ligne par appel ou par atelier (liens à droite), des formulaires à déplier, les notes */
.rc-histo { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; padding: 11px 0; border-top: 1px solid var(--trait); }
.rc-bloc h3 + .rc-histo { padding-top: 2px; border-top: 0; }
.rc-histo b { font-size: .9rem; font-weight: 800; }
.rc-histo small { grid-column: 1; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.rc-histo__liens { grid-row: 1 / span 2; grid-column: 2; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.rc-lien { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--foret); font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.rc-lien:hover { background: var(--grad-lime); color: var(--foret); }
.rc-present { color: #3F7F1A; }
.rc-absent { color: var(--ink-soft); font-weight: 600 !important; }
.rc-form { border-top: 1px solid var(--trait); }
.rc-bloc h3 + .rc-form { border-top: 0; }
.rc-form summary, div.rc-form { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; font-size: .9rem; font-weight: 800; list-style: none; }
.rc-form summary { cursor: pointer; }
.rc-form summary::-webkit-details-marker { display: none; }
.rc-form summary > span, div.rc-form > span { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: .85rem; font-weight: 600; }
.rc-form summary .rc-ic { width: 16px; height: 16px; transition: transform .15s; }
details.rc-form[open] summary .rc-ic { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .rc-form summary .rc-ic { transition: none; } }
.rc-qr { display: grid; gap: 12px; margin: 0; padding: 2px 0 16px; }
.rc-qr dt { color: var(--ink-soft); font-size: .75rem; font-weight: 800; letter-spacing: .04em; }
.rc-qr dd { margin: 3px 0 0; font-size: .9rem; line-height: 1.5; white-space: pre-line; }
.rc-pdf { margin: 0 0 14px; }
#rc-note { box-sizing: border-box; width: 100%; padding: 10px 12px; border: 0; border-radius: 12px; background: rgba(21, 44, 18, .04); box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); font: inherit; font-size: .9rem; resize: vertical; }
#rc-note:focus { outline: none; box-shadow: inset 0 0 0 2px var(--lime); }
.rc-note-pied { display: flex; justify-content: flex-end; }
.rc-note { padding: 10px 0; border-top: 1px solid var(--trait); }
.rc-bloc h3 + .rc-note { padding-top: 2px; border-top: 0; }
.rc-note small { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.rc-note p { margin: 4px 0 0; font-size: .9rem; line-height: 1.5; white-space: pre-line; }

@media (max-width: 899px) {
  .rc-hero { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px; }
  .rc-hero .eqa-chiffre + .eqa-chiffre { padding: 14px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
}

/* APPELINT-1910 (Loris, 19/10/2026) : un appel interne (Appel avec Hassane) dans le Calendrier, ni SAE ni Reco : lavande, clic = la visio */
.ag-rdv--interne, .ag-mpuce--interne { background: #E6E3F7; color: #2D2A55; box-shadow: inset 3px 0 0 #7B72C9; }
.ag-rdv--interne:hover, .ag-mpuce--interne:hover { filter: brightness(.98); }

/* APPELS-1910 (Loris, 19/10/2026) : Agenda › Appels d'équipe. Les codes d'Équipe › Accès (KPI, Finance) : une boîte blanche par pôle (pastille lime
   + icône, nombre à droite), des lignes-cartes qui se soulèvent, un volet rosée qui se déroule avec des cartes blanches ; pas de résumé en haut. */
.ap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.ap > * { min-width: 0; }
.ap .ag-outils { margin-bottom: 0; }
.ap-bloc { padding: 22px 22px 16px; border-radius: var(--r-board); background: var(--blanc); box-shadow: 0 24px 48px -30px rgba(21, 44, 18, .55); }
.ap-titre { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 0; }
.ap-bloc:has(.ap-liste) .ap-titre { margin-bottom: 12px; }
.ap-titre__ic { display: inline-grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--grad-lime); box-shadow: 0 10px 20px -12px rgba(61, 122, 39, .9); }
.ap-titre__ic svg { width: 22px; height: 22px; fill: none; stroke: #152C12; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ap-titre__nom { margin: 0; color: var(--foret); font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; }
.ap-titre__n { color: var(--ink-soft); font-size: 1.45rem; font-weight: 800; font-variant-numeric: tabular-nums; opacity: .45; }
.ap-ajout { display: inline-flex; align-items: center; gap: 6px; height: 36px; margin-left: auto; padding: 0 14px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; font-size: .84rem; font-weight: 800; cursor: pointer; }
.ap-ajout:hover { background: var(--grad-lime); }
.ap-titre .ag-statut { margin-left: auto; }
.ap-titre .ag-statut + .ap-ajout { margin-left: 0; }
.ap .head + .ap-bloc { margin-top: 0; }
.ap-ajout .i { width: 15px; height: 15px; }

.ap-liste { display: grid; gap: 6px; padding: 2px 2px 4px; overflow-x: auto; }
.ap-liste > * { min-width: 600px; }
.ap-cols, .ap-ligne { display: grid; grid-template-columns: minmax(160px, 1.3fr) minmax(210px, 1.3fr) minmax(130px, 1fr) 64px 30px; align-items: center; gap: 14px; }
.ap-cols--lecture, .ap-ligne--lecture { grid-template-columns: minmax(160px, 1.3fr) minmax(210px, 1.3fr) minmax(130px, 1fr) 124px; }
.ap-cols { padding: 0 10px 4px 12px; color: #9AA595; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ap-cols span:nth-child(4) { text-align: center; }
.ap-ligne { padding: 12px 10px 12px 12px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); cursor: pointer; transition: box-shadow .2s, transform .2s, background .2s; }
.ap-ligne:hover { box-shadow: inset 0 0 0 1px var(--trait), 0 10px 22px -14px rgba(21, 44, 18, .5); transform: translateY(-1px); }
.ap-ligne:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.ap-ligne--ouverte, .ap-ligne--ouverte:hover { border-radius: 16px 16px 0 0; background: var(--rosee); box-shadow: 0 12px 24px -16px rgba(21, 44, 18, .55); transform: translateY(-2px); }
.ap-ligne--lecture, .ap-ligne--lecture:hover { cursor: default; transform: none; box-shadow: inset 0 0 0 1px var(--trait); }
.ap-ligne--neuve { cursor: default; }
.ap-ligne--off > :not(.interrupteur) { opacity: .5; }
.ap-ligne .interrupteur { justify-self: center; }
.ap-nom { display: grid; min-width: 0; line-height: 1.25; }
.ap-nom b { overflow: hidden; font-size: 1.02rem; font-weight: 800; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.ap-nom small { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.ap-quand { display: flex; align-items: center; gap: 8px; min-width: 0; font-weight: 700; }
.ap-quand > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-quand small { color: var(--ink-soft); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.ap-heure { display: inline-flex; flex: none; align-items: center; height: 28px; padding: 0 10px; border-radius: var(--r-pill); background: #152C12; color: #A1E04D; font-size: .82rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.ap-av { width: 30px; height: 30px; font-size: .74rem; box-shadow: 0 0 0 2px var(--blanc); }
.ap-av--mini { width: 18px; height: 18px; font-size: .55rem; box-shadow: none; }
.ap-av--menu { width: 26px; height: 26px; font-size: .66rem; box-shadow: none; }
.ap-pile { display: flex; align-items: center; padding-left: 6px; }
.ap-pile .ap-av { margin-left: -6px; }
.ap-pile em { margin-left: 8px; color: var(--ink-soft); font-size: .82rem; font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; }
.ap-plus { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(21, 44, 18, .06); font-size: 1.15rem; font-weight: 800; transition: transform .15s, background .15s; }
.ap-ligne:hover .ap-plus, .ap-ligne--ouverte .ap-plus { background: var(--grad-lime); }
.ap-ligne--ouverte .ap-plus { transform: rotate(90deg); }
.ap-rejoindre { justify-self: end; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: var(--r-pill); background: var(--grad-lime); color: #152C12; font-size: .84rem; font-weight: 800; text-decoration: none; white-space: nowrap; box-shadow: 0 6px 14px -8px rgba(90, 140, 30, .8); }
.ap-rejoindre .i { width: 16px; height: 16px; }

/* le volet d'un appel : panneau rosée, cartes blanches */
.ap-volet { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: -6px; padding: 16px 16px 18px; border-radius: 0 0 18px 18px; background: var(--rosee); }
.ap-carte { display: grid; align-content: start; gap: 12px; min-width: 0; padding: 16px 18px; border-radius: 18px; background: var(--blanc); }
.ap-carte--large { grid-column: 1 / -1; }
.ap-carte h3 { margin: 0; color: #9AA595; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ap-champ { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 12px; margin: 0; }
.ap-champ > span:first-child { color: var(--ink-soft); font-size: .84rem; font-weight: 700; }
.ap-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ap-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 13px; border: 0; border-radius: var(--r-pill); background: transparent; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .14); color: #7D8A77; font: inherit; font-size: .82rem; font-weight: 800; cursor: pointer; }
.ap-chip[aria-pressed="true"] { background: #F2FEE2; box-shadow: inset 0 0 0 1.5px #A1E04D; color: var(--foret); }
.ap-chip--jour { justify-content: center; width: 38px; padding: 0; }
.ap-chip b { opacity: .55; }
.ap-chip .i { width: 14px; height: 14px; }
.ap-x { margin-left: 2px; opacity: .55; }
.ap-saisie { box-sizing: border-box; height: 36px; padding: 0 12px; border: 0; border-radius: 12px; background: #EEF1EC; color: var(--foret); font: inherit; font-weight: 800; font-variant-numeric: tabular-nums; width: 108px; }
.ap-saisie--nom { width: 100%; }
.ap-saisie:focus-visible { outline: 2px solid var(--lime); outline-offset: 1px; }
.ap-duree { display: inline-flex; align-items: center; gap: 8px; }
.ap-duree .ap-saisie { width: 84px; }
.ap-duree small { color: var(--ink-soft); font-weight: 700; }
.ap-menu { display: inline-flex; align-items: center; gap: 8px; width: max-content; height: 36px; padding: 0 12px 0 5px; border: 0; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font: inherit; font-size: .88rem; font-weight: 800; cursor: pointer; }
.ap-menu .i { width: 15px; height: 15px; color: var(--ink-soft); }
.ap-lien { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ap-lien code { padding: 8px 12px; border-radius: 12px; background: #EEF1EC; color: var(--foret); font: 800 .9rem/1.2 inherit; font-family: inherit; }
.ap-petit { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 13px; border: 0; border-radius: var(--r-pill); background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; font-size: .82rem; font-weight: 800; cursor: pointer; }
.ap-petit .i { width: 15px; height: 15px; }
.ap-auto { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px; border-radius: var(--r-pill); background: #152C12; color: #FFFFFF; font-size: .78rem; font-weight: 800; }
.ap-auto::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #D9481C; box-shadow: 0 0 0 3px rgba(217, 72, 28, .3); }
.ap-enr { display: grid; }
.ap-enr div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--trait); font-size: .9rem; font-weight: 800; }
.ap-enr div:last-child { border-bottom: 0; }
.ap-enr small { color: var(--ink-soft); font-weight: 600; }
.ap-enr a { padding: 4px 11px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font-size: .78rem; font-weight: 800; text-decoration: none; }
.ap-pied { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.ap-pied .ag-statut { margin-right: auto; }
.ap-enregistrer { background: var(--grad-lime); color: #152C12; }
.ap-enregistrer[hidden] { display: none; }
.ap-liste-menu { max-height: min(60vh, 420px); overflow-y: auto; }
.ap-vide { padding: 10px 12px; color: var(--ink-soft); font-weight: 700; }
@media (max-width: 760px) { .ap-volet { grid-template-columns: minmax(0, 1fr); } .ap-bloc { padding: 18px 14px 12px; } .ap-champ { grid-template-columns: minmax(0, 1fr); gap: 6px; } }
@media (prefers-reduced-motion: reduce) { .ap-ligne, .ap-plus { transition: none; } }
/* APPELS-1910 (Loris, 19/10) : Agenda, un trait entre ce qu'on consulte (Calendrier, Appels d'équipe) et les réglages (Liens, Disponibilités) */
.entete--bandeau .onglets .onglets__trait { flex: none; align-self: center; width: 1px; height: 26px; margin: 0 6px; background: rgba(21, 44, 18, .18); }
/* APPELS-CAL-1910 (Loris, 19/10/2026) : un appel d'équipe dans le Calendrier, la couleur de son pôle (ni SAE, ni Reco, ni le lavande des appels réservés), clic = la visio */
.ag-rdv--interne.ag-equipe--direction, .ag-mpuce--interne.ag-equipe--direction { background: #2E4A1C; color: #FFFFFF; box-shadow: inset 3px 0 0 #A1E04D; }
.ag-rdv--interne.ag-equipe--sales, .ag-mpuce--interne.ag-equipe--sales { background: #DCEAFA; color: #163A63; box-shadow: inset 3px 0 0 #3D7CC9; }
.ag-rdv--interne.ag-equipe--delivery, .ag-mpuce--interne.ag-equipe--delivery { background: #D9F1EC; color: #12463E; box-shadow: inset 3px 0 0 #2E9C8A; }
.ag-rdv--interne.ag-equipe--marketing, .ag-mpuce--interne.ag-equipe--marketing { background: #FAE1EB; color: #5A1F38; box-shadow: inset 3px 0 0 #C2477A; }

/* PLAN-RECO-1910 : le générateur de plan d'action, en plein écran au-dessus du CRM Reco (fermer = retour à la fiche) */
.rc-plan-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 6px; }
.rc-plan { position: fixed; inset: 0; z-index: 70; display: flex; flex-direction: column; background: #E9EEE6; }
.rc-plan__tete { display: flex; align-items: center; gap: 12px; flex: none; height: 64px; padding: 0 max(16px, env(safe-area-inset-right, 0px)) 0 max(20px, env(safe-area-inset-left, 0px)); border-bottom: 1px solid var(--trait); background: #F7F9F5; }
.rc-plan__tete b { flex: 1; min-width: 0; overflow: hidden; font-size: 1.05rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rc-plan__tete .rc-rond { align-self: center; }
.rc-plan iframe { flex: 1; width: 100%; border: 0; background: #E9EEE6; }

/* REMPLIDISPO-1910 (Hassane, 19/10/2026) : Agenda › Disponibilités, la part des créneaux du lien R1 déjà prise d'ici J+N (une ligne par lien) */
.ag-rempli { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.ag-rempli + .ag-rempli { margin-top: 6px; }
.ag-rempli__barre { display: block; flex: 0 0 72px; height: 8px; overflow: hidden; border-radius: 4px; background: var(--trait); }
.ag-rempli__barre i { display: block; height: 100%; border-radius: 4px; background: var(--grad-lime); }
.ag-rempli--plein .ag-rempli__barre i { background: #D93F3F; }
.ag-rempli b { min-width: 40px; color: var(--foret); font-weight: 800; font-variant-numeric: tabular-nums; }
.ag-rempli--plein b { color: #D93F3F; }
.ag-rempli small { color: var(--ink-soft); font-size: .75rem; font-weight: 600; }
/* CALBARRE-2010 (Loris, 20/10/2026) : la barre du Calendrier. La période sur sa ligne ; à gauche les filtres d'affichage (Personnes, Événements) ;
   à droite Aujourd'hui ‹ ›, Jour / Semaine / Mois, la hauteur, Actualiser en icône. Les appels d'équipe en bandes de leur pôle, derrière les RDV. */
.ag-periode--haut { margin: 0 8px 12px; color: var(--foret); font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; }
.ag-evts-points { display: inline-flex; gap: 3px; }
.ag-evt-temoin { display: inline-block; flex: none; width: 9px; height: 9px; border-radius: 50%; }
.nav-offre__choix .ag-evt-temoin { width: 20px; height: 12px; border-radius: 4px; }
.ag-evt-temoin--vente, .ag-evt-temoin--r1, .ag-evt-temoin--r2 { background: linear-gradient(90deg, #A1E04D 50%, #F2A23A 50%); }
.ag-evt-temoin--r2 { box-shadow: inset 0 0 0 2px #152C12; }
.ag-evt-temoin--equipe, .ag-evt-temoin--reunion { background: #3D7CC9; }
.ag-evt-temoin--reserve { background: #7B72C9; }
.ag-evt-groupe { font-weight: 800; }
.nav-offre__choix.ag-evt-sous { padding-left: 34px; font-weight: 600; }
.nav-offre__choix[aria-checked="mixed"] .nav-offre__case { background: linear-gradient(var(--foret), var(--foret)) center / 8px 2px no-repeat; box-shadow: inset 0 0 0 1.5px var(--foret); }
.ag-evt-temoin--occupe { background: repeating-linear-gradient(135deg, #8A9A84 0 2px, transparent 2px 4px); box-shadow: inset 0 0 0 1px #8A9A84; }
.ag-qui-oeil { display: inline-grid; flex: none; place-items: center; width: 28px; height: 28px; margin-left: 4px; border-radius: 9px; color: var(--ink-soft); opacity: .5; }
.ag-qui-oeil:hover, .ag-qui-oeil--on { background: rgba(21, 44, 18, .08); color: var(--foret); opacity: 1; }
.ag-qui-oeil svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ag-actualiser.ag-tourne svg { animation: ag-tourne 1s linear infinite; }
@keyframes ag-tourne { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ag-actualiser.ag-tourne svg { animation: none; } }
.ag-bande { position: absolute; left: 0; right: 0; z-index: 1; display: flex; align-items: flex-start; overflow: hidden; padding: 2px 8px; border: 0; border-radius: 0; font: inherit; font-size: .72rem; font-weight: 800; line-height: 1.2; text-align: left; white-space: nowrap; cursor: pointer; }
.ag-bande span { overflow: hidden; text-overflow: ellipsis; }
.ag-bande:hover { filter: brightness(.96); }
.ag-bande.ag-equipe--sales { background: rgba(61, 124, 201, .16); color: #163A63; box-shadow: inset 3px 0 0 #3D7CC9; }
.ag-bande.ag-equipe--direction { background: rgba(46, 74, 28, .14); color: #152C12; box-shadow: inset 3px 0 0 #2E4A1C; }
.ag-bande.ag-equipe--delivery { background: rgba(46, 156, 138, .16); color: #12463E; box-shadow: inset 3px 0 0 #2E9C8A; }
.ag-bande.ag-equipe--marketing { background: rgba(194, 71, 122, .14); color: #5A1F38; box-shadow: inset 3px 0 0 #C2477A; }
/* CALBARRE2-2010 (Loris, 20/10/2026) : la barre du Calendrier sur une ligne, condensée. À gauche les filtres (Personnes, Événements), un espace,
   à droite Aujourd'hui, ‹ la date ›, Jour / Semaine / Mois (plus petit), la hauteur, Actualiser tout au bout. Les pastilles des deux filtres ont
   la même taille (des ronds de 20 px qui se chevauchent). Sur un écran étroit, la barre repasse à la ligne. */
.ag-plein .ag-outils { justify-content: space-between; flex-wrap: nowrap; column-gap: 28px; }
.ag-plein .ag-gauche, .ag-plein .ag-droite, .ag-plein .ag-nav { flex-wrap: nowrap; gap: 6px; }
.ag-plein .ag-droite { margin-left: auto; }
.ag-plein .ag-outils .nav-offre__bouton { height: 34px; gap: 6px; padding: 0 10px 0 6px; }
.ag-plein .ag-outils .nav-offre__nom { font-size: .8125rem; }
.ag-plein #ag-qui .avatar { width: 20px; height: 20px; font-size: .5625rem; }
.ag-plein .ag-evts-points { display: inline-flex; gap: 0; }
.ag-plein .ag-evts-points .ag-evt-temoin { width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 0 0 2px var(--blanc); }
.ag-plein .ag-evts-points .ag-evt-temoin + .ag-evt-temoin { margin-left: -5px; }
.ag-plein .ag-outils .ag-btn { height: 34px; padding: 0 12px; font-size: .8125rem; }
.ag-plein .ag-outils .ag-rond { width: 34px; height: 34px; }
.ag-plein .ag-outils .ag-seg { height: 34px; padding: 2px; }
.ag-plein .ag-outils .ag-seg button { height: 30px; padding: 0 10px; font-size: .8125rem; }
.ag-plein .ag-outils #ag-vue button { padding: 0 8px; font-size: .75rem; }
.ag-plein .ag-zoom button { padding: 0 6px; }
.ag-periode-nav { display: inline-flex; align-items: center; gap: 2px; }
.ag-plein .ag-outils .ag-rond--petit { width: 28px; height: 28px; background: none; }
.ag-plein .ag-outils .ag-rond--petit:hover { background: rgba(21, 44, 18, .08); }
.ag-plein .ag-periode { margin: 0 2px; font-size: .9375rem; }
@media (max-width: 1180px) { .ag-plein .ag-outils, .ag-plein .ag-gauche, .ag-plein .ag-droite { flex-wrap: wrap; } }

/* AGFUSEAU-2110 : le fuseau du Calendrier dans le coin au-dessus des heures */
.ag-heures__coin.ag-fuseau { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; padding: 0 8px 0 0; font-style: normal; line-height: 1.2; }
.ag-fuseau b { color: var(--foret); font-size: .6875rem; font-weight: 700; }
.ag-fuseau small { color: var(--ink-soft); font-size: .6875rem; font-weight: 500; }
/* fin AGFUSEAU-2110 */

/* RECRUTEMENT5-2210 v5 (Loris, 22/10/2026, maquette validée) : Équipe › Recrutement (suite de RECRUTEMENT3-2110 v4.1, RECRUTEMENT2-2110 et RECRUTEMENT-2110).
   Le modèle : Équipe › Accès (.eqa-hero, .eqa-bloc, .eqa-titre, .eqa-plus) + KPI › Funnel (entonnoir SVG continu). Une seule ligne de contrôle (.rec-ctl),
   les offres en lignes standardisées (.rec-off, mini-barre segmentée), le panneau Funnel d'une offre (.eqa-hero.rec-fun), les tableaux (.rec-table, colonnes fixes,
   une ligne sur deux teintée, un trait entre les lignes, en-tête collant sous le bandeau). Aucun liseré, aucune bordure colorée de mise en avant.
   Le mode sombre est calculé par sombre.py ; les couleurs qu'il ne doit pas recalculer passent par des variables --rec-* (sombre.py ne réécrit pas les
   variables), avec leurs valeurs sombres écrites ici. */
.rec, .rec-tiroir, .rec-menu {
  --rec-bezel: #0E150C; --rec-bezel-trait: #2A3526; --rec-ecran: #FFFFFF; --rec-danger: #B23A20; --rec-danger-fonce: #9C311A; --rec-sur-danger: #FFFFFF;
  --rec-ligne: #FFFFFF; --rec-ligne-pair: #EEF2EA; --rec-ligne-survol: #E0EBD5; --rec-ligne-trait: rgba(21, 44, 18, .1); --rec-tete: #FFFFFF; --rec-tete-trait: rgba(21, 44, 18, .22);
  --rec-off-trait: rgba(21, 44, 18, .1); --rec-off-survol: #F7FAF4;
  /* les pastilles de statut : pleines, une teinte = un sens (les mêmes dans les tableaux, les menus, le tiroir) */
  --rec-sombre: #152C12; --rec-clair: #F2FEE2;
  --rec-s-regarder: #E6EBE3; --rec-s-regarder-t: #152C12; --rec-s-contacter: #F7D576; --rec-s-contacter-t: #152C12;
  --rec-s-entretien: #F2FEE2; --rec-s-entretien-t: #152C12; --rec-s-entretien-r: #A1E04D;
  --rec-s-retenu-t: #152C12;
  --rec-s-integre: #152C12; --rec-s-integre-t: #F2FEE2; --rec-s-integre-r: rgba(161, 224, 77, .5);
  --rec-s-refuse: rgba(21, 44, 18, .07); --rec-s-refuse-t: #46553F; --rec-s-cote-r: #46553F; --rec-s-cote-t: #152C12;
  /* la mini-barre d'une offre */
  --rec-mb-fond: rgba(21, 44, 18, .08); --rec-mb-ref: rgba(21, 44, 18, .24); --rec-mb-ctc: #F7D576; --rec-mb-ent: #7FB84A; --rec-mb-ret: #A1E04D; --rec-mb-int: #152C12;
  /* le panneau sous-bois (héros, Funnel) : identique en clair et en sombre */
  --rec-h-blanc: #FFFFFF; --rec-h-pale: #C3D3B6; --rec-h-lime: #A1E04D; --rec-h-ambre: #F7D576; --rec-h-sur-lime: #152C12;
  --rec-h-verre: rgba(255, 255, 255, .08); --rec-h-verre-fort: rgba(255, 255, 255, .14); --rec-h-verre-trait: rgba(255, 255, 255, .14);
  --rec-h-lime-verre: rgba(161, 224, 77, .16); --rec-h-lime-trait: rgba(161, 224, 77, .5); --rec-h-ambre-verre: rgba(247, 213, 118, .16); --rec-h-ambre-trait: rgba(247, 213, 118, .5);
  --rec-ic-off: rgba(21, 44, 18, .32); --rec-etoile: #F7D576; --rec-etoile-trait: #B98A12;
}
html[data-theme="sombre"] .rec, html[data-theme="sombre"] .rec-tiroir, html[data-theme="sombre"] .rec-menu {
  --rec-bezel: #000000; --rec-bezel-trait: #2E3A2A;
  --rec-ligne: #1C2619; --rec-ligne-pair: #26331F; --rec-ligne-survol: #33452D; --rec-ligne-trait: rgba(238, 245, 233, .1); --rec-tete: #1C2619; --rec-tete-trait: rgba(238, 245, 233, .24);
  --rec-off-trait: rgba(238, 245, 233, .12); --rec-off-survol: #222E1E;
  --rec-sombre: #EEF5E9; --rec-clair: #152C12;
  --rec-s-regarder: #3A4934; --rec-s-regarder-t: #EEF5E9; --rec-s-entretien: #25321F; --rec-s-entretien-t: #EEF5E9;
  --rec-s-integre: #0D160B; --rec-s-integre-t: #CFF29E; --rec-s-integre-r: rgba(161, 224, 77, .6);
  --rec-s-refuse: rgba(238, 245, 233, .09); --rec-s-refuse-t: #A3B39B; --rec-s-cote-r: #A3B39B; --rec-s-cote-t: #EEF5E9;
  --rec-mb-fond: rgba(238, 245, 233, .08); --rec-mb-ref: rgba(238, 245, 233, .34); --rec-mb-int: #EEF5E9;
  --rec-ic-off: rgba(238, 245, 233, .32); --rec-etoile-trait: #F7D576;
}
.rec { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.rec > * { min-width: 0; }
#rec-msg:empty, .rec-ctl__d:empty { display: none; }

/* 1. la ligne de contrôle (une seule) : à gauche la vue (segment) puis les filtres ; à droite la recherche et l'action principale */
.rec-ctl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; margin: -6px 8px 0; }
.rec-ctl__g { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; min-width: 0; }
.rec-ctl__d { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.rec-onglets button, .rec-otabs button { flex: none; }
.rec-n { margin-left: 7px; font-weight: 800; font-variant-numeric: tabular-nums; opacity: .5; }
.rec-choix { max-width: 280px; gap: 8px; }
.rec-choix small { overflow: hidden; max-width: 170px; color: var(--ink-soft); font-size: .875rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.rec-choix > .i { flex: none; width: 15px; height: 15px; opacity: .6; }
.rec-retour { display: inline-flex; flex: 0 1 auto; align-items: center; gap: 10px; min-width: 0; color: var(--ink-soft); font-size: 1.4rem; font-weight: 700; line-height: 1; text-decoration: none; }
.rec-retour b { overflow: hidden; color: var(--foret); font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.rec-retour:hover b { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rec-otabs { margin-left: 6px; }
.rec-ctl__d > .recherche { flex: 0 1 250px; width: 250px; min-width: 0; margin-left: 0; }
.rec-ctl .btn { height: 40px; padding: 0 18px; white-space: nowrap; }
.rec-ctl .btn .i { width: 16px; height: 16px; }
.rec-copie--ok, .rec .ag-btn.rec-copie--ok { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
#rec-contenu { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
#rec-contenu > div:empty { display: none; }

/* 2. le panneau sous-bois d'Accès : ses pastilles ne coupent jamais la ligne */
.rec-hero .rec-pastille { display: inline-block; max-width: 100%; overflow: hidden; background: var(--rec-h-verre); box-shadow: inset 0 0 0 1px var(--rec-h-verre-trait); color: var(--rec-h-pale); text-overflow: ellipsis; white-space: nowrap; }
.rec-hero .rec-pastille.rc-pastille--cle { background: var(--rec-h-lime-verre); box-shadow: inset 0 0 0 1px var(--rec-h-lime-trait); color: var(--rec-h-lime); } /* les couleurs du panneau, identiques en sombre */

/* 3. les blocs d'offres (En cours, À venir, Passées) : ceux d'Accès ; Passées se déplie au clic sur son en-tête */
.rec-bloc__tete { display: flex; align-items: center; gap: 14px; margin: -6px -8px; padding: 6px 8px; border-radius: 18px; cursor: pointer; }
.rec-bloc__tete .eqa-titre { margin: 0; }
.rec-bloc__tete .eqa-plus { margin-left: auto; }
.rec-bloc__tete:hover .eqa-plus { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-bloc__tete:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec-bloc__tete[aria-expanded="true"] { margin-bottom: 8px; }
.rec-bloc__tete[aria-expanded="true"] .eqa-plus { transform: rotate(90deg); background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-bloc--ferme { padding-bottom: 24px; }
/* une ligne par offre : titre (type en petit), période, canaux, mini-barre et « N reçues · N intégrés », la pastille à faire, le chevron */
.rec-off { display: grid; grid-template-columns: minmax(200px, 1.3fr) 170px 88px minmax(180px, 1fr) 128px 30px; align-items: center; gap: 18px; padding: 14px 10px 14px 14px;
  border-radius: 16px; box-shadow: inset 0 0 0 1px var(--rec-off-trait); color: var(--foret); cursor: pointer; transition: box-shadow .15s, transform .15s, background .15s; }
.rec-off:hover { background: var(--rec-off-survol); box-shadow: inset 0 0 0 1px var(--rec-off-trait), 0 10px 22px -14px rgba(21, 44, 18, .5); transform: translateY(-1px); }
.rec-off:hover .eqa-plus { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-off:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec-off__nom { display: grid; min-width: 0; }
.rec-off__nom b { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rec-off__nom small { overflow: hidden; color: var(--ink-soft); font-size: .78rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.rec-off__date { overflow: hidden; color: var(--ink-soft); font-size: .875rem; font-weight: 600; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.rec-off__pubs { min-width: 0; }
.rec-off__pubs .rec-logos { flex-wrap: nowrap; gap: 6px; } /* les canaux sur une ligne */
.rec-off__barre { display: grid; gap: 6px; min-width: 0; }
.rec-off__barre small { color: var(--ink-soft); font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rec-off__att { display: flex; justify-content: flex-end; min-width: 0; }
.rec-off__att .rec-st { height: 28px; padding: 0 12px; font-size: .78rem; }
.rec-mbarre { display: flex; height: 10px; overflow: hidden; border-radius: 99px; background: var(--rec-mb-fond); }
.rec-mb { display: block; flex: none; height: 100%; }
.rec-mb + .rec-mb { margin-left: 2px; }
.rec-mb--ref { background: var(--rec-mb-ref); } .rec-mb--ctc { background: var(--rec-mb-ctc); } .rec-mb--ent { background: var(--rec-mb-ent); }
.rec-mb--ret { background: var(--rec-mb-ret); } .rec-mb--int { background: var(--rec-mb-int); }

/* 4. le panneau Funnel d'une offre : le panneau sous-bois d'Accès ; 5 étapes chiffrées, l'entonnoir continu, les sorties en pastilles (un clic = un filtre) */
.eqa-hero.rec-fun { display: block; padding: 24px 28px 22px; }
.rec-fun__tete { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 16px; }
.rec-fun__tete .eqa-titre__nom { color: var(--rec-h-blanc); }
.rec-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; margin-left: auto; color: var(--rec-h-pale); font-size: .85rem; font-weight: 700; }
.rec-meta .rec-logo { color: var(--rec-h-pale); }
.rec-meta .rec-logo--sans { opacity: .6; }
.rec-hetat { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: var(--r-pill); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.rec-hetat--ouvert { background: var(--rec-h-lime); color: var(--rec-h-sur-lime); }
.rec-hetat--apublier { background: var(--rec-h-ambre); color: var(--rec-h-sur-lime); }
.rec-hetat--clos { background: var(--rec-h-verre); box-shadow: inset 0 0 0 1px var(--rec-h-verre-trait); color: var(--rec-h-pale); }
.rec-fun__et, .rec-fun__sorties { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); text-align: center; }
.rec-et { display: grid; justify-items: center; gap: 4px; margin: 0 4px; padding: 6px 4px 8px; border: 0; border-radius: 16px; background: none; color: var(--rec-h-blanc); font: inherit; cursor: pointer; transition: background .15s; }
.rec-et:hover { background: var(--rec-h-verre); }
.rec-et:focus-visible { outline: 2px solid var(--rec-h-lime); outline-offset: 2px; }
.rec-et[aria-pressed="true"] { background: var(--rec-h-lime-verre); box-shadow: inset 0 0 0 1px var(--rec-h-lime-trait); }
.rec-et b { color: var(--rec-h-blanc); font-size: 1.9rem; font-weight: 800; line-height: 1.05; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.rec-et span { color: var(--rec-h-pale); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rec-et--cle b { color: var(--rec-h-lime); text-shadow: 0 0 24px rgba(161, 224, 77, .35); }
.rec-fun__svg { display: block; width: 100%; height: 120px; margin: 8px 0 10px; }
.rec-fun__sorties > div { display: flex; flex-wrap: wrap; align-content: flex-start; justify-content: center; gap: 6px; padding: 0 4px; }
.rec-sortie { height: 26px; padding: 0 11px; border: 0; border-radius: var(--r-pill); background: var(--rec-h-verre); box-shadow: inset 0 0 0 1px var(--rec-h-verre-trait); color: var(--rec-h-pale); font: inherit; font-size: .74rem; font-weight: 800; white-space: nowrap; cursor: pointer; transition: background .15s; }
.rec-sortie:hover { background: var(--rec-h-verre-fort); }
.rec-sortie:focus-visible { outline: 2px solid var(--rec-h-lime); outline-offset: 2px; }
.rec-sortie--att { background: var(--rec-h-ambre-verre); box-shadow: inset 0 0 0 1px var(--rec-h-ambre-trait); color: var(--rec-h-ambre); }
.rec-sortie--zero { opacity: .55; }
.rec-sortie[aria-pressed="true"] { background: var(--rec-h-lime); box-shadow: none; color: var(--rec-h-sur-lime); opacity: 1; }

/* 5. les tableaux de candidats : colonnes à largeur fixe (colgroup), une ligne sur deux teintée, un trait entre les lignes, en-tête collant sous le bandeau */
.rec-bloc-k { padding: 18px 18px 12px; }
.rec-bloc__barre { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; }
.rec-filtre-on { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px 0 14px; border: 0; border-radius: var(--r-pill); background: var(--rec-s-entretien); box-shadow: inset 0 0 0 1.5px var(--rec-s-entretien-r); color: var(--rec-s-entretien-t); font: inherit; font-size: .8125rem; font-weight: 800; cursor: pointer; }
.rec-filtre-on .i { width: 14px; height: 14px; stroke-width: 2.6; }
.rec-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: .875rem; }
.rec-table th, .rec-table td { height: 52px; padding: 0 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
.rec-table thead th { position: sticky; top: var(--entete-h, 64px); z-index: 3; height: 44px; padding: 0; background: var(--rec-tete); box-shadow: inset 0 -1.5px 0 var(--rec-tete-trait); color: var(--ink-soft); text-align: left; }
.rec-table tbody td { border-bottom: 1px solid var(--rec-ligne-trait); background: var(--rec-ligne); }
.rec-table tbody tr.rec-pair td { background: var(--rec-ligne-pair); }
.rec-table tbody tr[data-id] { cursor: pointer; }
.rec-table tbody tr[data-id]:hover td { background: var(--rec-ligne-survol); }
.rec-table tbody tr[data-id]:hover .eqa-plus { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-table tbody tr:last-child td { border-bottom: 0; }
.rec-table tbody tr:focus-visible { outline: 0; }
.rec-table tbody tr:focus-visible td { background: var(--rec-ligne-survol); box-shadow: inset 0 2px 0 var(--lime), inset 0 -2px 0 var(--lime); }
.rec-table tbody tr.rec-sans td { height: auto; background: var(--rec-ligne); }
/* le tri : tout l'en-tête est un bouton (▲ ▼ sur la colonne triée) */
.rec-tri { display: flex; align-items: center; gap: 6px; width: 100%; height: 100%; padding: 0 12px; border: 0; background: none; color: inherit; font: inherit; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; cursor: pointer; }
.rec-tri:hover, .rec-tri--on { color: var(--foret); }
.rec-tri:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.rec-tri__f { color: var(--foret); font-size: .65rem; letter-spacing: 0; }
.rec-c-offre > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rec-c-nom b { color: var(--foret); font-weight: 800; }
.rec-c-offre, .rec-c-recue { color: var(--ink-soft); font-weight: 600; }
.rec-c-recue { font-variant-numeric: tabular-nums; }
.rec-c-tel { color: var(--foret); font-weight: 600; font-variant-numeric: tabular-nums; }
.rec-attente { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: var(--r-pill); background: var(--rec-s-contacter); color: var(--rec-s-contacter-t); font-size: .72rem; font-style: normal; font-weight: 800; vertical-align: 1px; }
.rec-c-statut .rec-st { width: 140px; justify-content: space-between; height: 30px; padding: 0 10px 0 12px; font-size: .78rem; }
.rec-c-statut span.rec-st { justify-content: center; }
.rec-c-statut .rec-st .i { width: 13px; height: 13px; stroke-width: 2.6; opacity: .7; }
.rec-ics { display: flex; align-items: center; gap: 8px; }
.rec-ic { display: inline-grid; flex: none; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--rec-ic-off); text-decoration: none; }
.rec-ic .i { width: 16px; height: 16px; }
.rec-ic--on { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-ic--pale { background: var(--rec-s-refuse); color: var(--rec-s-refuse-t); }
button.rec-ic, a.rec-ic { cursor: pointer; }
button.rec-ic:hover, a.rec-ic:hover { filter: brightness(1.06); box-shadow: 0 6px 14px -8px rgba(21, 44, 18, .7); }
button.rec-ic:focus-visible, a.rec-ic:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec-c-chev { width: 54px; text-align: right; }
.rec-col-chev { width: 54px; }
.rec-c-chev .eqa-plus { color: var(--foret); }

/* 6. les pastilles de statut (RECRUTEMENT5-2210) : pleines, une teinte = un sens. Ambre = attend une décision (À trier, À décider) ; gris neutre = À appeler ;
   rosée contour lime = Entretien prévu ; lime = Retenu ; forêt = Intégré ; Écarté = gris pâle, une croix et sa raison */
.rec-st { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 30px; padding: 0 14px; border: 0; border-radius: var(--r-pill); font: inherit; font-size: .8125rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.rec-st > span { overflow: hidden; padding: 3px 0; line-height: 1.2; text-overflow: ellipsis; } /* l'accent de « À » n'est jamais coupé */
.rec-st .i { flex: none; width: 14px; height: 14px; stroke-width: 3; }
.rec-st--trier, .rec-st--decider { background: var(--rec-s-contacter); color: var(--rec-s-contacter-t); }
.rec-st--appeler { background: var(--rec-s-regarder); color: var(--rec-s-regarder-t); }
.rec-st--prevu { background: var(--rec-s-entretien); box-shadow: inset 0 0 0 1.5px var(--rec-s-entretien-r); color: var(--rec-s-entretien-t); }
.rec-st--retenu { background: var(--grad-lime); color: var(--rec-s-retenu-t); } /* un dégradé : jamais dans une variable --rec-* (sombre.py en ferait une couleur) */
.rec-st--integre { background: var(--rec-s-integre); box-shadow: inset 0 0 0 1px var(--rec-s-integre-r); color: var(--rec-s-integre-t); }
.rec-st--ecarte { background: var(--rec-s-refuse); color: var(--rec-s-refuse-t); }
.rec-st--ecarte .i { stroke-width: 2.6; opacity: .75; }
button.rec-st { cursor: pointer; }
button.rec-st:hover { filter: brightness(1.05); }
.rec-pt { flex: none; width: 9px; height: 9px; border-radius: 50%; }
.rec-pt--ouvert { background: var(--lime); }
.rec-pt--apublier { background: #E0A92E; }
.rec-pt--clos { background: #9AA595; }
.rec-pt--s-trier, .rec-pt--s-decider { background: var(--rec-s-contacter); } .rec-pt--s-appeler { background: var(--rec-s-regarder); box-shadow: inset 0 0 0 1.5px var(--rec-s-cote-r); }
.rec-pt--s-prevu { background: var(--rec-s-entretien); box-shadow: inset 0 0 0 1.5px var(--rec-s-entretien-r); } .rec-pt--s-retenu { background: var(--grad-lime); }
.rec-pt--s-integre { background: var(--rec-mb-int); } .rec-pt--s-ecarte { background: var(--rec-mb-ref); }
.rec-menu .rec-menu__etat > .i:first-child { margin: 0; padding: 0; color: var(--rec-etoile); fill: var(--rec-etoile); stroke: var(--rec-etoile-trait); }
/* l'étoile (le vivier) : devant le nom, sur la ligne et dans le tiroir ; pleine = dans le vivier */
.rec-qui { display: flex; align-items: center; gap: 8px; min-width: 0; }
.rec-qui > b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rec-etoile { display: inline-grid; flex: none; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--rec-ic-off); cursor: pointer; }
.rec-etoile .i { width: 17px; height: 17px; }
span.rec-etoile { cursor: default; }
.rec-etoile--vide { width: 28px; }
button.rec-etoile:hover { background: var(--rec-s-refuse); color: var(--rec-etoile-trait); }
.rec-etoile--on, button.rec-etoile--on:hover { color: var(--rec-etoile-trait); }
.rec-etoile--on .i { fill: var(--rec-etoile); stroke: var(--rec-etoile-trait); }
button.rec-etoile:focus-visible { outline: 2px solid var(--lime); outline-offset: 1px; }
/* ✓ / ✕ sur la ligne d'un candidat à trier ou à décider */
.rec-dec { display: inline-flex; gap: 6px; margin-left: 6px; padding-left: 10px; box-shadow: inset 1px 0 0 var(--rec-ligne-trait); }
.rec-dec__b { display: inline-grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; }
.rec-dec__b .i { width: 15px; height: 15px; stroke-width: 2.8; }
.rec-dec__b--oui { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-dec__b--non { background: var(--rec-s-refuse); color: var(--rec-s-refuse-t); }
.rec-dec__b:hover { filter: brightness(1.06); box-shadow: 0 6px 14px -8px rgba(21, 44, 18, .7); }
.rec-dec__b:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec-statuts__raison { color: var(--ink-soft); font-size: .875rem; font-weight: 700; }
.rec-changer { height: 32px; margin-left: auto; }
.rec-changer .i { width: 14px; height: 14px; opacity: .6; }
.rec-action { padding: 12px; }
.rec-action .rec-statuts__dec .btn { flex: 1 1 0; height: 46px; font-size: .95rem; }
/* le tiroir : oui / non d'abord (à trier, à décider), les statuts, puis « Écarté » et ses raisons */
.rec-statuts { display: grid; gap: 10px; }
.rec-statuts__dec { display: flex; flex-wrap: wrap; gap: 8px; }
.rec-statuts__dec .btn { height: 40px; padding: 0 16px; }
.rec-statuts__dec .btn .i { width: 16px; height: 16px; stroke-width: 2.6; }
.btn.rec-oui-dec { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-statuts__l { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rec-statuts__titre { margin-right: 4px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rec-cand__tete #rec-etoile-t:empty { display: none; }
.rec-cand__tete #rec-etoile-t .rec-etoile { width: 34px; height: 34px; }
.rec-cand__tete #rec-etoile-t .rec-etoile .i { width: 22px; height: 22px; }

/* les logos des canaux : au trait, couleur du texte (forêt) ; gris quand l'annonce n'a pas de lien ; jamais de carré de couleur */
.rec-logos { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; vertical-align: middle; }
.rec-logo { display: inline-grid; flex: none; place-items: center; min-width: 20px; height: 22px; color: var(--foret); text-decoration: none; transition: opacity .15s; }
.rec-logo .i { width: 17px; height: 17px; }
a.rec-logo:hover { opacity: .7; }
.rec-wttj { font-size: .66rem; font-weight: 900; letter-spacing: .05em; line-height: 1; }
.rec-logo--sans { color: var(--ink-soft); opacity: .55; }

/* les menus maison (statut d'une ligne, poste) et la confirmation de suppression */
.rec-menu { position: fixed; z-index: 60; display: grid; gap: 4px; min-width: 176px; padding: 8px; border-radius: 18px; background: var(--blanc); box-shadow: 0 22px 44px -18px rgba(21, 44, 18, .6), inset 0 0 0 1px var(--trait); }
.rec-menu .rec-st { width: 100%; justify-content: flex-start; height: 34px; }
.rec-menu__action { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border: 0; border-radius: 12px; background: none; color: var(--foret); font: inherit; font-size: .8125rem; font-weight: 800; text-align: left; cursor: pointer; }
.rec-menu__action:hover, .rec-menu__action:focus-visible { background: var(--rosee); outline: none; }
.rec-menu__action .i { width: 15px; height: 15px; }
.rec-menu__integrer { margin-top: 4px; border-top: 1px solid var(--trait); border-radius: 0 0 12px 12px; }
.rec-menu__suppr { color: #A33A22; font-weight: 700; }
.rec-menu__suppr:hover, .rec-menu__suppr:focus-visible { background: #FBEDEA; }
.rec-menu__etat { display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 12px; border: 0; border-radius: 12px; background: none; color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; text-align: left; white-space: nowrap; cursor: pointer; }
.rec-menu__etat:hover, .rec-menu__etat:focus-visible { background: var(--rosee); outline: none; }
.rec-menu__etat .i { width: 15px; height: 15px; margin-left: auto; padding-left: 10px; stroke-width: 2.6; }
.rec-menu__groupe { margin: 8px 0 2px; padding: 0 12px; color: var(--ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rec-menu__groupe:first-child { margin-top: 2px; }
.rec-menu__n { margin-left: auto; padding-left: 14px; color: var(--ink-soft); font-weight: 800; font-variant-numeric: tabular-nums; }
.rec-menu__n + .i { margin-left: 0; }
.rec-menu { max-height: min(70vh, 520px); overflow-y: auto; }
.rec-confirme { gap: 12px; max-width: min(340px, calc(100vw - 16px)); padding: 16px; }
.rec-confirme__q { margin: 0; color: var(--foret); font-size: .9375rem; font-weight: 600; line-height: 1.4; }
.rec-confirme__q b { font-weight: 800; }
.rec-confirme__b { display: flex; flex-wrap: wrap; gap: 8px; }
.rec-confirme .msg:empty { display: none; }
.btn.rec-oui { background: var(--rec-danger); color: var(--rec-sur-danger); box-shadow: none; } /* variables : le mode sombre calculé n'y touche pas (texte blanc sur rouge) */
.btn.rec-oui:hover { background: var(--rec-danger-fonce); filter: none; }

/* états vides */
.rec-vide { display: grid; justify-items: center; gap: 12px; padding: 44px 16px; text-align: center; }
.rec-vide__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--rosee); color: var(--foret); }
.rec-vide__ic .i { width: 24px; height: 24px; }
.rec-vide p { margin: 0; color: var(--ink-soft); font-weight: 700; }

/* 4. une offre : ses onglets Fiche de poste, Page de candidature, Vidéo du poste (une surface chacun ; la fiche en lecture confortable) */
.rec-board { display: grid; justify-items: center; gap: 18px; padding: 20px 24px 28px; }
.rec-board__outils { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; max-width: 680px; }
.rec-board__hote { margin-left: auto; overflow: hidden; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.rec-board .rec-vide { width: 100%; padding: 32px 16px; }
.rec-fiche { display: block; width: 100%; max-width: 680px; color: var(--foret); font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
.rec-fiche p { margin: 0 0 8px; }
.rec-fiche p:has(> br:only-child) { height: 12px; margin: 0; overflow: hidden; }
.rec-fiche strong, .rec-fiche b { font-weight: 800; }
.rec-fiche h2, .rec-fiche h3, .rec-fiche h4 { margin: 18px 0 8px; font-size: 1.1rem; font-weight: 800; }
.rec-fiche ul, .rec-fiche ol { margin: 4px 0 10px; padding-left: 22px; }
.rec-fiche li { margin: 5px 0; padding-left: 2px; }
.rec-fiche li::marker { color: var(--ink-soft); }
.rec-fiche a { color: var(--foret); font-weight: 700; }

/* 5. Page de candidature et Vidéo du poste : l'aperçu dans un téléphone (390 × 844, mis à l'échelle) */
.rec-apercu { display: grid; justify-items: center; width: 100%; }
.rec-tel-cadre { --s: .8; flex: none; width: calc(414px * var(--s)); height: calc(868px * var(--s)); }
.rec-tel-corps { width: 414px; height: 868px; padding: 12px; border-radius: 62px; background: var(--rec-bezel); box-shadow: inset 0 0 0 2px var(--rec-bezel-trait), 0 34px 60px -30px rgba(21, 44, 18, .85); transform: scale(var(--s)); transform-origin: 0 0; }
.rec-tel-ecran { width: 390px; height: 844px; overflow: hidden; border-radius: 50px; background: var(--rec-ecran); }
.rec-tel-ecran iframe { display: block; width: 100%; height: 100%; border: 0; }
.rec-tel-ecran video { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--rec-bezel); }

/* 6. le tiroir (celui de « Ajouter un membre », un peu plus étroit) */
.eqm.rec-tiroir { width: min(520px, 100vw); }
.eqm.rec-tiroir--form { width: min(620px, 100vw); }
body:has(.rec-tiroir[open]) { overflow: hidden; }
.rec-carte { display: grid; gap: 10px; padding: 14px 16px; border-radius: 18px; background: var(--blanc); }
.rec-carte.saisie { gap: 8px; }
.rec-cand__tete { padding-right: 46px; }
.rec-cand__qui { display: grid; flex: 1; min-width: 0; }
.rec-cand__qui h2 { margin: 0; font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; overflow-wrap: anywhere; }
.rec-cand__qui small { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.rec-nav { display: inline-flex; flex: none; align-items: center; gap: 2px; }
.rec-nav__b { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .08); color: var(--foret); cursor: pointer; }
.rec-nav__b:hover:not(:disabled) { background: var(--grad-lime); color: var(--foret); }
.rec-nav__b:disabled { opacity: .35; cursor: default; }
.rec-nav__b .i { width: 16px; height: 16px; }
.rec-nav__n { min-width: 42px; color: var(--ink-soft); font-size: .78rem; font-weight: 800; text-align: center; font-variant-numeric: tabular-nums; }
.rec-statuts .rec-st[aria-pressed="false"] { background: transparent; box-shadow: inset 0 0 0 1.5px var(--trait); color: var(--ink-soft); }
.rec-statuts .rec-st[aria-pressed="false"]:hover { background: var(--blanc); color: var(--foret); filter: none; }
.rec-video { place-items: center; }
.rec-video video { display: block; width: 100%; max-width: 360px; max-height: 60vh; border-radius: 14px; background: #051A06; }
.rec-video .vide { padding: 18px 8px; font-weight: 600; }
.rec-notes textarea { min-height: 112px; }
.rec-notes small { min-height: 1.2em; color: var(--ink-soft); font-size: .78rem; font-weight: 600; }
.rec-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rec-contact__mail { flex: 1 1 100%; overflow: hidden; color: var(--foret); font-size: .9375rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.rec-reponses { gap: 12px; }
.rec-rep { display: grid; gap: 2px; }
.rec-rep__q { margin: 0; color: var(--ink-soft); font-size: .75rem; font-weight: 700; line-height: 1.35; }
.rec-rep__r { margin: 0; color: var(--foret); font-size: .9375rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-line; }
.rec-rep__r a { color: var(--foret); text-decoration: underline; }
.rec-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rec-contact__num { margin-right: auto; color: var(--foret); font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: .01em; white-space: nowrap; }
.rec-contact .btn { padding: 9px 14px; }
.rec-contact .btn .i, .rec-actions .btn .i, .rec-gros .i, .rec-ok .i { width: 16px; height: 16px; }
.rec-gros { width: 100%; height: 50px; font-size: 1rem; }
.rec-form select { width: 100%; height: 42px; padding: 0 12px; border: 1.5px solid var(--trait); border-radius: 12px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .9375rem; font-weight: 500; }
.rec-tiroir .rec-form .actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 4px; }
.rec-ok { display: flex; align-items: center; gap: 10px; }
.rec-ok .i { stroke-width: 3; }
#rec-integrer { display: grid; gap: 10px; }
#rec-integrer:empty { display: none; }
.rec-tiroir #rec-integrer .actions, .rec-tiroir .rec-form .actions { position: static; margin: 0; padding: 0; background: none; } /* seule la barre « Enregistrer » du bas reste collée */
/* ENTRETIEN-2110 : proposer un entretien, les entretiens d'un candidat */
.rec-proposer { justify-self: start; }
.rec-proposer .i { width: 16px; height: 16px; }
#rec-proposer { display: grid; gap: 8px; }
#rec-proposer:empty, #rec-proposer .msg:empty { display: none; }
.rec-lien-perso { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.rec-lien-perso__url { display: inline-flex; flex: 1 1 160px; align-items: center; gap: 8px; min-width: 0; color: var(--ink-soft); font-size: .875rem; font-weight: 700; }
.rec-lien-perso__url span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rec-lien-perso__url .i, .rec-lien-perso__b .btn .i, .rec-ent .btn .i { width: 16px; height: 16px; }
.rec-lien-perso__b { display: flex; flex-wrap: wrap; gap: 8px; }
.rec-lien-perso__b .btn { padding: 9px 14px; }
.rec-entretiens { gap: 0; }
.rec-entretiens .rec-carte__titre { margin-bottom: 4px; }
.rec-ent { display: grid; gap: 10px; padding: 12px 0; border-top: 1px solid var(--trait); }
.rec-ent:first-of-type { border-top: 0; padding-top: 6px; }
.rec-ent__l { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.rec-ent__l b { color: var(--foret); font-weight: 800; }
.rec-ent__l > span:not(.puce) { color: var(--ink-soft); font-size: .875rem; font-weight: 600; }
.rec-ent__b { margin-left: auto; padding: 7px 14px; }
.rec-revoir { justify-self: start; }
.rec-ent__plus summary { display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; color: var(--foret); font-size: .875rem; font-weight: 800; list-style: none; cursor: pointer; }
.rec-ent__plus summary::-webkit-details-marker { display: none; }
.rec-ent__plus summary .i { width: 15px; height: 15px; transition: transform .15s; }
.rec-ent__plus[open] summary .i { transform: rotate(90deg); }
.rec-ent__resume { display: grid; gap: 6px; padding: 6px 0 2px 21px; color: var(--foret); font-size: .875rem; line-height: 1.5; }
.rec-ent__resume p { margin: 0; }
.rec-ent__resume b { font-weight: 800; }
.rec-ent__transcription { max-height: 320px; margin: 6px 0 0 21px; padding: 10px 12px; overflow-y: auto; border-radius: 12px; background: #F4F6F3; color: var(--foret); font-size: .8125rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.rec-suppr { display: grid; padding-bottom: 22px; }
.rec-suppr:empty { display: none; }
.rec-suppr__b { display: inline-flex; justify-self: start; align-items: center; gap: 7px; height: 34px; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: none; color: var(--ink-soft); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; }
.rec-suppr__b:hover { background: #FBEDEA; color: #A33A22; }
.rec-suppr__b .i { width: 15px; height: 15px; }
.rec-suppr .rec-confirme { max-width: none; }
.rec-cand { padding-bottom: 0; }
.rec-cand:not(:has(.rec-suppr:not(:empty))) { padding-bottom: 22px; }
.rec-tiroir .eqa-seg.rec-seg2 { align-self: start; height: 42px; box-sizing: border-box; align-items: center; }
.rec-tiroir .eqa-seg.rec-seg2 button { height: 34px; padding: 0 13px; font-size: .8125rem; }
.rec-tiroir .eqa-seg.rec-seg2 button[aria-pressed="true"] { background: var(--foret); color: var(--rosee); box-shadow: none; }
.rec-form__2 { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 10px 12px; }
.rec-form__2--egal { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.rec-carte__titre { margin: 0; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.rec-pubs { display: grid; gap: 8px; }
.rec-pubs:empty { display: none; }
.rec-pub { display: grid; grid-template-columns: 176px minmax(0, 1fr) 134px 32px; align-items: center; gap: 8px; }
.rec-pub select, .rec-pub input { width: 100%; height: 40px; padding: 0 10px; border: 1.5px solid var(--trait); border-radius: 12px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .875rem; font-weight: 500; }
.rec-pub select:focus, .rec-pub input:focus { border-color: var(--lime); outline: 2px solid var(--lime); }
.rec-pub__x { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--ink-soft); cursor: pointer; }
.rec-pub__x:hover { background: #FBEDEA; color: #8A2A14; }
.rec-pub__x .i { width: 15px; height: 15px; }
.rec-pub-plus { justify-self: start; margin-left: 0; }
.rec-aide { color: var(--ink-soft); font-size: .75rem; font-weight: 600; }
.rec-form-poste textarea[name="fiche"] { min-height: 300px; font-size: .9rem; line-height: 1.5; }

/* 7. tablette : la ligne d'une offre sans ses canaux, le funnel un peu plus serré */
@media (max-width: 1100px) {
  .rec-off { grid-template-columns: minmax(180px, 1.3fr) 150px minmax(150px, 1fr) 120px 30px; gap: 14px; }
  .rec-off__pubs { display: none; }
}

/* 8. téléphone : la ligne de contrôle sur deux lignes, les offres et les candidats en lignes empilées, tiroirs plein écran */
@media (max-width: 760px) {
  .rec-ctl { margin: -6px 0 0; }
  .rec-ctl__g { flex: 1 1 100%; flex-wrap: wrap; gap: 8px; }
  .rec-ctl__d { flex: 1 1 100%; margin-left: 0; }
  .rec-ctl__d > .recherche { flex: 1 1 auto; width: auto; }
  .rec--offre .rec-ctl { flex-wrap: nowrap; }
  .rec--offre .rec-ctl__g { flex: 1 1 auto; }
  .rec--offre .rec-ctl__d { flex: none; }
  .rec-retour { flex: 1 1 100%; }
  .rec-otabs { max-width: 100%; margin-left: 0; overflow-x: auto; scrollbar-width: none; }
  .rec-otabs::-webkit-scrollbar { display: none; }
  .rec-long { display: none; }
  .rec-modifier { width: 40px; padding: 0 !important; } .rec-modifier span { display: none; } /* Modifier : l'icône seule */
  .rec-nouveau { width: 40px; padding: 0 !important; } .rec-nouveau span { display: none; } /* Nouvelle offre : l'icône seule, la recherche prend la ligne */
  .rec-ctl__d > .recherche { min-width: 0; }
  .rec-choix { height: 36px; padding: 0 12px; font-size: .8125rem; }
  .rec-choix small { max-width: 110px; font-size: .8125rem; }
  .rec-hero .rec-pastille { display: none; }
  .rec-bloc__tete { margin: -4px -4px; padding: 4px; }
  /* une offre : le titre et la pastille, puis la période ; la barre en dessous */
  .rec-off { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 12px; }
  .rec-off__nom { grid-column: 1; grid-row: 1; }
  .rec-off__att { grid-column: 2; grid-row: 1; }
  .rec-off__date { grid-column: 1 / -1; grid-row: 2; font-size: .8125rem; }
  .rec-off__barre { grid-column: 1 / -1; grid-row: 3; }
  .rec-off__pubs, .rec-off > .eqa-plus { display: none; }
  /* le funnel : la tête sur deux lignes, des étapes plus petites */
  .eqa-hero.rec-fun { padding: 18px 12px 16px; }
  .rec-meta { flex: 1 1 100%; justify-content: flex-start; margin-left: 0; gap: 6px 12px; font-size: .78rem; }
  .rec-et { margin: 0 1px; padding: 4px 0 6px; }
  .rec-et b { font-size: 1.35rem; }
  .rec-et span { font-size: .52rem; letter-spacing: .04em; }
  .rec-fun__svg { height: 80px; }
  .rec-fun__sorties > div { flex-direction: column; align-items: center; gap: 4px; padding: 0 1px; }
  .rec-sortie { height: 24px; padding: 0 7px; font-size: .64rem; }
  /* les candidats en lignes empilées : Prénom NOM et le statut, puis offre · reçue · téléphone */
  .rec-bloc-k { padding: 12px 8px 8px; }
  .rec-table--k, .rec-table--k tbody { display: block; width: 100%; }
  .rec-table--k colgroup, .rec-table--k thead { display: none; }
  .rec-table--k tbody tr { position: relative; display: grid; grid-template-columns: minmax(0, max-content) max-content max-content minmax(136px, 1fr); align-items: center; row-gap: 4px; padding: 10px 12px; border-bottom: 1px solid var(--rec-ligne-trait); border-radius: 12px; background: var(--rec-ligne); }
  .rec-table--k tbody tr.rec-pair { background: var(--rec-ligne-pair); }
  .rec-table--k tbody tr[data-id]:hover, .rec-table--k tbody tr:focus-visible { background: var(--rec-ligne-survol); }
  .rec-table--k tbody tr:last-child { border-bottom: 0; }
  .rec-table--k tbody td, .rec-table--k tbody tr:hover td, .rec-table--k tbody tr.rec-pair td, .rec-table--k tbody tr:focus-visible td { height: auto; padding: 0; border: 0; background: none; box-shadow: none; }
  .rec-table--k tbody td.rec-c-nom, .rec-table--k tbody td.rec-c-offre, .rec-table--k tbody td.rec-c-recue, .rec-table--k tbody td.rec-c-tel { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rec-table--k tbody tr[data-id] td.rec-c-nom { grid-column: 1 / -1; grid-row: 1; display: flex; align-items: center; min-height: 30px; font-size: .9375rem; white-space: normal; } /* le nom en entier, sur sa ligne */
  .rec-table--k tbody td.rec-c-nom > b { min-width: 0; }
  .rec-table--k tbody td.rec-c-statut { grid-column: 4; grid-row: 2; justify-self: end; display: block; overflow: visible; }
  .rec-table--k .rec-c-statut .rec-st { width: 132px; }
  .rec-table--k tbody td.rec-c-offre, .rec-table--k tbody td.rec-c-recue, .rec-table--k tbody td.rec-c-tel { grid-row: 2; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
  .rec-table--k tbody td.rec-c-offre { grid-column: 1; } .rec-table--k tbody td.rec-c-recue { grid-column: 2; } .rec-table--k tbody td.rec-c-tel { grid-column: 3; }
  .rec-table--k .rec-c-offre + .rec-c-recue::before, .rec-table--k .rec-c-tel::before { content: "·"; margin: 0 6px; } /* dans une offre, pas de colonne Offre : la ligne commence par la date */
  .rec-table--k tbody td.rec-c-ic, .rec-table--k tbody td.rec-c-chev { display: none; }
  .rec-table--k tbody tr.rec-sans { display: block; }
  .rec-table--k tbody tr.rec-sans td { padding: 20px 8px; }
  .rec-table--k .rec-qui > b { overflow: visible; white-space: normal; overflow-wrap: anywhere; }
  .rec-board { padding: 16px 14px 22px; }
  .rec-board__hote { display: none; }
  .rec-cand__qui h2 { font-size: 1.2rem; }
  .rec-video video { max-height: 44vh; }
  .eqm.rec-tiroir, .eqm.rec-tiroir--form { width: 100vw; height: 100dvh; padding: 16px 16px 0; border-radius: 0; }
  .rec-tiroir .rec-form-poste .actions { margin: 0 -16px; padding: 14px 16px 18px; }
  .rec-contact__num { flex: 1 1 100%; margin: 2px 0 4px; }
  .rec-contact .btn { flex: 1 1 0; }
  .rec-form__2, .rec-form__2--egal { grid-template-columns: minmax(0, 1fr); }
  .rec-pub { grid-template-columns: minmax(0, 1fr) 134px 32px; }
  .rec-pub input[name="lien"] { grid-column: 1 / -1; grid-row: 2; }
}

/* COACHING-2210 : la fiche replay d'un appel d'équipe passé (Calendrier) : vidéo, sujets cliquables, lien vers SOP › Sales coaching */
.ag-replay { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 18px; border: 0; border-radius: 28px; background: var(--blanc); color: var(--foret); box-shadow: 0 30px 60px -30px rgba(21, 44, 18, .6); }
.ag-replay::backdrop { background: rgba(21, 44, 18, .28); backdrop-filter: blur(10px); }
.ag-replay__tete { display: flex; align-items: baseline; gap: 10px; margin: 0 4px 14px; }
.ag-replay__tete b { font-size: 1.0625rem; font-weight: 800; }
.ag-replay__tete span { color: var(--ink-soft); font-size: .875rem; }
.ag-replay__x { margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; cursor: pointer; }
.ag-replay video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 18px; background: #0d1a0b; }
.ag-replay__sujets { display: grid; gap: 2px; max-height: 240px; margin: 14px 0; padding: 0; overflow-y: auto; list-style: none; }
.ag-replay__sujets button { display: grid; grid-template-columns: 10px 44px minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 0; border-radius: 12px; background: transparent; color: var(--foret); font: inherit; font-size: .875rem; text-align: left; cursor: pointer; }
.ag-replay__sujets button:hover { background: var(--rosee); }
.ag-replay__sujets i { width: 10px; height: 10px; border-radius: 50%; background: var(--ph); }
.ag-replay__sujets time { color: var(--ink-soft); font-size: .8125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.ag-replay__ouvrir { width: 100%; }

/* AGDETAIL-2210 (22/10) : la petite fenêtre d'un événement du Calendrier, posée à côté de la carte cliquée */
.ag-pop { position: fixed; z-index: 80; width: 348px; max-width: calc(100vw - 24px); padding: 14px 16px 16px; border-radius: 22px; background: var(--blanc); color: var(--foret); box-shadow: 0 24px 50px -22px rgba(21, 44, 18, .55), 0 0 0 1px var(--trait); }
.ag-pop__haut { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ag-pop__haut b { overflow: hidden; font-size: 1rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.ag-pop__pill { flex: none; padding: 2px 8px; border-radius: var(--r-pill); background: #EEF1EC; font-size: .75rem; font-weight: 700; }
.ag-pop__pill--ok { background: var(--lime); }
.ag-pop__pill--ko { background: var(--ambre); }
.ag-pop__quand { flex: none; margin-left: auto; color: var(--ink-soft); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.ag-pop__x { flex: none; display: grid; place-items: center; width: 28px; height: 28px; margin-left: auto; border: 0; border-radius: 50%; background: transparent; color: var(--ink-soft); font: inherit; cursor: pointer; }
.ag-pop__quand + .ag-pop__x { margin-left: 2px; }
.ag-pop__x:hover { background: rgba(21, 44, 18, .07); color: var(--foret); }
.ag-pop__charge { margin: 10px 0 0; color: var(--ink-soft); }
.ag-pop__l { display: grid; gap: 7px; margin: 12px 0 0; padding: 0; list-style: none; font-size: .875rem; }
.ag-pop__l li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ag-pop__l li > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-pop__l svg, .ag-pop__b svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ag-pop__l svg { color: var(--ink-soft); }
.ag-pop__tete { flex: none; width: 24px; height: 24px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--blanc); }
.ag-pop__tete--vide { background: #DCE2DA; }
.ag-pop__qui { margin-left: -4px; }
.ag-pop__tetes { display: flex; align-items: center; margin: 12px 0 0 4px; }
.ag-pop__tetes .ag-pop__tete { width: 28px; height: 28px; margin-left: -6px; }
.ag-pop__plus { margin-left: 6px; color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.ag-pop__sujets { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ag-pop__sujets span { max-width: 100%; overflow: hidden; padding: 3px 9px; border-radius: var(--r-pill); background: var(--rosee); font-size: .75rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ag-pop__bas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ag-pop__b { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 13px; border: 1px solid var(--trait); border-radius: var(--r-pill); background: var(--blanc); color: var(--foret); font: inherit; font-size: .8125rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.ag-pop__b:hover { background: var(--rosee); }
.ag-pop__b--fort { border-color: var(--lime); background: var(--lime); }
.ag-pop__b--fort:hover { background: #B4E86C; }
.ag-pop__prep { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }

/* COACHING3-2210 : l'icône SOP de Sales ouvre un menu qui se déroule (Carte des process · Appels de référence · Sales coaching) ; dans la SOP,
   l'icône devient une pilule avec le nom du sous-onglet */
.zone .onglets .onglet-sop { margin-left: auto; } /* tout à droite de la barre, comme avant */
.entete--bandeau .onglets .onglet-sop { display: inline-flex; align-items: center; justify-content: center; flex: none; gap: 4px; height: 40px; padding: 0; border: 0; border-radius: 12px;
  background: none; color: var(--ink-soft); font: inherit; cursor: pointer; transition: background .15s, color .15s; }
.entete--bandeau .onglets .onglet-sop:hover, .entete--bandeau .onglets .onglet-sop[aria-expanded="true"] { background: rgba(21, 44, 18, .06); color: var(--foret); }
.entete--bandeau .onglets .onglet-sop .onglet-sop__fleche { width: 13px; height: 13px; stroke-width: 2.4; transition: transform .2s ease; }
.entete--bandeau .onglets .onglet-sop[aria-expanded="true"] .onglet-sop__fleche { transform: rotate(180deg); }
.entete--bandeau .onglets .onglet-sop:not([aria-current]) { width: 54px; }
.entete--bandeau .onglets .onglet-sop[aria-current], .entete--bandeau .onglets .onglet-sop[aria-current]:hover { width: auto; gap: 8px; padding: 0 12px 0 14px; border-radius: 999px; background: var(--grad-lime); color: var(--foret); font-size: .875rem; font-weight: 800; white-space: nowrap; }
.sop-menu { min-width: 250px; transform-origin: top right; animation: sopm-deroule .22s cubic-bezier(.2, .8, .2, 1); }
.sop-menu__choix { gap: 12px; text-decoration: none; }
.sop-menu__choix > svg { order: -1; margin: 0; padding: 0; width: 18px; height: 18px; stroke: var(--foret); stroke-width: 1.8; }
.sop-menu__choix[aria-current] { background: var(--rosee); }
@keyframes sopm-deroule { from { opacity: 0; transform: translateY(-6px) scale(.96); clip-path: inset(0 0 100% 0 round 16px); } to { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 16px); } }
@media (prefers-reduced-motion: reduce) { .sop-menu { animation: none; } }

/* NOUVEAUTES-2210 : la fenêtre « Nouveau » après une mise à jour (tête sous-bois comme les héros, capture, une ligne, points d'étape) */
.nv { width: min(720px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 0; overflow: auto; border: 0; border-radius: var(--r-board); background: var(--blanc); color: var(--foret); box-shadow: 0 30px 60px -30px rgba(21, 44, 18, .6); }
.nv::backdrop { background: rgba(21, 44, 18, .32); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.nv__tete { display: flex; align-items: center; gap: 14px; padding: 20px 22px; background: radial-gradient(120% 160% at 100% 0%, rgba(161, 224, 77, .2) 0%, rgba(161, 224, 77, 0) 50%), var(--grad-sousbois); color: #FFFFFF; }
.nv__tuile { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: rgba(161, 224, 77, .16); color: var(--lime); }
.nv__tuile svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nv__titre { display: grid; gap: 4px; min-width: 0; }
.nv__titre b { font-size: 1.25rem; font-weight: 800; line-height: 1.2; }
.nv__pastille { justify-self: start; padding: 2px 10px; border-radius: var(--r-pill); background: var(--lime); color: var(--foret); font-size: .75rem; font-weight: 800; letter-spacing: .02em; }
.nv__x { flex: none; align-self: flex-start; width: 32px; height: 32px; margin-left: auto; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #FFFFFF; font: inherit; cursor: pointer; }
.nv__x:hover { background: rgba(255, 255, 255, .18); }
.nv__corps { display: grid; gap: 6px; padding: 20px 22px 4px; }
.nv__image { display: block; width: 100%; aspect-ratio: 16 / 9; margin-bottom: 10px; border-radius: 18px; object-fit: contain; background: var(--lichen); box-shadow: inset 0 0 0 1px var(--trait); }
.nv__duo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 10px; }
.nv__cote { display: grid; gap: 8px; justify-items: start; }
.nv__cote .nv__image { margin: 0; }
.nv__cote:not(.nv__cote--apres) .nv__image { filter: saturate(.55); opacity: .8; }
.nv__marque { padding: 2px 10px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font-size: .75rem; font-weight: 800; }
.nv__cote--apres .nv__marque { background: var(--lime); }
.nv__etape { font-size: 1.0625rem; font-weight: 800; }
.nv__texte { color: var(--ink-soft); font-size: .9375rem; }
.nv__pied { display: flex; align-items: center; gap: 10px; padding: 16px 22px 20px; }
.nv__points { display: flex; gap: 6px; margin-right: auto; }
.nv__points i { width: 8px; height: 8px; border-radius: 50%; background: rgba(21, 44, 18, .16); }
.nv__points .nv__point--ici { width: 22px; border-radius: var(--r-pill); background: var(--lime); }
.nv--liste { width: min(520px, calc(100vw - 32px)); }
.nv__liste { display: grid; gap: 2px; margin: 0; padding: 12px; list-style: none; }
.nv__liste button { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr) 18px; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 0; border-radius: 14px; background: transparent; color: var(--foret); font: inherit; font-size: .9375rem; text-align: left; cursor: pointer; }
.nv__liste li:nth-child(even) button { background: rgba(21, 44, 18, .03); }
.nv__liste button:hover { background: var(--rosee); }
.nv__liste time { color: var(--ink-soft); font-size: .8125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.nv__liste svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .5; }
.nv__rien { padding: 12px; color: var(--ink-soft); }
.cloche__nv { display: grid; place-items: center; width: 32px; height: 32px; margin-left: auto; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); cursor: pointer; }
.cloche__nv:hover { background: var(--rosee); }
.cloche__nv svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 560px) { .nv__duo { grid-template-columns: 1fr; } .nv__tete, .nv__corps, .nv__pied { padding-left: 16px; padding-right: 16px; } .nv__titre b { font-size: 1.0625rem; } }

/* AGREPLAY-2210 (22/10) : le replay d'un appel de vente ; la vidéo et le résumé à gauche, les chapitres à droite qui défilent seuls */
.rv { width: min(1320px, calc(100vw - 32px)); height: calc(100dvh - 40px); max-height: none; padding: 18px 20px 20px; border: 0; border-radius: 28px; background: var(--blanc); color: var(--foret); box-shadow: 0 30px 60px -30px rgba(21, 44, 18, .6); }
.rv[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 14px; }
.rv::backdrop { background: rgba(21, 44, 18, .32); backdrop-filter: blur(10px); }
.rv__tete { display: flex; align-items: center; gap: 10px; min-width: 0; }
.rv__tete b { overflow: hidden; font-size: 1.125rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rv__pill { flex: none; padding: 2px 9px; border-radius: var(--r-pill); background: var(--lime); font-size: .8rem; font-weight: 800; }
.rv__info { overflow: hidden; color: var(--ink-soft); font-size: .9rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.rv__x { flex: none; display: grid; place-items: center; width: 34px; height: 34px; margin-left: auto; border: 0; border-radius: 50%; background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; cursor: pointer; }
.rv__x:hover { background: rgba(21, 44, 18, .12); }
.rv__corps { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); gap: 20px; min-height: 0; }
.rv__gauche { min-height: 0; overflow: auto; padding-right: 4px; }
.rv__gauche video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 18px; background: #0B160A; }
.rv__resume { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; margin-top: 16px; padding: 20px 22px; border-radius: 22px; background: var(--grad-sousbois); color: #E7F3DA; }
.rv__rub span { display: block; margin-bottom: 4px; color: var(--lime); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rv__rub p { margin: 0; font-size: .9375rem; line-height: 1.5; }
.rv__rub b { color: #FFFFFF; font-weight: 800; }
.rv__rub--frein span { color: var(--ambre); }
.rv__rub--frein b { color: var(--ambre); text-decoration: underline; text-underline-offset: 3px; }
.rv__chap { display: grid; align-content: start; gap: 6px; min-height: 0; margin: 0; padding: 4px 6px 4px 0; overflow: auto; list-style: none; }
.rv__chap > li { padding: 10px 12px; border-radius: 16px; }
.rv__chap > li + li { box-shadow: 0 -1px 0 var(--trait); }
.rv__chap > li.rv__en-cours { background: var(--rosee); box-shadow: none; }
.rv__chap-tete { display: flex; align-items: center; gap: 9px; width: 100%; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.rv__chap-tete i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--ph); }
.rv__chap time, .rv__moments time { flex: none; padding: 1px 7px; border-radius: 7px; background: #EEF1EC; font-size: .78rem; font-variant-numeric: tabular-nums; font-weight: 700; }
.rv__chap-tete b { font-size: .95rem; font-weight: 800; }
.rv__chap-tete:hover b { text-decoration: underline; text-underline-offset: 3px; }
.rv__chap li > p { margin: 5px 0 0 19px; color: var(--ink-soft); font-size: .875rem; line-height: 1.45; }
.rv__moments { display: grid; gap: 2px; margin: 7px 0 0 19px; }
.rv__moments button { display: flex; align-items: baseline; gap: 8px; padding: 4px 6px; border: 0; border-radius: 9px; background: none; color: var(--foret); font: inherit; font-size: .84rem; text-align: left; cursor: pointer; }
.rv__moments button:hover { background: rgba(161, 224, 77, .22); }
@media (max-width: 860px) { .rv { height: calc(100dvh - 24px); width: calc(100vw - 16px); padding: 14px; } .rv__corps { grid-template-columns: 1fr; overflow: auto; } .rv__gauche, .rv__chap { overflow: visible; } .rv__resume { grid-template-columns: 1fr; } }

/* AGFRISE-2210 (22/10) : la frise des chapitres sous la vidéo du replay, comme les Sales coaching */
.rv-frise { position: relative; height: 34px; margin-top: 12px; cursor: pointer; }
.rv-frise__chap { position: absolute; top: 0; bottom: 0; box-sizing: border-box; display: flex; align-items: center; min-width: 0; padding: 0 10px; border-radius: 10px; background: color-mix(in srgb, var(--ph) 18%, transparent); color: var(--foret); font-size: .72rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.rv-frise__chap > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.rv-frise__chap:hover { background: color-mix(in srgb, var(--ph) 30%, transparent); }
.rv-frise__chap--actif { background: color-mix(in srgb, var(--ph) 36%, transparent); }
.rv-frise__repere { position: absolute; bottom: 0; width: 2px; height: 8px; margin-left: -1px; border-radius: 1px; background: rgba(21, 44, 18, .35); pointer-events: none; }
.rv-frise__tete { position: absolute; top: -4px; bottom: -4px; left: 0; width: 3px; margin-left: -1.5px; border-radius: 2px; background: var(--foret); pointer-events: none; transition: left .25s linear; }
@media (max-width: 860px) { .rv-frise__chap { padding: 0 6px; font-size: .62rem; } }
/* AGFRISE-2210 : les 4 étapes : le titre de l'étape dans la colonne des chapitres */
.rv-frise--etapes .rv-frise__chap { font-size: .78rem; letter-spacing: .05em; }
.rv__chap > li.rv__etape { display: flex; align-items: center; gap: 9px; margin-top: 10px; padding: 9px 12px; border-radius: 12px; background: color-mix(in srgb, var(--ph) 16%, transparent); box-shadow: none; font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.rv__chap > li.rv__etape:first-child { margin-top: 0; }
.rv__chap > li.rv__etape i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--ph); }
.rv__chap > li.rv__etape time { margin-left: auto; }
.rv__chap > li.rv__etape + li { box-shadow: none; }
/* AGFRISE-2210 : l'en-tête du replay : le nom, puis des pastilles (rang, closer avec sa photo, jour, durée, offre, statut) ; « Ouvrir la fiche » à droite */
.rv__tete { align-items: center; gap: 12px; }
.rv__titre { display: grid; gap: 7px; min-width: 0; }
.rv__titre > b { overflow: hidden; font-size: 1.375rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.rv__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rv__chip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--foret); font-size: .8125rem; font-weight: 700; white-space: nowrap; }
.rv__chip img { width: 20px; height: 20px; margin-left: -6px; border-radius: 50%; object-fit: cover; }
.rv__chip svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
.rv__chip--statut { background: var(--rosee); box-shadow: inset 0 0 0 1.5px var(--lime); }
.rv__meta .rv__pill { height: 28px; display: inline-flex; align-items: center; padding: 0 11px; }
.rv__fiche { flex: none; margin-left: auto; height: 38px; padding: 0 16px; border: 1px solid var(--trait); border-radius: var(--r-pill); background: var(--blanc); color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.rv__fiche:hover { background: var(--rosee); }
.rv__fiche + .rv__x { margin-left: 0; }

/* AGPAROLE-2210 (22/10) : durée et part de chaque étape dans la frise ; temps de parole et note du script en haut à droite du replay */
.rv-frise--etapes { height: 44px; }
.rv-frise--etapes .rv-frise__chap { flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; }
.rv-frise__chap small { overflow: hidden; max-width: 100%; font-size: .7rem; font-weight: 700; letter-spacing: 0; text-transform: none; text-overflow: ellipsis; white-space: nowrap; opacity: .8; }
.rv-stats { display: flex; align-items: center; gap: 16px; margin-left: auto; padding: 6px 14px 6px 8px; border-radius: 16px; background: var(--grad-sousbois); color: #E7F3DA; }
.rv-stats + .rv__fiche { margin-left: 0; }
.rv-stats__lib { display: block; color: var(--lime); font-size: .68rem; font-weight: 800; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
.rv-parole { min-width: 190px; }
.rv-parole__barre { display: flex; height: 9px; margin: 6px 0 5px; overflow: hidden; border-radius: var(--r-pill); background: #C3D3B6; }
.rv-parole__barre i { background: var(--lime); }
.rv-parole__noms { display: flex; justify-content: space-between; gap: 12px; font-size: .78rem; }
.rv-parole__noms b { color: #FFFFFF; font-weight: 800; }
.rv-note { position: relative; display: flex; align-items: center; gap: 8px; }
.rv-note svg { width: 48px; height: 48px; transform: rotate(-90deg); }
.rv-note circle { fill: none; stroke-width: 6; }
.rv-note__fond { stroke: #2E4A1C; }
.rv-note__arc { stroke: var(--lime); stroke-linecap: round; }
.rv-note > b { position: absolute; left: 0; width: 48px; color: #FFFFFF; font-size: .95rem; font-weight: 800; text-align: center; }
.rv-note--vide > b { color: #C3D3B6; }
@media (max-width: 860px) { .rv-stats { display: none; } }

/* AGRECAP2-2310 (Ludivine, 20/10) : les appels de la CSM avec un élève ont la carte d'un RDV de vente (Loris, 23/10) ; seul le témoin d'Événements */
.ag-evt-temoin--eleves { background: linear-gradient(90deg, #A1E04D 50%, #F2A23A 50%); }
/* fin AGRECAP2-2310 */

/* AGRECAP3-2310 : le type d'appel élève en pastille devant le nom (visible même sur une carte courte) */
.ag-rdv__type { display: inline-block; margin-right: 6px; padding: 1px 7px; border-radius: var(--r-pill); background: rgba(21, 44, 18, .14); font-size: .68rem; font-weight: 800; line-height: 1.35; vertical-align: 1px; }
/* fin AGRECAP3-2310 */
/* SUIVIRECO-2310 (Loris, 23/10/2026) : Delivery › Reco › Ateliers (présents sur attendus, temps resté) et l'onglet Ateliers de la fiche Reco */
.sat { display: grid; gap: 22px; min-width: 0; }
.sat > * { min-width: 0; }
.sat-board { padding: 22px 24px 18px; border-radius: var(--r-board); background: var(--blanc); box-shadow: 0 24px 48px -30px rgba(21, 44, 18, .55); }
.sat-titre { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-size: 1rem; font-weight: 800; }
.sat-n { color: var(--ink-soft); font-weight: 700; }
.sat-tuile { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 12px; background: var(--rosee); color: var(--foret); }
.sat-tuile svg, .sat-ic svg, .sat-liens svg, .sat-v-tuile svg, .sat-sil svg, .sat-plie summary > svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sat-tuile svg { width: 19px; height: 19px; }
/* le graphique : la pile grise = les attendus, le vert = les présents */
.sat-graph { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 110px); justify-content: center; gap: 14px; align-items: end; height: 230px; padding-top: 10px; }
.sat-col { display: grid; grid-template-rows: auto 1fr auto; height: 100%; gap: 8px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.sat-col__n { min-height: 1.1em; text-align: center; font-size: .8rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.sat-col__n small { color: var(--ink-soft); font-weight: 700; }
.sat-col__pile { position: relative; align-self: end; border-radius: 12px; background: rgba(21, 44, 18, .07); }
.sat-col__pile i { position: absolute; right: 0; bottom: 0; left: 0; border-radius: 12px; background: var(--grad-lime); }
.sat-col__pile em { position: absolute; bottom: 8px; left: 50%; padding: 2px 8px; border-radius: var(--r-pill); background: var(--foret); color: var(--rosee); font-size: .72rem; font-style: normal; font-weight: 800; white-space: nowrap; transform: translateX(-50%); }
.sat-col__date { display: grid; overflow: hidden; color: var(--foret); font-size: .75rem; font-weight: 800; text-align: center; white-space: nowrap; }
.sat-col__date small { overflow: hidden; color: var(--ink-soft); font-size: .7rem; font-weight: 600; text-overflow: ellipsis; }
.sat-col:hover .sat-col__pile, .sat-col.est-ouvert .sat-col__pile { box-shadow: inset 0 0 0 2px var(--lime); }
.sat-col--avenir { cursor: default; }
.sat-col--avenir .sat-col__pile { background: repeating-linear-gradient(135deg, rgba(21, 44, 18, .05) 0 6px, transparent 6px 12px); box-shadow: inset 0 0 0 1px var(--trait); }
/* la liste */
.sat-ligne { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) minmax(0, 15rem) 6rem 6rem 2.5rem; align-items: center; gap: 14px; min-height: 58px; padding: 0 14px; border-top: 1px solid var(--trait); font-size: .9rem; cursor: pointer; }
.sat-liste .sat-ligne:nth-child(even) { background: #F7FAF4; }
.sat-liste .sat-ligne:hover { background: #EEF5E6; }
.sat-liste .sat-ligne.est-ouvert { background: var(--rosee); }
.sat-ligne--tete { position: sticky; top: 0; z-index: 1; min-height: 34px; border-top: 0; background: var(--blanc); color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: default; }
.sat-ligne--avenir { cursor: default; }
.sat-ligne__date, .sat-ligne__qui { display: grid; min-width: 0; }
.sat-ligne b { font-weight: 800; }
.sat-ligne small { overflow: hidden; color: var(--ink-soft); font-size: .78rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sat-ligne__ic { display: flex; justify-content: flex-end; }
.sat-presents { display: flex; align-items: center; gap: 12px; }
.sat-presents .sat-barre { flex: 1; }
.sat-presents b { min-width: 3.6em; font-variant-numeric: tabular-nums; }
.sat-m { font-variant-numeric: tabular-nums; }
.sat-ic { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: rgba(21, 44, 18, .06); color: var(--foret); }
.sat-ic svg { width: 15px; height: 15px; }
.sat-barre { position: relative; display: block; height: 10px; overflow: hidden; border-radius: 5px; background: rgba(21, 44, 18, .08); }
.sat-barre i { display: block; height: 100%; border-radius: 5px; background: var(--grad-lime); }
.sat-barre--court i { background: #F7D576; }
details.sat-plie > summary { display: flex; align-items: center; gap: 12px; font-size: 1rem; font-weight: 800; list-style: none; cursor: pointer; }
details.sat-plie > summary::-webkit-details-marker { display: none; }
details.sat-plie > summary > svg { width: 18px; height: 18px; margin-left: auto; transition: transform .15s; }
details.sat-plie[open] > summary { margin-bottom: 14px; }
details.sat-plie[open] > summary > svg { transform: rotate(180deg); }
/* le tiroir d'un atelier */
.sat-voile { position: fixed; inset: 0; z-index: 55; background: rgba(21, 44, 18, .25); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.sat-voile[hidden] { display: none; }
.sat-v-tuile { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 18px; background: var(--grad-sousbois); color: #A1E04D; }
.sat-v-tuile svg { width: 26px; height: 26px; }
.sat-sil { display: grid; place-items: center; background: var(--rosee); color: var(--ink-soft); }
.sat-sil svg { width: 20px; height: 20px; }
.sat-absents .sat-sil svg { width: 15px; height: 15px; }
.sat-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 16px 18px; border-radius: 20px; background: radial-gradient(120% 140% at 100% 0%, rgba(161, 224, 77, .16) 0%, rgba(161, 224, 77, 0) 46%), var(--grad-sousbois); color: #FFFFFF; }
.sat-mini p { margin: 0; color: #C3D3B6; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sat-mini b { display: block; margin-top: 8px; font-size: 1.6rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sat-mini b small { margin-left: 3px; color: #C3D3B6; font-size: .55em; font-weight: 700; }
.sat-mini div:first-child b { color: #A1E04D; font-size: 2rem; }
.sat-mini div + div { padding-left: 12px; border-left: 1px solid rgba(255, 255, 255, .1); }
.sat-pres { display: grid; grid-template-columns: 38px minmax(0, 1fr) minmax(0, 1.1fr) 4.4rem; align-items: center; gap: 12px; padding: 9px 2px; border-top: 1px solid var(--trait); font-size: .875rem; }
.rc-bloc h3 + .sat-pres, .rc-bloc h3 + .sat-histo { border-top: 0; }
.sat-pres > b { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.sat-pres > b small { display: block; color: var(--ink-soft); font-size: .76rem; font-weight: 600; }
.sat-pres > b small.sat-ambre { color: #9A6A00; }
.sat-pres__n { font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sat-absents { display: flex; flex-wrap: wrap; gap: 8px; }
.sat-absents span { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px 4px 4px; border-radius: var(--r-pill); background: #EEF1EC; font-size: .84rem; font-weight: 700; }
.sat-absents .rc-tete { width: 28px; height: 28px; }
.sat-liens { display: flex; flex-wrap: wrap; gap: 8px; }
.sat-liens a { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px; border-radius: var(--r-pill); background: var(--blanc); box-shadow: inset 0 0 0 1.5px var(--trait); color: var(--foret); font-size: .875rem; font-weight: 700; text-decoration: none; }
.sat-liens a svg { width: 16px; height: 16px; }
/* l'onglet Ateliers de la fiche */
.sat-histo { display: grid; grid-template-columns: 6.8rem 5.2rem minmax(0, 1fr) 4.6rem; align-items: center; gap: 12px; padding: 10px 2px; border-top: 1px solid var(--trait); font-size: .875rem; }
.sat-histo > b { font-weight: 800; white-space: nowrap; }
.sat-histo .rc-pale { white-space: nowrap; }
.sat-histo--absent .sat-pres__n { color: var(--ink-soft); }
.sat-absent { display: inline-flex; padding: 3px 10px; border-radius: var(--r-pill); background: #EEF1EC; color: var(--ink-soft); font-size: .75rem; font-weight: 800; }
.sat-prochain { display: flex; align-items: center; gap: 12px; }
.sat-prochain b { display: block; font-weight: 800; }
.sat-prochain span:not(.sat-tuile) { color: var(--ink-soft); font-size: .85rem; font-weight: 600; }
@media (max-width: 899px) {
  .sat-board { padding: 18px 14px 14px; }
  .sat-graph { gap: 6px; } .sat-col__date { font-size: .62rem; } .sat-col__pile em { display: none; } .sat-col__n small { display: none; }
  .sat-ligne { grid-template-columns: 6.6rem minmax(0, 1fr) 4.4rem; gap: 10px; padding: 0 8px; }
  .sat-ligne .sat-ligne__qui, .sat-ligne .sat-m, .sat-ligne__ic { display: none; }
  .sat-presents .sat-barre { display: none; }
  .sat-histo { grid-template-columns: 5.6rem minmax(0, 1fr) 4.2rem; } .sat-histo .rc-pale { display: none; }
  .sat-pres { grid-template-columns: 34px minmax(0, 1fr) 4rem; } .sat-pres .sat-barre { display: none; }
}
/* la barre (celle de l'Agenda) : les filtres Formateurs et Types, un nombre quand le filtre est actif */
.sat-filtres { display: inline-flex; gap: 8px; }
.sat-filtre__n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--r-pill); background: var(--lime); color: var(--foret); font-size: .72rem; font-weight: 800; }
.sat-vide { margin: 8px 0; text-align: center; }
/* le calendrier : une grille par mois, un atelier = une pastille (à venir en lime) */
.sat-board--cal { padding: 16px; }
.sat-cal__grilles--3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sat-cal__mois h3 { margin: 2px 6px 10px; font-size: .95rem; font-weight: 800; }
.sat-cal__mois h3::first-letter { text-transform: uppercase; }
.sat-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.sat-cal__jsem { padding: 0 6px 4px; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.sat-cal__case { display: grid; align-content: start; gap: 4px; min-width: 0; min-height: 92px; padding: 6px; border-radius: 12px; background: #F7FAF4; }
.sat-cal__case--vide { background: transparent; }
.sat-cal__case--auj { box-shadow: inset 0 0 0 2px var(--lime); }
.sat-cal__n { color: var(--ink-soft); font-size: .78rem; font-weight: 800; }
.sat-cal__at { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 5px 7px; border: 0; border-radius: 9px; background: var(--blanc); box-shadow: 0 0 0 1px var(--trait); color: var(--foret); font: inherit; font-size: .75rem; text-align: left; cursor: pointer; }
.sat-cal__at b { flex: none; font-weight: 800; }
.sat-cal__at span { min-width: 0; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sat-cal__at em { flex: none; margin-left: auto; padding: 1px 7px; border-radius: var(--r-pill); background: var(--foret); color: var(--rosee); font-size: .7rem; font-style: normal; font-weight: 800; }
.sat-cal__at:hover, .sat-cal__at.est-ouvert { box-shadow: 0 0 0 2px var(--lime); }
.sat-cal__at--avenir { background: var(--grad-lime); box-shadow: none; }
.sat-cal__at--avenir em { background: rgba(21, 44, 18, .14); color: var(--foret); }
.sat-cal--petit { gap: 4px; }
.sat-cal--petit .sat-cal__case { min-height: 52px; padding: 4px; border-radius: 9px; }
.sat-cal--petit .sat-cal__jsem { padding: 0 4px 2px; }
.sat-cal--petit .sat-cal__at { justify-content: center; padding: 3px 2px; }
.sat-cal--petit .sat-cal__at em { margin: 0; padding: 1px 5px; font-size: .66rem; }
.sat-graph--serre { gap: 5px; }
.sat-graph--serre .sat-col__pile em { display: none; }
.sat-graph--serre .sat-col__n small, .sat-graph--serre .sat-col__date small { display: none; }
@media (max-width: 1180px) { .sat-cal__grilles--3 { grid-template-columns: 1fr; } }
@media (max-width: 899px) { .sat-cal__case { min-height: 58px; padding: 4px; } .sat-cal__at b, .sat-cal__at span { display: none; } .sat-cal__at { justify-content: center; padding: 3px 2px; } .sat-filtres .nav-offre__nom { font-size: .85rem; } }
/* fin SUIVIRECO-2310 */

/* PERDUAVENIR-2310 : « Annuler » dans la petite fenêtre d'un rendez-vous du Calendrier */
.ag-pop__b--danger { color: #B23A20; }
.ag-pop__b--danger:hover { background: #FBE9E4; }
.ag-pop__b--rouge { border-color: #B23A20; background: #B23A20; color: #fff; }
.ag-pop__b--rouge:hover:not(:disabled) { background: #9A2F18; }
.ag-pop__b:disabled { opacity: .45; cursor: default; }
.ag-ann { width: min(460px, calc(100% - 32px)); padding: 22px; border: 0; border-radius: 22px; background: var(--blanc); color: var(--foret); box-shadow: 0 30px 60px -30px rgba(21, 44, 18, .6); }
.ag-ann::backdrop { background: rgba(21, 44, 18, .35); backdrop-filter: blur(10px); }
.ag-ann__haut { display: grid; gap: 4px; }
.ag-ann__haut b { font-size: 1.0625rem; }
.ag-ann__haut span { color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
.ag-ann__titre { margin: 18px 0 8px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ag-ann__raisons { display: flex; flex-wrap: wrap; gap: 8px; }
.ag-ann__raisons .ag-pop__b[aria-pressed="true"] { border-color: var(--foret); background: var(--foret); color: var(--blanc); }
.ag-ann__detail { box-sizing: border-box; width: 100%; margin-top: 12px; padding: 9px 12px; border: 1px solid var(--trait); border-radius: 12px; background: var(--blanc); color: var(--foret); font: inherit; font-size: .875rem; resize: vertical; }
.ag-ann__detail:focus { border-color: var(--lime); outline: 2px solid var(--lime); }
.ag-ann__suite { min-height: 1.2em; margin: 12px 0 0; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.ag-ann__msg { margin: 6px 0 0; color: #B23A20; font-size: .8125rem; font-weight: 600; }
.ag-ann__bas { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }

/* PRESENCES-2310 (Loris, 23/10/2026) : Agenda › Appels d'équipe › Présence. PRESENCES3-2310 : le langage de la fiche (FICHESTD) :
   une carte par appel ou par pôle, en-tête sous-bois sur une ligne (tuile, nom | notes à droite), une ligne par semaine */

/* la carte et son en-tête sous-bois */
.pr-carte { --pr-panneau: rgba(21, 44, 18, .07); padding: 16px; border-radius: var(--r-board); background: var(--blanc); box-shadow: 0 24px 48px -30px rgba(21, 44, 18, .55); }
.pr-tete { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; min-height: 78px; padding: 16px 20px 16px 18px; border-radius: 22px; background: radial-gradient(70% 140% at 100% 0%, rgba(161, 224, 77, .22), transparent 60%), linear-gradient(160deg, #2E4A1C 0%, #233E17 55%, #152C12 100%); }
.pr-tete__ic { display: inline-grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--grad-lime); }
.pr-tete__ic svg { width: 22px; height: 22px; fill: none; stroke: #152C12; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pr-tete h2 { margin: 0; color: #FFFFFF; font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; }
.pr-tete__d { display: flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.pr-capsule { display: inline-flex; align-items: baseline; gap: 10px; padding: 9px 18px; border-radius: 999px; background: rgba(242, 254, 226, .1); box-shadow: inset 0 0 0 1px rgba(242, 254, 226, .14); }
.pr-capsule small { color: rgba(242, 254, 226, .7); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pr-capsule b { color: #A1E04D; font-size: 1.3rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.pr-capsule b i { margin-left: 2px; color: rgba(242, 254, 226, .6); font-size: .7rem; font-style: normal; }
.pr-capsule--orange b { color: #F7D576; }
.pr-capsule--rouge b { color: #F5A08A; }

.pr-panneau { padding: 14px; border-radius: 20px; background: var(--pr-panneau); overflow-x: auto; }
.pr-panneau--seul { display: grid; gap: 8px; margin-top: 16px; }

/* la feuille : des lignes blanches, une colonne par jour */
.pr-feuille { display: grid; gap: 8px; min-width: max-content; }
.pr-f { display: grid; align-items: center; gap: 10px; min-height: 56px; padding: 0 16px; border-radius: 14px; background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .07); }
.pr-f--tete { min-height: 32px; background: none; box-shadow: none; color: #8A9785; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pr-f__jour { display: flex; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; }
.pr-f__revoir { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--grad-lime); }
.pr-f__revoir svg { width: 9px; height: 9px; margin-left: 1px; fill: #152C12; stroke: none; }
.pr-f > .pr-case { justify-self: center; }

/* une case : minutes sur la durée ; vert en entier, orange pas en entier, rouge absent */
.pr-case { display: inline-flex; align-items: baseline; gap: 1px; padding: 7px 13px; border-radius: 999px; background: #E3F1DA; color: #2F7A1F; font-size: .86rem; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pr-case small { opacity: .7; font-size: .74rem; font-weight: 700; }
.pr-case svg { align-self: center; width: 13px; height: 13px; margin-right: 4px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
.pr-case--partiel { background: #F7D576; color: #4A3700; } /* ambre de la charte : l'orange ressortait mal (Loris, 23/10) */
.pr-case--absent { background: #FADBD3; color: #B23A20; }

/* une note (hors de l'en-tête) */
.pr-note { display: inline-flex; align-items: baseline; gap: 2px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pr-note b { font-size: 1.1rem; font-weight: 800; }
.pr-note i { color: var(--ink-soft); font-size: .72rem; font-style: normal; font-weight: 800; }
.pr-note--orange b { color: #B58300; }
.pr-note--rouge b { color: #B23A20; }

/* une personne */
.pr-qui { display: flex; align-items: center; gap: 10px; min-width: 0; font-weight: 800; white-space: nowrap; }
.pr-qui .ap-av { width: 34px; height: 34px; box-shadow: none; }
.pr-qui > span { display: grid; line-height: 1.2; }
.pr-qui small { color: var(--ink-soft); font-size: .74rem; font-weight: 600; }
.pr-cols, .pr-p__ligne { display: grid; grid-template-columns: minmax(170px, 1fr) 90px 90px 90px 30px; align-items: center; gap: 14px; padding: 0 14px 0 16px; }
.pr-cols { color: #8A9785; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pr-cols span:nth-child(n+2):not(:last-child), .pr-p__ligne .pr-note { justify-self: end; text-align: right; }
.pr-p { border-radius: 14px; background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .07); }
.pr-p__ligne { min-height: 60px; cursor: pointer; }
.pr-p__ligne .ap-plus { width: 28px; height: 28px; font-size: 1rem; }
.pr-p--ouverte .ap-plus { transform: rotate(90deg); background: var(--grad-lime); color: #152C12; }
.pr-semaines { display: grid; gap: 6px; padding: 2px 12px 12px; }
.pr-ps { display: grid; grid-template-columns: 11rem minmax(0, 1fr) auto; align-items: center; gap: 16px; min-height: 64px; padding: 8px 14px; border-radius: 12px; background: #F4F7F1; }
.pr-ps__nom { font-weight: 800; white-space: nowrap; }
.pr-ps__jours { display: flex; flex-wrap: wrap; gap: 12px; }
.pr-ps__j { display: grid; justify-items: start; gap: 4px; }
.pr-ps__j small { color: var(--ink-soft); font-size: .72rem; font-weight: 700; white-space: nowrap; }

@media (max-width: 760px) {
  .pr-carte { padding: 10px; }
  .pr-tete { padding: 14px; }
  .pr-tete h2 { font-size: 1.2rem; }
  .pr-tete__d { width: 100%; margin-left: 0; }
  .pr-panneau { padding: 10px; }
  .pr-cols { display: none; }
  .pr-p__ligne { grid-template-columns: minmax(0, 1fr) auto auto auto 28px; gap: 10px; padding: 8px 10px; }
  .pr-ps { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
/* PRESENCES4-2310 : cartes fermées à l'arrivée, filtre Appels + mois, présences comptées par personne */
.pr-carte[data-prappel] > .pr-tete { cursor: pointer; }
.pr-carte--vide .pr-tete { opacity: .75; }
.pr-tete__plus { width: 32px; height: 32px; background: rgba(242, 254, 226, .12); color: #FFFFFF; transition: transform .15s; }
.pr-carte--ouverte .pr-tete__plus { transform: rotate(90deg); background: var(--grad-lime); color: #152C12; }
.pr-carte:not(.pr-carte--ouverte) { padding-bottom: 16px; }
.pr-compte { justify-self: end; display: inline-flex; align-items: baseline; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pr-compte b { font-size: 1.1rem; font-weight: 800; }
.pr-compte i { color: var(--ink-soft); font-size: .86rem; font-style: normal; font-weight: 700; }
.pr-compte--manque b { color: #B23A20; }
.pr-compte--rien { color: var(--ink-soft); }
.pr-cols, .pr-p__ligne { grid-template-columns: minmax(170px, 1fr) 120px 120px 30px; }
.pr-ps { display: block; padding: 0; background: #F4F7F1; }
.pr-ps__ligne { display: grid; grid-template-columns: minmax(0, 1fr) auto 28px; align-items: center; gap: 14px; min-height: 52px; padding: 0 12px 0 14px; cursor: pointer; }
.pr-ps__ligne .ap-plus { width: 26px; height: 26px; font-size: .95rem; }
.pr-ps--ouverte .ap-plus { transform: rotate(90deg); background: var(--grad-lime); color: #152C12; }
.pr-ps__corps { display: grid; gap: 6px; padding: 0 10px 10px; }
.pr-pa { display: grid; grid-template-columns: 9rem minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 60px; padding: 6px 12px; border-radius: 10px; background: #FFFFFF; }
.pr-pa__nom { color: var(--ink-soft); font-size: .86rem; font-weight: 800; }
@media (max-width: 760px) {
  .pr-p__ligne { grid-template-columns: minmax(0, 1fr) auto auto 28px; }
  .pr-pa { grid-template-columns: minmax(0, 1fr) auto; }
  .pr-pa .pr-ps__jours { grid-column: 1 / -1; order: 3; }
}
/* PRESENCES5-2310 : même barre et mêmes lignes que les autres onglets ; les semaines (par appel et par personne) = la même ligne, texte à 1 rem */
.pr-ps__ligne { grid-template-columns: minmax(0, 1fr) auto auto 28px; min-height: 58px; }
.pr-ps__nom { font-size: 1rem; }
.pr-ps__n { color: var(--ink-soft); font-size: .95rem; font-weight: 700; }
.pr-ps .pr-note b, .pr-ps .pr-compte b { font-size: 1.1rem; }
.pr-semaines--appel { padding: 0; }
.pr-semaines--appel .pr-ps { background: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .07); }
.pr-ps__corps .pr-feuille { padding-top: 2px; }
.pr-ps__corps .pr-f:not(.pr-f--tete) { background: #F4F7F1; box-shadow: none; }
.pr-f__jour b { font-size: .78rem; }
/* PRESENCES6-2310 : une taille de texte par info ; prénom et rôle sur une ligne ; comptes alignés sous leur titre */
.pr-trait { width: 1px; height: 24px; background: var(--trait); }
.ap .ag-gauche:has(.pr-trait) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pr-case { gap: 0; font-size: .86rem; font-weight: 800; }
.pr-qui > .pr-qui__nom { display: flex; align-items: baseline; gap: 8px; }
.pr-qui__nom small { font-size: .82rem; font-weight: 600; }
.pr-cols, .pr-p__ligne { grid-template-columns: minmax(170px, 1fr) 130px 130px 28px; gap: 16px; padding: 0 14px 0 16px; }
.pr-cols > span, .pr-p__ligne > .pr-compte { justify-self: stretch; text-align: right; justify-content: flex-end; }
.pr-compte b, .pr-compte i { font-size: 1.05rem; }
.pr-compte i { font-weight: 700; }
.pr-ps__ligne { grid-template-columns: minmax(0, 1fr) auto auto 28px; }
.pr-p .pr-semaines { padding: 2px 0 10px; }
.pr-p .pr-ps { border-radius: 0; }
.pr-ps__ligne--p { grid-template-columns: minmax(170px, 1fr) 130px 130px 28px; gap: 16px; padding: 0 14px 0 16px; }
.pr-ps__ligne--p .pr-compte { justify-self: stretch; justify-content: flex-end; }
.pr-p .pr-ps__corps { padding: 0 14px 12px 16px; }
@media (max-width: 760px) { .pr-ps__ligne--p { grid-template-columns: minmax(0, 1fr) auto 28px; } .pr-ps__ligne--p > span:empty { display: none; } }
/* fin PRESENCES-2310 */

/* CALISSUE-2310 : l'issue d'un appel passé en icône (carré arrondi, jamais rond : le rond = la pastille du closer), à droite de la carte */
.ag-issue { display: inline-grid; place-items: center; flex: none; width: 18px; height: 18px; border-radius: 5px; background: #6B7568; }
.ag-issue svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.ag-issue.ag-issue--gagne { background: #16965A; color: #FFFFFF; } /* gagné = carré plein vert, comme le no show en rouge */
.ag-issue.ag-issue--perdu { background: #6B7568; color: #FFFFFF; } /* la croix = seulement le no show ; perdu / disqualifié = pouce en bas, gris */
.ag-issue.ag-issue--noshow { background: #D2452F; color: #FFFFFF; } /* no show = le seul carré plein rouge, pour le distinguer d'un perdu */
.ag-issue.ag-issue--r2 { background: #5E9A48; color: #FFFFFF; } /* R2 = vert doux, moins flashy que gagné */
.ag-issue.ag-issue--suivi { background: #EDBE3E; color: var(--foret); } /* follow up = ambre de la charte */
.ag-rdv > .ag-issue { position: absolute; top: 50%; right: 5px; transform: translateY(-50%); }
.ag-rdv:has(> .ag-issue) .ag-rdv__in { padding-right: 26px; }
.ag-mpuce .ag-issue { width: 16px; height: 16px; margin-left: auto; } .ag-mpuce .ag-issue svg { width: 11px; height: 11px; }
/* passé (réalisé ou no show) = la couleur de l'offre, grisée ; l'icône reste nette */
.ag-rdv.ag-rdv--realise, .ag-rdv.ag-rdv--noshow, .ag-mpuce.ag-mpuce--realise, .ag-mpuce.ag-mpuce--noshow { opacity: 1; background: color-mix(in srgb, #A1E04D 50%, #E4E8E1); color: var(--foret); }
.ag-rdv.ag-rdv--realise.ag-rdv--reco, .ag-rdv.ag-rdv--noshow.ag-rdv--reco, .ag-mpuce.ag-mpuce--realise.ag-mpuce--reco, .ag-mpuce.ag-mpuce--noshow.ag-mpuce--reco { background: color-mix(in srgb, #F2A23A 50%, #E4E8E1); color: #3E2400; }
.ag-rdv--realise .ag-rdv__in, .ag-rdv--noshow .ag-rdv__in, .ag-mpuce--realise > :not(.ag-issue), .ag-mpuce--noshow > :not(.ag-issue) { opacity: .7; }
.ag-rdv--realise:hover .ag-rdv__in, .ag-rdv--noshow:hover .ag-rdv__in { opacity: 1; }
/* carte étroite (2-3 appels sur le même créneau) : la pastille du closer + l'icône, sans bout de nom */
/* CALISSUE2-2310 (Loris : « des noms ont disparu alors qu'ils pouvaient être affichés ») : le nom part seulement s'il ne tient vraiment pas */
@container (max-width: 119px) {
  .ag-rdv:has(> .ag-issue) .ag-rdv__in { display: flex; align-items: center; height: 100cqh; padding-block: 0; }
  .ag-rdv:has(> .ag-issue) .ag-rdv__meta { display: none; }
  .ag-rdv:has(> .ag-issue) .ag-rdv__nom:has(.ag-pers) { font-size: 0; }
}
@container (max-width: 79px) { .ag-rdv:has(> .ag-issue) .ag-rdv__nom { font-size: 0; } }
@container (max-height: 21px) { .ag-rdv > .ag-issue { width: 15px; height: 15px; right: 3px; border-radius: 4px; } .ag-rdv > .ag-issue svg { width: 10px; height: 10px; } .ag-rdv:has(> .ag-issue) .ag-rdv__in { padding-right: 20px; } }
@container (max-height: 14px) { .ag-rdv > .ag-issue { width: 11px; height: 11px; right: 2px; border-radius: 3px; } .ag-rdv > .ag-issue svg { width: 8px; height: 8px; } }
/* CALISSUE2-2310 (Loris : « des icônes qui sortent ») : l'icône suit la hauteur de la carte et reste dans la bordure (R2 = trait de 2 px) */
.ag-rdv > .ag-issue { width: min(18px, calc(100cqh - 8px)); height: min(18px, calc(100cqh - 8px)); right: 6px; }
.ag-rdv > .ag-issue svg { width: min(12px, calc(100cqh - 13px)); height: min(12px, calc(100cqh - 13px)); }
/* pastille du closer : un fin trait foncé au lieu du halo blanc */
.ag-pers { box-shadow: 0 0 0 1px rgba(21, 44, 18, .35); }
/* fin CALISSUE-2310 */

/* FICHESTD-2310 (Loris, 23/10/2026) : en-tête et onglets communs aux fiches Sales et Delivery. En-tête : panneau sous-bois sur une ligne
   (nom | appel en capsule | actions à droite). Onglets : en classeur, autant qu'il en faut, icône + mot ; l'ouvert a la couleur du panneau et s'y raccorde */
#fiche.fiche { --fiche-panneau: rgba(21, 44, 18, .07); }
#fiche.fiche .fiche__tete { gap: 22px; padding: 18px 18px 0; }
#fiche.fiche .fiche__heros { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; min-height: 92px; padding: 18px 120px 18px 28px; border-radius: 22px; background: radial-gradient(70% 140% at 100% 0%, rgba(161, 224, 77, .22), transparent 60%), linear-gradient(160deg, #2E4A1C 0%, #233E17 55%, #152C12 100%); color: #F2FEE2; box-shadow: 0 22px 40px -28px rgba(21, 44, 18, .9); }
#fiche.fiche .fiche__heros h2 { margin: 0; padding-right: 20px; border-right: 1px solid rgba(242, 254, 226, .18); color: #FFFFFF; font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
#fiche.fiche .fiche__heros h2:is(:last-child, :has(+ .fiche__visio:empty)) { padding-right: 0; border-right: 0; }
#fiche.fiche .fiche__heros .fiche__photo { width: 48px; height: 48px; margin-right: -6px; box-shadow: 0 0 0 2px rgba(242, 254, 226, .9), 0 0 0 4px #A1E04D; }
#fiche.fiche .fiche__heros :is(.fiche__visio:not(a), .fiche__appel) { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 10px; margin: 0; padding: 5px 14px 5px 5px; border: 0; border-radius: 999px; background: rgba(242, 254, 226, .1); box-shadow: inset 0 0 0 1px rgba(242, 254, 226, .14); }
#fiche.fiche .fiche__heros .fiche__visio:not(a):has(.fiche__copier) { padding-right: 6px; }
#fiche.fiche .fiche__heros .fiche__visio:not(a):empty { display: none; }
#fiche.fiche .fiche__heros :is(.fiche__rejoindre, a.fiche__visio) { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border-radius: 50%; background: #A1E04D; color: #152C12; box-shadow: none; }
#fiche.fiche .fiche__heros :is(.fiche__rejoindre, a.fiche__visio) :is(svg, .ico, .faire-ic) { width: 17px; height: 17px; }
#fiche.fiche .fiche__heros :is(.fiche__rdv, .fiche__quand) { display: inline-flex; align-items: baseline; gap: 8px; color: rgba(242, 254, 226, .78); font-size: .9375rem; font-weight: 600; white-space: nowrap; }
#fiche.fiche .fiche__heros .fiche__rdv b { color: #A1E04D; font-weight: 800; }
#fiche.fiche .fiche__heros .fiche__copier { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: none; color: rgba(242, 254, 226, .8); cursor: pointer; }
#fiche.fiche .fiche__heros .fiche__copier:hover { background: rgba(242, 254, 226, .12); color: #FFFFFF; }
#fiche.fiche .fiche__heros .fiche__copier .ico { width: 16px; height: 16px; }
#fiche.fiche .fiche__heros :is(.fiche__pres, .fiche__crm) { margin-left: auto; padding: 9px 16px; border-radius: 999px; background: rgba(242, 254, 226, .1); box-shadow: inset 0 0 0 1px rgba(242, 254, 226, .22); color: #FFFFFF; font-weight: 700; }
#fiche.fiche .fiche__heros :is(.fiche__pres, .fiche__crm):hover { background: rgba(242, 254, 226, .18); }
#fiche.fiche .fiche__heros .fiche__pres + .fiche__crm { margin-left: 0; }
#fiche.fiche .fiche__heros:has(.fiche__pres, .fiche__crm) { padding-right: 76px; }
#fiche.fiche :is(.fiche__fermer, .fiche__bug) { top: 42px; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(242, 254, 226, .12); color: #FFFFFF; }
#fiche.fiche .fiche__fermer { right: 34px; }
#fiche.fiche .fiche__bug { right: 82px; }
#fiche.fiche .fiche__bug svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#fiche.fiche :is(.fiche__fermer, .fiche__bug):hover { background: rgba(242, 254, 226, .2); }
/* les onglets en classeur */
#fiche.fiche .fiche__onglets { display: flex; gap: 4px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; overflow: visible; }
#fiche.fiche .fiche__onglets [role=tab] { position: relative; flex: 1 1 auto; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 46px; padding: 0 12px; border-radius: 16px 16px 0 0; background: none; box-shadow: none; color: var(--ink-soft); font-size: .875rem; font-weight: 700; white-space: nowrap; transition: background .15s, color .15s; }
#fiche.fiche .fiche__onglets [role=tab] span { overflow: hidden; text-overflow: ellipsis; }
#fiche.fiche .fiche__onglets:has([role=tab]:nth-child(7)) [role=tab] { gap: 6px; padding: 0 9px; font-size: .8125rem; } /* 7 onglets et plus (Delivery) */
#fiche.fiche .fiche__onglets [role=tab] svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
#fiche.fiche .fiche__onglets [role=tab]:hover { background: rgba(21, 44, 18, .035); color: var(--foret); }
#fiche.fiche .fiche__onglets [role=tab][aria-selected="true"] { background: var(--fiche-panneau); color: var(--foret); font-weight: 800; }
#fiche.fiche .fiche__onglets [role=tab][aria-selected="true"] svg { opacity: 1; color: #3E7D1C; }
#fiche.fiche .fiche__onglets [role=tab][aria-selected="true"]::before, #fiche.fiche .fiche__onglets [role=tab][aria-selected="true"]::after { content: ""; position: absolute; top: auto; bottom: 0; width: 16px; height: 16px; border-radius: 0; pointer-events: none; }
#fiche.fiche .fiche__onglets [role=tab][aria-selected="true"]::before { right: auto; left: -16px; background: radial-gradient(circle at 0 0, transparent 15.5px, var(--fiche-panneau) 16px); }
#fiche.fiche .fiche__onglets [role=tab][aria-selected="true"]::after { right: -16px; left: auto; background: radial-gradient(circle at 100% 0, transparent 15.5px, var(--fiche-panneau) 16px); }
#fiche.fiche .fiche__onglets [role=tab][aria-selected="true"]:first-child::before, #fiche.fiche .fiche__onglets [role=tab][aria-selected="true"]:last-child::after { content: none; }
#fiche.fiche .fiche__corps { margin: 0 18px 18px; padding: 20px 18px 22px; border-radius: 20px; background: var(--fiche-panneau); }
#fiche.fiche:has(.fiche__onglets [role=tab]:first-child[aria-selected="true"]) .fiche__corps { border-top-left-radius: 0; }
#fiche.fiche:has(.fiche__onglets [role=tab]:last-child[aria-selected="true"]) .fiche__corps { border-top-right-radius: 0; }
@media (max-width: 640px) {
  #fiche.fiche .fiche__tete { gap: 16px; padding: 12px 12px 0; }
  #fiche.fiche .fiche__heros, #fiche.fiche .fiche__heros:has(.fiche__pres, .fiche__crm) { padding: 18px 70px 16px 18px; }
  #fiche.fiche .fiche__heros:has(~ .fiche__bug) { padding-right: 118px; }
  #fiche.fiche .fiche__heros h2 { flex-basis: 100%; padding-right: 0; border-right: 0; font-size: 1.3rem; overflow-wrap: anywhere; }
  #fiche.fiche .fiche__heros .fiche__pres { margin-left: 0; }
  #fiche.fiche .fiche__heros .fiche__photo + h2 { flex: 1 1 0; min-width: 0; margin-left: 10px; }
  #fiche.fiche .fiche__heros .fiche__photo { width: 44px; height: 44px; }
  #fiche.fiche :is(.fiche__fermer, .fiche__bug) { top: 24px; }
  #fiche.fiche .fiche__fermer { right: 24px; }
  #fiche.fiche .fiche__bug { right: 70px; }
  #fiche.fiche .fiche__onglets [role=tab] { flex: 1 1 0; height: 42px; padding: 0 6px; } /* téléphone : les icônes, le mot sur l'onglet ouvert */
  #fiche.fiche .fiche__onglets [role=tab] span { display: none; }
  #fiche.fiche .fiche__onglets [role=tab][aria-selected="true"] { flex: 0 0 auto; padding: 0 12px; }
  #fiche.fiche .fiche__onglets [role=tab][aria-selected="true"] span { display: inline; }
  #fiche.fiche .fiche__corps { margin: 0 12px 12px; padding: 16px 12px 18px; }
}
#fiche.fiche { width: min(960px, 100% - 32px); } /* FICHESTD-2310 : 8 onglets lisibles */

/* ARRONDIS-2310 : la navigation a un seul arrondi, celui du menu de gauche (12 px) ; la pilule = pastilles, statuts, boutons */
.entete--bandeau .onglets a, .nav-offre__bouton { border-radius: 12px; }

/* REPLAYRETOUR-2410 : la flèche de retour à la fiche, grosse, en haut à gauche */
.rv__retour { flex: none; display: grid; place-items: center; width: 48px; height: 48px; margin-right: 4px; padding: 0; border: 0; border-radius: 14px; background: #A1E04D; color: #152C12; cursor: pointer; box-shadow: 0 10px 22px -14px rgba(21, 44, 18, .9); }
.rv__retour:hover { filter: brightness(1.05); }
.rv__retour svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* AGPOP-2410 : la fenêtre d'un appel se détache de l'Agenda (bordure), boutons rangés : le principal d'abord, Annuler en croix */
.ag-pop { border: 1.5px solid rgba(21, 44, 18, .14); box-shadow: 0 28px 60px -20px rgba(21, 44, 18, .55), 0 0 0 6px rgba(21, 44, 18, .04); }
.ag-pop__bas { gap: 8px; }
.ag-pop__bas > .ag-pop__b { flex: 1 1 auto; justify-content: center; }
.ag-pop__bas > .ag-pop__b--fort { flex-basis: 100%; height: 38px; }
.ag-pop__bas > .ag-pop__b--ico { flex: 0 0 34px; width: 34px; padding: 0; }
.ag-pop__bas:has(.ag-pop__b--ico) > .ag-pop__b--fort { flex-basis: calc(100% - 42px); }
.rv__drive { display: block; width: min(1100px, 100%); aspect-ratio: 16 / 9; border: 0; border-radius: 16px; background: #000; }
.rv__vide { padding: 24px; }

/* AGPOP2-2410 : l'appel choisi = cadre blanc ; la fenêtre ressort (bordure claire, halo vert doux) */
.ag-choisi { z-index: 5 !important; outline: 2.5px solid #152C12; outline-offset: 1px; box-shadow: 0 10px 24px -10px rgba(21, 44, 18, .6) !important; }
.ag-pop { border: 2px solid rgba(21, 44, 18, .22); box-shadow: 0 0 0 1px rgba(21, 44, 18, .12), 0 30px 60px -18px rgba(21, 44, 18, .6), 0 0 0 8px rgba(161, 224, 77, .18); }

/* AGPOP3-2410 : voile sous la fenêtre (flou léger par défaut, ou grisé), l'appel choisi net au-dessus */
.ag-voile { position: fixed; inset: 0; z-index: 78; pointer-events: none; background: rgba(21, 44, 18, .28); } /* version grisée retenue par Loris le 24/10 */
.ag-choisi-copie { z-index: 79 !important; pointer-events: none; }

/* FICHEDLV-2410 : la fiche Delivery au format de la fiche Sales */
#fiche.fiche .bloc { padding: 16px 18px 18px; border-radius: 18px; }
#fiche.fiche .bloc > h3 { gap: 12px; margin: 0 0 16px; padding-bottom: 8px; border-bottom-width: 2.5px; font-size: 1.0625rem; font-weight: 800; }
#fiche.fiche .bloc > h3 :is(svg, .faire-ic) { box-sizing: content-box; width: 18px; height: 18px; padding: 8px; border-radius: 10px; background: #EEF6E4; color: #3E7D1C; }
#fiche.fiche .notes-infos { display: grid; gap: 16px; }
#fiche.fiche .notes-infos:empty { display: none; }
#fiche.fiche .note-crm { width: 100%; box-sizing: border-box; }
/* notes en lignes */
#fiche.fiche .notes-d { display: grid; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
#fiche.fiche .note-d { display: grid; grid-template-columns: 96px 110px minmax(0, 1fr) 20px; align-items: center; gap: 12px; padding: 10px 12px 10px 14px; border-radius: 12px; background: #F2F5EF; cursor: pointer; }
#fiche.fiche .note-d__date { display: inline-flex; align-items: center; gap: 6px; color: var(--foret); font-size: .8125rem; font-weight: 700; white-space: nowrap; }
#fiche.fiche .note-d__date :is(svg, .faire-ic) { width: 14px; height: 14px; opacity: .7; }
#fiche.fiche .note-d b { overflow: hidden; color: var(--foret); font-size: .875rem; text-overflow: ellipsis; white-space: nowrap; }
#fiche.fiche .note-d p { margin: 0; overflow: hidden; color: var(--foret); font-size: .875rem; text-overflow: ellipsis; white-space: nowrap; }
#fiche.fiche .note-d.ouverte { align-items: start; }
#fiche.fiche .note-d.ouverte p { white-space: pre-line; }
#fiche.fiche .note-d__chev svg, #fiche.fiche .form-ligne__chev svg, #fiche.fiche .fil__jour-chev svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; color: var(--ink-soft); transition: transform .15s; }
#fiche.fiche .note-d.ouverte .note-d__chev svg { transform: rotate(180deg); }
/* tâches : des lignes grises */
#fiche.fiche .bloc-action__ligne { padding: 10px 14px; border-radius: 12px; background: #F2F5EF; }
#fiche.fiche .bloc-action__ligne + .bloc-action__ligne { margin-top: 6px; border-top: 0; }
/* appels : la grille de la fiche Sales */
#fiche.fiche .appels { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
#fiche.fiche .appel { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 10px 12px 10px 14px; border: 0; border-radius: 12px; background: #F2F5EF; }
#fiche.fiche .appel time { color: var(--foret); font-size: .8125rem; font-weight: 700; }
#fiche.fiche .appel__quoi { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .9375rem; font-weight: 700; }
#fiche.fiche .appel__liens > :is(a, button) { display: inline-flex; align-items: center; justify-content: center; min-width: 148px; padding: 6px 14px; border: 0; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(21, 44, 18, .25); color: var(--foret); font: inherit; font-size: .8125rem; font-weight: 700; text-decoration: none; cursor: pointer; }
#fiche.fiche .appel__liens > a svg { display: none; }
#fiche.fiche .appel--court { opacity: .6; }
/* formulaires : une ligne fermée par formulaire */
#fiche.fiche .form-liste { display: grid; gap: 6px; }
#fiche.fiche .form-ligne { border-radius: 12px; background: #F2F5EF; }
#fiche.fiche .form-ligne > summary { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto 20px; align-items: center; gap: 12px; padding: 12px 12px 12px 14px; cursor: pointer; list-style: none; }
#fiche.fiche .form-ligne > summary::-webkit-details-marker { display: none; }
#fiche.fiche .form-ligne__date { display: inline-flex; align-items: center; gap: 6px; color: var(--foret); font-size: .8125rem; font-weight: 700; }
#fiche.fiche .form-ligne__date :is(svg, .faire-ic) { width: 14px; height: 14px; opacity: .7; }
#fiche.fiche .form-ligne > summary b { color: var(--foret); font-size: .9375rem; font-weight: 800; }
#fiche.fiche .form-ligne[open] .form-ligne__chev svg { transform: rotate(180deg); }
#fiche.fiche .form-ligne .sous-panneau { padding: 0 14px 14px 136px; }
/* suivi : un jour = une ligne grise repliable */
#fiche.fiche .fil__bloc { padding: 2px 10px 4px 12px; border-radius: 12px; background: #F2F5EF; }
#fiche.fiche .fil__bloc + .fil__bloc { margin-top: 6px; }
#fiche.fiche .fil__bloc > .fil__jour { display: flex; align-items: center; gap: 10px; margin: 0; padding: 10px 4px; color: var(--foret); font-size: .9375rem; font-weight: 800; cursor: pointer; list-style: none; }
#fiche.fiche .fil__bloc > .fil__jour::-webkit-details-marker { display: none; }
#fiche.fiche .fil__bloc:not([open]) .fil__jour-chev svg { transform: rotate(-90deg); }
#fiche.fiche .fil__barre { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: 10px; padding-left: 12px; border-left: 1.5px solid rgba(21, 44, 18, .15); }
#fiche.fiche .fil__compte { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; background: #fff; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
#fiche.fiche .fil__compte :is(svg, .faire-ic) { width: 13px; height: 13px; }
/* campagne : volets Résultats | Configuration */
#fiche.fiche .camp-volets { display: flex; gap: 6px; margin: 0 0 14px; }
#fiche.fiche .camp-volets button { padding: 7px 14px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .7); color: var(--ink-soft); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
#fiche.fiche .camp-volets button[aria-selected="true"] { background: #E2F4CC; color: #2F7A1F; }
@media (max-width: 640px) {
  #fiche.fiche .note-d { grid-template-columns: 80px minmax(0, 1fr) 18px; } #fiche.fiche .note-d b { display: none; }
  #fiche.fiche .appel { grid-template-columns: minmax(0, 1fr); } #fiche.fiche .form-ligne .sous-panneau { padding-left: 14px; }
}

/* FICHEDLV2-2410 : Infos Delivery = Infos Sales (Accompagnement | Coordonnées, volets Perso / Entreprise / Conjoint(e)) */
#fiche.fiche .infos-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
#fiche.fiche .infos-duo > .bloc { margin: 0; height: 100%; box-sizing: border-box; }
#fiche.fiche .infos-duo .grille { display: grid; margin: 0; }
#fiche.fiche .infos-duo .grille--opp { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
#fiche.fiche .infos-duo .grille dt { margin: 0 0 3px; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
#fiche.fiche .infos-duo .grille dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
#fiche.fiche .coord-tete { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; }
#fiche.fiche .coord-tete > h3 { display: inline-flex; align-items: center; gap: 12px; flex: none; margin: 0; padding-bottom: 8px; border-bottom: 2.5px solid var(--lime); font-size: 1.0625rem; font-weight: 800; }
#fiche.fiche .coord-tete > h3 :is(svg, .faire-ic) { box-sizing: content-box; width: 18px; height: 18px; padding: 8px; border-radius: 10px; background: #EEF6E4; color: #3E7D1C; }
#fiche.fiche .coord-onglets { display: flex; align-items: center; gap: 16px; min-width: 0; padding-left: 14px; border-left: 1.5px solid rgba(21, 44, 18, .15); }
#fiche.fiche .coord-onglets [role=tab] { position: relative; padding: 4px 0 6px; border: 0; border-radius: 0; background: none; color: var(--ink-soft); font: inherit; font-size: .875rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
#fiche.fiche .coord-onglets [role=tab]:hover { color: var(--foret); }
#fiche.fiche .coord-onglets [role=tab][aria-selected="true"] { color: var(--foret); font-weight: 800; }
#fiche.fiche .coord-onglets [role=tab][aria-selected="true"]::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2.5px; border-radius: 2px; background: #3E7D1C; }
#fiche.fiche .coord-groupe .grille { grid-template-columns: minmax(0, 1fr); gap: 12px; }
#fiche.fiche .coord-groupe .grille:empty { display: none; }
#fiche.fiche .coord-ajouter { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 6px 12px; border: 1.5px solid var(--trait, rgba(21,44,18,.18)); border-radius: 999px; background: none; color: var(--foret); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; }
#fiche.fiche .coord-groupe .grille:empty + .coord-ajouter { margin-top: 0; }
#fiche.fiche .coord-form { display: grid; gap: 8px; margin-top: 10px; }
#fiche.fiche .coord-form input { padding: 8px 10px; border: 1.5px solid var(--trait, rgba(21,44,18,.18)); border-radius: 10px; background: #fff; color: var(--foret); font: inherit; font-size: .875rem; }
#fiche.fiche .coord-form .fiche__actions { display: flex; gap: 8px; margin: 2px 0 0; }
#fiche.fiche .coord-val { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; overflow-wrap: anywhere; }
#fiche.fiche .copie { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 8px; background: none; color: var(--ink-soft); opacity: .55; cursor: pointer; }
#fiche.fiche .copie:hover, #fiche.fiche .copie.copie--ok { background: rgba(21, 44, 18, .07); color: var(--foret); opacity: 1; }
#fiche.fiche .copie .ico { width: 14px; height: 14px; }
#fiche.fiche .coord-siren { display: flex; align-items: center; gap: 4px; margin-top: 2px; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
#fiche.fiche .champ__vide { color: var(--ink-soft); font-weight: 500; }
@media (max-width: 720px) { #fiche.fiche .infos-duo { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { #fiche.fiche .coord-tete { flex-wrap: wrap; } #fiche.fiche .coord-onglets { padding-left: 0; border-left: 0; } }

/* FICHEDLV3-2410 : Campagne (Résultats · Campagnes · Configuration) et Victoires */
#fiche.fiche .camp-volets { display: flex; gap: 22px; margin: 0 0 14px 4px; }
#fiche.fiche .camp-volets[hidden] { display: none; }
#fiche.fiche .camp-volets button { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 4px 0 8px; border: 0; border-radius: 0; background: none; color: var(--ink-soft); font: inherit; font-size: .9375rem; font-weight: 600; cursor: pointer; }
#fiche.fiche .camp-volets button[aria-selected="true"] { background: none; color: var(--foret); font-weight: 800; }
#fiche.fiche .camp-volets button[aria-selected="true"]::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2.5px; border-radius: 2px; background: #3E7D1C; }
#fiche.fiche .cv-ic { width: 16px; height: 16px; flex: none; }
#fiche.fiche .bloc > h3 .cv-nb, #fiche.fiche .cv-bloc-tete h3 .cv-nb { margin-left: 2px; color: var(--ink-soft); font-weight: 700; }
#fiche.fiche .cv-bloc-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
#fiche.fiche .cv-bloc-tete > h3 { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2.5px solid var(--lime); font-size: 1.0625rem; font-weight: 800; }
#fiche.fiche .cv-bloc-tete > h3 .cv-ic { box-sizing: content-box; width: 18px; height: 18px; padding: 8px; border-radius: 10px; background: #EEF6E4; color: #3E7D1C; }
#fiche.fiche .cv-barre { display: flex; align-items: center; gap: 10px; }
#fiche.fiche .cv-esp { flex: 1; }
#fiche.fiche .cv-seg { display: inline-flex; padding: 3px; border-radius: 12px; background: rgba(21, 44, 18, .06); }
#fiche.fiche .cv-seg button { padding: 7px 13px; border: 0; border-radius: 9px; background: none; color: var(--ink-soft); font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer; }
#fiche.fiche .cv-seg button[aria-selected="true"] { background: #fff; color: var(--foret); font-weight: 800; box-shadow: 0 1px 3px rgba(21, 44, 18, .12); }
#fiche.fiche .cv-bt { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border: 1.5px solid rgba(21, 44, 18, .15); border-radius: 12px; background: #fff; color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
#fiche.fiche .cv-bt:disabled { opacity: .6; cursor: default; }
#fiche.fiche .cv-bt--lime { border: 0; background: linear-gradient(90deg, #A1E04D, #DDF28C); color: #152C12; }
#fiche.fiche .cv-heros { display: grid; grid-template-columns: 1.3fr 1fr 1fr; padding: 20px 22px; border-radius: 18px; color: #EEF5E9; background: radial-gradient(120% 140% at 0% 0%, rgba(161, 224, 77, .22), transparent 55%), linear-gradient(135deg, #24461A, #152C12); }
#fiche.fiche .cv-heros > div + div { padding-left: 18px; border-left: 1px solid rgba(238, 245, 233, .14); }
#fiche.fiche .cv-heros span { display: block; margin-bottom: 6px; color: rgba(238, 245, 233, .7); font-size: .8125rem; font-weight: 600; }
#fiche.fiche .cv-heros b { display: block; font-size: 1.75rem; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; }
#fiche.fiche .cv-heros b small { margin-left: 3px; color: rgba(238, 245, 233, .6); font-size: .9rem; }
#fiche.fiche .cv-heros .cv-cle b { color: #A1E04D; font-size: 2.6rem; }
#fiche.fiche .cv-heros i { display: inline-block; margin-top: 8px; padding: 2px 9px; border-radius: 999px; background: rgba(161, 224, 77, .16); color: #CFEFA0; font-size: .75rem; font-style: normal; font-weight: 700; }
#fiche.fiche .cv-heros i.cv-i--monte { background: rgba(224, 122, 0, .22); color: #FFC46B; }
#fiche.fiche .cv-alerte { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: #FFF1DC; color: #8A4B00; font-size: .875rem; font-weight: 700; }
#fiche.fiche .cv-alerte .cv-ic { width: 18px; height: 18px; }
#fiche.fiche .cv-graphe { position: relative; }
#fiche.fiche .cv-g-zone { position: relative; margin-right: 44px; height: 220px; cursor: crosshair; }
#fiche.fiche .cv-g-zone svg { display: block; width: 100%; height: 100%; overflow: visible; }
#fiche.fiche .cv-g-barre { fill: #CDEB9C; }
#fiche.fiche .cv-g-dep { fill: none; stroke: #9DB58C; stroke-width: 2; stroke-dasharray: 5 4; }
#fiche.fiche .cv-g-cout { fill: none; stroke: #152C12; stroke-width: 3; stroke-linejoin: round; }
#fiche.fiche .cv-g-cout--monte { stroke: #E07A00; stroke-width: 3.5; }
#fiche.fiche .cv-g-axe span { position: absolute; left: calc(100% + 8px); transform: translateY(-50%); color: #6B7A66; font-size: .6875rem; font-weight: 600; white-space: nowrap; }
#fiche.fiche .cv-g-guide { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1.5px dashed rgba(21, 44, 18, .35); }
#fiche.fiche .cv-g-point { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border: 2px solid #fff; border-radius: 50%; background: #152C12; box-sizing: border-box; }
#fiche.fiche .cv-g-point--monte { background: #E07A00; }
#fiche.fiche .cv-g-bulle { position: absolute; top: 0; z-index: 2; width: 250px; padding: 10px 12px; border-radius: 12px; background: #152C12; color: #EEF5E9; font-size: .8125rem; box-shadow: 0 8px 24px rgba(21, 44, 18, .25); pointer-events: none; }
#fiche.fiche .cv-g-bulle > b { display: block; margin-bottom: 6px; font-size: .875rem; }
#fiche.fiche .cv-g-bulle div { display: flex; justify-content: space-between; gap: 14px; margin-top: 3px; }
#fiche.fiche .cv-g-bulle div span { color: rgba(238, 245, 233, .7); }
#fiche.fiche .cv-g-bulle .cv-fort { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(238, 245, 233, .15); }
#fiche.fiche .cv-g-bulle .cv-fort b { color: #FFC46B; }
#fiche.fiche .cv-g-dates { position: relative; height: 18px; margin: 6px 44px 0 0; }
#fiche.fiche .cv-g-dates span { position: absolute; transform: translateX(-50%); color: #6B7A66; font-size: .6875rem; font-weight: 600; }
#fiche.fiche .cv-leg { display: flex; flex-wrap: wrap; gap: 16px; margin: 8px 0 0; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
#fiche.fiche .cv-leg i { display: inline-block; width: 12px; height: 3px; margin-right: 6px; vertical-align: 3px; border-radius: 2px; }
#fiche.fiche .cv-leg--cout { background: #152C12; } #fiche.fiche .cv-leg--barre { height: 10px !important; vertical-align: -1px !important; background: #CDEB9C; } #fiche.fiche .cv-leg--dep { background: #9DB58C; }
#fiche.fiche .cv-l { display: grid; grid-template-columns: 58px minmax(0, 1fr) 116px 100px 86px 104px auto 34px; align-items: stretch; min-height: 62px; margin-top: 8px; padding-right: 8px; border-radius: 14px; background: #F2F4EF; }
#fiche.fiche .cv-l > * { display: flex; align-items: center; padding: 0 10px; white-space: nowrap; min-width: 0; }
#fiche.fiche .cv-l--tete { min-height: 0; margin: 0; background: none; }
#fiche.fiche .cv-l--tete > * { padding-bottom: 2px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
#fiche.fiche .cv-c0 { justify-content: center; padding: 0 !important; }
#fiche.fiche .cv-nom { padding-left: 0 !important; overflow: hidden; font-size: 1rem; font-weight: 800; }
#fiche.fiche .cv-nom { display: block !important; align-self: center; text-overflow: ellipsis; } /* FICHEDLV5-2410 : une ligne, le nom sans l'entreprise */
#fiche.fiche .cv-l--tete .cv-h-nom { padding-left: 0; }
#fiche.fiche .cv-nom-z { display: flex; flex-direction: column; justify-content: center; align-items: stretch !important; gap: 3px; padding-left: 0 !important; } /* FICHEDLV5-2410 : la date sous le nom */
#fiche.fiche .cv-nom-z .cv-nom { padding: 0 !important; overflow: hidden; text-align: left; align-self: stretch; }
#fiche.fiche .cv-nom-z small { display: flex; align-items: center; gap: 5px; color: var(--ink-soft); font-size: .8125rem; font-weight: 600; }
#fiche.fiche .cv-nom-z small .cv-ic { width: 13px; height: 13px; } #fiche.fiche .cv-l--tete .cv-h-ic { padding-left: 32px; }
#fiche.fiche .cv-budget-z { display: inline-flex; align-items: center; gap: 2px; height: 32px; padding: 0 9px 0 4px; border: 1.5px solid rgba(21, 44, 18, .15); border-radius: 9px; background: #fff; cursor: text; }
#fiche.fiche .cv-budget-z:focus-within { border-color: #3E7D1C; }
#fiche.fiche .cv-budget-z span { color: var(--ink-soft); font-weight: 700; }
#fiche.fiche .cv-budget-z .cv-budget { width: 30px; height: auto; margin: 0; padding: 0 2px; border: 0 !important; background: none !important; text-align: right; -moz-appearance: textfield; }
#fiche.fiche .cv-budget-z .cv-budget::-webkit-inner-spin-button, #fiche.fiche .cv-budget-z .cv-budget::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#fiche.fiche .cv-budget-z .cv-budget:focus { outline: none; }
#fiche.fiche .cv-c { gap: 7px; border-left: 1.5px solid rgba(21, 44, 18, .08); font-weight: 800; font-variant-numeric: tabular-nums; }
#fiche.fiche .cv-c .cv-ic { width: 15px; height: 15px; color: #6E8C5E; }
#fiche.fiche .cv-n { justify-content: flex-end; text-align: right; }
#fiche.fiche .cv-l--fini { opacity: .6; }
#fiche.fiche .cv-budget { box-sizing: border-box; width: 46px; height: 30px; margin-right: 2px; padding: 2px 6px; font-size: .9375rem !important; border: 1.5px solid rgba(21, 44, 18, .15); border-radius: 8px; background: #fff; color: var(--foret); font: inherit; font-weight: 800; text-align: right; }
#fiche.fiche .cv-p { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; background: rgba(21, 44, 18, .07); color: var(--ink-soft); font-size: .75rem; font-weight: 800; white-space: nowrap; }
#fiche.fiche .cv-p .cv-ic { width: 13px; height: 13px; }
#fiche.fiche .cv-p--ok { background: #E3F4CF; color: #2F6A12; } #fiche.fiche .cv-p--ko { background: #FBE3E0; color: #A3261B; } #fiche.fiche .cv-p--info { background: #E5EEF9; color: #24508C; }
#fiche.fiche .cv-acts { gap: 4px; justify-content: flex-end; padding-right: 4px !important; }
#fiche.fiche .cv-act { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 1.5px solid rgba(21, 44, 18, .12); border-radius: 9px; background: #fff; color: var(--foret); cursor: pointer; }
#fiche.fiche .cv-act svg { width: 15px; height: 15px; }
#fiche.fiche .cv-chev { justify-content: center; padding: 0 !important; border: 0; background: none; color: var(--ink-soft); cursor: pointer; }
#fiche.fiche .cv-chev .cv-ic { transition: transform .15s; }
#fiche.fiche .cv-chev[aria-expanded="true"] .cv-ic { transform: rotate(90deg); }
#fiche.fiche .cv-sous { margin: 14px 0 0; color: var(--ink-soft); font-size: .8125rem; font-weight: 800; }
#fiche.fiche .cv-jours { margin: 4px 0 0 58px; padding: 6px 14px; border-radius: 12px; background: rgba(21, 44, 18, .03); }
#fiche.fiche .cv-jour { display: grid; grid-template-columns: minmax(0, 1fr) 96px 86px 150px 150px; gap: 10px; padding: 6px 0; font-size: .875rem; font-weight: 600; font-variant-numeric: tabular-nums; }
#fiche.fiche .cv-jour--tete { padding: 2px 0 6px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; } /* FICHEDLV4-2410 */
#fiche.fiche .cv-moy { font-weight: 800; } #fiche.fiche .cv-moy--monte { color: #C26A00; }
#fiche.fiche .cv-jour + .cv-jour { border-top: 1px solid rgba(21, 44, 18, .06); }
#fiche.fiche .cv-co { display: grid; grid-template-columns: 34px 170px minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-top: 8px; padding: 12px 14px; border-radius: 14px; background: #F2F4EF; }
#fiche.fiche .cv-co__ic { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; background: #fff; color: #3E7D1C; }
#fiche.fiche .cv-co__l { color: var(--ink-soft); font-size: .875rem; font-weight: 600; }
#fiche.fiche .cv-co b { overflow: hidden; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
#fiche.fiche .cv-co__ko { margin-top: 12px; }
#fiche.fiche .cv-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
#fiche.fiche .cv-et { display: grid; grid-template-columns: 28px auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 14px; background: #F2F4EF; }
#fiche.fiche .cv-et > span:not(.cv-et__r) { color: var(--ink-soft); font-weight: 600; }
#fiche.fiche .cv-et__r { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #A1E04D; color: #152C12; }
#fiche.fiche .cv-et__r .cv-ic { width: 13px; height: 13px; }
#fiche.fiche .cv-vic { margin-top: 8px; border-radius: 14px; background: #F2F4EF; }
#fiche.fiche .cv-vic summary { display: grid; grid-template-columns: 96px auto minmax(0, 1fr) auto 18px; gap: 14px; align-items: center; padding: 12px 14px; cursor: pointer; list-style: none; }
#fiche.fiche .cv-vic summary::-webkit-details-marker { display: none; }
#fiche.fiche .cv-vic__d { display: flex; align-items: center; gap: 6px; font-size: .875rem; font-weight: 700; }
#fiche.fiche .cv-vic__d .cv-ic { width: 15px; height: 15px; color: var(--ink-soft); }
#fiche.fiche .cv-vic__q { overflow: hidden; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
#fiche.fiche .cv-vic__r { color: #2F6A12; font-size: .8125rem; font-weight: 800; white-space: nowrap; }
#fiche.fiche .cv-vic__chev { color: var(--ink-soft); transition: transform .15s; }
#fiche.fiche .cv-vic[open] .cv-vic__chev { transform: rotate(90deg); }
#fiche.fiche .cv-vic > p { margin: 0; padding: 0 14px 14px 124px; font-weight: 600; line-height: 1.5; }
#fiche.fiche .cv-tem { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; background: #F2F4EF; }
#fiche.fiche .cv-tem > div { flex: 1; }
#fiche.fiche .cv-tem small { display: block; color: var(--ink-soft); font-weight: 600; }
#fiche.fiche .cv-tem__s { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #FFF3C9; color: #B07A00; }
#fiche.fiche .cv-tem__s .cv-ic { width: 20px; height: 20px; }
@media (max-width: 760px) {
  #fiche.fiche .cv-heros { grid-template-columns: 1fr 1fr; gap: 12px; } #fiche.fiche .cv-heros > div + div { padding-left: 0; border: 0; }
  #fiche.fiche .cv-l { grid-template-columns: 50px minmax(0, 1fr) auto 34px; } #fiche.fiche .cv-l > .cv-c { display: none; } #fiche.fiche .cv-l--tete { display: none; }
  #fiche.fiche .cv-co { grid-template-columns: 34px minmax(0, 1fr) auto; } #fiche.fiche .cv-co__l { display: none; }
  #fiche.fiche .cv-vic summary { grid-template-columns: auto minmax(0, 1fr) 18px; } #fiche.fiche .cv-vic summary > .cv-p, #fiche.fiche .cv-vic__r { display: none; } #fiche.fiche .cv-vic > p { padding-left: 14px; }
  #fiche.fiche .cv-barre { flex-wrap: wrap; }
}

/* CPLMOY-2510 : € / prospect moyen depuis le lancement, vert s'il baisse, rouge s'il monte */
.table-camp .cd__t .cj-moy { font-weight: 700; }
.table-camp .cd__t .cj-moy--baisse { color: #2F7A12; }
.table-camp .cd__t .cj-moy--hausse { color: #B23A20; }
.table-camp .cd__jour > td { background: #FFFFFF; box-shadow: 0 -1px 0 #DCE3D8; }
.table-camp .cd__jour--pair > td { background: #EEF3EA; }
.table-camp--campagnes > tbody > tr.camp-ligne > td { box-shadow: 0 -1px 0 #D3DBCF; }
.table-camp--campagnes > tbody > tr.camp-ligne--pair > td { background: #EAF0E5; }
.table-camp .cd__camp + .cd__camp > td, .table-camp .cd__jour + .cd__camp > td { box-shadow: 0 -2px 0 #C9D3C3; }

/* VIGIE-2510 : la pastille d'avertissement de Campagnes (jaune, orange, rouge : demandés par Loris le 25/10) */
.vigie { display: inline-block; flex: none; width: 10px; height: 10px; border-radius: 50%; align-self: center; cursor: help; }
.vigie--1 { background: #FBEBB0; } .vigie--2 { background: #F7D576; } .vigie--3 { background: #F2A65A; } .vigie--4 { background: #E5484D; } /* VIGIE48-2910 : 48 h, 3 j, 4 j, 5 j */
.table-camp.table-camp--campagnes > thead > tr > th:nth-child(n+3):nth-child(-n+6),
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(n+3):nth-child(-n+6) { width: 7.5rem; min-width: 7.5rem; max-width: 7.5rem; padding-left: 8px; padding-right: 8px; text-align: center; white-space: normal; }  /* Alerte, État, Compte, Paiement : même largeur, centrés */
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(n+3):nth-child(-n+6) .puces { justify-content: center; }
.table-camp.table-camp--campagnes th.th-tri:has([data-tri="alerte"]) .tri { justify-content: center; margin: 0 auto; }
.table-camp.table-camp--campagnes .col-alerte .vigie { vertical-align: middle; }
.cd-vigie { display: flex; flex-wrap: wrap; gap: 6px 22px; padding: 8px 4px 12px; font-size: 13px; font-weight: 600; }
.cd-vigie span { display: inline-flex; align-items: center; gap: 8px; }

/* CAMPMOY-2610 (Loris, 26/10/2026) : client ouvert = sa ligne et les titres de ses colonnes collés en haut ; les autres clients floutés ;
   les 4 moyennes du € / prospect groupées sur un fond teinté, la 7 jours en pastille quand elle s'écarte du début */
.cd__defile { overflow: visible; }
.table-camp--focus > thead > tr > th { position: static !important; }
#table-camp .table-camp--focus > tbody > tr.camp-ouverte > td { position: sticky; top: 0; z-index: 5; }
#table-camp .table-camp--focus .cd__t > thead > tr > th { position: sticky; top: calc(var(--cd-h, 80px) - 1px); z-index: 4; background: var(--blanc); }
#table-camp .table-camp--focus .cd__t > thead > tr + tr > th { top: calc(var(--cd-h, 80px) + 25px); box-shadow: inset 0 -1px 0 var(--trait); border-bottom: 0; }
.table-camp .cd__t .cd__tete-g > th { height: 26px; padding: 8px 12px 0; border-bottom: 0; font-size: .7rem; letter-spacing: .04em; }
.table-camp .cd__t th.cj-moy--g { text-align: center; color: var(--foret); border-radius: 12px 12px 0 0; }
.table-camp .cd__t .cj-moy { background-image: linear-gradient(rgba(161, 224, 77, .13), rgba(161, 224, 77, .13)); font-weight: 700; }
.table-camp .cd__t td.cj-moy--vide { color: var(--ink-soft); font-weight: 500; opacity: .6; }
.table-camp .cd__t th.cj-moy--j7, .table-camp .cd__t td.cj-moy--j7 { padding-left: 14px; }
.cj-tend { display: inline-block; padding: 3px 9px; margin: -3px -9px; border-radius: 999px; font-weight: 800; }
.cj-tend--ambre { background: #F7D576; color: #152C12; }
.cj-tend--rouge { background: #F3B4A6; color: #6E1B0C; }
.cj-tend--lime { background: #A1E04D; color: #152C12; }
.table-camp--campagnes > tbody > tr.camp-ligne--grise { opacity: .35; filter: blur(1.5px); transition: opacity .15s, filter .15s; }
.table-camp--campagnes > tbody > tr.camp-ligne--grise:hover { opacity: .7; filter: none; }
.table-camp--campagnes > tfoot.camp-pied--grise { filter: blur(1.5px); }
.table-camp .cd__t th, .table-camp .cd__t td { padding-left: 7px; padding-right: 7px; }
.table-camp .cd__t td.qui { min-width: 12.5rem; }
.table-camp .cd__t .cd__date { padding-left: 46px !important; }
.cd__t .budget-l input { width: 3.6rem; }
.table-camp .cd__t td.qui { min-width: 13rem; }
.cd__camp .qui b { max-width: 12rem; }
.cd__camp .qui small { white-space: nowrap; }
.table-camp--focus .cd { padding-left: 10px; padding-right: 10px; }

/* CAMPMOY-2610 v2 (Loris : « séparer les stats du jour et les moyennes », « que les campagnes ressortent », le collage sans jour qui passe dessous) */
#table-camp .table-camp--focus .cd__t > thead > tr > th { top: var(--cd-h, 80px); }
#table-camp .table-camp--focus .cd__t > thead > tr + tr > th { top: calc(var(--cd-h, 80px) + var(--cd-g, 26px)); }
.table-camp .cd__t .cd-sep, .table-camp .cd__t .cd__jour > td.cd-sep, .table-camp .cd__t .cd__camp > td.cd-sep { width: 14px; min-width: 14px; padding: 0; background: var(--blanc) !important; background-image: none !important; box-shadow: none !important; }
.table-camp .cd__t .cd__tete-g > th.cd-g { text-align: center; color: var(--ink-soft); }
.table-camp .cd__t .cd__tete-g > th.cd-g--jour { background-image: linear-gradient(rgba(21, 44, 18, .05), rgba(21, 44, 18, .05)); border-radius: 12px 12px 0 0; }
.table-camp .cd__t th.cj-moy--g { color: var(--foret); }
/* la ligne du client ouverte = un bandeau sous-bois : son nom et ses états, ses chiffres s'effacent (ils sont dans ses campagnes) */
#table-camp .table-camp--focus > tbody > tr.camp-ouverte > td { background: #152C12 !important; color: #F2FEE2; border-bottom: 0; }
.table-camp--focus > tbody > tr.camp-ouverte > td:first-child { border-radius: 18px 0 0 0; }
.table-camp--focus > tbody > tr.camp-ouverte > td:last-child { border-radius: 0 18px 0 0; }
.table-camp--focus > tbody > tr.camp-ouverte .qui b { color: #FFFFFF; font-size: 1rem; }
.table-camp--focus > tbody > tr.camp-ouverte .qui span { color: rgba(242, 254, 226, .7); }
.table-camp--focus > tbody > tr.camp-ouverte > td.num, .table-camp--focus > tbody > tr.camp-ouverte > td.num * { color: #FFFFFF !important; }
.table-camp--focus > tbody > tr.camp-ouverte .camp-maj, .table-camp--focus > tbody > tr.camp-ouverte .camp-jours-btn { color: #F2FEE2; background: rgba(242, 254, 226, .1); }
#table-camp .table-camp--focus > tbody > tr.camp-detail > td { padding-top: 0; background: #152C12 !important; }
.table-camp--focus .cd { border-radius: 16px; }
.table-camp .cd__t th, .table-camp .cd__t td { padding-left: 6px; padding-right: 6px; }
.table-camp .cd__t .cd-sep, .table-camp .cd__t .cd__jour > td.cd-sep, .table-camp .cd__t .cd__camp > td.cd-sep { width: 10px; min-width: 10px; padding: 0; }
.table-camp .cd__t td.qui { min-width: 12rem; }
.table-camp .cd__t td.qui { min-width: 0; }
.cd__camp .qui b { max-width: 10.5rem; }
#table-camp .table-camp--focus > tbody > tr.camp-detail > td { padding-left: 8px; padding-right: 8px; }
.table-camp--focus .cd { padding: 6px 0 4px; overflow: clip; }

/* CAMPMOY-2610 v3 : les titres des colonnes sur un fond à eux, nettement à part des lignes */
#table-camp .table-camp--focus .cd__t > thead > tr > th { background: #E3EADF; color: #152C12; }
#table-camp .table-camp--focus .cd__t > thead > tr + tr > th { box-shadow: inset 0 -2px 0 #C9D3C3; font-weight: 800; }
#table-camp .table-camp--focus .cd__t > thead > tr > th.cd-sep { background: var(--blanc) !important; box-shadow: none; }
.table-camp .cd__t .cd__tete-g > th.cd-g--jour, .table-camp .cd__t th.cj-moy { background-image: none; }
#table-camp .table-camp--focus .cd__t > thead > tr > th.cj-moy { background: #D3E8B8; }
.table-camp--focus .cd { padding-top: 0; }
/* CAMPMOY-2610 v3 : réglages et copie au survol de la campagne (le nom garde la place) */
.cd__camp .qui .cs-camp { position: relative; }
.cd__camp .cd-acts { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; gap: 6px; padding: 4px; border-radius: 999px; background: var(--blanc); box-shadow: 0 4px 14px -6px rgba(21, 44, 18, .35); opacity: 0; pointer-events: none; transition: opacity .12s; }
.cd__camp:hover .cd-acts, .cd__camp:focus-within .cd-acts { opacity: 1; pointer-events: auto; }
.cd__camp .qui b { max-width: 15rem; }
/* CAMPMOY-2610 v4 (Loris : « des arrondis avec des angles, c est moche », « pas besoin de séparer de fond », un trait clair sous le client) */
.table-camp .cd__t .cd__tete-g > th, .table-camp .cd__t th.cj-moy--g, .table-camp .cd__t .cd__tete-g > th.cd-g--jour { border-radius: 0; }
#table-camp .table-camp .cd__t th.cd-sep, #table-camp .table-camp .cd__t td.cd-sep { width: 0; min-width: 0; padding: 0; background: transparent !important; background-image: none !important; }
#table-camp .table-camp .cd__t tr > .cd-sep + * { border-left: 2px solid #C9D3C3; }
#table-camp .table-camp--focus .cd__t > thead > tr > th.cd-sep { background: #E3EADF !important; }
#table-camp .table-camp .cd__t .cd__jour > td.cd-sep, #table-camp .table-camp .cd__t .cd__camp + .cd__camp > td.cd-sep, #table-camp .table-camp .cd__t .cd__jour + .cd__camp > td.cd-sep { box-shadow: inherit !important; }
#table-camp .table-camp--focus > tbody > tr.camp-ouverte > td { box-shadow: inset 0 -2px 0 rgba(242, 254, 226, .55) !important; }
#table-camp .table-camp--focus > tbody > tr.camp-detail > td { padding-top: 10px; }
.table-camp .cd__t .cd__camp > td, .table-camp .cd__t .cd__camp + .cd__camp > td, .table-camp .cd__t .cd__jour + .cd__camp > td { box-shadow: none !important; }
.table-camp .cd__t .cd__camp + .cd__camp > td, .table-camp .cd__t .cd__jour + .cd__camp > td { border-top: 2px solid #C9D3C3; }
html[data-theme="sombre"] .table-camp .cd__t .cd__camp + .cd__camp > td, html[data-theme="sombre"] .table-camp .cd__t .cd__jour + .cd__camp > td { border-top-color: rgba(238, 245, 233, .14); }

/* ABSMOBILE-2610 (Ludivine, 26/10 : « sur téléphone impossible de sélectionner les heures d'absences ») : Du / Au, la date et l'heure sur une seule ligne quelle que soit la largeur */
.ag-absence__ligne { display: grid; grid-template-columns: 22px minmax(0, 1.45fr) minmax(0, 1fr); }
.ag-absence input[type="date"], .ag-absence input[type="time"] { width: 100%; min-width: 0; padding: 0 6px; }
.ag-absence input[type="date"]::-webkit-calendar-picker-indicator { margin-left: 2px; }

/* CSMANNULE-2610 : fiche suivi › Appels, le prochain appel : changer l'heure (flèches) et annuler (croix) en boutons ronds à droite, comme dans Sales */
.fiche .bloc--prochain { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; }
.fiche .bloc--prochain > h3 { grid-column: 1 / -1; }
.fiche .appel__gestes { display: flex; gap: 8px; }
.fiche .appel__gestes .appel__geste--ico { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 999px; background: var(--blanc); box-shadow: inset 0 0 0 1.5px rgba(21, 44, 18, .25); color: var(--foret); text-decoration: none; cursor: pointer; }
.fiche .appel__gestes .appel__geste--ico:hover { background: rgba(21, 44, 18, .06); }
.fiche .appel__gestes .appel__geste--danger { color: #B23A20; box-shadow: inset 0 0 0 1.5px rgba(178, 58, 32, .35); }
.fiche .appel__gestes .appel__geste--danger:hover { background: #FBE9E4; }
.fiche .appel__gestes .appel__geste--ico .ico { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* AGORIGINE-2610 : la nuance d un R1 selon son origine (réservé seul = la couleur de l offre ; formulaire relancé ; lead froid) ; passé = la même nuance, grisée */
.ag-rdv.ag-o-formulaire, .ag-mpuce.ag-o-formulaire, .ag-leg__c.ag-o-formulaire, .ag-leg__p.ag-o-formulaire { background: #C6EC8F; }
.ag-rdv.ag-o-froid, .ag-mpuce.ag-o-froid, .ag-leg__c.ag-o-froid, .ag-leg__p.ag-o-froid { background: #E3F5C6; }
.ag-rdv.ag-rdv--reco.ag-o-formulaire, .ag-mpuce.ag-mpuce--reco.ag-o-formulaire, .ag-leg__c.ag-leg__c--reco.ag-o-formulaire { background: #F7C78A; }
.ag-rdv.ag-rdv--reco.ag-o-froid, .ag-mpuce.ag-mpuce--reco.ag-o-froid, .ag-leg__c.ag-leg__c--reco.ag-o-froid { background: #FCE3C2; }
.ag-rdv.ag-rdv--realise.ag-o-formulaire, .ag-rdv.ag-rdv--noshow.ag-o-formulaire, .ag-mpuce.ag-mpuce--realise.ag-o-formulaire, .ag-mpuce.ag-mpuce--noshow.ag-o-formulaire { background: color-mix(in srgb, #C6EC8F 50%, #E4E8E1); }
.ag-rdv.ag-rdv--realise.ag-o-froid, .ag-rdv.ag-rdv--noshow.ag-o-froid, .ag-mpuce.ag-mpuce--realise.ag-o-froid, .ag-mpuce.ag-mpuce--noshow.ag-o-froid { background: color-mix(in srgb, #E3F5C6 50%, #E4E8E1); }
.ag-rdv.ag-rdv--realise.ag-rdv--reco.ag-o-formulaire, .ag-rdv.ag-rdv--noshow.ag-rdv--reco.ag-o-formulaire, .ag-mpuce.ag-mpuce--realise.ag-mpuce--reco.ag-o-formulaire, .ag-mpuce.ag-mpuce--noshow.ag-mpuce--reco.ag-o-formulaire { background: color-mix(in srgb, #F7C78A 50%, #E4E8E1); }
.ag-rdv.ag-rdv--realise.ag-rdv--reco.ag-o-froid, .ag-rdv.ag-rdv--noshow.ag-rdv--reco.ag-o-froid, .ag-mpuce.ag-mpuce--realise.ag-mpuce--reco.ag-o-froid, .ag-mpuce.ag-mpuce--noshow.ag-mpuce--reco.ag-o-froid { background: color-mix(in srgb, #FCE3C2 50%, #E4E8E1); }
.ag-leg__p { background: #A1E04D; }
.ag-legende-liste { padding: 14px 16px; }
.ag-leg { display: grid; grid-template-columns: auto 44px 44px; align-items: center; gap: 10px 12px; font-size: .8125rem; font-weight: 600; color: var(--foret); }
.ag-leg b { font-size: .75rem; text-align: center; color: var(--ink-soft); }
.ag-leg__c { justify-self: center; width: 32px; height: 18px; border-radius: 6px; background: #A1E04D; }
.ag-leg__c--reco { background: #F2A23A; }
.ag-leg__c--r2 { display: grid; place-items: center; font-size: .6875rem; font-weight: 800; color: var(--foret); }
/* AGORIGINE-2610 (Loris, 26/10 : « marquer R2 dans la case, directement ») : R2 et plus = le numéro écrit dans la carte, plus de contour */
.ag-rdv.ag-rdv--r2, .ag-mpuce.ag-mpuce--r2 { box-shadow: none; }
.ag-rn { flex: none; margin-right: 5px; padding: 0 5px; border-radius: 5px; background: var(--foret); color: #FFFFFF; font-size: .6875rem; font-weight: 800; line-height: 1.45; }
.ag-mpuce .ag-rn, .ag-leg__c--r2 .ag-rn { margin-right: 0; }
.ag-leg__c--r2 .ag-rn { padding: 0 3px; font-size: .625rem; line-height: 1.3; }
.ag-rdv .ag-rdv__nom .ag-rn { display: inline-block; vertical-align: 1px; }
@container (max-width: 119px) { .ag-rdv:has(> .ag-issue) .ag-rdv__nom:has(.ag-pers) .ag-rn { font-size: .6875rem; } }

/* AGORIGINE-2610 v4 : la légende sert de filtre, une case par couleur (offre × origine), comme le choix des offres ; le libellé coche les deux offres */
.ag-leg__nom { padding: 4px 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ag-leg__c { display: grid; place-items: center; padding: 0; border: 0; cursor: pointer; color: var(--foret); }
.ag-leg__c svg { width: 12px; height: 12px; }
.ag-leg__c--off { background: transparent !important; box-shadow: inset 0 0 0 1.5px rgba(21, 44, 18, .3); }
.ag-leg__c--off .ag-rn { opacity: .35; }
html[data-theme="sombre"] .ag-leg__c--off { box-shadow: inset 0 0 0 1.5px rgba(232, 242, 224, .35); }

/* AGORIGINE-2610 v5 (Loris, 27/10 : « la pastille du closer en petit à côté du R2, quitte à ce que le prénom disparaisse ») : carte étroite d un R2 = R2 + pastille, sans le nom */
@container (max-width: 119px) {
  .ag-rdv--r2 .ag-rdv__nom:has(.ag-pers) { font-size: 0; white-space: nowrap; }
  .ag-rdv--r2 .ag-rdv__nom:has(.ag-pers) .ag-rn { margin-right: 4px; padding: 0 4px; font-size: .625rem; }
}
@container (max-width: 59px) {
  .ag-rdv--r2 .ag-rdv__in { padding-inline: 3px; }
  .ag-rdv--r2 .ag-rdv__nom:has(.ag-pers) .ag-rn { margin-right: 2px; padding: 0 3px; font-size: .5625rem; }
  .ag-rdv--r2 .ag-rdv__nom .ag-pers { min-width: 14px; height: 14px; margin-right: 0; padding: 0 2px; font-size: .5rem; }
}

/* CAMPCLI-2610 : € / prospect moyen 7 j · 14 j · 30 j · Début dans le tableau des clients (même teinte que le détail du compte) */
.table-camp--campagnes > thead > tr > th.cd-sep, .table-camp--campagnes > tbody > tr.camp-ligne > td.cd-sep, .table-camp--campagnes > tfoot td.cd-sep { width: 0; min-width: 0; padding: 0; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.cd-sep + td, .table-camp--campagnes > thead > tr > th.cd-sep + th, .table-camp--campagnes > tfoot td.cd-sep + td { border-left: 2px solid #C9D3C3; }
#table-camp .table-camp--campagnes > thead > tr > th.cj-moy { background: #D3E8B8; color: #152C12; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy, .table-camp--campagnes > tfoot td.cj-moy { background-image: linear-gradient(rgba(161, 224, 77, .13), rgba(161, 224, 77, .13)); }
.table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy--vide { color: var(--ink-soft); font-weight: 500; opacity: .6; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy--j7, .table-camp--campagnes > thead > tr > th.cj-moy--j7 { padding-left: 14px; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy { padding-left: 8px; padding-right: 8px; }
/* CAMPCLI-2610 : place pour les 4 moyennes à 1440 px sans défilement : Alerte, État, Compte, Paiement restent égaux et centrés, en 6rem */
.table-camp.table-camp--campagnes > thead > tr > th:nth-child(n+3):nth-child(-n+6),
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(n+3):nth-child(-n+6) { width: 6rem; min-width: 6rem; max-width: 6rem; padding-left: 4px; padding-right: 4px; }
.table-camp--campagnes > thead > tr > th.cj-moy, .table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy { width: 4.6rem; min-width: 4.6rem; padding-left: 6px; padding-right: 10px; }
.table-camp--campagnes > thead > tr > th.cj-moy--j7, .table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy--j7 { padding-left: 14px; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.num, .table-camp--campagnes > thead > tr > th.num { padding-left: 6px; }
.table-camp.table-camp--campagnes > thead > tr > th:nth-child(3), .table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(3) { width: 3.6rem; min-width: 3.6rem; max-width: 3.6rem; }  /* Alerte = une pastille */
.table-camp--campagnes > tbody > tr.camp-ligne > td.qui { min-width: 10rem; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy { font-size: .92rem !important; }
.table-camp--campagnes > tbody > tr > td.plus, .table-camp--campagnes > thead th:last-child { padding-right: 12px; padding-left: 4px; }
.table-camp.table-camp--campagnes > thead > tr > th:nth-child(n+4):nth-child(-n+6),
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(n+4):nth-child(-n+6) { width: 5.4rem; min-width: 5.4rem; max-width: 5.4rem; }
.table-camp.table-camp--campagnes > thead > tr > th:nth-child(3):nth-child(-n+6), .table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(3):nth-child(-n+6) { width: 3.6rem; min-width: 3.6rem; max-width: 3.6rem; }
.table-camp--campagnes > thead > tr > th.cj-moy, .table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy { width: 4.2rem; min-width: 4.2rem; padding-right: 8px; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.num, .table-camp--campagnes > thead > tr > th.num, .table-camp--campagnes > tfoot td.num { padding-right: 6px; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.qui { min-width: 9rem; }
.table-camp--campagnes > tbody > tr > td.plus, .table-camp--campagnes > thead th:last-child, .table-camp--campagnes > tfoot td:last-child { padding-right: 6px; padding-left: 0; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.qui { min-width: 0; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.qui b { white-space: nowrap; }  /* CAMPCLI-2610 : le nom du client sur une ligne */
#table-camp .table-camp--focus > tbody > tr.camp-ouverte > td.cj-moy { background-image: none; opacity: 1; }  /* CAMPCLI-2610 : bandeau du client ouvert */
#table-camp .table-camp--focus > tbody > tr.camp-ouverte > td.cj-moy--vide { color: rgba(242, 254, 226, .5) !important; }

/* AGELEVES-2710 : le type d'un appel élève en icône (tuile ronde, comme la pastille), à côté de la photo de la CSM */
.ag-rdv__ty { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 6px; border-radius: 6px; background: rgba(21, 44, 18, .14); vertical-align: -4px; }
.ag-rdv__ty svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* REPLAYELEVE-2710 : la frise d'un appel élève a jusqu'à 10 étapes : le nom d'une étape courte reste dans son segment */
.rv-frise--etapes .rv-frise__chap { overflow: hidden; }
.rv-frise--etapes .rv-frise__chap > span { max-width: 100%; }
/* CAMPCLI-2610 v5 : bulle courte pour les dates d'une semaine */
#bulle-camp:not(:has(*)) { width: auto; max-width: 260px; padding: 8px 12px; font-weight: 700; }

/* ADSET-2710 / CAMPCLI-2610 v6 : la page d'un client de Campagnes (barre, héros, arbre campagne > ensembles > pubs, jour par jour replié) */
#pc { display: grid; gap: 22px; padding-bottom: 40px; } #pc > * { min-width: 0; }
#pc #msg-camp:empty { display: none; }
.pc-barre { display: flex; align-items: center; gap: 16px; }
.pc-retour { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px 0 10px; border-radius: 12px; background: var(--blanc); color: var(--foret); font-weight: 800; text-decoration: none; }
.pc-retour svg, .pc-maj svg { width: 18px; height: 18px; }
.pc-qui { display: flex; align-items: baseline; gap: 10px; } .pc-qui b { font-size: 1.25rem; font-weight: 800; } .pc-qui span { color: var(--ink-soft); font-weight: 700; }
.pc-maj { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }
.pc-heros { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 14px; padding: 22px; border-radius: var(--r-board); background: var(--grad-sousbois); color: #F2FEE2; box-shadow: inset 0 0 120px rgba(161, 224, 77, .08); }
.pc-heros > div { display: grid; align-content: start; gap: 6px; padding: 16px 20px; border-radius: var(--r-glass); background: rgba(242, 254, 226, .07); }
.pc-lib { justify-self: start; color: var(--on-dark-soft); font-size: .8rem; font-weight: 700; letter-spacing: .02em; }
.pc-heros b { font-size: 2.1rem; font-weight: 800; line-height: 1.05; } .pc-heros small { font-size: 1.1rem; color: var(--on-dark-soft); font-weight: 700; }
.pc-cle b { font-size: 2.8rem; color: #FFFFFF; }
.pc-pastille { justify-self: start; padding: 3px 10px; border-radius: 999px; background: rgba(242, 254, 226, .14); font-size: .8rem; font-weight: 800; }
.pc-pastille--rouge { background: #F3B4A6; color: #6E1B0C; } .pc-pastille--ambre { background: #F7D576; color: #152C12; } .pc-pastille--lime { background: #A1E04D; color: #152C12; }
.pc-sous { color: var(--on-dark-soft); font-size: .85rem; font-weight: 700; }
.pc-board { position: relative; padding: 18px 18px 14px; border-radius: var(--r-board); background: var(--blanc); }
.pc-h { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1.05rem; font-weight: 800; }
.pc-h small { color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.pc-tuile-ic { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: var(--rosee); color: var(--foret); box-shadow: inset 0 0 0 1.5px #CDEBA6; }
.pc-tuile-ic svg { width: 18px; height: 18px; }
.pc-jours { padding: 14px 18px; } .pc-jours > summary { margin: 0; cursor: pointer; list-style: none; } .pc-jours > summary::-webkit-details-marker { display: none; }
.pc-jours[open] > summary { margin-bottom: 12px; } .pc-chev { margin-left: auto; width: 20px; height: 20px; color: var(--ink-soft); transition: transform .15s; } .pc-chev svg { width: 20px; height: 20px; }
.pc-jours[open] .pc-chev { transform: rotate(180deg); }
.pc-defile { overflow-x: auto; }
.pc-t { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .875rem; }
.pc-t th { padding: 8px; color: var(--ink-soft); font-size: .8rem; font-weight: 800; text-align: left; white-space: nowrap; border-bottom: 2px solid #E3EADF; }
.pc-t td { padding: 9px 8px; white-space: nowrap; }
.pc-t .num { text-align: right; } .pc-t .pc-int { width: 46px; }
.pc-t th.pc-s, .pc-t td.pc-s { width: 4.6rem; min-width: 4.6rem; background: rgba(161, 224, 77, .13); font-weight: 700; }
.pc-t th.pc-s { background: #D3E8B8; color: #152C12; cursor: help; }
.pc-t .pc-s1 { border-left: 2px solid #C9D3C3; padding-left: 14px; }
.pc-t td.pc-vide { color: var(--ink-soft); font-weight: 500; opacity: .6; }
.pc-ens + .pc-ens::before { content: ""; display: block; height: 12px; }
.pc-e > td { background: #F4F7F1; font-weight: 700; border-top: 1px solid #E3EADF; }
.pc-e > td:first-child { border-radius: 14px 0 0 0; } .pc-e > td:last-child { border-radius: 0 14px 0 0; }
.pc-e > td.pc-s { background: #E4F0D4; } .pc-e:hover > td { background: #EEF5E6; }
.pc-pub > td { border-top: 1px solid #EEF1EC; font-size: .85rem; } .pc-pub .pc-nom { padding-left: 30px; }
.pc-nom { display: flex; align-items: center; gap: 10px; min-width: 16rem; max-width: 23rem; } .pc-nom b, .pc-nom span { overflow: hidden; text-overflow: ellipsis; } .pc-nom b { font-weight: 800; }
.pc-ic { display: grid; place-items: center; flex: none; width: 26px; height: 26px; border-radius: 8px; background: #E3EADF; color: var(--foret); } .pc-ic svg { width: 15px; height: 15px; }
.pc-ic--pub { background: #EEF1EC; color: var(--ink-soft); }
.pc-date { color: var(--ink-soft); font-size: .82rem; font-weight: 700; }
.pc-acts { display: inline-flex; flex: none; gap: 4px; margin-left: auto; opacity: 0; transition: opacity .12s; } .pc-e:hover .pc-acts, .pc-acts:focus-within { opacity: 1; }
.pc-acts button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 9px; background: rgba(21, 44, 18, .07); color: var(--foret); cursor: pointer; }
.pc-acts button:hover { background: var(--grad-lime); } .pc-acts svg { width: 16px; height: 16px; }
.pc-j > td { border-top: 1px solid #EEF1EC; } .pc-j--pair > td:not(.pc-s) { background: #F7FAF4; } .pc-j .cj__ev { display: flex; flex-wrap: wrap; gap: 4px; }
.pc-pop { position: absolute; z-index: 70; display: grid; gap: 10px; width: 330px; padding: 14px 16px; border-radius: 18px; background: var(--blanc); color: var(--foret); box-shadow: 0 12px 40px rgba(21, 44, 18, .18), 0 0 0 1px #E3EADF; }
.pc-pop__l { display: flex; gap: 8px; } .pc-pop__l > * { flex: 1; } .pc-pop .btn { white-space: nowrap; } .pc-pop__t2 { margin-top: 6px; }
.pc-pop input { height: 38px; padding: 0 10px; border: 1px solid #D5DDD0; border-radius: 10px; font: inherit; }
.pc-pop__pub { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 10px; padding: 8px 10px; border: 0; border-radius: 12px; background: #F4F7F1; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.pc-pop__pub:hover { background: var(--rosee); } .pc-pop__pub .pc-ic { grid-row: span 2; } .pc-pop__pub span { font-weight: 700; } .pc-pop__pub small { color: var(--ink-soft); font-size: .75rem; }
@media (max-width: 699px) { .pc-heros { grid-template-columns: 1fr; } .pc-barre { flex-wrap: wrap; } .pc-maj { margin-left: 0; } }
/* largeurs fixes : les colonnes de toutes les campagnes tombent au même endroit, tout tient sans défiler */
.pc-t { table-layout: fixed; } .pc-t td, .pc-t th { overflow: hidden; text-overflow: ellipsis; }
.pc-t th.pc-int { width: 54px; } .pc-t th.pc-c-diff { width: 172px; } .pc-t th.pc-c-bud { width: 96px; } .pc-t th.pc-c-dep { width: 96px; } .pc-t th.pc-c-n { width: 84px; }
.pc-t th.pc-s { width: 76px; } .pc-t th.pc-s1 { width: 84px; } .pc-t th.pc-c-jour { width: 70px; }
.pc-nom { min-width: 0; max-width: none; }
/* les boutons d'un ensemble par-dessus la fin du nom, seulement au survol (le nom garde toute la place) */
.pc-e td:nth-child(2) { position: relative; }
.pc-e .pc-acts { position: absolute; top: 50%; right: 6px; padding-left: 18px; background: linear-gradient(90deg, transparent, #EEF5E6 16px); transform: translateY(-50%); }
html[data-theme="sombre"] .pc-e .pc-acts { background: linear-gradient(90deg, transparent, #2B3B27 16px); }
.pc-t th.pc-c-diff { width: 188px; } .pc-t th.pc-s { width: 72px; } .pc-t th.pc-s1 { width: 80px; }
/* CAMPCLI v7 : onglets Campagnes / Ensembles de pubs / Pubs, un tableau standard, menu « ⋯ » par ligne */
.pc-onglets { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.pc-seg button { display: inline-flex; align-items: center; gap: 8px; } .pc-seg button svg { width: 16px; height: 16px; }
.pc-seg button small { padding: 1px 7px; border-radius: 999px; background: rgba(21, 44, 18, .08); font-size: .72rem; font-weight: 800; }
.pc-filtre { display: inline-flex; align-items: center; gap: 8px; max-width: 26rem; height: 34px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--rosee); box-shadow: inset 0 0 0 1.5px #CDEBA6; color: var(--foret); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pc-filtre span { font-size: 1.05rem; color: var(--ink-soft); }
.pc-l { cursor: pointer; } .pc-l > td { border-top: 1px solid #EEF1EC; } .pc-l--pair > td:not(.pc-s) { background: #F7FAF4; } .pc-l:hover > td:not(.pc-s) { background: #EEF5E6; }
.pc-l .pc-nom b { font-weight: 700; }
.pc-t th.pc-c-cree { width: 82px; } .pc-t th.pc-c-diff { width: 150px; } .pc-t th.pc-c-menu { width: 46px; }
.pc-menu-c { text-align: right; }
.pc-menu { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 9px; background: transparent; color: var(--foret); font: inherit; font-size: 1.15rem; font-weight: 800; line-height: 1; cursor: pointer; }
.pc-menu:hover, .pc-l:hover .pc-menu { background: rgba(21, 44, 18, .08); }
.pc-pop--menu { width: 250px; padding: 6px; gap: 0; }
.pc-menu-l { display: grid; } .pc-menu-l button { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 10px; background: none; color: inherit; font: inherit; font-size: .875rem; font-weight: 600; text-align: left; cursor: pointer; }
.pc-menu-l button:hover { background: var(--rosee); } .pc-menu-l svg { width: 16px; height: 16px; color: var(--ink-soft); }
/* v7 : le nom garde la place (colonnes de chiffres resserrées) */
.pc-t th.pc-int { width: 50px; } .pc-t th.pc-c-diff { width: 140px; } .pc-t th.pc-c-cree { width: 72px; } .pc-t th.pc-c-bud, .pc-t th.pc-c-dep { width: 86px; } .pc-t th.pc-c-n { width: 74px; }
.pc-t th.pc-s { width: 66px; } .pc-t th.pc-s1 { width: 74px; } .pc-t th.pc-sd { width: 70px; } .pc-t th.pc-c-menu { width: 40px; }
.pc-t th.pc-c-n { width: 82px; }
/* v8 : sélection par case à cocher, comme le gestionnaire de Facebook */
.pc-t th.pc-c-sel { width: 34px; } .pc-t td.pc-c-sel, .pc-t th.pc-c-sel { padding-right: 0; }
.pc-case { width: 17px; height: 17px; margin: 0; accent-color: #3E7D1C; cursor: pointer; }
.pc-l.pc-l--sel > td:not(.pc-s) { background: var(--rosee); } .pc-l.pc-l--sel > td.pc-s { background: #DCEFC4; }
.pc-lien { overflow: hidden; color: inherit; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; } .pc-lien:hover { text-decoration: underline; text-underline-offset: 3px; }
.pc-sel-n { display: inline-flex; align-items: center; gap: 6px; background: var(--lime) !important; color: var(--foret); }
.pc-sel-n i { font-style: normal; font-size: .95rem; line-height: 1; opacity: .7; cursor: pointer; } .pc-sel-n i:hover { opacity: 1; }
/* v8 : le nom en entier sur 2 lignes au plus (les campagnes ne diffèrent souvent que par la fin du nom) */
.pc-l td:nth-child(3) { white-space: normal; } .pc-l .pc-lien, .pc-l .pc-nom b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; line-height: 1.3; }
/* v9 : sélecteur de colonnes (€ / prospect | Répétition · CPM · CTR) à droite des onglets ; répétition, CPM, CTR au jour par jour */
.pc-cols { margin-left: auto; } .pc-t th.pc-c-a { width: 76px; }
.pc-t .rep--moyen { color: #B26B00; } .pc-t .rep--haut { color: #C2372F; }
.pc-t th.pc-c-rep { width: 96px; } .pc-jours .pc-t th.pc-c-a { width: 92px; } .pc-jours .pc-t th.pc-c-bud { width: 100px; }
/* CAMPCLI v10 : période, Répartition, Colonnes, tableau libre qui défile (nom collé à gauche), volet à droite */
.pc-barre { flex-wrap: wrap; } .pc-periode { margin-left: auto; } .pc-periode + .pc-maj { margin-left: 0; }
.pc-outils { display: flex; gap: 8px; margin-left: auto; }
.pc-outil { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 12px; border: 0; border-radius: 12px; background: rgba(21, 44, 18, .06); color: var(--foret); font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
.pc-outil svg { width: 16px; height: 16px; } .pc-outil svg:last-child { width: 14px; height: 14px; opacity: .6; } .pc-outil.on { background: var(--rosee); box-shadow: inset 0 0 0 1.5px #CDEBA6; }
.pc-defile { overflow-x: auto; overscroll-behavior-x: contain; }
.pc-t.pc-t--libre { table-layout: auto; width: max-content; min-width: 100%; }
.pc-t--libre th, .pc-t--libre td { white-space: nowrap; overflow: visible; }
.pc-t--libre th.num, .pc-t--libre td.num { min-width: 78px; } .pc-t--libre th.pc-s, .pc-t--libre td.pc-s { width: auto; min-width: 70px; }
.pc-t--libre .pc-fixe { position: sticky; z-index: 1; background: var(--blanc); }
.pc-t--libre .pc-c-sel { left: 0; width: 34px; min-width: 34px; } .pc-t--libre .pc-c-int { left: 34px; width: 50px; min-width: 50px; } .pc-t--libre .pc-c-nom { left: 84px; min-width: 250px; max-width: 320px; box-shadow: 6px 0 8px -8px rgba(21, 44, 18, .35); }
.pc-t--libre .pc-c-nom .pc-nom { max-width: 300px; }
.pc-t--libre .pc-l--pair > td.pc-fixe { background: #F7FAF4; } .pc-t--libre .pc-l--sel > td.pc-fixe, .pc-t--libre .pc-l:hover > td.pc-fixe { background: #EEF5E6; } .pc-t--libre .pc-l.pc-l--sel > td.pc-fixe { background: var(--rosee); }
.pc-t--libre .pc-c-menu { position: sticky; right: 0; z-index: 1; width: 40px; background: var(--blanc); }
.pc-lien--camp { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; -webkit-line-clamp: unset !important; }
.pc-rang { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; } .pc-rang svg { width: 14px; height: 14px; color: var(--ink-soft); }
.pc-jl > td { padding-top: 5px; padding-bottom: 5px; border-top: 1px dashed #E3EADF; font-size: .82rem; color: var(--ink-soft); } .pc-jl > td.pc-c-nom { padding-left: 46px; font-weight: 700; }
.pc-pop--cols { width: 280px; } .pc-cols-l { display: grid; gap: 2px; max-height: 360px; overflow: auto; }
.pc-cols-l label { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 9px; font-size: .86rem; font-weight: 600; cursor: pointer; } .pc-cols-l label:hover { background: var(--rosee); }
.pc-menu-l button.on { background: var(--rosee); }
.pc-pop--vignette { width: 200px; padding: 8px; gap: 6px; pointer-events: none; } .pc-pop--vignette img { width: 100%; border-radius: 10px; display: block; } .pc-pop--vignette b { font-size: .8rem; }
[data-pc-vignette] { cursor: zoom-in; }
#pc-volet[hidden] { display: none; }
.pc-v-fond { position: fixed; inset: 0; z-index: 80; background: rgba(21, 44, 18, .18); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.pc-v { position: fixed; top: 12px; right: 12px; bottom: 12px; z-index: 81; display: flex; flex-direction: column; gap: 14px; width: min(460px, calc(100vw - 24px)); padding: 18px; overflow: auto; border-radius: 22px; background: var(--blanc); color: var(--foret); box-shadow: 0 24px 60px rgba(21, 44, 18, .3); }
.pc-v-tete { display: flex; align-items: center; gap: 12px; } .pc-v-tete > div { display: grid; flex: 1; min-width: 0; } .pc-v-tete b { font-size: 1rem; font-weight: 800; } .pc-v-tete span { overflow: hidden; color: var(--ink-soft); font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pc-v-x { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; background: rgba(21, 44, 18, .06); color: var(--foret); cursor: pointer; } .pc-v-x svg { width: 18px; height: 18px; }
.pc-v-chiffres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px; border-radius: 16px; background: var(--grad-sousbois); }
.pc-v-chiffres div { display: grid; gap: 2px; padding: 8px 10px; border-radius: 12px; background: rgba(242, 254, 226, .07); } .pc-v-chiffres span { color: var(--on-dark-soft); font-size: .72rem; font-weight: 700; } .pc-v-chiffres b { color: #FFFFFF; font-size: 1.05rem; font-weight: 800; }
.pc-v-bloc { display: grid; gap: 8px; padding: 14px; border-radius: 16px; background: #F4F7F1; } .pc-v-bloc h3 { margin: 0 0 2px; font-size: .9rem; font-weight: 800; }
.pc-v-l { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 34px; font-size: .86rem; } .pc-v-l > span:first-child { color: var(--ink-soft); font-weight: 700; } .pc-v-l b { text-align: right; font-weight: 700; }
.pc-v-champ { display: inline-flex; align-items: center; gap: 6px; } .pc-v-champ input[type="datetime-local"] { height: 34px; padding: 0 8px; border: 1px solid #D5DDD0; border-radius: 10px; font: inherit; font-size: .82rem; } .pc-v-champ .btn { height: 34px; padding: 0 12px; font-size: .8rem; }
.pc-v-bloc .pc-pop__pub img { grid-row: span 2; width: 38px; height: 38px; border-radius: 8px; object-fit: cover; }
.pc-v-media video, .pc-v-media img { display: block; width: 100%; max-height: 420px; border-radius: 14px; background: #000; object-fit: contain; }
.pc-v-texte { margin: 0; font-size: .86rem; line-height: 1.45; white-space: pre-line; }
.pc-v-cta { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--blanc); } .pc-v-cta div { display: grid; } .pc-v-cta b { font-size: .86rem; } .pc-v-cta div span { color: var(--ink-soft); font-size: .78rem; }
.pc-v-bouton { padding: 6px 12px; border-radius: 9px; background: #E4E6EB; color: #050505; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.pc-v-lien { display: inline-flex; align-items: center; gap: 6px; color: var(--foret); font-size: .84rem; font-weight: 700; } .pc-v-lien svg { width: 15px; height: 15px; }
.pc-outils .pc-periode { margin-left: 0; margin-right: 4px; } .pc-barre .pc-maj { margin-left: auto; } .pc-barre { flex-wrap: nowrap; }
.pc-rang--obj { font-weight: 800; }
/* v11 : le bloc dans la fiche de suivi ; menus en position fixe (au-dessus de la fiche ouverte) */
.pc-pop { position: fixed; }
#pc.pc--fiche { gap: 12px; padding-bottom: 8px; } .pc--fiche .pc-board { padding: 12px; border-radius: 18px; } .pc--fiche .pc-onglets { flex-wrap: wrap; } .pc-barre--fiche .pc-maj { margin-left: auto; }
.pc--fiche .pc-t--libre .pc-c-nom { min-width: 210px; }
/* v12 : chevron jour par jour par ligne, budget dans la ligne, nom des campagnes aéré, ouvrir en grand, aperçu façon Facebook */
.pc-deplier { display: grid; place-items: center; flex: none; width: 22px; height: 22px; margin-right: -4px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: var(--ink-soft); cursor: pointer; transform: rotate(-90deg); transition: transform .15s, background .15s; }
.pc-deplier svg { width: 15px; height: 15px; } .pc-deplier:hover { background: rgba(21, 44, 18, .08); } .pc-deplier.on { transform: none; color: var(--foret); } .pc-deplier:disabled { visibility: hidden; }
.pc-budget input { width: 64px; height: 30px; padding: 0 6px; border: 1px solid transparent; border-radius: 8px; background: transparent; font: inherit; font-weight: 700; text-align: right; }
.pc-budget input:hover, .pc-budget input:focus { border-color: #C9D3C3; background: var(--blanc); }
.pc-lien--camp { gap: 4px 0; } .pc-rang-sep { width: 1px; height: 16px; margin: 0 12px; background: #C9D3C3; align-self: center; }
.pc-barre--fiche .pc-grand { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; } .pc-barre--fiche .pc-grand svg { width: 16px; height: 16px; } .pc-barre--fiche .pc-grand + .pc-maj { margin-left: 0; }
.fbpub { overflow: hidden; border-radius: 14px; background: #FFFFFF; color: #050505; box-shadow: 0 1px 2px rgba(0, 0, 0, .15); font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; }
.fbpub__tete { display: flex; align-items: center; gap: 9px; padding: 12px 14px 8px; } .fbpub__tete > div { display: grid; flex: 1; } .fbpub__tete b { font-size: .9rem; font-weight: 600; }
.fbpub__tete span { display: inline-flex; align-items: center; gap: 4px; color: #65676B; font-size: .78rem; } .fbpub__tete span svg { width: 11px; height: 11px; }
.fbpub__avatar { width: 38px; height: 38px; border-radius: 50%; background: #E4E6EB; object-fit: cover; } .fbpub__plus { color: #65676B; font-weight: 800; letter-spacing: 1px; }
.fbpub__texte { margin: 0; padding: 0 14px 10px; font-size: .9rem; line-height: 1.38; white-space: pre-line; }
.fbpub__media video, .fbpub__media img { display: block; width: 100%; max-height: 460px; background: #000; object-fit: contain; }
.fbpub__pied { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; background: #F0F2F5; } .fbpub__pied > div { display: grid; min-width: 0; }
.fbpub__pied small { color: #65676B; font-size: .72rem; text-transform: uppercase; } .fbpub__pied b { font-size: .95rem; font-weight: 600; } .fbpub__pied span { color: #65676B; font-size: .84rem; }
.fbpub__bouton { flex: none; padding: 8px 14px; border-radius: 6px; background: #E4E6EB; color: #050505 !important; font-size: .86rem !important; font-weight: 600; }
.fbpub__actions { display: flex; justify-content: space-around; padding: 8px 6px; border-top: 1px solid #E4E6EB; color: #65676B; font-size: .84rem; font-weight: 600; }
.pc-v > * { flex: none; } .fbpub__media video, .fbpub__media img { max-height: 380px; }
/* v12b (capture Loris 27/10) : plus de colonnes collées (le nom ne recouvre plus rien en défilant) ; Compte et Paiement en lueur dans la barre */
.pc-t--libre .pc-fixe, .pc-t--libre .pc-c-menu { position: static; box-shadow: none !important; }
.pc-t--libre .pc-c-nom { min-width: 290px; max-width: none; } .pc-t--libre .pc-c-nom .pc-nom { max-width: 340px; }
.pc-lueurs { display: inline-flex; gap: 16px; color: var(--ink-soft); font-size: .8rem; font-weight: 700; } .pc-lueurs > span { display: inline-flex; align-items: center; gap: 8px; }
.pc-lueurs .puce { width: 9px; height: 9px; padding: 0; gap: 0; overflow: hidden; border-radius: 50%; font-size: 0; } .pc-lueurs .puce::before { display: none; }
.pc-lueurs .puce--ok { background: #5DBB2A; box-shadow: 0 0 0 3px rgba(93, 187, 42, .16), 0 0 10px 1px rgba(93, 187, 42, .6); }
.pc-lueurs .puce--alerte { background: #F2994A; box-shadow: 0 0 0 3px rgba(242, 153, 74, .18), 0 0 10px 1px rgba(242, 153, 74, .75); cursor: help; }
/* v13 : carte de la zone, formulaire comme sur le téléphone */
.pc-carte { height: 240px; margin-top: 4px; overflow: hidden; border-radius: 14px; background: #E3EADF; z-index: 0; }
.pc-ecrans { align-self: center; }
.fbf { align-self: center; width: 320px; padding: 12px; border-radius: 36px; background: #1C1E21; box-shadow: 0 18px 40px rgba(0, 0, 0, .25); }
.fbf__ecran { min-height: 520px; overflow: hidden; border-radius: 26px; background: #FFFFFF; color: #050505; font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; }
.fbf__page { display: flex; align-items: center; gap: 10px; padding: 18px 16px 12px; border-bottom: 1px solid #E4E6EB; } .fbf__page b { font-size: .92rem; font-weight: 600; }
.fbf__corps { display: grid; gap: 12px; padding: 16px; } .fbf__corps h4 { margin: 0; font-size: 1.05rem; font-weight: 700; } .fbf__corps p { margin: 0; color: #424242; font-size: .86rem; line-height: 1.4; } .fbf__corps ul { margin: 0; padding-left: 18px; font-size: .86rem; }
.fbf__q { display: grid; gap: 6px; } .fbf__q label { font-size: .84rem; font-weight: 600; }
.fbf__champ { padding: 10px 12px; border: 1px solid #CED0D4; border-radius: 8px; color: #65676B; font-size: .84rem; }
.fbf__opt { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid #CED0D4; border-radius: 8px; font-size: .86rem; } .fbf__opt i { width: 16px; height: 16px; border: 2px solid #8A8D91; border-radius: 50%; }
.fbf__btn { display: block; margin-top: 6px; padding: 10px; border-radius: 8px; background: #1877F2; color: #FFFFFF; font-size: .9rem; font-weight: 600; text-align: center; }
.fbf__lien { color: #1877F2; font-size: .84rem; font-weight: 600; } .fbf__vide { color: #65676B !important; font-style: italic; }
.fbf__ok { display: grid; place-items: center; width: 52px; height: 52px; margin: 18px auto 0; border-radius: 50%; background: #E7F3E8; color: #31A24C; font-size: 1.5rem; font-weight: 800; }
/* v14 : copie corrigée, les champs se modifient dans le téléphone et dans l'aperçu de la pub */
.fbf__in, .fbpub__in { width: 100%; box-sizing: border-box; padding: 6px 8px; border: 1.5px dashed #9FCB62; border-radius: 8px; background: #FBFFF5; color: inherit; font: inherit; }
.fbf__in:focus, .fbpub__in:focus { outline: none; border-style: solid; border-color: #5DBB2A; background: #FFFFFF; }
.fbf__in--label { font-size: .84rem; font-weight: 600; } .fbf__in--titre { font-size: 1.05rem; font-weight: 700; text-align: center; } .fbf__in--texte { font-size: .86rem; line-height: 1.4; resize: vertical; }
input.fbf__btn { border-style: solid; border-color: #1877F2; color: #FFFFFF; }
.fbf__opt .fbf__in { border-width: 1px; padding: 2px 6px; }
.fbf__q { position: relative; } .fbf__x { flex: none; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: #E4E6EB; color: #65676B; font-size: .9rem; line-height: 1; cursor: pointer; }
.fbf__x--q { position: absolute; top: -4px; right: -4px; } .fbf__x:hover { background: #FBE1DA; color: #A3341B; }
.fbf__plus { justify-self: start; padding: 4px 8px; border: 0; border-radius: 7px; background: #E7F3FF; color: #1877F2; font: inherit; font-size: .78rem; font-weight: 600; cursor: pointer; }
.fbf__ajout { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; border-top: 1px dashed #CED0D4; } .fbf__lab { font-size: .8rem; font-weight: 600; color: #65676B; }
.fbf__ecran--edit { min-height: 0; } .fbf { flex: none; }
.fbpub__texte.fbpub__in { display: block; width: calc(100% - 28px); margin: 0 14px 10px; } .fbpub__titre { font-weight: 600; } .fbpub__desc { margin-top: 4px; font-size: .84rem; }
.pc-v-in { min-width: 0; max-width: 260px; height: 34px; padding: 0 8px; border: 1px solid #D5DDD0; border-radius: 10px; background: var(--blanc); font: inherit; font-size: .84rem; }
.pc-v-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; } .pc-v-actions .btn:last-child { margin-left: auto; } .pc-v-case { cursor: pointer; }

/* CAMPCLI v10 (Loris, 27/10 : « des petites icônes avec des petites lueurs […] le compte, une petite lueur, actif ou pas ; paiement pareil […] semaine 1, 2, 3 trop gros, ça ressort trop, ça déborde ») */
.vigie { width: 9px; height: 9px; }
.vigie--1 { background: #F7E3A1; box-shadow: 0 0 0 3px rgba(247, 227, 161, .18), 0 0 8px 1px rgba(247, 227, 161, .6); } /* VIGIE48-2910 : 48 h sans prospect */
.vigie--2 { background: #F2C94C; box-shadow: 0 0 0 3px rgba(242, 201, 76, .18), 0 0 10px 1px rgba(242, 201, 76, .75); }
.vigie--3 { background: #F2994A; box-shadow: 0 0 0 3px rgba(242, 153, 74, .18), 0 0 10px 1px rgba(242, 153, 74, .75); }
.vigie--4 { background: #E5484D; box-shadow: 0 0 0 3px rgba(229, 72, 77, .18), 0 0 10px 1px rgba(229, 72, 77, .7); }
/* Compte et Paiement : une lueur seule (vert = bon ; ambre = souci, le détail au survol) */
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td.col-court .puce { width: 9px; height: 9px; padding: 0; gap: 0; overflow: hidden; border-radius: 50%; font-size: 0; vertical-align: middle; }
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td.col-court .puce::before { display: none; }
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td.col-court .puce--ok { background: #5DBB2A; box-shadow: 0 0 0 3px rgba(93, 187, 42, .16), 0 0 10px 1px rgba(93, 187, 42, .6); }
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td.col-court .puce--alerte { background: #F2994A; box-shadow: 0 0 0 3px rgba(242, 153, 74, .18), 0 0 10px 1px rgba(242, 153, 74, .75); cursor: help; }
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td.col-court .puce--gris { background: #B9C2B4; }
.table-camp.table-camp--campagnes > thead > tr > th:nth-child(n+5):nth-child(-n+6),
.table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(n+5):nth-child(-n+6) { width: 4.3rem; min-width: 4.3rem; max-width: 4.3rem; }
/* semaines : chiffres plus petits, teintes douces, rien qui déborde de la colonne */
.cj-tend { padding: 2px 7px; margin: 0; font-weight: 700; font-size: .84rem; }
.cj-tend--ambre { background: #FBEFC9; color: #7A5300; }
.cj-tend--rouge { background: #FBE1DA; color: #A3341B; }
.cj-tend--lime { background: #E4F4CC; color: #2F6A12; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy { font-size: .84rem !important; font-weight: 700; padding-left: 4px; padding-right: 6px; }
.table-camp--campagnes > thead > tr > th.cj-moy, .table-camp--campagnes > tbody > tr.camp-ligne > td.cj-moy { width: 3.7rem; min-width: 3.7rem; }
.table-camp.table-camp--campagnes > thead > tr > th:nth-child(4), .table-camp.table-camp--campagnes > tbody > tr.camp-ligne > td:nth-child(4) { width: 5rem; min-width: 5rem; max-width: 5rem; }
.table-camp--campagnes .plus .camp-maj, .table-camp--campagnes .plus .camp-jours-btn { width: 26px; height: 26px; } .table-camp--campagnes .camp-plus { gap: 2px; }
.table-camp--campagnes > tbody > tr.camp-ligne > td.num, .table-camp--campagnes > thead > tr > th.num { padding-right: 5px; padding-left: 4px; }

/* PRIO-2810 : répartition Par priorité (un curseur par closer, total toujours 100 %) */
.lr-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lr-parts { display: grid; gap: 4px; margin: 12px 0 4px; padding: 10px 14px; border-radius: 16px; background: #F1FAE4; }
.lr-parts[hidden] { display: none; }
.lr-parts__tete, .lr-part { display: grid; grid-template-columns: 30px 96px minmax(0, 1fr) 52px 64px; align-items: center; gap: 12px; }
.lr-parts__tete { padding-bottom: 2px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.lr-parts__tete span:nth-child(n+4), .lr-part__val, .lr-part__reel { justify-content: flex-end; text-align: right; }
.lr-part { min-height: 44px; border-top: 1px solid rgba(21, 44, 18, .08); }
.lr-parts__tete + .lr-part { border-top: 0; }
.lr-part .avatar { width: 30px; height: 30px; font-size: .78rem; }
.lr-part > b { overflow: hidden; font-size: .9rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.lr-curseur { width: 100%; height: 22px; margin: 0; background: transparent; cursor: pointer; -webkit-appearance: none; appearance: none; }
.lr-curseur:disabled { cursor: default; opacity: .6; }
.lr-curseur::-webkit-slider-runnable-track { height: 8px; border-radius: var(--r-pill); background: linear-gradient(90deg, #8CCB3A var(--v), rgba(21, 44, 18, .1) var(--v)); }
.lr-curseur::-moz-range-track { height: 8px; border-radius: var(--r-pill); background: linear-gradient(90deg, #8CCB3A var(--v), rgba(21, 44, 18, .1) var(--v)); }
.lr-curseur::-webkit-slider-thumb { width: 20px; height: 20px; margin-top: -6px; border: 3px solid #4E9F1F; border-radius: 50%; background: #FFFFFF; -webkit-appearance: none; }
.lr-curseur::-moz-range-thumb { width: 14px; height: 14px; border: 3px solid #4E9F1F; border-radius: 50%; background: #FFFFFF; }
.lr-curseur:focus-visible { outline: 0; }
.lr-curseur:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(161, 224, 77, .45); }
.lr-part__val { display: flex; align-items: baseline; gap: 2px; font-size: .95rem; font-weight: 800; }
.lr-part__val small, .lr-part__reel small { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.lr-part__reel { display: flex; align-items: baseline; gap: 2px; font-size: .95rem; font-weight: 800; }
.lr-part--total { border-top: 1px solid rgba(21, 44, 18, .16); }
.lr-part__val--faux { color: #8A6A00; }
.lr-part__val--faux::before { content: ''; align-self: center; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: #F7D576; }
@media (max-width: 899px) { .lr-options { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .lr-parts { padding: 10px; } .lr-parts__tete, .lr-part { grid-template-columns: 30px 64px minmax(0, 1fr) 40px 44px; gap: 6px; } }

/* CONNEXIONS-2610 (Loris, 26/10/2026) : Équipe › Connexions, sur le modèle d'Accès (un bloc, des lignes qui se déplient en volet rosée) */
.cx { --cx0: rgba(21, 44, 18, .08); --cx1: #D3EDB8; --cx2: #A1E04D; --cx3: #5FA33A; --cx4: #2F6B1F; display: grid; gap: 24px; }
.cx-cols, .cx-ligne { display: grid; grid-template-columns: minmax(160px, 1fr) 440px 84px 100px 84px 30px; align-items: center; gap: 16px; }
.cx-cols { padding: 0 10px 4px 12px; color: #8A9785; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cx-cols span:nth-child(n+3):not(:last-child), .cx-ligne > .cx-n { justify-self: end; text-align: right; }
.cx-ligne { padding: 12px 10px 12px 12px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); cursor: pointer; transition: box-shadow .2s, transform .2s, background .2s; }
.cx-ligne:hover { box-shadow: inset 0 0 0 1px var(--trait), 0 10px 22px -14px rgba(21, 44, 18, .5); transform: translateY(-1px); }
.cx-ligne:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.cx-ligne--ouverte, .cx-ligne--ouverte:hover { border-radius: 16px 16px 0 0; background: var(--rosee); box-shadow: 0 12px 24px -16px rgba(21, 44, 18, .55); transform: translateY(-2px); }
.cx-ligne:hover .eqa-plus, .cx-ligne--ouverte .eqa-plus { background: var(--grad-lime); }
.cx-ligne--ouverte .eqa-plus { transform: rotate(90deg); }
.cx-frise { display: flex; gap: 3px; min-width: 0; }
.cx-frise i { position: relative; flex: none; width: 11px; height: 22px; border-radius: 4px; background: var(--cx0); }
.cx-frise--sem i { width: 56px; border-radius: 7px; }
.cx-frise--tout { flex-wrap: wrap; }
.cx-frise--tout i { width: 52px; border-radius: 7px; }
.cx-frise i.cx-we { opacity: .45; }
.cx-frise i.cx-futur { background: none; box-shadow: inset 0 0 0 1px var(--trait); opacity: .6; }
.cx-frise i.cx-avant { background: none; opacity: .5; } /* CONNEXIONS-2710 : avant son arrivée */
.cx-frise i.cx-auj { box-shadow: 0 0 0 1.5px var(--blanc), 0 0 0 3px rgba(161, 224, 77, .7); }
.cx .cx-1 { background: var(--cx1); } .cx .cx-2 { background: var(--cx2); } .cx .cx-3 { background: var(--cx3); } .cx .cx-4 { background: var(--cx4); }
.cx-n { font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cx-n i { color: var(--ink-soft); font-size: .84rem; font-style: normal; font-weight: 700; }
.cx-n--manque b { color: #B23A20; }
.cx [data-bulle]:hover::after { content: attr(data-bulle); position: absolute; left: 50%; bottom: calc(100% + 8px); z-index: 5; width: max-content; padding: 7px 10px; border-radius: 10px; background: #152C12; color: #FFFFFF; font-size: .76rem; font-style: normal; font-weight: 700; transform: translateX(-50%); pointer-events: none; }
.cx-heures { display: flex; flex-wrap: wrap; gap: 6px; }
.cx-h { padding: 5px 11px; border-radius: 999px; background: #E3F1DA; color: #2F7A1F; font-size: .84rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cx-rien { color: #B23A20; font-size: .86rem; font-weight: 700; }
.cx-volet { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 14px; margin-top: -6px; padding: 16px; border-radius: 0 0 18px 18px; background: var(--rosee); }
.cx-panneau { display: grid; align-content: start; gap: 12px; padding: 16px; border-radius: 16px; background: var(--blanc); }
.cx-panneau h3 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 1rem; font-weight: 800; }
.cx-panneau h3 .eqa-titre__ic { width: 32px; height: 32px; border-radius: 10px; }
.cx-panneau h3 .eqa-titre__ic svg { width: 17px; height: 17px; }
.cx-cal { display: grid; grid-template-columns: 22px repeat(var(--sem), 38px); gap: 6px; }
.cx-cal small { display: grid; place-items: center; color: #8A9785; font-size: .64rem; font-weight: 800; }
.cx-cal button { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 8px; background: var(--cx0); color: var(--foret); font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
.cx-cal button.cx-3, .cx-cal button.cx-4 { color: #FFFFFF; }
.cx-cal button.cx-futur { background: none; box-shadow: inset 0 0 0 1px var(--trait); color: #8A9785; cursor: default; }
.cx-cal button.cx-hors { opacity: .35; }
.cx-cal button[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--blanc), 0 0 0 4px #152C12; }
.cx-cal span { visibility: hidden; }
.cx-jour { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-height: 40px; padding: 10px 12px; border-radius: 12px; background: #F4F7F1; }
.cx-jour b { margin-right: 6px; font-weight: 800; }
.cx-cats { display: grid; gap: 6px; }
.cx-cat__tete, .cx-cats__cols { display: grid; grid-template-columns: minmax(0, 1fr) 110px 26px; align-items: center; gap: 12px; }
.cx-cats__cols { padding: 0 12px; color: #8A9785; font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cx-cats__cols span:nth-child(2) { text-align: right; }
.cx-cat { border-radius: 12px; background: #F4F7F1; }
.cx-cat__tete { min-height: 52px; padding: 0 10px 0 12px; font-weight: 800; cursor: pointer; }
.cx-cat__tete > span:first-child { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cx-cat__tete > :nth-child(2) { justify-self: end; }
.cx-cat__tete svg { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--foret); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.cx-cat .ap-plus { width: 26px; height: 26px; font-size: .95rem; }
.cx-cat--ouverte .ap-plus { transform: rotate(90deg); background: var(--grad-lime); color: #152C12; }
.cx-cat__corps { display: grid; gap: 5px; padding: 0 8px 8px; }
.cx-cat__ligne { display: grid; grid-template-columns: minmax(0, 1fr) 130px 110px 18px; align-items: center; gap: 12px; min-height: 48px; padding: 4px 10px 4px 12px; border-radius: 10px; background: var(--blanc); }
.cx-cat__ligne > span:first-child { min-width: 0; overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.cx-cat__ligne small { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.cx-cat__ligne > :nth-child(3) { justify-self: end; }
@media (max-width: 1360px) { .cx-cols, .cx-ligne { grid-template-columns: minmax(140px, 1fr) 310px 70px 90px 64px 30px; gap: 12px; } .cx-frise { gap: 2px; } .cx-frise i { width: 8px; } .cx-frise--sem i { width: 40px; } .cx-frise--tout i { width: 40px; } }
@media (max-width: 1100px) { .cx-volet { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
  .cx-cols { display: none; }
  .cx-ligne { grid-template-columns: minmax(0, 1fr) auto auto 28px; gap: 10px; }
  .cx-ligne .cx-frise, .cx-ligne .cx-heures { grid-column: 1 / -1; order: 5; }
  .cx-frise { gap: 2px; } .cx-frise i { width: 7px; } .cx-frise--sem i { width: 36px; } .cx-frise--tout i { width: 30px; }
  .cx-ligne > .cx-n:not(.cx-n--jours):not(:nth-last-child(2)) { display: none; }
  .cx-cal { grid-template-columns: 18px repeat(var(--sem), 34px); gap: 5px; } .cx-cal button { width: 34px; height: 34px; }
  .cx-volet { padding: 10px; }
  .cx-cat__tete, .cx-cats__cols { grid-template-columns: minmax(0, 1fr) auto 26px; }
  .cx-cat__ligne { grid-template-columns: minmax(0, 1fr) auto; } .cx-cat__ligne > small, .cx-cat__ligne > :last-child:empty { display: none; }
}

/* EMAILING-2810 (Loris, 28/10/2026) : Marketing › Emailing et Lead magnets. Maquette v2 validée : compacte (« il y aura beaucoup de campagnes »),
   bande sous-bois de 3 chiffres, un tableau par vue (tri au clic, une ligne sur deux teintée, en-tête collant), clic = tiroir. Aucun liseré. */
.em, .em-tiroir { --em-sel: #152C12; --em-sel-t: #F2FEE2; --em-ligne: #F6F8F4; --em-survol: #EEF6E3; --em-trait: rgba(21, 44, 18, .07); --em-tete: rgba(21, 44, 18, .12); --em-tag: #EEF1EC; --em-moins: #FBEDEA; --em-moins-t: #8A2E1F; --em-champ: #EEF1EC; --em-cible: #F2FEE2; }
.em-filtres .filtres__gauche { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.em-filtres .btn { white-space: nowrap; }
.em-filtres { flex-wrap: nowrap; }
.em-droite { display: flex; flex: 0 1 auto; align-items: center; gap: 10px; margin-left: auto; }
.em-droite .recherche { margin-left: 0; }
.em .chip { text-decoration: none; }
.em-menu select, .em-ajout select { appearance: none; -webkit-appearance: none; padding-right: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23152C12' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center / 12px; }
.em .em-menu select { width: 118px; } .em .em-menu select[data-f$="tag"] { width: 150px; }
.em-filtres .filtres__gauche { flex-wrap: nowrap; min-width: 0; }
.em-droite .recherche { flex: 0 1 200px; min-width: 120px; }
.em-tiroir .em-ajout { width: auto; flex: none; } .em-tiroir .em-ajout select { width: 110px; }
.em-tiroir .em-menu--plein { display: flex; width: 100%; box-sizing: border-box; } .em-tiroir .em-menu--plein select { flex: 1; width: auto; max-width: none; }
.em-tiroir { --em-cible: #fff; }
.em-trait { width: 1px; height: 24px; margin: 0 4px; background: var(--em-tete, rgba(21, 44, 18, .15)); }
.em-menu { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 6px 0 14px; border-radius: 12px; background: rgba(255, 255, 255, .6); font-size: .8125rem; font-weight: 700; color: var(--foret); }
.em-menu b { color: var(--ink-soft); font-weight: 700; }
.em-menu select { height: 34px; border: 0; background: none; font: inherit; font-weight: 700; color: var(--foret); cursor: pointer; }
.em-hero.eqa-hero { padding: 16px 24px; border-radius: 22px; margin-bottom: 14px; }
.em-hero .eqa-chiffre { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.em-hero .eqa-chiffre__nom { width: 100%; margin: 0 0 2px; }
.em-hero .eqa-chiffre__n { font-size: 1.9rem; }
.em-hero .rc-pastille { margin-top: 0; }
.em-tab { padding: 6px 10px 10px; border-radius: 22px; background: var(--blanc, #fff); }
.em-tab table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .85rem; }
.em-tab th { position: sticky; top: 0; z-index: 1; padding: 10px; border-bottom: 1px solid var(--em-tete); background: var(--blanc, #fff); color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.em-tab th[data-tri] { cursor: pointer; }
.em-tab th.tri { color: var(--foret); }
.em-tab th.tri--desc::after { content: " ↓"; } .em-tab th.tri--asc::after { content: " ↑"; }
.em-tab td { height: 42px; padding: 0 10px; overflow: hidden; border-bottom: 1px solid var(--em-trait); color: var(--foret); text-overflow: ellipsis; white-space: nowrap; }
.em-tab tbody tr:nth-child(even) td { background: var(--em-ligne); }
.em-tab tbody tr[data-id] { cursor: pointer; }
.em-tab tbody tr[data-id]:hover td { background: var(--em-survol); }
.em-tab tbody tr:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.em-tab td b { font-weight: 800; }
.em-tab .num { text-align: right; font-variant-numeric: tabular-nums; }
.em-vide { padding: 28px 10px; }
.em-tags { display: flex; gap: 4px; overflow: hidden; }
.em-tag { display: inline-flex; flex: none; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 99px; background: var(--em-tag); color: var(--foret); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.em-tag--moins { background: var(--em-moins); color: var(--em-moins-t); }
.em-tag button { padding: 0; border: 0; background: none; color: inherit; font-size: .7rem; opacity: .6; cursor: pointer; }
.em-st { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 700; color: var(--foret); white-space: nowrap; }
.em-st::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--em-c, #A1E04D); }
.em-st--prog { --em-c: #F7D576; } .em-st--brou, .em-st--pause { --em-c: #C9D1C6; } .em-st--off { --em-c: #E4A79B; }
.em-ouvl { display: flex; align-items: center; gap: 8px; } .em-ouvl .rec-mbarre { flex: 1; height: 7px; }
.em-ouvl small { width: 34px; font-size: .75rem; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.em-ouvl--vide { color: var(--ink-soft); }
.em-ouv { background: #A1E04D; } .em-clic { background: #3D7A27; }
.em-sel { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 8px 14px; border-radius: 16px; background: var(--em-sel); color: var(--em-sel-t); font-size: .85rem; font-weight: 700; }
.em-sel b { font-size: 1rem; font-variant-numeric: tabular-nums; }
.em-sel .btn { height: 32px; padding: 0 14px; font-size: .8rem; }
.em-sel .em-trait { background: rgba(255, 255, 255, .2); }
/* le tiroir */
.em-tiroir { display: grid; gap: 0; padding-bottom: 8px; }
.em-tiroir__tete { display: flex; align-items: center; gap: 12px; }
.em-tiroir__tete h2 { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.em-sec { margin-top: 18px; }
.em-sec h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: .95rem; }
.em-sec h3 .eqa-titre__ic { width: 32px; height: 32px; border-radius: 10px; }
.em-sec h3 .eqa-titre__ic svg, .em-sec h3 .eqa-titre__ic .i { width: 17px; height: 17px; }
.em-champ { display: block; box-sizing: border-box; width: 100%; padding: 12px 14px; border: 0; border-radius: 14px; background: var(--em-champ); color: var(--foret); font: inherit; resize: vertical; }
.em-champ:focus { outline: 2px solid var(--lime); }
.em-cible { display: grid; gap: 8px; padding: 14px; border-radius: 18px; background: var(--em-cible); }
.em-cible__l { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.em-cible__l > b { color: var(--ink-soft); font-size: .78rem; }
.em-ajout { display: inline-flex; align-items: center; padding: 2px 8px; border: 1px dashed rgba(21, 44, 18, .3); border-radius: 99px; background: none; color: var(--ink-soft); font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; }
.em-ajout select { max-width: 200px; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.em-ajout--mail { justify-self: start; padding: 8px 14px; }
.em-total { display: flex; align-items: baseline; gap: 8px; padding-top: 8px; border-top: 1px solid rgba(21, 44, 18, .1); }
.em-total b { font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.em-total span { color: var(--ink-soft); font-size: .85rem; font-weight: 700; }
.em-menu--plein { margin-top: 8px; background: var(--em-champ); }
.em-chips { background: var(--em-champ); }
.em-etapes { display: grid; gap: 8px; }
.em-etape { border-radius: 14px; background: var(--em-champ); }
.em-etape summary { display: flex; align-items: center; gap: 10px; padding: 8px 12px; list-style: none; cursor: pointer; }
.em-etape summary::-webkit-details-marker { display: none; }
.em-etape[open] .eqa-plus { transform: rotate(90deg); }
.em-etape__j { display: inline-flex; align-items: center; flex: none; font-weight: 800; }
.em-etape__j input { width: 44px; padding: 4px; border: 0; border-radius: 8px; background: rgba(255, 255, 255, .7); font: inherit; font-weight: 800; color: var(--foret); }
.em-etape__o { flex: 1; min-width: 0; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; font: inherit; font-weight: 700; color: var(--foret); }
.em-etape__o:focus { background: rgba(255, 255, 255, .7); outline: none; }
.em-etape .em-champ { margin: 0 12px 12px; width: calc(100% - 24px); background: rgba(255, 255, 255, .7); }
.em-x { flex: none; width: 28px; height: 28px; border: 0; border-radius: 8px; background: none; color: var(--ink-soft); cursor: pointer; }
.em-pied { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.em-pied .em-suppr { margin-right: auto; }
.em-ligne { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; border-radius: 14px; background: var(--em-champ); color: var(--foret); font: inherit; text-align: left; cursor: pointer; }
.em-ligne b { flex: 1; }
.em-ligne span:not(.em-st):not(.eqa-plus) { color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.em-lien { overflow: hidden; color: var(--foret); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) { .em-tab { overflow-x: auto; } .em-tab table { min-width: 760px; } }
.em-menu b { white-space: nowrap; }
/* la barre : comme l'Agenda (Calendrier) : filtres en pastilles blanches à gauche, Aujourd'hui · ← période → · Jour / Semaine / Mois à droite, une ligne */
.em-filtres { gap: 10px; }
.em .em-menu { height: 34px; padding: 0 4px 0 12px; border-radius: var(--r-pill); background: var(--blanc, #fff); box-shadow: 0 6px 14px -12px rgba(21, 44, 18, .6); }
.em .em-menu select, .em .em-menu select[data-f$="tag"] { width: auto; max-width: 150px; field-sizing: content; }
.em .chips--vue .chip { padding: 6px 11px; }
.em-droite { gap: 8px; }
.em-droite .ag-periode { min-width: 112px; margin: 0; font-size: .95rem; text-align: center; }
.em-droite .ag-btn:disabled, .em-droite .ag-rond:disabled { opacity: .35; cursor: default; }
.em-droite .recherche { flex: 0 1 170px; min-width: 120px; padding: 7px 14px; }
.em-droite > .btn { padding: 9px 16px; }

.em-droite .ag-rond { width: 30px; height: 34px; background: none; }
.em-filtres .filtres__gauche > *, .em-droite > * { flex: none; }
.em .chips--vue { flex-wrap: nowrap; }
.em-droite .ag-nav { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 6px; }
.em-droite { flex: none; flex-wrap: nowrap; }
.em-droite .ag-periode { min-width: 0; padding: 0 2px; cursor: pointer; }
.em .em-per-seg button { padding: 0 9px; }
.em .chips--vue .chip { padding: 6px 9px; }
.em-filtres .filtres__gauche { gap: 6px; }
.em-droite .recherche { flex: 1 1 150px; min-width: 110px; }
.em-droite { flex: 0 1 auto; min-width: 0; }
@media (max-width: 1520px) { .em-droite .ag-btn { display: none; } }
@media (max-width: 1380px) { .em-droite > .btn span { display: none; } .em-droite > .btn { width: 40px; min-width: 40px; height: 40px; padding: 0; justify-content: center; gap: 0; } .em .em-trait { display: none; } }
.em-droite .recherche { min-width: 80px; flex-basis: 130px; } .em .em-menu { padding-left: 10px; } .em-filtres { gap: 8px; }
/* EMAILING-GHL : l'historique repris de GHL (lecture seule) */
.em-apercu { display: block; width: 100%; height: 520px; border: 0; border-radius: 14px; background: #fff; }
.em-etape .em-apercu { width: calc(100% - 24px); margin: 0 12px 12px; height: 460px; }
.em-res { grid-template-columns: repeat(4, minmax(0, 1fr)); text-align: center; }
.em-tiroir { min-width: 0; max-width: 100%; overflow-x: hidden; } .em-tiroir .em-sec { min-width: 0; } .em-etape summary { min-width: 0; }
.em-res div { display: grid; gap: 2px; } .em-res b { font-size: 1.25rem; font-weight: 800; font-variant-numeric: tabular-nums; } .em-res span { color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.em-etape__date { flex: none; width: 130px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.em-etape--lu .em-etape__o { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.em-etape__n { flex: none; color: var(--ink-soft); font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.em-etape--lu summary { overflow: hidden; } .em-etape--lu .em-etape__o { flex: 1; min-width: 0; }
.em-tiroir .em-etapes { min-width: 0; } .em-tiroir .em-etape { min-width: 0; overflow: hidden; } .em-etape .em-apercu { box-sizing: border-box; max-width: calc(100% - 24px); }
@media (max-width: 1180px) { .em-filtres { flex-wrap: wrap; } .em-filtres .filtres__gauche { flex-wrap: wrap; } .em-droite { margin-left: 0; flex-wrap: wrap; } .em-tab { overflow-x: auto; } .em-tab table { min-width: 860px; } }
/* EMAILING3-2810 : tiroir large pour une séquence, tableau des mails, tags compacts, type de séquence */
.eqm.rec-tiroir.em-large { width: min(980px, 100vw); }
.em-tab--mails { padding: 4px 8px 8px; }
.em-tab--mails tbody tr[data-mail] { cursor: pointer; }
.em-tab--mails tbody tr[data-mail]:hover td, .em-tab--mails tr.em-ouvert td { background: var(--em-survol); }
.em-tab--mails tr.em-ouvert .eqa-plus { transform: rotate(90deg); }
.em-tab--mails td.em-objet { white-space: normal; line-height: 1.3; padding-top: 8px; padding-bottom: 8px; }
.em-tab--mails .em-mail-apercu td { height: auto; padding: 8px 0 14px; background: var(--em-survol); white-space: normal; }
.em-tab--mails .em-apercu { width: 100%; max-width: none; margin: 0; height: 480px; }
.em-taux { cursor: help; border-bottom: 1px dotted rgba(21, 44, 18, .25); }
.em-tag--plus { padding: 3px 7px; background: transparent; box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .18); color: var(--ink-soft); }
.em-tags[title] { cursor: help; }
.em-decl { display: inline-flex; padding: 3px 9px; border-radius: 99px; background: var(--em-tag); color: var(--foret); font-size: .72rem; font-weight: 800; }
.em-decl--date { background: transparent; box-shadow: inset 0 0 0 1.5px var(--foret); color: var(--foret); } /* l ambre = attention dans l ERP : jamais pour un type */
.em-tiroir__tete .em-decl { flex: none; }
.em-etape__quand { flex: none; width: 190px; padding: 4px 6px; border: 0; border-radius: 8px; background: rgba(255, 255, 255, .7); font: inherit; font-size: .82rem; font-weight: 700; color: var(--foret); }
.em-tiroir__tete .em-decl { margin-right: 52px; }
.em-res .em-taux { border: 0; font-size: inherit; cursor: help; }
.em-tags[title] .em-tag:first-child { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.em .em-menu select, .em .em-menu select[data-f$="tag"] { max-width: 140px; }
.em .em-droite > .recherche { flex: 0 1 200px; min-width: 46px; } .em-filtres > .filtres__gauche { flex: 0 1 auto; }
/* EMAILING-LECTURE-2810 : la bulle « i » des statuts (au survol ou au focus) ; tiroir large pour une newsletter aussi */
.em-info { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--blanc, #fff); color: var(--ink-soft); cursor: help; box-shadow: 0 6px 14px -12px rgba(21, 44, 18, .6); }
.em-info > svg, .em-info > .i { width: 17px; height: 17px; }
.em-info:hover, .em-info:focus-visible { color: var(--foret); outline: none; }
.em-info__bulle { position: absolute; top: calc(100% + 10px); left: 50%; z-index: 30; display: none; width: 420px; padding: 8px; border-radius: 18px; background: var(--blanc, #fff); box-shadow: 0 22px 48px -18px rgba(21, 44, 18, .45), 0 0 0 1px rgba(21, 44, 18, .06); transform: translateX(-50%); cursor: default; }
.em-info:hover .em-info__bulle, .em-info:focus .em-info__bulle, .em-info:focus-within .em-info__bulle { display: grid; gap: 2px; }
.em-info__l { display: grid; grid-template-columns: 112px 1fr; gap: 3px 12px; padding: 10px 12px; border-radius: 12px; font-size: .8rem; line-height: 1.4; white-space: normal; text-align: left; }
.em-info__l:nth-child(even) { background: var(--em-ligne); }
.em-info__l .em-st { grid-row: span 2; align-self: start; padding-top: 1px; }
.em-info__l > span:not(.em-st) { color: var(--foret); font-weight: 600; }
.em-info__l > b { color: var(--ink-soft); font-weight: 700; }
.em-droite .em-info .em-info__bulle { left: auto; right: 0; transform: none; }
/* EMAILING-DESIGN-2810 (Loris, 28/10 : « applique les mêmes règles que Rémunération : aéré, contraste, cohérent ; le même filtre de date partout »)
   la barre de période de KPI, le Récap de KPI (tuile + titre, chiffres séparés, le clé en lime), des blocs Rémunération pour les Lead magnets, des tableaux plus aérés */
.em-filtres { margin-bottom: 22px; }
.em .em-per-seg { flex: none; }
.em-jour { display: inline-flex; flex: none; align-items: center; gap: 8px; }
.em-nav { height: 38px; min-width: 38px; padding: 0 13px; border: 0; border-radius: var(--r-pill); background: var(--blanc, #fff); box-shadow: inset 0 0 0 1px var(--trait, rgba(21, 44, 18, .1)); color: var(--foret); font: inherit; font-weight: 800; cursor: pointer; }
.em-nav:hover { background: var(--rosee, #F2FEE2); }
.em-date { min-width: 150px; color: var(--foret); font-size: 1rem; font-weight: 800; text-align: center; white-space: nowrap; }
.em-recap { margin: 0 0 26px; padding: 24px 30px 26px; border-radius: 28px; background: radial-gradient(120% 140% at 100% 0%, rgba(161, 224, 77, .16) 0%, rgba(161, 224, 77, 0) 46%), var(--grad-sousbois); box-shadow: 0 26px 50px -30px rgba(21, 44, 18, .9); color: #FFFFFF; }
.em-recap__titre { position: relative; display: flex; align-items: center; gap: 14px; margin: 0 0 22px; padding-bottom: 18px; }
.em-recap__titre::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, #A1E04D 0, #A1E04D 44px, rgba(255, 255, 255, .1) 44px); }
.em-recap__ic { display: inline-grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--grad-lime); box-shadow: 0 10px 20px -12px rgba(61, 122, 39, .9); }
.em-recap__ic svg { width: 22px; height: 22px; fill: none; stroke: #152C12; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.em-recap__titre h2 { margin: 0; color: #FFFFFF; font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; }
.em-recap__chiffres { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: 18px; }
.em-chiffre { min-width: 0; }
.em-chiffre + .em-chiffre { padding-left: 22px; border-left: 1px solid rgba(255, 255, 255, .1); }
.em-chiffre__nom { margin: 0; color: rgba(242, 254, 226, .62); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.em-chiffre__n { margin: 12px 0 0; color: #FFFFFF; font-size: clamp(1.8rem, 2.6vw, 2.4rem); font-weight: 800; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.em-chiffre--cle .em-chiffre__n { color: #A1E04D; font-size: clamp(2.2rem, 3.4vw, 3rem); text-shadow: 0 0 28px rgba(161, 224, 77, .35); }
.em-chiffre--alerte .em-chiffre__n { color: #F7D576; }
.em-u { margin-left: .12em; font-size: .5em; font-weight: 700; opacity: .7; }
.em-chiffre__p { display: inline-block; margin: 12px 0 0; padding: 4px 11px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); color: rgba(242, 254, 226, .75); font-size: .78rem; font-weight: 700; }
.em-chiffre--cle .em-chiffre__p { background: rgba(161, 224, 77, .16); box-shadow: inset 0 0 0 1px rgba(161, 224, 77, .45); color: #A1E04D; }
.em-chiffre--alerte .em-chiffre__p { background: rgba(247, 213, 118, .14); box-shadow: inset 0 0 0 1px rgba(247, 213, 118, .45); color: #F7D576; }
/* les tableaux : plus d'air */
.em-tab { padding: 10px 16px 16px; border-radius: 28px; }
.em-tab th { padding: 14px 12px; }
.em-tab td { height: 54px; padding: 0 12px; }
.em-tab tbody tr td:first-child { border-radius: 12px 0 0 12px; } .em-tab tbody tr td:last-child { border-radius: 0 12px 12px 0; }
.em-tab tbody tr td { border-bottom: 0; }
.em-sel { margin: 0 0 16px; }
/* les blocs (modèle Rémunération) : tuile icône + titre + nombre, total à droite ; une ligne aérée par objet */
.em-bloc { margin: 0 0 20px; padding: 24px 26px; border-radius: 28px; background: var(--blanc, #fff); box-shadow: 0 24px 48px -36px rgba(21, 44, 18, .45); }
.em-bloc__tete { display: flex; align-items: center; gap: 14px; margin: 0; list-style: none; }
details.em-bloc > summary { cursor: pointer; } details.em-bloc > summary::-webkit-details-marker { display: none; }
details.em-bloc[open] > summary .eqa-plus { transform: rotate(90deg); }
.em-bloc__tete .eqa-titre__ic { width: 44px; height: 44px; border-radius: 14px; }
.em-bloc__tete h2 { margin: 0; color: var(--foret); font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; }
.em-bloc__n { color: var(--ink-soft); font-size: 1.3rem; font-weight: 800; }
.em-bloc__total { margin-left: auto; color: var(--foret); font-size: 1.25rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.em-bloc__total small { margin-left: 6px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.em-lms { display: grid; gap: 10px; margin-top: 20px; }
.em-lm { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.5fr) minmax(80px, 1.4fr) 80px 28px; align-items: center; gap: 22px; width: 100%; min-height: 70px; padding: 10px 18px 10px 22px; border: 0; border-radius: 20px; background: var(--em-ligne); color: var(--foret); font: inherit; text-align: left; cursor: pointer; }
.em-lm:hover { background: var(--em-survol); }
.em-lm__nom { display: grid; gap: 3px; min-width: 0; }
.em-lm__nom b { overflow: hidden; font-size: .95rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.em-lm__nom small { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.em-lm__seq { min-width: 0; overflow: hidden; } .em-lm__seq .em-st { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.em-lm__barre { height: 10px; overflow: hidden; border-radius: 99px; background: var(--em-tag); }
.em-lm__barre i { display: block; height: 100%; min-width: 4px; border-radius: 99px; background: linear-gradient(90deg, #2F6B1F, #A1E04D); }
.em-lm__n { font-size: 1.25rem; font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.em-filtres { flex-wrap: wrap; row-gap: 12px; } /* trop de filtres pour une ligne (Contacts à 1280) : les filtres passent dessous, à droite */
.em-filtres .filtres__gauche { flex-wrap: nowrap; }
@media (max-width: 900px) { .em-recap__chiffres { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); } .em-chiffre + .em-chiffre { padding-left: 0; border-left: 0; } .em-lm { grid-template-columns: minmax(0, 1fr) 70px 24px; } .em-lm__seq, .em-lm__barre { display: none; } }
/* EMAILING-ONGLETS-2810 : l'onglet « Emailing ▾ » du bandeau ; la barre aux proportions de KPI (période 40 px, ‹ date ›, recherche à droite) */
.entete--bandeau .onglets .onglet-em { display: inline-flex; align-items: center; gap: 8px; }
.onglet-em__sous { display: inline-flex; align-items: center; gap: 8px; }
.onglet-em__sous::before { content: "·"; opacity: .45; }
.onglet-em__fleche { flex: none; width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.onglet-em[aria-expanded="true"] .onglet-em__fleche { transform: rotate(180deg); }
.em-menu-onglet { transform-origin: top left; }
.em .em-nav { height: 40px; min-width: 40px; }
.em .em-date { min-width: 170px; font-size: 1.0625rem; }
.em .em-menu { height: 40px; padding: 0 6px 0 14px; }
.em .em-info { width: 40px; height: 40px; }
.em .em-droite > .em-recherche { flex: 0 1 220px; min-width: 160px; height: 40px; box-sizing: border-box; padding: 0 14px; }
.em-filtres .filtres__gauche { gap: 10px; }
.em-bloc .em-tab { margin-top: 16px; padding: 0; background: none; box-shadow: none; }
.em-tab tbody tr.em-choisi td { background: var(--em-survol); font-weight: 800; }
.em-filtres, .em-filtres .filtres__gauche { flex-wrap: nowrap; } /* une seule ligne : la recherche rétrécit avant de passer dessous */
.em .em-droite { flex: 1 1 auto; justify-content: flex-end; min-width: 0; }
.em .em-droite > .em-recherche { flex: 0 1 220px; min-width: 110px; }
.em .em-date { min-width: 150px; }
@media (max-width: 1180px) { .em-filtres, .em-filtres .filtres__gauche { flex-wrap: wrap; } }
.em .em-droite { gap: 10px; }
.em .em-droite > .em-recherche { flex: 0 1 200px; min-width: 110px; height: auto; padding: 7px 14px; }
.em-droite .ag-periode { min-width: 0; font-size: .95rem; }
@media (max-width: 1520px) { .em-droite .ag-btn { display: inline-flex; } } /* « Aujourd'hui » reste, comme dans le CRM */
.em .em-droite { min-width: max-content; } .em-filtres { flex-wrap: wrap; } /* jamais de chevauchement : au pire, la droite passe dessous */
@media (max-width: 1400px) { .em-droite .ag-btn { display: none; } } /* petit écran : « Aujourd'hui » s'efface (clic sur la date = aujourd'hui) */
/* FIN EMAILING-2810 */

/* RECRUTV6-2810 (Loris, 28/10/2026 : maquette validée) : Équipe › Recrutement › une offre : Candidats (funnel du nouveau process en 7 étapes, sorties en pastilles
   sur une ligne ; tableau Candidat | Reçue | Mot-clé | Tri | Étape) · Process (11 étapes en 3 blocs, dépliables) · Page de candidature (aperçu téléphone,
   formulaire, vidéo du poste, fiche de poste repliée). Le tiroir d'un candidat au standard des fiches (FICHESTD-2310) : en-tête sous-bois, onglets en classeur.
   Les couleurs que le calcul du sombre ne doit pas toucher passent par des variables --rec-* (valeurs sombres écrites ici). */
.rec, .rec-tiroir, .rec-menu {
  --rec-panneau: rgba(21, 44, 18, .07); --rec-ok: #3E7D1C; --rec-ko: #B23A20; --rec-note: #E6EBE3; --rec-note-t: #152C12; --rec-note-on: #152C12; --rec-note-on-t: #A1E04D;
  --rec-proc-n: #F2FEE2; --rec-proc-volet: #F2FEE2;
}
html[data-theme="sombre"] .rec, html[data-theme="sombre"] .rec-tiroir, html[data-theme="sombre"] .rec-menu {
  --rec-panneau: rgba(238, 245, 233, .055); --rec-ok: #A1E04D; --rec-ko: #F08A6E; --rec-note: #33402E; --rec-note-t: #EEF5E9; --rec-note-on: #A1E04D; --rec-note-on-t: #152C12;
  --rec-proc-n: #25321F; --rec-proc-volet: #222E1E;
}
/* le funnel : 7 étapes ; les sorties (à trier, B · vivier, C · écartés, non venus) en pastilles sur une ligne */
.rec-fun6 .rec-fun__et { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.rec-fun__sorties6 { display: flex; flex-wrap: wrap; gap: 8px; }
.rec-fun__sorties6:empty { display: none; }
/* le tableau d'une offre : Mot-clé (✓ vert, ✗ rouge, « - »), Tri (A lime, B ambre, C gris), Étape (pastille) */
.rec-rien { color: var(--ink-soft); font-weight: 700; }
.rec-mc { display: inline-grid; place-items: center; width: 26px; height: 26px; }
.rec-mc .i { width: 18px; height: 18px; stroke-width: 3; }
.rec-mc--ok { color: var(--rec-ok); }
.rec-mc--ko { color: var(--rec-ko); }
.rec-tri-p { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: var(--r-pill); font-size: .8125rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rec-tri-p--A { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-tri-p--B { background: var(--rec-s-contacter); color: var(--rec-s-contacter-t); }
.rec-tri-p--C { background: var(--rec-s-refuse); color: var(--rec-s-refuse-t); }
.rec-tri-part { color: var(--ink-soft); font-size: .8125rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.rec-c-etape .rec-st { min-width: 140px; height: 30px; padding: 0 12px; font-size: .78rem; }
.rec-c-etape .rec-st .i { width: 13px; height: 13px; }
.rec-st--vivier .i { fill: var(--rec-etoile); stroke: var(--rec-etoile-trait); stroke-width: 2; }

/* le tiroir d'un candidat : en-tête sous-bois sur une ligne, onglets en classeur, le panneau de l'onglet ouvert */
.eqm.rec-tiroir.rec-tiroir6 { width: min(580px, 100vw); }
.rec-cand6 { gap: 0; }
.rec-cand6__tete { display: flex; align-items: center; gap: 12px; min-height: 84px; margin-bottom: 18px; padding: 16px 16px 16px 22px; border-radius: 22px;
  background: radial-gradient(70% 140% at 100% 0%, rgba(161, 224, 77, .22), transparent 60%), var(--grad-sousbois); box-shadow: 0 22px 40px -26px rgba(21, 44, 18, .9); }
.rec-cand6__tete .rec-cand__qui h2 { color: var(--rec-h-blanc); font-size: 1.4rem; }
.rec-cand6__tete .rec-cand__qui small { color: var(--rec-h-pale); }
.rec-cand6__et { display: inline-flex; flex: none; flex-direction: column; align-items: flex-end; gap: 6px; }
.rec-cand6__et .rec-st { height: 28px; font-size: .78rem; }
.rec-cand6__changer { display: inline-flex; align-items: center; gap: 4px; height: 26px; padding: 0 8px 0 10px; border: 0; border-radius: var(--r-pill); background: var(--rec-h-verre); box-shadow: inset 0 0 0 1px var(--rec-h-verre-trait); color: var(--rec-h-pale); font: inherit; font-size: .74rem; font-weight: 800; cursor: pointer; }
.rec-cand6__changer:hover { background: var(--rec-h-verre-fort); color: var(--rec-h-blanc); }
.rec-cand6__changer .i { width: 13px; height: 13px; }
.rec-cand6__tete .rec-nav__b { background: var(--rec-h-verre); color: var(--rec-h-blanc); }
.rec-cand6__tete .rec-nav__b:hover:not(:disabled) { background: var(--rec-h-lime); color: var(--rec-h-sur-lime); }
.rec-cand6__tete .rec-nav__n { color: var(--rec-h-pale); }
.rec-cand6__tete .rec-cand6__x { position: static; flex: none; display: inline-grid; place-items: center; width: 38px; height: 38px; background: var(--rec-h-verre); color: var(--rec-h-blanc); }
.rec-cand6__tete .rec-cand6__x:hover { background: var(--rec-h-verre-fort); }
.rec-onglets6 { display: flex; gap: 4px; }
.rec-onglets6 [role=tab] { position: relative; flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 46px; padding: 0 12px; border: 0; border-radius: 16px 16px 0 0; background: none; color: var(--ink-soft); font: inherit; font-size: .875rem; font-weight: 700; white-space: nowrap; cursor: pointer; transition: background .15s, color .15s; }
.rec-onglets6 [role=tab] svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
.rec-onglets6 [role=tab]:hover { color: var(--foret); }
.rec-onglets6 [role=tab]:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.rec-onglets6 [role=tab][aria-selected="true"] { background: var(--rec-panneau); color: var(--foret); font-weight: 800; }
.rec-onglets6 [role=tab][aria-selected="true"] svg { opacity: 1; color: var(--rec-ok); }
.rec-onglets6 [role=tab][aria-selected="true"]::before, .rec-onglets6 [role=tab][aria-selected="true"]::after { content: ""; position: absolute; bottom: 0; width: 16px; height: 16px; pointer-events: none; }
.rec-onglets6 [role=tab][aria-selected="true"]::before { left: -16px; background: radial-gradient(circle at 0 0, transparent 15.5px, var(--rec-panneau) 16px); }
.rec-onglets6 [role=tab][aria-selected="true"]::after { right: -16px; background: radial-gradient(circle at 100% 0, transparent 15.5px, var(--rec-panneau) 16px); }
.rec-onglets6 [role=tab][aria-selected="true"]:first-child::before, .rec-onglets6 [role=tab][aria-selected="true"]:last-child::after { content: none; }
.rec-corps6 { display: grid; gap: 12px; padding: 16px; border-radius: 20px; background: var(--rec-panneau); }
.rec-cand6:has(.rec-onglets6 [role=tab]:first-child[aria-selected="true"]) .rec-corps6 { border-top-left-radius: 0; }
.rec-cand6:has(.rec-onglets6 [role=tab]:last-child[aria-selected="true"]) .rec-corps6 { border-top-right-radius: 0; }
.rec-corps6 > .msg:empty { display: none; }
.rec-panneau { display: grid; gap: 12px; }
.rec-panneau[hidden] { display: none; }
.rec-panneau .rec-vide { padding: 28px 12px; }
#rec-dec-ent:empty, #rec-essai:empty, #rec-ent-vide:empty, #rec-tri:empty { display: none; }
.rec-cand6 + .rec-suppr, .rec-cand6 .rec-suppr { padding-top: 12px; }
.rec-essai6 .ag-seg { justify-self: start; }
.rec-essai6 .ag-seg button[aria-pressed="true"] { background: var(--foret); color: var(--rosee); box-shadow: none; }
/* Tri : la scorecard (5 lignes, 1 / 3 / 5 en boutons), le total (forêt, chiffre lime), la décision */
.rec-tri6 { display: grid; gap: 12px; }
.rec-sc { gap: 0; padding: 6px 16px; }
.rec-sc__l { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; border-top: 1px solid var(--rec-ligne-trait); }
.rec-sc__l:first-child { border-top: 0; }
.rec-sc__nom { color: var(--foret); font-size: .9375rem; font-weight: 700; }
.rec-sc__notes { display: inline-flex; flex: none; gap: 6px; }
.rec-sc__b { width: 44px; height: 36px; padding: 0; border: 0; border-radius: 10px; background: var(--rec-note); color: var(--rec-note-t); font: inherit; font-size: .9375rem; font-weight: 800; font-variant-numeric: tabular-nums; cursor: pointer; transition: background .12s, transform .12s; }
.rec-sc__b:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(.97); }
.rec-sc__b:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec-sc__b[aria-pressed="true"] { background: var(--rec-note-on); color: var(--rec-note-on-t); }
.rec-sc__b:disabled { cursor: default; }
.rec-sc__tot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px 12px 18px; border-radius: 16px; background: var(--grad-sousbois); }
.rec-sc__tt { color: var(--rec-h-pale); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rec-sc__score { display: inline-flex; align-items: baseline; gap: 6px; }
.rec-sc__score b { color: var(--rec-h-lime); font-size: 1.9rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.rec-sc__score small { margin-right: 6px; color: var(--rec-h-pale); font-size: .9rem; font-weight: 700; }
.rec-sc__score .rec-tri-p { align-self: center; height: 30px; padding: 0 14px; font-size: .95rem; }
.rec-sc__score .rec-tri-p--C { background: var(--rec-h-verre-fort); color: var(--rec-h-blanc); }
.rec-sc__dec { display: flex; gap: 8px; }
.rec-sc__dec .btn { flex: 1 1 0; height: 46px; padding: 0 12px; white-space: nowrap; }
.rec-sc__dec .btn:first-child { flex: 1.5 1 0; }
.rec-sc__dec .btn .i { width: 16px; height: 16px; stroke-width: 2.4; }
.rec-sc__dec .btn:disabled { opacity: .45; cursor: default; }
.rec-sc__dec .btn[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--rec-ok); }

/* Process : 3 blocs (tuile icône, titre, nombre), une ligne par étape (n°, titre, en bref, qui), le détail en volet rosée au clic */
.rec-proc .eqa-titre { margin-bottom: 12px; }
.rec-proc__liste { display: grid; gap: 8px; }
.rec-proc__et { border-radius: 16px; box-shadow: inset 0 0 0 1px var(--rec-off-trait); }
.rec-proc__et > summary { display: grid; grid-template-columns: 34px 170px minmax(0, 1fr) 190px 30px; align-items: center; gap: 16px; padding: 12px 10px 12px 12px; border-radius: 16px; color: var(--foret); list-style: none; cursor: pointer; transition: background .15s; }
.rec-proc__et > summary::-webkit-details-marker { display: none; }
.rec-proc__et > summary:hover { background: var(--rec-off-survol); }
.rec-proc__et > summary:hover .eqa-plus, .rec-proc__et[open] > summary .eqa-plus { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-proc__et[open] > summary .eqa-plus { transform: rotate(90deg); }
.rec-proc__et > summary:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec-proc__n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--rec-proc-n); color: var(--foret); font-weight: 800; font-variant-numeric: tabular-nums; }
.rec-proc__t { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rec-proc__s, .rec-proc__qui { overflow: hidden; color: var(--ink-soft); font-size: .875rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.rec-proc__qui { text-align: right; }
.rec-proc__volet { display: grid; gap: 14px; margin: 0 8px 8px; padding: 16px 18px; border-radius: 14px; background: var(--rec-proc-volet); }
.rec-proc__phrase { margin: 0; color: var(--foret); font-size: .9375rem; font-weight: 600; line-height: 1.5; }
.rec-proc__blocs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px 24px; }
.rec-proc__bt { margin: 0 0 6px; color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rec-proc__bloc ul { display: grid; gap: 5px; margin: 0; padding-left: 18px; color: var(--foret); font-size: .875rem; line-height: 1.45; }
.rec-proc__bloc li::marker { color: var(--ink-soft); }

/* Page de candidature : l'aperçu du formulaire dans un téléphone à gauche ; à droite le formulaire, la vidéo du poste, la fiche de poste (repliée) */
.rec-page6 { grid-template-columns: auto minmax(0, 560px); justify-content: center; align-items: start; gap: 28px; }
.rec-page6--sans { grid-template-columns: minmax(0, 640px); }
.rec-page6 .rec-apercu { width: 360px; }
.rec-page6__col { display: grid; gap: 14px; min-width: 0; }
.rec-p6 { gap: 12px; padding: 16px 18px; background: var(--rec-panneau); }
.rec-p6__titre { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--foret); }
.rec-p6__titre b { font-size: 1rem; font-weight: 800; }
.rec-p6__titre .eqa-titre__ic { width: 34px; height: 34px; border-radius: 10px; }
.rec-p6__titre .eqa-titre__ic svg { width: 17px; height: 17px; }
.rec-p6__titre .eqa-plus { margin-left: auto; }
.rec-p6 .rec-board__outils { max-width: none; }
.rec-p6 .rec-vide { padding: 14px 8px; }
.rec-p6__video { display: grid; place-items: center; }
.rec-p6__video video { display: block; width: 100%; max-height: 340px; border-radius: 14px; background: var(--rec-bezel); }
.rec-p6__fiche > summary { list-style: none; cursor: pointer; }
.rec-p6__fiche > summary::-webkit-details-marker { display: none; }
.rec-p6__fiche > summary:hover .eqa-plus, .rec-p6__fiche[open] > summary .eqa-plus { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-p6__fiche[open] > summary .eqa-plus { transform: rotate(90deg); }
.rec-p6__fiche[open] { gap: 12px; }
.rec-p6__fiche .rec-fiche { font-size: .9375rem; }

@media (max-width: 1100px) {
  .rec-proc__et > summary { grid-template-columns: 34px 150px minmax(0, 1fr) 30px; }
  .rec-proc__qui { display: none; }
  .rec-page6 { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .rec-page6__col { width: 100%; max-width: 640px; }
}
@media (max-width: 760px) {
  .rec-fun__sorties6 { justify-content: center; gap: 6px; }
  /* une offre, téléphone : « ‹ titre » puis les 3 onglets, la recherche et Modifier sur la ligne d'après (rien de coupé) */
  .rec--offre .rec-ctl { flex-wrap: wrap; }
  .rec--offre .rec-ctl__g, .rec--offre .rec-ctl__d { flex: 1 1 100%; }
  .rec--offre .rec-ctl__d > .recherche { flex: 1 1 auto; width: auto; }
  .rec-bloc__barre .ag-seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .rec-bloc__barre .ag-seg::-webkit-scrollbar { display: none; }
  /* une offre, téléphone : le nom ; puis reçue · mot-clé · tri, l'étape à droite */
  .rec-table--offre tbody tr[data-id] { grid-template-columns: max-content max-content max-content minmax(0, 1fr); column-gap: 10px; }
  .rec-table--k tbody td.rec-c-motcle, .rec-table--k tbody td.rec-c-tri { grid-row: 2; display: block; overflow: visible; }
  .rec-table--k tbody td.rec-c-recue { grid-column: 1; } .rec-table--k tbody td.rec-c-motcle { grid-column: 2; } .rec-table--k tbody td.rec-c-tri { grid-column: 3; }
  .rec-table--k tbody td.rec-c-etape { grid-column: 4; grid-row: 2; justify-self: end; display: block; overflow: visible; }
  .rec-table--k .rec-c-etape .rec-st { min-width: 0; }
  .rec-table--k .rec-tri-p { height: 24px; padding: 0 9px; font-size: .74rem; }
  .rec-cand6__tete { flex-wrap: wrap; gap: 10px; padding: 14px 12px 14px 16px; }
  .rec-cand6__tete .rec-cand__qui { flex: 1 1 calc(100% - 60px); }
  .rec-cand6__tete .rec-cand6__x { order: 0; }
  .rec-cand6__et { order: 1; flex-direction: row; align-items: center; }
  .rec-cand6__tete .rec-nav { order: 2; margin-left: auto; }
  .rec-onglets6 [role=tab] { flex: 1 1 0; height: 42px; padding: 0 6px; }
  .rec-onglets6 [role=tab] span { display: none; }
  .rec-onglets6 [role=tab][aria-selected="true"] { flex: 0 0 auto; padding: 0 12px; }
  .rec-onglets6 [role=tab][aria-selected="true"] span { display: inline; }
  .rec-corps6 { padding: 12px; }
  .rec-sc { padding: 4px 12px; }
  .rec-sc__nom { font-size: .875rem; }
  .rec-sc__b { width: 40px; }
  .rec-sc__dec { flex-wrap: wrap; }
  .rec-sc__dec .btn:first-child { flex: 1 1 100%; }
  .rec-proc__et > summary { grid-template-columns: 30px minmax(0, 1fr) 28px; grid-template-rows: auto auto; row-gap: 2px; gap: 2px 12px; }
  .rec-proc__n { grid-row: 1 / 3; width: 30px; height: 30px; }
  .rec-proc__t { grid-column: 2; grid-row: 1; }
  .rec-proc__s { grid-column: 2; grid-row: 2; font-size: .8125rem; }
  .rec-proc__et > summary .eqa-plus { grid-column: 3; grid-row: 1 / 3; }
  .rec-proc__volet { padding: 14px; }
  .rec-page6 .rec-apercu { width: 100%; }
  .rec-p6 { padding: 14px; }
}

/* RECRUTV6-2810 v2 (Loris, 28/10/2026 : « pas simple, pas minimaliste, ça ne correspond pas au vrai process » ; « le marketing par source » ; « toujours un filtre de date ») :
   la période (.rec-per, le composant de l'Emailing), les panneaux funnel à N étapes (--n), les chips du titre, les tableaux Marketing, le tiroir parcours (.rec-frise) */
.rec-fun6 .rec-fun__et { grid-template-columns: repeat(var(--n, 7), minmax(0, 1fr)); }
.rec-et--fixe { cursor: default; }
.rec-et--fixe:hover { background: none; }
.rec-meta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.rec-chip { display: inline-flex; align-items: baseline; gap: 8px; height: 30px; padding: 0 12px; border-radius: var(--r-pill); background: var(--rec-h-verre); box-shadow: inset 0 0 0 1px var(--rec-h-verre-trait); line-height: 30px; }
.rec-chip small { color: var(--rec-h-pale); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rec-chip b { color: var(--rec-h-blanc); font-size: .95rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.rec-chip--cle { background: var(--rec-h-lime-verre); box-shadow: inset 0 0 0 1px var(--rec-h-lime-trait); }
.rec-chip--cle b { color: var(--rec-h-lime); }
.rec-hero4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rec-unite { color: var(--rec-h-pale); font-size: .55em; font-weight: 700; }
.rec-per { display: inline-flex; align-items: center; gap: 8px; }
.rec-per .ag-seg--petit button { padding: 0 10px; }
.rec-per .ag-periode { min-width: 0; margin: 0; font-size: .95rem; font-weight: 800; white-space: nowrap; cursor: pointer; }
.rec-per .ag-periode-nav { display: inline-flex; align-items: center; gap: 6px; }
.rec-ctl__d > .recherche { flex: 0 1 190px; width: 190px; }
/* les tableaux Marketing (par source, par offre) : colonnes de chiffres alignées à droite */
.rec-table--m th { padding: 0 12px; }
.rec-th { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rec-table--m th.num .rec-th { text-align: right; white-space: normal; line-height: 1.2; }
.rec-btn-ic, .rec-ctl .btn.rec-nouveau, .rec-ctl .btn.rec-modifier { width: 40px; padding: 0; justify-content: center; }
.rec-table--m .num { text-align: right; font-variant-numeric: tabular-nums; }
.rec-table--m td { color: var(--foret); font-weight: 600; }
.rec-table--o tbody tr { cursor: pointer; }
.rec-table--o tbody tr:hover td { background: var(--rec-ligne-survol); }
.rec-src { display: inline-flex; align-items: center; gap: 10px; }
.rec-src .i { width: 17px; height: 17px; }
.rec-action6 { color: var(--foret); font-weight: 700; }
.rec-c-etape .rec-st { min-width: 130px; height: 30px; padding: 0 12px; font-size: .78rem; }
.rec-c-etape .rec-st .i { width: 13px; height: 13px; }
/* le tiroir parcours : la candidature et les notes repliées (une ligne + chevron), la frise des étapes */
.rec-cand6 { gap: 12px; padding-bottom: 22px; }
.rec-cand6__tete { margin-bottom: 4px; }
.rec-pli { padding: 0; gap: 0; }
.rec-pli > summary { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 12px 0 16px; color: var(--foret); list-style: none; cursor: pointer; }
.rec-pli > summary::-webkit-details-marker { display: none; }
.rec-pli > summary > svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
.rec-pli > summary b { font-weight: 800; }
.rec-pli > summary .eqa-plus { margin-left: auto; }
.rec-pli[open] > summary .eqa-plus, .rec-pli > summary:hover .eqa-plus { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-pli[open] > summary .eqa-plus { transform: rotate(90deg); }
.rec-pli__tel { color: var(--ink-soft); font-size: .875rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.rec-pli__corps { display: grid; gap: 12px; padding: 0 16px 16px; }
.rec-pli--notes .rec-notes { padding: 0 16px 16px; }
.rec-frise { display: grid; gap: 0; margin: 0; padding: 6px 0; list-style: none; }
.rec-frise__e { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; padding: 0 0 14px; }
.rec-frise__e::before { content: ""; position: absolute; top: 34px; bottom: 2px; left: 15px; width: 2px; border-radius: 2px; background: var(--rec-ligne-trait); }
.rec-frise__e:last-child::before { display: none; }
.rec-frise__e--fait::before { background: var(--lime); }
.rec-frise__pt { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--rec-note); color: var(--ink-soft); font-size: .8125rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.rec-frise__pt .i { width: 15px; height: 15px; stroke-width: 3; }
.rec-frise__e--fait .rec-frise__pt { background: var(--grad-lime); color: var(--rec-s-retenu-t); }
.rec-frise__e--cours .rec-frise__pt { background: var(--rec-note-on); color: var(--rec-note-on-t); box-shadow: 0 0 0 4px rgba(161, 224, 77, .35); }
.rec-frise__e--stop .rec-frise__pt { background: var(--rec-s-refuse); color: var(--rec-s-refuse-t); }
.rec-frise__c { min-width: 0; }
.rec-frise__t { display: flex; align-items: center; gap: 10px; min-height: 32px; margin: 0; }
.rec-frise__t b { color: var(--foret); font-size: .9375rem; font-weight: 800; }
.rec-frise__e--avenir .rec-frise__t b { color: var(--ink-soft); font-weight: 700; opacity: .7; }
.rec-frise__m { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.rec-frise__m .rec-tri-p { height: 24px; padding: 0 10px; font-size: .75rem; }
.rec-frise__ref { color: var(--ink-soft); }
.rec-frise__mod { display: grid; gap: 12px; margin-top: 8px; padding: 14px; border-radius: 18px; background: var(--blanc); box-shadow: 0 14px 30px -24px rgba(21, 44, 18, .7); }
.rec-frise__mod .rec-sc { display: grid; padding: 0; }
.rec-frise__mod .rec-sc__l { min-height: 46px; }
.rec-frise__mod .rec-sc__b { width: 34px; height: 32px; font-size: .875rem; }
.rec-frise__mod .rec-sc__notes { gap: 4px; }
.rec-frise__mod .rec-sc__nom { font-size: .875rem; }
.rec-frise__mod .rec-entretiens { padding: 0; background: none; }
.rec-sc__b--bas[aria-pressed="true"] { background: var(--rec-s-refuse); color: var(--rec-ko); }
.rec-ref { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding-top: 4px; border-top: 1px solid var(--rec-ligne-trait); }
.rec-ref__notes .rec-sc__b { width: 30px; }
.rec-dec6 { display: grid; gap: 8px; }
.rec-dec6__autres { display: flex; justify-content: center; gap: 4px; }
.rec-dec6__autres:empty { display: none; }
.btn.rec-lien-b { height: 34px; padding: 0 12px; background: none; box-shadow: none; color: var(--ink-soft); font-size: .8125rem; font-weight: 700; }
.btn.rec-lien-b:hover:not(:disabled) { background: var(--rec-note); color: var(--foret); }
.btn.rec-lien-b:disabled { opacity: .4; }
.btn.rec-lien-b .i { width: 14px; height: 14px; }
.rec-frise__mod .rec-gros { height: 48px; }
.btn.rec-gros--non { background: var(--rec-s-refuse); color: var(--foret); }
.rec-gros:disabled { opacity: .45; cursor: default; }
.rec-cases { display: grid; gap: 6px; }
.rec-case { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 12px; border: 0; border-radius: 12px; background: var(--rec-note); color: var(--foret); font: inherit; font-size: .875rem; font-weight: 700; text-align: left; cursor: pointer; }
.rec-case:disabled, .rec-case--auto { cursor: default; }
.rec-case__b { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 7px; background: var(--blanc); box-shadow: inset 0 0 0 1.5px var(--rec-tete-trait); }
.rec-case__b .i { width: 14px; height: 14px; stroke-width: 3; }
.rec-case[aria-pressed="true"] .rec-case__b { background: var(--grad-lime); box-shadow: none; color: var(--rec-s-retenu-t); }
.rec-case small { margin-left: auto; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.rec-cpt { display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); gap: 10px; padding: 14px 16px; border-radius: 14px; background: var(--grad-sousbois); }
.rec-cpt > div { display: flex; align-items: baseline; gap: 6px; }
.rec-cpt b { color: var(--rec-h-lime); font-size: 1.7rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.rec-cpt small { color: var(--rec-h-pale); font-size: .8125rem; font-weight: 700; }
.rec-cpt__barre { grid-column: 1 / -1; display: block; height: 8px; overflow: hidden; border-radius: 99px; background: var(--rec-h-verre-fort); }
.rec-cpt__barre i { display: block; height: 100%; border-radius: 99px; background: var(--rec-h-lime); }
.rec-email input { width: 100%; }
.rec-id { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 10px 12px; border-radius: 12px; background: var(--rec-note); color: var(--foret); font-size: .875rem; font-weight: 700; }
.rec-id span { display: inline-flex; align-items: center; gap: 8px; }
.rec-id .i { width: 15px; height: 15px; }
.rec-attente6 { display: flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: .875rem; font-weight: 700; }
.rec-attente6 .i { width: 16px; height: 16px; }
@media (max-width: 1280px) {
  .rec-ctl__d > .recherche { flex-basis: 150px; width: 150px; }
}
@media (max-width: 760px) {
  .rec-ctl__d { flex-wrap: wrap; }
  .rec-per { flex: 1 1 100%; justify-content: space-between; }
  .rec-fun6 .rec-fun__et { grid-template-columns: repeat(var(--n, 7), minmax(0, 1fr)); }
  .rec-fun6 .rec-et span { font-size: .48rem; letter-spacing: .02em; }
  .rec-fun6 .rec-et b { font-size: 1.1rem; }
  .rec-meta { margin-left: 0; }
  .rec-hero4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rec-hero4 .eqa-chiffre:nth-child(3) { padding-left: 0; border-left: 0; }
  .rec-table--m { display: block; overflow-x: auto; }
  .rec-table--offre tbody tr[data-id] { grid-template-columns: max-content max-content max-content minmax(0, 1fr); }
  .rec-table--k tbody td.rec-c-note { grid-column: 3; grid-row: 2; display: block; overflow: visible; }
  .rec-table--k tbody td.rec-c-action { grid-column: 1 / -1; grid-row: 3; display: block; font-size: .8125rem; }
  .rec-frise__mod .rec-sc__l { flex-wrap: wrap; padding: 6px 0; }
  .rec-frise__mod .rec-sc__notes { width: 100%; justify-content: space-between; }
  .rec-frise__mod .rec-sc__b { flex: 1 1 0; }
}
.rec-frise__e--avenir { padding-bottom: 8px; }
.rec-frise__e--avenir .rec-frise__t { min-height: 28px; }
.rec-frise__e--avenir .rec-frise__pt { width: 28px; height: 28px; margin-left: 2px; }
/* tour 2 de la grille : 1280 sur une ligne ; téléphone : funnel sur deux rangées, grilles du tiroir à la largeur */
.rec-frise__mod { grid-template-columns: minmax(0, 1fr); }
.rec-ref__notes { display: flex; flex: 1 1 auto; justify-content: flex-end; }
.rec-ref__notes .rec-sc__b { flex: 0 1 30px; min-width: 0; }
@media (max-width: 1300px) {
  .rec-ctl__d > .recherche { flex-basis: 120px; width: 120px; }
  .rec-per .ag-seg--petit button { padding: 0 8px; }
  .rec-per .ag-periode-nav { gap: 2px; }
}
@media (max-width: 760px) {
  .rec-fun6 .rec-fun__et { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 12px; }
  .rec-fun6 .rec-fun__svg { display: none; }
  .rec-fun6 .rec-et span { font-size: .5rem; }
  .rec-per { flex-wrap: wrap; }
  .rec-per .ag-seg { max-width: 100%; overflow-x: auto; }
  .rec-ctl__d > .recherche { flex: 1 1 auto; width: auto; }
  .rec-frise__e { grid-template-columns: 28px minmax(0, 1fr); gap: 10px; }
  .rec-frise__pt { width: 28px; height: 28px; }
  .rec-frise__e::before { left: 13px; top: 30px; }
  .rec-frise__mod { padding: 10px; }
  .rec-frise__mod .rec-sc__b { width: auto; min-width: 0; }
  .rec-ref { gap: 6px; }
  .rec-ref__notes { width: 100%; }
  .rec-ref__notes .rec-sc__b { flex: 1 1 0; }
  .rec-meta .rec-chip { height: 26px; line-height: 26px; padding: 0 9px; }
}
.rec-table--offre col.rec-col-nom { width: 210px !important; }
.rec-table--offre col.rec-col-recue { width: 100px !important; }

/* CPP-2910 : de l'air entre les chiffres de la période et les blocs S − 1 … Début */
.table-camp--campagnes > thead > tr > th.cd-sep + th, .table-camp--campagnes > tbody > tr.camp-ligne > td.cd-sep + td, .table-camp--campagnes > tfoot td.cd-sep + td { padding-left: 22px; }
.table-camp--campagnes > thead > tr > th:has(+ th.cd-sep), .table-camp--campagnes > tbody > tr.camp-ligne > td:has(+ td.cd-sep), .table-camp--campagnes > tfoot td:has(+ td.cd-sep) { padding-right: 22px; }

/* CPP-2910 : page client, des colonnes de chiffres moins serrées et de l air avant S − 1 */
.pc-t--libre th.num, .pc-t--libre td.num { padding-left: 12px; padding-right: 12px; }
.pc-t--libre .pc-s1 { padding-left: 22px; }
.pc-t--libre th:has(+ .pc-s1), .pc-t--libre td:has(+ .pc-s1) { padding-right: 22px; }

/* R2PAYE-2910 : la pièce des 50 € payés sur un R2 (Calendrier), à gauche du carré de résultat */
.ag-acompte { display: inline-grid; place-items: center; flex: none; width: 18px; height: 18px; }
.ag-acompte svg { width: 17px; height: 17px; fill: #F7D576; stroke: #7A5C0E; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ag-rdv > .ag-acompte { position: absolute; top: 50%; right: 5px; transform: translateY(-50%); }
.ag-rdv > .ag-acompte:has(+ .ag-issue) { right: 26px; }
.ag-rdv:has(> .ag-acompte) .ag-rdv__in { padding-right: 26px; }
.ag-rdv:has(> .ag-acompte + .ag-issue) .ag-rdv__in { padding-right: 47px; }
@container (max-height: 21px) { .ag-rdv > .ag-acompte { width: 15px; height: 15px; right: 3px; } .ag-rdv > .ag-acompte svg { width: 14px; height: 14px; } .ag-rdv > .ag-acompte:has(+ .ag-issue) { right: 21px; } }
.ag-mpuce .ag-acompte { width: 14px; height: 14px; margin: 0 2px 0 auto; } .ag-mpuce .ag-acompte svg { width: 13px; height: 13px; }
/* FUNNELS-2910 : Marketing › Funnels (liste En cours / Historique, puis un funnel : étapes, vidéo, réglages) ; briques de l'Emailing (em-*) */
.fn .em-tab td small.fn-version { margin-left: 8px; color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.fn .fn-histo .em-tab { margin-top: 16px; }
.fn-retour { flex: none; width: 36px; height: 36px; }
.fn-etapes { padding-bottom: 20px; }
.fn-etapes .em-recap__titre { margin-bottom: 14px; }
.fn-taux { margin-left: auto; padding: 6px 14px; border-radius: var(--r-pill, 999px); background: rgba(255, 255, 255, .1); color: rgba(242, 254, 226, .8); font-size: .85rem; font-weight: 700; white-space: nowrap; }
.fn-taux b { margin-left: 4px; color: #A1E04D; font-weight: 800; }
.fn-entonnoir { display: block; width: 100%; height: auto; }
.fn-vide { color: rgba(242, 254, 226, .7); }
.fn-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0 22px; }
.fn-ch { min-width: 0; padding: 16px 20px; border-radius: 20px; background: #EEF1EC; }
.fn-ch__nom { margin: 0; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fn-ch__n { margin: 10px 0 6px; color: var(--foret); font-size: 2.1rem; font-weight: 800; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.fn-ch__p { margin: 0; color: var(--ink-soft); font-size: .8rem; font-weight: 600; }
.fn-ch--fort { background: radial-gradient(120% 140% at 100% 0%, rgba(161, 224, 77, .18) 0%, rgba(161, 224, 77, 0) 50%), var(--grad-sousbois); }
.fn-ch--fort .fn-ch__nom, .fn-ch--fort .fn-ch__p { color: rgba(242, 254, 226, .62); }
.fn-ch--fort .fn-ch__n { color: #A1E04D; }
.fn-cb { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: 220px 22px; gap: 6px 10px; }
.fn-cb__y { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; margin: -7px 0; color: var(--ink-soft); font-size: .72rem; font-weight: 700; }
.fn-cb__zone { position: relative; border-bottom: 1px solid var(--em-tete, rgba(21, 44, 18, .14)); cursor: crosshair; }
.fn-cb__zone svg { display: block; width: 100%; height: 100%; }
.fn-cb__ligne { fill: none; stroke: #152C12; stroke-width: 2.5; stroke-linejoin: round; }
.fn-cb__grille { stroke: rgba(21, 44, 18, .08); stroke-width: 1; }
.fn-cb__x { position: relative; grid-column: 2; color: var(--ink-soft); font-size: .72rem; font-weight: 700; }
.fn-cb__x span { position: absolute; top: 2px; transform: translateX(-50%); }
.fn-cb__x span:first-child { transform: none; }
.fn-cb__curseur { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1px dashed rgba(21, 44, 18, .5); pointer-events: none; }
.fn-cb__bulle { position: absolute; padding: 6px 10px; border-radius: 10px; background: #152C12; color: #F2FEE2; font-size: .78rem; font-weight: 700; white-space: nowrap; transform: translate(-50%, -130%); pointer-events: none; }
.fn-regs { margin-top: 16px; }
.fn-reg { display: grid; grid-template-columns: 140px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 54px; padding: 0 10px; border-top: 1px solid var(--em-trait, rgba(21, 44, 18, .07)); }
.fn-reg:nth-child(even) { background: var(--em-ligne, #F7F9F6); }
.fn-reg__nom { color: var(--ink-soft); font-size: .85rem; font-weight: 700; }
.fn-reg__val { min-width: 0; overflow: hidden; color: var(--foret); font-size: .9rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.fn-reg__val .em-lien { font-size: .9rem; font-weight: 600; }
.fn-gris { margin-left: 6px; color: var(--ink-soft); }
.fn-reg__crayon { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 10px; background: rgba(21, 44, 18, .06); color: var(--foret); cursor: pointer; }
.fn-reg__crayon:hover { background: var(--rosee); }
.fn-reg__crayon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fn-reg__champ { width: 100%; height: 38px; padding: 0 12px; border: 1px solid rgba(21, 44, 18, .18); border-radius: 10px; background: var(--blanc, #fff); color: var(--foret); font: inherit; font-size: .9rem; }
.fn-reg__act { display: flex; gap: 8px; }
.fn-reg__act .btn { height: 38px; padding: 0 14px; font-size: .85rem; }
.fn-reg__err { grid-column: 2 / -1; padding-bottom: 10px; color: #B4432F; font-size: .8rem; font-weight: 700; }
@media (max-width: 760px) {
  .fn-chiffres { gap: 8px; }
  .fn-ch { padding: 12px; border-radius: 16px; }
  .fn-ch__nom { font-size: .58rem; letter-spacing: .06em; }
  .fn-ch__n { margin: 8px 0 4px; font-size: 1.5rem; }
  .fn-ch__p { font-size: .68rem; }
  .fn-cb { grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: 160px 22px; }
  .fn-reg { grid-template-columns: 90px minmax(0, 1fr) auto; }
  .fn-taux { display: none; }
}
/* FIN FUNNELS-2910 */

/* ZONE-2910 : Changer la zone d un ensemble, la commune et son département sur deux lignes */
.pz-villes { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 6px; }
.pz-villes .pc-v-case > span { display: flex; flex-direction: column; gap: 2px; font-weight: 700; }
.pz-villes .pc-v-case small { font-weight: 500; font-size: 12px; opacity: .7; }
.pz-villes input[type=radio] { accent-color: #3E7D1C; width: 18px; height: 18px; }

/* MOBILE-2910 début (Loris, 29/10/2026 : l'ERP sur téléphone, « les filtres en haut, on est obligé de scroller sur la droite » ;
   « une seule ligne : le filtre de date = juste un petit agenda, les filtres apparaissent en dessous »). Seulement sous 700 px : le bureau ne bouge pas.
   Bloc posé en fin de fichier, d'un seul tenant. Le bandeau des onglets garde sa ligne qui défile ; la flèche ‹ › est posée par le script d'index.html. */
.m-cal, .m-fleche { display: none; } /* téléphone seulement */
@media (max-width: 699px) {
  /* filet : la page elle-même ne défile jamais sur le côté (clip garde les en-têtes collants) */
  html, body { overflow-x: clip; }
  /* Bandeau : la flèche au bout des onglets (défile vers la droite, puis revient au début) */
  .zone .entete--bandeau .m-fleche:not([hidden]) { display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; margin-left: 2px; padding: 0; border: 0; border-radius: 999px;
    background: rgba(21, 44, 18, .07); color: var(--foret); cursor: pointer; }
  .zone .entete--bandeau .m-fleche svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
  .zone .entete--bandeau .m-fleche[data-sens="gauche"] svg { transform: rotate(180deg); }
  /* Bandeau sur UNE ligne : ☰ · offre (la pastille, fixe au début) · onglets qui défilent · flèche · cloche */
  .zone .entete--bandeau .bar { flex-wrap: nowrap; gap: 6px; }
  .zone .entete--bandeau .bar .menu-bouton { order: 1; margin-right: 0; }
  .zone .entete--bandeau .onglets { order: 2; flex: 1 1 0; min-width: 0; overflow-x: auto; flex-wrap: nowrap; margin-block: -8px; padding-block: 8px; }
  .zone .entete--bandeau .m-fleche { order: 3; align-self: center; }
  .zone .entete--bandeau :is(.liens-haut, .cloche) { order: 4; margin-left: 0; }
  .zone .entete--bandeau .bar > .nav-offre.m-dehors { order: 1; flex: none; margin: 0; padding: 0; border: 0; }
  .zone .entete--bandeau .onglets.defile { -webkit-mask-image: linear-gradient(90deg, transparent, #000 18px) !important; mask-image: linear-gradient(90deg, transparent, #000 18px) !important; }
  .zone .entete--bandeau .nav-offre__bouton { gap: 4px; padding: 0 6px 0 10px; }
  .zone .entete--bandeau .nav-offre__nom { display: none; } /* la pastille de couleur dit l'offre ; le nom dans le menu */
  .zone .entete--bandeau .onglets a.onglet-icone, .zone .entete--bandeau .onglets .onglet-sop { position: static; box-shadow: none; }
  .zone .entete--bandeau .onglets a.onglet-icone::before { display: none; }
  .zone .entete--bandeau .onglets .onglets__trait { display: none; }
  .zone .entete--bandeau .onglets > a:not(.onglet-icone) { padding: 7px 12px; font-size: .9063rem; white-space: nowrap; }
  .zone .entete--bandeau .cloche__bouton { width: 36px; height: 36px; }

  /* Bandeau : l'offre (au début) et la cloche restent en place, seuls les onglets défilent ; les guides (SOP) passent dans le « ? » en bas à droite */
  .zone .entete--bandeau .onglets :is(a.onglet-icone, .onglet-sop) { display: none !important; }
  /* le « ? » : décollé des bords de l'iPhone */
  .aide { right: 18px !important; bottom: calc(22px + env(safe-area-inset-bottom, 0px)) !important; }
  .aide__menu { right: 0; }


  /* Onglets du bandeau : du texte souligné, pas des bulles (plus d'onglets entiers sur la ligne) */
  .zone .entete--bandeau .onglets { gap: 2px; }
  .zone .entete--bandeau .onglets > a:not(.onglet-icone) { padding: 9px 9px 10px !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
    color: var(--ink-soft); font-size: .9375rem; font-weight: 700; }
  .zone .entete--bandeau .onglets > a:not(.onglet-icone)[aria-current] { color: var(--foret); font-weight: 800; box-shadow: inset 0 -3px 0 var(--lime) !important; }

  /* Barres de filtres : une ligne ; les sous-onglets de l'écran (Offres / Candidats…) sur la leur, au-dessus */
  .zone .wrap .rec-ctl, .zone .wrap .filtres, .zone .wrap .ag-outils { display: flex !important; flex-wrap: wrap !important; align-items: center; justify-content: flex-start; gap: 8px; min-width: 0; max-width: 100%; }
  .zone .wrap .rec-ctl__g, .zone .wrap .rec-ctl__d, .zone .wrap .rec-per, .zone .wrap .filtres__gauche, .zone .wrap .filtres__droite,
  .zone .wrap .em-droite, .zone .wrap .ag-gauche, .zone .wrap .ag-droite { display: contents !important; }
  .zone .wrap .em-trait, .zone .wrap .ag-outils .pr-trait { display: none; }
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils) .ag-seg { flex: 0 1 auto; max-width: 100%; min-width: 0; }
  .zone .wrap .rec-onglets, .zone .wrap .chips--vue { order: -1; flex: 1 1 100% !important; }
  .zone .wrap .rec-onglets > button { flex: 1 1 0; justify-content: center; }
  .zone .wrap .chips--vue { flex-wrap: wrap; }
  .zone .wrap .ag-periode { white-space: nowrap; }
  .zone .wrap .rec-nouveau, .zone .wrap .filtres [data-nouveau] { order: 9; }
  .zone .wrap .ag-outils .nav-offre__nom { display: none; } /* Agenda : les visages et les pastilles suffisent */
  .zone .wrap .ag-outils .nav-offre__bouton { padding-inline: 8px; }
  .zone .wrap .em-menu { gap: 4px; padding-inline: 8px; font-size: .8125rem; }
  .zone .wrap .em-menu select { max-width: 62px; font-size: inherit; }
  .zone .wrap .rc-filtres .ag-seg { flex-wrap: wrap; height: auto; overflow: visible; border-radius: 20px; }

  /* Bouton agenda (filtres de date repliés, script MOBILE-2910 d'index.html) et petite fenêtre qui s'ouvre par-dessus, sous la barre */
  .zone .wrap .m-replie { position: relative; z-index: 30; }
  .zone .wrap .m-cal { display: inline-grid; place-items: center; flex: none; order: 8; width: 40px; height: 40px; margin-left: auto; padding: 0; border: 0; border-radius: 12px;
    background: var(--blanc, #fff); box-shadow: inset 0 0 0 1px rgba(21, 44, 18, .12); color: var(--foret, #152C12); cursor: pointer; }
  .zone .wrap .m-cal svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .zone .wrap .m-ouvert > .m-cal { background: #152C12; box-shadow: none; color: #A1E04D; }
  .zone .wrap .m-replie:not(.m-ouvert) .m-pop { display: none !important; }
  .zone .wrap .m-ouvert .m-pop { position: absolute !important; z-index: 32; margin: 0 !important; max-width: none !important; }
  .zone .wrap .m-ouvert .ag-nav.m-pop { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
  .zone .wrap .m-ouvert .ag-nav.m-pop > .ag-seg { flex: 1 1 100%; }
  .zone .wrap .m-ouvert .ag-nav.m-pop > .ag-seg > button { flex: 1 1 0; justify-content: center; }
  .zone .wrap .m-ouvert .ag-seg.m-pop > button, P.m-ouvert .vue-crm.m-pop > button { flex: 1 1 0; min-width: 0; justify-content: center; padding-inline: 6px !important; }
  .zone .wrap .m-panneau { position: absolute; left: 0; right: 0; z-index: 31; border-radius: 20px; background: var(--blanc, #fff);
    box-shadow: 0 0 0 1px rgba(21, 44, 18, .08), 0 22px 40px -18px rgba(21, 44, 18, .55); }
  /* Recherche : une loupe tant qu'elle est vide, le champ s'ouvre au toucher */
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre) .recherche:not(:focus-within):has(input:placeholder-shown) { flex: 0 0 40px !important; width: 40px !important; min-width: 0 !important; height: 40px; box-sizing: border-box; padding: 0 !important; justify-content: center; overflow: hidden; }
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre) .recherche:not(:focus-within):has(input:placeholder-shown) input { flex: 0 0 0; width: 0 !important; min-width: 0 !important; padding: 0 !important; border: 0; opacity: 0; }
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre) .recherche:focus-within, P:is(.rec-ctl, .filtres, .ag-outils, .ad-barre) .recherche:not(:has(input:placeholder-shown)) { flex: 1 1 140px !important; }

  /* Tableaux : sur téléphone, seulement les colonnes qui comptent (le détail reste au clic sur la ligne) ; rien ne sort de l'écran */
  .zone .wrap .em-tab, .zone .wrap .board--table, .zone .wrap .rc-boite { max-width: 100%; overflow-x: auto; }
  .zone .wrap .em-tab table, .zone .wrap .ag-tab, .zone .wrap .rc-table, .zone .wrap .table-camp--campagnes { min-width: 0 !important; width: 100%; table-layout: auto; }
  .zone .wrap .em-tab col { width: auto !important; }
  .zone .wrap .em-tab td:first-child { max-width: 0; width: 100%; }
  /* Emailing › Newsletters : Objet · Statut · Ouverture */
  .zone .wrap .em-tab table:has(th[data-tri="ouv"]) :is(th, td):not(:nth-child(1), :nth-child(2), :nth-child(6)) { display: none; }
  /* Emailing › Contacts : Contact · Statut */
  .zone .wrap .em-tab table:has(th[data-tri="email"]) :is(th, td):not(:nth-child(1), :nth-child(4)) { display: none; }
  /* Emailing › Listes : Liste · Actifs · Total */
  .zone .wrap .em-tab table:has(thead th:nth-child(2).num) :is(th, td):not(:nth-child(1), :nth-child(2), :nth-child(6)) { display: none; }
  /* Lead magnets : Lead magnet · Statut · Inscrits */
  .zone .wrap .em-tab table:has(th[data-tri="inscrits"]) :is(th, td):not(:nth-child(1), :nth-child(4), :nth-child(6)) { display: none; }
  /* Agenda › Disponibilités : Personne · Rempli · › ; Liens de réservation : Lien · Actif · › */
  .zone .wrap .ag-tab:not(.lr-tab) :is(th, td):not(:nth-child(1), :nth-child(4), :nth-child(6)) { display: none; }
  .zone .wrap .lr-tab :is(th, td):not(:nth-child(1), :nth-child(6), :nth-child(7)) { display: none; }
  .zone .wrap .ag-tab .ag-rempli__barre { width: 44px; }
  .zone .wrap .ag-tab .ag-rempli small { white-space: normal; font-size: .6875rem; }
  /* Recrutement : Candidats (offre · reçue sous le nom) ; Marketing : Source · Dépensé · Candidatures · € / candidature, Offre · Investi · Candidats · € / candidature */
  .zone .wrap .rec-table--k tbody td.rec-c-offre + td.rec-c-recue { grid-column: 2; }
  .zone .wrap .rec-table--m { display: table !important; width: 100%; table-layout: auto; }
  .zone .wrap .rec-table--m col { width: auto !important; }
  .zone .wrap .rec-table--m :is(th, td) { padding-inline: 5px; font-size: .8125rem; }
  .zone .wrap .rec-table--m colgroup { display: none; }
  .zone .wrap .rec-table--m th .rec-th { white-space: normal !important; font-size: .625rem; line-height: 1.15; }
  .zone .wrap .rec-table--m :is(th, td):first-child { width: 38%; max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .zone .wrap .rec-bloc-k:has(.rec-table--m) { overflow-x: hidden; }
  .zone .wrap .rec-table--m:not(.rec-table--o) :is(th, td):not(:nth-child(1), :nth-child(2), :nth-child(7), :nth-child(8)) { display: none; }
  .zone .wrap .rec-table--o :is(th, td):not(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(8)) { display: none; }
  /* Delivery › Reconversion : Élève · Avancement */
  .zone .wrap .rc-table :is(th, td):not(:nth-child(1), :nth-child(2)) { display: none; }
  .zone .wrap .rc-table td, .zone .wrap .rc-table td * { white-space: normal !important; min-width: 0; }
  .zone .wrap .rc-table td:nth-child(2) { width: 46%; }
  .zone .wrap .rc-table .rc-avance__ligne { flex-wrap: wrap; column-gap: 6px; }
  /* Delivery › Campagnes : Client · État · Dépensé */
  .zone .wrap .table-camp--campagnes > :is(thead, tbody) > tr:not(.camp-sous, .camp-jours, .camp-detail) > :is(th, td):not(:nth-child(2), :nth-child(4), :nth-child(7)) { display: none; }
  .zone .wrap .table-camp--campagnes > tfoot > tr > td:not(:nth-child(2), :nth-child(3), :nth-child(5)) { display: none; }
  .zone .wrap .table-camp--campagnes > tbody > tr:not(.camp-sous, .camp-jours, .camp-detail) > td:nth-child(2), .zone .wrap .table-camp--campagnes > tbody > tr:not(.camp-sous, .camp-jours, .camp-detail) > td:nth-child(2) * { white-space: normal !important; overflow-wrap: break-word; }
  .zone .wrap .table-camp--campagnes > thead th, .zone .wrap .table-camp--campagnes > thead th .tri { white-space: normal !important; }
  .zone .wrap .table-camp--campagnes :is(th, td) { padding-inline: 4px; font-size: .8125rem; }
  .zone .wrap .table-camp--campagnes .camp-etat, .zone .wrap .table-camp--campagnes td:nth-child(4) > * { padding-inline: 7px; }
  .zone .wrap .table-camp--campagnes > :is(thead, tbody) > tr > :is(th, td):is(:nth-child(4), :nth-child(7)) { width: 1%; white-space: nowrap; }
  /* Agenda › Appels d'équipe : nom · actif · › sur la ligne, le « quand » dessous */
  .zone .wrap .ap-cols { display: none; }
  .zone .wrap .ap-liste, .zone .wrap .ap-ligne { min-width: 0 !important; }
  .zone .wrap .ap-ligne { grid-template-columns: minmax(0, 1fr) auto 18px; row-gap: 6px; }
  .zone .wrap .ap-ligne .ap-quand { grid-row: 2; grid-column: 1 / -1; }
  .zone .wrap .ap-ligne .ap-pile { display: none; }



  /* Delivery › Campagnes et la page d'un client (#/delivery/campagnes/…) : rien ne sort de l'écran ; « Mettre à jour » = l'icône seule */
  .zone .wrap #actualiser { order: 9; width: 40px; height: 40px; padding: 0; font-size: 0; display: inline-grid; place-items: center; }
  .zone .wrap #actualiser::before { content: "↻"; font-size: 1.25rem; font-weight: 700; }
  .zone .wrap .pc-barre { flex-wrap: wrap; row-gap: 8px; }
  .zone .wrap .pc-qui { flex: 1 1 0; min-width: 0; }
  .zone .wrap .pc-maj { order: 2; flex: none; width: 40px; height: 40px; padding: 0; justify-content: center; }
  .zone .wrap .pc-maj > span { display: none; }
  .zone .wrap .pc-lueurs { order: 3; flex: 1 1 100%; flex-wrap: wrap; gap: 6px 14px; }
  .zone .wrap .pc-onglets { flex-wrap: wrap; gap: 8px; }
  .zone .wrap .pc-seg { display: grid !important; grid-template-columns: 1fr 1fr; flex: 1 1 100%; width: 100%; height: auto !important; border-radius: 14px !important; }
  .zone .wrap .pc-seg > button { justify-content: center; min-width: 0; padding-inline: 6px; border-radius: 10px !important; }
  .zone .wrap .pc-outils { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
  /* la page d'un client : le tableau défile dans sa boîte, l'interrupteur et le nom restent à gauche (la case à cocher : sur ordinateur) */
  .zone .wrap .pc-t :is(th, td).pc-c-sel { display: none; }
  .zone .wrap .pc-t :is(th, td).pc-c-int { position: sticky; left: 0; z-index: 2; background: var(--blanc, #fff); }
  .zone .wrap .pc-t :is(th, td).pc-c-nom { position: sticky; left: 54px; z-index: 2; width: 150px; min-width: 150px; max-width: 150px; background: var(--blanc, #fff);
    white-space: normal; box-shadow: 8px 0 8px -8px rgba(21, 44, 18, .35); }
  .zone .wrap .pc-t td.pc-c-nom * { white-space: normal !important; }
  .zone .wrap .pc-periode { flex: 1 1 auto; }
  .zone .wrap .pc-periode > button { flex: 1 1 0; justify-content: center; padding-inline: 4px; }


  /* Fiche d'un client (tiroir) : presque tout l'écran, rien qui sort à droite (onglets Résultats / Campagnes / Configuration qui défilent) */
  dialog.fiche[open] { margin: 8px auto !important; width: calc(100% - 16px) !important; max-width: calc(100% - 16px) !important; }
  dialog.fiche .fiche__corps { margin-inline: 6px !important; padding-inline: 10px !important; }
  dialog.fiche .fiche__corps > *, dialog.fiche .fiche__corps > * > * { min-width: 0; max-width: 100%; }
  dialog.fiche .camp-volets { overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; flex-shrink: 0; scrollbar-width: none; margin-left: 0 !important; padding: 6px 0 6px; height: auto !important; min-height: 44px; align-items: center; }
  dialog.fiche .camp-volets > * { flex: none; }
  dialog.fiche .camp-volets::-webkit-scrollbar { display: none; }

  /* ARRONDIS-MOBILE (Loris, 29/10 : « trop arrondi, ça fait bulle ») : une échelle sur téléphone : blocs 12 px, cartes dedans 10 puis 8 px ; les pilules restent */
  :root { --r-board: 12px; --r-glass: 10px; }
  .ligne-faire { border-radius: 10px !important; }
  .form-action { border-radius: 8px !important; }
  .pas { border-radius: 10px !important; }
  .avis { border-radius: 8px !important; }
  .option { border-radius: 8px !important; }
  details.volet { border-radius: 10px !important; }
  .bulle { border-radius: 8px 8px 8px 4px !important; }
  .chiffre { border-radius: 8px !important; }
  .cj { border-radius: 8px !important; }
  .cote__profil { border-radius: 10px !important; }
  .ligne-wa__qr { border-radius: 12px !important; }
  .ligne-wa__cadre { border-radius: 10px !important; }
  .ligne-wa__parcours li { border-radius: 10px !important; }
  .sig__carte { border-radius: 10px !important; }
  .sig-ligne { border-radius: 10px !important; }
  .sig-ligne summary { border-radius: 10px !important; }
  .sys-detail { border-radius: 10px !important; }
  .sys-pole > summary { border-radius: 10px !important; }
  .sys-pole[open] > summary { border-radius: 10px 10px 0 0 !important; }
  .sys-sous { border-radius: 10px !important; }
  .sys-sous > summary { border-radius: 10px !important; }
  .sys-sous > .sys-wfs { border-radius: 8px !important; }
  .sys-wf__tete { border-radius: 10px !important; }
  .sys-wf.est-ouvert { border-radius: 10px !important; }
  .sys-logo--grand { border-radius: 8px !important; }
  .fin-case { border-radius: 10px !important; }
  .fin-mo { border-radius: 8px !important; }
  .entete--dossier .offres a { border-radius: 10px 10px 0 0 !important; }
  .entete--dossier .bar { border-radius: 12px !important; }
  .at-avenir__carte { border-radius: 10px !important; }
  .at-date { border-radius: 8px !important; }
  .at-classe > summary { border-radius: 10px !important; }
  .at-ligne { border-radius: 8px !important; }
  .at-detail { border-radius: 0 0 8px 8px !important; }
  .al { border-radius: 12px !important; }
  .al__pas { border-radius: 8px !important; }
  details.al-cat { border-radius: 12px !important; }
  .al-l__tete { border-radius: 8px !important; }
  .eq-tiroir { border-radius: 12px 0 0 12px !important; }
  .aide__menu { border-radius: 8px !important; }
  .cloche__panneau { border-radius: 10px !important; }
  .cloche__panneau { border-radius: 12px !important; }
  .cloche__item { border-radius: 8px !important; }
  .cloche__vide { border-radius: 8px !important; }
  .liens-haut__bloc { border-radius: 10px !important; }
  .aide__chat { border-radius: 12px !important; }
  .aide__bulle { border-radius: 8px 8px 8px 4px !important; }
  .faire-carte { border-radius: 10px !important; }
  .liens-haut__modes { border-radius: 8px !important; }
  .note-crm { border-radius: 8px !important; }
  .bascule__panneau { border-radius: 10px !important; }
  .form-pub video { border-radius: 8px !important; }
  .nav-offre__liste { border-radius: 10px !important; }
  .ag-infos [data-info]:hover::after { border-radius: 8px !important; }
  .ag-carte { border-radius: 10px !important; }
  .ag-plage { border-radius: 8px !important; }
  .ag-absence { border-radius: 8px !important; }
  .ag-question { border-radius: 10px !important; }
  .lr-option { border-radius: 10px !important; }
  .lr-q { border-radius: 10px !important; }
  .lr-ap__page { border-radius: 12px !important; }
  .lr-ap__corps { border-radius: 10px !important; }
  .table-camp--campagnes > tbody > tr.camp-sous--fin > td { border-radius: 0 0 10px 10px !important; }
  .table-camp--campagnes > tbody > tr.camp-sous--camp > td:nth-child(2)::before { border-radius: 8px 0 0 8px !important; }
  .table-camp--campagnes > tbody > tr.camp-sous--camp > td:last-child::before { border-radius: 0 8px 8px 0 !important; }
  .table-camp--campagnes > tbody > tr.camp-sous--camp[aria-expanded="true"] > td:nth-child(2)::before { border-radius: 8px 0 0 0 !important; }
  .table-camp--campagnes > tbody > tr.camp-sous--camp[aria-expanded="true"] > td:last-child::before { border-radius: 0 8px 0 0 !important; }
  #fiche .fiche__corps { border-radius: 0 10px 10px 10px !important; }
  #fiche textarea.note-crm { border-radius: 8px !important; }
  .cd { border-radius: 10px !important; }
  .bulle { border-radius: 8px !important; }
  .cote__pied .cote__profil { border-radius: 10px !important; }
  .eqa-titre__ic { border-radius: 8px !important; }
  .eqa-ligne { border-radius: 10px !important; }
  .eqa-ligne--ouverte, .eqa-ligne--ouverte:hover { border-radius: 10px 10px 0 0 !important; }
  .eqa-volet { border-radius: 0 0 10px 10px !important; }
  .eqa-carte { border-radius: 10px !important; }
  .org-tete { border-radius: 10px !important; }
  .eqm { border-radius: 12px 0 0 12px !important; }
  .eqm-grille { border-radius: 10px !important; }
  .eqm-pole { border-radius: 10px !important; }
  .ct { border-radius: 12px 0 0 12px !important; }
  .ct-bloc { border-radius: 10px !important; }
  .ct-panneau { border-radius: 10px !important; }
  .ct-trois > div { border-radius: 8px !important; }
  .ct-fb { border-radius: 8px !important; }
  .ct-est { border-radius: 8px !important; }
  .rc-table tbody tr td:first-child { border-radius: 8px 0 0 8px !important; }
  .rc-table tbody tr td:last-child { border-radius: 0 8px 8px 0 !important; }
  .rc-carte { border-radius: 10px !important; }
  .rc-alerte { border-radius: 10px !important; }
  .rc-bloc { border-radius: 10px !important; }
  .rc-etape-liste { border-radius: 10px !important; }
  .ap-titre__ic { border-radius: 8px !important; }
  .ap-ligne { border-radius: 10px !important; }
  .ap-ligne--ouverte, .ap-ligne--ouverte:hover { border-radius: 10px 10px 0 0 !important; }
  .ap-volet { border-radius: 0 0 10px 10px !important; }
  .ap-carte { border-radius: 10px !important; }
  .rec-bloc__tete { border-radius: 10px !important; }
  .rec-off { border-radius: 10px !important; }
  .rec-et { border-radius: 10px !important; }
  .rec-menu { border-radius: 10px !important; }
  .rec-vide__ic { border-radius: 10px !important; }
  .rec-carte { border-radius: 10px !important; }
  .rec-video video { border-radius: 8px !important; }
  .ag-replay { border-radius: 12px !important; }
  .ag-replay video { border-radius: 10px !important; }
  .ag-pop { border-radius: 12px !important; }
  .nv__tuile { border-radius: 8px !important; }
  .nv__image { border-radius: 10px !important; }
  .nv__liste button { border-radius: 8px !important; }
  .rv { border-radius: 12px !important; }
  .rv__gauche video { border-radius: 10px !important; }
  .rv__resume { border-radius: 12px !important; }
  .rv__chap > li { border-radius: 10px !important; }
  .rv-stats { border-radius: 10px !important; }
  .sat-v-tuile { border-radius: 10px !important; }
  .sat-mini { border-radius: 12px !important; }
  .ag-ann { border-radius: 12px !important; }
  .pr-tete { border-radius: 12px !important; }
  .pr-tete__ic { border-radius: 8px !important; }
  .pr-panneau { border-radius: 12px !important; }
  .pr-f { border-radius: 8px !important; }
  .pr-p { border-radius: 8px !important; }
  #fiche.fiche .fiche__heros { border-radius: 12px !important; }
  #fiche.fiche .fiche__onglets [role=tab] { border-radius: 10px 10px 0 0 !important; }
  #fiche.fiche .fiche__corps { border-radius: 12px !important; }
  .rv__retour { border-radius: 8px !important; }
  .rv__drive { border-radius: 10px !important; }
  #fiche.fiche .bloc { border-radius: 10px !important; }
  #fiche.fiche .cv-heros { border-radius: 10px !important; }
  #fiche.fiche .cv-l { border-radius: 8px !important; }
  #fiche.fiche .cv-co { border-radius: 8px !important; }
  #fiche.fiche .cv-et { border-radius: 8px !important; }
  #fiche.fiche .cv-vic { border-radius: 8px !important; }
  #fiche.fiche .cv-tem { border-radius: 8px !important; }
  .table-camp--focus > tbody > tr.camp-ouverte > td:first-child { border-radius: 10px 0 0 0 !important; }
  .table-camp--focus > tbody > tr.camp-ouverte > td:last-child { border-radius: 0 10px 0 0 !important; }
  .table-camp--focus .cd { border-radius: 10px !important; }
  .pc-e > td:first-child { border-radius: 8px 0 0 0 !important; }
  .pc-e > td:last-child { border-radius: 0 8px 0 0 !important; }
  .pc-pop { border-radius: 10px !important; }
  .pc-v { border-radius: 12px !important; }
  .pc-v-chiffres { border-radius: 10px !important; }
  .pc-v-bloc { border-radius: 10px !important; }
  .pc-v-media video, .pc-v-media img { border-radius: 8px !important; }
  .pc--fiche .pc-board { border-radius: 10px !important; }
  .fbpub { border-radius: 8px !important; }
  .pc-carte { border-radius: 8px !important; }
  .fbf { border-radius: 12px !important; }
  .fbf__ecran { border-radius: 12px !important; }
  .lr-parts { border-radius: 10px !important; }
  .cx-ligne { border-radius: 10px !important; }
  .cx-ligne--ouverte, .cx-ligne--ouverte:hover { border-radius: 10px 10px 0 0 !important; }
  .cx-volet { border-radius: 0 0 10px 10px !important; }
  .cx-panneau { border-radius: 10px !important; }
  .em-hero.eqa-hero { border-radius: 12px !important; }
  .em-tab { border-radius: 12px !important; }
  .em-sel { border-radius: 10px !important; }
  .em-champ { border-radius: 8px !important; }
  .em-cible { border-radius: 10px !important; }
  .em-etape { border-radius: 8px !important; }
  .em-ligne { border-radius: 8px !important; }
  .em-apercu { border-radius: 8px !important; }
  .rec-cand6__tete { border-radius: 12px !important; }
  .rec-onglets6 [role=tab] { border-radius: 10px 10px 0 0 !important; }
  .rec-corps6 { border-radius: 12px !important; }
  .rec-sc__tot { border-radius: 10px !important; }
  .rec-proc__et { border-radius: 10px !important; }
  .rec-proc__et > summary { border-radius: 10px !important; }
  .rec-proc__volet { border-radius: 8px !important; }
  .rec-p6__video video { border-radius: 8px !important; }
  .rec-frise__mod { border-radius: 10px !important; }
  .rec-cpt { border-radius: 8px !important; }
  .confirmer--meta .confirmer__meta-ico { border-radius: 10px !important; }
  .p3-retour { border-radius: 10px !important; }
  .p3-heros { border-radius: 12px !important; }
  .p3-carte { border-radius: 10px !important; }
  .p3-td { border-radius: 8px !important; }
  .p3-modal__boite { border-radius: 12px !important; }
  .p3-menu__liste { border-radius: 8px !important; }
  .p3-volet { border-radius: 10px !important; }
  .bar { border-radius: 12px !important; }
  .table tbody tr:is(:hover, :focus-within) td:first-child { border-radius: 10px 0 0 10px !important; }
  .table tbody tr:is(:hover, :focus-within) td:last-child { border-radius: 0 10px 10px 0 !important; }
  .table tbody tr:is(:hover, :focus-within) { border-radius: 10px !important; }
  .cal .rdv { border-radius: 8px !important; }
  .carte-crm { border-radius: 10px !important; }
  .frise--fiche .carte { border-radius: 8px !important; }
  .bloc { border-radius: 10px !important; }
  .contrat__choix { border-radius: 8px !important; }


  /* Place : moins de vide en haut et sur les côtés, moins de cadres dans les cadres (Loris, 29/10 : « on perd trop d'espace ») */
  .zone main.wrap, .zone main.wrap.large, .zone main.wrap.plein { padding-top: 12px; padding-inline: 0; margin-inline: 8px !important; width: auto !important; max-width: none !important; }
  .zone .wrap .rec-ctl, .zone .wrap .filtres, .zone .wrap .ag-outils { margin: 0 0 10px !important; }
  .zone .wrap > .board { margin-inline: 0; }
  .zone .wrap :is(.board, .eqa-bloc, .rec-bloc-k, .em-tab, .rc-boite) { padding-inline: 6px; }

  /* Filtres groupés : les choix à gauche ; loupe, agenda et « + » ensemble à droite */
  /* à droite, dans cet ordre : agenda · loupe · mise à jour (ou « + ») ; la loupe centrée dans son rond */
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre) > .m-cal { order: 7 !important; margin-left: auto !important; }
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre) .recherche { order: 8 !important; margin-left: 0 !important; }
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre):not(:has(> .m-cal)) .recherche { margin-left: auto !important; }
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre) { column-gap: 10px !important; }
  .zone .wrap :is(.rec-ctl, .filtres, .ag-outils, .ad-barre) .recherche:not(:focus-within):has(input:placeholder-shown) { gap: 0 !important; }

  /* Lignes, pas des cartes dans les blocs : un trait entre deux lignes */
  .zone .wrap .eqa-liste { gap: 0 !important; }
  .zone .wrap .eqa-liste > * { border-radius: 0 !important; box-shadow: none !important; border-bottom: 1px solid rgba(21, 44, 18, .1); }
  .zone .wrap .eqa-liste > :last-child { border-bottom: 0; }
  /* FIN ARRONDIS-MOBILE */
}
/* MOBILE-2910 fin */

/* RECRUTSIMPLE-2910 (Loris, 29/10/2026) : une offre › Candidats = un bloc par étape (le modèle Accès), puis à part, sous un trait, Vivier et Écartés côte à côte */
.rec7 { display: grid; gap: 24px; }
.rec7-bloc .eqa-titre { margin-bottom: 14px; }
.rec7-bloc--part .eqa-titre { cursor: pointer; }
.rec7-bloc--part .eqa-titre .eqa-plus { margin-left: auto; transition: transform .15s; }
.rec7-bloc--part .eqa-titre[aria-expanded="true"] .eqa-plus { transform: rotate(90deg); }
.rec7-bloc--part .eqa-titre:hover .eqa-plus { background: var(--grad-lime); }
.rec7-bloc--part .eqa-titre__ic { background: #EEF1EC; box-shadow: none; }
.rec7-bloc--plie { padding-bottom: 24px; }
.rec7-bloc--plie .eqa-titre { margin: 0; }
.rec7-vide { margin: 0; padding: 4px 12px; color: var(--ink-soft); font-weight: 700; }
.rec7-cols, .rec7-ligne { display: grid; grid-template-columns: minmax(200px, 1.3fr) 160px 150px 110px 80px 30px; align-items: center; gap: 16px; }
.rec7-cols { padding: 0 10px 4px 12px; color: #8A9785; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rec7-cols span:nth-child(5), .rec7-quand { justify-self: end; text-align: right; }
.rec7-ligne { padding: 10px 10px 10px 12px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--trait); color: var(--foret); cursor: pointer; transition: box-shadow .2s, transform .2s; }
.rec7-ligne:hover { box-shadow: inset 0 0 0 1px var(--trait), 0 10px 22px -14px rgba(21, 44, 18, .5); transform: translateY(-1px); }
.rec7-ligne:hover .eqa-plus { background: var(--grad-lime); }
.rec7-ligne:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec7-ligne .eqa-qui > span:last-child { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rec7-ligne .eqa-qui small { display: inline; margin-left: 8px; }
.rec7-c { min-width: 0; overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.rec7-quand { color: var(--ink-soft); font-size: .88rem; font-weight: 700; white-space: nowrap; }
.rec7-ic { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #152C12; color: #A1E04D; }
.rec7-ic .i { width: 18px; height: 18px; }
.rec7-ic--non { background: #EEF1EC; color: #9AA595; }
.rec7-p { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; font-size: .8rem; font-weight: 800; white-space: nowrap; }
.rec7-p--ok { background: var(--grad-lime); color: #152C12; }
.rec7-p--att { background: #F7D576; color: #152C12; }
.rec7-p--gris { background: #EEF1EC; color: #6E7B69; }
.rec7-p--rosee { background: #F2FEE2; box-shadow: inset 0 0 0 1.5px #A1E04D; color: #152C12; }
.rec7-note { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-variant-numeric: tabular-nums; }
.rec7-note i { color: var(--ink-soft); font-size: .84rem; font-style: normal; }
.rec7-note--part { color: var(--ink-soft); }
.rec7-l { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; color: #152C12; font-size: .78rem; font-weight: 800; }
.rec7-l--A { background: var(--grad-lime); } .rec7-l--B { background: #F7D576; } .rec7-l--C { background: #EEF1EC; color: #6E7B69; }
.rec7-cpt { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 4px 6px; font-weight: 800; font-variant-numeric: tabular-nums; }
.rec7-cpt i { color: var(--ink-soft); font-size: .84rem; font-style: normal; }
.rec7-barre { grid-column: 1 / -1; height: 5px; border-radius: 3px; background: rgba(21, 44, 18, .1); overflow: hidden; }
.rec7-barre i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #3D7A27, #A1E04D); }
.rec7-sep { height: 1px; margin: 8px 8px 0; background: rgba(21, 44, 18, .14); }
.rec7-cotes { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.rec7-cotes .rec7-cols, .rec7-cotes .rec7-ligne { grid-template-columns: minmax(150px, 1fr) 120px 90px 64px 30px; }
.rec7-cotes .rec7-cols span:nth-child(4), .rec7-cotes .rec7-ligne > :nth-child(4) { display: none; }
.rec7-cotes .rec7-cols span:nth-child(5) { justify-self: end; }
.rec7-cotes .rec7-ligne .eqa-qui small { display: none; }
@media (max-width: 1240px) { .rec7-cols, .rec7-ligne { grid-template-columns: minmax(170px, 1fr) 150px 130px 96px 64px 30px; gap: 12px; } .rec7-cotes { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .rec7-cols { display: none; }
  .rec7-ligne, .rec7-cotes .rec7-ligne { grid-template-columns: minmax(0, 1fr) auto 30px; gap: 10px; }
  .rec7-ligne > :nth-child(3), .rec7-ligne > :nth-child(4), .rec7-ligne .rec7-quand, .rec7-ligne .rec7-ic { display: none; }
  .rec7-ligne .eqa-qui small { display: block; margin: 0; }
}

/* le tiroir : en-tête sous-bois, des cartes, une barre d'action collée en bas */
.eqm.rec-tiroir.rec-tiroir7 { width: min(760px, 100vw); padding-bottom: 0; }
.rec7-tiroir { display: flex; flex-direction: column; min-height: calc(100vh - 40px); }
.rec7-corps { display: grid; flex: 1; align-content: start; gap: 14px; padding-bottom: 18px; }
#rec7-haut { display: grid; gap: 14px; }
#rec7-haut:empty { display: none; }
.rec7-carte { padding: 18px 20px; }
.rec7-carte.rec-pli { padding: 0; }
.rec7-t { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--foret); font-size: 1rem; }
.rec7-t svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rec7-t .rec7-p { margin-left: auto; }
.rec7-cand { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: start; }
.rec7-cand__g { display: grid; gap: 10px; }
.rec7-video { overflow: hidden; border-radius: 18px; background: #0E1A0B; }
.rec7-video video { display: block; width: 100%; max-height: 420px; }
.rec7-video--lien { position: relative; display: grid; place-items: center; aspect-ratio: 9 / 14; background: radial-gradient(120% 80% at 50% 0%, #3D7A27 0%, #152C12 70%); color: #fff; text-decoration: none; }
.rec7-video--lien b { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--grad-lime); color: #152C12; box-shadow: 0 10px 30px -10px #A1E04D; }
.rec7-video--lien b .i { width: 26px; height: 26px; }
.rec7-video--lien small { position: absolute; right: 0; bottom: 12px; left: 0; color: rgba(255, 255, 255, .7); font-size: .78rem; font-weight: 700; text-align: center; }
.rec7-appel { justify-content: center; }
.rec7-tel { color: var(--foret); font-weight: 800; font-variant-numeric: tabular-nums; text-align: center; }
.rec7-mail { overflow: hidden; color: var(--ink-soft); font-size: .84rem; font-weight: 700; text-align: center; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.rec7-rep { display: grid; margin: 0; }
.rec7-rep div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--trait); font-size: .9rem; }
.rec7-rep div:last-child { border: 0; }
.rec7-rep dt { color: var(--ink-soft); font-weight: 700; }
.rec7-rep dd { margin: 0; color: var(--foret); font-weight: 700; overflow-wrap: anywhere; }
.rec7-rep dd.rec7-long { font-weight: 600; line-height: 1.45; }
.rec7-msg { padding: 14px 16px; border-radius: 14px; background: #F2FEE2; color: var(--foret); font-size: .92rem; font-weight: 600; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.rec7-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.rec7-actions .btn { height: 44px; }
.rec7-num { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--foret); font-weight: 800; font-variant-numeric: tabular-nums; }
.rec7-num .i { width: 15px; height: 15px; opacity: .6; }
.rec7-esp { display: grid; }
.rec7-esp div { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--trait); color: var(--foret); font-weight: 700; }
.rec7-esp div:last-child { border: 0; }
.rec7-esp .rec7-ic { width: 34px; height: 34px; border-radius: 10px; }
.rec7-esp .rec7-ic .i { width: 16px; height: 16px; }
.rec7-esp small { color: var(--ink-soft); font-weight: 700; }
.rec7-acces { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.rec7-acces .saisie { flex: 1 1 240px; }
.rec7-pied { position: sticky; bottom: 0; display: flex; align-items: center; gap: 10px; margin: 0 -24px; padding: 14px 24px 18px; border-top: 1px solid var(--trait); background: var(--blanc); }
.rec7-pied[hidden] { display: none; }
.rec7-pied .btn { height: 44px; }
.rec7-go { height: 48px !important; padding: 0 24px; font-size: 1.02rem; white-space: nowrap; }
.rec7-pied__autres { display: flex; gap: 8px; margin-left: auto; }
@media (max-width: 760px) {
  .rec7-cand { grid-template-columns: 1fr; }
  .rec7-cand__g { max-width: 240px; justify-self: center; width: 100%; }
  .rec7-rep div { grid-template-columns: 1fr; gap: 2px; }
  .rec7-pied { gap: 6px; margin: 0 -14px; padding: 12px 14px; }
  .rec7-pied .btn { padding: 0 12px; }
  .rec7-go { padding: 0 16px; }
  .rec7-num { margin-left: 0; }
  .rec7-corps > *, #rec7-haut > * { min-width: 0; }
  .rec7-carte { padding: 14px; }
  .rec7-tiroir .rec-sc { padding: 4px 0; }
  .rec7-tiroir .rec-sc__l { flex-wrap: wrap; gap: 6px; padding: 6px 0; }
  .rec7-tiroir .rec-sc__b { width: 40px; height: 34px; }
  .rec7-tiroir .rec-ref { flex-wrap: wrap; }
  .rec7-tiroir .rec-ref__notes { flex-wrap: wrap; }
  .rec7-tiroir .rec-ref__notes .rec-sc__b { width: 30px; }
}

/* l'espace d'un candidat : un panneau sous-bois, le lecteur à gauche, à droite son prénom, ce qu'il regarde (coché quand c'est vu) et son entretien */
.prep { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 28px; align-items: center; padding: 28px; border-radius: var(--r-board); background: var(--grad-sousbois); color: #fff; box-shadow: 0 24px 48px -30px rgba(21, 44, 18, .7); }
.prep__lecteur { overflow: hidden; aspect-ratio: 16 / 9; border-radius: 20px; background: #000; }
.prep__lecteur video { display: block; width: 100%; height: 100%; object-fit: contain; }
.prep__vide { display: grid; place-content: center; justify-items: center; gap: 10px; height: 100%; background: radial-gradient(120% 80% at 50% 0%, #3D7A27 0%, #152C12 70%); color: rgba(255, 255, 255, .7); font-weight: 700; }
.prep__vide .i { width: 34px; height: 34px; color: #A1E04D; }
.prep__salut { margin: 0 0 14px; font-size: 2rem; font-weight: 800; letter-spacing: -.02em; }
.prep__salut em { color: #A1E04D; font-style: normal; }
.prep__liste { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.prep__e { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 50px; padding: 0 14px; border: 0; border-radius: 14px; background: rgba(255, 255, 255, .07); color: #fff; font: inherit; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }
.prep__e:hover:not(:disabled) { background: rgba(255, 255, 255, .12); }
.prep__e:disabled { cursor: default; opacity: .6; }
.prep__e b { display: grid; flex: none; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .12); font-size: .85rem; }
.prep__e b .i { width: 14px; height: 14px; }
.prep__e small { margin-left: auto; color: rgba(255, 255, 255, .6); font-weight: 700; white-space: nowrap; }
.prep__e--on { background: rgba(161, 224, 77, .16); box-shadow: inset 0 0 0 1.5px #A1E04D; }
.prep__e--vu b { background: var(--grad-lime); color: #152C12; }
.prep__e--ent { cursor: default; }
a.prep__e--ent { cursor: pointer; }
a.prep__e--ent small { color: #A1E04D; }
@media (max-width: 900px) { .prep { grid-template-columns: 1fr; padding: 16px; } .prep__salut { font-size: 1.6rem; } }

/* RECRUTSIMPLE-2910 v2 : l'espace du candidat : les chapitres sous le lecteur, le doc Préparation entretien en dépliants (les classes de la SOP, sop-doc__*) */
.prep__g { display: grid; gap: 12px; min-width: 0; }
.prep__chap { display: flex; flex-wrap: wrap; gap: 6px; }
.prep__chap button { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .08); color: #fff; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.prep__chap button:hover { background: rgba(161, 224, 77, .2); }
.prep__chap b { color: #A1E04D; font-variant-numeric: tabular-nums; }
.prep-doc { margin-top: 24px; }
.prep-doc .sop-doc__part + .sop-doc__part { border-top: 1px solid var(--trait); }
.prep-doc .sop-doc__part summary { display: flex; align-items: center; gap: 14px; padding: 14px 12px; border-radius: 14px; color: var(--foret); cursor: pointer; list-style: none; }
.prep-doc .sop-doc__part summary::-webkit-details-marker { display: none; }
.prep-doc .sop-doc__part summary:hover { background: var(--rosee); }
.prep-doc .sop-doc__part summary b { font-size: 1.0625rem; font-weight: 800; }
.prep-doc .sop-doc__part summary .eqa-plus { margin-left: auto; transition: transform .15s; }
.prep-doc .sop-doc__part[open] summary .eqa-plus { background: var(--grad-lime); transform: rotate(90deg); }
.prep-doc .sop-doc__num { display: inline-grid; flex: none; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--grad-lime); color: #152C12; font-weight: 800; }
.prep-doc .sop-doc__corps { margin: 4px 0 12px; padding: 18px 22px; border-radius: 18px; background: var(--rosee); color: var(--foret); font-size: .9688rem; line-height: 1.5; }
.prep-doc .sop-doc__corps h4 { margin: 16px 0 6px; color: var(--ink-soft); font-size: .8125rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.prep-doc .sop-doc__corps h4:first-child { margin-top: 0; }
.prep-doc .sop-doc__corps ul, .prep-doc .sop-doc__corps ol { margin: 0; padding-left: 20px; }
.prep-doc .sop-doc__corps li + li { margin-top: 4px; }
.prep-doc .sop-doc__corps p { margin: 0; } .prep-doc .sop-doc__corps p + p { margin-top: 8px; }
.prep-doc .sop-doc__corps blockquote { margin: 0; padding: 16px 18px; border-radius: 14px; background: var(--blanc); }
.prep-doc .sop-doc__corps cite { display: block; margin-top: 10px; color: var(--ink-soft); font-size: .8125rem; font-style: normal; font-weight: 700; }
.prep-doc .sop-doc__phrase { font-weight: 700; }
.prep-doc .sop-doc__corps table { width: 100%; overflow: hidden; border-collapse: collapse; border-radius: 14px; background: var(--blanc); }
.prep-doc .sop-doc__corps th { padding: 10px 12px; border-bottom: 1px solid var(--trait); color: var(--ink-soft); font-size: .75rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.prep-doc .sop-doc__corps td { padding: 10px 12px; border-bottom: 1px solid var(--trait); vertical-align: top; }
.prep-doc .sop-doc__corps td:first-child { width: 30%; font-weight: 700; }
.prep-doc .sop-doc__corps tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--rosee) 60%, var(--blanc)); }
.prep-doc .sop-doc__regles { padding: 0 !important; list-style: none; }
.prep-doc .sop-doc__regles li { display: flex; align-items: baseline; gap: 10px; }
.prep-doc .sop-doc__regles li::before { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 6px; font-size: .75rem; font-weight: 900; }
.prep-doc .sop-doc__regles li.non::before { content: "✕"; background: #F4C7BD; color: #8A2A14; }
.prep-doc .sop-doc__regles li.oui::before { content: "✓"; background: #A1E04D; color: #152C12; }
@media (max-width: 700px) { .prep-doc .sop-doc__corps { padding: 14px; overflow-x: auto; } .prep-doc .sop-doc__corps td:first-child { width: auto; } }

/* BANQUEPUB-3010 : onglet Banque de la page client Campagnes (cartes au format du fil, case en haut à gauche, Renouveler à droite) */
.pc-banque { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 18px; padding: 6px 2px 4px; }
.pc-bq { display: flex; flex-direction: column; gap: 10px; padding: 10px; border-radius: 18px; background: #EEF1EC; cursor: pointer; transition: background .15s, box-shadow .15s; }
.pc-bq:hover { background: #E4EAE1; }
.pc-bq--sel { background: #F2FEE2; box-shadow: 0 0 0 2px var(--lime); }
.pc-bq--lancee .pc-bq-media video, .pc-bq--lancee .pc-bq-media img { opacity: .5; }
.pc-bq-lancee { position: absolute; left: 8px; bottom: 8px; }
.pc-bq-media { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 12px; overflow: hidden; background: #152C12; }
.pc-bq-media video, .pc-bq-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-bq-case { position: absolute; top: 10px; left: 10px; width: 20px; height: 20px; margin: 0; }
.pc-bq-type { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: rgba(21, 44, 18, .55); color: #fff; }
.pc-bq-type svg { width: 15px; height: 15px; }
.pc-bq-pied { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; padding: 0 2px; }
.pc-bq-pied b { font-size: .9rem; color: var(--foret); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-renouveler[disabled] { opacity: .45; cursor: default; }
.pc-renouveler svg { width: 16px; height: 16px; flex: none; }
@media (max-width: 700px) { .pc-banque { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .pc-bq { padding: 8px; border-radius: 12px; } .pc-bq-media { border-radius: 8px; } .pc-bq-pied b { white-space: normal; line-height: 1.25; } }

/* RECRUTV7-3010 (Loris, 30/10/2026) : Recrutement v7 : Offres sans panneau, fil d'étapes, planning d'Hassane, vidéo Loom, replay, apprentissage */
.rec8-ocols, .rec8-off { display: grid; grid-template-columns: minmax(220px, 1.6fr) 150px 110px 110px 90px 90px 30px; align-items: center; gap: 16px; }
.rec8-ocols { padding: 0 14px 6px 16px; color: #8A9785; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rec8-off .rec-off__nom { display: flex; align-items: center; gap: 10px; min-width: 0; }
.rec8-off .rec-off__nom b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rec8-off .rec-off__pubs { display: inline-flex; gap: 6px; color: #6E7B69; }
.rec8-c { color: var(--foret); font-weight: 700; font-variant-numeric: tabular-nums; }
.rec8 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.rec8 > * { min-width: 0; }
.rec8-fil { display: flex; align-items: stretch; gap: 14px; padding: 8px; border-radius: 24px; background: #fff; box-shadow: 0 1px 0 var(--trait); overflow-x: auto; scrollbar-width: none; }
.rec8-et { position: relative; flex: 1 1 0; min-width: 120px; display: grid; gap: 4px; justify-items: start; padding: 12px 16px; border: 0; border-radius: 18px; background: transparent; color: var(--foret); font: inherit; text-align: left; cursor: pointer; transition: background .15s; }
.rec8-et + .rec8-et::before { content: ''; position: absolute; left: -12px; top: 50%; width: 8px; height: 8px; border-top: 2px solid #C9D1C7; border-right: 2px solid #C9D1C7; transform: translateY(-50%) rotate(45deg); }
.rec8-fil__sep + .rec8-et::before { display: none; }
.rec8-et:hover { background: #F4F7F2; }
.rec8-et:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.rec8-et__nom { color: #6E7B69; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.rec8-et__n { display: flex; align-items: center; gap: 8px; }
.rec8-et__n b { font-size: 1.6rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rec8-et__n .rec7-p { height: 22px; padding: 0 9px; font-size: .72rem; }
.rec8-et[aria-pressed="true"] { background: var(--foret); }
.rec8-et[aria-pressed="true"] .rec8-et__nom { color: #B9C7B5; }
.rec8-et[aria-pressed="true"] .rec8-et__n b { color: var(--lime); }
.rec8-et--min { flex: .6 1 0; min-width: 84px; }
.rec8-et--min .rec8-et__n b { font-size: 1.25rem; color: #9AA597; }
.rec8-fil__sep { flex: none; width: 1px; margin: 10px 0; background: var(--trait); }
.rec8-liste .rec7-cols { margin-top: 2px; }
.rec8-quand { color: var(--foret); font-weight: 800; white-space: nowrap; }
.rec8-plan .eqa-titre { margin-bottom: 14px; }
.rec8-plan__nav { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.rec8-plan__nav .ag-periode { margin: 0; font-size: .95rem; white-space: nowrap; }
.rec8-auj:disabled { opacity: .45; cursor: default; }
.rec8-sem { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.rec8-jour { display: grid; align-content: start; gap: 6px; min-height: 110px; padding: 10px; border-radius: 16px; background: #F4F7F2; }
.rec8-jour p { margin: 0 0 2px; color: #6E7B69; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.rec8-jour--auj { box-shadow: inset 0 0 0 1.5px var(--lime); }
.rec8-ev { display: grid; gap: 1px; padding: 7px 9px; border: 0; border-radius: 10px; background: #fff; color: var(--foret); font: inherit; text-align: left; cursor: pointer; box-shadow: 0 1px 0 var(--trait); }
.rec8-ev b { font-size: .78rem; }
.rec8-ev span { overflow: hidden; font-size: .82rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.rec8-ev small { color: #6E7B69; font-size: .72rem; font-weight: 600; }
.rec8-ev--prevu { background: #F2FEE2; }
.rec8-ev--non { opacity: .55; }
.rec8-ev:hover { box-shadow: 0 8px 18px -12px rgba(21, 44, 18, .5); }
.rec7-cand.rec8-large { grid-template-columns: 1fr; }
.rec8-large .rec7-cand__g { max-width: none; }
.rec8-cadre { aspect-ratio: 16 / 9; }
.rec8-cadre iframe { display: block; width: 100%; height: 100%; border: 0; }
.rec8-replay { margin-top: 10px; }
.rec8-jauges { display: grid; }
.rec8-gr { margin: 14px 0 4px; color: #8A9785; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rec8-gr:first-child { margin-top: 0; }
.rec8-j { display: grid; grid-template-columns: 34px minmax(0, 1fr) 140px; align-items: center; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--trait); color: var(--foret); font-weight: 700; font-size: .9rem; }
.rec8-j__nom { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rec8-j__barre { height: 7px; border-radius: 7px; background: #EEF1EC; overflow: hidden; }
.rec8-j__barre i { display: block; height: 100%; border-radius: 7px; background: var(--lime); }
.rec8-j__non { color: #9AA597; font-size: .78rem; font-weight: 700; text-align: right; }
.rec8-pals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.rec8-pal { display: grid; gap: 2px; padding: 10px 12px; border-radius: 14px; background: #EEF1EC; color: #6E7B69; }
.rec8-pal b { font-size: .82rem; }
.rec8-pal small { font-size: .74rem; font-weight: 600; }
.rec8-pal--on { background: #F2FEE2; box-shadow: inset 0 0 0 1.5px var(--lime); color: var(--foret); }
.rec8-crm { margin-left: auto; }
.prep__gr { margin: 12px 0 2px; padding: 0 6px; color: #8A9785; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; list-style: none; }
.prep__gr:first-child { margin-top: 0; }
.prep:has(.prep__gr) { align-items: start; }
.prep:has(.prep__gr) .prep__g { position: sticky; top: 24px; }
@media (max-width: 700px) {
  .rec8-ocols { display: none; }
  .rec8-off { grid-template-columns: minmax(0, 1fr) auto 30px; }
  .rec8-off .rec8-c:not(:nth-of-type(3)) { display: none; }
  .rec8-fil { border-radius: 12px; padding: 6px; }
  .rec8-et { min-width: 96px; padding: 8px 10px; }
  .rec8-et__n b { font-size: 1.25rem; }
  .rec8-plan__nav .rec8-auj { display: none; }
  .rec8-sem { grid-template-columns: minmax(0, 1fr); }
  .rec8-jour { min-height: 0; }
  .rec8-jour:not(:has(.rec8-ev)) { display: none; }
  .rec8-plan .eqa-titre { flex-wrap: nowrap; }
  .rec8-plan__nav { gap: 4px; }
  .rec8-plan__nav .ag-periode { font-size: .8rem; }
  .rec8-et__nom { overflow: hidden; max-width: 100%; font-size: .72rem; text-overflow: ellipsis; }
  .rec8-j { grid-template-columns: 30px minmax(0, 1fr) 80px; }
  .rec8-pals { grid-template-columns: 1fr; }
}

/* RECRUTV7B-3010 : le menu Changer sans couleurs (l'étape actuelle en lime) ; la carte Référence */
.rec-menu .rec8-menu-et { justify-content: space-between; }
.rec-menu .rec8-menu-et[aria-current] { background: var(--grad-lime); font-weight: 800; }
.rec-menu .rec8-menu-et > .i { margin-left: auto; }
.rec8-lien { display: inline-flex; align-items: center; gap: 6px; justify-self: start; color: var(--foret); font-size: .85rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.rec8-lien .i { width: 16px; height: 16px; }
.rec8-ref { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 0 10px; border-bottom: 1px solid var(--trait); }
.rec8-ref .rec-seg2 button { min-width: 64px; }
.rec8-ref__notes { display: grid; gap: 4px; margin-top: 12px; }
.rec8-ref__notes textarea { min-height: 76px; resize: vertical; }
.rec8-ref__notes small { min-height: 1em; color: #6E7B69; font-size: .75rem; }

/* RECRUTV7C-3010 : le fil avec une tuile icône par étape, Vivier et Écartés dans leur boîte, plus d'air ; le planning replié */
.rec8-fils { display: flex; align-items: stretch; gap: 16px; min-width: 0; }
.rec8-fils .rec8-fil { flex: 1 1 auto; min-width: 0; gap: 18px; padding: 10px; }
.rec8-fils .rec8-fil--sorties { flex: 0 0 auto; gap: 6px; }
.rec8-fil--sorties .rec8-et::before { display: none; }
.rec8-fils .rec8-et { display: flex; align-items: center; gap: 10px; padding: 14px 12px; }
.rec8-fils .rec8-et + .rec8-et::before { left: -13px; }
.rec8-fils .rec8-fil--sorties .rec8-et { min-width: 0; flex: 0 0 auto; padding: 14px 18px 14px 14px; }
.rec8-et__ic { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #EEF1EC; color: var(--foret); }
.rec8-et__ic svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rec8-et__txt { display: grid; gap: 2px; min-width: 0; }
.rec8-fils .rec8-et { flex: 1 1 0; min-width: 0; }
.rec8-fils .rec8-et__nom { white-space: normal; line-height: 1.2; }
.rec8-et[aria-pressed="true"] .rec8-et__ic { background: var(--grad-lime); color: #152C12; }
.rec8-fil--sorties .rec8-et__ic { width: 34px; height: 34px; color: #6E7B69; }
.rec8-plan .eqa-titre[data-plan8] { cursor: pointer; }
.rec8-plan .eqa-titre .eqa-plus { transition: transform .15s; }
.rec8-plan:not(.rec8-plan--ferme) .eqa-titre .eqa-plus { transform: rotate(90deg); }
.rec8-plan .eqa-titre:hover .eqa-plus { background: var(--grad-lime); }
.rec8-plan--ferme .eqa-titre { margin: 0; }
.rec8-plan--ferme .eqa-titre .eqa-plus { margin-left: auto; }
@media (max-width: 700px) {
  .rec8-fils { flex-direction: column; gap: 8px; }
  .rec8-fils .rec8-fil { gap: 14px; padding: 6px; overflow-x: auto; }
  .rec8-fils .rec8-et { gap: 8px; padding: 8px 10px; }
  .rec8-et__ic { width: 30px; height: 30px; border-radius: 10px; }
  .rec8-et__ic svg { width: 16px; height: 16px; }
  .rec8-fils .rec8-fil--sorties { overflow: visible; }
  .rec8-fil--sorties .rec8-et { flex: 1 1 0; }
}

/* RECRUTV7D-3010 : son espace (niveau 1) : la vidéo, l'entretien, puis le bonus */
.prep__liste > .prep__ent { order: 1; }
.prep__liste > .prep__bonus { order: 2; }
.prep__liste > li.prep__gr.prep__bonus { margin-top: 14px; }

/* RECRUTV7E-3010 : le bouton vers l'ERP d'entraînement ; le bandeau de l'ERP d'entraînement */
.prep__entr { justify-self: start; margin: 0 0 14px; }
html.erp-entrainement body::after { content: "Entraînement · faux prospects"; position: fixed; bottom: 18px; left: 50%; z-index: 9999; transform: translateX(-50%); padding: 6px 16px; border-radius: 999px; background: #F7D576; color: #152C12; font: 800 .8rem/1.2 "Albert Sans", sans-serif; box-shadow: 0 6px 18px -8px rgba(21, 44, 18, .5); pointer-events: none; }

/* RECRUTV7F-3010 : le quiz (dans la colonne de la vidéo de son espace) ; sa ligne dans la fiche */
.quiz8 { display: grid; gap: 14px; }
.quiz8__q { display: grid; gap: 6px; margin: 0; padding: 14px; border: 0; border-radius: 16px; background: rgba(255, 255, 255, .06); }
.quiz8__q legend { display: flex; gap: 10px; float: left; width: 100%; margin-bottom: 6px; padding: 0; color: #fff; font-weight: 800; }
.quiz8__q legend b { display: inline-grid; flex: none; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--grad-lime); color: #152C12; font-size: .8rem; }
.quiz8__c { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px; background: rgba(255, 255, 255, .05); color: #E4EDE1; font-weight: 600; cursor: pointer; }
.quiz8__c:hover { background: rgba(255, 255, 255, .1); }
.quiz8__c input { flex: none; width: 18px; height: 18px; accent-color: #A1E04D; }
.quiz8__c:has(input:checked) { background: rgba(161, 224, 77, .18); box-shadow: inset 0 0 0 1.5px #A1E04D; color: #fff; }
.quiz8__ok { justify-self: start; }
.quiz8--res { display: grid; place-items: center; gap: 12px; min-height: 320px; text-align: center; color: #fff; }
.quiz8__score { margin: 0; }
.quiz8__score b { color: var(--lime); font-size: 4rem; font-weight: 800; }
.quiz8__score small { margin-left: 6px; color: #B9C7B5; font-size: 1.4rem; font-weight: 700; }
.quiz8--res h3 { margin: 0; font-size: 1.3rem; }
.quiz8__revoir { margin: 0; color: #D7E8CF; font-weight: 600; }
.quiz8--res .quiz8__ok { justify-self: center; }
.rec8-quiz { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 10px 12px; border-radius: 14px; background: #F4F7F2; color: var(--foret); }
.rec8-quiz .rec7-p { margin-left: auto; }
