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}}.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%)}.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)}}.student-picker-field{min-width:310px;position:relative}.student-picker-field:has(.student-picker-trigger[aria-expanded=true]){z-index:100}.student-picker-label{color:var(--theme-text,var(--color-secondary,#06245a));margin-bottom:7px;font-size:11px;font-weight:800;display:block}.student-picker-trigger{border:1px solid var(--theme-border,#d2deea);background:var(--theme-surface,#fff);width:100%;min-height:58px;color:var(--theme-text,var(--color-secondary,#06245a));text-align:left;cursor:pointer;border-radius:13px;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:8px 12px;font-family:inherit;display:grid}.student-picker-trigger:hover,.student-picker-trigger[aria-expanded=true]{border-color:var(--color-primary,#003b7a)}.student-picker-trigger:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary,#003b7a) 18%, transparent);outline-offset:2px}.student-picker-avatar{border:2px solid var(--theme-border,#fff);background:color-mix(in srgb, var(--color-accent,var(--theme-surface,#78d0ec)) 28%, var(--theme-surface,#f1f5f9));width:40px;height:40px;color:var(--theme-text,var(--color-primary,#003b7a));box-shadow:0 5px 13px color-mix(in srgb, var(--color-primary,#003b7a) 16%, transparent);border-radius:14px 14px 14px 5px;place-items:center;font-size:12px;font-weight:900;display:grid;overflow:hidden}.student-picker-avatar img{object-fit:cover;width:100%;height:100%;display:block}.student-picker-copy{min-width:0;display:block}.student-picker-copy strong,.student-picker-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-picker-copy strong{font-size:12px}.student-picker-copy small{color:var(--theme-muted,#6b7b90);margin-top:4px;font-size:10px}.student-picker-trigger>svg{color:var(--theme-text,var(--color-primary,#003b7a));transition:transform .18s}.student-picker-chevron-open{transform:rotate(180deg)}.student-picker-menu{z-index:100;border:1px solid var(--theme-border,#d2deea);background:var(--theme-surface,#fff);border-radius:14px;max-height:280px;padding:6px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #06245a2e}.student-picker-menu>button{width:100%;color:var(--theme-text,var(--color-secondary,#06245a));text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:9px;font-family:inherit;display:grid}.student-picker-menu>button:hover,.student-picker-option-selected{background:color-mix(in srgb, var(--color-primary,#003b7a) 7%, var(--theme-surface,#fff))}.student-picker-menu>button>svg{color:var(--theme-text,var(--color-primary,#003b7a))}@media (width<=760px){.student-picker-field{width:100%;min-width:0}.student-picker-menu{max-height:230px}}@media (hover:none) and (pointer:coarse){.student-picker-trigger,.student-picker-menu>button{-webkit-tap-highlight-color:transparent;transition:transform .16s,background .16s,border-color .16s}.student-picker-trigger:active{border-color:var(--color-primary,#003b7a);background:color-mix(in srgb, var(--color-primary,#003b7a) 5%, var(--theme-surface,#fff));transform:scale(.985)}.student-picker-menu>button:active{background:color-mix(in srgb, var(--color-primary,#003b7a) 12%, var(--theme-surface,#fff));transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.student-picker-trigger,.student-picker-menu>button{transition:none}}section:has(>.student-picker-field .student-picker-trigger[aria-expanded=true]){z-index:20;position:relative;overflow:visible}.student-picker-expanded{border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--theme-border,white));background:var(--color-surface,var(--theme-surface,#fff));border-radius:20px 20px 20px 6px;gap:10px;min-width:0;padding:16px;display:grid}.student-picker-children{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;display:grid}.student-picker-child{border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--theme-border,white));background:color-mix(in srgb,var(--color-primary) 3%,var(--theme-surface,white));min-width:0;min-height:72px;color:var(--theme-text,var(--color-secondary));font:inherit;text-align:left;cursor:pointer;border-radius:14px 14px 14px 5px;align-items:center;gap:12px;padding:12px;display:flex}.student-picker-child[aria-pressed=true]{border:2px solid var(--color-primary);background:color-mix(in srgb,var(--color-accent) 17%,var(--theme-surface,white))}.student-picker-child:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.student-picker-child>.student-picker-avatar{flex:0 0 48px;width:48px;height:48px}.student-picker-child>.student-picker-copy{overflow-wrap:anywhere;flex:1;min-width:0}.student-picker-child>svg{color:var(--theme-text,var(--color-primary));flex-shrink:0}.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(.summary-card,.recent-communication-card,.student-selector-card,.average-card,.attendance-summary-card,.grades-summary-card,.grade-card,.subject-statistic-card,.payment-summary-card,.charge-card,.parent-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.profile-card,.card-payment-result-card){--card-motion-accent:var(--color-primary,var(--task-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){--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 (prefers-reduced-motion:no-preference){:where(.ui-interactive-card,.ui-static-card){animation:.48s cubic-bezier(.2,.75,.25,1) both project-card-standard-enter}:where(.ui-interactive-card,.ui-static-card):nth-child(2){animation-delay:50ms}:where(.ui-interactive-card,.ui-static-card):nth-child(3){animation-delay:.1s}:where(.ui-interactive-card,.ui-static-card):nth-child(4){animation-delay:.15s}}@keyframes project-card-standard-enter{0%{opacity:0;transform:translateY(12px)scale(.987)}to{opacity:1;transform:none}}@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(.summary-card,.recent-communication-card,.student-selector-card,.average-card,.attendance-summary-card,.grades-summary-card,.grade-card,.subject-statistic-card,.payment-summary-card,.charge-card,.parent-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.profile-card,.card-payment-result-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(.summary-card,.recent-communication-card,.student-selector-card,.average-card,.attendance-summary-card,.grades-summary-card,.grade-card,.subject-statistic-card,.payment-summary-card,.charge-card,.parent-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.profile-card,.card-payment-result-card){touch-action:pan-y;-webkit-tap-highlight-color:transparent;animation:.42s cubic-bezier(.2,.75,.25,1) both project-card-touch-enter}:where(.summary-card,.recent-communication-card,.student-selector-card,.average-card,.attendance-summary-card,.grades-summary-card,.grade-card,.subject-statistic-card,.payment-summary-card,.charge-card,.parent-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.profile-card,.card-payment-result-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(.summary-card,.recent-communication-card,.student-selector-card,.average-card,.attendance-summary-card,.grades-summary-card,.grade-card,.subject-statistic-card,.payment-summary-card,.charge-card,.parent-task-card,.attachment-card,.calendar-event-card,.calendar-month-card,.profile-card,.card-payment-result-card){opacity:1;transition:none;animation:none;transform:none}}:is(.subject-history-record,.subject-status-badge,.school-cycle-collapsible,.attendance-status-card,.dashboard-period-metric,.summary-card,.average-card,.recent-communication-card,.communication-item,.attachment-card){isolation:isolate;position:relative;overflow:hidden}:is(.subject-history-record,.subject-status-badge,.school-cycle-collapsible,.attendance-status-card,.dashboard-period-metric,.summary-card,.average-card,.recent-communication-card,.communication-item,.attachment-card)>.ui-card-shine{z-index:3;pointer-events:none;border-radius:inherit;width:auto;height:auto;box-shadow:none;background:linear-gradient(112deg,transparent 30%,color-mix(in srgb,var(--card-motion-accent,var(--color-primary)) 12%,transparent) 48%,transparent 65%);border:0;margin:0;padding:0;position:absolute;inset:0;transform:translate(-130%)}@media (prefers-reduced-motion:no-preference){.ui-card-shine{animation:11s ease-in-out .2s infinite project-card-shine-pass}}@keyframes project-card-shine-pass{0%{transform:translate(-130%)}22%,to{transform:translate(130%)}}@media (prefers-reduced-motion:reduce){.ui-card-shine{animation:none;display:none}}
