/* ===== Calendrier : vues Semaine / 2 semaines / Liste (27 sept. 2026) ===== */
.cal-vues{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;}
.cal-vues button{border:0;background:var(--surface);padding:0 11px;height:34px;font-weight:600;font-size:12.5px;font-family:inherit;color:var(--text-secondary);cursor:pointer;}
.cal-vues button + button{border-left:1px solid var(--border);}
.cal-vues button.on{background:var(--text-primary);color:var(--surface);}
#cal-agenda[hidden],.cal-grid[hidden]{display:none;}
.cal-ag{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;overflow-y:hidden;background:var(--surface);user-select:none;-webkit-user-select:none;}
.cal-ag-row{display:grid;grid-template-columns:var(--cols);}
.cal-ag-tete{position:sticky;top:0;z-index:4;background:var(--surface-2);}
.cal-ag-coin{background:var(--surface-2);}
.cal-ag-hd{text-align:center;padding:8px 2px;border-left:1px solid var(--border);background:var(--surface-2);cursor:pointer;line-height:1.25;}
.cal-ag-hd:hover{background:var(--surface-hover);}
.cal-ag-hd small{display:block;font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
.cal-ag-hd b{font-size:16px;color:var(--text-primary);}
.cal-ag-hd.auj b{background:var(--navy);color:#fff;border-radius:7px;padding:0 7px;}
.cal-ag-hd.cf small{color:var(--critical);}
.cal-ag-journee{border-top:1px solid var(--border);min-height:28px;}
.cal-ag-lab{font-size:10px;color:var(--text-muted);text-align:right;padding:7px 6px 0 0;}
.cal-ag-cell{border-left:1px solid var(--border);padding:3px 4px;display:flex;flex-direction:column;gap:3px;min-width:0;}
.cal-ag-pill{font-size:11.5px;font-weight:600;border-radius:6px;padding:3px 7px;border-left:3px solid;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.cal-ag-grille{border-top:1px solid var(--border);}
.cal-ag-l{height:var(--h);border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);}
.cal-ag-hcol .cal-ag-l{border-top:0;font-size:10.5px;color:var(--text-muted);text-align:right;padding:3px 6px 0 0;}
.cal-ag-col{border-left:1px solid var(--border);position:relative;min-width:0;}
.cal-ag-col.we{background:var(--surface-2);}
.cal-ag-col .cal-ag-l{cursor:pointer;}
.cal-ag-b{position:absolute;border-radius:7px;padding:4px 7px;font-size:11px;line-height:1.3;overflow:hidden;border-left:3px solid;cursor:pointer;z-index:1;transition:box-shadow .15s;}
.cal-ag-b:hover{box-shadow:0 6px 16px -6px rgba(15,24,48,.3);z-index:2;}
.cal-ag-b .cal-ag-h{display:block;font-weight:600;font-size:10.5px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-ag-b b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-ag-b small{display:block;color:var(--text-secondary);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-ag-b.court{padding:2px 7px;display:flex;align-items:center;}
.cal-ag-b.court b{font-size:11.5px;}
.cal-ag-b.court b span{font-weight:600;opacity:.85;}
.cal-ag-b.cf,.cal-ag-pill.cf{box-shadow:0 0 0 1.5px var(--critical);}
.cal-ag-b.annule,.cal-ag-pill.annule,.db-lj-e.annule{opacity:.55;text-decoration:line-through;}
.cal-ag-maint{position:absolute;left:0;right:0;border-top:2px solid var(--critical);z-index:3;pointer-events:none;}
.cal-ag-maint::before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--critical);}
.cal-ag-fantome{position:absolute;left:3px;right:3px;border:2px dashed var(--blue);border-radius:7px;color:var(--blue);font-size:11px;font-weight:600;padding:3px 7px;background:var(--blue-tint);pointer-events:none;}
.cal-liste{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);}
.cal-mois-band{position:sticky;top:var(--cal-top,0px);z-index:3;background:var(--surface-2);color:var(--text-primary);font-weight:700;font-size:13px;padding:7px 16px;border-bottom:1px solid var(--border);}
.cal-liste > .cal-mois-band:first-child{border-radius:var(--radius) var(--radius) 0 0;}
.cal-liste .cal-mois-band + .db-lj{border-top:0;}
.cal-liste .db-lj:first-child{border-top:0;}
.cal-liste .db-lj.auj{background:color-mix(in srgb,var(--blue-tint) 55%,transparent);}
@media (max-width:700px){
  #view-calendrier .section-head-actions{flex-wrap:wrap;}
  .cal-vues button{padding:0 9px;height:32px;font-size:12px;}
  .cal-liste .db-lj{grid-template-columns:58px minmax(0,1fr);padding:10px 12px;}
}
/* Téléphone : colonnes larges, en-tête et heures collants (maquette validée, 27 sept.) */
.cal-ag.mob{max-height:calc(100vh - var(--cal-top,0px) - 16px);max-height:calc(100dvh - var(--cal-top,0px) - 16px);overflow:auto;-webkit-overflow-scrolling:touch;}
.cal-ag.mob .cal-ag-coin,.cal-ag.mob .cal-ag-lab{position:sticky;left:0;z-index:5;background:var(--surface-2);}
.cal-ag.mob .cal-ag-hcol{position:sticky;left:0;z-index:3;background:var(--surface);}
.cal-ag-mois{position:sticky;left:0;display:inline-block;padding:7px 12px;font-weight:700;font-size:13px;color:var(--text-primary);}
@media (max-width:700px){
  #view-calendrier .section-head-actions{flex-wrap:nowrap;gap:6px;}
  #view-calendrier .section-head-actions .btn-pl{display:none;}
  #cal-mois-prec,#cal-mois-suiv{min-width:38px;padding-left:12px;padding-right:12px;}
  #view-calendrier .cal-vues{margin-left:auto;}
}
