.language-switcher{border:1px solid color-mix(in srgb,var(--color-primary,#003b7a) 25%,#d5e1ec);background:#fff;border-radius:10px;padding:3px;display:inline-flex}.language-switcher button{color:#607087;cursor:pointer;background:0 0;border:0;border-radius:7px;min-width:34px;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{--login-primary:var(--color-primary,#003b7a);--login-secondary:var(--color-secondary,#06245a);--login-accent:var(--color-accent,#78d0ec);background:#fff}.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:#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:#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(--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(--login-primary)}.login-heading h2{color:var(--login-secondary);letter-spacing:-.04em;margin:0;font-size:clamp(36px,4vw,50px);line-height:1.08}.login-heading>p:last-child{color:#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:#1a3155;font-size:14px;font-weight:700}.form-field input{color:#13294b;background:#fff;border:1px solid #cad4e1;border-radius:13px;outline:none;width:100%;height:52px;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(--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:#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{color:#9b1c12;background:#fff1f0;border:1px solid #f5c2bd;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,#fff,color-mix(in srgb,var(--module-accent) 6%,#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%)}.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%, white)}.public-access:is(.welcome-page,.login-page){background:color-mix(in srgb, var(--module-primary) 5%, 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(--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: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(--module-primary);background:color-mix(in srgb,var(--module-primary) 9%,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 :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(--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(--module-secondary)}.public-access .public-access-notice{text-align:left;border:1px solid var(--public-border);border-left:4px solid var(--module-accent);color:var(--module-secondary);background:#fff;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}}.school-cycle-panel{border:1px solid color-mix(in srgb,var(--color-primary,#003b7a) 25%,white);color:var(--color-primary,#003b7a);background:linear-gradient(120deg,#fff,#f2f9fb);border-radius:22px 22px 22px 6px;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr);align-items:center;gap:12px 24px;margin-bottom:20px;padding:18px 22px;display:grid;position:relative;overflow:hidden}.school-cycle-panel label{gap:7px;min-width:0;font-weight:700;display:grid}.school-cycle-panel select{width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;background:#fff;border:1px solid #abc3db;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,#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:#865014;grid-column:1/-1}.school-cycle-state{text-align:center;color:var(--color-primary,#003b7a);padding:32px}.school-cycle-state button{min-height:44px}@media (width<=600px){.school-cycle-panel{grid-template-columns:1fr;gap:12px;padding:16px}}.school-cycle-full-name{display:none}@media (width<=600px){.school-cycle-full-name{overflow-wrap:anywhere;font-size:.8rem;font-weight:500;display:block}}#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:#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:#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:#fff;justify-content:center;align-items:center;padding:64px;display:flex}.access-content{text-align:center;width:min(100%,480px)}.eyebrow{color: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(--welcome-secondary);letter-spacing:-.04em;overflow-wrap:break-word;margin:0;font-size:clamp(36px,4vw,54px);line-height:1.08}.description{color:#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:#69798d;text-align:center;margin:18px 0 0;font-size:13px;line-height:1.4}.privacy-button{color: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(--welcome-secondary);text-decoration:underline}.configuration-warning{color:#765500;text-align:left;background:#fff8e5;border:1px solid #efd28d;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(--color-primary,#003b7a);background:var(--color-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, #f5f9fd 0%, #eaf2fa 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:32px;display:flex}.api-availability-card{text-align:center;background:#fff;border:1px solid #d5e1ed;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,#06346d);font-size:.82rem;font-weight:800;line-height:1.4}.api-availability-logo{background:#fff;border:1px solid #d8e3ee;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{color:#be352c;background:#fde9e7;border-radius:50%;place-items:center;width:86px;height:86px;margin-top:34px;display:grid}.api-availability-icon-checking{color:var(--color-primary,#06346d);background:color-mix(in srgb, var(--color-primary,#06346d) 10%, #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:#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,#06346d);margin:0;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.2}.api-availability-message p{color:#60728c;margin:14px 0 0;font-size:.98rem;line-height:1.65}.api-availability-notice{color:#795710;background:#fff8e7;border:1px solid #ead49b;border-radius:13px;width:min(100%,500px);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:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#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 dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#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{color:#003b7a;text-align:center;background:#f3f7fb;place-items:center;padding:24px;display:grid}.route-spinner{border:4px solid #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%,#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%,#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%,#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%,#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}}
