/* Desktop workspace. The mobile layout remains independent. */
@media(min-width:851px){
 :root{--desk-surface:#fff;--desk-soft:#f5f7fb;--desk-border:#e3e9f2;--desk-muted:#71819a;--desk-shadow:0 4px 20px #19344d04;--canvas:#f5f7fb}
 :root[data-theme=dark]{--desk-surface:#1b1d1d;--desk-soft:#141616;--desk-border:#303434;--desk-muted:#a5aaaa;--desk-shadow:0 4px 20px #0001;--canvas:#0e1010}
 body{background:var(--canvas)}
 .topbar{height:80px;padding:0 38px;position:sticky;top:0;z-index:16;background:var(--desk-surface);border-bottom:1px solid var(--desk-border);gap:24px}
 .brand{gap:14px}.brand-logo{width:43px;height:46px}.brand strong{font-size:20px;letter-spacing:.3px}.brand-divider{margin:0 18px;color:#bac6d6}.brand>span:last-child>span:last-child{font-size:15px;font-weight:500;color:var(--muted)}
 .header-caption{font-size:11px;color:var(--desk-muted);background:var(--desk-soft);border:1px solid var(--desk-border);border-radius:30px;padding:9px 15px;margin-left:auto;letter-spacing:.15px}
 .header-mobile-actions{gap:10px}.header-mobile-actions .icon-button{width:42px;height:42px;border-radius:13px}.header-mobile-actions .mobile-search{display:none}
 .layout{max-width:1840px;grid-template-columns:320px minmax(0,1fr);min-height:calc(100dvh - 80px);margin:auto}
 .sidebar{top:80px;height:calc(100dvh - 80px);max-height:calc(100dvh - 80px);padding:30px 22px 0;border-right:1px solid var(--desk-border);background:var(--desk-surface);scrollbar-gutter:stable;scrollbar-width:thin}
 .sidebar-top .eyebrow{font-size:9px;letter-spacing:1.7px}.sidebar h1{font-size:22px;font-weight:700;letter-spacing:-.65px;margin:9px 0 23px}
 .entity-tabs{padding:4px;gap:3px;border-radius:13px;background:var(--desk-soft);border:1px solid var(--desk-border);margin-bottom:17px}.entity-tabs button{font-size:11px;min-height:40px;border-radius:9px;font-weight:600}.entity-tabs button[aria-selected=true]{box-shadow:0 2px 6px #19354d0a}
 .search-field{border-color:var(--desk-border);background:var(--desk-soft);border-radius:13px;padding:0 12px;min-height:48px}.search-field input{font-size:13px;padding:13px 0}.search-field svg{width:16px}.search-field kbd{padding:2px 5px;font-size:10px;border-color:var(--desk-border);color:var(--desk-muted);background:var(--desk-surface);border-radius:5px}.search-hint{font-size:11px;line-height:1.65;margin:10px 1px 20px;color:var(--desk-muted)}
 .period-selects{margin:0 0 11px;gap:10px}.period-selects label{font-size:10px;font-weight:600;gap:8px;letter-spacing:.1px}.period-selects select,.group-filters select{min-height:42px;font-size:11px;border-radius:10px;background-color:var(--desk-surface);border-color:var(--desk-border);padding-left:10px;padding-right:32px;background-position:right 10px center;background-size:13px}.group-filters{gap:9px;grid-template-columns:minmax(0,1fr) 100px}
 .favorites-section{margin-top:23px;padding-bottom:20px;border-color:var(--desk-border)}.favorites-section h2{font-size:11px;margin-bottom:11px}.favorite-chip{font-size:11px;min-height:34px;padding:7px 9px;border-radius:8px}
 .catalog-caption{margin:24px 1px 12px;font-size:11px}.catalog-caption>span:last-child{min-width:24px;text-align:center;padding:4px 6px;border-radius:6px;background:var(--desk-soft);font-size:10px}
 .catalog-list{gap:5px}.catalog-item{padding:12px 10px;border-radius:12px;border-width:1px;gap:11px;transition:background .15s,border-color .15s}.catalog-item .item-mark{width:34px;height:34px;border-radius:10px;background:var(--desk-soft)}.item-copy strong{font-size:13px;line-height:1.5;font-weight:650}.item-copy small{font-size:10px;line-height:1.6;margin-top:3px;color:var(--desk-muted)}.catalog-item.selected{border-color:#ccdcf5;background:#edf3ff}.catalog-item:hover{background:var(--desk-soft);border-color:var(--desk-border)}
 .sidebar-bottom{position:sticky;bottom:0;margin-top:auto;padding:20px 0;font-size:10px;min-height:62px;background:var(--desk-surface);border-color:var(--desk-border)}
 .main{width:100%;padding:38px clamp(28px,4vw,72px) 26px;min-width:0;scroll-margin-top:100px}.main>#schedule-shell,.main>.welcome,.main>.page-footer{width:100%;max-width:1080px;margin-left:auto;margin-right:auto}
 .schedule-heading{padding:0 0 29px;margin:0;gap:28px;align-items:flex-start;background:none;border:0;box-shadow:none}.entity-heading{min-width:0}.entity-heading .eyebrow{font-size:9px;font-weight:750;letter-spacing:1.8px}.entity-heading h1{font-size:clamp(28px,2.8vw,40px);line-height:1.18;font-weight:700;letter-spacing:-1.35px;margin:12px 0 10px;overflow-wrap:anywhere}.entity-heading p{font-size:12px;line-height:1.65;color:var(--desk-muted)}
 .mobile-lesson-summary{display:inline-flex;align-items:center;margin-top:13px;padding:6px 10px;border:1px solid var(--desk-border);border-radius:7px;font-size:10px;line-height:1.5;color:var(--desk-muted);background:var(--desk-surface)}
 .heading-actions{gap:7px;margin-top:20px;flex:none}.heading-actions .icon-button{width:38px;height:38px;border-radius:11px;background:var(--desk-surface);border-color:var(--desk-border)}.heading-actions svg{width:17px;height:17px}
 .toolbar{padding:16px 18px;gap:16px;border:1px solid var(--desk-border);border-bottom:0;border-radius:20px 20px 0 0;background:var(--desk-surface)}
 .week-navigation{gap:9px}.week-navigation>.icon-button{width:34px;height:36px;background:var(--desk-soft);border:1px solid var(--desk-border);border-radius:10px}.week-navigation>.icon-button svg{width:15px}.week-label{min-width:142px;gap:4px}.week-label strong{font-size:14px;font-weight:650}.week-label>span{font-size:11px}.today-button{min-height:36px;padding:8px 12px;font-size:11px;border-radius:10px;background:var(--desk-soft);border-color:var(--desk-border);margin-left:8px}
 .view-tools{gap:9px}.view-switch{padding:3px;border-radius:10px;background:var(--desk-soft)}.view-switch button{font-size:11px;min-height:31px;padding:7px 15px;border-radius:8px}.date-button{width:37px;height:37px;border-radius:10px;border-color:var(--desk-border);background:var(--desk-soft)}.date-button svg{width:16px}
 .day-tabs{background:var(--desk-surface);border:1px solid var(--desk-border);border-top:0;border-radius:0 0 20px 20px;padding:3px 18px 17px;gap:8px;box-shadow:var(--desk-shadow);grid-template-columns:repeat(6,minmax(0,1fr))}
 .day-tab{min-height:76px;padding:11px 6px 9px;gap:5px;border-radius:13px;border:1px solid transparent;background:var(--desk-soft)}.day-tab .weekday{font-size:9px;font-weight:650;letter-spacing:1px}.day-tab .day-number{font-size:23px;font-weight:650;letter-spacing:-.6px}.day-tab .day-dot{height:3px;width:3px}.day-tab[aria-pressed=true]{background:#245bc9;border-color:#245bc9;box-shadow:0 4px 12px #245bc91c}.day-tab:hover{background:#245bc9;border-color:#245bc9}.day-tab:hover .weekday,.day-tab[aria-pressed=true] .weekday{color:#dae6ff}.day-tab:hover .day-number,.day-tab[aria-pressed=true] .day-number{color:white}
 .schedule-options{min-height:72px;padding:13px 2px;gap:15px}.schedule-options>label{font-size:10px;gap:9px;color:var(--desk-muted)}.schedule-options select{min-height:34px;font-size:11px;border-radius:9px;padding-top:7px;padding-bottom:7px;background-color:var(--desk-surface);border-color:var(--desk-border);max-width:180px}.freshness{font-size:10px;color:var(--desk-muted);gap:7px}.freshness .icon-button{width:28px;height:28px}.freshness .icon-button svg{width:13px}
 .day-events{max-width:none;margin:0}.day-title-row{margin:4px 0 20px;gap:16px}.day-title-row h2{font-size:19px;font-weight:700;letter-spacing:-.5px}.day-title-row>span{font-size:10px;border-radius:7px;padding:5px 8px;background:var(--desk-surface);border:1px solid var(--desk-border);color:var(--desk-muted)}
 .lesson-row{display:block;margin:0 0 20px}.lesson-time{display:flex;flex-direction:row;align-items:center;gap:6px;padding:0 3px 9px;font-variant-numeric:tabular-nums}.lesson-time strong{font-size:12px;font-weight:700}.lesson-time>span{font-size:11px;color:var(--desk-muted)}.lesson-time .time-current{font-size:9px}
 .lesson-card{padding:21px 23px 20px;border:1px solid var(--desk-border);border-left:3px solid var(--lesson-color);border-radius:17px;background:var(--desk-surface);box-shadow:var(--desk-shadow);transition:box-shadow .18s,border-color .18s}.lesson-card:hover{box-shadow:0 5px 24px #19344d0a}.lesson-card h3{font-size:19px;line-height:1.4;font-weight:650;letter-spacing:-.35px;margin-bottom:17px;max-width:900px}.lesson-topline{gap:8px 12px;margin-bottom:13px}.lesson-kind{font-size:10px;font-weight:650;line-height:1.5}.lesson-group-badge{font-size:10px;padding:4px 8px;min-height:25px;border-radius:7px}.lesson-top-groups{max-width:70%;gap:5px}.cycle-tag{font-size:10px}
 .lesson-details{gap:11px}.detail-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px 26px;font-size:12px;line-height:1.65}.detail-row>.subgroup-badge{grid-column:1/-1;justify-self:start;font-size:10px}.detail-row .detail-line{gap:8px;min-width:0;align-items:center}.detail-row svg{width:14px;height:14px;color:#9aadc7}.lesson-card .detail-link{font-size:12px;line-height:1.65;padding:2px 0;color:#5d78a2;text-decoration:none;overflow-wrap:anywhere}.lesson-card .detail-link:hover{text-decoration:underline;text-underline-offset:4px;color:var(--accent)}.lesson-comment{margin-top:14px;padding:11px 13px;font-size:11px;border-radius:9px;background:var(--desk-soft);color:var(--desk-muted)}
 .lesson-row.is-past{opacity:.9}.lesson-row.is-current .lesson-card{box-shadow:0 0 0 1px #9ab7e733,0 5px 24px #19344d0a}
 .week-list{gap:29px}.week-section{padding-bottom:18px;border-color:var(--desk-border)}.empty-day{padding:35px 24px;border-radius:17px;background:var(--desk-surface);border-color:var(--desk-border)}.empty-day h3{font-size:15px}.empty-day p{font-size:12px;color:var(--desk-muted)}.week-section .empty-day{padding:17px 20px}.week-section .empty-day p{flex-basis:auto;padding-left:0;font-size:11px}.week-section .empty-day h3{font-size:13px}
 .schedule-footer{margin:27px 0 35px;padding-top:19px;border-color:var(--desk-border);font-size:10px;color:var(--desk-muted)}.schedule-footer button{font-size:11px;min-height:36px;border:1px solid var(--desk-border);padding:8px 12px;background:var(--desk-surface);border-radius:10px}.page-footer{margin-top:auto;border-top:1px solid var(--desk-border);padding-top:18px;font-size:9px;color:var(--desk-muted)}
 .welcome{min-height:calc(100dvh - 190px);padding:45px 0 65px}.welcome h2{font-size:52px;line-height:1.08;font-weight:650;letter-spacing:-2.3px}.welcome>p{font-size:14px;line-height:1.9}.welcome .primary-button{font-size:13px;border-radius:12px;padding:14px 21px;min-height:47px}.welcome-icon{height:87px;width:87px;border-radius:27px}.welcome-features{font-size:11px;gap:25px;margin-top:38px}.quick-examples{font-size:11px}.quick-examples button{font-size:11px;padding:6px 9px;border-radius:8px}
 .personal-dialog{width:480px;max-height:80dvh;border-radius:22px}.personal-dialog .personal-panel{padding:26px}.personal-dialog .personal-heading{margin:0 0 18px;padding-right:40px}.personal-dialog .personal-heading h2{font-size:23px;margin:0}.personal-dialog .quick-card{border-radius:13px;min-height:74px}.toast{border-radius:12px;font-size:12px}
 button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
 [data-theme=dark] .catalog-item.selected{background:#302b4b;border-color:#484066}[data-theme=dark] .catalog-item:hover{background:#242727;border-color:#3a3e3e}
 [data-theme=dark] .lesson-card:hover{box-shadow:0 5px 24px #0002}
 [data-theme=dark] .day-tab[aria-pressed=true],[data-theme=dark] .day-tab:hover{background:#765ddf;border-color:#8c77ed;box-shadow:none}
 [data-theme=dark] .lesson-card .detail-link{color:#aca2ff}
}
@media(min-width:851px) and (max-width:1120px){
 .layout{grid-template-columns:285px minmax(0,1fr)}.sidebar{padding:25px 17px 0}.main{padding:30px 24px 23px}.topbar{padding:0 25px}.header-caption{display:none}.entity-tabs button{font-size:10px}.group-filters{grid-template-columns:minmax(0,1fr)}.period-selects select{font-size:10px;padding-left:8px}.toolbar{padding:13px 12px;gap:8px}.week-label{min-width:96px}.week-label strong{font-size:12px}.week-label>span{font-size:10px}.week-navigation{gap:5px}.today-button{padding:7px 8px;margin-left:0;font-size:10px}.view-switch button{padding:7px 10px;font-size:10px}.view-tools{gap:5px}.date-button{width:34px;height:35px}.day-tabs{padding:3px 12px 13px;gap:5px}.detail-row{grid-template-columns:minmax(0,1fr);gap:7px}.heading-actions{gap:5px}.heading-actions .icon-button{width:34px;height:34px}.schedule-heading{gap:16px}.entity-heading h1{font-size:29px}.lesson-card{padding:18px}.lesson-card h3{font-size:17px}
}
@media(min-width:1600px){.layout{grid-template-columns:340px minmax(0,1fr)}.sidebar{padding-left:27px;padding-right:27px}.main{padding-top:43px}}
@media(prefers-reduced-motion:reduce){.catalog-item,.lesson-card{transition:none}}

@media(min-width:851px){.entity-tabs{background:#e9eef6;border-color:#dde5f0}[data-theme=dark] .entity-tabs{background:#0e1010;border-color:#303434}}
