#student-login-screen{display:none}
body.student-locked #student-login-screen{display:grid;position:fixed;inset:0;z-index:2000;overflow:auto;place-items:center;background:linear-gradient(145deg,#e9f1fb,#f9fbff 58%,#d7e6fa);padding:20px}
body.student-locked #app,body.student-locked .nav{visibility:hidden}
.student-auth-loading{color:#1b3c66;font-size:14px;font-weight:700}
.student-auth-wrap{width:min(100%,420px);margin:auto;animation:student-appear .25s ease-out}
@keyframes student-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.student-auth-brand{display:flex;align-items:center;gap:11px;padding:3px 5px 30px;color:#142e50}
.student-auth-brand img{width:42px;height:42px;object-fit:contain;border-radius:50%;background:white}
.student-auth-brand strong{display:block;font-size:16px;letter-spacing:-.5px}
.student-auth-brand small{font-size:10px;letter-spacing:.6px;color:#557296}
.student-auth-welcome{padding:0 5px 20px;color:#18375d}
.student-auth-welcome span{font-size:10px;font-weight:800;letter-spacing:2px;color:#2673b8}
.student-auth-welcome h1{font-size:28px;line-height:1.35;letter-spacing:-1.4px;margin:9px 0}
.student-auth-welcome p{font-size:13px;color:#6b7f9a;line-height:1.7;margin:0}
.student-auth-progress{padding:24px 20px;border:1px solid #d9e7f7;border-radius:19px;background:#fff;color:#285e91;font-weight:700;font-size:14px;box-shadow:0 12px 34px #264b7819}
.student-auth-progress button{margin:9px 8px 0 0;border:1px solid #c5d8ec;background:#eff7ff;color:#194c7c;border-radius:10px;padding:10px;cursor:pointer}
#student-login-screen .student-account{background:#fff;border:1px solid #d9e7f7;box-shadow:0 18px 48px #264b7826;border-radius:23px;padding:24px 21px}
#student-login-screen .student-account h3{font-size:19px;color:#173b67;margin:0 0 12px}
#student-login-screen .student-account-fields{display:grid;gap:10px;margin-top:18px}
#student-login-screen .student-account-fields input{font-size:15px;min-height:47px}
#student-login-screen .student-account-fields select,.student-year-setting select{width:100%;min-height:47px;border:1px solid #ccdced;border-radius:10px;background:#fff;padding:11px 12px;color:#214c75;font:inherit;font-size:14px}
#student-login-screen .student-account-fields label{font-size:13px;font-weight:800;color:#2b557d}
#student-cohort-badge{padding:11px 13px;margin-bottom:14px;border-radius:12px;background:#eaf5ff;color:#236193;border:1px solid #cfe5f8;font-size:12px;font-weight:800}
#student-cohort-badge[hidden]{display:none}
.student-year-setting{background:#f2f8ff;border:1px solid #d2e4f6;border-radius:12px;padding:12px;margin:14px 0}
.student-year-setting strong{font-size:13px;color:#214c75}
.student-year-setting p{margin:5px 0 9px}
#student-login-screen .student-account-actions{margin-top:14px;gap:8px}
#student-login-screen .student-account-actions button{min-height:43px;flex:1}
.student-auth-admin{text-align:center;margin-top:18px;font-size:11px}
.student-auth-admin a{color:#7990ad;text-decoration:none}
.student-account-nav{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:38px;padding:0!important;border:1px solid #70c8f5!important;background:#287aa8!important;color:#d7f4ff!important;box-shadow:0 0 0 2px #7bd1ff21}
.student-account-nav svg{width:23px;height:23px;display:block}
.student-account-nav:hover,.student-account-nav:focus-visible{background:#3396c9!important;color:#fff!important;outline:2px solid #c9ecff;outline-offset:2px}
#student-account-settings[hidden],#student-account-nav[hidden],#student-admin-link[hidden]{display:none!important}
#student-account-settings{position:fixed;z-index:1800;inset:0;background:#081d3cb5;display:grid;place-items:center;padding:18px;overflow:auto}
.student-settings-card{position:relative;width:min(100%,420px);background:#fff;border-radius:22px;padding:16px;box-shadow:0 20px 70px #091c4055}
.student-settings-card .student-account{margin:0;border:0;background:transparent;box-shadow:none}
.student-settings-close{position:absolute;right:13px;top:12px;border:0;background:#edf3fa;border-radius:10px;padding:9px 12px;cursor:pointer;color:#254366}
