/* Oqora CRM · agendas.css (lot A) : section Agendas (.s-agenda), fiche RDV et « Prendre un RDV » (.s-rdv), panneaux
   « Résultat du pré-appel » et « Comment s'est passé le RDV ? » (.s-preappel). Toutes les règles sont préfixées par la
   classe racine de leur bloc ; aucun jeton :root (ceux de crm.css servent). Grille de la semaine reprise de l'outil
   clientes (renderCalendrier : 8h-21h, couloirs). */

/* ---------------------------------------------------------------- Couleurs des agendas (fond = l'agenda, toujours) */
.s-agenda .ag-couleur--bleu, .s-rdv .rdv-agenda--bleu{ --ag-fond:var(--bleu-tint); --ag-trait:var(--bleu); }
.s-agenda .ag-couleur--violet, .s-rdv .rdv-agenda--violet{ --ag-fond:var(--violet-tint); --ag-trait:var(--violet); }
.s-agenda .ag-couleur--vert_eau, .s-rdv .rdv-agenda--vert_eau{ --ag-fond:var(--teal-tint); --ag-trait:var(--teal); }
.s-agenda .ag-couleur--gris, .s-rdv .rdv-agenda--gris{ --ag-fond:var(--bande); --ag-trait:var(--ink-faint); }

/* ---------------------------------------------------------------- Barre du haut */
.s-agenda{ display:flex; flex-direction:column; gap:var(--sp-3); }
.s-agenda .ag-barre{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--sp-3); }
.s-agenda .ag-nav{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; min-width:0; }
.s-agenda .ag-titre{ font-size:var(--fs-md); margin-left:var(--sp-2); }
.s-agenda .ag-droite{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.s-agenda .ag-vues{ display:flex; gap:var(--sp-1); }
.s-agenda .ag-filtres{ display:flex; flex-wrap:wrap; gap:var(--sp-3); border:0; margin:0; padding:0; }
.s-agenda .ag-filtres legend{ float:left; margin-right:var(--sp-2); font-size:var(--fs-sm); }
.s-agenda .ag-filtre{ display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-sm); cursor:pointer;
  min-height:32px; }
.s-agenda .ag-pastille{ width:12px; height:12px; border-radius:var(--r-full); background:var(--ag-trait, var(--ink-faint));
  display:inline-block; flex:none; }

/* ---------------------------------------------------------------- Grille de la semaine (couloirs) */
.s-agenda .ag-semaine{ display:flex; flex-direction:column; gap:var(--sp-3); }
.s-agenda .ag-grille{ display:grid; grid-template-columns:44px repeat(7, minmax(0, 1fr)); gap:0;
  background:var(--surface); border:1px solid var(--rule); border-radius:var(--r-md); overflow:hidden; }
.s-agenda .ag-grille--jour{ grid-template-columns:44px minmax(0, 1fr); }
.s-agenda .ag-heures{ position:relative; margin-top:34px; border-right:1px solid var(--rule-soft); }
.s-agenda .ag-heure{ position:absolute; right:6px; transform:translateY(-50%); font-size:var(--fs-xs); color:var(--ink-faint); }
.s-agenda .ag-jour{ border-left:1px solid var(--rule-soft); min-width:0; }
.s-agenda .ag-jour--auj .ag-jour-tete{ color:var(--bleu); font-weight:700; }
.s-agenda .ag-jour-tete{ height:34px; display:flex; align-items:center; justify-content:center; font-size:var(--fs-sm);
  border-bottom:1px solid var(--rule); background:var(--bande); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.s-agenda .ag-jour-corps{ position:relative;
  background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 53px, var(--rule-soft) 53px, var(--rule-soft) 54px); }
.s-agenda .ag-bloque{ position:absolute; left:0; right:0; z-index:0; color:var(--ink-faint); font-size:var(--fs-xs);
  padding:2px 6px; overflow:hidden;
  background:repeating-linear-gradient(135deg, var(--rule-soft) 0 6px, var(--bande) 6px 12px); }
.s-agenda .ag-maintenant{ position:absolute; left:0; right:0; height:2px; background:var(--rouge); z-index:2; }
.s-agenda .ag-rdv{ position:absolute; z-index:1; text-align:left; border:0; border-left:4px solid var(--ag-trait);
  background:var(--ag-fond); color:var(--ink); border-radius:var(--r-xs); padding:3px 6px; font:inherit;
  font-size:var(--fs-xs); line-height:1.25; overflow:hidden; cursor:pointer; display:flex; flex-direction:column;
  box-shadow:var(--sh-1); }
.s-agenda .ag-rdv:hover, .s-agenda .ag-rdv:focus-visible{ outline:2px solid var(--ag-trait); outline-offset:0; }
.s-agenda .ag-rdv-heure{ font-weight:700; }
.s-agenda .ag-rdv-nom{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.s-agenda .ag-rdv-etat, .s-agenda .ag-rdv-autre, .s-agenda .ag-rdv-oui{ color:var(--ink-soft); }
/* État : jamais la couleur du fond (le fond dit l'agenda) ; un trait, une barre ou un pictogramme. */
.s-agenda .ag-etat--a_renseigner{ box-shadow:inset 0 0 0 1px var(--ambre-vif); }
.s-agenda .ag-etat--retard{ box-shadow:inset 0 0 0 2px var(--rouge); }
.s-agenda .ag-etat--honore .ag-rdv-etat{ color:var(--vert); font-weight:700; }
.s-agenda .ag-etat--non_honore .ag-rdv-etat{ color:var(--ambre); font-weight:700; }
.s-agenda .ag-etat--annule{ opacity:.6; }
.s-agenda .ag-etat--annule .ag-rdv-nom, .s-agenda .ag-etat--annule .ag-rdv-heure{ text-decoration:line-through; }
.s-agenda .ag-vide{ padding:var(--sp-4); display:flex; flex-direction:column; gap:var(--sp-2); align-items:flex-start; }

/* ---------------------------------------------------------------- Liste « À venir » / « À renseigner » */
.s-agenda .ag-liste{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:var(--sp-4); }
.s-agenda .ag-groupe{ display:flex; flex-direction:column; gap:var(--sp-2); }
.s-agenda .ag-ligne{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; width:100%; text-align:left;
  background:var(--surface); border:1px solid var(--rule); border-left:4px solid var(--ag-trait); border-radius:var(--r-sm);
  padding:var(--sp-2) var(--sp-3); font:inherit; cursor:pointer; min-height:var(--tap); }
.s-agenda .ag-ligne:hover{ background:var(--bande); }
.s-agenda .ag-ligne-quand{ font-weight:700; }
.s-agenda .ag-ligne-nom{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---------------------------------------------------------------- Panneaux RDV (.s-rdv, .s-preappel) */
.s-rdv, .s-preappel{ display:flex; flex-direction:column; gap:var(--sp-4); }
.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:var(--sp-2); }
.s-rdv .rdv-bloc-titre h3, .s-preappel .rdv-bloc-titre h3{ font-size:var(--fs-base); }
.s-rdv .rdv-personne{ font-size:var(--fs-lg); font-weight:700; }
.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:var(--sp-2); }
.s-rdv .rdv-agenda{ border-left:4px solid var(--ag-trait); }
.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(--bleu); color:#fff; border-color:var(--bleu); }
.s-rdv .rdv-jour-n, .s-preappel .rdv-jour-n{ margin-left:6px; font-size:var(--fs-xs); 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:var(--sp-2); align-items:center; font-size:var(--fs-sm);
  min-height:var(--tap); cursor:pointer; }
.s-rdv .rdv-trouve{ background:var(--bleu-tint); border-radius:var(--r-sm); padding:var(--sp-2) var(--sp-3); }
.s-rdv .rdv-saisie{ display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.s-rdv .rdv-saisie .champ{ flex:1; min-width:180px; }
.s-rdv .rdv-resultats{ display:flex; flex-direction:column; gap:var(--sp-1); }
.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(--rule-soft); padding-top:var(--sp-3); }
.s-rdv .rdv-apercu:empty, .s-preappel .rdv-apercu:empty{ border:0; padding:0; }
.s-rdv .rdv-fiche{ display:flex; flex-direction:column; gap:var(--sp-2); }
.s-rdv .rdv-fiche-tete{ border-left:4px solid var(--ag-trait); padding-left:var(--sp-3); display:flex; flex-direction:column; gap:4px; }
.s-rdv .rdv-fiche-quand{ color:var(--ink-soft); }
.s-rdv .rdv-etat{ align-self:flex-start; }
.s-rdv .rdv-ok, .s-preappel .rdv-ok{ color:var(--vert); font-weight:600; }
.s-rdv .rdv-actions{ flex-wrap:wrap; }
.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(--ink-soft); font-size:var(--fs-sm); padding:var(--sp-2) 0; }
.s-rdv .rdv-numero, .s-preappel .rdv-numero{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.s-rdv .rdv-numero-grand, .s-preappel .rdv-numero-grand{ font-size:var(--fs-2xl); font-weight:800; letter-spacing:.02em; }
.s-rdv .rdv-info, .s-preappel .rdv-info{ font-weight:600; }
.s-preappel .rdv-question{ display:flex; gap:var(--sp-2); 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:var(--tap); }
.s-preappel .rdv-option small{ font-weight:400; opacity:.8; }

/* ---------------------------------------------------------------- Téléphone : une colonne, 44 px, rien qui déborde */
@media (max-width: 899px){
  .s-agenda .ag-barre{ flex-direction:column; align-items:stretch; }
  .s-agenda .ag-nav .btn, .s-agenda .ag-droite .btn{ min-height:var(--tap); }
  .s-agenda .ag-titre{ width:100%; margin-left:0; }
  .s-agenda .ag-liste{ grid-template-columns:minmax(0, 1fr); }
  .s-rdv .btn, .s-preappel .btn{ min-height:var(--tap); }
  .s-rdv .annonce-actions .btn, .s-preappel .annonce-actions .btn{ flex:1 1 auto; }
}
@media (max-width: 639px){
  .s-agenda .ag-filtres{ gap:var(--sp-2); }
  .s-agenda .ag-filtre{ min-height:var(--tap); }
  .s-rdv .rdv-creneau, .s-preappel .rdv-creneau{ flex:1 1 calc(33% - var(--sp-2)); }
}
