/* Chantier n° 13 (31/10) — l'Agenda façon SpiderVO. Bureau : la semaine en grille 7 h – 21 h, le jour et la
   liste en colonnes (heure, type, client, voiture, lieu, agenda), la fiche en volet avec Précédente / Suivante,
   un seul bouton bleu (« + Rendez-vous »). Téléphone : une ligne par rendez-vous (heure, mot, client, voiture),
   ‹ › et les puces des jours, « Filtres ▾ », textes ≥ 15 px, cibles ≥ 44 px, rien qui glisse de côté.
   Un mot et une couleur par type ; le détail au survol. Préfixe « ag- ». Chargé après dossiers-ds.css. */

section.ag{--ag-ardoise:192 55% 32%;--ag-ardoise-doux:190 45% 93%;--ag-violet:262 52% 50%;--ag-violet-doux:262 80% 96%}

/* Le mot : une couleur par type. */
.ag-tag{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border:0;border-radius:999px;font:inherit;font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;background:hsl(var(--ap-gris-doux));color:hsl(var(--ap-doux))}
.ag :is(.ag-tag,.ag-ev,.ag-tp)[data-ton="bleu"]{--t:var(--ap-action-fort);--td:var(--ap-action-doux)}
.ag :is(.ag-tag,.ag-ev,.ag-tp)[data-ton="vert"]{--t:var(--ap-vert);--td:var(--ap-vert-doux)}
.ag :is(.ag-tag,.ag-ev,.ag-tp)[data-ton="violet"]{--t:var(--ag-violet);--td:var(--ag-violet-doux)}
.ag :is(.ag-tag,.ag-ev,.ag-tp)[data-ton="orange"]{--t:var(--ap-ambre);--td:var(--ap-ambre-doux)}
.ag :is(.ag-tag,.ag-ev,.ag-tp)[data-ton="ardoise"]{--t:var(--ag-ardoise);--td:var(--ag-ardoise-doux)}
.ag :is(.ag-tag,.ag-ev,.ag-tp)[data-ton="rouge"]{--t:var(--ap-rouge);--td:var(--ap-rouge-doux)}
.ag :is(.ag-tag,.ag-ev,.ag-tp)[data-ton="gris"]{--t:var(--ap-doux);--td:var(--ap-gris-doux)}
.ag .ag-tag[data-ton]{background:hsl(var(--td));color:hsl(var(--t))}
/* Le point d'un agenda : la couleur de son métier (V1 : la couleur d'un rendez-vous suit son agenda). */
.ag-pt{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;margin-right:6px;background:hsl(var(--ap-action))}
.ag [data-metier="nettoyage"] .ag-pt,.ag .ag-puce[data-metier="nettoyage"] .ag-pt{background:hsl(var(--ap-ambre))}
.ag [data-metier="atelier"] .ag-pt,.ag .ag-puce[data-metier="atelier"] .ag-pt{background:hsl(var(--ag-ardoise))}
.ag [data-metier="transport"] .ag-pt{background:hsl(var(--ag-ardoise))}
.ag [data-metier="achat"] .ag-pt{background:hsl(var(--ag-violet))}
.ag [data-metier="administratif"] .ag-pt,.ag [data-metier="finance"] .ag-pt,.ag [data-metier="reglages"] .ag-pt{background:hsl(var(--ap-doux))}

/* En-tête. */
.ag-tete{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.ag-tete h1{margin:0;font-size:var(--ap-t-titre);font-weight:var(--ap-g-chiffre);letter-spacing:-.025em}
.ag-n{font-size:15px;font-weight:600;color:hsl(var(--ap-doux))}
.ag-nav{display:inline-flex;align-items:center;gap:6px;margin-left:8px}
.ag-nav .or-btn{height:36px}
.ag-fl{width:36px;padding:0;font-size:20px;line-height:1}
.ag-periode{font-size:16px;font-weight:600;margin-left:6px;white-space:nowrap}
.ag-vues{display:inline-flex;border-radius:10px;box-shadow:0 0 0 1px hsl(var(--ap-trait)) inset;overflow:hidden;margin-left:auto}
.ag-vue{height:36px;padding:0 14px;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:hsl(var(--ap-doux));cursor:pointer}
.ag-vue.on{background:hsl(var(--ap-action-doux));color:hsl(var(--ap-action-fort))}
.ag-cherche{width:240px;margin-left:0}
.ag-cherche-tel{display:none}
.ag-fbtn{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 14px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:600;background:hsl(var(--ap-carte));box-shadow:0 0 0 1px hsl(var(--ap-trait)) inset;color:hsl(var(--ap-encre));cursor:pointer;white-space:nowrap}
.ag-nouveau{height:36px}
.ag-filtres{display:none;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;padding:10px 12px;border-radius:var(--ap-r-l);background:hsl(var(--ap-carte));box-shadow:0 0 0 1px hsl(var(--ap-trait)) inset}
.ag-filtres.ag-ouvert{display:flex}
.ag-fgr{display:inline-flex;flex-wrap:wrap;gap:6px}
.ag-fgr:empty{display:none}
.ag-puce:not(.on){opacity:.55}
.ag-tp.on{background:hsl(var(--td));color:hsl(var(--t));box-shadow:0 0 0 1px hsl(var(--t)) inset;opacity:1}
.ag-tp:not(.on){opacity:1}
.ag-v1{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.ag-illisibles{margin:8px 0 0}
.ag-erreur{display:grid;gap:8px;justify-items:start;margin-top:14px}
.ag-corps{margin-top:12px}
.ag-vide{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 14px;color:hsl(var(--ap-doux));font-weight:600}
.ag-jours{display:none}

/* Jour et Liste : des colonnes courtes. */
.ag-liste{border-radius:var(--ap-r-l);background:hsl(var(--ap-carte));box-shadow:0 0 0 1px hsl(var(--ap-trait)) inset;overflow:hidden}
.ag-th,.ag-l{display:grid;grid-template-columns:96px 104px minmax(160px,1.4fr) minmax(140px,1.2fr) minmax(100px,1fr) minmax(120px,.9fr);align-items:center;gap:10px;padding:0 14px}
.ag-th{height:34px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--ap-doux));border-bottom:1px solid hsl(var(--ap-trait))}
.ag-l{width:100%;min-height:52px;border:0;border-bottom:1px solid hsl(var(--ap-trait)/.7);background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}
.ag-l:hover{background:hsl(var(--ap-action-doux)/.45)}
.ag-l.on{background:hsl(var(--ap-action-doux));box-shadow:3px 0 0 hsl(var(--ap-action)) inset}
.ag-l>*{min-width:0}
.ag-h{display:flex;flex-direction:column;font-size:15px;font-weight:700;line-height:1.2}
.ag-h small{font-size:12px;font-weight:600;color:hsl(var(--ap-doux))}
.ag-cl{display:flex;flex-direction:column;line-height:1.25}
.ag-cl b,.ag-vo,.ag-li,.ag-ag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-cl b{font-size:14px;font-weight:600}
.ag-vo-tel{display:none}
.ag-vo,.ag-li,.ag-ag{font-size:13px;color:hsl(var(--ap-doux))}
.ag-ag{display:flex;align-items:center}
.ag-sr{display:none}
.ag-grp{display:flex;align-items:center;gap:8px;padding:8px 14px;font-weight:700;background:hsl(var(--ap-fond)/.7);border-bottom:1px solid hsl(var(--ap-trait))}
.ag-grp.auj{color:hsl(var(--ap-action-fort))}
.ag-grp b{font-size:12px;color:hsl(var(--ap-doux))}

/* Semaine : la grille. */
.ag-sem{border-radius:var(--ap-r-l);background:hsl(var(--ap-carte));box-shadow:0 0 0 1px hsl(var(--ap-trait)) inset;overflow:hidden}
.ag-sem-l{display:grid;grid-template-columns:52px repeat(var(--ag-n),minmax(0,1fr))}
.ag-sem-tete{border-bottom:1px solid hsl(var(--ap-trait))}
.ag-jt{display:flex;align-items:baseline;justify-content:center;gap:6px;height:44px;border:0;border-left:1px solid hsl(var(--ap-trait)/.6);background:none;font:inherit;cursor:pointer;color:hsl(var(--ap-doux))}
.ag-jt small{font-size:12px;font-weight:600;text-transform:uppercase}
.ag-jt b{font-size:18px;color:hsl(var(--ap-encre))}
.ag-jt i{font-style:normal;font-size:12px;font-weight:700;padding:0 6px;border-radius:999px;background:hsl(var(--ap-gris-doux))}
.ag-jt.auj b{color:#fff;background:hsl(var(--ap-action));border-radius:999px;padding:0 7px}
.ag-jt:hover{background:hsl(var(--ap-action-doux)/.5)}
.ag-sem-journee{border-bottom:1px solid hsl(var(--ap-trait));min-height:30px}
.ag-hl{font-size:11px;color:hsl(var(--ap-doux));align-self:center;text-align:center}
.ag-jcell{display:flex;flex-direction:column;gap:2px;padding:3px;border-left:1px solid hsl(var(--ap-trait)/.6);min-width:0}
.ag-sem-grille{max-height:calc(100vh - 290px);min-height:380px;overflow-y:auto;position:relative}
.ag-heures{display:grid;grid-template-rows:repeat(14,var(--ag-ph));height:var(--ag-h)}
.ag-heures span{font-size:11px;color:hsl(var(--ap-doux));text-align:right;padding-right:6px;transform:translateY(-7px)}
.ag-col{position:relative;height:var(--ag-h);display:grid;grid-template-rows:repeat(14,var(--ag-ph));border-left:1px solid hsl(var(--ap-trait)/.6)}
.ag-col.auj{background:hsl(var(--ap-action-doux)/.35)}
.ag-case{border:0;border-top:1px solid hsl(var(--ap-trait)/.55);background:none;cursor:copy;padding:0}
.ag-case:hover{background:hsl(var(--ap-action-doux)/.6)}
.ag-ev{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;overflow:hidden;padding:3px 6px;border:0;border-radius:6px;background:hsl(var(--td,var(--ap-gris-doux)));box-shadow:3px 0 0 hsl(var(--t,var(--ap-doux))) inset;font:inherit;text-align:left;color:hsl(var(--ap-encre));cursor:pointer;line-height:1.2}
.ag-ev:hover,.ag-ev.on{z-index:2;box-shadow:3px 0 0 hsl(var(--t)) inset,0 0 0 2px hsl(var(--t)/.6)}
.ag-ev-j{position:static;width:100%;padding:2px 6px;flex-direction:row;gap:6px;align-items:center}
.ag-ev-1{display:flex;gap:5px;align-items:baseline;font-size:12px;white-space:nowrap}
.ag-ev-1 b{font-weight:700}
.ag-ev-mot{font-weight:700;color:hsl(var(--t))}
.ag-ev-cl{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ag-ev-vo{font-size:11px;color:hsl(var(--ap-doux));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ag-ev.court .ag-ev-vo{display:none}
.ag-ev-j .ag-ev-vo{display:none}
.ag-maint{position:absolute;left:0;right:0;height:2px;background:hsl(var(--ap-rouge));z-index:3;pointer-events:none}
.ag-maint::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:hsl(var(--ap-rouge))}

/* La fiche (volet). */
.ag-vt{flex-wrap:wrap}
.ag-vt .ag-retour{display:none}
.ag-vt .or-vtx{flex:1 1 200px}
.ag-voisines{margin-left:auto}
.ag-fiche{padding:16px 20px;overflow:auto}
.ag-fiche dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 14px;margin:0}
.ag-fiche dt{font-size:13px;font-weight:600;color:hsl(var(--ap-doux))}
.ag-fiche dd{margin:0;font-size:15px;display:flex;align-items:center;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}
.ag-desc{white-space:pre-line;display:block!important}
.ag-doux{color:hsl(var(--ap-doux))}
.ag-lien{border:0;background:none;padding:0;font:inherit;color:hsl(var(--ap-action-fort));text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.ag-gestes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid hsl(var(--ap-trait))}
.ag-sup{color:hsl(var(--ap-rouge))}
.ag-conf{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}

/* La fenêtre de saisie. */
.ag-form{display:grid;gap:10px}
.ag-form input[type=text],.ag-form input[type=search],.ag-form input[type=date],.ag-form input[type=time],.ag-form select,.ag-form textarea{width:100%;min-height:40px;padding:6px 10px;border:1px solid hsl(var(--ap-trait-fort));border-radius:8px;font:inherit;font-size:15px;background:hsl(var(--ap-carte));color:inherit;box-sizing:border-box}
.ag-titre{font-size:17px!important;font-weight:600}
.ag-types{display:flex;flex-wrap:wrap;gap:6px}
.ag-types .ag-tag{cursor:pointer;opacity:.6}
.ag-types .ag-tag.on{opacity:1;box-shadow:0 0 0 1px hsl(var(--t)) inset}
.ag-coche{display:inline-flex;align-items:center;gap:8px;font-size:15px}
.ag-ligne{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ag-ligne:has(.ag-j){grid-template-columns:1.4fr 1fr 1fr}
.ag-ligne label,.ag-sel{display:grid;gap:3px;font-size:12px;font-weight:600;color:hsl(var(--ap-doux))}
.ag-quand{margin-top:-4px}
.ag-chercheur{position:relative;display:block}
.ag-res{display:grid;margin-top:4px;border-radius:8px;box-shadow:0 0 0 1px hsl(var(--ap-trait)) inset;overflow:hidden;background:hsl(var(--ap-carte))}
.ag-res button{min-height:40px;padding:6px 10px;border:0;border-bottom:1px solid hsl(var(--ap-trait)/.6);background:none;font:inherit;text-align:left;cursor:pointer}
.ag-res button:hover{background:hsl(var(--ap-action-doux))}
.ag-res small{padding:8px 10px;color:hsl(var(--ap-doux))}
.ag-relie{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border-radius:8px;background:hsl(var(--ap-gris-doux));font-size:15px}
.ag-relie>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media (max-width:1180px){
  .ag-th,.ag-l{grid-template-columns:84px 96px minmax(140px,1.4fr) minmax(120px,1.2fr) minmax(100px,.9fr)}
  .ag-th>:nth-child(5),.ag-l>.ag-li{display:none}
}

/* Téléphone (≤ 767 px). */
@media (max-width:767px){
  body:has(section.ag) .n1-puce-filtres{display:none!important}
  section.ag .ag-tete{gap:8px}
  section.ag .ag-tete h1{font-size:20px}
  section.ag .ag-nav{order:5;flex:1 1 100%;margin-left:0}
  section.ag .ag-nav .or-btn{height:44px;min-width:44px;font-size:15px}
  section.ag .ag-fl{font-size:22px}
  section.ag .ag-periode{font-size:15px;overflow:hidden;text-overflow:ellipsis;min-width:0}
  section.ag .ag-vues{margin-left:auto}
  section.ag .ag-vue{height:44px;padding:0 14px;font-size:15px}
  section.ag .ag-sem-seul{display:none}
  section.ag .ag-cherche{display:none}
  section.ag .ag-cherche-tel{display:block;flex:1 1 100%;width:auto;margin:0}
  section.ag .ag-cherche-tel input{height:44px;font-size:16px;width:100%}
  section.ag .ag-fbtn{min-height:44px;font-size:15px}
  section.ag .ag-nouveau{min-height:44px;font-size:15px}
  section.ag .ag-filtres{gap:8px}
  section.ag .ag-filtres .ds-puce{min-height:44px;height:auto;font-size:15px}
  section.ag .ag-v1{margin-left:0}
  section.ag .ag-v1 a{min-height:44px;font-size:15px;display:inline-flex;align-items:center}
  section.ag .ag-jours{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;margin-top:10px}
  section.ag .ag-pj{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:2px 0;border:0;border-radius:10px;background:hsl(var(--ap-carte));box-shadow:0 0 0 1px hsl(var(--ap-trait)) inset;font:inherit;color:hsl(var(--ap-doux));cursor:pointer}
  section.ag .ag-pj small{font-size:15px;line-height:1.1}
  section.ag .ag-pj b{font-size:17px;color:hsl(var(--ap-encre));line-height:1.1}
  section.ag .ag-pj i{font-style:normal;font-size:15px;line-height:1.1;font-weight:700;color:hsl(var(--ap-action-fort))}
  section.ag .ag-pj i.vide{color:hsl(var(--ap-doux))}
  section.ag .ag-pj.auj b{color:hsl(var(--ap-action-fort))}
  section.ag .ag-pj.on{background:hsl(var(--ap-action));color:#fff;box-shadow:none}
  section.ag .ag-pj.on :is(b,i,i.vide){color:#fff}
  section.ag .ag-th{display:none}
  section.ag .ag-l{grid-template-columns:62px auto minmax(0,1fr);gap:0 10px;min-height:60px;padding:6px 12px}
  section.ag .ag-l>:is(.ag-vo,.ag-li,.ag-ag){display:none}
  section.ag .ag-h{font-size:16px}
  section.ag .ag-h small{font-size:15px}
  section.ag .ag-tag{font-size:15px;min-height:30px}
  section.ag .ag-cl b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  section.ag .ag-vo-tel{display:block;font-size:15px;color:hsl(var(--ap-doux));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  section.ag .ag-vo-tel:empty{display:none}
  section.ag .ag-grp{font-size:15px;padding:10px 12px}
  section.ag .ag-grp b{font-size:15px}
  section.ag .ag-vide{font-size:15px}
  section.ag .ag-vide .or-btn{min-height:44px;font-size:15px}
  section.ag .ag-volet{width:100vw}
  section.ag .ag-vt{gap:8px 10px;padding:10px 12px}
  section.ag .ag-vt .ag-retour{display:inline-flex;min-height:44px;flex:1 0 100%;justify-content:flex-start;font-size:15px}
  section.ag .ag-vt b{font-size:18px}
  section.ag .ag-vt small{font-size:15px}
  section.ag .ag-voisines{font-size:15px}
  section.ag .ag-voisines .or-btn{min-width:44px;height:44px}
  section.ag .ag-vt .or-x{min-width:44px;min-height:44px}
  section.ag .ag-fiche{padding:12px 14px}
  section.ag .ag-fiche dl{grid-template-columns:96px minmax(0,1fr)}
  section.ag .ag-fiche dt{font-size:15px}
  section.ag .ag-fiche dd{font-size:16px}
  section.ag .ag-gestes .or-btn{min-height:44px;font-size:15px}
  section.ag .ag-boite{width:calc(100vw - 16px)}
  section.ag .ag-form input,section.ag .ag-form select,section.ag .ag-form textarea{min-height:44px!important;font-size:16px!important}
  section.ag .ag-ligne,section.ag .ag-ligne:has(.ag-j){grid-template-columns:1fr 1fr}
  section.ag .ag-ligne .ag-j{grid-column:1/-1}
  section.ag .ag-ligne label,section.ag .ag-sel{font-size:15px}
  section.ag .ag-types .ag-tag{min-height:44px;padding:0 14px}
  section.ag .ag-coche{min-height:44px;font-size:16px}
  section.ag .ag-coche input{width:22px;height:22px}
  section.ag .ag-res button{min-height:44px;font-size:15px}
  section.ag .or-bb .or-btn{min-height:44px;font-size:15px}
}

/* Dans Échanges : la grille prend toute la largeur (`.ce-agenda` de B4 rangeait des cartes) ; les onglets
   internes d'Échanges ne doublent pas ceux de la coque (Équipe › Agenda). */
section.ag .ce-agenda{display:block}
.ce:has(> section.ag) > .ce-tete{display:none}
.ag-court{display:none}
.ag-fiche a.ag-lien{color:hsl(var(--ap-action-fort));text-decoration:underline;text-underline-offset:3px}
.ag .ag-pt{width:9px!important;height:9px!important;min-width:9px;padding:0;border-radius:50%}
@media (max-width:767px){
  section.ag .ag-long{display:none}
  section.ag .ag-court{display:inline}
  section.ag .ag-tete>h1{order:1}
  section.ag .ag-tete>.ag-n{order:2}
  section.ag .ag-tete>.ag-vues{order:3;margin-left:auto}
  section.ag .ag-tete>.ag-fbtn{order:4}
  section.ag .ag-tete>.ag-nav{order:5;flex:1 1 calc(100% - 60px);min-width:0;margin:0}
  section.ag .ag-tete>.ag-nouveau{order:6;min-width:44px;padding:0;font-size:22px}
  section.ag .ag-periode{flex:1 1 auto;text-align:center;margin:0}
}
@media (max-width:767px){
  section.ag .ag-nav>[data-nav="precedent"]{order:1}
  section.ag .ag-nav>.ag-periode{order:2}
  section.ag .ag-nav>[data-nav="suivant"]{order:3}
  section.ag .ag-nav>[data-nav="aujourdhui"]{order:4;padding:0 10px}
}
/* 1er/11 : agenda non relié dans la V1 — un mot et une couleur, la phrase au survol. */
section.ag .ag-etat-mot{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#fdecec;color:#b42318;font-weight:600;font-size:15px;cursor:help}
