.accountGate,.accountPanel,.profileGate{position:fixed;inset:0;z-index:9999;background:rgba(16,36,31,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;overflow:auto;-webkit-overflow-scrolling:touch}.accountGate[hidden],.accountPanel[hidden],.profileGate[hidden],.accountForm[hidden]{display:none!important}.accountCard,.accountPanelCard,.profileCard{width:min(560px,100%);max-height:92dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border-radius:24px;padding:24px calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));box-shadow:0 24px 70px rgba(0,0,0,.24)}.accountPanelCard{position:relative}.accountBrand{font-size:20px;margin-bottom:16px}.accountTabs{display:flex;gap:8px;background:#eef5f2;padding:5px;border-radius:14px;position:sticky;top:0;z-index:2}.accountTab{flex:1;border:0;background:transparent;padding:11px;border-radius:10px;font-weight:800;color:#35564f}.accountTab.active{background:#fff;color:#17483e;box-shadow:0 2px 10px rgba(0,0,0,.08)}.accountForm{display:grid;gap:14px;margin-top:20px;padding-bottom:10px}.accountForm h2,.accountPanelCard h2,.profileCard h2{margin:0;color:#173f37}.accountForm p,.profileCard p{margin:0;color:#60756f;line-height:1.45}.accountForm label,.studentForm label{display:grid;gap:6px;font-weight:700;color:#294b44}.accountForm input,.studentForm input,.studentForm select{width:100%;box-sizing:border-box;border:1px solid #c9d9d4;border-radius:12px;padding:12px 13px;font:inherit;background:#fff}.accountForm fieldset{border:1px solid #d7e3df;border-radius:14px;padding:12px}.accountForm legend{font-weight:800;padding:0 6px}.checkRow{display:flex!important;align-items:center;gap:8px;margin:8px 0}.checkRow input{width:auto}.accountPrimary,.accountSecondary,.accountDanger,.accountButton,.profileChoice{border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.accountPrimary{background:#17483e;color:#fff;min-height:48px}.accountForm>.accountPrimary{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 20px rgba(255,255,255,.92)}.accountSecondary{background:#e8f2ee;color:#17483e}.accountDanger{background:#fff0ef;color:#8f2f2a;margin-top:18px}.accountMessage{min-height:22px;margin-top:12px;font-size:14px}.accountMessage.error{color:#9b312d}.accountMessage.ok{color:#176342}.studentNote{margin-top:16px;background:#f3f8f6;border-radius:12px;padding:12px;color:#4b665f;font-size:14px}.accountButton{background:#eef5f2;color:#17483e;padding:9px 12px}.accountClose{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:28px;cursor:pointer;color:#57706a}.accountPanelCard section{border-top:1px solid #e5ece9;margin-top:18px;padding-top:18px}.identityBox{display:grid;gap:3px;padding:12px;border-radius:14px;background:#f4f8f6}.identityBox small{color:#6b7d78}.rolePill{display:inline-flex;margin:0 7px 7px 0;background:#e7f2ee;border-radius:999px;padding:8px 11px;font-weight:800;color:#17483e}.activeProfilePill{background:#17483e;color:#fff}.studentForm{display:grid;grid-template-columns:1fr 1fr;gap:12px}.studentForm .accountPrimary{grid-column:1/-1}.studentResult{display:grid;gap:6px;margin-top:12px}.studentResult:not(:empty){background:#f0f8f4;border-radius:12px;padding:12px}.studentResult b{font-size:18px;letter-spacing:.08em}.account-locked>.wrap,.account-locked>footer{filter:blur(2px);pointer-events:none;user-select:none}.profileCard{display:grid;gap:16px}.profileEyebrow{display:inline-flex;width:max-content;background:#e8f2ee;color:#17483e;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.profileChoices{display:grid;gap:12px;margin-top:4px}.profileChoice{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;background:#f7faf8;border:1px solid #d9e5e0;color:#173f37;padding:16px;border-radius:18px}.profileChoice:hover,.profileChoice:focus-visible{background:#edf7f2;border-color:#8ab7a5;outline:none}.profileChoiceIcon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#fff;font-size:26px;box-shadow:0 4px 12px rgba(23,63,56,.08)}.profileChoice strong{display:block;font-size:18px;margin-bottom:4px}.profileChoice small{display:block;color:#60756f;font-weight:600;line-height:1.35}.profileArrow{font-size:32px;color:#6d847d}.profileLogout{margin-top:4px}.profileCard .accountBrand{margin-bottom:0}@media(max-width:640px){.accountGate,.accountPanel,.profileGate{padding:0;align-items:stretch;justify-items:stretch}.accountCard,.accountPanelCard,.profileCard{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:20px max(20px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));box-sizing:border-box}.accountTabs{top:0}.accountForm{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.accountForm>.accountPrimary{bottom:calc(8px + env(safe-area-inset-bottom))}.studentForm{grid-template-columns:1fr}.accountButton{font-size:12px;padding:8px 10px}.top{gap:8px;flex-wrap:wrap}.profileCard{align-content:start;padding-top:calc(24px + env(safe-area-inset-top))}.profileChoice{padding:15px}.profileChoiceIcon{width:46px;height:46px}}