@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-display:swap}:root{color:#f4efe5;background:#061727;color-scheme:dark;font-family:Geist,Inter,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:#061727}html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-block:24px}button{font:inherit}::selection{color:#061727;background:#c8ff3d}.app-shell{width:min(100%,880px);min-height:100vh;margin:0 auto;padding:22px clamp(16px,4vw,40px) 28px}.header,.agenda__heading,.lesson{display:flex;align-items:center}.header{align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:24px}.header__title{min-width:0}.header__group{min-width:0;margin:0;color:#9aacc0;font-size:12px;font-weight:750;letter-spacing:.075em;text-transform:uppercase}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.04em}.today-button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;color:#f4efe5;background:transparent;border:1px solid #26445d;border-radius:12px;cursor:pointer}.today-button--active{color:#061727;background:#c8ff3d;border-color:#c8ff3d}.today-button svg,.lesson__room svg,.lesson__next svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero{padding:0 0 30px}.eyebrow{margin:0;color:#9aacc0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}h1{margin:6px 0 0;font-size:clamp(42px,10vw,64px);letter-spacing:-.065em;line-height:.95}.week-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:6px;background:#0a2136;border:1px solid #1d3b54;border-radius:15px}.week-control__range{display:grid;flex:1;min-width:0;justify-items:center;gap:2px}.week-control__range>span{color:#718ba3;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.week-control p{margin:0;color:#c7d2dc;font-size:13px;font-weight:650;text-align:center;text-transform:capitalize}.icon-button{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;color:#f4efe5;background:#102f47;border:1px solid #26445d;border-radius:10px;cursor:pointer}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.days--slide-next{animation:days-slide-next .36s cubic-bezier(.22,.78,.25,1)}.days--slide-previous{animation:days-slide-previous .36s cubic-bezier(.22,.78,.25,1)}@keyframes days-slide-next{0%{opacity:.72;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes days-slide-previous{0%{opacity:.72;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.day{position:relative;display:grid;gap:5px;min-height:76px;padding:9px 3px 25px;color:#8194aa;background:transparent;border:1px solid transparent;border-radius:16px;cursor:pointer}.day span{font-size:11px;font-weight:700;letter-spacing:.07em}.day strong{font-size:19px;font-weight:620;letter-spacing:-.03em;line-height:1}.day--selected{color:#c8ff3d;border-color:#c8ff3d;background:#0b2639;box-shadow:inset 0 0 0 1px #c8ff3d1f}.day--has-absences{color:#ff8d99}.day--has-absences.day--selected{color:#ff8d99;border-color:#ff6676}.day__absence{position:absolute;right:50%;bottom:5px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;color:#260b10;background:#ff6676;border-radius:99px;font-size:10px;font-weight:800;line-height:1;transform:translate(50%)}.tomorrow-digest{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 0 28px;padding:16px;background:linear-gradient(110deg,#123753,#0d293f);border:1px solid #31526d;border-radius:18px}.tomorrow-digest p{margin:0 0 5px;color:#b1c0ce;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tomorrow-digest h2{margin:0;color:#c8ff3d;font-size:clamp(16px,4.1vw,21px);letter-spacing:-.055em}.tomorrow-digest span{display:block;margin-top:6px;color:#c2d0db;font-size:13px;line-height:1.35}.tomorrow-digest button{flex:0 0 auto;min-height:38px;padding:0 12px;color:#061727;background:#c8ff3d;border:0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:750}.tomorrow-digest--empty h2{color:#f4efe5}.agenda{padding-top:16px}.agenda__heading{justify-content:space-between;gap:16px;margin-bottom:20px}.agenda h2{margin:7px 0 0;font-size:clamp(24px,6vw,34px);line-height:1.05;letter-spacing:-.05em;text-wrap:balance}.live-dot{padding:6px 9px;color:#c8ff3d;border:1px solid #426135;border-radius:99px;font-size:12px;font-weight:650}.schedule-status{display:flex;align-items:center;gap:11px;min-height:56px;margin:-6px 0 15px;padding:11px 13px;color:#b6c7d4;background:#0a2136;border:1px solid #1d3b54;border-radius:13px}.schedule-status__dot{flex:0 0 8px;width:8px;height:8px;background:#8194aa;border-radius:50%}.schedule-status__copy{display:grid;min-width:0;gap:3px}.schedule-status strong{color:#f4efe5;font-size:14px;font-weight:780;line-height:1.1}.schedule-status span:not(.schedule-status__dot){color:#91a6ba;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.schedule-status--before{border-color:#31526d}.schedule-status--before .schedule-status__dot,.schedule-status--current .schedule-status__dot{background:#c8ff3d;animation:schedule-status-pulse 1.8s ease-in-out infinite}@keyframes schedule-status-pulse{0%,to{opacity:.8;transform:scale(.9);box-shadow:0 0 #c8ff3d00}50%{opacity:1;transform:scale(1.12);box-shadow:0 0 0 5px #c8ff3d33}}.schedule-status--current{border-color:#426135;background:#0b2639}.schedule-status--break .schedule-status__dot{background:#efb65d}.schedule-status--finished{opacity:.8}.lessons{display:grid;gap:10px}.lesson{position:relative;gap:12px;min-height:98px;padding:17px 16px;overflow:hidden;background:#0a2136;border:1px solid #1d3b54;border-radius:18px}.lesson--next{min-height:148px;align-items:flex-start;flex-wrap:wrap;border-color:#c8ff3d;background:#0a2437}.lesson--current{border-color:#c8ff3d;background:#0b2639;box-shadow:0 0 0 1px #c8ff3d33,0 10px 28px #020b1266}.lesson--finished{opacity:1}.lesson__number{flex:0 0 44px;color:#8397aa;font-size:12px;font-weight:700;white-space:nowrap}.lesson__time{flex:0 0 96px;color:#f4efe5;font-variant-numeric:tabular-nums;font-size:15px;font-weight:650;line-height:1.35}.lesson__info{flex:1 1 150px;min-width:0}.lesson__info h2{margin:0;color:#f4efe5;font-size:15px;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}.lesson__info p{margin:6px 0 0;color:#9aacc0;font-size:13px;line-height:1.25}.lesson__info .lesson__kind{margin:0 0 6px;color:#718ba3;font-size:11px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.lesson__info .lesson__teacher{margin-top:6px}.lesson__count{margin-top:7px!important;color:#718ba3!important;font-size:11px!important}.lesson--absent{border-color:#b94555;background:linear-gradient(110deg,#2b1824,#241a29)}.lesson--absent .lesson__number,.lesson--absent .lesson__time{color:#ff9aa4}.attendance-toggle{display:inline-flex;align-items:center;min-height:30px;margin-top:11px;padding:0 10px;color:#ff9aa4;background:transparent;border:1px solid #70404b;border-radius:9px;cursor:pointer;font-size:12px;font-weight:750}.attendance-toggle--selected{color:#260b10;background:#ff6676;border-color:#ff6676}.attendance-toggle:focus-visible,.attendance-reset:focus-visible{outline:2px solid #f4efe5;outline-offset:3px}.attendance-summary{margin-top:28px;padding:18px;background:#0a2136;border:1px solid #1d3b54;border-radius:18px}.attendance-summary__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.attendance-summary h2{margin:7px 0 0;font-size:22px;letter-spacing:-.04em}.attendance-reset{min-height:34px;padding:0 10px;color:#9aacc0;background:transparent;border:1px solid #31526d;border-radius:9px;cursor:pointer;font-size:12px;font-weight:700}.attendance-reset:disabled{cursor:default;opacity:.45}.attendance-summary__heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.attendance-summary__heading>span{color:#718ba3;font-size:11px;font-weight:650}.attendance-stats__title{margin:0;color:#e9e3d9;font-size:15px;font-weight:800;letter-spacing:-.01em}.attendance-stats{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:8px;margin:13px 0 0}.attendance-stats>div{position:relative;min-width:0;padding:13px 12px 12px;overflow:hidden;background:#0d2a42;border:1px solid #173a55;border-radius:13px}.attendance-stats>div:after{position:absolute;inset:0 0 auto;height:2px;content:"";background:#c8ff3d;opacity:.75}.attendance-stats dt{color:#91a6ba;font-size:10px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.attendance-stats dd{margin:5px 0 0;color:#f4efe5;font-size:clamp(20px,5vw,25px);font-weight:780;letter-spacing:-.045em}.mode-switch{display:flex;width:100%;gap:4px;margin:0 0 20px;padding:4px;background:#0a2136;border:1px solid #1d3b54;border-radius:13px}.mode-switch button,.auth-tabs button,.attendance-filters button{min-height:36px;padding:0 13px;color:#9aacc0;background:transparent;border:0;border-radius:9px;cursor:pointer;font-size:12px;font-weight:750}.mode-switch button.is-active,.auth-tabs button.is-active,.attendance-filters button.is-active{color:#061727;background:#c8ff3d;box-shadow:0 2px 10px #020b1240,inset 0 0 0 1px #e5ff9c66}.hero__hint{margin:-8px 0 0;color:#9aacc0;font-size:14px}.summary-open{display:inline-flex;align-items:center;gap:5px;margin-top:15px;padding:0;color:#c8ff3d;background:transparent;border:0;cursor:pointer;font-size:12px;font-weight:750}.summary-open svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.attendance-view{display:grid;gap:16px}.attendance-view__heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.attendance-view__heading h2{margin:7px 0 0;font-size:clamp(27px,6vw,36px);letter-spacing:-.055em}.sync-pill{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:30px;padding:6px 10px;color:#91a6ba;background:#0a2136;border:1px solid #31526d;border-radius:99px;font-size:11px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.sync-pill__dot{flex:0 0 6px;width:6px;height:6px;background:currentColor;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent)}.sync-pill--loading .sync-pill__dot,.sync-pill--syncing .sync-pill__dot{animation:sync-dot-pulse 1.25s ease-in-out infinite}@keyframes sync-dot-pulse{50%{opacity:.35;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 10%,transparent)}}.sync-pill--synced{color:#c8ff3d;border-color:#426135}.sync-pill--offline,.sync-pill--error{color:#ff9aa4;border-color:#70404b}.auth-card,.account-card{display:flex;flex-direction:column;gap:15px;padding:18px;background:linear-gradient(110deg,#123753,#0d293f);border:1px solid #31526d;border-radius:18px}.auth-card__intro h2,.account-card h2{margin:7px 0 0;color:#f4efe5;font-size:22px;letter-spacing:-.045em}.auth-card__intro p:last-child,.account-card p:last-child{margin:7px 0 0;color:#b3c3d0;font-size:13px;line-height:1.4}.auth-tabs{display:inline-flex;gap:3px;align-self:flex-start;padding:3px;background:#081d30;border-radius:11px}.auth-tabs button{min-height:32px}.auth-form{display:grid;gap:11px}.auth-form label{display:grid;gap:6px;color:#b1c0ce;font-size:12px;font-weight:700}.auth-form input{width:100%;min-height:46px;padding:0 12px;color:#f4efe5;background:#081d30;border:1px solid #31526d;border-radius:10px;outline:none;font-size:16px;line-height:1.25;transform:none}.auth-form input:focus{border-color:#c8ff3d;box-shadow:0 0 0 3px #c8ff3d1a}.auth-submit,.account-action{min-height:42px;padding:0 14px;color:#061727;background:#c8ff3d;border:0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:800}.auth-submit:disabled,.account-action:disabled{cursor:default;opacity:.55}.auth-error{margin:0;padding:9px 11px;color:#ffb2ba;background:#2b1824;border:1px solid #70404b;border-radius:9px;font-size:12px;line-height:1.35}.account-card{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px}.account-card__rail{display:grid;gap:8px;justify-items:center}.account-card__identity{display:flex;flex:1 1 220px;min-width:0;align-items:center;gap:11px}.account-card__identity>div{min-width:0}.account-card h2{overflow-wrap:anywhere}.account-card__icon{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;color:#061727;background:#c8ff3d;border-radius:12px;font-size:19px;font-weight:850}.account-action{display:grid;flex:0 0 auto;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;place-items:center;color:#ffb2ba;background:#2b1824;border:1px solid #70404b;border-radius:12px}.account-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.attendance-summary--standalone{margin-top:0}.attendance-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid #173a55}.attendance-filters button{min-height:34px;padding-inline:11px;border:1px solid #31526d}.attendance-filters .attendance-reset{margin-left:auto;color:#9aacc0;background:transparent}.attendance-filters .attendance-reset:disabled{cursor:default;opacity:.45}.attendance-list{display:grid;gap:16px}.attendance-day{display:grid;gap:9px}.attendance-day__heading{display:flex;gap:12px}.attendance-day__toggle{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:12px;min-height:44px;padding:4px 0;color:inherit;background:transparent;border:0;border-radius:8px;cursor:pointer;text-align:left}.attendance-day__title{flex:1 1 auto;min-width:0;color:#e9e3d9;font-size:17px;font-weight:700;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.attendance-day__counts{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.attendance-day__meta{color:#8194aa;font-size:11px;font-weight:700;white-space:nowrap}.attendance-day__absence{color:#ff9aa4;font-size:10px;font-weight:800;white-space:nowrap}.attendance-day--absent .attendance-day__title{color:#ffb2ba}.attendance-day__chevron{display:grid;width:32px;height:32px;place-items:center;color:#9aacc0;background:#102f47;border:1px solid #26445d;border-radius:10px;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.attendance-day__chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .42s cubic-bezier(.22,.78,.25,1)}.attendance-day__toggle[aria-expanded=true] .attendance-day__chevron{color:#061727;background:#c8ff3d;border-color:#c8ff3d}.attendance-day__toggle[aria-expanded=true] .attendance-day__chevron svg{transform:rotate(90deg)}.attendance-day__toggle:focus-visible{outline:2px solid #f4efe5;outline-offset:4px}.attendance-day__lessons{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;pointer-events:none;visibility:hidden;transition:grid-template-rows .46s cubic-bezier(.22,.78,.25,1),opacity .32s ease,visibility 0s linear .46s}.attendance-day__lessons-inner{display:grid;min-height:0;gap:7px}.attendance-day__lessons.is-expanded{grid-template-rows:1fr;opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.attendance-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 11px;padding:12px 13px;background:#0a2136;border:1px solid #1d3b54;border-radius:13px}.attendance-row>div{display:flex;align-items:center;gap:7px;color:#b9c6d1;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.attendance-row__number{display:grid;width:21px;height:21px;place-items:center;color:#061727;background:#8194aa;border-radius:7px;font-size:11px;font-weight:800}.attendance-row__time{color:#d9dfe3}.attendance-row h4{min-width:0;margin:0;color:#f4efe5;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.attendance-row p{grid-column:2 / 3;margin:-2px 0 0;color:#91a6ba;font-size:11px;line-height:1.3;overflow-wrap:anywhere}.attendance-status{grid-column:3;grid-row:1 / span 2;min-height:32px;padding:0 9px;color:#9aacc0;background:transparent;border:1px solid #31526d;border-radius:9px;cursor:pointer;font-size:11px;font-weight:800;white-space:nowrap}.attendance-status--locked{display:inline-flex;align-items:center;justify-content:center;cursor:default;border-style:dashed;opacity:.55}.attendance-status--absent{color:#260b10;background:#ff6676;border-color:#ff6676}.attendance-row--absent{background:linear-gradient(110deg,#2b1824,#241a29);border-color:#b94555}.attendance-row--absent .attendance-row__number{color:#260b10;background:#ff6676}.attendance-empty{padding-block:28px}.lesson__room{display:inline-flex;align-items:center;gap:5px;align-self:center;color:#a8b8c8;font-size:13px;white-space:nowrap}.lesson__room svg{width:15px;height:15px}.lesson__next{display:flex;width:100%;align-items:center;gap:5px;color:#c8ff3d;font-size:13px;font-weight:650}.lesson__next svg{width:15px;height:15px}.empty{padding:45px 20px;text-align:center}.empty span{color:#c8ff3d;font-size:35px}.empty h2{margin:5px 0 7px;font-size:20px}.empty p{max-width:290px;margin:auto;color:#9aacc0;font-size:14px;line-height:1.45}footer{padding-top:42px;color:#607a91;font-size:12px;text-align:center}.footer-year{display:inline-block;min-width:4ch;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.api-status{display:inline-flex;align-items:center;gap:4px;color:#8ba1b5}.api-status svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.retry-button{margin-left:8px;padding:4px 8px;color:#c8ff3d;background:transparent;border:1px solid #426135;border-radius:7px;cursor:pointer;font-size:11px;font-weight:700}button:focus-visible{outline:2px solid #f4efe5;outline-offset:3px}@media(hover:hover){.day:hover,.icon-button:hover,.today-button:hover{border-color:#c8ff3d;color:#c8ff3d}.mode-switch button:hover,.auth-tabs button:hover,.attendance-filters button:hover,.attendance-status:hover,.summary-open:hover{color:#c8ff3d}.mode-switch button.is-active:hover,.auth-tabs button.is-active:hover,.attendance-filters button.is-active:hover,.attendance-status--absent:hover{color:#061727}.attendance-day__toggle:hover .attendance-day__title{color:#c8ff3d}.account-action:hover{color:#ffd0d5;border-color:#b05a68;background:#3a1d2a}}@media(prefers-reduced-motion:reduce){.days--slide-next,.days--slide-previous,.attendance-day__lessons,.attendance-day__chevron,.attendance-day__chevron svg,.schedule-status--before .schedule-status__dot,.schedule-status--current .schedule-status__dot,.sync-pill__dot{animation:none;transition:none}}@media(max-width:480px){.lesson{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:8px;min-height:0}.lesson--next{display:grid;min-height:0}.lesson__number{grid-column:1;grid-row:1 / span 2;align-self:center;white-space:nowrap}.lesson__time{grid-column:2;grid-row:1}.lesson__room{grid-column:3;grid-row:1}.lesson__info{grid-column:2 / 4;grid-row:2}.lesson__next{grid-column:2 / 4;grid-row:3}}@media(max-width:480px){.header{gap:10px;margin-bottom:20px}.header__title h1{font-size:clamp(34px,9vw,44px)}.attendance-summary{padding:15px}.attendance-stats{gap:6px}.attendance-stats>div{padding:10px 7px}.attendance-stats dd{font-size:18px}.attendance-view__heading{align-items:flex-start}.attendance-view__heading h2{font-size:28px}.sync-pill{margin-top:2px}.attendance-row{grid-template-columns:auto 1fr}.attendance-row h4{grid-column:1 / -1;grid-row:2}.attendance-row p{grid-column:1 / -1;grid-row:3;margin:-3px 0 0}.attendance-status{grid-column:2;grid-row:1;justify-self:end}.account-card{align-items:flex-start}.account-action{min-height:36px;padding-inline:10px}}@media(max-width:359px){.app-shell{padding-inline:12px}.today-button{padding:0 9px}.today-button span{display:none}.days{gap:2px}.day strong{font-size:18px}.day span{font-size:10px}.lesson{padding:14px 12px}.mode-switch button{padding-inline:10px}}@media(min-width:600px){.app-shell{padding-top:30px;padding-bottom:40px}.lesson{padding:20px}.lesson__time{flex-basis:115px;font-size:16px}.lesson__info h2{font-size:17px}}.today-button,.icon-button,.tomorrow-digest button,.attendance-toggle,.attendance-reset,.mode-switch button,.auth-tabs button,.auth-submit,.account-action,.attendance-filters button,.attendance-day__toggle,.attendance-status,.summary-open,.retry-button{min-height:44px}.icon-button{flex-basis:44px;width:44px;height:44px}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}button:not(:disabled):active{filter:brightness(.92)}.mode-switch{display:flex;width:100%;max-width:100%}.mode-switch button{flex:1;min-width:0;padding-block:10px;line-height:1.3}.attendance-filters button{padding-block:9px;line-height:1.3}.account-action{justify-content:center}.account-card__identity{flex:1}.account-card h2{font-size:16px;line-height:1.45;letter-spacing:-.02em}.account-card__identity{align-items:flex-start}.account-card__icon{margin-top:3px}@media(max-width:480px){.account-card{grid-template-columns:44px minmax(0,1fr)}}.attendance-stats>div{display:flex;flex-direction:column;gap:5px}.attendance-stats dd{margin-top:auto;font-variant-numeric:tabular-nums;line-height:1.25}.schedule-status{margin-top:0}.schedule-status__copy{gap:5px}.schedule-status strong{line-height:1.35}.lesson__info h2,.attendance-row h4{line-height:1.4}.header__title h1{overflow-wrap:anywhere}.days{transition:transform .3s ease,opacity .3s ease}.app-shell{padding-bottom:max(28px,env(safe-area-inset-bottom))}@media(min-width:481px)and (max-width:700px){.header__title h1{font-size:42px}}@media(max-width:359px){.attendance-stats{grid-template-columns:1fr 1fr}.attendance-stats>div:last-child{grid-column:1 / -1}.attendance-filters .attendance-reset{flex-basis:100%;margin-left:0}}@media(prefers-reduced-motion:reduce){button,.days{transition:none}}button:disabled{cursor:default}.auth-form input{font-family:inherit;font-size:16px;font-weight:500}@supports (-webkit-touch-callout: none){.auth-form input{font-size:16px!important}}.live-dot{flex-shrink:0}.attendance-view__heading>div,.agenda__heading>div{min-width:0}.attendance-stats dd{overflow-wrap:anywhere}@media(hover:hover){.today-button--active:hover{color:#061727;background:#d6ff70}}@media(max-width:480px){.header{flex-wrap:wrap}.header__title{flex:1 1 180px}.header__title h1{font-size:clamp(30px,8.2vw,40px)}.today-button{flex-shrink:0}.attendance-day__toggle{grid-template-columns:minmax(0,1fr) 32px;gap:5px 10px;padding-block:6px}.attendance-day__title{grid-column:1;grid-row:1}.attendance-day__counts{grid-column:1;grid-row:2;justify-content:flex-start}.attendance-day__absence{white-space:normal}.attendance-day__chevron{grid-column:2;grid-row:1 / span 2}.tomorrow-digest{flex-wrap:wrap}.attendance-row{grid-template-columns:minmax(0,1fr) auto}.attendance-row>div{flex-wrap:wrap}}
