.schedule-page{background:linear-gradient(180deg,#fffdf8,#f7f3eb)}
.upcoming-schedule-section{background:#f7f3eb}.upcoming-schedule-section .section-title>p:last-child{margin-top:14px;color:var(--ink-soft)}
.upcoming-schedule-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.upcoming-schedule-list a{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 32px rgba(64,55,47,.07)}.upcoming-schedule-list time{grid-row:span 2;display:grid;text-align:center}.upcoming-schedule-list time strong{font-size:1.2rem}.upcoming-schedule-list time small{color:var(--ink-soft)}.upcoming-schedule-list .badge{width:max-content}.upcoming-schedule-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-schedule-list i{display:none}.schedule-all-link{display:flex;width:max-content;margin:26px auto 0}
.schedule-page .section-title{margin-bottom:26px}.schedule-page .section-title h1{font-size:clamp(2rem,4vw,3.4rem)}
.schedule-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.schedule-legend .badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:7px;font-size:.82rem;font-weight:800;line-height:1.2}
.calendar-panel{padding:clamp(14px,3vw,28px);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.fc{--fc-border-color:#e9e1d5;--fc-button-bg-color:#40372f;--fc-button-border-color:#40372f;--fc-button-hover-bg-color:#6b5c50;--fc-today-bg-color:rgba(246,217,121,.3);color:var(--primary)}
.fc .fc-toolbar-title{font-size:clamp(1.2rem,2.5vw,1.75rem);font-weight:900}.fc .fc-button{font-weight:800}.fc .fc-daygrid-day-frame{min-height:112px}.fc .fc-daygrid-day-number{padding:8px;font-weight:800}.fc .fc-daygrid-event{min-height:25px;margin-top:3px;white-space:normal}.fc .fc-event-main{display:flex;align-items:center;min-height:23px}.fc .fc-event-title{display:block;overflow:visible;padding:3px 5px;line-height:1.3;white-space:normal;word-break:keep-all}.fc-event{cursor:pointer;border-radius:6px;font-weight:800}.fc-event.bg-warning,.fc-event.bg-info{color:#302820!important}
.lesson-week-caption{display:block;overflow:hidden;padding:1px 3px;text-overflow:ellipsis;white-space:nowrap}.lesson-form-help{margin:0;padding:10px 12px;border-radius:10px;background:#f3f7ff;color:#42546b;font-size:.86rem}.lesson-only[hidden],.detail-only[hidden]{display:none!important}
.calendar-panel,#publicScheduleCalendar,#adminScheduleCalendar,.fc,.fc .fc-view-harness,.fc .fc-daygrid{min-width:0;max-width:100%}.fc .fc-scroller{height:auto!important;overflow:visible!important}.fc .fc-scrollgrid,.fc .fc-col-header,.fc .fc-daygrid-body,.fc .fc-scrollgrid-sync-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
.schedule-modal .modal-content{border:0;border-radius:26px}.schedule-modal .modal-body{padding:34px}.schedule-modal h2{margin:14px 0;font-size:1.7rem}.schedule-modal-date{color:var(--ink-soft);font-weight:800}.schedule-modal #scheduleModalDescription{white-space:pre-line}
.schedule-admin-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:24px;align-items:start;margin-top:30px}.schedule-editor{position:sticky;top:24px}.schedule-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.schedule-editor-heading h2{font-size:1.8rem}.schedule-form{grid-template-columns:repeat(2,minmax(0,1fr));}.schedule-form .full{grid-column:1/-1}
.schedule-admin-calendar-column{min-width:0}.schedule-admin-calendar-column>.multi-date-toolbar{margin:0 0 14px}.schedule-admin-calendar-column>.schedule-legend{margin-bottom:14px}.admin-calendar-panel{padding:clamp(14px,3vw,28px);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.admin-page #adminScheduleCalendar table{border-collapse:collapse;border-spacing:0}.admin-page #adminScheduleCalendar table th,.admin-page #adminScheduleCalendar table td{padding:0;vertical-align:top;background:transparent}.admin-page #adminScheduleCalendar table th{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:normal}.admin-page #adminScheduleCalendar table thead th:first-child,.admin-page #adminScheduleCalendar table thead th:last-child{border-radius:0}.admin-page #adminScheduleCalendar table tbody tr:hover td{background:transparent}.admin-page #adminScheduleCalendar .fc-col-header-cell-cushion{display:inline-block;padding:8px 4px;font-weight:800}.admin-page #adminScheduleCalendar .fc-daygrid-day-number{padding:8px}.admin-page #adminScheduleCalendar .fc-daygrid-event{margin-top:3px}
@media(max-width:640px){.admin-page #adminScheduleCalendar .fc-col-header-cell-cushion{padding:3px 0;font-size:.66rem}.admin-page #adminScheduleCalendar .fc-daygrid-day-number{padding:3px;font-size:.72rem}.admin-page #adminScheduleCalendar .fc-daygrid-event{min-height:22px;margin:2px 0 0;font-size:.68rem;line-height:1.25}}
@media(max-width:900px){.schedule-admin-layout{grid-template-columns:1fr}.schedule-editor{position:static}}
@media(max-width:1000px){.upcoming-schedule-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.schedule-page .page-shell{width:calc(100% - 24px)}.upcoming-schedule-list{grid-template-columns:1fr}.upcoming-schedule-list a{grid-template-columns:58px auto 1fr auto}.upcoming-schedule-list time{grid-row:auto}.upcoming-schedule-list b{white-space:normal}.upcoming-schedule-list i{display:block}.calendar-panel{width:100%;padding:8px 4px;border-radius:18px;overflow:hidden}.fc .fc-toolbar{gap:4px;align-items:center;margin-bottom:.65em}.fc .fc-toolbar-chunk:first-child{display:flex}.fc .fc-button{padding:.28em .4em;font-size:.7rem}.fc .fc-toolbar-title{font-size:.94rem}.fc .fc-col-header-cell-cushion{padding:3px 0;font-size:.66rem}.fc .fc-daygrid-day-frame{min-height:78px}.fc .fc-daygrid-day-number{padding:3px;font-size:.72rem}.fc .fc-daygrid-event{min-height:22px;margin:2px 0 0;font-size:.68rem;line-height:1.25}.fc .fc-event-main{min-height:20px}.fc .fc-event-title,.lesson-week-caption{font-size:.68rem;padding:3px 2px;line-height:1.25;white-space:normal}.fc .fc-daygrid-more-link{font-size:.62rem}.schedule-form{grid-template-columns:1fr}.schedule-form .full{grid-column:auto}}
.schedule-unpublished{opacity:.5;border-style:dashed!important}
.schedule-import-panel{margin:24px 0;padding:24px;background:#fff;border:1px solid #eadfce;border-radius:18px}.schedule-import-panel>form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.schedule-import-panel input[type=file]{padding:10px;border:1px solid #ddd;border-radius:9px}.import-preview-heading,.multi-date-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 10px}.import-preview-table{overflow-x:auto}.import-preview-table table{width:100%;min-width:1050px;border-collapse:collapse}.import-preview-table th,.import-preview-table td{padding:8px;border:1px solid #eee;vertical-align:top}.import-preview-table input[type=text],.import-preview-table input[type=date],.import-preview-table select,.import-preview-table textarea{width:100%;min-width:120px;padding:7px;border:1px solid #ddd;border-radius:6px}.import-preview-table textarea{min-width:220px}.duplicate-row{background:#f3f3f3;color:#777}.review-row{background:#fff7df}.selected-schedule-date{background:#ffe39b!important;box-shadow:inset 0 0 0 3px #e1a522}.selected-schedule-date .fc-daygrid-day-number{font-weight:900}.multi-date-toolbar{padding:10px;background:#fff8e8;border-radius:10px}.multi-date-toolbar label{font-weight:800}.multi-date-toolbar input{width:19px;height:19px;vertical-align:middle}#selectedDatesPanel{margin-top:14px;padding:14px;background:#fff8e8;border-radius:12px}#selectedDatesList{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}#selectedDatesList li{display:flex;align-items:center;gap:7px;padding:7px 10px;background:white;border:1px solid #ead6a6;border-radius:20px}#selectedDatesList button{border:0;background:none;color:#b14b3b;cursor:pointer}
.schedule-visible-range-card{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:18px 0;padding:20px 22px;border:1px solid #eadfce;border-radius:18px;background:#fff}.schedule-visible-range-card h2{margin:3px 0 5px;font-size:1.25rem}.schedule-visible-range-card p{margin:0}.schedule-visible-range-card form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.schedule-visible-range-card label{display:grid;gap:5px;font-size:.84rem;font-weight:850}.schedule-visible-range-card input{min-height:42px;padding:8px 10px;border:1px solid #d9cdbd;border-radius:10px;background:#fff}.schedule-visible-range-card>.success-message,.schedule-visible-range-card>.upload-error{flex-basis:100%}@media(max-width:760px){.schedule-visible-range-card{display:block}.schedule-visible-range-card form{margin-top:16px}.schedule-visible-range-card label{flex:1;min-width:120px}.schedule-visible-range-card input,.schedule-visible-range-card button{width:100%}}
@media(max-width:680px){.schedule-import-panel{padding:16px}.schedule-import-panel>form>*{width:100%}.import-preview-heading{align-items:flex-start;flex-direction:column}.multi-date-toolbar{align-items:flex-start;flex-direction:column}}
/* 달력과 범례가 함께 사용하는 파스텔 일정 색상 */
.fc-event.lesson-week-1,.schedule-legend .lesson-week-key-1{background:#e4f0dc!important;border-color:#bfd5b4!important;color:#38533a!important}
.fc-event.lesson-week-2,.schedule-legend .lesson-week-key-2{background:#fff0c2!important;border-color:#ead28c!important;color:#665420!important}
.fc-event.lesson-week-3,.schedule-legend .lesson-week-key-3{background:#f8dfd2!important;border-color:#e7bda8!important;color:#684536!important}
.fc-event.lesson-week-4,.schedule-legend .lesson-week-key-4{background:#dde5f4!important;border-color:#b8c6df!important;color:#394b68!important}
.schedule-legend .lesson-week-key{border:1px solid transparent}
.schedule-event.bg-danger,.schedule-legend .text-bg-danger{background:#f8d8d5!important;border-color:#e8aaa5!important;color:#713d39!important}
.schedule-event.bg-success,.schedule-legend .text-bg-success{background:#dcefdc!important;border-color:#afd4b0!important;color:#365d38!important}
.schedule-event.bg-warning,.schedule-legend .text-bg-warning{background:#fff0c9!important;border-color:#e9cf89!important;color:#6d5721!important}
.schedule-event.bg-info,.schedule-legend .text-bg-info{background:#d9eff4!important;border-color:#a9d6df!important;color:#315b64!important}
.schedule-event.bg-dark,.schedule-legend .text-bg-dark{background:#e3e0dc!important;border-color:#c5beb6!important;color:#403a34!important}
.schedule-event .fc-event-main,.schedule-event .fc-event-main-frame{color:inherit!important}
@media(max-width:640px){.lesson-week-caption{display:block;width:100%;white-space:nowrap!important;text-align:center;line-height:1.18!important}.schedule-closed-day .schedule-event-title{font-size:.61rem!important;word-break:keep-all;overflow-wrap:normal}.legend-lesson-suffix{display:none}}
@media(max-width:640px){#publicScheduleCalendar .mobile-lesson-nontouch{pointer-events:none!important;cursor:default!important;user-select:none;-webkit-tap-highlight-color:transparent}}

.fc .fc-daygrid-day.schedule-closed-day{background:#f7d3ed!important;box-shadow:inset 0 0 0 2px #df9fd2}.fc .fc-daygrid-day.schedule-closed-day .fc-daygrid-day-frame{background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(247,211,237,.86))!important}.fc .fc-daygrid-day.schedule-closed-day .fc-daygrid-day-number{color:#d83232!important;font-weight:900}.fc .fc-daygrid-day.schedule-closed-day .schedule-event.bg-danger{background:rgba(255,255,255,.9)!important;border:2px solid #cc75b7!important;border-left:6px solid #b6539b!important;border-radius:5px!important;color:#7d2f69!important;box-shadow:0 2px 6px rgba(126,47,105,.12)}.fc .fc-daygrid-day.schedule-closed-day .schedule-event-title{display:block;width:100%;font-weight:900;line-height:1.25;white-space:pre-line!important;text-align:center}

.upcoming-schedule-list time{min-width:76px}.upcoming-schedule-list time strong{white-space:normal;line-height:1.3;word-break:keep-all}.upcoming-schedule-list time small{margin-top:3px}

.holiday-admin-panel{margin:24px 0;padding:22px;border:1px solid #eadfce;border-radius:18px;background:#fff}.holiday-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:end}.holiday-toolbar h2{margin:3px 0}.holiday-sync-controls,.holiday-bulk-actions{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.holiday-sync-controls label{display:grid;gap:5px;font-weight:800}.holiday-sync-controls select,.holiday-table-wrap select{padding:9px;border:1px solid #d8d0c5;border-radius:8px;background:#fff}.holiday-bulk-actions{margin:15px 0}.holiday-table-wrap{overflow:auto}.holiday-table-wrap table{width:100%;border-collapse:collapse}.holiday-table-wrap th,.holiday-table-wrap td{padding:10px;border-bottom:1px solid #eee5d9;text-align:left;white-space:nowrap}.holiday-warning{color:#b04436}.holiday-event .schedule-event-title{white-space:pre-line!important}.holiday-closed{background:#f3c9e6!important;color:#7c2d63!important}.holiday-open{background:#dcefdc!important;color:#315d3b!important}.holiday-undecided{background:#ebe8e3!important;color:#655f59!important}@media(max-width:700px){.holiday-toolbar{display:block}.holiday-sync-controls{margin-top:12px}}
.holiday-lookup-launch{display:flex;align-items:center;gap:12px;margin:0 0 16px}.holiday-lookup-launch .plan-help{margin:0}.holiday-lookup-dialog{width:min(760px,calc(100vw - 32px));max-height:82vh;border:0;border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(54,39,28,.28)}.holiday-lookup-dialog::backdrop{background:rgba(35,28,23,.48)}.holiday-lookup-dialog .holiday-table-wrap{max-height:55vh;overflow:auto}@media(max-width:640px){.holiday-lookup-launch{align-items:flex-start;flex-direction:column}.holiday-lookup-dialog{padding:18px}}

.holiday-reference-readonly{pointer-events:none;cursor:default;opacity:.82}

/* Keep the bulk action reachable when a long preview is rendered. */
.schedule-text-bulk-dialog{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
.schedule-text-preview-table{max-height:min(300px,28vh)!important}
.schedule-text-save-bar{position:sticky;z-index:3;bottom:-18px;margin-inline:-18px!important;margin-bottom:-18px!important;padding:14px 18px 18px!important;background:#fff;box-shadow:0 -10px 22px rgba(59,43,27,.07)}
@media(max-width:700px){.schedule-text-preview-table{max-height:26vh!important}.schedule-text-save-bar{bottom:-12px;margin-inline:-12px!important;margin-bottom:-12px!important;padding:12px!important}}

.lesson-validation-launch{display:flex;align-items:center;gap:12px;margin:0 0 20px}.lesson-validation-launch p{margin:0}.lesson-validation-dialog{width:min(980px,calc(100vw - 28px));max-height:88vh;padding:0;overflow:hidden;border:0;border-radius:22px;background:#faf7f1;box-shadow:0 28px 80px rgba(45,36,29,.3)}.lesson-validation-dialog::backdrop{background:rgba(35,28,23,.52)}.lesson-validation-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;background:#fff;border-bottom:1px solid var(--line)}.lesson-validation-heading h2{margin:3px 0 6px}.lesson-validation-heading p:last-child{margin:0;color:var(--ink-soft)}.lesson-validation-controls{display:flex;align-items:end;gap:10px;padding:18px 24px 10px}.lesson-validation-controls label{display:grid;gap:6px;font-size:.82rem;font-weight:800}.lesson-validation-controls input{min-height:40px;padding:8px 10px;border:1px solid #d9d0c5;border-radius:10px;background:#fff}.lesson-validation-dialog>#lessonValidationMessage{margin:4px 24px 12px}.lesson-validation-summary{display:flex;gap:9px;flex-wrap:wrap;margin:0 24px 14px;padding:13px 15px;border-radius:13px;background:#fff}.lesson-validation-summary>*{padding:5px 9px;border-radius:8px;background:#f2ede5}.lesson-validation-summary .normal{color:#27623b;background:#e5f3e8}.lesson-validation-summary .issue{color:#9b3e31;background:#fbe9e5}.lesson-validation-table{max-height:48vh;margin:0 24px 24px;overflow:auto;border:1px solid #e4dace;border-radius:13px;background:#fff}.lesson-validation-table table{width:100%;min-width:760px;border-collapse:collapse}.lesson-validation-table th{position:sticky;z-index:1;top:0;padding:11px;background:#f1ebe2;text-align:left}.lesson-validation-table td{padding:11px;border-top:1px solid #eee5da}.lesson-validation-normal .lesson-validation-status{color:#287041;font-weight:900}.lesson-validation-short .lesson-validation-status,.lesson-validation-excess .lesson-validation-status{color:#ae4536;font-weight:900}.lesson-validation-short td,.lesson-validation-excess td{background:#fff9f7}.lesson-validation-warning{color:#a14534;font-weight:800}@media(max-width:700px){.lesson-validation-launch{align-items:flex-start;flex-direction:column}.lesson-validation-dialog{max-height:94vh;overflow-y:auto}.lesson-validation-heading{padding:18px 14px}.lesson-validation-controls{align-items:stretch;flex-direction:column;padding:15px 14px}.lesson-validation-controls button{width:100%}.lesson-validation-dialog>#lessonValidationMessage,.lesson-validation-summary,.lesson-validation-table{margin-inline:14px}}
.lesson-validation-summary .holiday{color:#8a4f08;background:#fff0cb}.lesson-holiday-warning{color:#9a5705;font-weight:900}.lesson-validation-holiday td{box-shadow:inset 0 1px 0 #f2cf82,inset 0 -1px 0 #f2cf82}.lesson-validation-table table{min-width:960px}
.schedule-edit-dates{margin:0;padding:15px;border:1px solid #e2d5c3;border-radius:14px;background:#fffaf0}.schedule-edit-dates legend{padding:0 7px;font-weight:900}.schedule-edit-dates legend small{display:block;margin-top:3px;color:var(--ink-soft);font-size:.76rem;font-weight:600}.schedule-edit-date-add{display:flex;gap:8px;margin:4px 0 13px}.schedule-edit-date-add input{min-height:40px;flex:1}.schedule-edit-date-add button{white-space:nowrap}.schedule-edit-dates ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.schedule-edit-dates li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:9px 11px;border:1px solid #eadbc3;border-radius:11px;background:#fff}.schedule-edit-dates li>span{font-size:.84rem;font-weight:750;white-space:nowrap}.schedule-edit-date-remove{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:0;border-radius:7px;color:#a34135;background:#fff0ed;cursor:pointer}.schedule-edit-date-remove span{font-size:.74rem}@media(max-width:640px){.schedule-edit-dates ul{grid-template-columns:1fr}.schedule-edit-date-add{align-items:stretch;flex-direction:column}.schedule-edit-date-add button{width:100%}}
@media(min-width:901px){.lesson-validation-dialog{width:min(1320px,calc(100vw - 48px));max-width:none}.lesson-validation-heading h2{font-size:2rem!important;line-height:1.15!important;letter-spacing:-.04em!important}.lesson-validation-table table{min-width:1120px}.lesson-validation-table th:nth-child(1){width:120px}.lesson-validation-table th:nth-child(2){width:72px}.lesson-validation-table th:nth-child(3){width:68px}.lesson-validation-table th:nth-child(4){width:100px}.lesson-validation-table th:nth-child(5){width:46%}.lesson-validation-table th:nth-child(6){width:28%}.lesson-validation-table td{line-height:1.55}}
.lesson-validation-table th:nth-child(2),.lesson-validation-table td:nth-child(2){width:96px;min-width:96px;white-space:nowrap}.lesson-validation-holidays{display:flex;align-items:flex-start;gap:12px;margin:0 24px 14px;padding:12px 15px;border:1px solid #ead9b8;border-radius:13px;background:#fffaf0}.lesson-validation-holidays>strong{flex:0 0 auto;padding-top:5px;color:#89530e}.lesson-validation-holidays ul{display:flex;flex-wrap:wrap;gap:7px;max-height:92px;overflow:auto;margin:0;padding:0;list-style:none}.lesson-validation-holidays li{padding:5px 9px;border-radius:999px;color:#774a0d;background:#ffedc6;font-size:.8rem;font-weight:750;white-space:nowrap}@media(min-width:901px){.lesson-validation-dialog{overflow-y:auto}.lesson-validation-table{max-height:38vh}}@media(max-width:700px){.lesson-validation-holidays{align-items:stretch;flex-direction:column;margin-inline:14px}.lesson-validation-holidays ul{max-height:130px}}
.lesson-validation-holidays{display:block}.lesson-validation-holidays>strong{display:block;margin-bottom:10px}.lesson-validation-holidays>#lessonValidationHolidayList{display:grid;gap:10px;max-height:210px;overflow:auto}.lesson-validation-holidays>#lessonValidationHolidayList>section{display:grid;grid-template-columns:72px repeat(3,minmax(0,1fr));gap:12px;padding:11px;border:1px solid #eddfc7;border-radius:11px;background:#fff}.lesson-validation-holidays h4{margin:3px 0;font-size:1rem;color:#6f4813}.lesson-validation-holidays section>div{min-width:0}.lesson-validation-holidays section b{display:block;margin-bottom:6px;font-size:.78rem;color:#6f6254}.lesson-validation-holidays section ul{max-height:none;overflow:visible}.lesson-validation-holidays section li{white-space:normal}.lesson-validation-holidays>#lessonValidationHolidayList>p{margin:0;color:var(--ink-soft)}
@media(min-width:641px){#adminScheduleCalendar .fc-header-toolbar{display:grid!important;grid-template-columns:210px minmax(180px,1fr) 210px;align-items:center;min-height:44px}#adminScheduleCalendar .fc-header-toolbar .fc-toolbar-chunk:first-child{justify-self:start;width:210px}#adminScheduleCalendar .fc-header-toolbar .fc-toolbar-chunk:nth-child(2){justify-self:center;text-align:center}#adminScheduleCalendar .fc-header-toolbar .fc-toolbar-chunk:last-child{justify-self:end;width:210px}#adminScheduleCalendar .fc-toolbar-title{min-width:180px;text-align:center}}
@media(max-width:700px){.lesson-validation-holidays>#lessonValidationHolidayList>section{grid-template-columns:1fr}.lesson-validation-holidays h4{padding-bottom:5px;border-bottom:1px solid #eee1cb}}
.lesson-year-multi{position:relative;display:grid;gap:6px;font-size:.82rem;font-weight:800}.lesson-year-multi details{position:relative}.lesson-year-multi summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:190px;min-height:40px;padding:8px 11px;border:1px solid #d9d0c5;border-radius:10px;background:#fff;cursor:pointer;list-style:none}.lesson-year-multi summary::-webkit-details-marker{display:none}.lesson-year-multi summary::after{content:'⌄';color:#8b6b42}.lesson-year-multi details[open] summary{border-color:#bd8332;box-shadow:0 0 0 3px rgba(189,131,50,.12)}.lesson-year-multi details>div{position:absolute;z-index:20;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(2,minmax(86px,1fr));gap:4px;width:230px;max-height:230px;padding:9px;overflow:auto;border:1px solid #d9d0c5;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(55,40,27,.18)}.lesson-year-multi details>div label{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:8px;font-size:.8rem;cursor:pointer}.lesson-year-multi details>div label:hover{background:#fff5df}.lesson-year-multi input{width:17px;height:17px;min-height:0}.lesson-year-multi label span{white-space:nowrap}@media(max-width:700px){.lesson-year-multi summary,.lesson-year-multi{width:100%}.lesson-year-multi details>div{position:static;width:100%;margin-top:6px}}
.lesson-year-options .lesson-year-done{position:sticky;bottom:-9px;grid-column:1/-1;width:100%;min-height:38px;margin:5px 0 -1px;border-radius:9px;box-shadow:0 -7px 12px #fff}
.lesson-validation-holidays .holiday-info-group{padding:8px;border-radius:10px}.lesson-validation-holidays .holiday-info-group b{padding:4px 7px;border-radius:7px}.lesson-validation-holidays .holiday-class{background:#fff4e0}.lesson-validation-holidays .holiday-class b,.lesson-validation-holidays .holiday-class li{color:#985509;background:#ffe3ad}.lesson-validation-holidays .academy-closure{background:#fcecf1}.lesson-validation-holidays .academy-closure b,.lesson-validation-holidays .academy-closure li{color:#8c3e5d;background:#f7cfdd}.lesson-validation-holidays .public-holiday{background:#eaf2fb}.lesson-validation-holidays .public-holiday b,.lesson-validation-holidays .public-holiday li{color:#315f88;background:#d6e8f8}.lesson-validation-holidays .holiday-info-group li.empty{color:#746d65;background:#eeeae5}
.lesson-validation-table table{width:max-content;min-width:100%}.lesson-validation-table th,.lesson-validation-table td{width:auto!important}.lesson-validation-table th:nth-child(1),.lesson-validation-table td:nth-child(1){min-width:96px}.lesson-validation-table th:nth-child(2),.lesson-validation-table td:nth-child(2){min-width:96px}.lesson-validation-table th:nth-child(3),.lesson-validation-table td:nth-child(3){min-width:58px}.lesson-validation-table th:nth-child(4),.lesson-validation-table td:nth-child(4){min-width:76px}.lesson-validation-table th:nth-child(5),.lesson-validation-table td:nth-child(5){min-width:440px}.lesson-validation-table th:nth-child(6),.lesson-validation-table td:nth-child(6){min-width:230px}
.lesson-result-toolbar{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 10px;padding:4px 0 8px;background:inherit}.lesson-result-toolbar>strong{color:#89530e}.lesson-expand-button{flex:0 0 auto;padding:7px 10px;font-size:.78rem}.lesson-validation-table .lesson-table-toolbar{left:0;width:100%;min-width:calc(100vw - 110px);margin:0;padding:9px 12px;border-bottom:1px solid #e4dace;background:#fff}.lesson-validation-table .lesson-table-toolbar>strong{color:#55483c}.lesson-validation-holidays.is-expanded{max-height:none}.lesson-validation-holidays.is-expanded>#lessonValidationHolidayList{max-height:min(58vh,680px)}.lesson-validation-table.is-expanded{max-height:min(68vh,760px)}
@media(max-width:700px){.lesson-result-toolbar{align-items:flex-start}.lesson-expand-button{white-space:nowrap}.lesson-validation-table .lesson-table-toolbar{min-width:720px}.lesson-validation-holidays.is-expanded>#lessonValidationHolidayList,.lesson-validation-table.is-expanded{max-height:64vh}}
.schedule-text-year-multi{position:relative;display:grid;gap:6px;margin-right:auto;color:#554b43;font-size:.82rem;font-weight:800}.schedule-text-year-multi details{position:relative}.schedule-text-year-multi summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:210px;min-height:40px;padding:8px 11px;border:1px solid #d9d0c5;border-radius:10px;background:#fff;cursor:pointer;list-style:none}.schedule-text-year-multi summary::-webkit-details-marker{display:none}.schedule-text-year-multi summary::after{content:'⌄';color:#8b6b42}.schedule-text-year-multi details[open] summary{border-color:#bd8332;box-shadow:0 0 0 3px rgba(189,131,50,.12)}.schedule-text-year-options{position:absolute;z-index:22;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:4px;width:250px;max-height:250px;padding:9px;overflow:auto;border:1px solid #d9d0c5;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(55,40,27,.18)}.schedule-text-year-options label{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:8px;cursor:pointer}.schedule-text-year-options label:hover{background:#fff5df}.schedule-text-year-options input{width:17px!important;height:17px;min-height:0!important}.schedule-text-year-options span{white-space:nowrap}.schedule-text-year-done{position:sticky;bottom:-9px;grid-column:1/-1;width:100%;min-height:38px;margin:5px 0 -1px;border-radius:9px;box-shadow:0 -7px 12px #fff}.schedule-text-year-multi>small{max-width:240px;color:var(--ink-soft);font-size:.72rem;font-weight:650}
@media(max-width:700px){.schedule-text-year-multi,.schedule-text-year-multi summary{width:100%}.schedule-text-year-options{position:static;width:100%;margin-top:6px}}
@media(min-width:901px){.lesson-validation-table{overflow-x:hidden}.lesson-validation-table table{width:100%;min-width:0;table-layout:fixed}.lesson-validation-table .lesson-table-toolbar{width:auto;min-width:0}.lesson-validation-table th,.lesson-validation-table td{min-width:0!important;overflow-wrap:anywhere;word-break:keep-all}.lesson-validation-table th:nth-child(1),.lesson-validation-table td:nth-child(1){width:10%}.lesson-validation-table th:nth-child(2),.lesson-validation-table td:nth-child(2){width:9%;white-space:nowrap}.lesson-validation-table th:nth-child(3),.lesson-validation-table td:nth-child(3){width:6%;white-space:nowrap}.lesson-validation-table th:nth-child(4),.lesson-validation-table td:nth-child(4){width:9%}.lesson-validation-table th:nth-child(5),.lesson-validation-table td:nth-child(5){width:43%;word-break:normal}.lesson-validation-table th:nth-child(6),.lesson-validation-table td:nth-child(6){width:23%;word-break:normal}}
@media(min-width:901px){.lesson-validation-table th,.lesson-validation-table td{overflow:hidden!important;text-overflow:ellipsis;white-space:nowrap!important}.lesson-validation-table th:nth-child(1),.lesson-validation-table td:nth-child(1){width:11%!important}.lesson-validation-table th:nth-child(2),.lesson-validation-table td:nth-child(2){width:9%!important}.lesson-validation-table th:nth-child(3),.lesson-validation-table td:nth-child(3){width:6%!important}.lesson-validation-table th:nth-child(4),.lesson-validation-table td:nth-child(4){width:10%!important}.lesson-validation-table th:nth-child(5),.lesson-validation-table td:nth-child(5){width:40%!important;font-size:.84rem}.lesson-validation-table th:nth-child(6),.lesson-validation-table td:nth-child(6){width:24%!important;font-size:.82rem}}
.schedule-text-year-popover{position:absolute;z-index:22;top:calc(100% + 6px);left:0;width:270px;padding:10px;border:1px solid #d9d0c5;border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(55,40,27,.2)}.schedule-text-year-popover .schedule-text-year-options{position:static;width:auto;max-height:210px;padding:4px 0;margin:5px 0;border:0;border-radius:0;box-shadow:none}.schedule-text-year-actions{display:flex;gap:6px;padding-bottom:7px;border-bottom:1px solid #eee5d9}.schedule-text-year-actions button{flex:1;padding:7px;border:0;border-radius:8px;color:#6d5438;background:#f6f0e7;font-size:.75rem;font-weight:800;cursor:pointer}.schedule-text-year-actions button:hover{background:#fce7b7}.schedule-text-year-popover>.schedule-text-year-done{position:static;margin:7px 0 0;box-shadow:none}.schedule-text-year-multi summary{font-weight:850}.schedule-text-year-multi>small{line-height:1.4}
@media(max-width:700px){.schedule-text-year-popover{position:static;width:100%;margin-top:6px}}
.lesson-validation-holidays .holiday-info-group>b{position:sticky;z-index:4;top:0;margin:-8px -8px 7px;padding:9px 8px;border-radius:9px 9px 7px 7px;box-shadow:0 5px 9px rgba(69,48,29,.08)}.lesson-validation-holidays .holiday-class>b{background:#ffdda0}.lesson-validation-holidays .academy-closure>b{background:#f5c8d8}.lesson-validation-holidays .public-holiday>b{background:#cfe4f7}.lesson-validation-holidays>#lessonValidationHolidayList>section{align-items:stretch}.lesson-validation-holidays .holiday-info-group{max-height:100%;overflow:visible}
.schedule-bulk-launch{display:flex;align-items:center;gap:12px;margin:22px 0 12px}.schedule-bulk-launch p{margin:0}.schedule-text-bulk-dialog{width:min(1120px,calc(100vw - 28px));max-height:90vh;padding:0;overflow:hidden;background:#f8f5ef;border:0;border-radius:24px;box-shadow:0 30px 90px rgba(45,36,29,.3)}.schedule-text-bulk-dialog::backdrop{background:rgba(35,28,23,.52)}.schedule-text-bulk-dialog>div,.schedule-text-bulk-dialog>label,.schedule-text-bulk-dialog>section{margin-inline:24px}.schedule-text-bulk-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:0!important;padding:24px;background:#fff;border-bottom:1px solid var(--line)}.schedule-text-bulk-heading h2{margin:3px 0 7px;font-size:1.8rem}.schedule-text-bulk-heading p:last-child{margin:0;color:var(--ink-soft)}.schedule-text-bulk-toolbar{display:flex;align-items:end;gap:10px;margin-top:20px}.schedule-text-bulk-toolbar label{display:grid;gap:6px;margin-right:auto;color:#554b43;font-size:.82rem;font-weight:800}.schedule-text-bulk-toolbar input{width:150px;min-height:40px;padding:8px 10px;background:#fff;border:1px solid #d9d0c5;border-radius:10px}.schedule-text-input-label{display:grid;gap:8px;margin-top:16px;color:#554b43;font-weight:850}.schedule-text-input-label textarea{width:100%;padding:14px;color:#302a25;background:#fff;border:1px solid #d9d0c5;border-radius:13px;font:500 .9rem/1.65 Consolas,'Malgun Gothic',monospace;resize:vertical}.schedule-text-input-label textarea:focus{outline:0;border-color:#bd8332;box-shadow:0 0 0 4px rgba(189,131,50,.13)}.schedule-text-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.schedule-text-actions .plan-help{margin:0}.schedule-text-actions .error{color:#a1372f}.schedule-text-errors{margin-top:16px;padding:14px 17px;color:#8b302a;background:#fff0ee;border:1px solid #efcbc6;border-radius:13px}.schedule-text-errors h3{margin:0 0 8px;font-size:1rem}.schedule-text-errors ul{display:grid;gap:5px;margin:0;padding-left:20px;font-size:.86rem}.schedule-text-preview{margin-top:18px;margin-bottom:24px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px}.schedule-text-preview-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.schedule-text-preview-heading h3{margin:0 0 4px}.schedule-text-preview-heading p{margin:0}.schedule-text-preview-heading label{display:grid;gap:5px;color:#554b43;font-size:.8rem;font-weight:800}.schedule-text-preview-heading select{min-height:40px;padding:8px 10px;background:#fff;border:1px solid #d9d0c5;border-radius:10px}.schedule-text-preview-table{max-height:360px;overflow:auto;border:1px solid #e5ddd2;border-radius:12px}.schedule-text-preview-table table{width:100%;min-width:820px;border-collapse:collapse}.schedule-text-preview-table th{position:sticky;z-index:1;top:0;padding:10px;background:#f3eee6;text-align:left;white-space:nowrap}.schedule-text-preview-table td{padding:10px;border-top:1px solid #eee7de}.schedule-text-preview-table .duplicate-row td{color:#756e67;background:#f1efec}.schedule-text-status-new{color:#27623b!important;font-weight:900}.schedule-text-status-duplicate{color:#a05237!important;font-weight:900}.schedule-text-save-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid #eee7de}.schedule-text-save-bar p{margin:0;color:var(--ink-soft);font-size:.83rem}.schedule-text-save-bar button:disabled{opacity:.5;cursor:not-allowed;transform:none}
@media(max-width:700px){.schedule-bulk-launch{align-items:flex-start;flex-direction:column}.schedule-text-bulk-dialog{max-height:94vh}.schedule-text-bulk-dialog>div,.schedule-text-bulk-dialog>label,.schedule-text-bulk-dialog>section{margin-inline:14px}.schedule-text-bulk-heading{margin:0!important;padding:18px 14px}.schedule-text-bulk-heading h2{font-size:1.4rem}.schedule-text-bulk-heading p:last-child{font-size:.82rem}.schedule-text-bulk-toolbar{align-items:stretch;flex-direction:column}.schedule-text-bulk-toolbar label{margin-right:0}.schedule-text-bulk-toolbar input,.schedule-text-bulk-toolbar button{width:100%}.schedule-text-actions{align-items:stretch;flex-direction:column}.schedule-text-actions button{width:100%}.schedule-text-preview{padding:12px}.schedule-text-preview-heading,.schedule-text-save-bar{align-items:stretch;flex-direction:column}.schedule-text-preview-heading select,.schedule-text-save-bar button{width:100%}}
