html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--theme-surface:#142238;--theme-surface-soft:#1b2d46;--theme-border:#334b68;--theme-text:#f1f5f9;--theme-muted:#b8c7d9;--theme-link:#67d5f5;--text:#b8c7d9;--text-h:#f1f5f9;--bg:#0b1220;--border:#334b68;--code-bg:#1b2d46;color:#f1f5f9;background:#0b1220}.theme-selector{color:var(--theme-text,var(--color-primary,#003b7a));flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.theme-selector>span:first-child{font-size:23px}.theme-selector-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.theme-selector select{border:1px solid var(--theme-border,#b6c9dc);background:var(--theme-surface,#fff);width:auto;max-width:125px;min-height:44px;color:inherit;font:inherit;cursor:pointer;border-radius:12px 12px 12px 5px;padding:8px;font-size:13px}.theme-selector select:focus-visible{outline:3px solid var(--color-accent,#67d5f5);outline-offset:3px}html[data-theme=dark] :is(.parent-layout,.teacher-layout,.parent-layout-content,.teacher-layout-content){color:var(--theme-text);background:#0b1220}html[data-theme=dark] :is(.parent-layout-header,.teacher-layout-header){color:var(--theme-text);border-color:var(--theme-border);background:#142238}html[data-theme=dark] :is(input,select,textarea){color:var(--theme-text);background-color:var(--theme-surface);border-color:#617f9d}html[data-theme=dark] :is(input,textarea)::placeholder{color:var(--theme-muted);opacity:1}html[data-theme=dark] :is(.ui-theme,[class$=-page]){--ui-success:#5ed6b3;--ui-warning:#f4c46b;--ui-danger:#ff9d9a;--ui-information:#67d5f5;--ui-calendar:#baa0f5;--module-success:#5ed6b3;--module-warning:#f4c46b;--module-danger:#ff9d9a;--module-information:#67d5f5;--module-calendar:#baa0f5}html[data-theme=dark] :is(.ui-subject-badge,.performance-chart-value,.performance-chart-label,.performance-subject>strong){color:color-mix(in srgb,var(--subject-color,var(--theme-link)) 65%,white)}html[data-theme=dark] :is(.parent-header-avatar,.teacher-header-avatar){background:#1b2d46;border-color:#334b68}html[data-theme=dark] .filter-accordion-copy>small{color:var(--theme-muted)}html[data-theme=dark] .summary-icon{color:color-mix(in srgb,var(--status-color) 55%,white)}html[data-theme=dark] .grades-chart-value{color:color-mix(in srgb,var(--chart-color) 55%,white)}html[data-theme=dark] .student-picker-child[aria-pressed=true]{border-color:#67d5f5;box-shadow:inset 0 0 0 1px #67d5f5}html[data-theme=dark] .ui-subject-badge-icon{background:#dce7f3}html[data-theme=dark] .charge-card-icon{color:color-mix(in srgb,var(--payment-row-tone,#67d5f5) 55%,white)!important}html[data-theme=dark] [class*=payment] [class$=-icon]{color:color-mix(in srgb,var(--payment-icon-tone,#67d5f5) 55%,white)}html[data-theme=dark] :is(.ui-icon-bubble,.ui-metric-icon){color:color-mix(in srgb,var(--card-tone,var(--ui-primary)) 55%,white)}.teacher-header-actions{align-items:center;gap:12px;display:flex}@media (width<=600px){.theme-selector select{max-width:100px}.teacher-header-actions{gap:6px}.parent-header-actions{flex-wrap:nowrap}}html[data-theme=dark]{--theme-ink-be352c:#d88680;--theme-ink-a16800:#c7a466;--theme-ink-0876b9:#6badd5;--theme-ink-0876aa:#6badcc;--theme-ink-5b4bbb:#9d93d6;--theme-ink-9b438f:#c38ebc;--theme-ink-aa3029:#cc837f;--theme-ink-a86600:#cba366;--theme-ink-c82b21:#de807a;--theme-ink-8e514c:#bb9794;--theme-ink-9a6500:#c2a366;--theme-ink-7540a8:#ac8ccb;--theme-ink-8ce0af:#baeccf;--theme-ink-ffaaa2:#ffccc7;--theme-ink-c48a24:#dcb97c;--theme-ink-9b6811:#c3a470;--theme-ink-b76b08:#d4a66b;--theme-ink-c23930:#da8883;--theme-ink-15965d:#73c09e;--theme-ink-b87300:#d4ab66;--theme-ink-c5221f:#dc7a79;--theme-ink-9b6909:#c3a56b;--theme-ink-d7473f:#e7918c;--theme-ink-a86d00:#cba766;--theme-ink-b77900:#d4af66;--theme-ink-b84236:#d48e86;--theme-ink-9c630e:#c4a16e;--theme-ink-ac352d:#cd8681;--theme-ink-a86b05:#cba669;--theme-ink-ad382f:#ce8882;--theme-ink-a33b32:#c88984;--theme-ink-175da8:#749ecb;--theme-ink-7048ad:#a991ce;--theme-ink-a55b12:#c99d71;--theme-ink-155b91:#739dbd;--theme-ink-b27300:#d1ab66;--theme-ink-176296:#74a1c0;--theme-ink-ad302b:#ce8380;--theme-ink-326da4:#84a7c8;--theme-ink-c63e38:#dd8b88}@media (width<=900px){.public-access:is(.welcome-page,.login-page){grid-template-columns:1fr}.public-access :is(.welcome-brand,.login-brand){min-height:auto;padding:24px}.public-access :is(.brand-logo,.login-logo){width:72px;height:80px;margin-bottom:14px}.public-access :is(.brand-message,.login-brand-message) h1{max-width:560px;margin-inline:auto;font-size:26px}.public-access :is(.brand-message>p:last-child,.login-brand-description){display:none}.public-access :is(.welcome-access,.login-access){padding:76px 20px 28px}}@media (width<=480px){.public-access :is(.access-content,.login-form-container){padding:24px 18px}.public-access :is(.welcome-access,.login-access){padding-inline:12px}.public-access .public-access-icon{width:48px;height:48px}}@media (width<=900px){.public-access:is(.welcome-page,.login-page){grid-template-rows:auto 1fr;min-height:100dvh}.public-access :is(.welcome-brand,.login-brand).institutional-panel-geometry{min-height:0;padding:16px 20px}.public-access :is(.brand-content,.login-brand-content){justify-content:center;align-items:center;gap:14px;display:flex}.public-access :is(.brand-logo,.login-logo){flex:0 0 48px;width:48px;height:54px;margin:0;padding:5px}.public-access :is(.brand-message,.login-brand-message) h1{margin:4px 0;font-size:22px;line-height:1.2}.public-access :is(.brand-eyebrow,.login-brand-eyebrow){margin:0;font-size:9px}.public-access :is(.welcome-access,.login-access){gap:12px;min-height:0;padding:12px}.public-access :is(.access-content,.login-form-container){margin-block:auto;padding:16px 18px}.public-access .back-button{margin-bottom:4px}.public-access .public-access-icon{width:40px;height:40px;margin-bottom:6px}.public-access .login-heading{margin-bottom:14px}.public-access .login-heading h2{margin:6px 0;font-size:26px}.public-access :is(.login-eyebrow,.eyebrow){margin:4px 0}.public-access .login-heading>p:last-child{margin:6px 0;font-size:13px;line-height:1.45}.public-access .login-form{gap:12px}.public-access .form-field{gap:6px}.public-access .form-field input{height:46px}.public-access .public-appearance-tools{margin-top:auto}}.portal-error{box-sizing:border-box;background:color-mix(in srgb, var(--module-primary) 5%, var(--theme-surface,white));min-height:100svh;color:var(--theme-text,var(--module-secondary));place-items:center;padding:clamp(16px,5vw,64px);display:grid}.portal-error-card{box-sizing:border-box;background:var(--theme-surface,white);border:1px solid var(--public-border);border-left:5px solid var(--module-primary);text-align:center;border-radius:24px 24px 24px 8px;width:min(100%,620px);padding:clamp(24px,5vw,48px)}.portal-error h1{color:var(--theme-text,var(--module-secondary));overflow-wrap:anywhere;margin:0 0 20px;font-size:clamp(24px,4vw,32px);line-height:1.25}.portal-error p{line-height:1.65}.portal-error-hint{font-size:14px}.portal-error-actions{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.portal-error-actions>*{box-sizing:border-box;min-height:48px;font:inherit;cursor:pointer;flex:190px;padding:12px 16px}.portal-error-actions a{border:1px solid var(--module-primary);color:var(--theme-text,var(--module-primary));background:var(--theme-surface,white);text-underline-offset:3px;border-radius:14px 14px 14px 5px;place-items:center;text-decoration:underline;display:grid}.portal-error :is(a,h1):focus-visible{outline:3px solid var(--module-primary);outline-offset:4px}.language-switcher{border:1px solid color-mix(in srgb,var(--color-primary,#003b7a) 25%,var(--theme-border,#d5e1ec));background:var(--theme-surface,#fff);border-radius:10px;padding:3px;display:inline-flex}.language-switcher button{min-width:34px;color:var(--theme-muted,#607087);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 8px;font:700 11px/1 inherit}.language-switcher button.active{background:var(--color-primary,#003b7a);color:#fff}.parent-sidebar-language{justify-content:center;margin-top:auto;padding:10px 18px;display:flex}.parent-sidebar-language+.parent-sidebar-logout{margin-top:0}.parent-layout-header>.language-switcher{margin-left:auto}.parent-layout-header>.language-switcher+.parent-notification-button{margin-left:8px}@media (width<=640px){.parent-layout-header>.language-switcher{display:none}}.welcome-access,.login-access{position:relative}.welcome-access>.language-switcher,.login-access>.language-switcher{z-index:5;position:absolute;top:24px;right:24px}@media (width<=640px){.welcome-access>.language-switcher,.login-access>.language-switcher{top:14px;right:14px}}.login-page{background:var(--theme-surface,#fff);--login-primary:var(--color-primary,#003b7a);--login-secondary:var(--color-secondary,#06245a);--login-accent:var(--color-accent,#78d0ec)}.login-brand{background:radial-gradient(circle at 20% 20%, #78d0ec47, transparent 36%), linear-gradient(145deg, var(--login-secondary) 0%, var(--login-primary) 100%);align-items:center;padding:64px;display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-160px}.login-brand-content{z-index:1;text-align:center;width:min(100%,620px);margin:0 auto;position:relative}.login-logo{background:var(--theme-surface,#fff);border-radius:28px;width:150px;height:168px;margin:0 auto 38px;padding:16px;overflow:hidden;box-shadow:0 22px 50px #0000002e}.login-logo img{object-fit:contain;width:100%;height:100%}.login-brand-eyebrow,.login-eyebrow{color:var(--login-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:800;line-height:1.4}.login-brand-message h1{color:#fff;letter-spacing:-.04em;margin:0;font-size:clamp(38px,4vw,58px);line-height:1.06}.login-brand-description{color:#ffffffc7;max-width:540px;margin:24px auto 0;font-size:17px;line-height:1.6}.login-access{background:var(--theme-surface,#fff);justify-content:center;align-items:center;padding:48px 64px;display:flex}.login-form-container{width:min(100%,480px)}.back-button,.forgot-button{color:var(--theme-text,var(--login-primary));cursor:pointer;background:0 0;border:0;font-weight:700}.back-button{margin:0 0 28px;padding:0;font-size:14px}.login-heading{margin-bottom:30px}.login-eyebrow{color:var(--theme-text,var(--login-primary))}.login-heading h2{color:var(--theme-text,var(--login-secondary));letter-spacing:-.04em;margin:0;font-size:clamp(36px,4vw,50px);line-height:1.08}.login-heading>p:last-child{color:var(--theme-muted,#56657a);margin:16px 0 0;font-size:16px;line-height:1.55}.login-form{gap:20px;display:grid}.form-field{gap:8px;display:grid}.form-field label{color:var(--theme-text,#1a3155);font-size:14px;font-weight:700}.form-field input{border:1px solid var(--theme-border,#cad4e1);background:var(--theme-surface,#fff);width:100%;height:52px;color:var(--theme-text,#13294b);border-radius:13px;outline:none;padding:0 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-field input:focus{border-color:#0071bc;box-shadow:0 0 0 4px #0071bc1f}.form-field input[aria-invalid=true]{border-color:#b42318}.password-field{position:relative}.password-field input{padding-right:84px}.password-toggle{color:var(--theme-text,var(--login-primary));cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px;font-weight:800;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.login-options{justify-content:space-between;align-items:center;gap:16px;display:flex}.remember-option{color:var(--theme-muted,#56657a);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.remember-option input{width:17px;height:17px;accent-color:var(--login-primary)}.forgot-button{padding:0;font-size:13px}.login-error{border:1px solid var(--theme-border,#f5c2bd);background:var(--theme-surface,#fff1f0);color:var(--theme-text,#9b1c12);border-radius:10px;margin:0;padding:11px 14px;font-size:13px;line-height:1.4}.login-submit{background:var(--login-primary);color:#fff;cursor:pointer;border:0;border-radius:14px;width:100%;min-height:52px;padding:12px 20px;font-size:15px;font-weight:800;box-shadow:0 12px 26px #003b7a38}.login-submit:hover{background:var(--login-secondary)}.login-page{--login-primary:var(--color-primary,var(--login-primary));--login-secondary:var(--color-secondary,var(--login-secondary));--login-accent:var(--color-accent,var(--login-accent))}@media (width>=641px) and (width<=900px) and (orientation:portrait){.login-brand{min-height:38dvh;padding:38px 48px}.login-brand-content{text-align:left;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:32px;display:grid}.login-logo{width:125px;height:140px;margin:0}.login-brand-message h1{font-size:38px}.login-brand-description{margin-top:14px;font-size:15px}.login-access{min-height:62dvh;padding:38px 32px}.login-form-container{width:min(100%,580px)}}@media (width>=901px) and (width<=1100px) and (orientation:landscape){.login-brand,.login-access{padding:40px}.login-logo{width:125px;height:140px;margin-bottom:26px}.login-brand-message h1{font-size:42px}.login-brand-description{font-size:15px}.login-heading h2{font-size:42px}}@media (width<=640px) and (orientation:portrait){.login-brand{min-height:auto;padding:26px 22px}.login-brand-content{text-align:left;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:18px;display:grid}.login-logo{border-radius:18px;width:86px;height:96px;margin:0;padding:9px}.login-brand-eyebrow{margin-bottom:7px;font-size:9px}.login-brand-message h1{font-size:25px}.login-brand-description{display:none}.login-access{min-height:auto;padding:28px 22px}.back-button{margin-bottom:20px}.login-heading{margin-bottom:24px}.login-heading h2{font-size:36px}.login-heading>p:last-child{margin-top:12px;font-size:14px}.login-options{align-items:flex-start}}@media (width<=900px) and (height<=500px) and (orientation:landscape){.login-brand,.login-access{min-height:100dvh;padding:16px 20px}.login-brand-content{text-align:left;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:16px;display:grid}.login-logo{border-radius:16px;width:82px;height:92px;margin:0;padding:8px}.login-brand-eyebrow{margin-bottom:7px;font-size:8px}.login-brand-message h1{font-size:clamp(22px,3.4vw,28px)}.login-brand-description{display:none}.login-form-container{max-width:380px}.back-button{margin-bottom:8px;font-size:11px}.login-heading{margin-bottom:12px}.login-eyebrow{margin-bottom:5px;font-size:8px}.login-heading h2{font-size:28px}.login-heading>p:last-child{display:none}.login-form{gap:10px}.form-field{gap:4px}.form-field label{font-size:11px}.form-field input{height:39px;font-size:13px}.login-options{gap:10px}.remember-option,.forgot-button{font-size:10px}.login-submit{min-height:40px;font-size:13px}.login-error{padding:7px 10px;font-size:10px}}.profile-security-link{grid-column:1/-1;justify-self:end;min-height:44px;padding:12px 20px;text-decoration:none}.public-access{--module-primary:var(--color-primary,#003b7a);--module-secondary:var(--color-secondary,#06245a);--module-accent:var(--color-accent,#78d0ec);--public-border:color-mix(in srgb, var(--module-primary) 22%, var(--theme-border,white))}.public-access:is(.welcome-page,.login-page){background:color-mix(in srgb, var(--module-primary) 5%, var(--theme-surface,white));grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.public-access :is(.welcome-brand,.login-brand).institutional-panel-geometry{background:radial-gradient(ellipse at bottom right, color-mix(in srgb,var(--module-accent) 24%,transparent),transparent 65%),linear-gradient(145deg,var(--module-secondary),var(--module-primary));padding:clamp(24px,4vw,64px)}.public-access :is(.brand-logo,.login-logo){border-radius:24px 24px 24px 8px;width:112px;height:126px;margin:0 auto 28px;padding:12px}.public-access :is(.brand-message,.login-brand-message) h1{overflow-wrap:anywhere;font-size:clamp(26px,3vw,44px);line-height:1.2}.public-access :is(.brand-content,.login-brand-content){text-align:center;display:block}.public-access :is(.welcome-access,.login-access){background:0 0;align-items:center;min-height:auto;padding:88px 32px 36px}.public-access :is(.access-content,.login-form-container){border:1px solid var(--public-border);border-left:5px solid var(--module-primary);width:min(100%,520px);max-width:520px;box-shadow:0 16px 38px color-mix(in srgb,var(--module-secondary) 8%,transparent);border-radius:24px 24px 24px 8px;margin:auto;padding:32px}.public-access :is(.login-heading,.access-content){text-align:center}.public-access :is(.login-heading h2,.access-content h2){color:var(--theme-text,var(--module-secondary));overflow-wrap:anywhere;margin:10px 0;font-size:clamp(26px,3vw,36px);line-height:1.2}.public-access :is(.description,.login-heading>p:last-child,.helper-text){color:var(--theme-text,color-mix(in srgb,var(--module-secondary) 72%,white));font-size:14px;line-height:1.65}.public-access .public-access-icon{width:58px;height:58px;color:var(--theme-text,var(--module-primary));background:color-mix(in srgb,var(--module-primary) 9%,var(--theme-surface,white));border-radius:17px 17px 17px 6px;place-items:center;margin:0 auto 16px;display:grid}.public-access .login-heading{margin-bottom:24px}.public-access .login-form{text-align:left;gap:18px}.public-access .public-appearance-tools{z-index:2;align-items:center;gap:12px;max-width:calc(100% - 24px);display:flex;position:absolute;top:20px;right:24px}.public-access .public-appearance-tools .language-switcher{position:static}html[data-theme=dark] .public-access:is(.welcome-page,.login-page){background:#0b1220}html[data-theme=dark] .public-access :is(.welcome-access,.login-access){background:0 0}html[data-theme=dark] .public-access :is(.access-content,.login-form-container){background:var(--theme-surface);border-color:var(--theme-border)}html[data-theme=dark] .public-access :is(h2,.form-field label,.form-field input,.eyebrow){color:var(--theme-text)}html[data-theme=dark] .public-access :is(.description,.login-heading>p:last-child,.helper-text,.remember-option){color:var(--theme-muted)}html[data-theme=dark] .public-access :is(.back-button,.forgot-button,.privacy-button,.password-toggle){color:var(--theme-link)}html[data-theme=dark] .public-access :is(button,input):focus-visible{outline-color:var(--theme-link)}.public-access :is(.back-button,.forgot-button,.privacy-button,.password-toggle,.language-switcher button,.remember-option){min-width:44px;min-height:44px}.public-access .back-button{border:1px solid var(--public-border);border-radius:12px 12px 12px 5px;margin-bottom:12px;padding:8px 12px}.public-access .password-toggle{right:8px}.public-access .login-options{flex-wrap:wrap;gap:4px 12px}.public-access :is(.primary-button,.login-submit){background:var(--module-primary);color:#fff;border:1px solid var(--module-primary);border-radius:14px 14px 14px 5px;width:100%;min-height:48px;font-weight:750}.public-access .form-field input{border-color:var(--public-border);height:50px;color:var(--theme-text,var(--module-secondary));border-radius:12px 12px 12px 5px;font-size:16px}.public-access :is(button,input):focus-visible{outline:3px solid var(--module-primary);outline-offset:3px}.public-access button:disabled{opacity:.6;cursor:wait}.public-access .form-field label{color:var(--theme-text,var(--module-secondary))}.public-access .public-access-notice{text-align:left;border:1px solid var(--public-border);border-left:4px solid var(--module-accent);background:var(--theme-surface,white);color:var(--theme-text,var(--module-secondary));border-radius:14px 14px 14px 5px;margin:20px 0 0;padding:16px;font-size:14px;line-height:1.6}.public-access :is(.login-error,.configuration-warning){text-align:left;border-radius:12px 12px 12px 5px;line-height:1.5}@media (width<=900px){.public-access:is(.welcome-page,.login-page){grid-template-columns:1fr}.public-access :is(.welcome-brand,.login-brand){min-height:auto;padding:24px}.public-access :is(.brand-logo,.login-logo){width:72px;height:80px;margin-bottom:14px}.public-access :is(.brand-message,.login-brand-message) h1{max-width:560px;margin-inline:auto;font-size:26px}.public-access :is(.brand-message>p:last-child,.login-brand-description){display:none}.public-access :is(.welcome-access,.login-access){padding:76px 20px 28px}}@media (width<=480px){.public-access :is(.access-content,.login-form-container){padding:24px 18px}.public-access :is(.welcome-access,.login-access){padding-inline:12px}.public-access .public-access-icon{width:48px;height:48px}}.public-access :is(.welcome-access,.login-access){flex-direction:column;justify-content:center;gap:16px;padding:28px 32px 16px;display:flex}.public-access .public-appearance-tools{flex-wrap:wrap;flex-shrink:0;order:1;justify-content:center;max-width:100%;margin-top:auto;position:static}.public-access :is(.access-content,.login-form-container){margin-block:auto}@media (width<=900px){.public-access:is(.welcome-page,.login-page){grid-template-rows:auto 1fr;min-height:100dvh}.public-access :is(.welcome-brand,.login-brand).institutional-panel-geometry{min-height:0;padding:16px 20px}.public-access :is(.brand-content,.login-brand-content){justify-content:center;align-items:center;gap:14px;display:flex}.public-access :is(.brand-logo,.login-logo){flex:0 0 48px;width:48px;height:54px;margin:0;padding:5px}.public-access :is(.brand-message,.login-brand-message) h1{margin:4px 0;font-size:22px;line-height:1.2}.public-access :is(.brand-eyebrow,.login-brand-eyebrow){margin:0;font-size:9px}.public-access :is(.welcome-access,.login-access){gap:12px;min-height:0;padding:12px}.public-access :is(.access-content,.login-form-container){margin-block:auto;padding:16px 18px}.public-access .back-button{margin-bottom:4px}.public-access .public-access-icon{width:40px;height:40px;margin-bottom:6px}.public-access .login-heading{margin-bottom:14px}.public-access .login-heading h2{margin:6px 0;font-size:26px}.public-access :is(.login-eyebrow,.eyebrow){margin:4px 0}.public-access .login-heading>p:last-child{margin:6px 0;font-size:13px;line-height:1.45}.public-access .login-form{gap:12px}.public-access .form-field{gap:6px}.public-access .form-field input{height:46px}.public-access .public-appearance-tools{margin-top:auto}}.ui-button.ui-button{justify-content:center;align-items:center;gap:var(--ui-space-2);box-sizing:border-box;max-width:100%;font:inherit;cursor:pointer;white-space:normal;font-weight:700;line-height:1.4;text-decoration:none;min-height:var(--ui-control-height)!important;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius-control)!important;background:var(--theme-surface,white)!important;color:var(--theme-text,var(--ui-primary))!important;padding:10px 14px!important;font-size:13px!important;display:inline-flex!important}.ui-button.ui-button[data-ui-variant=primary]{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important}.ui-button.ui-button[data-ui-variant=danger]{background:var(--ui-danger)!important;border-color:var(--ui-danger)!important;color:#fff!important}.ui-button.ui-button[data-ui-variant=quiet]{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.ui-button.ui-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;animation:none!important;transform:none!important}.ui-button.ui-button:disabled:before{content:none!important}.ui-button.ui-button:focus-visible{outline-offset:3px;outline:3px solid var(--ui-accent)!important}.ui-button-icon{flex-shrink:0;display:inline-flex}.ui-button svg{flex-shrink:0}.ui-icon-button.ui-icon-button{width:44px;padding:10px!important}.ui-button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite ui-control-spin}@keyframes ui-control-spin{to{transform:rotate(360deg)}}.ui-icon-bubble{--ui-icon-tone:var(--ui-primary);border-radius:var(--ui-radius-icon);width:44px;height:44px;color:var(--ui-icon-tone);background:color-mix(in srgb,var(--ui-icon-tone) 9%,var(--theme-surface,white));flex:0 0 44px;place-items:center;display:grid}.ui-icon-bubble[data-ui-tone=success]{--ui-icon-tone:var(--ui-success)}.ui-icon-bubble[data-ui-tone=warning]{--ui-icon-tone:var(--ui-warning)}.ui-icon-bubble[data-ui-tone=danger]{--ui-icon-tone:var(--ui-danger)}.ui-icon-bubble[data-ui-tone=calendar]{--ui-icon-tone:var(--ui-calendar)}.ui-icon-bubble svg{width:26px;height:26px}.ui-section-heading.ui-section-heading{align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-5);border:1px solid var(--ui-border);border-radius:var(--ui-radius-panel);background:var(--theme-surface,white);color:var(--theme-text,var(--ui-secondary));grid-template-columns:44px minmax(0,1fr) 44px;min-width:0;display:grid}.ui-section-heading>.ui-icon-bubble{grid-area:1/1}.ui-section-heading>.ui-section-heading-copy{text-align:center;grid-area:1/2;min-width:0}.ui-section-heading :is(h2,h3,h4,h5,h6){color:inherit;overflow-wrap:anywhere;margin:0;font-size:clamp(18px,2vw,23px);line-height:1.35}.ui-section-heading p{overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;line-height:1.5}.ui-section-heading.ui-section-heading:has(>.ui-section-heading-actions){grid-template-columns:minmax(160px,1fr) minmax(0,2fr) minmax(160px,1fr)}.ui-section-heading>.ui-section-heading-actions{flex-wrap:wrap;grid-area:1/3;justify-content:flex-end;gap:8px;min-width:0;display:flex}.ui-section-heading[data-ui-tone=institutional]{background:linear-gradient(115deg,var(--ui-secondary) 0%,var(--ui-primary) 52%,color-mix(in srgb,var(--ui-accent) 40%,var(--ui-primary)) 100%);color:#fff}.ui-section-heading[data-ui-tone=institutional]>.ui-icon-bubble{color:#fff;background:#ffffff26}@media (width<=600px){.ui-section-heading.ui-section-heading{grid-template-columns:40px minmax(0,1fr) 40px;padding:14px}.ui-section-heading>.ui-icon-bubble{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.ui-button-spinner{animation:none}}.ui-section-heading.ui-section-heading :is(h2,h3,h4,h5,h6,p){color:inherit}@media (width<=700px){.ui-section-heading.ui-section-heading:has(>.ui-section-heading-actions){grid-template-columns:40px minmax(0,1fr) minmax(100px,130px);gap:10px}.ui-section-heading>.ui-section-heading-actions{justify-content:flex-end}.ui-section-heading>.ui-section-heading-actions :is(a,button,label){box-sizing:border-box;white-space:normal;max-width:100%}}summary.ui-section-heading{cursor:pointer;list-style:none}summary.ui-section-heading::-webkit-details-marker{display:none}summary.ui-section-heading:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}.ui-subject-badge{border:1px solid color-mix(in srgb,var(--subject-color) 24%,var(--theme-border,white));border-radius:var(--ui-radius-control);background:color-mix(in srgb,var(--subject-color) 5%,var(--theme-surface,white));color:var(--subject-color);box-sizing:border-box;align-items:center;gap:10px;min-width:0;padding:10px 14px;display:inline-flex}.ui-subject-badge-icon{background:color-mix(in srgb,var(--subject-color) 10%,var(--theme-surface,white));border-radius:var(--ui-radius-icon);flex:0 0 38px;place-items:center;height:38px;display:grid}.ui-subject-badge-icon img{object-fit:contain;width:27px;height:27px}.ui-subject-badge strong{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.4}.ui-subject-badge{max-width:100%}.ui-subject-badge-icon{width:38px;min-width:38px}@media (width<=600px){header.ui-section-heading.ui-section-heading:has(>.ui-section-heading-actions){grid-template-columns:40px minmax(0,1fr) 40px;row-gap:14px}header.ui-section-heading>.ui-section-heading-actions{grid-area:2/1/auto/-1;justify-content:center}}:root,.ui-theme{--ui-primary:var(--color-primary,#003b7a);--ui-secondary:var(--color-secondary,#06245a);--ui-accent:var(--color-accent,#64cce6);--ui-success:#16856b;--ui-warning:#b66a0a;--ui-danger:#b42318;--ui-information:#2378a3;--ui-calendar:#7457c7;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:20px;--ui-space-6:24px;--ui-header-content-gap:17px;--ui-panel-gap:19px;--ui-query-panel-margin:9px;--ui-radius-control:12px 12px 12px 5px;--ui-radius-panel:20px 20px 20px 6px;--ui-radius-icon:14px 14px 14px 5px;--ui-control-height:44px;--ui-font:inherit;--ui-shadow:0 4px 14px color-mix(in srgb,var(--ui-primary) 6%,transparent);--ui-border:color-mix(in srgb,var(--ui-primary) 23%,var(--theme-border,white));--ui-motion-duration:.16s}.portal-filter-accordion.filter-accordion{--filter-primary:var(--color-primary,#003b7a);isolation:isolate;box-sizing:border-box;width:100%;min-width:0;margin:0 0 var(--ui-query-panel-margin);border:1px solid color-mix(in srgb,var(--filter-primary) 20%,var(--theme-border,white));border-radius:var(--ui-radius-panel);background:var(--theme-surface,white);color:var(--theme-text,var(--filter-primary));box-shadow:0 4px 14px color-mix(in srgb,var(--filter-primary) 5%,transparent);padding:0;display:block;position:relative;overflow:visible}.portal-filter-accordion.filter-accordion:before,.portal-filter-accordion.filter-accordion:after{content:none;animation:none;transform:none}.portal-filter-accordion.filter-accordion>.filter-accordion-header{box-sizing:border-box;min-height:88px;color:var(--theme-text,var(--filter-primary));text-align:left;isolation:isolate;background:radial-gradient(circle at calc(100% - 60px) calc(100% + 23px),color-mix(in srgb,var(--color-accent,#64cce6) 18%,transparent),transparent 180px),linear-gradient(120deg,var(--theme-surface,white),color-mix(in srgb,var(--color-accent,#64cce6) 7%,var(--theme-surface,white)));border-radius:19px 19px 19px 5px;align-items:center;gap:20px;margin:0;padding:18px 22px;display:flex;position:relative;overflow:hidden}.filter-accordion .filter-accordion-search-motif{z-index:-1;pointer-events:none;width:170px;height:170px;color:var(--theme-text,var(--filter-primary));opacity:.08;position:absolute;bottom:-62px;right:-25px}.filter-accordion .filter-accordion-copy{flex:1;gap:6px;min-width:0;display:grid}.filter-accordion .filter-accordion-copy strong{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:750;line-height:1.45}.filter-accordion .filter-accordion-copy>small{overflow-wrap:anywhere;color:color-mix(in srgb,var(--filter-primary) 78%,var(--theme-text,#374151));margin:0;font-size:13px;font-weight:500;line-height:1.5}.filter-accordion .filter-accordion-icon{width:24px;height:24px}.filter-accordion .ui-button.filter-accordion-toggle{flex:0 0 48px;width:48px;min-width:48px;height:48px;background:color-mix(in srgb,var(--filter-primary) 6%,var(--theme-surface,white))!important;border:1px solid color-mix(in srgb,var(--filter-primary) 30%,var(--theme-border,white))!important;box-shadow:0 3px 8px color-mix(in srgb,var(--filter-primary) 9%,transparent)!important;border-radius:16px 16px 16px 6px!important;padding:0!important}.filter-accordion .ui-button.filter-accordion-toggle[aria-expanded=true]{background:var(--filter-primary)!important;color:#fff!important;border-color:var(--filter-primary)!important}.filter-accordion[data-expanded=true]>.filter-accordion-header{border-bottom-right-radius:0;border-bottom-left-radius:0}.filter-accordion>.filter-accordion-body[hidden]{display:none!important}.filter-accordion>.filter-accordion-body{z-index:1;border-top:1px solid color-mix(in srgb,var(--filter-primary) 14%,var(--theme-border,white));background:var(--theme-surface,white);border-radius:0 0 20px 6px;min-width:0;padding:18px;position:relative}.filter-accordion .filter-accordion-body>:is(section,nav){box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}.filter-accordion .filter-accordion-body>:is(section,nav):before,.filter-accordion .filter-accordion-body>:is(section,nav):after{content:none!important;animation:none!important}.filter-accordion .filter-accordion-body .ui-card-shine{display:none}.filter-accordion .filter-accordion-body>nav{margin-top:16px!important}.filter-accordion.school-cycle-panel .school-cycle-filter-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0!important;display:grid!important}.filter-accordion.school-cycle-panel .school-cycle-filter-fields>label{grid-area:auto!important}.filter-accordion.school-cycle-panel .school-cycle-filter-fields>p{grid-area:auto/1/auto/-1!important}.filter-accordion.school-cycle-panel .school-cycle-full-name{display:none}.group-overview-context>.filter-accordion{flex:0 0 100%;margin:0}.group-overview-context .group-context-filters,.search-parameters .group-context-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0;display:grid}@media (width<=600px){.portal-filter-accordion.filter-accordion>.filter-accordion-header{gap:14px;padding:16px}.filter-accordion .filter-accordion-copy{padding-right:0}.filter-accordion .filter-accordion-motif{display:none}.filter-accordion>.filter-accordion-body{padding:14px}.filter-accordion.school-cycle-panel .school-cycle-filter-fields,.group-overview-context .group-context-filters,.search-parameters .group-context-filters{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.filter-accordion .filter-accordion-chevron{transition:none}}.search-parameters .search-parameters-heading{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.search-parameters .search-parameters-copy{text-align:center;overflow-wrap:anywhere;flex:1;min-width:0}.search-parameters .search-parameters-copy :is(h2,h3,p){margin:0;line-height:1.5}.search-parameters .search-parameters-copy h3{font-size:20px}.search-parameters .search-parameters-copy small{margin-top:6px;font-size:13px;display:block}.search-parameters .search-parameters-icon{border-radius:var(--ui-radius-icon);background:color-mix(in srgb,var(--filter-primary) 8%,var(--theme-surface,white));flex:0 0 48px;place-items:center;height:48px;display:grid}@media (width<=600px){.search-parameters .search-parameters-heading{gap:10px}.search-parameters .search-parameters-icon{flex-basis:40px;height:40px}.search-parameters .search-parameters-copy h3{font-size:17px}}.combined-search-parameters .combined-search-context{color:var(--theme-text,var(--filter-primary));margin-bottom:8px;font-size:13px;font-weight:650;line-height:1.5}.combined-search-parameters .combined-search-secondary{border-top:1px solid var(--ui-border);margin-top:16px;padding-top:16px}.combined-search-secondary>section{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}.combined-search-secondary>section:before,.combined-search-secondary>section:after{content:none!important;animation:none!important}.combined-search-parameters .school-cycle-filter-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0!important;display:grid!important}.combined-search-parameters .school-cycle-filter-fields>p{grid-column:1/-1}.combined-search-parameters .school-cycle-full-name{display:none}.filter-accordion.aligned-search-parameters .school-cycle-filter-fields{align-items:end;gap:16px}.filter-accordion.aligned-search-parameters .school-cycle-filter-fields>p:not(.school-cycle-warning){text-align:left;padding-bottom:4px;grid-area:1/2!important}.aligned-search-parameters .filter-accordion-body label{text-align:left;gap:8px;margin:0}.aligned-search-parameters .filter-accordion-body :is(select,input:not([type=checkbox]):not([type=radio])){box-sizing:border-box;min-height:48px}.aligned-search-parameters .combined-search-secondary>aside{text-align:left;margin-top:16px}@media (width<=600px){.filter-accordion.aligned-search-parameters .school-cycle-filter-fields>p:not(.school-cycle-warning){padding-bottom:0;grid-area:auto/1/auto/-1!important}.combined-search-parameters .school-cycle-filter-fields{grid-template-columns:minmax(0,1fr)}}.school-cycle-panel label{gap:7px;min-width:0;font-weight:700;display:grid}.school-cycle-panel select{border:1px solid var(--theme-border,#abc3db);background:var(--theme-surface,white);width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;border-radius:14px 14px 14px 5px;padding:10px 12px}.school-cycle-panel select:focus-visible,.school-cycle-state button:focus-visible{outline:3px solid var(--color-accent,var(--theme-border,#64cce6));outline-offset:3px}.school-cycle-panel p{margin:0;font-size:.86rem;line-height:1.5}.school-cycle-panel strong{margin-bottom:4px;display:block}.school-cycle-panel .school-cycle-warning{color:var(--theme-text,#865014);grid-column:1/-1}.school-cycle-state{text-align:center;color:var(--theme-text,var(--color-primary,#003b7a));padding:32px}.school-cycle-state button{min-height:44px}.school-cycle-full-name{display:none}#root{min-height:100dvh}.welcome-page{--welcome-primary:var(--color-primary,#003b7a);--welcome-secondary:var(--color-secondary,#06245a);--welcome-accent:var(--color-accent,#78d0ec);background:var(--theme-surface,#fff);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);width:100%;min-height:100dvh;display:grid}.welcome-brand,.welcome-access,.brand-content,.access-content{min-width:0}.welcome-brand{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--welcome-accent) 28%, transparent), transparent 36%), linear-gradient(145deg, var(--welcome-secondary) 0%, var(--welcome-primary) 100%);align-items:center;padding:64px;display:flex;position:relative;overflow:hidden}.welcome-brand:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-160px}.brand-content{z-index:1;text-align:center;width:min(100%,620px);margin:0 auto;position:relative}.brand-logo{background:var(--theme-surface,#fff);border-radius:28px;width:170px;height:190px;margin:0 auto 46px;padding:18px;overflow:hidden;box-shadow:0 22px 50px #0000002e}.brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.brand-eyebrow{color:var(--welcome-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:13px;font-weight:800;line-height:1.4}.brand-message h1{color:#fff;letter-spacing:-.045em;overflow-wrap:break-word;max-width:600px;margin:0 auto;font-size:clamp(38px,4vw,64px);line-height:1.05}.brand-message>p:last-child{color:#fffc;max-width:560px;margin:26px auto 0;font-size:18px;line-height:1.65}.welcome-access{background:var(--theme-surface,#fff);justify-content:center;align-items:center;padding:64px;display:flex}.access-content{text-align:center;width:min(100%,480px)}.eyebrow{color:var(--theme-text,var(--welcome-primary));letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:800;line-height:1.4}.access-content h2{color:var(--theme-text,var(--welcome-secondary));letter-spacing:-.04em;overflow-wrap:break-word;margin:0;font-size:clamp(36px,4vw,54px);line-height:1.08}.description{color:var(--theme-muted,#56657a);margin:24px 0 36px;font-size:17px;line-height:1.65}.primary-button{background:var(--welcome-primary);color:#fff;cursor:pointer;width:100%;min-height:54px;box-shadow:0 12px 26px color-mix(in srgb, var(--welcome-primary) 24%, transparent);border:0;border-radius:16px;padding:12px 20px;font-size:15px;font-weight:800;transition:background-color .2s,transform .2s,opacity .2s}.primary-button:hover:not(:disabled){background:var(--welcome-secondary);transform:translateY(-1px)}.primary-button:focus-visible,.privacy-button:focus-visible{outline:3px solid color-mix(in srgb, var(--welcome-accent) 55%, transparent);outline-offset:3px}.primary-button:disabled{cursor:wait;opacity:.65}.helper-text{color:var(--theme-muted,#69798d);text-align:center;margin:18px 0 0;font-size:13px;line-height:1.4}.privacy-button{color:var(--theme-text,var(--welcome-primary));cursor:pointer;background:0 0;border:0;margin:28px auto 0;padding:4px 8px;font-size:13px;font-weight:700;display:block}.privacy-button:hover{color:var(--theme-text,var(--welcome-secondary));text-decoration:underline}.configuration-warning{border:1px solid var(--theme-border,#efd28d);background:var(--theme-surface,#fff8e5);color:var(--theme-text,#765500);text-align:left;border-radius:11px;margin:0 0 18px;padding:11px 14px;font-size:12px;line-height:1.45}@media (width>=641px) and (width<=900px) and (orientation:portrait){.welcome-page{grid-template-columns:1fr}.welcome-brand{min-height:42dvh;padding:42px 48px}.brand-content{text-align:left;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:36px;width:min(100%,820px);display:grid}.brand-logo{width:140px;height:158px;margin:0;padding:16px}.brand-message h1{margin:0;font-size:clamp(32px,5vw,44px)}.brand-message>p:last-child{margin:18px 0 0;font-size:16px}.welcome-access{min-height:58dvh;padding:44px 32px}.access-content{width:min(100%,620px)}.access-content h2{font-size:42px}.description{margin:20px 0 28px;font-size:16px}}@media (width>=901px) and (width<=1100px) and (orientation:landscape){.welcome-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.welcome-brand,.welcome-access{min-height:100dvh;padding:40px}.brand-content{text-align:center}.brand-logo{width:130px;height:145px;margin:0 auto 28px;padding:14px}.brand-eyebrow{margin-bottom:12px;font-size:11px}.brand-message h1{font-size:clamp(36px,4vw,44px)}.brand-message>p:last-child{margin-top:18px;font-size:16px;line-height:1.55}.welcome-access{padding:40px}.access-content h2{font-size:clamp(36px,4vw,44px)}.description{margin:20px 0 28px;font-size:16px}}@media (width<=640px) and (orientation:portrait){.welcome-page{grid-template-columns:1fr}.welcome-brand{min-height:auto;padding:30px 24px}.brand-content{text-align:center;flex-direction:column;gap:18px;width:100%;display:flex}.brand-logo{border-radius:22px;width:108px;height:120px;margin:0 auto;padding:12px}.brand-eyebrow{margin-bottom:10px;font-size:11px}.brand-message h1{max-width:340px;margin:0 auto;font-size:29px;line-height:1.08}.brand-message>p:last-child{display:none}.welcome-access{min-height:auto;padding:38px 24px 30px}.access-content{width:100%}.access-content h2{font-size:36px}.description{margin:18px 0 28px;font-size:15px}.privacy-button{margin-top:22px}}@media (width<=900px) and (height<=500px) and (orientation:landscape){html,body,#root{min-height:100dvh}.welcome-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh}.welcome-brand,.welcome-access{min-height:100dvh;padding:18px 22px}.brand-content{text-align:left;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:18px;width:100%;display:grid}.brand-logo{border-radius:18px;justify-self:center;width:96px;height:108px;margin:0;padding:10px}.brand-eyebrow{margin-bottom:8px;font-size:9px;line-height:1.35}.brand-message h1{letter-spacing:-.035em;margin:0;font-size:clamp(23px,3.5vw,30px);line-height:1.08}.brand-message>p:last-child{display:none}.welcome-access{align-items:center;padding:18px 22px}.access-content{width:100%;max-width:380px}.eyebrow{margin-bottom:7px;font-size:9px}.access-content h2{font-size:clamp(26px,3.8vw,33px);line-height:1.08}.description{margin:11px 0 15px;font-size:13px;line-height:1.4}.configuration-warning{margin-bottom:10px;padding:7px 10px;font-size:9px}.primary-button{border-radius:13px;min-height:44px;font-size:14px}.helper-text{margin-top:9px;font-size:10px}.privacy-button{margin-top:8px;font-size:10px}}.route-loading{max-width:min(36rem,100% - 2rem);color:var(--theme-text,var(--color-primary,#003b7a));background:var(--color-surface,var(--theme-surface,#fff));border:1px solid color-mix(in srgb, var(--color-primary,#003b7a) 20%, transparent);text-align:center;border-radius:1.25rem 1.25rem 1.25rem .35rem;margin:1.5rem auto;padding:1.5rem}.api-availability-page{background:radial-gradient(circle at top left, color-mix(in srgb, var(--color-primary,#06346d) 12%, transparent), transparent 34%), linear-gradient(145deg, var(--theme-surface,#f5f9fd) 0%, var(--theme-surface,#eaf2fa) 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:32px;display:flex}.api-availability-card{border:1px solid var(--theme-border,#d5e1ed);background:var(--theme-surface,#fff);text-align:center;border-radius:24px;flex-direction:column;align-items:center;width:min(100%,640px);padding:46px;display:flex;box-shadow:0 24px 60px #12365b1f}.api-availability-school{justify-content:center;align-items:center;gap:12px;display:flex}.api-availability-school>span{max-width:320px;color:var(--color-primary,var(--theme-text,#06346d));font-size:.82rem;font-weight:800;line-height:1.4}.api-availability-logo{border:1px solid var(--theme-border,#d8e3ee);background:var(--theme-surface,#fff);border-radius:14px;place-items:center;width:48px;height:48px;padding:6px;display:grid}.api-availability-logo img{object-fit:contain;width:100%;height:100%}.api-availability-icon{width:86px;height:86px;color:var(--theme-ink-be352c,#be352c);background:var(--theme-surface,#fde9e7);border-radius:50%;place-items:center;margin-top:34px;display:grid}.api-availability-icon-checking{color:var(--color-primary,var(--theme-text,#06346d));background:color-mix(in srgb, var(--color-primary,#06346d) 10%, var(--theme-surface,#fff))}.api-availability-spinner{border:3px solid color-mix(in srgb, var(--color-primary,#06346d) 18%, transparent);border-top-color:var(--color-primary,#06346d);border-radius:50%;width:34px;height:34px;animation:.75s linear infinite api-availability-spin}.api-availability-message{max-width:510px;margin-top:25px}.api-availability-eyebrow{color:var(--theme-ink-be352c,#be352c);letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;font-size:.7rem;font-weight:900;line-height:1.4;display:block}.api-availability-message h1{color:var(--color-primary,var(--theme-text,#06346d));margin:0;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.2}.api-availability-message p{color:var(--theme-muted,#60728c);margin:14px 0 0;font-size:.98rem;line-height:1.65}.api-availability-notice{border:1px solid var(--theme-border,#ead49b);background:var(--theme-surface,#fff8e7);width:min(100%,500px);color:var(--theme-text,#795710);border-radius:13px;margin-top:26px;padding:14px 18px;font-size:.82rem;font-weight:600;line-height:1.55}.api-availability-retry{border:1px solid var(--color-primary,#06346d);background:var(--color-primary,#06346d);color:#fff;min-width:190px;min-height:48px;font:inherit;cursor:pointer;box-shadow:0 12px 24px color-mix(in srgb, var(--color-primary,#06346d) 20%, transparent);border-radius:13px;justify-content:center;align-items:center;gap:9px;margin-top:24px;padding:0 22px;font-size:.88rem;font-weight:800;transition:transform .16s,box-shadow .16s,opacity .16s;display:inline-flex}.api-availability-retry:hover:not(:disabled){box-shadow:0 16px 28px color-mix(in srgb, var(--color-primary,#06346d) 25%, transparent);transform:translateY(-1px)}.api-availability-retry:disabled{cursor:wait;opacity:.7}.api-availability-retrying{animation:.75s linear infinite api-availability-spin}@keyframes api-availability-spin{to{transform:rotate(360deg)}}@media (width<=768px){.api-availability-page{padding:22px}.api-availability-card{border-radius:21px;padding:38px 28px}.api-availability-icon{width:78px;height:78px;margin-top:30px}}@media (width<=480px){.api-availability-page{padding:14px}.api-availability-card{border-radius:18px;padding:30px 19px}.api-availability-school{flex-direction:column}.api-availability-school>span{font-size:.76rem}.api-availability-icon{width:70px;height:70px;margin-top:27px}.api-availability-message{margin-top:21px}.api-availability-message p{font-size:.9rem}.api-availability-retry{width:100%}}@media (prefers-reduced-motion:reduce){.api-availability-spinner,.api-availability-retrying{animation-duration:1.5s}.api-availability-retry{transition:none}}:root{--text:var(--theme-muted,#6b6375);--text-h:#08060d;--bg:var(--theme-surface,#fff);--border:var(--theme-border,#e5e4e7);--code-bg:var(--theme-surface,#f4f3ec);--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{overflow-x:hidden}img,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}.system-page{width:100%;min-height:100dvh}.system-container{width:min(100% - 48px,1440px);margin-inline:auto}.responsive-split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);width:100%;min-height:100dvh;display:grid}.responsive-panel{min-width:0}.responsive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}@media (width>=641px) and (width<=900px) and (orientation:portrait){.responsive-split{grid-template-columns:1fr}.responsive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-container{width:min(100% - 40px,820px)}.tablet-stack{flex-direction:column}}@media (width>=901px) and (width<=1100px) and (orientation:landscape){.responsive-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.responsive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-container{width:min(100% - 48px,1024px)}}@media (width<=640px) and (orientation:portrait){.responsive-split{grid-template-columns:1fr}.responsive-grid{grid-template-columns:1fr;gap:16px}.system-container{width:min(100% - 32px,600px)}.mobile-stack{flex-direction:column}.mobile-full-width{width:100%}.mobile-hide{display:none!important}}@media (width<=900px) and (height<=500px) and (orientation:landscape){.responsive-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh}.responsive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.system-container{width:min(100% - 32px,860px)}.landscape-compact{padding-block:16px}.landscape-hide{display:none!important}}.route-loading{background:var(--theme-surface,#f3f7fb);color:var(--theme-text,#003b7a);text-align:center;place-items:center;padding:24px;display:grid}.route-spinner{border:4px solid var(--theme-border,#d7e5f2);border-top-color:#003b7a;border-radius:50%;width:42px;height:42px;margin:0 auto 14px;animation:.8s linear infinite route-spin;display:block}.route-loading p{margin:0;font-size:14px;font-weight:700}@keyframes route-spin{to{transform:rotate(360deg)}}:where(.teacher-dashboard-group-card,.teacher-student-card,.teacher-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.student-history-record-card,.profile-card,.student-selector-card,.average-card,.summary-card,.recent-communication-card){--card-motion-accent:var(--color-primary,#0b4f8a);backface-visibility:hidden;transform-origin:50%;transition:transform .23s cubic-bezier(.2,.75,.25,1),box-shadow .23s,border-color .23s,filter .23s}:where(.ui-interactive-card,.ui-static-card){isolation:isolate;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){:where(.ui-interactive-card,.ui-static-card){animation:.46s cubic-bezier(.2,.75,.25,1) both project-card-touch-enter}:where(.ui-interactive-card,.ui-static-card):before{content:"";z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,transparent 30%,color-mix(in srgb,var(--card-motion-accent) 8%,transparent) 48%,transparent 65%);animation:11s ease-in-out infinite project-card-soft-shine;position:absolute;inset:0;transform:translate(-130%)}:where(.ui-interactive-card,.ui-static-card):nth-child(2):before{animation-delay:.12s}:where(.ui-interactive-card,.ui-static-card):nth-child(3):before{animation-delay:.24s}}@keyframes project-card-soft-shine{0%,5%{transform:translate(-130%)}30%,to{transform:translate(130%)}}.ui-interactive-card:focus-within{border-color:color-mix(in srgb,var(--card-motion-accent) 45%,var(--theme-border,#d7e3eb))}@media (prefers-reduced-motion:reduce){:where(.ui-interactive-card,.ui-static-card):before{content:none;animation:none}}:where(.ui-interactive-card,.ui-static-card){--card-motion-accent:var(--color-primary,var(--module-primary,#0b4f8a));backface-visibility:hidden;transform-origin:50%;transition:transform .23s cubic-bezier(.2,.75,.25,1),box-shadow .23s,border-color .23s,filter .23s}@media (hover:hover) and (pointer:fine){.ui-interactive-card:hover{z-index:2;border-color:color-mix(in srgb,var(--card-motion-accent) 30%,var(--theme-border,#d7e3eb));filter:saturate(1.025);transform:translateY(-4px)scale(1.008);box-shadow:0 18px 38px #12375424}}@media (hover:none) and (pointer:coarse){:where(.ui-interactive-card,.ui-static-card){touch-action:pan-y;-webkit-tap-highlight-color:transparent;animation:.42s cubic-bezier(.2,.75,.25,1) both project-card-touch-enter}.ui-interactive-card:active{z-index:2;border-color:color-mix(in srgb,var(--card-motion-accent) 36%,var(--theme-border,#d7e3eb));filter:saturate(1.04);transform:translateY(-2px)scale(.982);box-shadow:0 13px 28px #12375426}}@media (prefers-reduced-motion:reduce){:where(.ui-interactive-card,.ui-static-card){opacity:1;transition:none;animation:none;transform:none}}@media (hover:hover) and (pointer:fine){:where(.teacher-dashboard-group-card,.teacher-student-card,.teacher-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.student-history-record-card,.profile-card,.student-selector-card,.average-card,.summary-card,.recent-communication-card):hover{z-index:2;border-color:color-mix(in srgb,var(--card-motion-accent) 30%,var(--theme-border,#d7e3eb));filter:saturate(1.025);transform:translateY(-4px)scale(1.008);box-shadow:0 18px 38px #12375424}}@media (hover:none) and (pointer:coarse){:where(.teacher-dashboard-group-card,.teacher-student-card,.teacher-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.student-history-record-card,.profile-card,.student-selector-card,.average-card,.summary-card,.recent-communication-card){touch-action:pan-y;-webkit-tap-highlight-color:transparent;animation:.42s cubic-bezier(.2,.75,.25,1) both project-card-touch-enter}:where(.teacher-dashboard-group-card,.teacher-student-card,.teacher-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.student-history-record-card,.profile-card,.student-selector-card,.average-card,.summary-card,.recent-communication-card):active{z-index:2;border-color:color-mix(in srgb,var(--card-motion-accent) 36%,var(--theme-border,#d7e3eb));filter:saturate(1.04);transform:translateY(-2px)scale(.982);box-shadow:0 13px 28px #12375426}}@keyframes project-card-touch-enter{0%{opacity:0;transform:translateY(12px)scale(.987)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){:where(.teacher-dashboard-group-card,.teacher-student-card,.teacher-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.student-history-record-card,.profile-card,.student-selector-card,.average-card,.summary-card,.recent-communication-card){opacity:1;transition:none;animation:none;transform:none}}.institutional-panel-geometry[data-panel-geometry]{isolation:isolate;background:radial-gradient(circle at calc(100% - 60px) calc(100% + 23px),color-mix(in srgb,var(--module-accent) 11%,transparent),transparent 128px), linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-accent) 6%,var(--theme-surface,#fff)));position:relative;overflow:hidden}.institutional-panel-geometry[data-panel-geometry]:after{content:"";z-index:-1;box-sizing:border-box;background:color-mix(in srgb,var(--module-primary) 7%,transparent);pointer-events:none;border:0;border-radius:0;width:170px;height:170px;position:absolute;inset:auto -25px -62px auto;transform:none}.institutional-panel-geometry[data-panel-geometry=circle]:after{border:24px solid color-mix(in srgb,var(--module-primary) 7%,transparent);clip-path:none;background:0 0;border-radius:50%}.institutional-panel-geometry[data-panel-geometry=diamond]:after{clip-path:polygon(evenodd,50% 0,100% 50%,50% 100%,0 50%,50% 0,50% 18%,18% 50%,50% 82%,82% 50%,50% 18%,50% 0)}.institutional-panel-geometry[data-panel-geometry=triangle]:after{clip-path:polygon(evenodd,50% 0,100% 100%,0 100%,50% 0,50% 28%,21% 87%,79% 87%,50% 28%,50% 0)}.institutional-panel-geometry[data-panel-geometry=hexagon]:after{clip-path:polygon(evenodd,25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%,25% 7%,33% 21%,16% 50%,33% 79%,67% 79%,84% 50%,67% 21%,33% 21%,25% 7%)}.institutional-panel-geometry[data-panel-geometry=pentagon]:after{clip-path:polygon(evenodd,50% 0%,97.5528% 34.5492%,79.3893% 90.4508%,20.6107% 90.4508%,2.44717% 34.5492%,50% 0%,50% 16%,17.6641% 39.4934%,30.0153% 77.5066%,69.9847% 77.5066%,82.3359% 39.4934%,50% 16%,50% 16%,50% 0%)}.institutional-panel-geometry[data-panel-geometry=octagon]:after{clip-path:polygon(evenodd,50% 0%,85.3553% 14.6447%,100% 50%,85.3553% 85.3553%,50% 100%,14.6447% 85.3553%,0% 50%,14.6447% 14.6447%,50% 0%,50% 16%,25.9584% 25.9584%,16% 50%,25.9584% 74.0416%,50% 84%,74.0416% 74.0416%,84% 50%,74.0416% 25.9584%,50% 16%,50% 16%,50% 0%)}.institutional-panel-geometry[data-panel-geometry=square]:after{border:24px solid color-mix(in srgb,var(--module-primary) 7%,transparent);background:0 0}.institutional-panel-geometry[data-panel-geometry=cross]:after{clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%)}.teacher-saved-attachments{gap:12px;min-width:0;display:grid}.teacher-saved-attachments h4{align-items:center;gap:8px;margin:0;display:flex}.teacher-saved-attachments article{border:1px solid color-mix(in srgb,var(--module-primary) 20%,var(--theme-border,white));background:var(--theme-surface,white);border-radius:16px 16px 16px 5px;gap:12px;padding:14px;display:grid}.teacher-saved-attachments article>div{overflow-wrap:anywhere;gap:5px;display:grid}.teacher-saved-attachments nav{flex-wrap:wrap;gap:8px;display:flex}.teacher-saved-attachments button,.teacher-saved-preview a{min-height:44px}.teacher-saved-preview{border:1px solid color-mix(in srgb,var(--module-primary) 22%,var(--theme-border,white));border-radius:16px;gap:12px;min-width:0;padding:12px;display:grid}.teacher-saved-preview header{align-items:center;gap:12px;display:flex}.teacher-saved-preview header strong{overflow-wrap:anywhere;flex:1}.teacher-saved-preview img{object-fit:contain;max-width:100%;max-height:340px}.teacher-saved-preview iframe{border:0;width:100%;height:340px}.teacher-saved-preview a{color:var(--theme-text,var(--module-primary));overflow-wrap:anywhere;align-items:center;display:flex}.teacher-saved-preview a:focus-visible{outline:3px solid var(--module-information);outline-offset:2px}.teacher-performance-page .performance-chart-row .performance-chart-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--subject-color) 65%,var(--theme-surface,white)),var(--subject-color))}.teacher-performance-page .performance-chart-row .performance-chart-value{color:var(--subject-color)}.teacher-performance-page .performance-chart-label{border-left:3px solid var(--subject-color);padding-left:10px}.teacher-performance-page article.performance-subject{border-left-color:var(--subject-color);--card-motion-accent:var(--subject-color);--performance-tone:var(--subject-color)}.teacher-performance-page .performance-subject>strong{color:var(--subject-color)}.teacher-performance-page .performance-subject meter{accent-color:var(--subject-color)}.teacher-performance-page .performance-subject meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,color-mix(in srgb,var(--subject-color) 65%,var(--theme-surface,white)),var(--subject-color))}.teacher-performance-page .performance-subject meter::-moz-meter-bar{background:var(--subject-color)}.teacher-performance-page .performance-student-grades>div{border-left:3px solid var(--subject-color)}.teacher-performance-page .performance-chart{border:1.5px solid var(--module-primary);box-shadow:0 20px 45px color-mix(in srgb,var(--module-secondary) 12%,transparent);--card-motion-accent:var(--module-primary);border-radius:24px;animation:none}.teacher-performance-page .performance-chart:before{animation:none}.teacher-performance-page .performance-chart>header:not(.ui-section-heading){border-bottom:1px solid color-mix(in srgb,var(--module-primary) 15%,var(--theme-border,white))}.teacher-performance-page .performance-chart-plot{border:1px solid color-mix(in srgb,var(--module-primary) 14%,var(--theme-border,white));background:color-mix(in srgb,var(--theme-surface,white) 92%,transparent);border-radius:18px;box-shadow:inset 0 1px #fff}.teacher-performance-page :is(.performance-chart-scale,.performance-chart-label small,.performance-chart footer,.performance-period-label){color:var(--theme-text,color-mix(in srgb,var(--module-secondary) 78%,white))}.teacher-performance-page .performance-chart-track{border:1px solid color-mix(in srgb,var(--module-primary) 15%,var(--theme-border,white));background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--module-primary) 5%,var(--theme-surface,white)) 0,color-mix(in srgb,var(--module-primary) 5%,var(--theme-surface,white)) calc(20% - 1px),color-mix(in srgb,var(--module-primary) 20%,var(--theme-surface,white)) calc(20% - 1px),color-mix(in srgb,var(--module-primary) 20%,var(--theme-surface,white)) 20%);border-radius:999px}.teacher-performance-page .performance-chart-fill{border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--module-primary) 65%,var(--theme-surface,white)),var(--module-primary));box-shadow:inset 0 1px #ffffff80}.teacher-performance-page .performance-chart-value{color:var(--theme-text,var(--module-primary))}.teacher-performance-page .performance-chart-key{background:var(--module-primary);border-radius:50%}@keyframes institutional-chart-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.performance-chart.teacher-scroll-visible .performance-chart-fill{animation:.8s cubic-bezier(.2,.75,.25,1) backwards institutional-chart-fill}.performance-chart .performance-chart-row:nth-child(2) .performance-chart-fill{animation-delay:60ms}.performance-chart .performance-chart-row:nth-child(n+3) .performance-chart-fill{animation-delay:.12s}}.institutional-heading-icon{width:58px;height:58px;color:var(--module-calendar);background:color-mix(in srgb,var(--module-calendar) 11%,var(--theme-surface,white));border-radius:18px 18px 18px 6px;place-items:center;display:grid}.teacher-performance-page :is(.performance-heading,.performance-filters,.performance-metric,.performance-subject,.performance-student){border:1px solid color-mix(in srgb,var(--color-primary,#07508b) 24%,var(--theme-border,white));background-color:var(--theme-surface,white);box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary,#07508b) 5%,transparent);border-radius:22px 22px 22px 7px}.teacher-performance-page :is(.performance-heading,.performance-filters){background-image:linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--color-accent) 6%,var(--theme-surface,white))),linear-gradient(180deg,var(--color-accent),var(--color-primary));background-origin:padding-box,border-box;background-clip:padding-box,border-box;border-left:5px solid #0000}.teacher-performance-page :is(.performance-section-heading,.performance-list-heading,.performance-state){border:1px solid color-mix(in srgb,var(--module-primary) 22%,var(--theme-border,white));background-color:var(--theme-surface,white);box-shadow:0 8px 24px color-mix(in srgb,var(--module-primary) 5%,transparent);border-radius:22px 22px 22px 7px}.teacher-performance-page [data-performance-tone=calendar]{--performance-tone:var(--module-calendar)}.teacher-performance-page [data-performance-tone=information]{--performance-tone:var(--module-information)}.teacher-performance-page [data-performance-tone=success]{--performance-tone:var(--module-success)}.teacher-performance-page [data-performance-tone=warning]{--performance-tone:var(--module-warning)}.teacher-performance-page .performance-metric{--module-primary:var(--performance-tone);--module-accent:var(--performance-tone);--card-motion-accent:var(--performance-tone);border-top:3px solid color-mix(in srgb,var(--performance-tone) 65%,var(--theme-border,white))}.teacher-performance-page .performance-icon{width:46px;height:46px;color:var(--performance-tone,var(--module-calendar));background:color-mix(in srgb,var(--performance-tone,var(--module-calendar)) 11%,var(--theme-surface,white));border-radius:14px 14px 14px 5px;place-items:center;display:grid}.teacher-performance-page .performance-status.pending{color:var(--module-warning);background:color-mix(in srgb,var(--module-warning) 10%,var(--theme-surface,white))}.teacher-performance-page .performance-status.complete{color:var(--module-success);background:color-mix(in srgb,var(--module-success) 10%,var(--theme-surface,white))}.teacher-performance-page .performance-count{color:var(--module-information);background:color-mix(in srgb,var(--module-information) 10%,var(--theme-surface,white));border-radius:20px}.teacher-performance-page .performance-note{background:color-mix(in srgb,var(--module-information) 5%,var(--theme-surface,white));border-left:3px solid var(--color-accent);border-radius:12px}.teacher-performance-page .performance-score strong{color:var(--module-calendar)}.teacher-performance-page .performance-student[open]{border-color:color-mix(in srgb,var(--module-calendar) 40%,var(--theme-border,white))}.teacher-performance-page .performance-student-grades{border-top:1px solid color-mix(in srgb,var(--module-primary) 12%,var(--theme-border,white));padding-top:18px}.teacher-performance-page summary:focus-visible{outline-offset:-4px;border-radius:18px}.teacher-performance-page meter::-webkit-meter-bar{background:color-mix(in srgb,var(--module-calendar) 10%,var(--theme-surface,white));border:0;border-radius:8px}.teacher-performance-page meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,var(--module-calendar),color-mix(in srgb,var(--module-calendar) 65%,var(--theme-surface,white)));border-radius:8px}.teacher-performance-page meter::-moz-meter-bar{background:var(--module-calendar);border-radius:8px}.teacher-performance-page :is(select,input){border:1px solid color-mix(in srgb,var(--color-primary,#07508b) 35%,var(--theme-border,white));background:var(--theme-surface,white);color:inherit;border-radius:14px 14px 14px 5px}.teacher-performance-page button{border:1px solid var(--color-primary,#07508b);background:var(--color-primary,#07508b);color:#fff;border-radius:14px 14px 14px 5px}.teacher-performance-page :is(button,input,select,summary):focus-visible{outline:3px solid var(--module-information);outline-offset:3px}.teacher-performance-page .performance-note{color:var(--theme-text,var(--module-secondary,#38536c))}.teacher-performance-page .performance-student-grades>div{background:color-mix(in srgb,var(--color-primary,#07508b) 4%,var(--theme-surface,white));border-radius:12px}.teacher-performance-page :is(.performance-subject,.performance-student){border-left:3px solid var(--module-calendar);--card-motion-accent:var(--module-calendar)}.teacher-performance-page meter{accent-color:var(--module-calendar)}.teacher-performance-page :is(.performance-student,.performance-subject,.performance-metric),.teacher-performance-page :is(.performance-student,.performance-subject,.performance-metric):before{animation:none}@media (prefers-reduced-motion:no-preference){.teacher-performance-page .teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) backwards teacher-observer-enter}.teacher-performance-page .teacher-scroll-visible:before{animation:11s ease-in-out infinite project-card-soft-shine}}@media (width<=700px){.institutional-heading-icon{border-radius:14px 14px 14px 5px;width:48px;height:48px}}:root,.teacher-dashboard-page{--module-information:#2378a3;--module-success:#16856b;--module-warning:#b66a0a;--module-calendar:#7457c7;--module-communication:#087f8c}.teacher-dashboard-page [data-tone=information]{--card-tone:var(--module-information)}.teacher-dashboard-page [data-tone=success]{--card-tone:var(--module-success)}.teacher-dashboard-page [data-tone=warning]{--card-tone:var(--module-warning)}.teacher-dashboard-page [data-tone=calendar]{--card-tone:var(--module-calendar)}.teacher-dashboard-page [data-tone=communication]{--card-tone:var(--module-communication)}.teacher-dashboard-page [data-tone]{--card-motion-accent:var(--card-tone)}.teacher-dashboard-page [data-tone] :is(.teacher-dashboard-indicator-icon,.teacher-dashboard-module-icon){color:var(--card-tone);background:color-mix(in srgb,var(--card-tone) 11%,var(--theme-surface,#fff))}.teacher-dashboard-page [data-tone] .td-group-facts svg{color:var(--card-tone)}:is(.td-attendance,.td-group,.td-tool){isolation:isolate;border:1px solid color-mix(in srgb,var(--module-primary) 16%,var(--theme-border,#d8e4ec));background:linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-accent) 6%,var(--theme-surface,#fff)));position:relative;overflow:hidden;box-shadow:0 12px 32px #12375413}:is(.td-attendance,.td-group,.td-tool):after{content:"";z-index:-1;border:20px solid color-mix(in srgb,var(--module-primary) 5%,transparent);pointer-events:none;border-radius:50%;width:125px;height:125px;position:absolute;top:-40px;right:-32px}.td-group:nth-child(2n):after{border-radius:20px;transform:rotate(30deg)}:is(.teacher-performance-page,.teacher-dashboard-page,.teacher-groups-page,.teacher-attendance-page,.attendance-history-page,.teacher-tasks-page,.task-grading-page,.calendar-page,.communications-page){--module-primary:var(--color-primary,#075985);--module-secondary:var(--color-secondary,#102a43);--module-accent:var(--color-accent,#38bdf8)}:is(.teacher-dashboard-heading,.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading){isolation:isolate;border:1px solid color-mix(in srgb,var(--module-primary) 18%,var(--theme-border,#dce7ef));background:linear-gradient(112deg,var(--theme-surface,#fff) 0%,color-mix(in srgb,var(--module-accent) 7%,var(--theme-surface,#fff)) 68%,color-mix(in srgb,var(--module-primary) 8%,var(--theme-surface,#fff)) 100%);border-radius:24px;grid-template-columns:66px minmax(0,1fr) 66px;align-items:center;gap:20px;min-height:112px;padding:22px 27px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 38px #183d5814}:is(.teacher-dashboard-heading,.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading):before{content:"";z-index:-1;background:linear-gradient(180deg,var(--module-accent),var(--module-primary));width:6px;position:absolute;inset:0 auto 0 0}:is(.teacher-dashboard-heading,.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading):after{content:"";z-index:-1;border:24px solid color-mix(in srgb,var(--module-primary) 7%,transparent);border-radius:50%;width:180px;height:180px;position:absolute;bottom:-69px;right:-24px}:is(.td-heading-icon,.teacher-groups-heading-icon,.teacher-attendance-heading-icon,.attendance-history-heading>span,.teacher-tasks-heading>span,.task-grading-heading>span,.calendar-title-icon,.communications-title-icon){border:1px solid color-mix(in srgb,var(--module-primary) 15%,var(--theme-border,#fff));background:linear-gradient(145deg,color-mix(in srgb,var(--module-primary) 14%,var(--theme-surface,#fff)),color-mix(in srgb,var(--module-accent) 7%,var(--theme-surface,#fff)));width:66px;height:66px;color:var(--theme-text,var(--module-primary));box-shadow:0 9px 22px color-mix(in srgb,var(--module-primary) 14%,transparent);border-radius:22px 22px 22px 8px;place-items:center;display:grid;position:relative}:is(.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading)>div:not([class]){text-align:center;grid-column:2}:is(.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading) :is(small,span:not([class])){color:var(--theme-text,var(--module-primary));letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:900}:is(.teacher-dashboard-heading,.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading) h2{color:var(--theme-text,var(--module-secondary));letter-spacing:-.045em;margin:5px 0 4px;font-size:clamp(25px,2.7vw,31px);font-weight:900;line-height:1}:is(.teacher-dashboard-heading,.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading) p{max-width:640px;color:var(--theme-muted,#60788c);margin:0 auto;font-size:11px;line-height:1.55}.teacher-dashboard-heading{grid-template-columns:1fr auto 1fr}.teacher-dashboard-heading>div:first-child{text-align:center;grid-column:2}.teacher-dashboard-date,:is(.teacher-attendance-heading,.teacher-tasks-heading)>button,.task-grading-heading>div:last-child{grid-column:3;justify-self:end}:is(.teacher-groups-toolbar,.teacher-attendance-toolbar,.teacher-attendance-group-panel,.attendance-history-filters,.calendar-toolbar){box-sizing:border-box;border:1px solid var(--theme-border,#d7e3ec);background:linear-gradient(115deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-accent) 5%,var(--theme-surface,#fff)));border-radius:20px;padding:18px 20px;box-shadow:0 14px 35px #193e5612}:is(.teacher-attendance-history-link,.task-grading-back,.attendance-history-back,.communication-back,.calendar-today-button,.teacher-tasks-heading>button,.teacher-task-card footer button,.teacher-task-modal footer button,.task-grading-list footer button){border:1px solid color-mix(in srgb,var(--module-primary) 35%,var(--theme-border,#d5e1ea));background:color-mix(in srgb,var(--module-primary) 6%,var(--theme-surface,#fff));min-height:38px;color:var(--theme-text,var(--module-primary));cursor:pointer;border-radius:12px 12px 12px 5px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font:850 9px/1 inherit;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 4px 11px #102a4312}:is(.teacher-attendance-history-link,.task-grading-back,.attendance-history-back,.communication-back,.calendar-today-button,.teacher-tasks-heading>button,.teacher-task-card footer button,.teacher-task-modal footer button,.task-grading-list footer button):hover{border-color:var(--module-primary);background:color-mix(in srgb,var(--module-primary) 11%,var(--theme-surface,#fff));transform:translateY(-1px);box-shadow:0 7px 15px #102a431f}:is(.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-student-card,.teacher-attendance-row,.attendance-history-student-list>button,.teacher-task-card,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card){transition:transform .22s cubic-bezier(.2,.7,.25,1),border-color .22s,box-shadow .22s}:is(.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-student-card,.teacher-attendance-row,.attendance-history-student-list>button,.teacher-task-card,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card):hover{z-index:2;border-color:color-mix(in srgb,var(--module-primary) 30%,var(--theme-border,#d5e1ec));transform:translateY(-3px)scale(1.008);box-shadow:0 18px 36px #1c415a21}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){:is(.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-student-card,.teacher-attendance-row,.attendance-history-student-list>button,.teacher-task-card,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card){animation-name:teacher-card-enter;animation-duration:1ms;animation-fill-mode:both;animation-timeline:view();animation-range:entry 4% cover 24%}@keyframes teacher-card-enter{0%{opacity:.12;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}}}@media (width<=760px){:is(.teacher-dashboard-heading,.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading){border-radius:19px;grid-template-columns:51px minmax(0,1fr) 51px;gap:13px;min-height:auto;padding:17px 16px 17px 20px}:is(.td-heading-icon,.teacher-groups-heading-icon,.teacher-attendance-heading-icon,.attendance-history-heading>span,.teacher-tasks-heading>span,.task-grading-heading>span,.calendar-title-icon,.communications-title-icon){border-radius:17px 17px 17px 7px;width:51px;height:51px}.teacher-dashboard-heading{grid-template-columns:1fr}.teacher-dashboard-heading>div:first-child,.teacher-dashboard-date{text-align:center;grid-column:1;justify-self:center}.teacher-dashboard-date{margin-top:10px}:is(.teacher-attendance-heading,.teacher-tasks-heading)>button,.task-grading-heading>div:last-child{grid-column:1/-1;justify-self:center;margin-top:5px}}@media (width<=480px){:is(.teacher-attendance-history-link,.task-grading-back,.attendance-history-back,.communication-back,.teacher-tasks-heading>button){white-space:normal;text-align:center;max-width:100%}}@media (hover:none) and (pointer:coarse){:is(.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-student-card,.teacher-attendance-row,.attendance-history-student-list>button,.teacher-task-card,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card){-webkit-tap-highlight-color:transparent}:is(.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-student-card,.teacher-attendance-row,.attendance-history-student-list>button,.teacher-task-card,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card):hover{transform:none}:is(.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-student-card,.teacher-attendance-row,.attendance-history-student-list>button,.teacher-task-card,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card):active{transform:scale(.975);box-shadow:0 10px 24px #1c415a24}button:active{transform:scale(.97)}}@media (prefers-reduced-motion:reduce){:is(.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-student-card,.teacher-attendance-row,.attendance-history-student-list>button,.teacher-task-card,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card){transition:none;animation:none;transform:none}}.teacher-scroll-pending{opacity:0;transform:translateY(16px)scale(.985)}.teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) both teacher-observer-enter}@keyframes teacher-observer-enter{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:none}}.teacher-scroll-visible:nth-child(2){animation-delay:50ms}.teacher-scroll-visible:nth-child(3){animation-delay:.1s}.teacher-scroll-visible:nth-child(4){animation-delay:.15s}@media (prefers-reduced-motion:reduce){.teacher-scroll-pending,.teacher-scroll-visible{opacity:1;animation:none;transform:none}}.student-history-profile{isolation:isolate;border:1px solid color-mix(in srgb,var(--module-primary) 18%,var(--theme-border,#dce7ef));background:linear-gradient(112deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-accent) 7%,var(--theme-surface,#fff)) 68%,color-mix(in srgb,var(--module-primary) 8%,var(--theme-surface,#fff)) 100%);border-radius:24px;grid-template-columns:66px minmax(0,1fr) 66px;align-items:center;gap:20px;min-height:112px;padding:22px 27px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 38px #183d5814}.student-history-profile:before{content:"";z-index:-1;background:linear-gradient(180deg,var(--module-accent),var(--module-primary));width:6px;position:absolute;inset:0 auto 0 0}.student-history-profile>div{text-align:center;grid-column:2}.student-history-profile h2{color:var(--theme-text,var(--module-secondary));margin:5px 0 4px;font-size:clamp(25px,2.7vw,31px)}.student-history-profile p{color:var(--theme-muted,#60788c);margin:0;font-size:11px}.attendance-history-avatar,.teacher-student-avatar{border:2px solid var(--theme-border,#fff);box-shadow:0 5px 13px color-mix(in srgb,var(--module-primary) 16%,transparent);border-radius:14px 14px 14px 5px;overflow:hidden}.attendance-history-avatar img,.teacher-student-avatar img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=640px){.student-history-profile{border-radius:19px;grid-template-columns:51px minmax(0,1fr) 51px;gap:13px;padding:17px 16px 17px 20px}}:is(.profile-page,.attachment-viewer-page,.teacher-attachment-page){--module-primary:var(--color-primary,#075985);--module-secondary:var(--color-secondary,#102a43);--module-accent:var(--color-accent,#38bdf8)}:is(.td-heading-icon,.teacher-dashboard-indicator-icon,.teacher-dashboard-action-icon,.teacher-dashboard-module-icon,.teacher-group-summary-icon,.profile-card-icon,.attachment-viewer-heading-icon,.communication-status-icon,.attachment-file-icon){background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff));box-shadow:none;border:0;border-radius:14px 14px 14px 5px;flex:none;place-items:center;display:grid}:is(.teacher-dashboard-indicator-icon,.teacher-dashboard-action-icon,.teacher-dashboard-module-icon,.teacher-group-summary-icon){width:46px;height:46px}:is(.teacher-dashboard-indicator-icon,.teacher-dashboard-action-icon,.teacher-dashboard-module-icon,.teacher-group-summary-icon):after,:is(.profile-card-icon,.attachment-viewer-heading-icon,.communication-status-icon,.attachment-file-icon):after{content:none!important}:is(.teacher-groups-toolbar,.teacher-attendance-toolbar,.teacher-attendance-group-panel,.attendance-history-filters,.teacher-tasks-toolbar,.communications-toolbar,.calendar-toolbar,.student-history-profile,.profile-card,.attachment-viewer-page-header){isolation:isolate;border-color:color-mix(in srgb,var(--module-primary) 16%,var(--theme-border,#d8e4ec));background:linear-gradient(120deg,var(--theme-surface,#fff) 0%,color-mix(in srgb,var(--module-accent) 6%,var(--theme-surface,#fff)) 100%);position:relative;overflow:hidden;box-shadow:0 12px 32px #12375413}:is(.teacher-groups-toolbar,.teacher-attendance-toolbar,.teacher-attendance-group-panel,.attendance-history-filters,.teacher-tasks-toolbar,.communications-toolbar,.calendar-toolbar,.profile-card,.attachment-viewer-page-header):before{content:"";z-index:-1;background:linear-gradient(180deg,var(--module-accent),var(--module-primary));clip-path:polygon(100% 0,100% 100%,0 calc(100% - 6px),0 6px);width:6px;animation:none;position:absolute;inset:4px auto 4px 0;transform:none}:is(.teacher-groups-toolbar,.teacher-attendance-toolbar,.teacher-attendance-group-panel,.attendance-history-filters,.teacher-tasks-toolbar,.communications-toolbar,.calendar-toolbar,.profile-card,.attachment-viewer-page-header):after{content:"";z-index:-1;border:19px solid color-mix(in srgb,var(--module-primary) 5%,transparent);pointer-events:none;border-radius:50%;width:118px;height:118px;position:absolute;top:-34px;right:-30px}:is(.teacher-attendance-toolbar,.calendar-toolbar,.profile-card:nth-of-type(3)):after{border-radius:18px;transform:rotate(45deg)}:is(.teacher-tasks-toolbar,.communications-toolbar,.attendance-history-filters):after{background:color-mix(in srgb,var(--module-primary) 5%,transparent);clip-path:polygon(50% 0,100% 100%,0 100%);border:0;border-radius:0}:is(.teacher-dashboard-indicator,.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-dashboard-module,.teacher-group-summary>article,.teacher-student-card,.attendance-history-indicators>article,.attendance-history-student-list>button,.teacher-task-card,.task-grading-summary>button,.task-grading-list>article,.calendar-event-card,.attachment-card,.student-history-records>article,.profile-photo-item){isolation:isolate;border-radius:18px 18px 18px 7px;position:relative;overflow:hidden}:is(.teacher-dashboard-indicator,.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-dashboard-module,.teacher-group-summary>article,.teacher-student-card,.attendance-history-indicators>article,.attendance-history-student-list>button,.teacher-task-card,.task-grading-summary>button,.task-grading-list>article,.calendar-event-card,.attachment-card,.student-history-records>article,.profile-photo-item):before{content:"";z-index:-1;opacity:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--module-accent) 13%,transparent),transparent);pointer-events:none;width:38%;height:240%;position:absolute;top:-70%;left:-48%;transform:rotate(18deg)}@media (prefers-reduced-motion:no-preference){:is(.teacher-dashboard-indicator,.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-dashboard-module,.teacher-group-summary>article,.teacher-student-card,.attendance-history-indicators>article,.attendance-history-student-list>button,.teacher-task-card,.task-grading-summary>button,.task-grading-list>article,.calendar-event-card,.attachment-card,.student-history-records>article,.profile-photo-item):before{animation:8s ease-in-out infinite teacher-institutional-glint}@keyframes teacher-institutional-glint{0%,7%{opacity:0;left:-48%}12%{opacity:.75}27%{opacity:.35;left:118%}28%{opacity:0;left:118%}to{opacity:0;left:118%}}}:is(.teacher-dashboard-page,.teacher-groups-page,.teacher-attendance-page,.attendance-history-page,.teacher-tasks-page,.task-grading-page,.teacher-module-page,.profile-page,.attachment-viewer-page) :is(button,a,select,input,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--module-accent) 48%,transparent);outline-offset:2px}@media (hover:none) and (pointer:coarse){:is(.teacher-dashboard-action,.teacher-dashboard-module.available,.teacher-student-card,.attendance-history-student-list>button,.communication-item,.calendar-event-card,.attachment-card):active{transform:translateY(-1px)scale(.978)}}@media (width<=760px){:is(.teacher-groups-toolbar,.teacher-attendance-toolbar,.teacher-attendance-group-panel,.attendance-history-filters,.teacher-tasks-toolbar,.communications-toolbar,.calendar-toolbar,.profile-card,.attachment-viewer-page-header){padding-left:max(18px,env(safe-area-inset-left));border-radius:18px}}@media (prefers-reduced-motion:reduce){:is(.teacher-dashboard-indicator,.teacher-dashboard-group-card,.teacher-dashboard-action,.teacher-dashboard-module,.teacher-group-summary>article,.teacher-student-card,.attendance-history-indicators>article,.attendance-history-student-list>button,.teacher-task-card,.task-grading-summary>button,.task-grading-list>article,.calendar-event-card,.attachment-card,.student-history-records>article,.profile-photo-item):before{opacity:0;animation:none}}.teacher-group-summary-icon{color:var(--module-information)}.teacher-group-summary-icon.students{color:var(--module-success)}.teacher-group-summary-icon.subjects{color:var(--module-calendar)}.teacher-group-summary-icon.attendance{color:var(--module-warning)}:is(.teacher-groups-heading-icon,.teacher-attendance-heading-icon,.attendance-history-heading>span,.teacher-tasks-heading>span,.task-grading-heading>span,.calendar-title-icon,.communications-title-icon){width:58px;height:58px;box-shadow:none;background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff));border:0;border-radius:18px 18px 18px 6px}.teacher-groups-heading-icon{color:var(--module-information)}:is(.teacher-attendance-heading-icon,.attendance-history-heading>span){color:var(--module-success)}.teacher-tasks-heading>span{color:var(--module-warning)}:is(.task-grading-heading>span,.calendar-title-icon){color:var(--module-calendar)}:is(.communications-title-icon,.communication-status-icon){color:var(--module-communication)}:is(.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading) h2{letter-spacing:-.015em;font-weight:750;line-height:1.2}:is(.teacher-groups-heading,.teacher-attendance-heading,.attendance-history-heading,.teacher-tasks-heading,.task-grading-heading,.calendar-heading,.communications-heading) p{font-size:13px;line-height:1.6}:is(.teacher-attendance-history-link,.task-grading-back,.attendance-history-back,.communication-back,.calendar-today-button,.teacher-tasks-heading>button,.teacher-task-card footer button,.teacher-task-modal footer button,.task-grading-list footer button){min-height:44px;font-size:12px;line-height:1.4}.attachment-card{flex-wrap:wrap;gap:12px}.attachment-information{flex:180px;min-width:0}.attachment-information strong{overflow-wrap:anywhere}@media (width<=760px){:is(.teacher-groups-heading-icon,.teacher-attendance-heading-icon,.attendance-history-heading>span,.teacher-tasks-heading>span,.task-grading-heading>span,.calendar-title-icon,.communications-title-icon){width:48px;height:48px}}.institutional-panel-geometry[data-panel-geometry][data-panel-geometry-position=top]{background:radial-gradient(circle at calc(100% - 60px) -23px,color-mix(in srgb,var(--module-accent) 11%,transparent),transparent 128px), linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-accent) 6%,var(--theme-surface,#fff)))}.institutional-panel-geometry[data-panel-geometry][data-panel-geometry-position=top]:after{inset:-62px -25px auto auto}.teacher-attendance-page .present{--attendance-tone:var(--module-success)}.teacher-attendance-page .absent{--attendance-tone:#a33b32}.teacher-attendance-page .late{--attendance-tone:var(--module-warning)}.teacher-attendance-page .justified{--attendance-tone:var(--module-calendar)}.teacher-attendance-page .neutral{--attendance-tone:#536b7d}.teacher-attendance-row{--card-motion-accent:var(--attendance-tone);border:1px solid color-mix(in srgb,var(--attendance-tone) 22%,var(--theme-border,#d7e3ec));border-left:4px solid var(--attendance-tone);background:linear-gradient(115deg,var(--theme-surface,#fff),color-mix(in srgb,var(--attendance-tone) 4%,var(--theme-surface,#fff)));border-radius:20px 20px 20px 7px;box-shadow:0 8px 24px #1237540f}.teacher-attendance-list button{border:1px solid var(--module-primary);background:var(--module-primary);color:#fff;min-height:46px;font:inherit;cursor:pointer;border-radius:13px 13px 13px 5px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:650;display:inline-flex}.teacher-attendance-list button.secondary{background:var(--theme-surface,#fff);color:var(--theme-text,var(--module-primary));border-color:color-mix(in srgb,var(--module-primary) 25%,var(--theme-border,#d7e3ec))}.teacher-attendance-list button:disabled{opacity:.55;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.teacher-attendance-list button:not(:disabled):hover{filter:brightness(.96)}}@media (hover:none) and (pointer:coarse){.teacher-attendance-list button:not(:disabled):active{transform:scale(.98)}}@media (prefers-reduced-motion:no-preference){.teacher-attendance-spinner{animation:.85s linear infinite teacher-attendance-spin}@keyframes teacher-attendance-spin{to{transform:rotate(360deg)}}}.attendance-history-indicators article{--history-tone:var(--module-information);border:1px solid var(--theme-border,#d7e3ec);border-top:4px solid var(--history-tone);background:linear-gradient(115deg,var(--theme-surface,#fff),color-mix(in srgb,var(--history-tone) 5%,var(--theme-surface,#fff)));box-shadow:0 8px 24px #1237540f}.attendance-history-indicators article.absence{--history-tone:#a33b32}.attendance-history-indicators article.late{--history-tone:var(--module-warning)}.attendance-history-indicators article.justified{--history-tone:var(--module-calendar)}.attendance-history-indicators article.percentage{--history-tone:var(--module-success)}.attendance-history-student-list>button{border:1px solid var(--theme-border,#d7e3ec);border-left:4px solid var(--module-information);background:linear-gradient(115deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-information) 4%,var(--theme-surface,#fff)));border-radius:20px 20px 20px 7px;box-shadow:0 8px 24px #1237540f}.student-history-records article{--record-tone:var(--module-information);--card-motion-accent:var(--record-tone);border:1px solid var(--theme-border,#d7e3ec);border-left:4px solid var(--record-tone);background:linear-gradient(115deg,var(--theme-surface,#fff),color-mix(in srgb,var(--record-tone) 4%,var(--theme-surface,#fff)));box-shadow:0 8px 24px #1237540f}.student-history-records :is(.presente,.asistencia){--record-tone:var(--module-success)}.student-history-records .falta{--record-tone:#a33b32}.student-history-records .retardo{--record-tone:var(--module-warning)}.student-history-records :is(.justificada,.falta-justificada){--record-tone:var(--module-calendar)}@media (prefers-reduced-motion:no-preference){.attendance-history-spinner{animation:.85s linear infinite teacher-attendance-spin}}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card){--card-motion-accent:var(--module-communication);touch-action:pan-y;animation-range:normal;animation:none!important}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card).teacher-scroll-pending{opacity:0;transform:translateY(16px)scale(.985)}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card).teacher-scroll-visible{opacity:1}.teacher-communications-page.communications-page .communication-item:before{animation:none;inset:auto -38px -55px auto;transform:none}.teacher-communications-page.communications-page .attachment-card:before{content:none;animation:none}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card):after{content:"";z-index:0;border-radius:inherit;background:linear-gradient(112deg,transparent 30%,color-mix(in srgb,var(--card-motion-accent) 8%,transparent) 48%,transparent 65%);pointer-events:none;opacity:1;border:0;animation:none;position:absolute;inset:0;transform:translate(-130%)}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card)>*{z-index:1;position:relative}.teacher-communications-page :is(button,a,select,input):focus-visible{outline:3px solid var(--module-information);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.teacher-communications-page.communications-page :is(.communication-item,.attachment-card).teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) backwards teacher-observer-enter!important}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card).teacher-scroll-visible:nth-of-type(2){animation-delay:50ms!important}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card).teacher-scroll-visible:nth-of-type(3){animation-delay:.1s!important}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card).teacher-scroll-visible:nth-of-type(4){animation-delay:.15s!important}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card).teacher-scroll-visible:after{animation:11s ease-in-out infinite project-card-soft-shine}}@media (hover:hover) and (pointer:fine){.teacher-communications-page.communications-page :is(.communication-item,.attachment-card):hover{transform:translateY(-4px)scale(1.008)}}@media (hover:none) and (pointer:coarse){.teacher-communications-page.communications-page :is(.communication-item,.attachment-card):hover{transform:none}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card):active{transform:translateY(-1px)scale(.978)}.teacher-communications-page .communication-detail-navigation button:hover{transform:none}.teacher-communications-page .communication-detail-navigation button:active:not(:disabled){transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.teacher-communications-page *,.teacher-communications-page :before,.teacher-communications-page :after{transition:none!important;animation:none!important}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card){opacity:1;transform:none!important}.teacher-communications-page.communications-page :is(.communication-item,.attachment-card):after{content:none}.teacher-communications-page :is(button,a):is(:hover,:active){transform:none!important}}.teacher-attachment-page :is(.teacher-attachment-heading,.teacher-attachment-panel){border:1px solid var(--theme-border,#d7e3ec);border-radius:22px;box-shadow:0 12px 32px #12375412}.teacher-attachment-heading .attachment-viewer-heading-icon{width:58px;height:58px;color:var(--module-communication);background:color-mix(in srgb,var(--module-communication) 11%,var(--theme-surface,#fff));border-radius:18px 18px 18px 6px}.teacher-attachment-heading small{color:var(--theme-text,var(--module-primary))}.teacher-attachment-heading p{color:var(--theme-muted,#536b7d)}.teacher-attachment-page :is(.teacher-file-action,button){box-sizing:border-box;border:1px solid color-mix(in srgb,var(--module-primary) 32%,var(--theme-border,#d7e3ec));background:var(--theme-surface,#fff);min-height:46px;color:var(--theme-text,var(--module-primary));font:inherit;cursor:pointer;border-radius:13px 13px 13px 5px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:14px;font-weight:650;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.teacher-attachment-page .teacher-file-action.primary{background:var(--module-primary);border-color:var(--module-primary);color:#fff;box-shadow:0 6px 15px #1237541f}.teacher-attachment-page :is(a,button):focus-visible{outline:3px solid var(--module-information);outline-offset:3px}@media (hover:hover) and (pointer:fine){.teacher-attachment-page :is(.teacher-file-action,button):hover{transform:translateY(-2px);box-shadow:0 9px 20px #12375424}}@media (hover:none) and (pointer:coarse){.teacher-attachment-page :is(a,button):active{transform:scale(.978)}}@media (prefers-reduced-motion:reduce){.teacher-attachment-page :is(a,button),.teacher-attachment-page :is(a,button):is(:hover,:active){transition:none;transform:none}}.teacher-calendar-page :is(button,select):focus-visible{outline:3px solid var(--module-information);outline-offset:2px}.teacher-calendar-page .calendar-month-actions button{color:#fff;background:#ffffff1a;border-color:#ffffff47;min-width:44px;min-height:44px}.teacher-calendar-page .calendar-detail-close{flex-basis:44px;width:44px;height:44px}.teacher-calendar-page .calendar-error button{background:var(--theme-surface,#fff);min-height:44px;color:inherit;font:inherit;cursor:pointer;border:1px solid;border-radius:12px 12px 12px 5px;padding:10px 15px}.teacher-calendar-page .calendar-month-card{filter:none;transform:none}.teacher-calendar-page .calendar-event-card{animation:none;animation-range:normal}.teacher-calendar-page .calendar-event-card.teacher-scroll-pending{opacity:0}.teacher-calendar-page .calendar-event-card.teacher-scroll-visible{opacity:1}@media (prefers-reduced-motion:no-preference){.teacher-calendar-page .calendar-event-card.teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) backwards teacher-observer-enter}}@media (hover:hover) and (pointer:fine){.teacher-calendar-page .calendar-event-card:hover{transform:translateY(-4px)scale(1.008)}}@media (hover:none) and (pointer:coarse){.teacher-calendar-page .calendar-event-card:hover{transform:none}.teacher-calendar-page .calendar-event-card:active{transform:scale(.978)}.teacher-calendar-page .calendar-day:hover{transform:none}.teacher-calendar-page .calendar-day:active,.teacher-calendar-page .calendar-month-actions button:active{transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.teacher-calendar-page *,.teacher-calendar-page :before,.teacher-calendar-page :after{transition:none!important;animation:none!important}.teacher-calendar-page .calendar-event-card.teacher-scroll-pending{opacity:1}.teacher-calendar-page :is(button,article):is(:hover,:active){transform:none!important}}.teacher-tasks-page .teacher-tasks-toolbar{border-radius:20px}.teacher-tasks-page .teacher-tasks-toolbar :is(label>span,div small){font-size:11px;line-height:1.5}.teacher-tasks-page .teacher-tasks-toolbar select{min-height:48px;color:var(--theme-text,var(--module-secondary));font-size:14px}.teacher-tasks-page .teacher-task-card{--card-motion-accent:var(--module-information);background:linear-gradient(135deg,var(--theme-surface,#fff),color-mix(in srgb,var(--card-motion-accent) 4%,var(--theme-surface,#fff)));border-radius:20px 20px 20px 7px;padding:22px;box-shadow:0 10px 26px #12375412}.teacher-tasks-page .teacher-task-card.success{--card-motion-accent:var(--module-success)}.teacher-tasks-page .teacher-task-card.warning{--card-motion-accent:var(--module-warning)}.teacher-tasks-page .teacher-task-card.danger{--card-motion-accent:#a33b32}.teacher-tasks-page .teacher-task-card>header span{font-size:12px}.teacher-tasks-page .teacher-task-card h3{font-size:19px;line-height:1.4}.teacher-tasks-page .teacher-task-card>p{font-size:13px;line-height:1.6}.teacher-tasks-page .teacher-task-status{font-size:10px!important;font-weight:700!important}.teacher-tasks-page .teacher-task-card dt{font-size:11px}.teacher-tasks-page .teacher-task-card dd,.teacher-tasks-page .teacher-task-progress>span{font-size:12px}.teacher-tasks-page :is(.teacher-tasks-heading>button,.teacher-task-card button,.teacher-task-modal button){border-radius:12px 12px 12px 5px;min-height:44px;padding:10px 14px;font-size:12px;font-weight:700;line-height:1.4}.teacher-tasks-page .teacher-task-modal button.icon{width:44px;min-width:44px;padding:0}.teacher-tasks-page .teacher-task-modal{color:var(--theme-text,var(--module-secondary));border:1px solid var(--theme-border,#d7e3ec);border-radius:22px}.teacher-tasks-page .teacher-task-modal label>span{text-transform:none;font-size:12px}.teacher-tasks-page .teacher-task-modal :is(input,select,textarea){min-height:46px;font-size:14px;line-height:1.5}.teacher-tasks-page :is(.teacher-tasks-message,.teacher-tasks-state){font-size:14px;line-height:1.6}.teacher-tasks-page :is(button,input,select,textarea):focus-visible{outline:3px solid var(--module-information);outline-offset:3px}.teacher-tasks-page button:disabled{opacity:.55;cursor:not-allowed}.teacher-tasks-page .teacher-task-card{animation:none;animation-range:normal}.teacher-tasks-page .teacher-task-card.teacher-scroll-pending{opacity:0}.teacher-tasks-page .teacher-task-card.teacher-scroll-visible{opacity:1}@media (prefers-reduced-motion:no-preference){.teacher-tasks-page .teacher-task-card.teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) backwards teacher-observer-enter}}@media (hover:hover) and (pointer:fine){.teacher-tasks-page .teacher-task-card:hover{transform:translateY(-4px)scale(1.008)}}@media (hover:none) and (pointer:coarse){.teacher-tasks-page .teacher-task-card:hover{transform:none}.teacher-tasks-page .teacher-task-card:active{transform:scale(.978)}}@media (prefers-reduced-motion:reduce){.teacher-tasks-page *,.teacher-tasks-page :before,.teacher-tasks-page :after{transition:none!important;animation:none!important}.teacher-tasks-page .teacher-task-card.teacher-scroll-pending{opacity:1}.teacher-tasks-page :is(button,article):is(:hover,:active){transform:none!important}}.teacher-tasks-page .teacher-task-modal .teacher-task-checkbox input{width:20px;height:20px;min-height:20px}.task-grading-page .task-grading-summary button{--grading-tone:var(--module-information);border-top-color:var(--grading-tone);color:var(--grading-tone);background:linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--grading-tone) 5%,var(--theme-surface,#fff)));box-shadow:0 8px 24px #1237540f}.task-grading-page .task-grading-summary button.success{--grading-tone:var(--module-success)}.task-grading-page .task-grading-summary button.warning{--grading-tone:var(--module-warning)}.task-grading-page .task-grading-indicator-icon,.task-grading-page .task-grading-avatar{background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff));width:46px;height:46px;box-shadow:none;border:0;border-radius:14px 14px 14px 5px;flex-shrink:0;place-items:center;display:grid}.task-grading-page .task-grading-summary small{overflow-wrap:anywhere;font-size:11px;line-height:1.5}.task-grading-page .task-grading-summary b{font-size:25px}.task-grading-page .task-grading-list>article{--card-motion-accent:var(--module-warning);border-left-color:var(--card-motion-accent);background:linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--card-motion-accent) 4%,var(--theme-surface,#fff)));border-radius:20px 20px 20px 7px;box-shadow:0 10px 28px #12375412}.task-grading-page .task-grading-list>article.success{--card-motion-accent:var(--module-success)}.task-grading-page .task-grading-list>article.danger{--card-motion-accent:#a33b32}.task-grading-page .task-grading-list>article.info{--card-motion-accent:var(--module-information)}.task-grading-page .task-grading-list header strong{font-size:16px;line-height:1.5}.task-grading-page .task-grading-list header small{font-size:12px;line-height:1.5}.task-grading-page .task-grading-badges>b{font-size:10px;line-height:1.5}.task-grading-page .task-grading-fields label>span{text-transform:none;color:var(--theme-muted,#536b7d);font-size:12px;font-weight:650;line-height:1.5}.task-grading-page .task-grading-fields :is(input,select){min-height:46px;color:var(--theme-text,var(--module-secondary));border-radius:12px;padding:10px 12px;font-size:14px}.task-grading-page .task-grading-list footer button{border-radius:13px 13px 13px 5px;min-height:46px;padding:11px 16px;font-size:13px;font-weight:650}.task-grading-page .task-grading-message{border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.6}.task-grading-page .task-grading-state{color:var(--theme-muted,#536b7d);font-size:14px}.task-grading-page :is(button,input,select):focus-visible{outline:3px solid var(--module-information);outline-offset:3px}.task-grading-page .task-grading-list>article{animation:none;animation-range:normal}.task-grading-page .task-grading-list>article.teacher-scroll-pending{opacity:0}.task-grading-page .task-grading-list>article.teacher-scroll-visible{opacity:1}@media (prefers-reduced-motion:no-preference){.task-grading-page .task-grading-list>article.teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) backwards teacher-observer-enter}}@media (hover:hover) and (pointer:fine){.task-grading-page .task-grading-list>article:hover{transform:translateY(-3px)scale(1.008)}}@media (hover:none) and (pointer:coarse){.task-grading-page .task-grading-list>article:hover{transform:none}.task-grading-page .task-grading-list>article:active{transform:scale(.995)}}@media (prefers-reduced-motion:reduce){.task-grading-page *,.task-grading-page :before,.task-grading-page :after{transition:none!important;animation:none!important}.task-grading-page .task-grading-list>article.teacher-scroll-pending{opacity:1}.task-grading-page :is(button,article):is(:hover,:active){transform:none!important}}.task-grading-page .task-grading-heading>.task-grading-maximum{border:1px solid color-mix(in srgb,var(--module-calendar) 18%,var(--theme-border,#d7e3ec));background:color-mix(in srgb,var(--module-calendar) 7%,var(--theme-surface,#fff));color:var(--module-calendar);border-radius:14px 14px 14px 5px}.task-grading-page .task-grading-maximum small{color:var(--module-calendar);letter-spacing:.04em;font-size:10px;line-height:1.5}.task-grading-page .task-grading-summary button{border-radius:18px 18px 18px 7px}.task-grading-page .task-grading-avatar{color:var(--module-information)}.task-grading-page .task-grading-list article>header{background:linear-gradient(110deg,color-mix(in srgb,var(--card-motion-accent) 6%,var(--theme-surface,#fff)),var(--theme-surface,#fff));border-bottom:1px solid var(--theme-border,#d7e3ec)}.task-grading-page .task-grading-fields :is(input,select){border-color:var(--theme-border,#bcceda);background:var(--theme-surface,#fff)}.task-grading-page .task-grading-badges>.status-success{color:var(--module-success);background:color-mix(in srgb,var(--module-success) 10%,var(--theme-surface,#fff))}.task-grading-page .task-grading-badges>.status-warning{color:var(--module-warning);background:color-mix(in srgb,var(--module-warning) 10%,var(--theme-surface,#fff))}.task-grading-page .task-grading-badges>.status-info{color:var(--module-information);background:color-mix(in srgb,var(--module-information) 10%,var(--theme-surface,#fff))}.task-grading-page .task-grading-message.success{color:var(--module-success);background:color-mix(in srgb,var(--module-success) 8%,var(--theme-surface,#fff));border:1px solid color-mix(in srgb,var(--module-success) 22%,var(--theme-border,#fff))}.task-grading-page .task-grading-list footer button{background:var(--module-primary);border-color:var(--module-primary);color:#fff}.task-grading-page .task-grading-list footer button.secondary{background:var(--theme-surface,#fff);color:var(--theme-text,var(--module-primary));border-color:color-mix(in srgb,var(--module-primary) 28%,var(--theme-border,#d7e3ec))}.teacher-profile-page .profile-heading{border:1px solid var(--theme-border,#d7e3ec);border-radius:24px;box-shadow:0 12px 32px #12375412}.teacher-profile-page .profile-heading:before{content:"";z-index:-1;background:linear-gradient(180deg,var(--module-accent),var(--module-primary));clip-path:polygon(100% 0,100% 100%,0 calc(100% - 6px),0 6px);width:6px;position:absolute;inset:4px auto 4px 0}.teacher-profile-page .profile-heading h2{color:var(--theme-text,var(--module-secondary));font-size:clamp(23px,2.7vw,31px);font-weight:750;line-height:1.3}.teacher-profile-page .profile-heading p{color:var(--theme-muted,#536b7d);font-size:13px;line-height:1.6}.teacher-profile-page .profile-heading-icon{width:58px;height:58px;color:var(--module-information);background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff));box-shadow:none;border:0;border-radius:18px 18px 18px 6px}.teacher-profile-page .profile-card{border:1px solid var(--theme-border,#d7e3ec);border-radius:22px;box-shadow:0 12px 32px #12375412}.teacher-profile-page .profile-card-icon{width:46px;height:46px;color:var(--module-information);background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff));border-radius:14px 14px 14px 5px}.teacher-profile-page .profile-contact-card .profile-card-icon{color:var(--module-success)}.teacher-profile-page .profile-photos-card .profile-card-icon{color:var(--module-calendar)}.teacher-profile-page .profile-card-heading h3{font-size:20px;line-height:1.4}.teacher-profile-page :is(.profile-contact-help,.profile-readonly-notice,.profile-message){font-size:13px;line-height:1.7}.teacher-profile-page .profile-data-list dt{font-size:12px;line-height:1.5}.teacher-profile-page .profile-data-list dd{font-size:14px;line-height:1.6}.teacher-profile-page .profile-form-field label{font-size:13px;line-height:1.5}.teacher-profile-page .profile-form-field input{border:1px solid var(--theme-border,#bcceda);height:auto;min-height:46px;color:var(--theme-text,var(--module-secondary));border-radius:12px;padding:12px;font-size:14px}.teacher-profile-page :is(.profile-save-button,.profile-photo-select,.profile-photo-actions button){box-sizing:border-box;border-radius:13px 13px 13px 5px;height:auto;min-height:46px;padding:11px 16px;font-size:13px;font-weight:650;line-height:1.5}.teacher-profile-page .profile-photo-copy strong{font-size:15px;line-height:1.5}.teacher-profile-page .profile-photo-copy small{font-size:12px;line-height:1.5}.teacher-profile-page :is(input,button):focus-visible,.teacher-profile-page .profile-photo-select:focus-within{outline:3px solid var(--module-information);outline-offset:3px}@media (width<=760px){.teacher-profile-page .profile-heading-icon{width:48px;height:48px}}@media (width<=420px){.teacher-profile-page .profile-heading-icon{width:42px;height:42px}}@media (hover:none) and (pointer:coarse){.teacher-profile-page :is(button,.profile-photo-select):active{transform:scale(.978)}}@media (prefers-reduced-motion:reduce){.teacher-profile-page *,.teacher-profile-page :before,.teacher-profile-page :after{transition:none!important;animation:none!important}.teacher-profile-page :is(button,.profile-photo-select):is(:hover,:active){transform:none!important}}.teacher-groups-page .teacher-groups-toolbar label>span{letter-spacing:0;text-transform:none;font-size:12px;font-weight:650;line-height:1.5}.teacher-groups-page .teacher-groups-toolbar select,.teacher-groups-page .teacher-groups-search>div{border-color:var(--theme-border,#bcceda);min-height:48px}.teacher-groups-page .teacher-groups-search input{min-height:44px;font-size:14px}.teacher-groups-page .teacher-student-grid{background:0 0}.teacher-groups-page .teacher-student-card{border:1px solid var(--theme-border,#d7e3ec);border-left:4px solid var(--module-information);background:linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-information) 4%,var(--theme-surface,#fff)));border-radius:20px 20px 20px 7px;box-shadow:0 8px 24px #1237540f}.teacher-groups-page .teacher-student-avatar{box-shadow:none;border:0;border-radius:14px 14px 14px 5px}.teacher-groups-page .teacher-student-information h4{font-size:15px}.teacher-groups-page .teacher-student-information>span,.teacher-groups-page .teacher-student-information p{font-size:12px;line-height:1.5}.teacher-groups-page .teacher-student-attendance{padding:7px 10px;font-size:11px;line-height:1.5}.teacher-groups-page .teacher-group-subjects>div span{color:var(--module-calendar);background:color-mix(in srgb,var(--module-calendar) 7%,var(--theme-surface,#fff));font-size:12px;line-height:1.5}.teacher-groups-page .teacher-group-students>header>strong{font-size:12px}.teacher-groups-page :is(input,select):focus-visible{outline:3px solid var(--module-information);outline-offset:3px}.teacher-groups-page .teacher-student-card{filter:none;animation:none;animation-range:normal;transform:none}.teacher-groups-page .teacher-student-card.teacher-scroll-pending{opacity:0}.teacher-groups-page .teacher-student-card.teacher-scroll-visible{opacity:1}@media (prefers-reduced-motion:no-preference){.teacher-groups-page .teacher-student-card.teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) backwards teacher-observer-enter}}@media (prefers-reduced-motion:reduce){.teacher-groups-page *,.teacher-groups-page :before,.teacher-groups-page :after{transition:none!important;animation:none!important}.teacher-groups-page .teacher-student-card.teacher-scroll-pending{opacity:1}}.teacher-groups-page .teacher-group-summary-icon{width:46px;height:46px;color:var(--module-information);background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff));box-shadow:none;border:0;border-radius:14px 14px 14px 5px}.teacher-groups-page .teacher-group-summary-icon.students{color:var(--module-success)}.teacher-groups-page .teacher-group-summary-icon.subjects{color:var(--module-calendar)}.teacher-groups-page .teacher-group-summary-icon.attendance{color:var(--module-warning)}.teacher-groups-page .teacher-group-summary-icon svg{width:24px;height:24px;display:block}.teacher-groups-page .teacher-groups-heading-icon{color:var(--module-information);background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff));box-shadow:none;border:0}.teacher-groups-page .teacher-student-attendance{--attendance-label-tone:#536b7d;color:var(--attendance-label-tone);background:color-mix(in srgb,var(--attendance-label-tone) 7%,var(--theme-surface,#fff));border:0;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:500;line-height:1.5}.teacher-groups-page .teacher-student-attendance.pending{--attendance-label-tone:#536b7d}.teacher-groups-page .teacher-student-attendance.present{--attendance-label-tone:var(--module-success)}.teacher-groups-page .teacher-student-attendance.absent{--attendance-label-tone:#a33b32}.teacher-groups-page .teacher-student-attendance.late{--attendance-label-tone:var(--module-warning)}.teacher-groups-page .teacher-student-attendance.justified{--attendance-label-tone:var(--module-calendar)}.teacher-groups-page .teacher-student-attendance.pending{color:var(--module-warning);background:color-mix(in srgb,var(--attendance-label-tone) 7%,var(--theme-surface,#fff));background:color-mix(in srgb,var(--module-warning) 10%,var(--theme-surface,#fff))}.teacher-groups-page .teacher-student-attendance.registered{color:var(--module-success);background:color-mix(in srgb,var(--module-success) 10%,var(--theme-surface,#fff))}.teacher-groups-page .teacher-group-summary>[data-summary-tone]{--summary-tone:var(--module-information);--card-motion-accent:var(--summary-tone);--module-primary:var(--summary-tone);--module-accent:var(--summary-tone);border:1px solid color-mix(in srgb,var(--summary-tone) 20%,var(--theme-border,#d7e3ec));border-top:3px solid color-mix(in srgb,var(--summary-tone) 68%,var(--theme-border,#fff));background:radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--summary-tone) 9%,transparent),transparent 140px),linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--summary-tone) 4%,var(--theme-surface,#fff)));border-radius:20px 20px 20px 7px;box-shadow:0 10px 24px #12375414,inset 0 1px #fff}.teacher-groups-page .teacher-group-summary>[data-summary-tone=success]{--summary-tone:var(--module-success)}.teacher-groups-page .teacher-group-summary>[data-summary-tone=calendar]{--summary-tone:var(--module-calendar)}.teacher-groups-page .teacher-group-summary>[data-summary-tone=warning]{--summary-tone:var(--module-warning)}.teacher-groups-page .teacher-group-summary>[data-summary-tone]:after{width:110px;height:110px;inset:auto -20px -40px auto}.teacher-groups-page .teacher-group-summary>[data-panel-geometry=circle]:after{border-width:16px}.teacher-groups-page .teacher-group-summary>[data-summary-tone]>div,.teacher-groups-page .teacher-group-summary>[data-summary-tone]>.teacher-group-summary-icon{z-index:1;position:relative}.teacher-grades-page .teacher-grade-card{--card-motion-accent:var(--module-calendar);border:1px solid var(--theme-border,#d7e3ec);border-left:4px solid var(--module-calendar);background:linear-gradient(120deg,var(--theme-surface,#fff),color-mix(in srgb,var(--module-calendar) 4%,var(--theme-surface,#fff)));animation:none;animation-range:normal;box-shadow:0 8px 24px #1237540f}.teacher-grades-page .teacher-grade-card.teacher-scroll-pending{opacity:0}.teacher-grades-page .teacher-grade-card.teacher-scroll-visible{opacity:1}.teacher-grades-page .teacher-grade-card:before{animation:none}.teacher-grades-page :is(input,textarea,button):focus-visible{outline:3px solid var(--module-information);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.teacher-grades-page .teacher-grade-card.teacher-scroll-visible{animation:.46s cubic-bezier(.2,.75,.25,1) backwards teacher-observer-enter}.teacher-grades-page .teacher-grade-card.teacher-scroll-visible:before{animation:11s ease-in-out infinite project-card-soft-shine}}@media (hover:hover) and (pointer:fine){.teacher-grades-page .teacher-grade-card:hover{transform:translateY(-3px)scale(1.008)}}@media (hover:none) and (pointer:coarse){.teacher-grades-page .teacher-grade-card:hover{transform:none}.teacher-grades-page .teacher-grade-card:active{transform:scale(.995)}}@media (prefers-reduced-motion:reduce){.teacher-grades-page .teacher-grade-card,.teacher-grades-page .teacher-grade-card:before{transition:none!important;animation:none!important}.teacher-grades-page .teacher-grade-card.teacher-scroll-pending{opacity:1}.teacher-grades-page .teacher-grade-card:is(:hover,:active){transform:none}}.teacher-grades-page .teacher-grades-filters{border:1px solid var(--theme-border,#d7e3ec);border-radius:20px;box-shadow:0 10px 28px #12375412}.teacher-grades-page .teacher-grades-filters:before{content:"";z-index:-1;background:linear-gradient(180deg,var(--module-accent),var(--module-primary));clip-path:polygon(100% 0,100% 100%,0 calc(100% - 6px),0 6px);width:6px;position:absolute;inset:4px auto 4px 0}.teacher-grades-page .teacher-tasks-heading>span{color:var(--module-calendar);background:color-mix(in srgb,currentColor 11%,var(--theme-surface,#fff))}.teacher-grades-page .teacher-grades-notice{border:1px solid var(--theme-border,#d7e3ec);border-left:4px solid var(--module-information);background:color-mix(in srgb,var(--module-information) 5%,var(--theme-surface,#fff));border-radius:14px 14px 14px 5px;padding:14px 18px;font-size:13px;line-height:1.6}.teacher-grades-page :is(.teacher-grades-error,.teacher-grades-success){border-radius:14px;margin:0;padding:14px 18px;font-size:14px;line-height:1.6}.teacher-grades-page .teacher-grades-error{color:var(--theme-ink-a33b32,#a33b32);background:var(--theme-surface,#fff3f2);border:1px solid var(--theme-border,#e8c6c2)}.teacher-grades-page .teacher-grades-success{color:var(--module-success);background:color-mix(in srgb,var(--module-success) 7%,var(--theme-surface,#fff));border:1px solid color-mix(in srgb,var(--module-success) 24%,var(--theme-border,#fff))}.teacher-grades-page .teacher-grade-status{--grade-status-tone:#536b7d;color:var(--grade-status-tone);background:color-mix(in srgb,var(--grade-status-tone) 8%,var(--theme-surface,#fff));border-radius:6px;padding:2px 7px;font-size:10px;line-height:1.5}.teacher-grades-page .teacher-grade-status.published{--grade-status-tone:var(--module-success)}.teacher-grades-page .teacher-grade-status.changed{--grade-status-tone:var(--module-warning)}.teacher-grades-page .teacher-grade-avatar{box-shadow:none;border:0}.teacher-query-fields{display:contents}.teacher-query-toggle{display:none}@media (width<=1100px){.teacher-query-panel{isolation:isolate;position:relative;display:block!important}.teacher-query-toggle{text-align:left;width:100%;min-height:60px;color:var(--theme-text,var(--module-primary));align-items:center;gap:12px;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;display:flex!important}.teacher-query-toggle>span:nth-child(2){flex:1;gap:5px;min-width:0;display:grid}.teacher-query-toggle small{white-space:normal;text-transform:none;letter-spacing:normal;font-size:11px;line-height:1.5}.teacher-query-toggle>svg{flex-shrink:0;transition:transform .2s}.teacher-query-toggle>svg.is-open{transform:rotate(180deg)}.teacher-query-fields{display:none}.teacher-query-fields.is-open{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:16px;display:grid}.teacher-query-fields label{min-width:0}.teacher-query-fields :is(select,input,button){width:100%;max-width:100%;min-height:44px}}@media (width<=600px){.teacher-query-fields.is-open{grid-template-columns:1fr}}.teacher-layout-content :is(.ui-static-card,.ui-interactive-card,.teacher-scroll-pending,.teacher-scroll-visible){opacity:1!important;animation-timeline:auto!important;animation-range:normal!important}.teacher-layout-content .teacher-scroll-pending{transform:none}.teacher-layout-content :is(.teacher-attendance-row,.attendance-history-student-list>button,.task-grading-list>article,.communication-item,.calendar-event-card,.attachment-card){opacity:1;animation:none}@media (prefers-reduced-motion:reduce){.teacher-query-toggle>svg{transition:none}}.teacher-query-panel>.teacher-query-fields{border:0;grid-column:1/-1;min-width:0;padding:0}@media (width>=1101px){.teacher-query-panel>.teacher-query-fields{display:contents!important}.teacher-tasks-page .teacher-tasks-toolbar.teacher-query-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}.teacher-query-panel>.teacher-query-fields>label{min-width:0;color:var(--theme-text,var(--module-primary));grid-column:auto;gap:8px;font-weight:700;display:grid}.teacher-query-panel>.teacher-query-fields>label :is(select,input){border:1px solid var(--theme-border,#abc3db);background:var(--theme-surface,white);width:100%;min-width:0;min-height:44px;color:var(--theme-text,var(--module-primary));font:inherit;border-radius:14px 14px 14px 5px;padding:10px 12px}.teacher-query-panel>.teacher-query-fields>div{justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.teacher-query-panel>.teacher-query-fields>div strong{font-size:20px}.teacher-query-panel>.teacher-query-fields>div small{font-size:10px}@media (width<=1100px){.teacher-query-panel>.teacher-query-fields{display:none!important}.teacher-query-panel>.teacher-query-fields.is-open{padding-top:16px;display:grid!important}}.teacher-layout-content .school-cycle-panel>.ui-card-shine,.teacher-calendar-status>.ui-card-shine{display:none}@media (width>=1101px){.teacher-layout-content .school-cycle-panel>.school-cycle-filter-fields>label{grid-column:1}.teacher-layout-content .school-cycle-panel>.school-cycle-filter-fields>p{grid-area:1/2}.teacher-tasks-heading>div:not([class]),.teacher-grades-heading>.teacher-grades-title{text-align:center;grid-column:2;width:100%}.teacher-tasks-heading{grid-template-columns:140px minmax(0,1fr) 140px!important}}.teacher-tasks-page .teacher-tasks-grid,.td-tools{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.teacher-tasks-grid>.teacher-task-card,.td-tools>.td-tool{box-sizing:border-box;flex:0 0 calc(33.3333% - 10.6667px);min-width:0}.td-tools>.td-tool{border-top:3px solid var(--module-primary);min-height:210px}.td-tools>.td-tool[data-tone=success]{border-top-color:var(--module-success)}.td-tools>.td-tool[data-tone=calendar]{border-top-color:var(--module-calendar)}.td-tools>.td-tool[data-tone=warning]{border-top-color:var(--module-warning)}@media (width<=1050px){.teacher-tasks-grid>.teacher-task-card,.td-tools>.td-tool{flex-basis:calc(50% - 8px)}}@media (width<=640px){.teacher-tasks-grid>.teacher-task-card,.td-tools>.td-tool{flex-basis:100%}}.teacher-calendar-page .calendar-toolbar{grid-template-columns:minmax(0,1fr)}.teacher-layout-content .td-tools{flex-wrap:wrap;justify-content:center;display:flex}.teacher-layout-content .td-tools>.td-tool{flex-basis:calc(33.3333% - 10.6667px)}@media (width<=1050px){.teacher-layout-content .td-tools>.td-tool{flex-basis:calc(50% - 8px)}}@media (width<=640px){.teacher-layout-content .td-tools>.td-tool{flex-basis:100%}}.teacher-grades-page .teacher-grades-filters:before{animation:none;transform:none}.teacher-info-card,.teacher-status-pill{--info-tone:var(--module-information)}:is(.teacher-info-card,.teacher-status-pill)[data-tone=success]{--info-tone:var(--module-success)}:is(.teacher-info-card,.teacher-status-pill)[data-tone=warning]{--info-tone:var(--module-warning)}:is(.teacher-info-card,.teacher-status-pill)[data-tone=danger]{--info-tone:var(--color-danger,#b42318)}:is(.teacher-info-card,.teacher-status-pill)[data-tone=calendar]{--info-tone:var(--module-calendar)}.teacher-groups-page .teacher-info-card{--card-motion-accent:var(--info-tone);--module-accent:var(--info-tone);border:1px solid color-mix(in srgb,var(--info-tone) 24%,var(--theme-border,white));border-left:4px solid var(--info-tone);box-shadow:0 9px 26px color-mix(in srgb,var(--module-secondary) 8%,transparent);background:linear-gradient(125deg,var(--theme-surface,white),color-mix(in srgb,var(--info-tone) 5%,var(--theme-surface,white)));color:var(--theme-text,var(--module-secondary));border-radius:22px 22px 22px 7px}.teacher-info-card .teacher-group-summary-icon{color:var(--info-tone)}.teacher-group-summary-icon>img{object-fit:contain;width:32px;height:32px}.teacher-status-pill{border:1px solid color-mix(in srgb,var(--info-tone) 20%,var(--theme-border,white));background:color-mix(in srgb,var(--info-tone) 9%,var(--theme-surface,white));color:var(--theme-text,color-mix(in srgb,var(--info-tone) 75%,var(--module-secondary)));border-radius:10px 10px 10px 4px;justify-content:center;align-items:center;gap:7px;padding:7px 11px;font-size:12px;font-weight:700;line-height:1.5;display:inline-flex}.teacher-status-pill svg{flex-shrink:0}.teacher-groups-page .teacher-action-link{border:1px solid color-mix(in srgb,var(--module-primary) 27%,var(--theme-border,white));background:color-mix(in srgb,var(--module-primary) 6%,var(--theme-surface,white));min-height:44px;color:var(--theme-text,var(--module-primary));cursor:pointer;border-radius:12px 12px 12px 5px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:12px;font-weight:750;line-height:1.5;text-decoration:none;display:inline-flex}.teacher-action-link svg{flex-shrink:0}.teacher-groups-page .teacher-section-title{border:1px solid color-mix(in srgb,var(--module-primary) 18%,var(--theme-border,white));isolation:isolate;border-radius:18px 18px 18px 6px;padding:18px 20px;overflow:hidden}.teacher-section-title>div{text-align:center}.teacher-section-title .teacher-group-summary-icon{width:48px;height:48px}.teacher-groups-page .teacher-section-title{background:linear-gradient(180deg,color-mix(in srgb,var(--module-primary) 78%,var(--theme-surface,white)),color-mix(in srgb,var(--module-primary) 80%,var(--theme-surface,white)));color:#fff;border-color:color-mix(in srgb,var(--module-primary) 78%,var(--theme-border,white))}.teacher-groups-page .teacher-section-title :is(h3,h4){color:#fff;font-weight:800}.teacher-groups-page .teacher-section-title :is(p,small){color:color-mix(in srgb,white 88%,var(--module-accent))}.teacher-groups-page .teacher-section-title .teacher-group-summary-icon{color:#fff;background:#ffffff26}.teacher-groups-page .teacher-section-title:after{border-color:#ffffff1f}.teacher-groups-page .teacher-section-title:not([data-panel-geometry=circle]):after{background:#ffffff17}.teacher-groups-page .teacher-section-title .group-followup-filter{color:var(--theme-text,var(--module-primary));background:var(--theme-surface,white);border-color:#ffffffb3}.teacher-groups-page .teacher-section-title :is(a,input,button):focus-visible,.teacher-groups-page .teacher-section-title:focus-visible{outline-color:var(--module-accent)}.task-grading-summary>button{font:inherit;text-align:left;cursor:pointer;min-height:44px}.task-grading-summary>button[aria-pressed=true]{outline:2px solid var(--grading-tone);outline-offset:3px}.task-grading-summary>button:focus-visible,.task-grading-list:focus-visible{outline:3px solid var(--module-primary);outline-offset:4px}.task-grading-filter-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.task-grading-filter-status p{margin:0;line-height:1.5}.task-grading-list{scroll-margin-top:20px}
