*{box-sizing:border-box}body{margin:0;background:#f3f7fb;color:#17304c;font:15px/1.9 Tahoma,Arial,sans-serif}a{color:#087f8a}main{width:min(820px,calc(100% - 28px));margin:24px auto 50px}.account-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0}.account-top a{text-decoration:none}.account-card{background:#fff;border:1px solid #d9e4ee;border-radius:16px;margin:14px 0;padding:22px}h1{font-size:24px;margin:16px 0 4px}h2{font-size:18px;margin:0 0 12px}p{margin:8px 0 14px}.muted,small{color:#64748b}label{display:block;margin:12px 0 5px;font-weight:700}input,select,button{font:inherit;border:1px solid #b8c8d8;border-radius:10px;padding:10px 12px;max-width:100%}input,select{display:block;width:100%;background:#fff;color:#17304c;min-height:44px}input:focus,select:focus{outline:2px solid #0799a644;border-color:#0799a6}button{cursor:pointer;background:#087f8a;color:#fff;font-weight:700}button:disabled{opacity:.6;cursor:wait}button.secondary{background:#fff;color:#17304c}button.danger{background:#fff;color:#b42318;border-color:#e9aba6}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.wide{grid-column:1/-1}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.password-wrap{position:relative;display:block}.password-wrap input{padding-left:48px}.password-wrap [data-password-toggle]{position:absolute;left:6px;top:5px;width:35px;height:35px;padding:6px;border:0;background:transparent;color:#47627c;display:grid;place-items:center}.password-wrap svg{width:23px;height:23px}.status{white-space:pre-line;min-height:28px;color:#176039;overflow-wrap:anywhere}.status.bad{color:#b42318}.account-card summary{cursor:pointer;font-weight:700;font-size:17px}.account-card details{min-width:0}details>form,details>p{margin-top:15px}input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin-left:6px}.checkbox-label{display:flex;align-items:center;gap:6px}#accountIdentity{overflow-wrap:anywhere}.auth-main{max-width:520px;margin-top:8vh}[hidden]{display:none!important}.account-busy{display:inline-block;width:15px;height:15px;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;animation:account-spin 1s linear infinite;vertical-align:middle;margin-left:6px}@keyframes account-spin{to{transform:rotate(360deg)}}@media(max-width:520px){main{margin-top:12px}.account-card{padding:16px}.fields{grid-template-columns:1fr}h1{font-size:22px}.actions button{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.account-busy{animation-duration:2s}}

/* WEB34 approved turquoise-and-white auth screens. Existing account settings are unchanged. */
body.auth-visual-web34{background:#f5fcfd;color:#123b62;min-height:100vh;min-height:100dvh;line-height:1.8}
body.auth-visual-web34 .k34-auth-header{min-height:64px;padding:10px max(22px,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:20px;background:#007f91;color:#fff;border-bottom:1px solid #007585}
body.auth-visual-web34 .k34-auth-wordmark{display:inline-flex;align-items:center;gap:10px;direction:ltr;font-size:27px;letter-spacing:4px;line-height:1}
body.auth-visual-web34 .k34-auth-wordmark svg{width:39px;height:38px;flex:none}
body.auth-visual-web34 .k34-auth-header .karen-theme-toggle{margin-inline-start:auto!important}
body.auth-visual-web34 #karenWebLogin{min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);padding:42px 24px}
body.auth-visual-web34 .karen-entry-card{width:min(1120px,100%);margin:0;padding:34px 32px 24px;background:#fff;border:1px solid #a8dce5;border-radius:12px;box-shadow:0 12px 35px #15788a0b}
body.auth-visual-web34 .karen-entry-brand{justify-content:center;gap:0;margin:0 0 30px;text-align:center}
body.auth-visual-web34 .karen-entry-brand h1{color:#123b62;font-size:29px;line-height:1.6;margin:0 0 8px}
body.auth-visual-web34 .karen-entry-brand p,body.auth-visual-web34 .karen-entry-form-head p{color:#536d88;line-height:1.9}
body.auth-visual-web34 .karen-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body.auth-visual-web34 .karen-entry-choice{display:flex;flex-direction:column;min-height:290px;padding:24px 18px 18px;gap:14px;background:#fff;border:1px solid #b9e4eb;border-radius:10px;color:#123b62;text-align:center;box-shadow:none;position:relative}
body.auth-visual-web34 .karen-entry-choice[data-entry=teacher]{background:#f0fcfe;border-color:#0699ae}
body.auth-visual-web34 .karen-entry-choice:hover,body.auth-visual-web34 .karen-entry-choice:focus-visible{background:#eafafe;border-color:#007f91;box-shadow:0 8px 20px #0f8da21a;transform:translateY(-2px);outline:3px solid #008fa82b;outline-offset:2px}
body.auth-visual-web34 .karen-entry-icon{width:82px;height:82px;border-radius:50%;background:#effafb;color:#123b62}
body.auth-visual-web34 .karen-entry-icon svg{width:45px;height:45px}
body.auth-visual-web34 .karen-entry-choice[data-entry=teacher] .karen-entry-icon{background:#e2f8fc;color:#008599}
body.auth-visual-web34 .karen-entry-choice b{font-size:20px}
body.auth-visual-web34 .karen-entry-choice small{font-size:13px;line-height:1.9;color:#536d88;min-height:50px}
body.auth-visual-web34 .karen-entry-arrow{position:static;display:grid;place-items:center;flex:none;width:40px;height:40px;margin-top:auto;border-radius:50%;background:#edfafd;color:#007d91;font-size:25px;line-height:1}
body.auth-visual-web34 .karen-entry-choice[data-entry=teacher] .karen-entry-arrow{background:#007f91;color:#fff}
body.auth-visual-web34 .karen-entry-card>footer{margin-top:24px;border-top:1px solid #d8edf2;padding-top:18px;color:#536d88;font-size:12px}
body.auth-visual-web34 .karen-entry-card:has(.karen-entry-form:not([hidden])){width:min(510px,100%);padding:26px 28px 20px}
body.auth-visual-web34 .karen-entry-card:has(.karen-entry-form:not([hidden])) .karen-entry-brand{display:none}
body.auth-visual-web34 .karen-entry-form{max-width:100%;padding:0}
body.auth-visual-web34 .karen-entry-back{color:#007b90;padding:0 0 20px;font-size:13px;text-align:right}
body.auth-visual-web34 .karen-entry-form-head{display:flex;flex-direction:column;gap:10px;text-align:center;margin:4px 0 25px}
body.auth-visual-web34 .karen-entry-form-icon{background:transparent;width:72px;height:72px;color:#008da1;border-radius:0}
body.auth-visual-web34 .karen-entry-form-icon svg{width:66px;height:66px}
body.auth-visual-web34 .karen-entry-form h2{font-size:25px;color:#123b62;margin:0 0 4px;line-height:1.6}
body.auth-visual-web34 .karen-entry-form label{font-size:14px;font-weight:700;margin-bottom:18px}
body.auth-visual-web34 .karen-entry-form input{background:#fcfeff;color:#123b62;border:1px solid #a8dce5;border-radius:8px;min-height:52px;margin-top:7px;padding:11px 13px}
body.auth-visual-web34 #username,body.auth-visual-web34 #recoverUsername{direction:ltr;text-align:left}
body.auth-visual-web34 .karen-entry-submit{min-height:52px;background:#007f91;color:#fff;border:1px solid #007585;border-radius:8px;font-size:16px;font-weight:700;box-shadow:none}
body.auth-visual-web34 .karen-entry-submit:hover:not(:disabled){background:#006d7d}
body.auth-visual-web34 #entryRecover{color:#00798d;text-decoration:none;margin:17px 0 8px}
body.auth-visual-web34 #entryRecover:hover{text-decoration:underline}
body.auth-visual-web34 .karen-entry-status{font-size:13px;min-height:0;padding-top:8px;overflow-wrap:anywhere}
body.auth-visual-web34 .karen-entry-status:empty{padding:0}
body.auth-visual-web34 #karenWebLogin [data-password-toggle]{top:9px;color:#365777}
body.auth-visual-web34 .auth-main{width:min(590px,calc(100% - 32px));max-width:590px;margin:clamp(32px,9vh,92px) auto 50px}
body.auth-visual-web34 .account-card{margin:0;padding:28px;background:#fff;border:1px solid #a8dce5;border-radius:12px;box-shadow:0 12px 35px #15788a0b}
body.auth-visual-web34 .k34-auth-back{margin-bottom:22px;font-size:13px}
body.auth-visual-web34 .k34-auth-back a{color:#00798d;text-decoration:none}
body.auth-visual-web34 .k34-auth-back a:hover{text-decoration:underline}
body.auth-visual-web34 .k34-auth-recovery-icon{display:block;width:62px;height:62px;margin:0 auto 18px;color:#008ca0}
body.auth-visual-web34 .k34-auth-recovery-icon svg{width:100%;height:100%}
body.auth-visual-web34 .k34-auth-mail-icon{display:none}
body.auth-visual-web34 .auth-main:has(#verifyForm:not([hidden])) .k34-auth-lock-icon{display:none}
body.auth-visual-web34 .auth-main:has(#verifyForm:not([hidden])) .k34-auth-mail-icon{display:block}
body.auth-visual-web34 #recoveryTitle{text-align:center;color:#123b62;font-size:25px;line-height:1.6;margin:0 0 10px}
body.auth-visual-web34 #recoveryHint{text-align:center;color:#536d88;line-height:1.95;font-size:14px;margin:0 0 20px}
body.auth-visual-web34 #recoveryMessage{font-size:13px;line-height:1.8;min-height:0;margin:0 0 16px}
body.auth-visual-web34 #recoveryMessage:empty{margin:0}
body.auth-visual-web34 .auth-main label{font-size:14px;margin:16px 0 7px}
body.auth-visual-web34 .auth-main input{background:#fcfeff;color:#123b62;border:1px solid #a8dce5;border-radius:8px;min-height:52px;font-size:16px;padding:11px 13px}
body.auth-visual-web34 .auth-main .password-wrap input{padding-left:48px}
body.auth-visual-web34 .auth-main .password-wrap [data-password-toggle]{top:9px;color:#365777}
body.auth-visual-web34 .auth-main .actions{margin-top:22px}
body.auth-visual-web34 .auth-main .actions button{width:100%;min-height:52px;background:#007f91;color:#fff;border:1px solid #007585;border-radius:8px;font-size:16px}
body.auth-visual-web34 .auth-main .actions button:hover:not(:disabled){background:#006d7d}
body.auth-visual-web34 #recoveryLogin{display:block;text-align:center;color:#00798d;text-decoration:none}
body.auth-visual-web34 #recoveryLogin:hover{text-decoration:underline}
body.auth-visual-web34 :is(input,button,a):focus-visible{outline:3px solid #0094ae55;outline-offset:3px}
body.auth-visual-web34 :is(.karen-entry-status,.status){color:#176039}
body.auth-visual-web34 :is(.karen-entry-status,.status).bad{color:#b42318}
@media(max-width:850px){body.auth-visual-web34 .karen-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.auth-visual-web34 .karen-entry-choice{min-height:250px}}
@media(max-width:520px){body.auth-visual-web34 .k34-auth-header{min-height:60px;padding:10px 16px}body.auth-visual-web34 .k34-auth-wordmark{font-size:22px;letter-spacing:3px}body.auth-visual-web34 .k34-auth-wordmark svg{width:32px;height:32px}body.auth-visual-web34 #karenWebLogin{min-height:calc(100dvh - 60px);padding:24px 14px}body.auth-visual-web34 .karen-entry-card{padding:24px 16px 20px}body.auth-visual-web34 .karen-entry-brand{margin-bottom:24px}body.auth-visual-web34 .karen-entry-brand h1{font-size:22px}body.auth-visual-web34 .karen-entry-brand p{font-size:14px}body.auth-visual-web34 .karen-entry-grid{grid-template-columns:1fr;gap:12px}body.auth-visual-web34 .karen-entry-choice{display:grid;grid-template-columns:58px minmax(0,1fr) 32px;grid-template-rows:auto auto;text-align:right;min-height:108px;padding:14px;gap:3px 12px}body.auth-visual-web34 .karen-entry-icon{grid-row:1/3;width:58px;height:58px}body.auth-visual-web34 .karen-entry-icon svg{width:34px;height:34px}body.auth-visual-web34 .karen-entry-choice b{align-self:end;font-size:17px}body.auth-visual-web34 .karen-entry-choice small{align-self:start;font-size:12px;min-height:0}body.auth-visual-web34 .karen-entry-arrow{grid-column:3;grid-row:1/3;width:32px;height:32px;align-self:center;margin:0;font-size:23px}body.auth-visual-web34 .karen-entry-card:has(.karen-entry-form:not([hidden])){padding:22px 18px 18px}body.auth-visual-web34 .karen-entry-form h2,body.auth-visual-web34 #recoveryTitle{font-size:23px}body.auth-visual-web34 .auth-main{margin:30px auto 40px}body.auth-visual-web34 .account-card{padding:24px 18px}}
@media screen{
html[data-karen-theme="dark"] body.auth-visual-web34{background:#111d2b!important;color:#e8f2fb!important}
html[data-karen-theme="dark"] body.auth-visual-web34 .k34-auth-header{background:#086476!important;border-color:#378698!important;color:#fff!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-card,.account-card){background:#23384e!important;border-color:#58728d!important;box-shadow:0 14px 34px #0003!important}
html[data-karen-theme="dark"] body.auth-visual-web34 .karen-entry-choice{background:#2c455e!important;color:#e8f2fb!important;border-color:#58728d!important}
html[data-karen-theme="dark"] body.auth-visual-web34 .karen-entry-choice[data-entry=teacher]{background:#244a5b!important;border-color:#60c8d9!important}
html[data-karen-theme="dark"] body.auth-visual-web34 .karen-entry-choice:is(:hover,:focus-visible){background:#34566d!important;border-color:#8de3ef!important;box-shadow:0 8px 20px #0003!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-icon,.karen-entry-arrow){background:#18364b!important;color:#a9e5f1!important}
html[data-karen-theme="dark"] body.auth-visual-web34 .karen-entry-choice[data-entry=teacher] .karen-entry-icon{background:#173e4d!important;color:#9fe4ef!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-choice[data-entry=teacher] .karen-entry-arrow,.karen-entry-submit,.auth-main .actions button){background:#006f82!important;border-color:#3ba1b4!important;color:#fff!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-brand h1,.karen-entry-form h2,#recoveryTitle){color:#eef6ff!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-brand p,.karen-entry-form-head p,.karen-entry-choice small,.karen-entry-card>footer,#recoveryHint){color:#c5d6e7!important;border-color:#58728d!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-form input,.auth-main input){background:#182b3f!important;color:#e8f2fb!important;border-color:#6987a2!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-back,#entryRecover,.k34-auth-back a,#recoveryLogin,.karen-entry-form-icon,.k34-auth-recovery-icon){color:#92ddea!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(#karenWebLogin [data-password-toggle],.auth-main .password-wrap [data-password-toggle]){color:#c7dfef!important;background:transparent!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-status,.status){color:#9ee1bf!important}
html[data-karen-theme="dark"] body.auth-visual-web34 :is(.karen-entry-status,.status).bad{color:#ffb6b1!important}
}
@media(prefers-reduced-motion:reduce){body.auth-visual-web34 .karen-entry-choice{transition:none;transform:none!important}}
