:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-subtle:#f3f3f3;--text:#111;--muted:#666;--border:#111;--border-soft:#c9c9c9;--focus:#111;--lightbox-bg:#111;--lightbox-text:#f5f5f5;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Arial,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--surface:#171717;--surface-subtle:#1a1a1a;--text:#f5f5f5;--muted:#aaa;--border:#666;--border-soft:#3f3f3f;--focus:#f5f5f5;--lightbox-bg:#090909;--lightbox-text:#f5f5f5}*{box-sizing:border-box;border-radius:0}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text)}a{color:var(--text)}.home{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:24px;display:flex}h1{margin:0;font-size:2rem}.page{width:min(100%,960px);margin:0 auto;padding:24px}.page h1{margin:32px 0 24px}.back-link{justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;display:inline-flex}.back-link svg{width:24px;height:24px}.box-list{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.home-actions{grid-template-columns:repeat(2,160px);place-items:center;gap:10px;display:grid}.home-actions .box-link{text-align:center;width:100%}.home-secondary-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;font-size:.9rem;display:flex}.install-control{justify-items:start;gap:8px;display:grid}.install-control.compact{display:inline-grid}.install-control p{max-width:280px;margin:0;line-height:1.5}.notification-teaser{border:2px solid #000;grid-template-columns:28px minmax(0,1fr);gap:14px;margin:0 0 34px;padding:18px;display:grid}.notification-teaser>svg{width:24px;height:24px}.notification-teaser>div{justify-items:start;gap:12px;display:grid}.notification-teaser strong{letter-spacing:.06em;text-transform:uppercase}.notification-teaser p,.notification-blocked{margin:0;line-height:1.5}.notification-blocked{margin-bottom:30px;font-size:.9rem}.icon-button{align-items:center;gap:8px;min-height:44px;display:inline-flex}.icon-button svg{width:18px;height:18px}.box-link{color:#000;font:inherit;background:#fff;border:1px solid #000;padding:10px 14px;text-decoration:none;display:inline-block}.box-link:hover,.box-link:focus-visible{color:#fff;background:#000}.back-link:focus-visible,.box-link:focus-visible{outline-offset:3px;outline:2px solid #000}.description{margin:0 0 24px}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:520px}.gallery-page{width:100%;max-width:none}.gallery-grid{column-count:4;column-gap:8px}.gallery-image{cursor:pointer;break-inside:avoid;background:#fff;border:0;width:100%;margin:0 0 8px;padding:0;display:block}.gallery-image img{width:100%;height:auto;display:block}.gallery-image:focus-visible{outline-offset:2px;outline:2px solid #000}.lightbox{z-index:10;background:#000;justify-content:center;align-items:center;padding:56px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:100%;display:block}.lightbox button{color:#fff;cursor:pointer;background:#000;border:1px solid #fff;width:44px;height:44px;padding:0;font:24px Arial,sans-serif;position:absolute}.lightbox button:hover,.lightbox button:focus-visible{color:#000;background:#fff;outline:0}.lightbox-close{top:12px;right:12px}.lightbox-previous{top:calc(50% - 22px);left:12px}.lightbox-next{top:calc(50% - 22px);right:12px}@media (width<=1000px){.gallery-grid{column-count:3}}@media (width<=700px){.gallery-grid{column-count:2}.lightbox{padding:56px 12px}.view-switch{display:flex}.view-switch button[data-view=week],.weekly-view,.weekly-view.active{display:none}.schedule-view-week .daily-view{display:block}.now-grid,.upcoming-list,.upcoming-task-list,.assignment-list,.detail-fields{grid-template-columns:1fr}.filters form{grid-template-columns:repeat(2,minmax(0,1fr))}}th,td{text-align:left;vertical-align:top;border:1px solid #000;padding:10px}button,input,select,textarea{font:inherit;border-radius:0}button,select,input[type=date]{min-height:44px}.simple-button,.view-switch button,.day-navigation button,.assignment-tabs a{color:#000;cursor:pointer;background:#fff;border:1px solid #000;justify-content:center;align-items:center;padding:9px 12px;text-decoration:none;display:inline-flex}.simple-button:hover,.simple-button:focus-visible,.view-switch button:hover,.view-switch button:focus-visible,.day-navigation button:hover,.day-navigation button:focus-visible,.assignment-tabs a:hover,.assignment-tabs a:focus-visible,.view-switch .selected,.day-selector .selected,.assignment-tabs .selected{color:#fff;background:#000}.academic-page{width:min(100%,1100px)}.academic-page>h1{text-transform:uppercase}.academic-section{margin-top:48px}.academic-section>h2,.section-heading h2,.history-group>h2{text-transform:uppercase;margin:0 0 20px;font-size:1.25rem}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.view-switch,.assignment-tabs,.filter-actions{flex-wrap:wrap;gap:8px;display:flex}.now-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.plain-box{border:1px solid #000;min-height:140px;padding:18px}.plain-box h2,.assignment-card h2,.upcoming-item h3,.schedule-row h3{margin:12px 0;font-size:1.1rem}.schedule-detail{font-size:.95rem}.plain-box p,.assignment-card p,.upcoming-item p,.schedule-row p{margin:6px 0}.label,.text-tag,.detail-field h2{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.day-navigation{margin-bottom:16px}.date-navigation{text-align:center;text-transform:uppercase;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:8px;display:grid}.date-navigation button,.calendar-month-navigation button{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.date-navigation svg,.calendar-month-navigation svg,.calendar-dialog-close svg{width:22px;height:22px}.day-selector{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.day-selector button{text-transform:uppercase;min-width:0;padding:8px 4px}.today-button{margin-bottom:16px}.daily-view,.weekly-view{display:none}.daily-view.active,.weekly-view.active{display:block}.schedule-list{border-top:1px solid var(--border)}.schedule-row{border-bottom:1px solid var(--border-soft);grid-template-columns:82px minmax(0,1fr);gap:0;padding:0;transition:opacity .16s,background-color .16s;display:grid}.schedule-row-wrapper:not(:last-child) .schedule-row{border-bottom:1px solid var(--border-soft)}.schedule-row.cancelled{text-decoration:line-through}.schedule-time{text-align:right;padding:17px 14px 17px 0;font-size:.8rem;font-style:normal;line-height:1.2;display:block}.schedule-time strong{font-size:1rem}.schedule-content{border-left:1px solid var(--border-soft);min-height:68px;padding:15px 36px 15px 18px;position:relative}.schedule-content h3,.schedule-content p{margin:0}.schedule-title-line{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.schedule-title-line h3{margin-right:auto;font-size:1rem}.schedule-detail{margin-top:3px!important}.schedule-range{color:var(--muted);font-size:.82rem;margin-top:6px!important}.schedule-chevron{width:17px;height:17px;color:var(--muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.schedule-subject-link{color:inherit;text-decoration:none;display:block}.schedule-subject-link:hover h3,.schedule-subject-link:focus-visible h3{text-underline-offset:3px;text-decoration:underline}.schedule-subject-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.schedule-row.temporal-past{opacity:.44}.schedule-row.temporal-current{border-left:4px solid var(--text);background:var(--surface-subtle);opacity:1}.schedule-row.temporal-current .schedule-time{padding-left:8px;font-weight:700}.schedule-state-label{font-size:.7rem}.schedule-pause .schedule-content h3{color:var(--muted);font-weight:400}.schedule-pause .schedule-content{min-height:58px;padding-top:12px;padding-bottom:12px}.week-grid{border-top:1px solid #000;border-left:1px solid #000;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.week-day{border-bottom:1px solid #000;border-right:1px solid #000;min-width:0}.week-day>h3{text-transform:uppercase;border-bottom:1px solid #000;margin:0;padding:12px;font-size:.9rem}.week-day>p{padding:12px}.week-day .schedule-list{border-top:0}.week-day .schedule-row{grid-template-columns:1fr;gap:4px;padding:12px}.upcoming-task-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.upcoming-task{color:#000;border:2px solid #000;padding:18px;text-decoration:none;display:block}.upcoming-task h3,.institutional-event h3{margin:10px 0}.institutional-event-list{border-top:1px solid #000}.institutional-event{border-bottom:1px solid #000;padding:15px 0}.institutional-event.important-event{border-left:3px solid #000;padding-left:12px}.upcoming-list,.assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.upcoming-item,.assignment-card{color:#000;background:#fff;border:1px solid #000;padding:18px;text-decoration:none;display:block}.assignment-card:hover,.assignment-card:focus-visible{outline-offset:2px;outline:2px solid #000}.assignment-labels{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.assignment-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.text-tag{border:1px solid #000;padding:5px 7px;display:inline-block}.assignment-tabs{margin-bottom:24px}.active-subject-filter{border-top:1px solid #000;border-bottom:1px solid #000;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;padding:12px 0;font-size:.9rem;display:flex}.active-subject-filter>span{gap:3px;display:grid}.active-subject-filter small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.active-subject-filter strong{font-size:1.08rem}.filters{border:1px solid #000;margin-bottom:24px}.filters summary{cursor:pointer;padding:12px}.filters form{border-top:1px solid #000;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;display:grid}.filters label{gap:6px;font-size:.85rem;font-weight:700;display:grid}.filters select,.filters input{color:#000;background:#fff;border:1px solid #000;width:100%;padding:8px}.filter-actions{align-items:end}.history-group{margin-top:36px}.detail-subject{margin:32px 0 10px;font-weight:700}.detail-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:720px;margin-bottom:36px;line-height:1.6}.detail-fields{border-top:1px solid #000;border-left:1px solid #000;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-field{border-bottom:1px solid #000;border-right:1px solid #000;min-height:110px;padding:16px}.detail-field h2{margin:0 0 14px}.detail-field p{margin:0}.assignment-resources{margin-top:42px}.notification-page{width:min(100%,720px)}.notification-page>h1{text-transform:uppercase}.notification-intro,.notification-message{margin:0 0 24px}.notification-message{line-height:1.5}.notification-options{border:0;margin:36px 0 0;padding:0;display:grid}.notification-options legend{letter-spacing:.08em;text-transform:uppercase;width:100%;margin-bottom:10px;padding:0;font-size:.8rem;font-weight:700}.notification-options label{cursor:pointer;border-bottom:1px solid #000;justify-content:space-between;align-items:center;gap:18px;min-height:50px;display:flex}.notification-options label:first-of-type{border-top:1px solid #000}.notification-options input{accent-color:#000;width:20px;height:20px;margin:0}.notification-options:disabled label{cursor:default;opacity:.45}.reminder-options label{justify-content:flex-start}.future-option{margin-top:34px;font-size:.85rem}.assignment-resources>h2{text-transform:uppercase;margin:0 0 18px;font-size:1.1rem}.resource-list,.resource-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.resource-file{color:#000;overflow-wrap:anywhere;background:#fff;border:1px solid #000;align-content:start;gap:8px;min-height:110px;padding:16px;text-decoration:none;display:grid}.resource-file:hover,.resource-file:focus-visible{color:#fff;background:#000}.resource-file span{font-size:.85rem}.resource-images button{color:#000;text-align:left;cursor:pointer;background:#fff;border:1px solid #000;gap:10px;padding:0 0 12px;display:grid;overflow:hidden}.resource-images img{object-fit:contain;background:#fff;width:100%;max-height:300px;display:block}.resource-images span{overflow-wrap:anywhere;padding:0 12px}.resource-video{margin:28px 0}.resource-video h3{margin:0 0 12px}.video-frame{background:#000;border:1px solid #000;width:100%;margin-bottom:10px;padding-top:56.25%;position:relative}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.calendar-controls{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:16px;display:grid}.calendar-month-navigation{text-align:center;grid-column:2;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;display:grid}.calendar-month-navigation strong{min-width:0}.calendar-month-navigation button{color:#000;cursor:pointer;background:#fff;border:1px solid #000;min-height:44px}.calendar-month-navigation button:hover,.calendar-month-navigation button:focus-visible{color:#fff;background:#000}.month-calendar{border-top:1px solid #000;border-left:1px solid #000;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{text-align:center;text-transform:uppercase;border-bottom:1px solid #000;border-right:1px solid #000;padding:10px 6px;font-size:.75rem;font-weight:700}.calendar-day{border-bottom:1px solid #000;border-right:1px solid #000;min-width:0;min-height:118px;padding:7px}.calendar-day>time{text-align:right;margin-bottom:6px;font-size:.8rem;display:block}.calendar-day.outside-month{background:#f5f5f5}.calendar-day.calendar-today{outline-offset:-4px;outline:3px double #000}.calendar-events{gap:4px;display:grid}.calendar-events button{color:#000;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #000;min-width:0;min-height:0;padding:5px;font-size:.72rem;overflow:hidden}.calendar-events button:hover,.calendar-events button:focus-visible{color:#fff;background:#000}.calendar-events button span{text-transform:uppercase;font-size:.6rem;font-weight:700;display:block}.calendar-mobile{display:none}.calendar-dialog-backdrop{z-index:20;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.calendar-dialog{color:#000;background:#fff;border:1px solid #000;width:min(100%,520px);max-height:calc(100vh - 40px);padding:28px;position:relative;overflow-y:auto}.calendar-dialog h2{margin:12px 48px 20px 0}.calendar-dialog p,.calendar-dialog time{margin:12px 0;line-height:1.5;display:block}.calendar-dialog .simple-button{margin-top:12px}.calendar-dialog-close{color:#000;cursor:pointer;background:#fff;border:1px solid #000;width:44px;padding:0;font-size:1.5rem;position:absolute;top:12px;right:12px}.calendar-dialog-close:hover,.calendar-dialog-close:focus-visible{color:#fff;background:#000}@media (width<=600px){.page{padding:20px}.box-link{max-width:100%}.academic-section{margin-top:36px}.day-selector{max-width:100%;display:flex;overflow-x:auto}.day-selector button{flex:0 0 76px}.schedule-row{grid-template-columns:68px minmax(0,1fr);gap:0}.schedule-time{padding-right:10px}.schedule-content{padding-left:13px;padding-right:30px}}.appearance-settings{border-bottom:1px solid var(--border);margin-top:0;padding:18px 0 24px}.appearance-settings fieldset{border:0;gap:22px;margin:0;padding:0;display:flex}.appearance-settings legend{margin-bottom:12px;font-weight:700}.appearance-settings label{cursor:pointer;align-items:center;gap:7px;min-height:44px;display:inline-flex}.appearance-settings input,.progress-checkbox{accent-color:var(--text)}html[data-theme] body *{border-color:var(--border)}html[data-theme] :where(.box-link,.simple-button,.view-switch button,.day-navigation button,.assignment-tabs a,.assignment-card,.upcoming-item,.filters select,.filters input,.resource-file,.resource-images button,.calendar-month-navigation button,.calendar-events button,.calendar-dialog,.calendar-dialog-close,.calendar-mobile-day button,.account-prompt-close,.bottom-nav,table){background:var(--surface);color:var(--text)}.notification-teaser,.plain-box,.upcoming-task,.home-task-item,.detail-progress,.account-prompt,.auth-denied{color:var(--text)}html[data-theme] .bottom-nav a{color:var(--muted)}html[data-theme] .bottom-nav a.active{border-top-color:var(--text);color:var(--text)}html[data-theme] .bottom-nav-icon{color:currentColor}html[data-theme] :where(.upcoming-task,.assignment-card-link,.completed-history-item,.home-task-item,.home-event-list a,.transparency-page a,.students-page a){color:var(--text)}html[data-theme] :where(.gallery-image,.resource-images img){background:var(--surface)}html[data-theme] input{accent-color:var(--text)}.box-link:hover,.box-link:focus-visible,.simple-button:hover,.simple-button:focus-visible,.view-switch button.active,.assignment-tabs a.active,.calendar-mobile-day button:hover,.calendar-mobile-day button:focus-visible{background:var(--text);color:var(--bg)}.lightbox{background:var(--lightbox-bg)}.lightbox button{border-color:var(--lightbox-text);background:var(--lightbox-bg);color:var(--lightbox-text)}.lightbox button:hover,.lightbox button:focus-visible{background:var(--lightbox-text);color:var(--lightbox-bg)}.calendar-backdrop{background:#000000bf}:focus-visible{outline-color:var(--focus)}[data-theme=dark] .resource-images img,[data-theme=dark] .gallery-image img,[data-theme=dark] .lightbox img,[data-theme=dark] .account-identity img,[data-theme=dark] .google-login-button img{filter:none}.expenses-page{width:min(100%,820px)}.expenses-page>h1,.expense-section>h2,.expense-summary-item>span,.expense-movements time,.expense-movements h3{text-transform:uppercase}.expense-summary{border:1px solid #000;grid-template-columns:repeat(3,minmax(0,1fr));margin:36px 0 64px;display:grid}.expense-summary-item{border-right:1px solid #000;align-content:space-between;gap:20px;min-height:150px;padding:22px;display:grid}.expense-summary-item:last-child{border-right:0}.expense-summary-item>span,.expense-section>h2,.expense-movements time{letter-spacing:.08em;font-size:.75rem;font-weight:700}.expense-summary-item>strong{white-space:nowrap;font-size:clamp(1.45rem,3vw,2rem);font-weight:700}.expense-summary-available>strong{font-size:clamp(1.8rem,4vw,2.75rem)}.expense-section{margin-top:56px}.expense-section>h2{margin:0 0 22px}.expense-sources{border-top:1px solid #000;margin:0}.expense-sources>div{border-bottom:1px solid #000;justify-content:space-between;gap:20px;padding:15px 0;display:flex}.expense-sources dt,.expense-sources dd{margin:0}.expense-sources dd{white-space:nowrap;font-weight:700}.expense-movements{border-top:1px solid #000}.expense-movements article{border-bottom:1px solid #000;padding:26px 0 30px}.expense-movement-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-top:10px;display:flex}.expense-movement-heading h3,.expense-movement-heading strong,.expense-movements p{margin:0}.expense-movement-heading h3{font-size:1.05rem}.expense-movement-heading strong{white-space:nowrap}.expense-movements p{margin-top:16px;line-height:1.5}.expense-movements p span{font-weight:700}@media (width<=600px){.expense-summary{grid-template-columns:1fr;margin-bottom:48px}.expense-summary-item{border-bottom:1px solid #000;border-right:0;min-height:112px}.expense-summary-item:last-child{border-bottom:0}.expense-movement-heading{flex-direction:column;align-items:flex-start;gap:8px}}@media (width<=420px){.gallery-grid{column-count:1}.filters form{grid-template-columns:1fr}.home-actions{grid-template-columns:160px}.notification-teaser{width:100%}}@media (width<=700px){.view-switch{display:flex}.view-switch button[data-view=week],.weekly-view,.weekly-view.active{display:none}.schedule-view-week .daily-view{display:block}.now-grid,.upcoming-list,.assignment-list,.detail-fields,.resource-list,.resource-images{grid-template-columns:1fr}.filters form{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-controls{grid-template-columns:1fr}.calendar-controls>.simple-button{justify-self:start}.calendar-month-navigation{grid-column:1;width:100%}.calendar-month-navigation strong{overflow-wrap:anywhere;padding:0 6px;font-size:.95rem}.month-calendar{display:none}.calendar-mobile{display:block}.calendar-mobile-day{margin-top:24px}.calendar-mobile-day h2{text-transform:capitalize;margin:0 0 8px;font-size:1rem}.calendar-mobile-day button{color:#000;text-align:left;cursor:pointer;background:#fff;border:1px solid #000;gap:7px;width:100%;margin-bottom:8px;padding:14px;display:grid}.calendar-mobile-day button:hover,.calendar-mobile-day button:focus-visible{color:#fff;background:#000}}@media (width<=420px){.filters form{grid-template-columns:1fr}}.assignment-card-layout{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.assignment-card-layout>.assignment-card-link:first-child{grid-column:1/-1}.assignment-card-link{color:#000;min-width:0;text-decoration:none;display:block}.progress-checkbox{accent-color:#000;cursor:pointer;border-radius:0;width:20px;height:20px;margin:11px 0 0}.progress-checkbox:disabled{cursor:wait}.personal-completion{gap:3px;display:grid;margin-top:14px!important}.personal-completion span{font-size:.85rem}.detail-progress{border:1px solid #000;max-width:720px;margin:24px 0 32px;padding:16px}.detail-progress>label{cursor:pointer;align-items:center;gap:12px;font-weight:700;display:flex}.detail-progress .progress-checkbox{margin:0}.detail-personal-fields{border-top:1px solid #000;border-left:1px solid #000;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;display:grid}.detail-personal-fields>p{border-bottom:1px solid #000;border-right:1px solid #000;grid-column:1/-1;margin:0;padding:14px}.account-prompt{border:1px solid #000;max-width:620px;margin:0 0 24px;padding:16px 52px 16px 16px;position:relative}.google-login-button{gap:9px}.google-login-button img{flex:0 0 18px;width:18px;height:18px;display:block}.account-prompt p{margin:0 0 10px;line-height:1.45}.account-prompt-note{font-size:.85rem}.account-prompt-close{color:#000;cursor:pointer;background:#fff;border:1px solid #000;width:34px;min-height:34px;position:absolute;top:8px;right:8px}.account-inline-message{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px;display:flex}.account-inline-message p{margin:0}.account-page{width:min(100%,820px)}.account-page>h1,.account-section>h2{text-transform:uppercase}.account-guest{max-width:560px;line-height:1.5}.account-identity{border-bottom:1px solid #000;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 0 24px;display:flex}.account-identity img{object-fit:cover;border:1px solid #000;width:64px;height:64px}.account-identity div{flex:1;gap:4px;min-width:180px;display:grid}.account-identity span{overflow-wrap:anywhere}.account-section{margin-top:42px}.account-section>h2{margin:0 0 18px;font-size:1.1rem}.account-metrics{border-top:1px solid #000;border-left:1px solid #000;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-metric{border-bottom:1px solid #000;border-right:1px solid #000;align-content:center;gap:6px;min-height:110px;padding:16px;display:grid}.account-metric strong{font-size:1.5rem}.completed-history-group{margin-top:28px}.completed-history-group>h3{text-transform:uppercase;margin:0 0 10px;font-size:.9rem}.completed-history-list{border-top:1px solid #000}.completed-history-item{color:#000;border-bottom:1px solid #000;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:14px 0;text-decoration:none;display:grid}.completed-history-item>div{gap:5px;display:grid}.completed-history-item>div:last-child{text-align:right}.completed-history-item:hover strong,.completed-history-item:focus-visible strong{text-decoration:underline}@media (width<=700px){.detail-personal-fields,.account-metrics{grid-template-columns:1fr}}@media (width<=420px){.completed-history-item{grid-template-columns:1fr}.completed-history-item>div:last-child{text-align:left}}:root{--bottom-nav-height:68px}.app-shell,.app-content{min-height:100vh}.app-content{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 18px)}.auth-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px;display:flex}.auth-screen h1,.auth-screen p{margin:0}.auth-course{line-height:1.5}.auth-note{max-width:320px;font-size:.8rem;line-height:1.45}.auth-denied{border:1px solid #000;max-width:360px;padding:12px}.bottom-nav{z-index:15;width:min(100%,720px);min-height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border:1px solid #000;border-bottom:0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;right:0;transform:translate(-50%)}.bottom-nav a{min-width:0;min-height:var(--bottom-nav-height);color:#4a4a4a;text-align:center;border-top:3px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px 5px;font-size:.72rem;text-decoration:none;display:flex}.bottom-nav a.active{color:#000;border-top-color:#000;font-weight:700}.bottom-nav a:focus-visible{outline-offset:-4px;outline:2px solid #000}.bottom-nav-icon{stroke-width:1.8px;width:22px;height:22px}.bottom-nav a.active .bottom-nav-icon{stroke-width:2.5px}.home-page{width:min(100%,900px)}.home-header{margin:12px 0 34px}.home-header p{margin:8px 0 0;font-size:1.1rem}.home-section{margin-top:34px}.home-section-heading{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:14px;display:flex}.home-section-heading h2{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem}.home-section-heading a{font-size:.85rem}.home-today-schedule .schedule-list{border-top-width:2px}.home-task-summary{gap:10px;display:grid}.home-task-count{margin:0 0 2px;font-size:.9rem}.home-task-item{color:#000;border:1px solid #000;gap:6px;padding:16px;text-decoration:none;display:grid}.home-task-item strong{font-size:1.08rem}.home-task-item time,.home-task-item>span:last-child{font-size:.88rem}.home-task-item.urgency-urgent,.home-task-item.urgency-important{border-width:2px}.home-event-list{border-top:1px solid #000}.home-event-list article{border-bottom:1px solid #000;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:13px 0;display:grid}.home-event-list article .label{grid-column:1/-1}.home-event-list article.important-event{border-left:3px solid #000;padding-left:12px}.home-more>h2{text-transform:uppercase;margin:0 0 16px;font-size:1rem}.home-more .box-list{flex-flow:wrap;display:flex}.home-more .install-control,.home-more .notification-teaser{margin-top:14px}.students-page{width:min(100%,760px)}.students-heading{border-bottom:1px solid #000;justify-content:space-between;align-items:baseline;gap:16px;margin:32px 0 24px;padding-bottom:14px;display:flex}.students-heading h1{text-transform:uppercase}.students-heading>span{font-size:1.25rem;font-weight:700}.students-list{margin:0;padding:0;list-style:none}.students-list li{border-bottom:1px solid #000;grid-template-columns:52px minmax(0,1fr);gap:14px;padding:15px 0;display:grid}.students-list li:last-child{border-bottom:0}.students-list li>span{font-size:1.1rem;font-weight:700}.students-list li>div{overflow-wrap:anywhere;gap:4px;display:grid}.students-list li>div>span{font-size:.9rem}.account-course-details{border-left:1px solid #000;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-course-details>div{border-bottom:1px solid #000;border-right:1px solid #000;gap:8px;padding:16px;display:grid}.account-course-details span{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.account-notifications>div{border-top:1px solid #000;border-bottom:1px solid #000;grid-template-columns:24px 1fr auto;align-items:center;gap:14px;padding:16px 0;display:grid}.account-notifications svg{width:22px;height:22px}.account-logout{margin-top:38px}.lightbox{z-index:30}@media (width<=600px){.page{padding-left:18px;padding-right:18px}.bottom-nav a{font-size:.66rem}.account-course-details{grid-template-columns:1fr}.account-notifications>div{grid-template-columns:24px 1fr}.account-notifications .simple-button{grid-column:1/-1;justify-self:start}.home-event-list article{grid-template-columns:1fr;display:grid}.home-section-heading{align-items:flex-start}.active-subject-filter{flex-direction:column;align-items:flex-start;gap:8px}}
