:root{color-scheme:light;--bg:#f4f6f8;--surface:#fff;--line:#dce1e7;--line-strong:#c8d0da;--text:#1d2733;--muted:#657180;--dim:#87919c;--purple:#2863a6;--purple-bright:#2863a6;--mint:#4a9d7e;--amber:#b39457;--accent:#2863a6;--accent-bg:#e8f1fb;--surface-alt:#f8f9fb;--radius:8px;--tone0:#e9e5f4;--tone1:#deebf7;--tone2:#f5ebd6;--tone3:#e4efdd;--tone4:#f6e3e4;--tone5:#deefed;--tone6:#efe5ef;--tone7:#f4e7dc;--lunch:#f0f2f4}
html[data-theme=dark]{color-scheme:dark;--bg:#11151a;--surface:#1b2026;--line:#363e47;--line-strong:#485360;--text:#e8edf2;--muted:#a6b0ba;--dim:#838d98;--purple:#83b6f3;--purple-bright:#83b6f3;--accent:#83b6f3;--accent-bg:#233c58;--surface-alt:#20262d;--tone0:#383248;--tone1:#293e51;--tone2:#4b4030;--tone3:#334735;--tone4:#4b3439;--tone5:#2b4846;--tone6:#46364a;--tone7:#4b3b30;--lunch:#30353d}
body{background:var(--bg);color:var(--text);font:13px/1.45 Inter,'Segoe UI',Arial,sans-serif}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}.ambient{display:none}.glass{background:var(--surface);border:1px solid var(--line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell{background:var(--bg)}.sidebar{width:218px;padding:22px 11px;background:var(--surface);border-right:1px solid var(--line);box-shadow:none}.brand{padding:0 10px 35px}.brand-mark{width:32px;height:32px;border:0;border-radius:7px;background:#2c5b8d;color:#fff;box-shadow:none}.brand strong{font:700 15px/1.1 Inter,'Segoe UI',sans-serif;letter-spacing:.02em;color:var(--text)}.brand strong span{color:var(--accent)}.brand small{margin-top:4px;font-size:9px;letter-spacing:.04em;color:var(--muted)}.side-section-label{margin:0 9px 9px;padding:0;color:var(--dim);font-size:10px;letter-spacing:.08em}.nav-item{gap:11px;padding:10px 12px;border:1px solid transparent;border-radius:6px;color:var(--muted);font-size:12px;transition:background .18s,color .18s}.nav-item:hover{transform:none;background:var(--surface-alt);color:var(--text)}.nav-item.active{background:var(--accent-bg);border-color:transparent;color:var(--accent)}.nav-indicator{display:none}.nav-icon svg{width:17px;height:17px}.topbar{height:57px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}.breadcrumb{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;letter-spacing:.04em}.breadcrumb span{padding:0;color:inherit}.breadcrumb .desktop-school span{margin:0 8px;color:var(--dim)}.breadcrumb strong{color:var(--text)}.mobile-brand{display:none}.top-right{gap:13px}.riga-clock{padding-right:13px;border-right:1px solid var(--line);color:var(--muted);font:650 11px Inter,'Segoe UI',sans-serif;font-variant-numeric:tabular-nums}.connection-label{color:var(--muted)}.connection-dot{background:#2d9b6c;box-shadow:none}.connection-dot.offline{background:#cb635a;box-shadow:none}.avatar{width:28px;height:28px;border:0;border-radius:6px;background:#2c5b8d;color:#fff}.theme-toggle{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.theme-toggle:hover{background:var(--accent-bg);color:var(--accent)}.theme-toggle svg{width:17px;height:17px}.content{padding:26px 28px 52px;max-width:1720px}.page-heading{margin-bottom:17px}.page-heading h1{margin:0;color:var(--text);font:700 22px/1.25 Inter,'Segoe UI',sans-serif;letter-spacing:-.025em}.eyebrow,.page-heading p,.title-period{display:none}.notice{margin-bottom:12px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:11px}.notice[data-type=success]{display:none}.notice[data-type=quiet]{background:var(--surface);border-color:var(--line)}.notice[data-type=error]{background:var(--surface);border-color:#d5a5a1;color:#a8443c}.notice-icon{display:none}.notice a{color:var(--accent)}.toolbar{padding:4px;border-radius:7px;background:var(--surface)}.entity-tab,.view-button,.change-mode{padding:8px 10px;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.entity-tab:hover,.view-button:hover,.change-mode:hover{background:var(--surface-alt);color:var(--text)}.entity-tab.active,.view-button.active,.change-mode.active{background:var(--accent-bg);color:var(--accent);box-shadow:none}.view-control{gap:2px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.selection-row{gap:8px;margin:11px 0 13px}.selector-wrap{width:265px}.entity-trigger{height:42px;min-height:0;padding:5px 9px;border-radius:6px;background:var(--surface);color:var(--text)}.selector-icon{width:27px;height:27px;border-radius:5px;background:var(--accent-bg);color:var(--accent)}.selector-text small{color:var(--dim)}.selector-text strong{font-size:11px}.chevron{color:var(--muted)}.selector-popover,.week-popover{top:calc(100% + 5px);padding:6px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);box-shadow:0 8px 24px rgba(24,42,61,.14);backdrop-filter:none;-webkit-backdrop-filter:none}html[data-theme=dark] .selector-popover,html[data-theme=dark] .week-popover{box-shadow:0 8px 24px rgba(0,0,0,.3)}.search-box{padding:7px 9px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted)}.search-box input{color:var(--text)}.search-box input::placeholder{color:var(--dim)}.selector-option{padding:8px 9px;border-radius:4px;color:var(--text)}.selector-option:hover,.selector-option.selected{background:var(--accent-bg);color:var(--accent)}.week-switcher{height:42px;padding:0 3px;border-radius:6px;background:var(--surface)}.week-switcher button{color:var(--muted)}.week-switcher button:hover{color:var(--accent)}.week-range-button{height:38px;min-width:175px;padding:0 7px;color:var(--text);font:650 11px Inter,'Segoe UI',sans-serif}.week-range-button::after{color:var(--muted)}.week-range-button:hover{background:var(--surface-alt);color:var(--accent)}.week-popover{padding:0;width:min(330px,calc(100vw - 24px))}.week-popover-head{padding:9px 11px;border-color:var(--line)}.week-popover-head strong{color:var(--text)}.week-popover-head button{border:1px solid var(--line);border-radius:4px;background:var(--surface-alt);color:var(--text)}.week-popover-head button:hover{background:var(--accent-bg)}.week-option{padding:8px 9px;color:var(--text);border-color:var(--line)}.week-option:hover,.week-option.selected{background:var(--accent-bg);color:var(--accent)}.week-option small{color:var(--accent)}.week-list-empty{color:var(--muted)}.date-control{display:flex;align-items:center;gap:5px;height:40px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.date-control svg{width:15px;height:15px}.date-control input{max-width:125px;border:0;background:transparent;color:var(--text);font-size:11px}.today-button,.icon-button{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px}.today-button:hover,.icon-button:hover{background:var(--surface-alt);color:var(--accent)}.icon-button{width:34px;padding:0;font-size:20px}.now-bar{min-height:36px;margin:0 0 11px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--accent-bg);color:var(--text)}.now-bar strong{color:var(--text)}.now-bar span:last-child{color:var(--muted)}.now-pulse{background:var(--accent);box-shadow:none}.schedule-card{border-radius:8px;background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:none}.schedule-card .card-header{padding:13px 15px;border-bottom:1px solid var(--line);background:var(--surface)}.card-kicker,.schedule-card .card-kicker{color:var(--dim);font-size:9px;letter-spacing:.08em}.card-header h2,.changes-bar h2,.times-head h2{margin:2px 0 0;color:var(--text);font:700 17px/1.2 Inter,'Segoe UI',sans-serif;letter-spacing:-.02em}.schedule-card .tutor,.tutor{color:var(--muted)}.tutor strong{color:var(--text)}.schedule-card .live-tag,.live-tag{padding:4px 6px;border:1px solid #b8dccb;border-radius:4px;background:#eaf5ee;color:#287550;font-size:8px;letter-spacing:.03em}html[data-theme=dark] .live-tag{background:#253a31;color:#83d4ab;border-color:#3e7255}.schedule-card .live-tag[data-state=unpublished],.schedule-card .live-tag[data-state=loading]{background:var(--surface-alt);color:var(--muted);border-color:var(--line)}.schedule-grid{padding:12px;scrollbar-color:var(--line-strong) var(--surface-alt)}.schedule-grid .grid-inner{min-width:max(980px,100%);border-color:var(--line-strong);border-radius:5px}.schedule-grid .period-head{grid-template-columns:82px repeat(var(--period-count),minmax(0,1fr));background:var(--surface-alt)}.schedule-grid .period-head>div{min-height:47px;border-color:var(--line)}.schedule-grid .period-head .label,.schedule-grid .period-head small{color:var(--muted)}.schedule-grid .period-head strong{color:var(--text);font:700 14px Inter,'Segoe UI',sans-serif}.schedule-grid .day-row{grid-template-columns:82px minmax(0,1fr);border-color:var(--line-strong);background:var(--surface)}.schedule-grid .day-row:hover{background:var(--surface)}.schedule-grid .day-label{padding:8px;border-color:var(--line-strong);background:var(--surface-alt)}.schedule-grid .day-label strong{color:var(--text);font:700 14px/1.1 Inter,'Segoe UI',sans-serif}.schedule-grid .day-label small{color:var(--muted)}.schedule-grid .current-day .day-label{background:var(--accent-bg)}.schedule-grid .day-track{grid-template-rows:repeat(var(--lane-count),var(--lane-height,94px));min-height:94px}.period-backdrop{border-color:var(--line)}.lesson-block{border:1px solid var(--line-strong);border-radius:3px;color:var(--text);box-shadow:none;transition:filter .16s,transform .16s,box-shadow .16s}.lesson-block:hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:0 2px 7px rgba(0,0,0,.1)}html[data-theme=dark] .lesson-block:hover{filter:brightness(1.15)}.lesson-block.current-lesson{outline:2px solid var(--accent)}.lesson-block strong{font-family:Inter,'Segoe UI',sans-serif}.tone-0{background:var(--tone0);border-color:var(--line-strong)}.tone-1{background:var(--tone1);border-color:var(--line-strong)}.tone-2{background:var(--tone2);border-color:var(--line-strong)}.tone-3{background:var(--tone3);border-color:var(--line-strong)}.tone-4{background:var(--tone4);border-color:var(--line-strong)}.tone-5{background:var(--tone5);border-color:var(--line-strong)}.tone-6{background:var(--tone6);border-color:var(--line-strong)}.tone-7{background:var(--tone7);border-color:var(--line-strong)}.tone-lunch{background:var(--lunch);border-color:var(--line-strong)}.now-line{background:var(--accent);box-shadow:none}.now-line:before{background:var(--accent)}.now-line span{background:var(--accent);color:#fff}.schedule-card .card-footer{padding:8px 15px;border-color:var(--line);background:var(--surface);color:var(--muted)}.schedule-card .legend-dot.violet{background:#a799c8}.schedule-card .legend-dot.amber{background:#ceb77f}.schedule-card .legend-dot.mint{background:#89bbac}.empty-grid{color:var(--muted)}.empty-grid strong{color:var(--text);font:700 14px Inter,'Segoe UI',sans-serif}.changes-bar,.times-main,.times-note{border-radius:8px;background:var(--surface)}.changes-bar{padding:13px 15px;margin-bottom:10px}.changes-bar h2{font-size:17px}.changes-controls{gap:6px}.changes-filter{margin-bottom:9px}.changes-filter>span{color:var(--muted)}.change-card{padding:13px 15px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:none}.change-card h3{font:700 14px Inter,'Segoe UI',sans-serif;color:var(--text)}.change-count{color:var(--muted)}.change-entry{border-color:var(--line);color:var(--text);font-size:11px}.period-pill{border:1px solid var(--line);border-radius:4px;background:var(--surface-alt);color:var(--text);font:700 11px Inter,'Segoe UI',sans-serif}.changes-empty{border-color:var(--line-strong);border-radius:7px;background:var(--surface);color:var(--muted)}.times-layout{grid-template-columns:minmax(0,1fr)}.times-main{box-shadow:none}.times-head{padding:16px 18px}.times-head h2{font-size:17px}.day-tabs{padding:0 15px 12px}.day-tab{padding:7px 10px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted)}.day-tab:hover{background:var(--surface-alt);color:var(--text)}.day-tab.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.times-table-head,.time-row{padding:0 18px}.times-table-head{height:34px;border-color:var(--line);background:var(--surface-alt);color:var(--muted)}.time-row{height:51px;border-color:var(--line)}.time-number{color:var(--accent);font:700 13px Inter,'Segoe UI',sans-serif}.time-range{color:var(--text);font:600 14px Inter,'Segoe UI',sans-serif}.duration{color:var(--muted)}.times-note{display:none}.lesson-dialog{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 12px 40px rgba(0,0,0,.2)}.lesson-dialog::backdrop{background:rgba(14,22,30,.6);backdrop-filter:none}.lesson-dialog h2{font:700 19px Inter,'Segoe UI',sans-serif}.dialog-close{color:var(--muted)}.detail-row,.detail-list-item{border-color:var(--line)}.detail-row span,.detail-list-item span{color:var(--muted)}.install-sheet{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 8px 24px rgba(0,0,0,.16)}.install-copy p{color:var(--muted)}.install-action{border-radius:5px;background:#2863a6;color:#fff}.install-action:hover{background:#1e4e86}.install-close{color:var(--muted)}
@media(max-width:1100px){.sidebar{width:190px}.content{padding:20px 18px 40px}.topbar{padding:0 18px}}
@media(max-width:800px){body{background:var(--bg);color:var(--text)}.app-shell{display:block}.sidebar{position:static;width:0;height:0;padding:0;border:0;background:transparent}.brand,.side-section-label{display:none}.topbar{display:flex;position:sticky;top:0;height:45px;padding:0 11px}.mobile-brand{display:inline-block;margin-right:7px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.04em}.desktop-school{display:none}.breadcrumb strong{font-size:9px}.top-right{gap:8px}.connection-label{font-size:0}.riga-clock{padding-right:8px;font-size:10px}.theme-toggle{width:28px;height:28px}.avatar{display:none}.content{padding:13px 8px calc(71px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:10px}.page-heading h1{font-size:17px}.notice{padding:6px 8px;margin-bottom:7px;font-size:10px}.toolbar{gap:4px;padding:3px;background:var(--surface)}.entity-tabs{width:100%;scrollbar-width:none}.entity-tabs::-webkit-scrollbar{display:none}.entity-tab{padding:6px 8px;font-size:10px}.view-button{padding:5px 8px;font-size:10px}.selection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:8px 0}.selector-wrap{grid-column:1/-1;width:100%}.entity-trigger{height:36px;padding:4px 7px}.selector-text small{display:none}.week-switcher{grid-column:1;min-width:0;height:36px}.week-switcher>button:not(.week-range-button){width:25px;height:30px}.week-range-button{height:32px;min-width:0;flex:1;font-size:10px}.selection-row>.date-control{display:none}.today-button{height:36px;padding:0 9px}.week-popover{max-height:60vh}.week-list{max-height:calc(60vh - 44px)}.now-bar{min-height:32px;margin:0 0 7px;padding:6px 8px;flex-wrap:wrap;gap:3px 7px}.now-bar strong{font-size:10px}.now-bar span:last-child{margin-left:14px;width:100%;font-size:9px}.schedule-card{border-radius:7px}.schedule-card .card-header{padding:8px 10px}.card-kicker{display:none}.schedule-card .card-header h2{font-size:13px}.tutor{display:none}.live-tag{font-size:7px;padding:3px 5px}.schedule-grid{padding:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;user-select:none;scrollbar-color:var(--line-strong) var(--surface-alt)}.schedule-grid .grid-inner{display:block;min-width:980px;border:0;border-radius:0;overflow:visible}.schedule-grid .period-head{display:grid;overflow:visible}.schedule-grid .period-head>div:first-child{position:sticky;left:0;z-index:25;background:var(--surface-alt);box-shadow:2px 0 3px rgba(0,0,0,.08)}.schedule-grid .day-row,.schedule-grid .day-row:last-child{display:grid;overflow:visible;border-radius:0}.schedule-grid .day-label{position:sticky;left:0;z-index:20;background:var(--surface-alt);box-shadow:2px 0 3px rgba(0,0,0,.08)}.schedule-grid .current-day .day-label{background:var(--accent-bg)}.schedule-grid .day-label strong{font-size:14px}.mobile-schedule{display:none}.schedule-card .card-footer{padding:7px 10px;font-size:8px}.side-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(3,1fr);gap:0;min-height:55px;padding:4px max(5px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--surface);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:47px;padding:4px 2px;border:0;border-radius:5px;text-align:center;font-size:9px}.nav-item.active{background:var(--accent-bg);color:var(--accent)}.nav-icon svg{width:18px;height:18px}.changes-bar{align-items:stretch;flex-direction:column;padding:10px;gap:7px}.changes-controls{flex-wrap:wrap}.changes-controls .view-control{width:100%;justify-content:space-between}.change-mode{flex:1}.changes-search{width:100%}.changes-filter{align-items:stretch;flex-direction:column}.changes-list{gap:6px}.change-card{padding:10px}.change-card h3{font-size:12px}.change-entry{font-size:10px}.times-head{padding:11px}.times-head h2{font-size:15px}.day-tabs{padding:0 8px 8px}.day-tab{padding:6px 8px;font-size:10px}.times-table-head,.time-row{padding:0 11px}.time-row{height:46px}.install-sheet{bottom:calc(65px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.breadcrumb strong{display:none}.entity-tab{padding:6px}.install-sheet{grid-template-columns:34px minmax(0,1fr) 16px}.install-action{grid-column:2;justify-self:start}.install-close{grid-column:3;grid-row:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.brand-mark{width:38px;height:38px;overflow:hidden;border:0;background:transparent;border-radius:8px}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}
.mobile-brand{align-items:center;gap:7px;text-transform:none}
.mobile-brand img{display:block;width:23px;height:23px;object-fit:cover;border-radius:5px}
@media(max-width:800px){.mobile-brand{display:inline-flex}}
.changes-calendar-wrap{position:relative;flex:none}
.changes-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:154px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}
.changes-date-trigger:hover,.changes-date-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--surface-alt)}
.changes-date-trigger svg{width:15px;height:15px;flex:none;color:var(--muted)}
.changes-date-trigger .calendar-chevron{width:12px;height:12px}
.changes-calendar-wrap>input[hidden],.changes-calendar[hidden]{display:none!important}
.changes-calendar{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:314px;padding:10px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);box-shadow:0 14px 36px rgba(20,32,44,.2)}
html[data-theme=dark] .changes-calendar{box-shadow:0 16px 42px rgba(0,0,0,.48)}
.calendar-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:4px;margin-bottom:8px}
.calendar-head strong{text-align:center;text-transform:capitalize;font-size:13px;font-weight:700}
.calendar-head button{width:32px;height:32px;border:1px solid var(--line);border-radius:5px;background:var(--surface-alt);color:var(--text);font-size:21px;line-height:1}
.calendar-head button:hover{border-color:var(--accent);color:var(--accent)}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendar-weekdays{margin-bottom:3px}
.calendar-weekdays span{padding:5px 0;text-align:center;color:var(--muted);font-size:10px;font-weight:700}
.calendar-day{display:grid;place-items:center;aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text);font-size:11px;font-variant-numeric:tabular-nums}
.calendar-day:hover{background:var(--accent-bg);color:var(--accent)}
.calendar-day.outside{color:var(--dim)}
.calendar-day.today{border-color:var(--accent)}
.calendar-day.selected{background:var(--accent);color:#fff;font-weight:700}
html[data-theme=dark] .calendar-day.selected{color:#13202d}
.calendar-footer{display:flex;justify-content:space-between;align-items:center;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}
.calendar-footer button{padding:5px 7px;border:0;border-radius:4px;background:transparent;color:var(--accent);font-size:11px;font-weight:650}
.calendar-footer button:hover{background:var(--accent-bg)}
@media(max-width:800px){.changes-date-trigger{height:32px;min-width:145px;padding:0 7px;font-size:10px}.changes-calendar{position:fixed;left:8px;right:8px;width:auto;max-height:calc(100dvh - 82px);overflow-y:auto;padding:10px}}
html[data-theme=dark]{--tone0:#d5cde2;--tone1:#c4d8e8;--tone2:#e3d5b9;--tone3:#cbdcc3;--tone4:#e6c9cd;--tone5:#c2ddda;--tone6:#dfcee3;--tone7:#e3d2c3;--lunch:#d9dde3}
html[data-theme=dark] .lesson-block{color:#202a35;border-color:rgba(28,40,52,.26);text-shadow:none}
html[data-theme=dark] .lesson-block .block-teacher,html[data-theme=dark] .lesson-block .block-foot{color:#344252}
html[data-theme=dark] .lesson-block .block-foot b{color:#202a35}
html[data-theme=dark] .lesson-block:hover{filter:brightness(1.04)}
:root{--app-font:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--app-font)}
.brand strong,.page-heading h1,.card-header h2,.changes-bar h2,.times-head h2,.change-card h3,.week-range-button,.week-option,.week-popover-head strong,.time-number,.time-range,.period-pill{font-family:var(--app-font)}
.week-switcher{gap:2px;padding:3px;border-color:var(--line-strong);border-radius:7px}
.week-switcher>button:not(.week-range-button){display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:0;border-radius:5px;background:var(--surface-alt);color:var(--text);font-size:0}
.week-switcher>button:not(.week-range-button):hover{background:var(--accent-bg);color:var(--accent)}
.week-switcher>button:not(.week-range-button) svg{width:17px;height:17px;stroke-width:2.4}
.week-range-button{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-width:182px;height:34px;padding:0 8px;border-radius:5px;color:var(--text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0}
.week-range-button::after{content:'';display:inline-block;flex:none;width:6px;height:6px;margin:0 0 3px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg)}
.week-range-button[aria-expanded=true]{background:var(--accent-bg);color:var(--accent)}
.week-range-button[aria-expanded=true]::after{border-color:var(--accent);transform:translateY(3px) rotate(225deg)}
.week-popover{top:calc(100% + 6px);width:min(350px,calc(100vw - 16px));padding:0;border-color:var(--line-strong);border-radius:9px;overflow:hidden}
.week-popover-head{min-height:45px;padding:8px 12px;border-bottom:1px solid var(--line)}
.week-popover-head strong{font-size:12px;font-weight:700;letter-spacing:0}
.week-popover-head button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface-alt);color:var(--text)}
.week-popover-head button svg{width:16px;height:16px;stroke-width:2}
.week-list{max-height:min(52dvh,420px);padding:4px;overflow-y:auto;scrollbar-color:var(--line-strong) var(--surface)}
.week-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 11px;border:0;border-radius:5px;background:transparent;color:var(--text);text-align:left;font-size:12px;font-weight:550;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:0}
.week-option+.week-option{border-top:1px solid var(--line)}
.week-option:hover{background:var(--surface-alt);color:var(--text)}
.week-option.selected{background:var(--accent-bg);color:var(--text);font-weight:700}
.week-option.selected:hover{background:var(--accent-bg)}
.week-option svg{width:16px;height:16px;flex:none;color:var(--accent);stroke-width:2.5}
@media(max-width:800px){.week-switcher{height:39px;min-width:0;padding:2px}.week-switcher>button:not(.week-range-button){width:32px;height:33px}.week-range-button{min-width:0;height:33px;padding:0 5px;font-size:12px}.week-popover{top:calc(100% + 6px);width:min(350px,calc(100vw - 16px));max-height:none}.week-list{max-height:min(50dvh,420px)}.week-option{font-size:12px;min-height:43px}.page-heading h1{font-size:18px}.nav-item{font-size:10px}}
@media(max-width:360px){.week-range-button{font-size:11px}.week-switcher>button:not(.week-range-button){width:29px}.week-option{font-size:11px}}
.week-switcher>.week-range-button{width:auto;height:34px;min-width:0;line-height:1.2;font-size:12px}
.week-switcher .week-list .week-option{display:flex;align-items:center;justify-content:space-between;width:100%;height:auto;min-height:43px;padding:9px 11px;border:0;border-radius:5px;line-height:1.3;font-size:12px;white-space:nowrap}
.week-switcher .week-option span{font-family:var(--app-font);font-size:12px;font-weight:inherit;letter-spacing:0}
.week-switcher .week-list .week-option:hover{background:var(--surface-alt);color:var(--text)}
.week-switcher .week-list .week-option.selected,.week-switcher .week-list .week-option.selected:hover{background:var(--accent-bg);color:var(--text)}
@media(max-width:800px){.week-switcher>.week-range-button{height:33px;font-size:12px}}
@media(max-width:360px){.week-switcher>.week-range-button{font-size:11px}.week-switcher .week-list .week-option,.week-switcher .week-option span{font-size:11px}}
.week-popover-head button.spinning{animation:none}
.week-popover-head button.spinning svg{animation:rotate .8s linear infinite}
.week-calendar-wrap .changes-date-trigger{min-width:164px}
@media(max-width:800px){.selection-row>.week-switcher{grid-column:1;grid-row:2}.selection-row>.today-button{grid-column:2;grid-row:2}.selection-row>.week-calendar-wrap{display:block;grid-column:1/-1;grid-row:3}.week-calendar-wrap .changes-date-trigger{width:100%;min-width:0;height:36px;justify-content:flex-start;gap:9px;padding:0 10px;font-size:11px}.week-calendar-wrap .changes-date-trigger span{flex:1;text-align:left}.week-calendar-wrap .changes-calendar{position:fixed;left:8px;right:8px;width:auto;max-height:calc(100dvh - 82px);overflow-y:auto}}
.schedule-card .card-header h2{color:var(--text)}
@media(max-width:800px){.topbar #breadcrumb-current{display:none}}
.theme-toggle{display:flex;align-items:center;justify-content:center;padding:0;line-height:0}
.theme-toggle svg{display:block;width:17px;height:17px;flex:none}
.topbar{z-index:60}
.selection-row{position:relative;z-index:40}
@media(max-width:800px){#page-schedule .page-heading{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}#page-schedule .page-heading h1{font-size:17px;white-space:nowrap}#page-schedule .page-heading .view-control{margin:0}#page-schedule .page-heading .view-button{padding:6px 9px;font-size:10px}#page-schedule .toolbar{display:block}#page-schedule .toolbar .entity-tabs{width:max-content;max-width:100%;min-height:27px;margin-inline:auto;justify-content:center;flex-wrap:nowrap}#page-schedule .toolbar .entity-tab{padding:4px 7px;min-height:27px;font-size:10px}}
.install-sheet.is-leaving{pointer-events:none;animation:install-out .24s ease-in forwards}
@keyframes install-out{to{opacity:0;transform:translate(-50%,12px)}}
.install-sheet.install-guide{grid-template-columns:38px minmax(0,1fr) 16px}
.install-sheet.install-guide .install-close{grid-column:3;grid-row:1}
.install-sheet .install-action[hidden]{display:none!important}
@media(max-width:350px){.install-sheet.install-guide{grid-template-columns:35px minmax(0,1fr) 16px}}
@media(prefers-reduced-motion:reduce){.install-sheet.is-leaving{animation:none}}

.install-dialog{width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(10,20,30,.28);overflow:auto;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .2s ease,transform .2s ease}
.install-dialog::backdrop{background:rgba(12,19,28,.58);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.install-dialog.is-open{opacity:1;transform:translateY(0) scale(1)}
.install-dialog.is-closing{opacity:0;transform:translateY(9px) scale(.98)}
.install-dialog-head{display:flex;align-items:center;gap:9px;padding:12px 15px;border-bottom:1px solid var(--line)}
.install-dialog-head img{width:29px;height:29px;object-fit:contain}
.install-dialog-head strong{font-size:12px;letter-spacing:.01em}
.install-dialog-x{display:grid;place-items:center;width:27px;height:27px;margin-left:auto;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.install-dialog-x:hover{background:var(--surface-alt);color:var(--text)}
.install-dialog-body{padding:17px 18px 18px}
.install-device{display:inline-block;margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.03em}
.install-dialog h2{margin:0 0 16px;font:700 20px/1.2 Inter,'Segoe UI',sans-serif;letter-spacing:-.025em}
.install-visual{position:relative;height:126px;margin-bottom:17px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt);overflow:hidden}
.install-visual-bar{display:flex;align-items:center;justify-content:space-between;height:31px;padding:0 8px 0 11px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface)}
.install-visual-address{color:var(--muted);font-size:10px;font-weight:600}
.install-visual-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:4px;background:var(--accent-bg);color:var(--accent)}
.install-visual-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.install-visual-menu{position:absolute;top:50px;right:19px;width:216px;padding:5px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);box-shadow:0 7px 18px rgba(0,0,0,.12);font-size:10px}
.install-visual-menu>span{display:block;padding:6px 8px;color:var(--muted)}
.install-visual-menu strong{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:4px;background:var(--accent-bg);color:var(--accent);font-size:10px}
.install-visual-plus{display:grid;place-items:center;width:15px;height:15px;border:1px solid currentColor;border-radius:3px;font-size:11px;line-height:1}
.install-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.install-steps li{display:grid;grid-template-columns:23px minmax(0,1fr);gap:10px;align-items:start}
.install-step-number{display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--line-strong);border-radius:50%;color:var(--accent);font-size:10px;font-weight:800}
.install-steps strong{display:block;color:var(--text);font-size:11px;line-height:1.3}
.install-steps p{margin:2px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.install-native-button{width:100%;min-height:36px;margin-top:17px;border:0;border-radius:6px;background:#2863a6;color:#fff;font-size:11px;font-weight:700;cursor:pointer}
.install-native-button:hover{background:#1e4e86}
.install-native-button[hidden]{display:none}
@media(max-width:360px){.install-dialog-body{padding:14px}.install-dialog h2{font-size:18px}.install-visual{height:117px}.install-visual-menu{right:14px}}
@media(prefers-reduced-motion:reduce){.install-dialog{transition:none;transform:none}.install-dialog.is-closing{transform:none}}

@media (min-width: 801px) {
  .topbar { height: 48px; justify-content: flex-end; }
  .topbar .breadcrumb, .topbar .connection-label { display: none; }
  .topbar .top-right { gap: 12px; }
  .topbar .riga-clock { border-right: 0; padding-right: 0; }
  .content { padding-top: 20px; }
}

.change-card-head h3 { min-width: 0; overflow-wrap: anywhere; }
.change-count { flex: none; white-space: nowrap; }
.period-pill { flex: none; white-space: nowrap; }

#page-schedule.week-view .today-button,
#page-schedule.week-view .selection-row > .date-control,
#page-schedule.week-view .week-calendar-wrap { display: none; }

@media (max-width: 800px) {
  .schedule-card .card-header { position: relative; flex-direction: row; align-items: center; justify-content: center; min-height: 34px; padding: 8px 68px; }
  .schedule-card .card-header > div:first-child { min-width: 0; text-align: center; }
  .schedule-card .card-header h2 { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .schedule-card .card-header-right { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: auto; gap: 0; }
}

@media (max-width: 800px) {
  .now-bar { flex-wrap: nowrap; align-items: center; gap: 4px; }
  .now-bar strong, .now-bar > span:last-child { line-height: 1.2; }
  .now-bar > span:last-child { display: inline; width: auto; margin-left: 0; white-space: normal; }
  .now-bar span[data-live-countdown] { width: auto; margin-left: 0; }
}
.lesson-block.is-cancelled,
.mobile-schedule .mobile-lesson.is-cancelled{background:#e5e7eb!important;border-color:#b8bec7!important;color:#374151!important;filter:none}
html[data-theme=dark] .lesson-block.is-cancelled,
html[data-theme=dark] .mobile-schedule .mobile-lesson.is-cancelled{background:#252b33!important;border-color:#485360!important;color:#aeb8c3!important;filter:none}
.lesson-block.is-cancelled{position:relative}
.mobile-schedule .mobile-lesson.is-cancelled{position:relative}
.lesson-cancelled-label{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);padding:4px 8px;border:1px solid #b8bec7;border-radius:5px;background:rgba(229,231,235,.94);color:#374151;font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap;box-shadow:0 1px 3px rgba(31,41,55,.12);pointer-events:none}
html[data-theme=dark] .lesson-cancelled-label{border-color:#596370;background:rgba(48,55,65,.96);color:#d1d7de;box-shadow:0 1px 3px rgba(0,0,0,.24)}
.mobile-schedule .mobile-lesson .lesson-cancelled-label{color:#374151}
html[data-theme=dark] .mobile-schedule .mobile-lesson .lesson-cancelled-label{color:#d1d7de}
.mobile-schedule .lesson-cancelled-label{max-width:calc(100% - 24px);font-size:10px}
.lesson-block.is-added{position:relative}
.lesson-added-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:2px 5px;border:1px solid #e6b83f;border-radius:4px;background:#fff2c2;color:#805600;font-size:8px;font-weight:700;line-height:1.15;white-space:nowrap}
.lesson-block>.lesson-added-badge{position:absolute;top:3px;left:3px;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis}
.mobile-schedule .mobile-lesson.is-added .mobile-lesson-content>strong{display:flex;align-items:center;gap:4px;min-width:0}
.mobile-schedule .mobile-lesson.is-added .lesson-subject-title{flex:1;min-width:0}
.mobile-schedule .mobile-lesson.is-added .lesson-added-badge{margin-left:auto}
.mobile-schedule .lesson-added-badge{flex:none}
html[data-theme=dark] .lesson-added-badge{border-color:#80652d;background:#493b22;color:#ffe39a}
.lesson-block[data-live-period],
.mobile-schedule .mobile-lesson[data-live-period]{outline:2px solid transparent;outline-offset:-2px;transition:outline-color .45s ease,outline-offset .45s ease}
.lesson-block[data-live-period].current-lesson{outline-color:var(--accent)}
.mobile-schedule .mobile-lesson[data-live-period].current-lesson{outline-color:#8b4cc4;outline-offset:0}
.settings-toggle{display:grid;place-items:center;flex:none;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer}
.settings-toggle:hover{background:var(--accent-bg);color:var(--accent)}
.settings-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.settings-theme{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.settings-theme-copy{display:grid;gap:2px}
.settings-theme-copy strong{font-size:12px}
.settings-theme-copy small{color:var(--muted);font-size:10px}
.settings-theme .theme-toggle{position:relative;display:flex;align-items:center;justify-content:flex-start;width:auto;min-width:0;height:36px;padding:0 10px 0 58px;border:0;background:transparent;color:var(--text);font:600 11px Inter,'Segoe UI',sans-serif;white-space:nowrap;cursor:pointer}
.settings-theme .theme-toggle::before{position:absolute;left:8px;top:6px;width:42px;height:24px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-alt);content:"";transition:background .25s ease,border-color .25s ease}
.settings-theme .theme-toggle::after{position:absolute;left:11px;top:9px;width:18px;height:18px;border-radius:50%;background:var(--muted);box-shadow:0 1px 3px #0002;content:"";transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s ease}
.settings-theme .theme-toggle[aria-pressed=true]::before{border-color:var(--accent);background:var(--accent-bg)}
.settings-theme .theme-toggle[aria-pressed=true]::after{transform:translateX(18px);background:var(--accent)}
.settings-theme .theme-toggle svg{display:none}
.settings-dialog{width:min(480px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 32px));overflow:auto;padding:25px;border-color:var(--line-strong);background:var(--surface);color:var(--text)}
.settings-dialog.is-closing{pointer-events:none;animation:settings-dialog-out .24s ease forwards}
@keyframes settings-dialog-out{to{opacity:0;transform:translateY(8px) scale(.98)}}
#settings-saved-toast[hidden]{display:none}
.settings-saved-toast{position:fixed;z-index:1000;top:calc(14px + env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 28px);padding:10px 16px;border:1px solid #a6d9bb;border-radius:999px;background:#e8f7ed;color:#216b40;font-size:12px;font-weight:700;line-height:1.2;box-shadow:0 8px 26px rgba(17,89,47,.16);opacity:0;transform:translate(-50%,-10px) scale(.97);pointer-events:none}
.settings-saved-toast.is-visible{animation:settings-toast-in .28s cubic-bezier(.2,.8,.2,1) forwards}
.settings-saved-toast.is-leaving{animation:settings-toast-out .28s ease-in forwards}
.settings-saved-toast svg{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html[data-theme=dark] .settings-saved-toast{border-color:#38684c;background:#20382a;color:#a8e3ba;box-shadow:0 8px 26px rgba(0,0,0,.32)}
@keyframes settings-toast-in{to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes settings-toast-out{from{opacity:1;transform:translate(-50%,0) scale(1)}to{opacity:0;transform:translate(-50%,-8px) scale(.98)}}
.settings-dialog .card-kicker{display:block;color:var(--muted);font-size:9px;letter-spacing:.1em}
.settings-dialog h2{margin:7px 30px 7px 0;color:var(--text);font:700 22px/1.2 Inter,'Segoe UI',sans-serif;letter-spacing:-.03em}
.settings-intro,.settings-note{margin:0 0 15px;color:var(--muted);font-size:11px}
.settings-note{margin:12px 0;color:var(--dim);font-size:10px}
.settings-status{display:none;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:11px}
.settings-status:not(:empty){display:block}
.settings-check{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--line);cursor:pointer}
.settings-check input,.settings-fieldset input,.settings-groups input{accent-color:var(--accent)}
.settings-check input{margin:3px 0 0}
.settings-check span{display:grid;gap:2px}
.settings-check strong,.settings-groups-head strong{font-size:12px}
.settings-check small{color:var(--muted);font-size:10px}
.settings-fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 13px;padding:10px;border:1px solid var(--line);border-radius:7px}
.settings-fieldset legend{padding:0 5px;color:var(--muted);font-size:10px}
.settings-fieldset label{display:flex;align-items:center;gap:7px;color:var(--text);font-size:10px}
.settings-groups-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.settings-groups-head button{border:0;background:transparent;color:var(--accent);font-size:10px;cursor:pointer}
.settings-search{width:100%;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit}
.settings-groups{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;max-height:150px;overflow:auto;margin-top:6px;padding:4px;border:1px solid var(--line);border-radius:6px}
.settings-fieldset:disabled,.settings-groups[aria-disabled=true]{opacity:.5}
.settings-groups[aria-disabled=true]{pointer-events:none}
.settings-groups label{display:flex;align-items:center;gap:6px;min-width:0;padding:4px;color:var(--text);font-size:10px}
.settings-groups label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-empty{grid-column:1/-1;padding:8px;color:var(--muted);font-size:10px}
.settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.settings-actions button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px;cursor:pointer}
.settings-actions #settings-save{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}
.settings-actions button:hover{filter:brightness(.96)}
.settings-terms{margin-top:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}
.settings-terms summary{position:relative;padding:12px 24px 12px 0;color:var(--text);font-size:11px;font-weight:650;cursor:pointer;list-style:none}
.settings-terms summary::-webkit-details-marker{display:none}
.settings-terms summary::after{position:absolute;right:4px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);content:"";transform:translateY(-70%) rotate(45deg);transition:transform .2s ease}
.settings-terms[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.settings-terms-content{padding:0 0 10px}
.settings-terms p{margin:0 0 8px;font-size:10px;line-height:1.55}
.settings-terms p:last-child{margin-bottom:0}
@media(max-width:800px){.settings-dialog{padding:19px}.settings-fieldset{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.settings-dialog.is-closing,.settings-saved-toast.is-visible,.settings-saved-toast.is-leaving{animation-duration:.01ms}}


/* Status replaces a metadata row, preserving the normal lesson height. */
.lesson-block>.lesson-change-label{position:static;align-self:flex-start;max-width:calc(100% - 26px);margin-right:0;padding:1px 3px;font-size:8px;line-height:1.05;white-space:normal;overflow:visible;text-overflow:clip;flex-shrink:0}
.schedule-grid .compact-lanes .lesson-block>.lesson-change-label{font-size:8px}
.lesson-block.has-change-label strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-schedule .mobile-lesson.has-change-label .mobile-lesson-content{grid-column:2;grid-row:1/3;display:block;align-self:center;min-width:0}
.mobile-schedule .mobile-lesson.has-change-label .mobile-lesson-content>strong{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.mobile-schedule .mobile-lesson.has-change-label .lesson-change-label{margin:0;padding:1px 4px;font-size:8px;line-height:1.1;white-space:nowrap;text-align:left}
.mobile-schedule .mobile-lesson.has-change-label .lesson-subject-title{flex:none}
.lesson-cell.has-switch>.lesson-change-label,.mobile-lesson-wrap.has-switch>.lesson-change-label{position:absolute;z-index:5;top:4px;right:30px;max-width:calc(100% - 36px);padding:2px 4px;font-size:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.lesson-cell.has-switch .block-teacher{margin-top:17px;padding-right:0;font-size:8px}
.lesson-cell.has-switch .block-foot small{min-width:0;overflow:hidden;text-overflow:ellipsis}
.schedule-grid .compact-lanes .lesson-cell.has-switch .block-teacher{margin-top:13px;font-size:7px}
@media(max-width:800px){.mobile-lesson-wrap.has-switch>.lesson-change-label{top:auto;bottom:5px;right:34px}.mobile-lesson-wrap.has-switch>.lesson-change-warning{top:auto;bottom:5px}.mobile-lesson-wrap.has-switch .mobile-lesson-content>strong{padding-top:0;padding-right:0}.mobile-lesson-wrap.has-switch .mobile-lesson-content>small{display:block;min-width:0;padding-right:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.page.active{animation:page-content-enter .3s cubic-bezier(.2,.75,.25,1)}
@keyframes page-content-enter{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){#page-schedule.week-view .schedule-grid .day-track{grid-template-rows:repeat(var(--lane-count),var(--mobile-lane-height));min-height:144px}}
@media(prefers-reduced-motion:reduce){.page.active{animation:none}}
