.calendrier{width:100%;display:block;position:relative}.calendrier-bouton{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-primary);font-family:var(--font-body);text-align:left;cursor:pointer;align-items:center;gap:.6rem;padding:.6rem .85rem;font-size:.92rem;transition:border-color .18s;display:flex}.calendrier-bouton:hover{border-color:var(--border-hover)}.calendrier-bouton:focus-visible{border-color:var(--accent-primary);box-shadow:inset 0 -2px 0 0 var(--accent-primary);outline:none}[data-ouvert=oui] .calendrier-bouton{border-color:var(--accent-primary)}.calendrier-icone{width:17px;height:17px;color:var(--text-muted);flex-shrink:0;display:flex}.calendrier-icone svg{width:100%;height:100%}[data-ouvert=oui] .calendrier-icone{color:var(--accent-primary)}.calendrier-valeur{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1;min-width:0;overflow:hidden}.calendrier-valeur.vide{color:var(--text-muted)}.calendrier-panneau{z-index:400;background:var(--bg-flottant);border:1px solid var(--border-color);border-top:2px solid var(--accent-primary);border-radius:var(--radius-sm);width:300px;color:var(--text-primary);padding:.85rem;position:fixed;box-shadow:0 16px 36px #0006}[data-theme=light] .calendrier-panneau{box-shadow:0 14px 30px #2a1b542b}.calendrier-entete{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.calendrier-mois{font-family:var(--font-heading);text-transform:capitalize;font-size:.95rem;font-weight:700}.calendrier-fleche{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .16s,color .16s;display:flex}.calendrier-fleche svg{width:15px;height:15px}.calendrier-fleche:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.calendrier-jours,.calendrier-grille{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendrier-jours{margin-bottom:.3rem}.calendrier-jours span{text-align:center;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:.25rem 0;font-size:.7rem;font-weight:700}.calendrier-case{border-radius:var(--radius-sm);min-height:36px;color:var(--text-secondary);font-family:var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;padding:0;font-size:.85rem;transition:background .14s,color .14s}.calendrier-case:hover{background:color-mix(in srgb, var(--accent-primary) 14%, transparent);color:var(--text-primary)}.calendrier-case[data-hors-mois=oui]{color:var(--text-muted);opacity:.45}.calendrier-case[data-aujourdhui=oui]{border-color:var(--border-hover);font-weight:700}.calendrier-case[data-retenu=oui]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:700}.calendrier-case:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.calendrier-heure{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.8rem;padding-top:.75rem;display:flex}.calendrier-heure label{color:var(--text-secondary);font-size:.8rem}.calendrier-champ-heure{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:122px;min-height:38px;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:.35rem .55rem;font-size:.85rem}.calendrier-champ-heure:focus-visible{border-color:var(--accent-primary);outline:none}.calendrier-pied{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.7rem;display:flex}.calendrier-action{border:1px solid var(--border-color);border-radius:var(--radius-sm);min-height:36px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:0 0;padding:.4rem .75rem;font-size:.82rem;transition:border-color .16s,color .16s}.calendrier-action:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.calendrier-action-forte{border-color:var(--accent-primary);color:var(--accent-primary);font-weight:600}@media (prefers-reduced-motion:reduce){.calendrier-bouton,.calendrier-case,.calendrier-fleche,.calendrier-action{transition:none}}.calendrier-bouton{min-width:0}.calendrier-bouton>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
