/* Oqora CRM · agendas.css : section Agendas (.s-agenda), panneau « Gérer l'affichage » (.ag-panneau), fenêtre
   « Prendre rendez-vous » (.ag-fen-fond), tiroir « Détails » et panneaux de RDV (.s-rdv, .s-preappel).
   Refait le 24/10/2026 sur le module « Calendriers » de GHL : panneaux blancs bordés gris fin, coins 8 px, texte de
   13-14 px d'une seule couleur, boutons de 32-36 px ; couleurs franches seulement pour les blocs d'agenda (bleu appel,
   violet visio, vert point cliente, orange intégration ; gris = occupé). Aucun jeton :root : les couleurs des agendas
   sont posées sur les racines de ce fichier. Aucun dégradé (sauf les hachures des créneaux « Occupé »). */

/* ---------------------------------------------------------------- Jetons locaux (racines de ce fichier) */
.s-agenda, .ag-panneau, .ag-fen-fond, .s-rdv, .s-preappel{
  --ag-texte:#1f2328; --ag-doux:#5b636b; --ag-pale:#6b737b;
  --ag-fond:#f4f5f7; --ag-blanc:#ffffff; --ag-trait:#e3e6ea; --ag-trait-fort:#cfd4da; --ag-survol:#f6f7f9;
  --ag-action:#2f6fe0; --ag-action-f:#2359c2; --ag-sombre:#1f2937;
  --ag-bleu:#2f6fe0; --ag-bleu-f:#e7effd;
  --ag-violet:#7a4fd6; --ag-violet-f:#efe8fc;
  --ag-vert:#1f9d55; --ag-vert-f:#e2f4e9;
  --ag-orange:#e07a12; --ag-orange-f:#fcefdf;
  --ag-gris:#8a9199; --ag-gris-f:#eef0f2;
  --ag-rouge:#d23b2f; --ag-ambre:#e08a00;
}
.s-agenda .ag-c--bleu, .ag-panneau .ag-c--bleu, .ag-fen-fond .ag-c--bleu, .s-rdv .ag-c--bleu{ --ag-c:var(--ag-bleu); --ag-cf:var(--ag-bleu-f); }
.s-agenda .ag-c--violet, .ag-panneau .ag-c--violet, .ag-fen-fond .ag-c--violet, .s-rdv .ag-c--violet{ --ag-c:var(--ag-violet); --ag-cf:var(--ag-violet-f); }
.s-agenda .ag-c--vert, .ag-panneau .ag-c--vert, .ag-fen-fond .ag-c--vert, .s-rdv .ag-c--vert{ --ag-c:var(--ag-vert); --ag-cf:var(--ag-vert-f); }
.s-agenda .ag-c--orange, .ag-panneau .ag-c--orange, .ag-fen-fond .ag-c--orange, .s-rdv .ag-c--orange{ --ag-c:var(--ag-orange); --ag-cf:var(--ag-orange-f); }
.s-agenda .ag-pastille, .ag-panneau .ag-pastille, .ag-fen-fond .ag-pastille, .s-rdv .ag-pastille{
  width:10px; height:10px; border-radius:3px; background:var(--ag-c, var(--ag-gris)); display:inline-block; flex:none; }

/* ---------------------------------------------------------------- Boutons (32-36 px, une seule couleur de texte) */
.s-agenda .ag-btn, .ag-panneau .ag-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px; height:34px; padding:0 12px;
  border-radius:8px; border:1px solid transparent; background:transparent; color:var(--ag-texte); font:inherit;
  font-size:13.5px; font-weight:500; cursor:pointer; white-space:nowrap; }
.s-agenda .ag-btn svg, .ag-panneau .ag-btn svg{ width:16px; height:16px; }
.s-agenda .ag-btn--blanc, .ag-panneau .ag-btn--blanc{ background:var(--ag-blanc); border-color:var(--ag-trait-fort); }
.s-agenda .ag-btn--blanc:hover, .ag-panneau .ag-btn--blanc:hover{ background:var(--ag-survol); }
.s-agenda .ag-btn--principal{ background:var(--ag-sombre); color:#fff; }
.s-agenda .ag-btn--principal:hover{ background:#111827; }
.s-agenda .ag-btn--icone, .ag-panneau .ag-btn--icone{ width:34px; padding:0; background:var(--ag-blanc); border-color:var(--ag-trait-fort);
  font-size:18px; line-height:1; }
.s-agenda .ag-btn--icone:hover, .ag-panneau .ag-btn--icone:hover{ background:var(--ag-survol); }
.ag-panneau .ag-btn--discret{ border-color:transparent; background:transparent; color:var(--ag-doux); }
.s-agenda .ag-btn--lien, .ag-panneau .ag-btn--lien{ height:auto; padding:2px 4px; text-decoration:underline; text-underline-offset:2px; }
.s-agenda .ag-btn.rdv-cadenas[aria-disabled="true"]{ opacity:.55; }
.s-agenda .ag-compte{ min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--ag-fond);
  border:1px solid var(--ag-trait-fort); font-size:11.5px; display:inline-flex; align-items:center; justify-content:center; }
.s-agenda .ag-segments, .ag-panneau .ag-segments{ display:inline-flex; padding:2px; gap:2px; background:var(--ag-fond);
  border:1px solid var(--ag-trait); border-radius:8px; }
.ag-panneau .ag-segments--plein{ display:flex; }
.ag-panneau .ag-segments--plein .ag-segment{ flex:1; }
.s-agenda .ag-segment, .ag-panneau .ag-segment{ height:28px; padding:0 12px; border:0; border-radius:6px; color:var(--ag-doux); }
.s-agenda .ag-segment[aria-pressed="true"], .ag-panneau .ag-segment[aria-pressed="true"]{ background:var(--ag-blanc); color:var(--ag-texte);
  box-shadow:0 1px 2px rgba(16,24,40,.10); }
.s-agenda .ag-champ, .ag-panneau .ag-champ{ height:34px; padding:0 10px; border:1px solid var(--ag-trait-fort); border-radius:8px;
  background:var(--ag-blanc); color:var(--ag-texte); font:inherit; font-size:13.5px; min-width:0; }
.s-agenda .ag-champ:focus, .ag-panneau .ag-champ:focus{ outline:0; border-color:var(--ag-action); box-shadow:0 0 0 3px rgba(47,111,224,.2); }

/* ---------------------------------------------------------------- Section : onglets, carte, barre */
.s-agenda{ display:flex; flex-direction:column; gap:12px; color:var(--ag-texte); font-size:14px; }
.s-agenda .ag-onglets{ display:flex; gap:24px; border-bottom:1px solid var(--ag-trait); }
.s-agenda .ag-onglet{ height:38px; padding:0; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--ag-doux);
  font-size:14px; }
.s-agenda .ag-onglet[aria-selected="true"]{ color:var(--ag-texte); border-bottom-color:var(--ag-action); font-weight:600; }
.s-agenda .ag-alerte{ background:#fff7e6; border:1px solid #f4d9a6; border-radius:8px; padding:8px 12px; font-size:13.5px; }
.s-agenda .ag-carte{ background:var(--ag-blanc); border:1px solid var(--ag-trait); border-radius:8px; overflow:hidden;
  display:flex; flex-direction:column; min-width:0; }
.s-agenda .ag-barre{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:10px 12px; border-bottom:1px solid var(--ag-trait); }
.s-agenda .ag-barre-gauche, .s-agenda .ag-barre-droite{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; }
.s-agenda .ag-titre{ font-size:16px; font-weight:600; margin:0 0 0 6px; letter-spacing:0; white-space:nowrap; }
.s-agenda .ag-corps{ position:relative; min-width:0; }
/* Menu « Afficher la semaine ▾ » */
.s-agenda .ag-menu-zone{ position:relative; }
.s-agenda .ag-fleche{ font-size:11px; color:var(--ag-doux); }
.s-agenda .ag-menu{ position:absolute; top:calc(100% + 4px); left:0; z-index:20; min-width:190px; background:var(--ag-blanc);
  border:1px solid var(--ag-trait-fort); border-radius:8px; box-shadow:0 8px 24px rgba(11,23,51,.14); padding:4px;
  display:flex; flex-direction:column; }
.s-agenda .ag-menu[hidden]{ display:none; }
.s-agenda .ag-menu-option{ justify-content:flex-start; height:32px; padding:0 10px; border:0; border-radius:6px; font-weight:400; }
.s-agenda .ag-menu-option:hover, .s-agenda .ag-menu-option:focus-visible{ background:var(--ag-survol); outline:0; }
.s-agenda .ag-menu-option[aria-checked="true"]{ font-weight:600; background:var(--ag-fond); }

/* ---------------------------------------------------------------- Grille jour / semaine (défile seule) */
.s-agenda .ag-semaine{ display:flex; flex-direction:column; }
.s-agenda .ag-vide{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:8px 12px; font-size:13.5px;
  color:var(--ag-doux); border-bottom:1px solid var(--ag-trait); background:var(--ag-survol); }
.s-agenda .ag-defile{ overflow:auto; position:relative; height:620px; overscroll-behavior:contain; }
.s-agenda .ag-grille{ display:grid; position:relative; min-width:0; }
.s-agenda .ag-coin, .s-agenda .ag-tete{ position:sticky; top:0; z-index:4; background:var(--ag-blanc); border-bottom:1px solid var(--ag-trait); }
.s-agenda .ag-coin{ left:0; z-index:5; }
.s-agenda .ag-tete{ height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  border-left:1px solid var(--ag-trait); }
.s-agenda .ag-tete-jour{ font-size:12px; color:var(--ag-doux); text-transform:uppercase; letter-spacing:.04em; }
.s-agenda .ag-tete-num{ font-size:18px; font-weight:600; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; }
.s-agenda .ag-tete--auj .ag-tete-num{ background:var(--ag-action); color:#fff; }
.s-agenda .ag-heures{ position:relative; }
.s-agenda .ag-heure{ position:absolute; right:8px; transform:translateY(-50%); font-size:11.5px; color:var(--ag-pale); }
.s-agenda .ag-jour{ border-left:1px solid var(--ag-trait); min-width:0; }
.s-agenda .ag-jour--auj{ background:#fbfcfe; }
.s-agenda .ag-jour-corps{ position:relative; cursor:pointer;
  background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 31px, #f2f3f5 31px, #f2f3f5 32px,
    transparent 32px, transparent 63px, var(--ag-trait) 63px, var(--ag-trait) 64px); }
.s-agenda .ag-jour-corps:hover{ background-color:#fafbfc; }
.s-agenda .ag-bloque{ position:absolute; left:0; right:0; z-index:0; color:var(--ag-doux); font-size:11.5px; padding:3px 6px;
  overflow:hidden; pointer-events:none; background-color:var(--ag-gris-f);
  background-image:repeating-linear-gradient(135deg, transparent 0 6px, rgba(138,145,153,.16) 6px 12px); }
.s-agenda .ag-maintenant{ position:absolute; left:0; right:0; height:2px; background:var(--ag-rouge); z-index:3; pointer-events:none; }
.s-agenda .ag-maintenant::before{ content:""; position:absolute; left:-5px; top:-4px; width:10px; height:10px; border-radius:50%; background:var(--ag-rouge); }

/* Bloc de RDV : fond pâle de l'agenda, trait franc à gauche, texte d'une seule couleur ; l'état en petite pastille. */
.s-agenda .ag-rdv{ position:absolute; z-index:2; display:flex; flex-direction:column; justify-content:flex-start; gap:1px;
  text-align:left; border:0; border-left:3px solid var(--ag-c); background:var(--ag-cf); color:var(--ag-texte);
  border-radius:6px; padding:3px 22px 3px 6px; font:inherit; font-size:12.5px; line-height:1.25; overflow:hidden; cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.9); }
.s-agenda .ag-rdv--court{ justify-content:center; padding-top:0; padding-bottom:0; }
.s-agenda .ag-rdv:hover, .s-agenda .ag-rdv:focus-visible{ box-shadow:0 0 0 1px var(--ag-c); outline:0; }
.s-agenda .ag-rdv--mobile{ cursor:grab; touch-action:none; user-select:none; }
.s-agenda .ag-rdv--glisse{ cursor:grabbing; z-index:6; opacity:.92; box-shadow:0 6px 18px rgba(16,24,40,.18); }
.s-agenda .ag-rdv-ligne{ display:flex; gap:5px; min-width:0; white-space:nowrap; overflow:hidden; }
.s-agenda .ag-rdv-heure{ font-weight:600; flex:none; }
.s-agenda .ag-rdv-nom{ overflow:hidden; text-overflow:ellipsis; min-width:0; }
.s-agenda .ag-rdv-nom--fort{ font-weight:600; }
.s-agenda .ag-rdv-sous{ color:var(--ag-doux); font-size:12px; text-overflow:ellipsis; }
.s-agenda .ag-e--annule{ background:var(--ag-blanc); border-left-style:dashed; }
.s-agenda .ag-e--annule .ag-rdv-nom, .s-agenda .ag-e--annule .ag-rdv-heure, .s-agenda .ag-e--annule .ag-rdv-sous,
.s-agenda .ag-e--annule .ag-puce-nom, .s-agenda .ag-e--annule .ag-puce-heure{ text-decoration:line-through; color:var(--ag-doux); }
.s-agenda .ag-etat{ position:absolute; top:4px; right:4px; width:14px; height:14px; border-radius:50%; display:grid; place-items:center;
  font-size:10px; font-weight:700; line-height:1; color:#fff; }
.s-agenda .ag-rdv--court .ag-etat{ top:50%; transform:translateY(-50%); }
.s-agenda .ag-etat--point{ width:9px; height:9px; right:6px; background:var(--ag-ambre); }
.s-agenda .ag-etat--retard{ width:9px; height:9px; right:6px; background:var(--ag-rouge); }
.s-agenda .ag-etat--coche{ background:var(--ag-vert); }
.s-agenda .ag-etat--croix{ background:var(--ag-rouge); font-size:12px; }

/* Bulle de confirmation (glisser un RDV) */
.s-agenda .ag-bulle{ position:fixed; z-index:340; width:360px; max-width:calc(100vw - 32px); background:var(--ag-blanc);
  border:1px solid var(--ag-trait-fort); border-radius:8px; box-shadow:0 8px 24px rgba(11,23,51,.14); padding:12px;
  display:flex; flex-direction:column; gap:10px; font-size:13.5px; overflow:auto; }
.s-agenda .ag-bulle-texte{ font-weight:500; margin:0; }
.s-agenda .ag-bulle-actions{ display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.s-agenda .ag-bulle-actions[hidden]{ display:none; }
.s-agenda .ag-bulle-refus{ margin:0; padding:8px 10px; border-radius:8px; background:#fdeceb; border:1px solid #f5c4bf; font-weight:500; }
.s-agenda .ag-bulle .annonce{ gap:10px; }
.s-agenda .ag-bulle .annonce-bloc{ padding:10px; border-radius:8px; }
.s-agenda .ag-bulle .btn{ min-height:34px; font-size:13.5px; padding:0 12px; border-radius:8px; }

/* ---------------------------------------------------------------- Vue mois */
.s-agenda .ag-mois{ display:flex; flex-direction:column; overflow:auto; --ag-ligne:110px; }
.s-agenda .ag-mois-tete{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); position:sticky; top:0; z-index:2;
  background:var(--ag-blanc); border-bottom:1px solid var(--ag-trait); }
.s-agenda .ag-mois-tete span{ height:32px; display:grid; place-items:center; font-size:12px; color:var(--ag-doux);
  text-transform:uppercase; letter-spacing:.04em; }
.s-agenda .ag-mois-cases{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); grid-auto-rows:var(--ag-ligne); }
.s-agenda .ag-mois-case{ border-right:1px solid var(--ag-trait); border-bottom:1px solid var(--ag-trait); padding:4px;
  display:flex; flex-direction:column; gap:2px; min-width:0; overflow:hidden; cursor:pointer; }
.s-agenda .ag-mois-case:nth-child(7n){ border-right:0; }
.s-agenda .ag-mois-case:hover{ background:#fafbfc; }
.s-agenda .ag-mois-case--hors{ background:var(--ag-survol); }
.s-agenda .ag-mois-case--hors .ag-mois-num{ color:var(--ag-pale); }
.s-agenda .ag-mois-num{ align-self:flex-start; height:24px; min-width:24px; padding:0 6px; border-radius:12px; font-size:12.5px; font-weight:600; }
.s-agenda .ag-mois-num:hover{ background:var(--ag-fond); }
.s-agenda .ag-mois-case--auj .ag-mois-num{ background:var(--ag-action); color:#fff; }
.s-agenda .ag-puce{ display:flex; align-items:center; gap:5px; width:100%; min-width:0; height:20px; padding:0 4px; border:0;
  border-radius:4px; background:transparent; font:inherit; font-size:12px; color:var(--ag-texte); cursor:pointer; text-align:left; }
.s-agenda .ag-puce:hover{ background:var(--ag-cf); }
.s-agenda .ag-puce-point{ width:8px; height:8px; border-radius:50%; background:var(--ag-c); flex:none; }
.s-agenda .ag-puce-heure{ flex:none; color:var(--ag-doux); }
.s-agenda .ag-puce-nom{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.s-agenda .ag-mois-plus{ height:20px; padding:0 4px; font-size:12px; color:var(--ag-doux); align-self:flex-start; }

/* ---------------------------------------------------------------- Vue liste des rendez-vous */
.s-agenda .ag-liste-filtres{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.s-agenda .ag-sousbarre{ padding:10px 12px; border-bottom:1px solid var(--ag-trait); }
.s-agenda .ag-titre--seul{ margin-left:4px; }
.s-agenda .ag-champ--cherche{ width:200px; }
.s-agenda .ag-liste{ display:flex; flex-direction:column; }
.s-agenda .ag-liste-corps{ overflow:auto; height:560px; }
.s-agenda .ag-liste-ligne{ display:grid; grid-template-columns:minmax(170px, 1.2fr) minmax(160px, 1.4fr) minmax(150px, 1fr) minmax(100px, .8fr) minmax(130px, .8fr);
  align-items:center; gap:12px; width:100%; min-height:44px; padding:0 16px; border:0; border-bottom:1px solid var(--ag-trait);
  background:var(--ag-blanc); font:inherit; font-size:13.5px; color:var(--ag-texte); text-align:left; cursor:pointer; }
.s-agenda .ag-liste-ligne:hover{ background:var(--ag-survol); }
.s-agenda .ag-liste-ligne--tete{ min-height:36px; background:var(--ag-survol); color:var(--ag-doux); font-size:12px; font-weight:500; cursor:default; }
.s-agenda .ag-liste-ligne--tete:hover{ background:var(--ag-survol); }
.s-agenda .ag-liste-ligne > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.s-agenda .ag-liste-nom{ font-weight:500; }
.s-agenda .ag-liste-cal{ display:flex; align-items:center; gap:8px; }
.s-agenda .ag-liste-vide, .s-agenda .ag-liste-nombre{ padding:16px; color:var(--ag-doux); font-size:13.5px; margin:0; }
.s-agenda .ag-badge{ display:inline-flex; align-items:center; height:22px; padding:0 8px; border-radius:6px; font-size:12px; font-weight:500;
  background:var(--ag-fond); color:var(--ag-texte); border:1px solid var(--ag-trait); }
.s-agenda .ag-badge--a_renseigner{ background:#fff4e0; border-color:#f6d9a3; }
.s-agenda .ag-badge--retard{ background:#fdeceb; border-color:#f5c4bf; }
.s-agenda .ag-badge--honore{ background:var(--ag-vert-f); border-color:#bfe6cf; }
.s-agenda .ag-badge--non_honore{ background:#fdeceb; border-color:#f5c4bf; }
.s-agenda .ag-e--annule .ag-liste-nom, .s-agenda .ag-e--annule .ag-liste-quand{ text-decoration:line-through; color:var(--ag-doux); }

/* ---------------------------------------------------------------- Panneau « Gérer l'affichage » */
.ag-panneau{ display:flex; flex-direction:column; gap:12px; font-size:14px; color:var(--ag-texte); }
.ag-panneau .ag-p-titre{ font-size:13px; font-weight:600; margin:4px 0 0; }
.ag-panneau .ag-p-tete{ display:flex; align-items:center; justify-content:space-between; }
.ag-panneau .ag-champ{ width:100%; }
.ag-panneau .ag-p-groupe{ border:1px solid var(--ag-trait); border-radius:8px; padding:4px 12px 8px; }
.ag-panneau .ag-p-groupe > summary{ cursor:pointer; font-weight:600; font-size:13.5px; padding:8px 0; }
.ag-panneau .ag-p-ligne{ display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.ag-panneau .ag-p-ligne[hidden], .ag-panneau .ag-p-case[hidden]{ display:none; }
.ag-panneau .ag-p-case{ display:flex; align-items:center; gap:10px; min-height:34px; cursor:pointer; flex:1; min-width:0; }
.ag-panneau .ag-p-case input{ width:16px; height:16px; margin:0; accent-color:var(--ag-c, var(--ag-action)); flex:none; }
.ag-panneau .ag-avatar{ width:22px; height:22px; border-radius:50%; background:var(--ag-fond); border:1px solid var(--ag-trait-fort);
  display:grid; place-items:center; font-size:11px; font-weight:600; flex:none; }
.ag-panneau .ag-p-absent{ flex-basis:100%; margin:0 0 6px 26px; font-size:12.5px; color:var(--ag-doux); }
.ag-panneau .ag-p-groupe > summary .ag-p-nombre{ margin-left:8px; min-width:20px; height:20px; padding:0 6px; border-radius:10px;
  background:var(--ag-fond); border:1px solid var(--ag-trait); font-size:11.5px; font-weight:500; display:inline-flex;
  align-items:center; justify-content:center; }
.ag-panneau .ag-p-vide{ margin:0 0 6px; }

/* ---------------------------------------------------------------- Fenêtre « Prendre rendez-vous » */
.ag-fen-fond{ position:fixed; inset:0; z-index:360; background:rgba(17,24,39,.42); display:flex; align-items:center;
  justify-content:center; padding:24px; }
.ag-fen-fond .ag-fen{ width:min(880px, 100%); max-height:calc(100vh - 48px); background:var(--ag-blanc); border-radius:8px;
  border:1px solid var(--ag-trait); box-shadow:0 16px 48px rgba(11,23,51,.22); display:flex; flex-direction:column;
  color:var(--ag-texte); font-size:14px; overflow:hidden; }
.ag-fen-fond .ag-fen-tete{ display:flex; align-items:center; justify-content:space-between; padding:14px 20px 0; }
.ag-fen-fond .ag-fen-titre{ font-size:18px; font-weight:600; margin:0; letter-spacing:0; }
.ag-fen-fond .ag-fen-x{ width:32px; height:32px; border:0; border-radius:8px; background:transparent; cursor:pointer; color:var(--ag-doux);
  display:grid; place-items:center; }
.ag-fen-fond .ag-fen-x:hover{ background:var(--ag-fond); }
.ag-fen-fond .ag-fen-x svg{ width:18px; height:18px; }
.ag-fen-fond .ag-fen-onglets{ display:flex; gap:24px; padding:0 20px; border-bottom:1px solid var(--ag-trait); }
.ag-fen-fond .ag-fen-onglet{ height:38px; display:flex; align-items:center; border-bottom:2px solid var(--ag-action); font-weight:600; font-size:14px; }
.ag-fen-fond .ag-fen-corps{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:0; overflow:auto; flex:1; }
.ag-fen-fond .ag-fen-col{ padding:16px 20px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.ag-fen-fond .ag-fen-col + .ag-fen-col{ border-left:1px solid var(--ag-trait); background:#fcfcfd; }
.ag-fen-fond .ag-fen-champ{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.ag-fen-fond .ag-fen-etiquette{ font-size:13px; font-weight:500; }
.ag-fen-fond .ag-fen-deux{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ag-fen-fond .ag-fen-col > .ag-fen-deux:has([data-champ="rdv.fen.jour"]){ grid-template-columns:3fr 2fr; }
.ag-fen-fond .ag-fen-pastille-champ{ display:flex; align-items:center; gap:8px; }
.ag-fen-fond .ag-fen-pastille-champ .ag-pastille{ width:12px; height:12px; }
.ag-fen-fond .ag-champ{ height:36px; width:100%; padding:0 10px; border:1px solid var(--ag-trait-fort); border-radius:8px;
  background:var(--ag-blanc); color:var(--ag-texte); font:inherit; font-size:14px; min-width:0; }
.ag-fen-fond textarea.ag-champ{ height:auto; min-height:76px; padding:8px 10px; resize:vertical; line-height:1.45; }
.ag-fen-fond .ag-champ:focus{ outline:0; border-color:var(--ag-action); box-shadow:0 0 0 3px rgba(47,111,224,.2); }
.ag-fen-fond .ag-fen-aide{ font-size:12.5px; color:var(--ag-doux); margin:0; }
.ag-fen-fond .ag-fen-aide:empty{ display:none; }
.ag-fen-fond .ag-fen-alerte{ font-size:13px; margin:0; padding:8px 10px; border-radius:8px; background:#fff7e6; border:1px solid #f4d9a6; }
.ag-fen-fond .ag-fen-alerte:empty{ display:none; }
.ag-fen-fond .ag-fen-case{ display:flex; align-items:center; gap:8px; font-size:13.5px; cursor:pointer; }
.ag-fen-fond .ag-fen-case input{ width:16px; height:16px; margin:0; accent-color:var(--ag-action); }
.ag-fen-fond .ag-fen-resultats{ display:flex; flex-direction:column; border:1px solid var(--ag-trait); border-radius:8px; overflow:hidden; }
.ag-fen-fond .ag-fen-resultats:empty{ display:none; }
.ag-fen-fond .ag-fen-personne{ display:flex; flex-direction:column; align-items:flex-start; gap:1px; width:100%; padding:7px 10px;
  border:0; border-bottom:1px solid var(--ag-trait); background:var(--ag-blanc); font:inherit; text-align:left; cursor:pointer; color:var(--ag-texte); }
.ag-fen-fond .ag-fen-personne:last-child{ border-bottom:0; }
.ag-fen-fond .ag-fen-personne:hover, .ag-fen-fond .ag-fen-personne:focus-visible{ background:var(--ag-survol); outline:0; }
.ag-fen-fond .ag-fen-personne-nom{ font-weight:500; font-size:14px; }
.ag-fen-fond .ag-fen-personne-info{ font-size:12.5px; color:var(--ag-doux); }
.ag-fen-fond .ag-fen-choisie{ display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--ag-trait-fort);
  border-radius:8px; background:var(--ag-blanc); }
.ag-fen-fond .ag-fen-choisie > div{ flex:1; min-width:0; display:flex; flex-direction:column; }
.ag-fen-fond .ag-fen-nouvelle{ display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid var(--ag-trait); border-radius:8px; background:var(--ag-blanc); }
.ag-fen-fond .ag-fen-btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; height:34px; padding:0 14px;
  border-radius:8px; border:1px solid var(--ag-trait-fort); background:var(--ag-blanc); color:var(--ag-texte); font:inherit;
  font-size:13.5px; font-weight:500; cursor:pointer; white-space:nowrap; }
.ag-fen-fond .ag-fen-btn:hover{ background:var(--ag-survol); }
.ag-fen-fond .ag-fen-btn svg{ width:16px; height:16px; }
.ag-fen-fond .ag-fen-btn--principal{ background:var(--ag-sombre); border-color:var(--ag-sombre); color:#fff; }
.ag-fen-fond .ag-fen-btn--principal:hover{ background:#111827; }
.ag-fen-fond .ag-fen-btn--lien{ border:0; background:transparent; padding:0 2px; height:28px; text-decoration:underline; text-underline-offset:2px; align-self:flex-start; }
.ag-fen-fond .ag-fen-btn--lien:hover{ background:transparent; }
.ag-fen-fond .ag-fen-pied{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px;
  border-top:1px solid var(--ag-trait); background:var(--ag-blanc); flex-wrap:wrap; }
.ag-fen-fond .ag-fen-pied[hidden]{ display:none; }
.ag-fen-fond .ag-fen-etat{ display:flex; align-items:center; gap:8px; font-size:13.5px; }
.ag-fen-fond .ag-fen-etat .ag-champ{ width:auto; height:32px; }
.ag-fen-fond .ag-fen-boutons{ display:flex; gap:8px; }
.ag-fen-fond .ag-fen-apercu{ padding:0 20px; }
.ag-fen-fond .ag-fen-apercu:empty{ display:none; }
.ag-fen-fond .ag-fen-apercu > *{ margin:12px 0; }
.ag-fen-fond .annonce{ gap:10px; }
.ag-fen-fond .annonce-bloc{ padding:10px 12px; border-radius:8px; }
/* Bloc « Détails » replié des aperçus (fenêtre, bulle, tiroir) : une flèche, pour ne pas croire à une case vide (B9). */
.ag-fen-fond details.annonce-bloc > summary, .s-agenda .ag-bulle details.annonce-bloc > summary,
.s-rdv details.annonce-bloc > summary, .s-preappel details.annonce-bloc > summary{ min-height:28px; gap:6px; list-style:none; }
.ag-fen-fond details.annonce-bloc > summary::before, .s-agenda .ag-bulle details.annonce-bloc > summary::before,
.s-rdv details.annonce-bloc > summary::before, .s-preappel details.annonce-bloc > summary::before{ content:"▸"; font-size:12px; }
.ag-fen-fond details.annonce-bloc[open] > summary::before, .s-agenda .ag-bulle details.annonce-bloc[open] > summary::before,
.s-rdv details.annonce-bloc[open] > summary::before, .s-preappel details.annonce-bloc[open] > summary::before{ content:"▾"; }
.ag-fen-fond .annonce-actions{ display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.ag-fen-fond .btn{ min-height:34px; font-size:13.5px; padding:0 14px; border-radius:8px; }
.ag-fen-fond .rdv-sms{ width:100%; }

/* ---------------------------------------------------------------- Tiroir « Détails » et panneaux de RDV */
.panneau:has(> .panneau-corps > .s-rdv), .panneau:has(> .panneau-corps > .s-preappel), .panneau:has(> .panneau-corps > .ag-panneau){
  border-radius:0; width:min(100vw, 440px); padding:16px 20px 32px; box-shadow:0 8px 24px rgba(11,23,51,.12), 0 2px 6px rgba(11,23,51,.06); }
.panneau:has(> .panneau-corps > .s-rdv) .panneau-titre, .panneau:has(> .panneau-corps > .s-preappel) .panneau-titre,
.panneau:has(> .panneau-corps > .ag-panneau) .panneau-titre{ font-size:17px; font-weight:600; letter-spacing:0; }
.panneau:has(> .panneau-corps > .s-rdv) .panneau-fermer, .panneau:has(> .panneau-corps > .s-preappel) .panneau-fermer,
.panneau:has(> .panneau-corps > .ag-panneau) .panneau-fermer{ width:32px; height:32px; border-radius:8px; }
.s-rdv, .s-preappel{ display:flex; flex-direction:column; gap:14px; color:var(--ag-texte); font-size:14px; }
.s-rdv .btn, .s-preappel .btn{ min-height:34px; font-size:13.5px; padding:0 12px; border-radius:8px; font-weight:500; }
.s-rdv .btn--primary, .s-preappel .btn--primary{ box-shadow:none; }
.s-rdv .btn--ghost:hover, .s-preappel .btn--ghost:hover{ color:var(--ag-texte); background:var(--ag-survol); }
.s-rdv .btn--sm, .s-preappel .btn--sm{ min-height:32px; padding:0 10px; }
.s-rdv .champ, .s-preappel .champ{ min-height:36px; border-radius:8px; font-size:14px; }
.s-rdv .rdv-zone:empty, .s-preappel .rdv-zone:empty{ display:none; }
.s-rdv .rdv-zone, .s-preappel .rdv-zone{ display:flex; flex-direction:column; gap:8px; }
.s-rdv .rdv-bloc-titre h3, .s-preappel .rdv-bloc-titre h3{ font-size:14px; font-weight:600; }
.s-rdv .rdv-personne{ font-size:16px; font-weight:600; }
.s-rdv .rdv-agendas, .s-rdv .rdv-jours, .s-rdv .rdv-creneaux,
.s-preappel .rdv-jours, .s-preappel .rdv-creneaux, .s-preappel .rdv-choix{ display:flex; flex-wrap:wrap; gap:8px; }
.s-rdv .rdv-agenda{ border-left:3px solid var(--ag-c, var(--ag-gris)); }
.s-rdv .rdv-agenda.actif, .s-rdv .rdv-jour.actif, .s-rdv .rdv-creneau.actif,
.s-preappel .rdv-jour.actif, .s-preappel .rdv-creneau.actif, .s-preappel .rdv-choix .actif{
  background:var(--ag-action); color:#fff; box-shadow:none; }
.s-rdv .rdv-jour-n, .s-preappel .rdv-jour-n{ margin-left:6px; font-size:12px; opacity:.75; }
.s-rdv .rdv-creneau, .s-preappel .rdv-creneau{ min-width:64px; justify-content:center; }
.s-rdv .rdv-forcer, .s-preappel .rdv-forcer{ display:inline-flex; gap:8px; align-items:center; font-size:13.5px; min-height:32px; cursor:pointer; }
.s-rdv .rdv-forcer input, .s-preappel .rdv-forcer input{ accent-color:var(--ag-action); }
.s-rdv .rdv-trouve{ background:var(--ag-bleu-f); border-radius:8px; padding:8px 12px; }
.s-rdv .rdv-saisie{ display:flex; gap:8px; flex-wrap:wrap; }
.s-rdv .rdv-saisie .champ{ flex:1; min-width:180px; }
.s-rdv .rdv-resultats{ display:flex; flex-direction:column; gap:4px; }
.s-rdv .rdv-sms, .s-preappel .rdv-sms{ width:100%; resize:vertical; }
.s-rdv .rdv-apercu, .s-preappel .rdv-apercu{ border-top:1px solid var(--ag-trait); padding-top:12px; }
.s-rdv .rdv-apercu:empty, .s-preappel .rdv-apercu:empty{ border:0; padding:0; }
.s-rdv .rdv-ok, .s-preappel .rdv-ok{ font-weight:600; }
.s-rdv .rdv-cadenas svg, .s-preappel .rdv-cadenas svg, .s-agenda .rdv-cadenas svg{ width:14px; height:14px; margin-right:4px; }
/* Bouton à cadenas (F.4, règle C1) : gris comme un bouton désactivé, mais il se clique (le clic explique le droit). */
.btn.rdv-cadenas[aria-disabled="true"]{ opacity:.55; box-shadow:none; }
.s-rdv .rdv-plus summary{ cursor:pointer; color:var(--ag-doux); font-size:13px; padding:6px 0; }
.s-rdv .rdv-plus[open]{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.s-rdv .rdv-numero, .s-preappel .rdv-numero{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.s-rdv .rdv-numero-grand, .s-preappel .rdv-numero-grand{ font-size:24px; font-weight:700; letter-spacing:.02em; }
.s-rdv .rdv-info, .s-preappel .rdv-info{ font-weight:600; }
.s-preappel .rdv-question{ display:flex; gap:8px; flex-wrap:wrap; }
.s-preappel .rdv-option{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; width:100%;
  min-height:44px; white-space:normal; padding:8px 12px; }
.s-preappel .rdv-option small{ font-weight:400; opacity:.8; }

/* Fiche « Détails » (comme GHL) */
.s-rdv .rdv-det{ display:flex; flex-direction:column; gap:14px; }
.s-rdv .rdv-det-tete{ display:flex; flex-direction:column; gap:6px; padding-left:12px; border-left:3px solid var(--ag-c, var(--ag-gris)); }
.s-rdv .rdv-det-pastille{ align-self:flex-start; display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 8px;
  border-radius:6px; background:var(--ag-cf, var(--ag-fond)); font-size:12px; font-weight:500; }
.s-rdv .rdv-det-nom{ font-size:18px; font-weight:600; margin:0; }
.s-rdv .rdv-det-titre{ font-size:13px; color:var(--ag-doux); margin:0; }
.s-rdv .rdv-det-lignes{ display:flex; flex-direction:column; border:1px solid var(--ag-trait); border-radius:8px; }
.s-rdv .rdv-det-ligne{ display:grid; grid-template-columns:150px minmax(0, 1fr); gap:10px; padding:9px 12px; border-bottom:1px solid var(--ag-trait);
  align-items:center; font-size:13.5px; }
.s-rdv .rdv-det-ligne:last-child{ border-bottom:0; }
.s-rdv .rdv-det-cle{ color:var(--ag-doux); font-size:12.5px; }
.s-rdv .rdv-det-val{ display:flex; align-items:center; gap:6px; min-width:0; flex-wrap:wrap; }
.s-rdv .rdv-det-val > span{ min-width:0; overflow-wrap:anywhere; }
.s-rdv .rdv-det-val:has(> .rdv-det-copier){ flex-wrap:nowrap; }
.s-rdv .rdv-det-val:has(> .rdv-det-copier) > span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.s-rdv .rdv-det-lien{ border:0; padding:0; background:none; font:inherit; color:var(--ag-texte); font-weight:500; cursor:pointer;
  text-decoration:underline; text-underline-offset:2px; text-align:left; }
.s-rdv .rdv-det-copier{ height:26px; padding:0 8px; display:inline-flex; align-items:center; border:1px solid var(--ag-trait);
  border-radius:6px; background:var(--ag-blanc); cursor:pointer; color:var(--ag-texte); font:inherit; font-size:12px; flex:none; }
.s-rdv .rdv-det-copier:hover{ background:var(--ag-survol); color:var(--ag-texte); }
.s-rdv .rdv-det-copier svg{ width:14px; height:14px; }
.s-rdv .rdv-det-meet{ font-size:12.5px; color:var(--ag-doux); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.s-rdv .rdv-det-notes{ display:flex; flex-direction:column; gap:6px; font-size:13.5px; }
.s-rdv .rdv-det-notes p{ margin:0; }
.s-rdv .rdv-det-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.panneau:has(> .panneau-corps > .s-rdv > .rdv-det){ display:flex; flex-direction:column; }
.panneau:has(> .panneau-corps > .s-rdv > .rdv-det) > .panneau-corps{ flex:1; display:flex; flex-direction:column; }
.s-rdv:has(> .rdv-det){ flex:1; }
.s-rdv .rdv-det-pied{ position:sticky; bottom:-32px; margin:auto -20px -32px; padding:12px 20px 16px; background:var(--ag-blanc);
  border-top:1px solid var(--ag-trait); display:flex; align-items:center; gap:8px; flex-wrap:wrap; z-index:2; }
.s-rdv .rdv-det-pied .rdv-det-espace{ flex:1; }
.s-rdv .rdv-etat-zone{ position:relative; }
.s-rdv .rdv-etat-bouton{ display:inline-flex; align-items:center; gap:6px; }
.s-rdv .rdv-etat-bouton .rdv-etat-cle{ color:var(--ag-doux); font-weight:400; }
.s-rdv .rdv-etat-menu{ position:absolute; bottom:calc(100% + 6px); left:0; z-index:5; min-width:240px; background:var(--ag-blanc);
  border:1px solid var(--ag-trait-fort); border-radius:8px; box-shadow:0 8px 24px rgba(11,23,51,.14); padding:4px;
  display:flex; flex-direction:column; }
.s-rdv .rdv-etat-menu[hidden]{ display:none; }
.s-rdv .rdv-etat-option{ display:flex; flex-direction:column; align-items:flex-start; gap:1px; padding:8px 10px; border:0; border-radius:6px;
  background:transparent; font:inherit; font-size:13.5px; color:var(--ag-texte); text-align:left; cursor:pointer; }
.s-rdv .rdv-etat-option:hover:not([disabled]){ background:var(--ag-survol); }
.s-rdv .rdv-etat-option[disabled]{ cursor:default; color:var(--ag-pale); }
.s-rdv .rdv-etat-option[aria-current="true"]{ font-weight:600; color:var(--ag-texte); }
.s-rdv .rdv-etat-option small{ font-size:12px; font-weight:400; color:var(--ag-doux); }

/* ---------------------------------------------------------------- Téléphone : une colonne, 44 px, rien qui déborde */
@media (max-width: 899px){
  .s-agenda .ag-btn, .s-agenda .ag-champ{ height:44px; }
  .s-agenda .ag-btn--icone{ width:44px; }
  .s-agenda .ag-segment{ height:44px; }
  .s-agenda .ag-barre{ flex-direction:column; align-items:stretch; }
  .s-agenda .ag-titre{ white-space:normal; margin:0; width:100%; }
  .s-agenda .ag-texte-large{ display:none; }
  .s-agenda .ag-liste-ligne{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); row-gap:2px; padding:8px 12px; }
  .s-agenda .ag-liste-ligne--tete{ display:none; }
  .s-agenda .ag-liste-prop{ display:none; }
  .s-agenda .ag-champ--cherche{ width:100%; }
  .s-agenda .ag-jour-corps{ background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 47px, #f2f3f5 47px,
    #f2f3f5 48px, transparent 48px, transparent 95px, var(--ag-trait) 95px, var(--ag-trait) 96px); }
  .s-rdv .btn, .s-preappel .btn{ min-height:var(--tap); }
  .s-rdv .annonce-actions .btn, .s-preappel .annonce-actions .btn{ flex:1 1 auto; }
  .ag-fen-fond{ padding:0; align-items:stretch; }
  .ag-fen-fond .ag-fen{ max-height:100vh; border-radius:0; }
  .ag-fen-fond .ag-fen-corps{ grid-template-columns:minmax(0, 1fr); }
  .ag-fen-fond .ag-fen-col + .ag-fen-col{ border-left:0; border-top:1px solid var(--ag-trait); }
  .ag-fen-fond .ag-champ, .ag-fen-fond .ag-fen-btn{ min-height:44px; }
  .panneau:has(> .panneau-corps > .s-rdv), .panneau:has(> .panneau-corps > .s-preappel), .panneau:has(> .panneau-corps > .ag-panneau){ width:100vw; }
}
@media (max-width: 639px){
  .s-rdv .rdv-creneau, .s-preappel .rdv-creneau{ flex:1 1 calc(33% - 8px); }
  .s-rdv .rdv-det-ligne{ grid-template-columns:minmax(0, 1fr); gap:2px; }
}
.ag-fen-fond .ag-fen:focus{ outline:0; }
