.lesson-calendar-screen{box-sizing:border-box;min-width:0;width:min(1380px,100%);margin:0 auto;padding:20px 24px 32px;color:#e7f0f2}
.lesson-calendar-screen *{box-sizing:border-box}.lesson-calendar-screen button,.lesson-calendar-screen input,.lesson-calendar-screen select{font:inherit}
.lesson-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.lesson-calendar-heading h1{font-size:25px;margin:0 0 5px}.lesson-calendar-heading p{margin:0;color:#b7c7ce;font-size:13px}
.lesson-calendar-heading button,.lesson-calendar-screen select,.lesson-calendar-screen input,.lesson-calendar-edit-day{min-height:44px;padding:10px 13px;border:1px solid #48606b;border-radius:6px;color:#e8f1f4;background:#24343d}
.lesson-calendar-filters{display:flex;align-items:end;gap:20px;margin-bottom:18px;flex-wrap:wrap}.lesson-calendar-locations{display:flex;gap:3px;padding:3px;background:#122027;border:1px solid #3c505b;border-radius:7px}.lesson-calendar-locations button{min-height:40px;padding:8px 14px;border:0;border-radius:4px;background:transparent;color:#b8cbd2}.lesson-calendar-locations button[aria-pressed=true]{background:#3a515b;color:#fff}.lesson-calendar-filters>label{display:grid;gap:5px;flex:1;max-width:550px;font-size:12px;color:#b7cbd3}.lesson-calendar-filters select{width:100%;max-width:100%;font-size:14px}
.lesson-calendar-layout{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(360px,1.05fr);gap:24px;align-items:start}.lesson-calendar-layout>*{min-width:0}.lesson-calendar-month{border:1px solid #3b515d;border-radius:8px;padding:12px;background:#1a2932}.lesson-calendar-month-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px}.lesson-calendar-month-heading h2{font-size:19px;margin:0;text-transform:capitalize}.lesson-calendar-month-heading button{width:44px;min-height:44px;font-size:24px;background:transparent;border:1px solid #415763;border-radius:5px;color:#eef4f5}.lesson-calendar-weekdays,.lesson-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.lesson-calendar-weekdays span{font-size:12px;text-align:center;padding:8px;color:#b2c6ce}.lesson-calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:92px;text-align:left;padding:7px 6px;border:1px solid #354b56;border-radius:4px;background:#233640;color:#e1eef2;min-width:0}.lesson-calendar-day>strong{font-size:14px;line-height:1.3}.lesson-calendar-day:disabled{opacity:.24;background:transparent}.lesson-calendar-day[aria-pressed=true]{outline:2px solid #bce2df;outline-offset:-2px;background:#35505a}.lesson-calendar-day.is-today>strong{color:#ffa8ab}.lesson-calendar-day-location{display:flex;align-items:center;gap:5px;color:#c1eee4;font-size:11px}.lesson-calendar-day-location.ieper{color:#c4daff}.lesson-calendar-day-location.is-canceled{color:#ceadb6}.lesson-calendar-day-location b{font-size:10px}.lesson-calendar-holiday-dot,.lesson-calendar-event-marker{font-size:9px;color:#ddb0b9;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-calendar-event-marker{color:#81dce2}.lesson-calendar-legend{margin:12px 0 0;color:#adbfca;font-size:11px;line-height:1.6}.lesson-calendar-detail>h2{font-size:20px;margin:0 0 12px;text-transform:capitalize}.lesson-calendar-holiday-note{padding:9px;border-left:2px solid #b77d8d;background:#5b394733;color:#e4bcc4;font-size:13px}.lesson-calendar-location h3{font-size:14px;margin:15px 0 6px;border-bottom:2px solid #3ba8a4;padding-bottom:7px;color:#c7e6e2}.lesson-calendar-location.ieper h3{border-color:#699fe3;color:#c4d9f5}.lesson-calendar-lesson{display:grid;grid-template-columns:47px minmax(0,1fr) 83px;align-items:center;gap:10px;min-height:65px;width:100%;border:0;border-bottom:1px solid #364e58;border-radius:0;background:transparent;color:#eaf0f2;padding:10px 4px;text-align:left}.lesson-calendar-lesson:hover{background:#2a3d47}.lesson-calendar-time{font-size:13px;font-variant-numeric:tabular-nums}.lesson-calendar-time small,.lesson-calendar-course small{display:block;color:#a9bec8;font-size:11px;margin-top:4px;line-height:1.4}.lesson-calendar-course strong{display:block;font-size:13px;line-height:1.4}.lesson-calendar-status{font-size:12px;color:#a5ddcc;text-align:right;line-height:1.4}.lesson-calendar-lesson.is-canceled .lesson-calendar-status{color:#dfb8c4}.lesson-calendar-lesson.is-canceled .lesson-calendar-course strong{color:#adbbc2}.lesson-calendar-empty{font-size:13px;color:#9bb2bf;margin:12px 0 20px}.lesson-calendar-edit-day{width:100%;margin-top:18px}.lesson-calendar-event{display:block;text-align:left;width:100%;padding:11px 12px;border:0;border-left:3px solid #5fcbd5;border-radius:3px;background:#203f47;margin-top:8px;color:#dbf2f4;font-size:13px}.lesson-calendar-event small{display:block;font-size:11px;color:#aacbd3;margin-top:5px}.lesson-calendar-range{background:#23353e;border:1px solid #4d6672;border-radius:6px;padding:15px 16px;margin-bottom:20px}.lesson-calendar-range>strong{font-size:14px}.lesson-calendar-range-fields{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:12px}.lesson-calendar-range-fields label{display:grid;gap:5px;font-size:12px}.lesson-calendar-range-fields button{min-height:44px;padding:9px 16px}.lesson-calendar-range>p{font-size:12px;color:#b4cbd4;line-height:1.5}.lesson-calendar-holidays{display:flex;gap:6px;flex-wrap:wrap}.lesson-calendar-holidays button{font-size:12px;min-height:36px;padding:7px 10px;background:#34444e;border:1px solid #53646f;color:#e1e9ee;border-radius:4px}.lesson-calendar-screen :focus-visible{outline:2px solid #d1efef;outline-offset:3px}.lesson-calendar-screen button:disabled{cursor:default}
.day-range-row{display:grid;grid-template-columns:20px minmax(0,1fr) 90px 25px;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid #344952;min-height:64px;cursor:pointer}.day-range-row.is-skipped{background:#17252c}.day-range-row.is-changed{background:#2e4650}.day-range-row .day-editor-row-undo{min-height:38px;padding:2px;border:0;background:transparent;color:#d4ebed;font-size:20px}.day-range-editor .day-editor-location-heading label{font-size:13px}.day-range-editor .day-editor-select-location{min-height:38px}.day-range-editor .day-editor-select-location input{width:19px;height:19px}.day-range-editor .day-editor-review strong{font-size:13px}.day-range-editor .day-editor-controls button{min-height:42px;font-size:12px}
@media(max-width:850px){.lesson-calendar-screen{padding:16px}.lesson-calendar-layout{grid-template-columns:1fr;gap:20px}.lesson-calendar-heading h1{font-size:22px}.lesson-calendar-filters{gap:12px}.lesson-calendar-filters>label{max-width:none}.lesson-calendar-day{min-height:94px}.lesson-calendar-heading{align-items:start}.lesson-calendar-heading button{font-size:13px;white-space:nowrap}.lesson-calendar-lesson{min-height:68px}}
@media(max-width:500px){.lesson-calendar-screen{padding:14px 10px}.lesson-calendar-heading{flex-wrap:wrap;gap:10px}.lesson-calendar-filters{display:grid;gap:12px}.lesson-calendar-locations{width:100%}.lesson-calendar-locations button{flex:1;padding:8px;font-size:12px}.lesson-calendar-day{min-height:81px;padding:6px 4px}.lesson-calendar-month{padding:8px}.lesson-calendar-day-location{font-size:10px;gap:3px}.lesson-calendar-holiday-dot,.lesson-calendar-event-marker{font-size:8px}.lesson-calendar-range-fields{display:grid;grid-template-columns:1fr 1fr}.lesson-calendar-range-fields input{width:100%;min-width:0;font-size:13px}.lesson-calendar-range-fields button{grid-column:1 / -1}.lesson-calendar-lesson{grid-template-columns:42px minmax(0,1fr) 67px;gap:7px}.day-range-row{grid-template-columns:20px minmax(0,1fr) 24px;gap:7px}.day-range-row .day-editor-row-status{grid-column:2;grid-row:2}.day-range-row>input{grid-row:1 / span 2}.day-range-row .day-editor-row-undo{grid-column:3;grid-row:1 / span 2}}
