.tt-heading,.tt-group-heading,.tt-home-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.tt-heading h1{font-size:28px}.tt-group-heading{margin-top:20px}.tt-group-heading h2{font-size:22px}.tt-group-heading p,.tt-home-heading span{font-size:13px;color:#7d8890}.tt-group-heading .app-icon-button{flex:none}
.tt-week-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0 12px}.tt-week-center{text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px}.tt-week-center strong{font-size:14px;font-weight:600}.tt-today.glass-btn{width:auto;height:44px;min-height:44px;flex:none;padding:4px 14px;font-size:12px}
.tt-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:4px;background:#f5f7fa;border:1px solid #edf0f3;border-radius:20px;margin-bottom:22px}
.tt-date{appearance:none;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:60px;border:0;border-radius:15px;background:transparent;color:#79848c;font:inherit;padding:8px 0;cursor:pointer}.tt-date span{font-size:11px;text-transform:uppercase}.tt-date strong{font-size:17px;color:#1b303e}.tt-date.is-today:not(.is-selected) strong{color:#2876ef}.tt-date.is-selected{background:#fff;box-shadow:0 2px 8px #192c4210;color:#2876ef}.tt-date.is-selected strong{color:#2876ef}
.tt-day{display:none}.tt-day.is-selected{display:block}.tt-day>h2{display:flex;align-items:baseline;justify-content:space-between;font-size:16px;text-transform:capitalize;margin:0 0 12px}.tt-day>h2 span{font-size:13px;font-weight:400;color:#7d8890}
.tt-lesson.glass-card{display:flex;gap:16px;padding:18px 16px;margin-bottom:12px;box-shadow:0 4px 16px #1b314d06,var(--gl-inset-subtle);border-radius:20px}.tt-lesson-time{display:flex;flex-direction:column;gap:5px;min-width:44px;font-size:15px}.tt-lesson-time span{font-size:12px;color:#8a949d}.tt-lesson-body{min-width:0;flex:1}.tt-lesson-kind{font-size:11px;color:#89949d}.tt-lesson h3{font-size:15px;line-height:1.4;margin:6px 0 0;font-weight:600;overflow-wrap:anywhere}.tt-room{font-size:13px;color:#42617a}.tt-teacher{font-size:12px;color:#89949d;line-height:1.5}.tt-no-lessons{padding:30px 12px;text-align:center;font-size:14px;line-height:1.6;color:#89949d;background:#f8f9fb;border-radius:20px;grid-column:1/-1}
.tt-footer{margin-top:20px;font-size:11px;color:#89949d;line-height:1.6}.tt-footer a{display:inline-block;color:#647786;margin-top:6px}.tt-status{font-size:13px;line-height:1.5;color:#647786;padding:12px 0}
.tt-home{padding:22px!important}.tt-home-heading h2{font-size:18px}.tt-home-subject{font-size:16px;font-weight:600;line-height:1.4}.tt-home .glass-btn{margin-top:18px;width:100%}
.tt-date:focus-visible{outline:2px solid #647786;outline-offset:1px}
.browser-top-nav #cabinet-tabs .glass-tab-bar__item{padding-inline:3px}.browser-top-nav #cabinet-tabs .glass-tab-bar__label{font-size:12px}
body.showing-timetable.browser-top-nav #cabinet-tabs{margin-bottom:20px}
@media(display-mode:standalone){.tt-heading{margin-top:0}.tt-week-controls{margin-top:16px}.tt-dates{margin-bottom:16px}.tt-lesson.glass-card{padding:16px 14px}}
@media(min-width:1500px) and (min-height:700px){body.showing-timetable .app-shell{max-width:1240px}body.showing-timetable .app-header{margin-bottom:26px}.tt-heading h1{font-size:32px}.tt-dates{display:none}.tt-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tt-day,.tt-day.is-selected{display:block;min-width:0}.tt-lesson.glass-card{flex-direction:column;gap:10px;padding:16px 14px}.tt-lesson-time{flex-direction:row;align-items:center;gap:8px}.tt-week-controls{justify-content:center;gap:24px;margin:26px 0}.tt-week-center{flex-direction:row;gap:18px}.tt-week-center strong{font-size:17px;white-space:nowrap}.tt-group-heading{justify-content:flex-start}.tt-day>h2{font-size:15px}.tt-lesson h3{font-size:14px}}
@media(min-width:1500px) and (min-height:700px){.tt-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.tt-day>h2{flex-direction:column;gap:5px}.tt-lesson.glass-card{padding:13px 11px;border-radius:17px}.tt-lesson h3{font-size:13px}.tt-room,.tt-teacher{font-size:11px}}

/* Compact calendar: arrows follow the visible unit (day on mobile, week on desktop). */
.tt-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.tt-topline h1{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:26px;line-height:1.3;margin:0}
.tt-topline h1 span{font-size:12px;line-height:1.4;font-weight:500;color:#7d8890;max-width:180px;overflow-wrap:anywhere}
.tt-topline .tt-today{height:40px;min-height:40px;font-size:12px;padding:6px 12px}
.tt-week-controls{margin:0 0 14px;gap:10px}
.tt-week-center{gap:3px;flex:1}
.tt-week-center strong{font-size:20px;font-weight:600}
.tt-week-center [data-day-label]{font-size:12px;color:#89949d;text-transform:capitalize}
.tt-dates{margin-bottom:20px}
.tt-date.is-selected{background:#e9f2ff;box-shadow:none;color:#2369cb}
.tt-day>h2{display:none}
#profile .glass-select{box-sizing:border-box;width:100%;font-size:16px;min-height:48px}
#profile-study-fields{display:flex;flex-direction:column;gap:18px}
#profile-group{font-size:13px}
#profile-group-status:empty{display:none}
@media(min-width:1500px) and (min-height:700px){.tt-topline{margin-bottom:20px}.tt-topline h1{font-size:30px}.tt-topline h1 span{font-size:14px;max-width:none}.tt-week-controls{justify-content:flex-start;max-width:480px;margin:0 0 26px}.tt-week-center strong{font-size:18px}.tt-week-center [data-day-label]{display:none}.tt-day>h2{display:flex}}

.tt-week-center{position:relative;min-height:48px;justify-content:center}
.tt-week-center strong{border-bottom:1px dotted #bdc8d2;padding-bottom:2px}
.tt-jump-date{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;box-sizing:border-box;font-size:16px}
.tt-week-center:focus-within{border-radius:12px;background:#f5f7fa}

/* Three clipped weeks follow the finger; only the middle week is interactive. */
.tt-dates-viewport{overflow:hidden;isolation:isolate;border-radius:20px;margin-bottom:20px;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.tt-dates-track{display:flex;width:100%;transform:translate3d(-100%,0,0)}
.tt-dates-track>.tt-dates{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0;margin:0}
.tt-dates-viewport.is-dragging{cursor:grabbing}
.tt-dates-viewport.is-dragging .tt-date{cursor:grabbing}
@media(display-mode:standalone){.tt-dates-viewport{margin-bottom:16px}}
@media(min-width:1500px) and (min-height:700px){.tt-dates-viewport{display:none}}

/* Desktop navigation reads as one compact group: previous / date / next / today. */
@media(min-width:1500px) and (min-height:700px){
 .tt-calendar-header{display:grid;grid-template-areas:"title title" "dates today";grid-template-columns:minmax(0,440px) max-content;align-items:center;justify-content:start;gap:18px 12px;margin-bottom:24px}
 .tt-calendar-header .tt-topline{display:contents}
 .tt-calendar-header h1{grid-area:title}
 .tt-calendar-header .tt-week-controls{grid-area:dates;max-width:none;margin:0}
 .tt-calendar-header .tt-today{grid-area:today;height:44px;min-height:44px;padding:8px 16px;font-size:13px}
}

/* Suggestion list under the university and group fields: in the flow of the form, never over other fields. */
.combo-list{list-style:none;margin:8px 0 0;padding:0;border-radius:18px;overflow:hidden;max-height:min(320px,45vh);overflow-y:auto;-webkit-overflow-scrolling:touch}
.combo-list [role="option"]{display:flex;flex-direction:column;gap:2px;padding:12px 16px;min-height:44px;box-sizing:border-box;cursor:pointer}
.combo-title{font-size:16px;line-height:1.3}
.combo-note{font-size:13px;line-height:1.3}
.combo-empty{padding:12px 16px;font-size:14px}
.classmates-card h2{margin:0;font-size:20px}
.classmates-count{margin:0;font-size:16px}
.classmates-count strong{font-size:22px}
