.schedule-admin-page{background:radial-gradient(circle at 10% 0%, color-mix(in oklab, var(--blue) 12%, transparent), transparent 28rem), var(--paper);min-height:100vh;color:var(--ink);padding:72px clamp(16px,3vw,48px) 120px}.schedule-admin-gate{max-width:620px;padding-block:80px 110px}.schedule-admin-gate h1,.schedule-admin-toolbar h1{letter-spacing:-.055em;margin:10px 0 12px;font-size:clamp(42px,6vw,78px);line-height:.91}.schedule-admin-gate h1 em,.schedule-admin-toolbar h1 em{font-family:Georgia,serif;font-weight:400}.schedule-admin-toolbar{z-index:20;border:2px solid var(--ink);background:color-mix(in oklab, var(--paper) 94%, white);max-width:1600px;box-shadow:8px 8px 0 var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 32px;margin:0 auto;padding:22px 24px;display:grid;position:sticky;top:0}.schedule-admin-toolbar h1{font-size:clamp(34px,4vw,58px)}.schedule-admin-toolbar p{max-width:72ch;margin:0;line-height:1.55}.schedule-admin-kicker{letter-spacing:.16em;flex-wrap:wrap;gap:10px 18px;font-size:10px;font-weight:900;display:flex}.schedule-admin-kicker a{color:var(--ink)}.schedule-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.schedule-admin-actions button,.schedule-admin-help button{border:2px solid var(--ink);background:var(--paper);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:8px 12px;font:800 11px/1 inherit}.schedule-admin-actions button:hover,.schedule-admin-help button:hover{background:var(--yellow)}.schedule-admin-actions button:disabled{cursor:not-allowed;opacity:.35}.schedule-save-state{letter-spacing:.13em;text-transform:uppercase;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:7px;font-size:10px;font-weight:900;display:flex}.schedule-save-state span{border:1px solid var(--ink);background:#b7b0a4;border-radius:50%;width:9px;height:9px}.schedule-save-state.is-saving span{background:var(--yellow);animation:.8s infinite alternate schedule-pulse}.schedule-save-state.is-saved span{background:#60a56f}.schedule-save-state.is-error span{background:#c74d42}@keyframes schedule-pulse{to{transform:scale(1.45)}}.schedule-admin-help{border-left:5px solid var(--blue);background:color-mix(in oklab, var(--blue) 8%, var(--paper));flex-wrap:wrap;align-items:center;gap:8px 14px;max-width:1600px;margin:26px auto 0;padding:13px 16px;font-size:14px;display:flex}.schedule-admin-help strong{letter-spacing:.06em;text-transform:uppercase}.schedule-color-key{letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:8px 13px;margin-left:auto;font-size:9px;font-weight:900;display:flex}.schedule-color-key span{align-items:center;gap:5px;display:inline-flex}.schedule-color-key i{border:1px solid var(--ink);width:12px;height:12px}.schedule-color-key .is-expository{background:color-mix(in oklab, #56805b 58%, var(--paper))}.schedule-color-key .is-video{background:#39a9db}.schedule-color-key .is-one-off{background:color-mix(in oklab, #76519a 42%, var(--paper))}.schedule-color-key .is-guest{background:color-mix(in oklab, #b74f49 42%, var(--paper))}.schedule-calendar{gap:36px;max-width:1600px;margin:32px auto 0;display:grid}.schedule-month{border:2px solid var(--ink);background:var(--paper);box-shadow:8px 8px 0 color-mix(in oklab, var(--ink) 17%, transparent);scroll-margin-top:200px}.schedule-month>header{border-bottom:2px solid var(--ink);background:var(--ink);color:var(--paper);align-items:baseline;gap:12px;padding:17px 20px 14px;display:flex}.schedule-month>header span{opacity:.65;font:700 13px/1 Georgia,serif}.schedule-month>header h2{letter-spacing:-.035em;margin:0;font:italic 36px/1 Georgia,serif}.schedule-weekdays,.schedule-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.schedule-weekdays{border-bottom:1px solid color-mix(in oklab, var(--ink) 30%, transparent);background:color-mix(in oklab, var(--ink) 5%, var(--paper))}.schedule-weekdays span{letter-spacing:.15em;padding:8px 10px;font-size:9px;font-weight:900}.schedule-day{border-right:1px solid color-mix(in oklab, var(--ink) 20%, transparent);border-bottom:1px solid color-mix(in oklab, var(--ink) 20%, transparent);background:color-mix(in oklab, var(--paper) 92%, white);min-height:122px;padding:9px;transition:background .15s,box-shadow .15s;position:relative}.schedule-day:nth-child(7n){border-right:0}.schedule-day.is-empty{background:color-mix(in oklab, var(--ink) 5%, var(--paper))}.schedule-day.is-sunday{background:color-mix(in oklab, var(--blue) 7%, var(--paper));min-height:210px}.schedule-day.is-today{box-shadow:inset 0 0 0 3px var(--yellow)}.schedule-day.is-drop-target{background:color-mix(in oklab, var(--yellow) 60%, var(--paper));box-shadow:inset 0 0 0 4px var(--ink)}.schedule-day.is-shift-preview .schedule-lesson{animation:.2s ease-out both schedule-shift-preview}.schedule-day.is-drop-target .schedule-lesson{outline:3px solid var(--ink);outline-offset:3px}@keyframes schedule-shift-preview{0%{opacity:.45;transform:translateY(-18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.schedule-day-number{opacity:.55;margin-bottom:7px;font:700 12px/1 Georgia,serif;display:block}.schedule-open-sunday{text-align:center;letter-spacing:.14em;opacity:.35;margin-top:54px;font-size:9px;font-weight:900;display:block}.schedule-lesson{cursor:grab;-webkit-user-select:none;user-select:none;gap:9px;display:grid;position:relative}.schedule-lesson:active{cursor:grabbing}.schedule-lesson.is-expository,.schedule-lesson.is-video{border:2px solid var(--ink);padding:7px}.schedule-lesson.is-expository{background:color-mix(in oklab, #56805b 35%, var(--paper))}.schedule-lesson.is-video{background:color-mix(in oklab, #39a9db 38%, var(--paper))}.schedule-lesson img,.schedule-lesson-image{aspect-ratio:16/8.5;border:1px solid var(--ink);object-fit:cover;filter:saturate(.8)contrast(1.02);width:100%}.schedule-lesson>div>span{letter-spacing:.09em;text-transform:uppercase;opacity:.58;margin-bottom:4px;font-size:8px;font-weight:900;line-height:1.3;display:block}.schedule-lesson>div>.schedule-lesson-position{background:var(--ink);width:fit-content;color:var(--paper);letter-spacing:.11em;opacity:1;margin:0 0 7px;padding:4px 6px 3px;font-size:7px}.schedule-lesson strong{font-size:clamp(12px,1vw,15px);line-height:1.12;display:block}.schedule-lesson em{opacity:.65;margin-top:4px;font:italic 11px/1.25 Georgia,serif;display:block}.schedule-lesson>b{letter-spacing:-3px;background:#f5f1e8d1;padding:2px 4px;font-size:11px;position:absolute;top:6px;right:5px}.schedule-day.is-sunday{cursor:pointer}.schedule-day.is-expository-night{background:color-mix(in oklab, #56805b 29%, var(--paper))}.schedule-day.is-video-night{background:color-mix(in oklab, #39a9db 32%, var(--paper))}.schedule-day.has-one-off{background:color-mix(in oklab, #76519a 16%, var(--paper))}.schedule-day.is-guest-teaching{background:color-mix(in oklab, #b74f49 15%, var(--paper))}.schedule-day.is-break{background:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--blue) 13%, var(--paper)) 0 9px, color-mix(in oklab, var(--blue) 5%, var(--paper)) 9px 18px)}.schedule-open-sunday{width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0}.schedule-open-sunday:hover{opacity:.8}.schedule-break-card,.schedule-one-off{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);gap:6px;margin-top:16px;padding:16px 12px 14px;display:grid;position:relative}.schedule-break-card{background:color-mix(in oklab, var(--blue) 17%, var(--paper))}.schedule-one-off{background:color-mix(in oklab, #76519a 23%, var(--paper))}.schedule-one-off.is-guest-teaching{background:color-mix(in oklab, #b74f49 25%, var(--paper))}.schedule-break-card>span,.schedule-one-off>span{letter-spacing:.15em;font-size:8px;font-weight:900}.schedule-break-card strong,.schedule-one-off strong{font:700 17px/1.08 Georgia,serif}.schedule-break-card small,.schedule-one-off small,.schedule-one-off em{opacity:.7;font:italic 11px/1.3 Georgia,serif}.schedule-break-card>button,.schedule-one-off>button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1;position:absolute;top:5px;right:6px}.schedule-modal-backdrop{z-index:100;background:#14120ead;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.schedule-modal{border:2px solid var(--ink);background:var(--paper);width:min(620px,100%);box-shadow:12px 12px 0 var(--ink);padding:34px;position:relative}.schedule-modal h2{letter-spacing:-.035em;margin:7px 0 12px;font:italic 700 clamp(30px,5vw,46px)/1 Georgia,serif}.schedule-modal>p:not(.overline){margin:0 0 24px;line-height:1.55}.schedule-modal form,.schedule-modal label{gap:8px;display:grid}.schedule-modal form{gap:18px}.schedule-modal label{letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.schedule-modal input,.schedule-modal select,.schedule-modal textarea{border:2px solid var(--ink);width:100%;color:var(--ink);letter-spacing:normal;text-transform:none;background:#fff;border-radius:0;padding:11px 12px;font:500 16px/1.3 inherit}.schedule-modal textarea{resize:vertical}.schedule-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.schedule-modal-actions{justify-content:flex-end;gap:9px;margin-top:6px;display:flex}.schedule-modal-actions button{border:2px solid var(--ink);background:var(--paper);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:10px 13px;font:900 10px/1 inherit}.schedule-modal-actions button[type=submit]{background:var(--yellow)}.schedule-modal-close{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:10px;right:12px}@media (width<=600px){.schedule-form-row{grid-template-columns:1fr}.schedule-modal{padding:28px 22px}}@media (width<=980px){.schedule-admin-page{padding-inline:12px;overflow-x:auto}.schedule-admin-toolbar{grid-template-columns:1fr;min-width:900px;position:relative}.schedule-admin-actions{justify-content:flex-start}.schedule-calendar,.schedule-admin-help{min-width:900px}}@media (prefers-reduced-motion:reduce){.schedule-save-state.is-saving span,.schedule-day.is-shift-preview .schedule-lesson{animation:none}}
