/* Calendar controls styled to match the original student portal, not a new brand theme. */
.calendar-panel{background:white;border-radius:19px;padding:15px;margin:12px 0;box-shadow:0 4px 18px #5a47800c}
.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-top strong{text-align:center;text-transform:capitalize}
.calendar-arrow{background:#eee8ff;color:#6248a7;padding:5px 14px;font-size:25px}
.calendar-switch{display:flex;gap:7px;margin:15px 0 12px}.calendar-switch button{flex:1;padding:10px 5px;font-size:13px;background:#eee8ff;color:#6248a7}
.calendar-switch button.chosen{background:#7755dd;color:white}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekday{text-align:center;color:#837991;font-size:11px;padding:8px 0}
.calendar-day{position:relative;min-width:0;min-height:45px;padding:8px 0;background:#f7f5fc;color:#2d2540;font-size:13px;border:1px solid transparent}
.calendar-day.outside{opacity:.35}.calendar-day.selected{background:#7755dd;color:white}.calendar-day.current:not(.selected){border-color:#7755dd}
.calendar-day i{display:block;background:#7755dd;width:5px;height:5px;border-radius:50%;margin:3px auto 0}.calendar-day.selected i{background:white}
#day-title{font-size:19px;text-transform:capitalize;margin:22px 4px 5px}
.student-statuses{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.student-statuses span{font-size:11px;border-radius:9px;padding:7px 9px;background:#f2eff8;color:#837991;font-weight:700}
.student-statuses .on{background:#e6f6ed;color:#247b4d}.student-statuses .cancelled{background:#ffe8ec;color:#a53c55}
.empty-student{text-align:center;color:#837991}#calendar-section[hidden]{display:none}
@media(max-width:360px){.calendar-panel{padding:10px}.calendar-grid{gap:3px}.calendar-day{min-height:40px}}
