/* One responsive switch for sign in and every registration screen. */
.auth-header-actions,.registration-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:0}
.auth-header-actions p{margin:0}
.public-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;min-width:111px;padding:7px 11px;border:1px solid #cbdcf0;border-radius:9px;background:#f2f7fd;color:#27517c;font-size:11px;font-weight:750;white-space:nowrap;flex:none;cursor:pointer}
.public-theme-toggle:hover{background:#e5f0fc}.public-theme-toggle i{font-size:16px;line-height:1}.public-theme-toggle:focus-visible{outline:3px solid #70b4ff;outline-offset:2px}
@media(max-width:760px){.auth-header-actions,.registration-header-actions{gap:9px}.public-theme-toggle{min-width:38px;width:38px;padding:7px}.public-theme-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(max-width:400px){.registration-page>header{gap:8px}.registration-header-actions>a{font-size:10px}.registration-brand.public-vidumaga-brand strong{font-size:15px}}

html[data-public-theme="dark"]{color-scheme:dark;--ink:#eaf3ff;--muted:#a8bad1;--line:#344b66}
html[data-public-theme="dark"] .public-auth-body{background:#0e1725;color:#eaf3ff}
html[data-public-theme="dark"] .public-theme-toggle{background:#20354a;color:#d9ecff;border-color:#4a6783}
html[data-public-theme="dark"] .public-theme-toggle:hover{background:#2a4966}
html[data-public-theme="dark"] .public-vidumaga-brand strong{color:#eaf3ff}
html[data-public-theme="dark"] .public-vidumaga-brand small{color:#9db6cf}

/* Sign in: a deep blue story panel and a warm, readable form card. */
html[data-public-theme="dark"] .auth-page,html[data-public-theme="dark"] .auth-main{background:#0e1725!important}
html[data-public-theme="dark"] .auth-header{background:#132236;border-color:#2e4963}
html[data-public-theme="dark"] .auth-header p{color:#a9bed6}
html[data-public-theme="dark"] .auth-header p i{color:#84c9ec}
html[data-public-theme="dark"] .auth-story{padding-bottom:56px;background:radial-gradient(circle at 78% 68%,#295b7780 0%,transparent 33%),linear-gradient(145deg,#10283c 0%,#173b52 57%,#10263b 100%)!important;border-right:1px solid #2e5168}
html[data-public-theme="dark"] .auth-story::before{display:block;background-image:linear-gradient(#7eb7d91a 1px,transparent 1px),linear-gradient(90deg,#7eb7d91a 1px,transparent 1px);background-size:48px 48px;opacity:.5}
html[data-public-theme="dark"] .auth-story::after{content:"";position:absolute;right:-90px;bottom:-150px;width:420px;height:420px;border:1px solid #8bd6d325;border-radius:50%;background:transparent!important;box-shadow:0 0 0 55px #55acd00b,0 0 0 115px #55acd009;pointer-events:none}
html[data-public-theme="dark"] .auth-story>img{display:none}
html[data-public-theme="dark"] .auth-chip{background:#1c4b55;color:#b2efdf;border:1px solid #3b827c}
html[data-public-theme="dark"] .auth-story h1{color:#f5f9ff}
html[data-public-theme="dark"] .auth-story h1 em{color:#80d7ec}
html[data-public-theme="dark"] .auth-story>p,html[data-public-theme="dark"] .auth-story li span{color:#b9cfe0}
html[data-public-theme="dark"] .auth-story li strong{color:#f0f7ff}
html[data-public-theme="dark"] .auth-story li>i{background:#244d68;color:#9bd3ff}
html[data-public-theme="dark"] .auth-story li:nth-child(2)>i{background:#205047;color:#9ce4c2}
html[data-public-theme="dark"] .auth-story li:nth-child(3)>i{background:#42355d;color:#d4b8ff}
html[data-public-theme="dark"] .auth-login{background:radial-gradient(circle at 48% 38%,#1b3950 0%,#101c2d 66%)!important}
html[data-public-theme="dark"] .auth-card{background:linear-gradient(160deg,#1c2d42,#172639)!important;color:#eaf3ff;border:1px solid #3b5570;box-shadow:0 22px 58px #050b15a8;border-radius:16px}
html[data-public-theme="dark"] .auth-card h2{color:#f3f8ff}
html[data-public-theme="dark"] .auth-card>p,html[data-public-theme="dark"] .auth-card-brand small{color:#a9bdd3}
html[data-public-theme="dark"] .auth-card form>label{color:#d9e9fa}
html[data-public-theme="dark"] .auth-card label>span{background:#102136;border-color:#405d78}
html[data-public-theme="dark"] .auth-card label>span:focus-within{border-color:#6bb8ee;box-shadow:0 0 0 3px #3d9be530}
html[data-public-theme="dark"] .auth-card label>span>i,html[data-public-theme="dark"] .auth-card label>span button{color:#a9c6e1}
html[data-public-theme="dark"] .auth-card input:not([type=checkbox]){color:#edf6ff}
html[data-public-theme="dark"] .auth-card input::placeholder{color:#8da9c3}
html[data-public-theme="dark"] .auth-login-options label{color:#aec2d8}
html[data-public-theme="dark"] .auth-login-options a{color:#9fd4ff}
html[data-public-theme="dark"] .auth-submit{background:linear-gradient(110deg,#1374cf,#1598b0);color:#fff;box-shadow:0 8px 20px #0b5b8b55}
html[data-public-theme="dark"] .auth-submit:hover{background:linear-gradient(110deg,#2184df,#1aa7bf)}
html[data-public-theme="dark"] .auth-divider{color:#9fb5ca}
html[data-public-theme="dark"] .auth-divider::before,html[data-public-theme="dark"] .auth-divider::after{background:#3b5067}
html[data-public-theme="dark"] .auth-register-button{background:#233c53;color:#d9ecff;border-color:#5187a9}
html[data-public-theme="dark"] .auth-register-button:hover{background:#2c506e}
html[data-public-theme="dark"] .auth-trust{background:#1a3041;color:#b3cddd;border-color:#35586b}
html[data-public-theme="dark"] .auth-trust strong{color:#e7f6ff}
html[data-public-theme="dark"] .auth-trust>i{color:#75d9bd}
html[data-public-theme="dark"] .auth-footer{background:#0b1726;color:#a7bfd4}
html[data-public-theme="dark"] .auth-alert,html[data-public-theme="dark"] .registration-alert{background:#4b2837;color:#ffc1cb;border-color:#865368}

/* Registration chooser. */
html[data-public-theme="dark"] .register-scrim{background:#020915b8}
html[data-public-theme="dark"] .register-drawer{background:#18283b;border-color:#43607a;box-shadow:0 24px 70px #010611b8;color:#eaf3ff}
html[data-public-theme="dark"] .register-drawer>header{background:#21364b;border-color:#43607a}
html[data-public-theme="dark"] .register-drawer>header>span{background:#294b64;color:#a7dbff}
html[data-public-theme="dark"] .register-drawer>header h2{color:#f1f7ff}
html[data-public-theme="dark"] .register-drawer>header p{color:#acc2d7}
html[data-public-theme="dark"] .register-drawer>header button{color:#c3ddf4}
html[data-public-theme="dark"] .register-role-list>a{background:#22364c;color:#eaf3ff;border-color:#405d76}
html[data-public-theme="dark"] .register-role-list>a:nth-child(2){background:#233447}
html[data-public-theme="dark"] .register-role-list>a:nth-child(3){background:#1f3a40}
html[data-public-theme="dark"] .register-role-list>a:hover{border-color:#70b7e9;background:#2d4a64}
html[data-public-theme="dark"] .register-role-list>a>i{background:#315470;color:#a9d8ff}
html[data-public-theme="dark"] .register-role-list>a:nth-child(3)>i{background:#245749;color:#a0e8c2}
html[data-public-theme="dark"] .register-role-list strong{color:#f1f7ff}
html[data-public-theme="dark"] .register-role-list small{color:#b0c5d9}
html[data-public-theme="dark"] .register-role-list>a>b{background:#285a81;color:#fff}

/* Student, teacher, and parent registration forms. */
html[data-public-theme="dark"] .registration-page{background:radial-gradient(circle at 12% 6%,#1b4154 0%,transparent 24%),radial-gradient(circle at 88% 13%,#1b3052 0%,transparent 25%),#0e1725;color:#eaf3ff}
html[data-public-theme="dark"] .registration-page>header{background:#132236;border-color:#2e4963}
html[data-public-theme="dark"] .registration-page>header>a,html[data-public-theme="dark"] .registration-header-actions>a{color:#b8d3ea}
html[data-public-theme="dark"] .registration-header-actions>a:hover{color:#ecf7ff}
html[data-public-theme="dark"] .registration-heading>span{background:linear-gradient(135deg,#166ba6,#1b8b94);box-shadow:0 8px 20px #0c618640}
html[data-public-theme="dark"] .registration-heading h1{color:#f3f8ff}
html[data-public-theme="dark"] .registration-heading p{color:#b1c5da}
html[data-public-theme="dark"] .registration-form>section,html[data-public-theme="dark"] .registration-success{background:#1a293b;color:#eaf3ff;border-color:#39526c;box-shadow:0 8px 24px #050a1370}
html[data-public-theme="dark"] .registration-form section>header{background:#22364b;border-color:#39526c}
html[data-public-theme="dark"] .registration-form section>header>b{background:#29536d;color:#a4ddff}
html[data-public-theme="dark"] .registration-form section>header h2,html[data-public-theme="dark"] .registration-success h1{color:#f1f7ff}
html[data-public-theme="dark"] .registration-form section>header p,html[data-public-theme="dark"] .registration-success>p,html[data-public-theme="dark"] .registration-hint{color:#a9c0d6}
html[data-public-theme="dark"] .registration-fields label,html[data-public-theme="dark"] .registration-review>label{color:#d8e9f8}
html[data-public-theme="dark"] .registration-fields label small{color:#a9c0d6}
html[data-public-theme="dark"] .registration-fields :is(input,select,textarea),html[data-public-theme="dark"] .temporary-credentials input{background:#112237;color:#edf6ff;border-color:#42617e}
html[data-public-theme="dark"] .registration-fields :is(input,textarea)::placeholder{color:#91aac3}
html[data-public-theme="dark"] .registration-fields :is(input,select,textarea):focus{border-color:#70bce9;outline:2px solid #4baddb55}
html[data-public-theme="dark"] .registration-page :is(.app-dropdown-trigger,.app-dropdown-menu){background:#112237!important;color:#edf6ff!important;border-color:#42617e!important}
html[data-public-theme="dark"] .registration-page .app-dropdown-option{background:#112237!important;color:#edf6ff!important}
html[data-public-theme="dark"] .registration-page .app-dropdown-option:is(:hover,:focus,[aria-selected="true"]){background:#28516b!important;color:#fff!important}
html[data-public-theme="dark"] .registration-page .app-dropdown-group-header{color:#a8bfd4!important}
html[data-public-theme="dark"] .registration-fields input::file-selector-button{background:#294b65;color:#dcefff;border:1px solid #5d8fac;border-radius:5px;padding:5px 9px;margin-right:8px}
html[data-public-theme="dark"] .registration-options,html[data-public-theme="dark"] .teaching-assignment-row{background:#20364b;color:#dcecff;border-color:#41627d}
html[data-public-theme="dark"] .registration-form .registration-password-toggle,html[data-public-theme="dark"] .assignment-add{background:#294b65;color:#c1e4ff;border-color:#5d8fac}
html[data-public-theme="dark"] .registration-form .registration-password-toggle:hover,html[data-public-theme="dark"] .assignment-add:hover{background:#35627e}
html[data-public-theme="dark"] .assignment-remove{background:#4a303c;color:#ffc3ce;border-color:#805363}
html[data-public-theme="dark"] .registration-review>button,html[data-public-theme="dark"] .registration-success>a{background:linear-gradient(110deg,#1374cf,#1598b0);color:#fff;box-shadow:0 8px 20px #0b5b8b55}
html[data-public-theme="dark"] .registration-review>button:hover,html[data-public-theme="dark"] .registration-success>a:hover{background:linear-gradient(110deg,#2184df,#1aa7bf)}
html[data-public-theme="dark"] .temporary-credentials{background:#20384e;border-color:#4b7695;color:#eaf3ff}
html[data-public-theme="dark"] .temporary-credentials :is(p,dt),html[data-public-theme="dark"] .registration-note{color:#b1c9de}
html[data-public-theme="dark"] .temporary-credentials :is(dt,dd){border-color:#41627d}
html[data-public-theme="dark"] .temporary-credentials h2{color:#f1f7ff}
@media(max-width:980px){html[data-public-theme="dark"] .auth-story{padding-bottom:34px}}
@media(max-width:760px){html[data-public-theme="dark"] .auth-story{min-height:245px;padding:27px 22px 34px}html[data-public-theme="dark"] .auth-story h1{max-width:none;font-size:clamp(29px,6vw,39px)}html[data-public-theme="dark"] .auth-story>p{max-width:510px}html[data-public-theme="dark"] .auth-login{margin-top:0;padding:20px 16px 30px}}
@media(max-width:400px){html[data-public-theme="dark"] .auth-story{min-height:225px;padding:22px 18px 27px}html[data-public-theme="dark"] .auth-story h1{max-width:none;font-size:29px}html[data-public-theme="dark"] .auth-story>p{max-width:100%;font-size:11px}}
