body.login-page{margin:0;min-height:100svh;padding:48px 24px;color:#080a2d;font-family:Plus Jakarta Sans,sans-serif;background:radial-gradient(ellipse at 25% 45%,#d7eaff 0,transparent 56%),radial-gradient(ellipse at 90% 60%,#d9ebff 0,transparent 55%),#f3faff}.login-page .login-card{width:100%;max-width:520px;padding:30px 34px 26px;border:1px solid #fff;border-radius:30px;background:#fffffff0;box-shadow:0 20px 64px #72abed30}.login-card>div:first-child{margin-bottom:26px;gap:14px}.login-card .login-brand-mark{width:64px;height:64px;border-radius:18px;object-fit:cover}.login-card strong{font-size:25px;line-height:1.3}.login-card small{font-size:16px;color:#5876ac}#openAdminModalBtn{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border:1px solid #93b6ff;background:transparent;color:#165dff;font-size:13px;white-space:nowrap}#openAdminModalBtn svg{position:static;width:20px;height:20px}.login-card h1{font-size:40px;line-height:1.2;letter-spacing:-1.8px;margin:0 0 10px}.login-card h1+p{color:#4b6aa6;font-size:17px;line-height:1.5;margin-bottom:20px}.login-page form>div:not(:last-child){margin-bottom:25px}.login-page label{color:#3d5d96;font-size:15px;margin-bottom:8px}.login-field{position:relative}.login-page .login-field input{box-sizing:border-box;width:100%;height:50px;padding:12px 46px 12px 48px;border:1px solid #9ebeff;border-radius:15px;background:linear-gradient(115deg,#f7faff,#eff6fd);color:#182b52;font:inherit;font-size:16px;outline:none}.login-page input::placeholder{color:#6a86bd;opacity:1}.login-page input:focus{background:#fff;border-color:#2463ff;box-shadow:0 0 0 4px #2463ff18}.login-field>.field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#405f99;width:22px;height:22px;pointer-events:none}.login-page #togglePassword,.login-page #toggleAdminPassword{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:0;padding:5px;background:transparent;color:#405f99;cursor:pointer}.login-page button:focus-visible{outline:3px solid #2b65ff;outline-offset:4px}.login-page .login-submit{min-height:52px;font-size:17px;gap:12px;transition:box-shadow .2s,background .2s}#teacherSubmitBtn{margin-top:3px;background:linear-gradient(110deg,#ffbd08,#ffb800);border:1px solid #ffd954;color:#151200;box-shadow:0 14px 26px #ffbc0933}#teacherSubmitBtn:hover{background:#f5ae00;box-shadow:0 14px 30px #ffbc0955}.login-card>form+p{display:flex;align-items:center;gap:18px;margin-top:28px;color:#7b98d1;font-size:16px}.login-card>form+p:before,.login-card>form+p:after{content:"";flex:1;height:1px;background:#d2e2ff}.login-card [data-school-year]{margin-top:10px;font-size:17px;color:#1763ff}.login-page #error,.login-page #adminError{color:#f02a3c;font-size:15px;line-height:1.5;margin:0 0 20px}#adminLoginModal{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:500px;max-width:calc(100% - 32px);max-height:calc(100svh - 32px);border:1px solid #fff;border-radius:26px;padding:0;background:#fffffffa;color:#080a2d;box-shadow:0 24px 60px #507eb638}#adminLoginModal::backdrop{background:#c8e1ff18;backdrop-filter:blur(2px)}#adminLoginModal>div{padding:34px 35px}#adminLoginModal>div>div:first-child{align-items:flex-start;margin-bottom:27px}#adminLoginModal h2{font-size:30px;letter-spacing:-1.3px;padding-right:24px}#adminModalDescription{font-size:17px;line-height:1.5;color:#5876ac;margin-top:7px}#closeAdminModalBtn{position:absolute;right:23px;top:26px;width:42px;height:42px;border:1px solid #ccd8ec;background:#f1f4f7;color:#141823;font-size:25px;font-weight:400}#adminLoginModal .login-field input{font-size:16px}#adminLoginForm>div:last-child{gap:14px;padding-top:9px}#cancelAdminModalBtn{min-height:57px;background:#edf0f4;border:1px solid #cbd6e9;color:#101331;font-size:17px}#adminSubmitBtn{background:#205bff;border:1px solid #3b75ff;font-size:17px;box-shadow:0 12px 24px #1763ff30}#adminSubmitBtn:hover{background:#144be0}@media(min-width:1100px){body.login-page:has(#adminLoginModal[open]) .login-card{transform:translate(-80px)}#adminLoginModal[open]{left:min(calc(50% + 110px),calc(100% - 532px));right:auto;top:50%;bottom:auto;margin:0;transform:translateY(-50%)}}@media(max-width:600px){body.login-page{padding:24px 16px}.login-page .login-card{padding:27px 24px;border-radius:24px}.login-card .login-brand-mark{width:58px;height:58px;border-radius:17px}.login-card strong{font-size:22px}.login-card small{font-size:14px}#openAdminModalBtn{padding:10px 12px;font-size:12px;gap:5px}#openAdminModalBtn svg{width:18px;height:18px}.login-card>div:first-child{gap:8px;margin-bottom:30px}.login-card h1{font-size:36px;letter-spacing:-1.5px}.login-card h1+p{font-size:17px;margin-bottom:26px}.login-page .login-field input{font-size:16px}.login-card>form+p{font-size:12px;gap:12px}#adminLoginModal>div{padding:28px 24px}#adminLoginModal h2{font-size:26px}#adminModalDescription{font-size:15px;padding-right:12px}#adminSubmitBtn{font-size:14px}}@media(prefers-reduced-motion:reduce){.login-page .login-submit{transition:none}}#closeAdminModalBtn{display:grid;place-items:center;padding:0;line-height:1}#closeAdminModalBtn svg{display:block}#toggleAdminPassword .admin-eye-off,#toggleAdminPassword[aria-pressed=true] .admin-eye-open{display:none}#toggleAdminPassword[aria-pressed=true] .admin-eye-off{display:block}
