/* One palette for student availability and coach/school scheduling. */
:is(.student-day[data-date],.month-cell.schedule-day){background:#eff9f4;border-color:#dbeee6;color:#477863}
:is(.student-day[data-date],.month-cell.schedule-day).is-weekend{background:#f0f5ff;border-color:#dce6fa;color:#577fbd}
:is(.student-day[data-date],.month-cell.schedule-day).is-holiday{background:#fff2e5;border-color:#f5dbc0;color:#a57543}
:is(.student-day[data-date],.month-cell.schedule-day).status-rest{background:#eef1f5;border-color:#d7e0e9;color:#718094}
:is(.student-day[data-date],.month-cell.schedule-day).status-leave{background:#f4edfc;border-color:#e5d6f6;color:#906bb2}
:is(.student-day[data-date],.month-cell.schedule-day):is(.status-past,.status-unopened,.status-closed,.status-expired,.status-limit,.status-full,.status-ended){background:#f8fafc;border-color:#e8eef4;color:#9baab9}
:is(.student-day[data-date],.month-cell.schedule-day).is-weekend:is(.status-past,.status-unopened,.status-expired,.status-full,.status-limit,.status-ended){background:#f5f7fc;color:#98aac7}
:is(.student-day[data-date],.month-cell.schedule-day).is-holiday:is(.status-past,.status-unopened,.status-expired,.status-full,.status-limit,.status-ended){background:#fff7ef;color:#bca488}
:is(.student-day[data-date],.month-cell.schedule-day).is-today{box-shadow:inset 0 0 0 1px #5c9edf}
:is(.student-day[data-date],.month-cell.schedule-day):disabled{opacity:1}
.student-day .holiday-name,.schedule-day .holiday-name{display:block;min-height:1.3em;max-width:100%;font-size:12px;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.student-day .day-availability{line-height:1.3}
.student-day:has(.holiday-name){gap:5px;min-height:99px}
.month-cell.schedule-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:99px;text-align:center;padding:10px 2px}
.schedule-day .day-availability{font-size:13px;margin:0;line-height:1.3}
.schedule-day strong{font:600 23px/1.2 system-ui,sans-serif}
.calendar-color-key{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:18px;font-size:13px;color:#7b91a6}
.calendar-color-key span{display:flex;gap:6px;align-items:center;white-space:nowrap}
.calendar-color-key i{display:inline-block;width:9px;height:9px;border-radius:3px}
:is(.calendar-color-key,.student-calendar-key) .key-available{background:#85c9a8}
:is(.calendar-color-key,.student-calendar-key) .key-weekend{background:#8babe2}
:is(.calendar-color-key,.student-calendar-key) .key-holiday{background:#e6b476}
:is(.calendar-color-key,.student-calendar-key) .key-rest{background:#9cabbc}
:is(.calendar-color-key,.student-calendar-key) .key-leave{background:#b399d0}
:is(.calendar-color-key,.student-calendar-key) .key-closed{background:#dce4ed}
:is(.calendar-color-key,.student-calendar-key) .key-exam{background:#e9a2a2}
:is(.student-day[data-date],.month-cell.schedule-day).is-exam{background:#fff0f0;border-color:#edc3c3;color:#a85454}
:is(.student-day[data-date],.month-cell.schedule-day).is-exam .exam-label{color:#c84242;font-weight:600}
.exam-label{display:block;font-size:12px;line-height:1.35;text-align:center;max-width:100%;overflow-wrap:anywhere;color:#c84242}
.is-exam .holiday-name:empty{display:none}
@media(max-width:760px){
 .student-day:has(.holiday-name),.month-cell.schedule-day{min-height:83px;gap:4px;padding:9px 1px}
 .student-day .holiday-name,.schedule-day .holiday-name{font-size:11px}
 .schedule-day .day-availability{font-size:12px;letter-spacing:-.3px}
 .schedule-day strong{font-size:21px}
 .calendar-color-key{gap:8px 13px;font-size:12px}
 .exam-label{font-size:11px;letter-spacing:-.5px}
}
@media(max-width:350px){.student-day .holiday-name,.schedule-day .holiday-name{font-size:10px}.schedule-day .day-availability{font-size:11px}.schedule-day strong{font-size:19px}}
@media(max-width:350px){.exam-label{font-size:11px;letter-spacing:0}.exam-label>span{display:block}}
.schedule-slot-settings{margin:18px 0}
.schedule-slot-period{min-width:0;border:1px solid #dce7ed;background:#f7fafc;border-radius:13px;padding:12px;margin:0 0 12px}
.schedule-slot-period legend{padding:0 7px;color:#3b627a;font-weight:650;font-size:15px}
.schedule-slot-period legend small{font-weight:400;font-size:11px;color:#8297a5;margin-left:10px}
.schedule-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.schedule-slot{position:relative;cursor:pointer;min-width:0}
.schedule-slot input{position:absolute;opacity:0;width:1px;height:1px}
.schedule-slot>span{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #dfe7ec;border-radius:9px;padding:10px 2px;background:white;color:#8998a2}
.schedule-slot strong{font-size:17px;font-variant-numeric:tabular-nums}.schedule-slot small{font-size:11px}
.schedule-slot input:checked+span{border-color:#8bb6c8;background:#eaf5f8;color:#326a83;box-shadow:inset 0 -2px 0 #75a5b8}
.schedule-slot input:focus-visible+span{outline:3px solid #70a5bc;outline-offset:2px}
.schedule-slot input:disabled+span{background:#f0f2f5;border-color:#cbd4db;color:#677b8d;box-shadow:none;cursor:not-allowed}
.student-daily-limit{margin:0 0 16px;background:#edf6fa;border-radius:8px;padding:9px 12px;color:#4b7187}
@media(max-width:400px){.schedule-slot-period{padding:10px 8px}.schedule-slot-grid{gap:5px}.schedule-slot strong{font-size:15px}.schedule-slot small{font-size:10px}.schedule-slot-period legend small{margin-left:6px;font-size:10px}}
