/* Créneaux lisibles ; le texte complet est disponible dans les détails. */
.calendar{min-width:1280px}
.calendar-body{--hour-height:90px}
.hours span{height:var(--hour-height)}
.day-column{background-image:repeating-linear-gradient(to bottom,transparent,transparent calc(var(--hour-height) - 1px),#e9eeea calc(var(--hour-height) - 1px),#e9eeea var(--hour-height))}
.course{overflow:hidden;text-align:left;cursor:pointer;padding:8px;display:flex;flex-direction:column;gap:5px;font-family:inherit}
.course time{font-size:10px;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.course strong{font-size:12px;line-height:1.3;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0}
.course .course-location{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.course:hover{filter:brightness(.97)}
.course:focus-visible{outline:2px solid #c29439;outline-offset:-3px}
.course.compact-course{padding:5px;gap:2px}
.compact-course strong{-webkit-line-clamp:1}
.compact-course .course-location{display:none}
.course.personal-course{background-color:#f5e5ef;color:#74415b;box-shadow:inset 3px 0 #af5c87}
.status-row .add-event{padding:10px 14px;background:var(--green);color:white;border-radius:8px;font-weight:600}
.status-row .add-event+a{margin-left:0}
.event-dialog{border:1px solid var(--line);border-radius:18px;padding:25px;color:var(--ink);background:white;width:min(520px,calc(100vw - 32px));max-height:80svh;overflow:auto;box-shadow:0 25px 90px #172c2940}
.event-dialog::backdrop{background:#152d2966;backdrop-filter:blur(3px)}
.event-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}
.event-dialog-heading button{width:36px;height:36px;border:0;border-radius:50%;background:var(--paper);font-size:25px;color:var(--muted)}
.event-dialog h2{overflow-wrap:anywhere;line-height:1.3}
.event-dialog p{line-height:1.6;overflow-wrap:anywhere}
.event-description{white-space:pre-wrap;border-top:1px solid var(--line);padding-top:15px}
.delete-event{border:1px solid #e6b8b8;border-radius:8px;background:#fff5f5;color:#9b3939;padding:11px;margin-top:15px}
.event-workspace{max-width:800px}
.event-form{border:1px solid var(--line);border-radius:14px;padding:25px;background:#fff;margin-top:25px}
.event-form label{display:block;margin:16px 0 8px;font-size:12px;font-weight:600}
.event-form input,.event-form textarea{width:100%;min-width:0;border:1px solid #b9c6bb;border-radius:8px;padding:12px;background:white;color:var(--ink);font:inherit;font-size:16px}
.event-form textarea{resize:vertical}
.event-form-dates{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.event-form-dates>div{min-width:0}
.event-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin-top:24px}
.event-form-actions .primary{width:auto;text-align:center}
.admin-workspace{max-width:600px}
.admin-note{font-size:12px;margin:12px 0 0}
.admin-unlock-link{display:inline-block}
@media(max-width:600px){.event-form{padding:18px}.event-form-dates{grid-template-columns:1fr;gap:0}.event-dialog{padding:20px}.status-row .add-event{margin-left:0}.event-form-actions{gap:14px}}
