.school-timetable-scroll{max-width:100%;overflow:auto;margin-block:12px;border:1px solid #e3ddec;border-radius:12px;background:#faf8fd;isolation:isolate}
.school-timetable{width:100%;border-collapse:separate;border-spacing:0;min-width:max-content;color:#202039;font-size:.86rem}
.school-timetable :is(th,td){padding:5px;border-inline-end:1px solid #e9e3ef;border-block-end:1px solid #e9e3ef;text-align:center;vertical-align:top}
.school-timetable th{background:#f1edf6;padding:10px 8px;white-space:nowrap;font-weight:800}
.school-timetable th[scope=row]{position:sticky;inset-inline-start:0;z-index:1;vertical-align:middle}
.school-timetable td{min-width:91px}
.school-timetable-empty{color:#706980;vertical-align:middle!important}
.school-timetable-lesson{display:grid;gap:2px;width:100%;margin:0 0 4px;padding:7px 6px;border:0;border-radius:7px;text-align:center;color:#202039;background:hsl(var(--subject-hue) 68% 91%);font:inherit}
.school-timetable-lesson:last-child{margin-bottom:0}
.school-timetable-lesson strong{font-weight:800}
.school-timetable-lesson :is(span,bdi){font-size:.75rem;color:#403752}
.school-timetable-lesson bdi{white-space:nowrap}
button.school-timetable-lesson{cursor:pointer}
button.school-timetable-lesson:is(:focus-visible,:hover){outline:2px solid #7540a0;outline-offset:-2px}

/* Compact timetable with a visible boundary between each school day. */
.school-timetable{font-size:.78rem}
.school-timetable td{min-width:76px;max-width:180px}
.school-timetable :is(th,td){padding:4px}
.school-timetable thead th{padding:8px 6px}
.school-timetable tbody tr+tr>:is(th,td){border-block-start:5px solid #fff}
.school-timetable tbody tr:nth-child(even)>td{background:#f2f0f7}
.school-timetable th[scope=row]{border-inline-end:3px solid #d5c4e5;min-width:68px;color:#4a3063}
.school-timetable tbody tr:nth-child(even)>th{background:#e9e1f1}
.school-timetable-lesson{padding:5px 4px;gap:1px;line-height:1.45}
.school-timetable-lesson :is(span,bdi){font-size:.68rem;line-height:1.45}
.school-timetable-scroll:focus-visible{outline:2px solid #7540a0;outline-offset:3px}
@media(pointer:coarse){button.school-timetable-lesson{min-height:44px}}

.schedule-teacher-chips{display:flex;flex-wrap:wrap;gap:6px;margin-block:7px}
.schedule-workspace .schedule-teacher-chip{min-height:36px;padding:5px 9px;background:#eeeaf5;border-color:#e0d7ec;color:#382050;border-radius:7px}
.schedule-teacher-chip>span:last-child{font-size:19px;line-height:1;margin-inline-start:5px}
.school-timetable tbody tr:nth-child(4n+1)>td{background:#fcf9f0}
.school-timetable tbody tr:nth-child(4n+2)>td{background:#eef7fb}
.school-timetable tbody tr:nth-child(4n+3)>td{background:#f5f0fa}
.school-timetable tbody tr:nth-child(4n+4)>td{background:#eef8f1}
.school-timetable tbody tr:nth-child(4n+1)>th{background:#f2e8cc;border-inline-end-color:#cfa64e}
.school-timetable tbody tr:nth-child(4n+2)>th{background:#dbeef7;border-inline-end-color:#71afc8}
.school-timetable tbody tr:nth-child(4n+3)>th{background:#e8ddf4;border-inline-end-color:#ad8acd}
.school-timetable tbody tr:nth-child(4n+4)>th{background:#dcefe2;border-inline-end-color:#7ab08c}

.school-timetable{min-width:640px;table-layout:fixed}
.school-timetable td{min-width:0;max-width:none;overflow-wrap:anywhere}
.school-timetable th[scope=row]{min-width:0;width:64px}
.school-timetable thead th:first-child{width:64px}
.school-timetable thead th{white-space:normal;font-size:.72rem}
.school-timetable-lesson{font-size:.73rem}
.school-timetable-lesson :is(span,bdi){font-size:.64rem}
.schedule-view-class .school-timetable,.schedule-view-edit .school-timetable{min-width:590px;font-size:.73rem}
.schedule-view-class .school-timetable :is(th,td),.schedule-view-edit .school-timetable :is(th,td){padding:3px}
@media(max-width:600px){.school-timetable{min-width:600px}}
.school-timetable tbody tr:nth-child(5)>td{background:#fff0f1}
.school-timetable tbody tr:nth-child(5)>th{background:#f6dfe4;border-inline-end-color:#c78396}
.school-timetable tbody tr:nth-child(6)>td{background:#edf5f5}
.school-timetable tbody tr:nth-child(6)>th{background:#d6e9e8;border-inline-end-color:#6ba5a2}
.school-timetable tbody tr:nth-child(7)>td{background:#f3f1e9}
.school-timetable tbody tr:nth-child(7)>th{background:#e8e3cc;border-inline-end-color:#a99c64}
.school-timetable-lesson+.school-timetable-lesson{border-top:3px solid #fff;margin-top:5px;box-shadow:0 -1px 0 #cbbdda}
.school-timetable td.school-timetable-shared{vertical-align:middle;background:#f4edf9!important;border:2px solid #b59acb}
.school-timetable-shared .school-timetable-lesson{padding-block:14px}
.school-shared-classes{font-weight:700;color:#583379!important;padding:4px;border-top:1px solid #ffffff90;margin-top:5px}
.school-timetable td.school-timetable-shared{position:relative;min-height:120px}
.school-timetable-shared>.school-timetable-lesson{position:absolute;inset:4px;width:auto;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto}
.schedule-week-day{margin-block:18px 24px;border:1px solid #dcd0e7;padding:10px;border-radius:12px;background:#fcfafd}
.schedule-week-day>h4{margin:0;padding:8px 12px;border-radius:8px;background:#eee5f6;color:#50336d}
