:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#14233a;background:#eef4ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100dvh}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr)}.auth-showcase{position:relative;overflow:hidden;padding:clamp(28px,5vw,72px);background:linear-gradient(145deg,#0d326a,#1f62b5 65%,#2b7bd0);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.auth-showcase:before,.auth-showcase:after{content:"";position:absolute;border-radius:50%;background:#fff1}.auth-showcase:before{width:420px;height:420px;right:-160px;top:-130px}.auth-showcase:after{width:300px;height:300px;left:-120px;bottom:-100px}.brand{position:relative;z-index:2;display:flex;gap:14px;align-items:center}.brand>span,.mobile-brand>span{width:54px;height:54px;border-radius:18px;background:#fff;color:#174a96;display:grid;place-items:center;font-weight:950;font-size:21px;box-shadow:0 12px 30px #09244d55}.brand div{display:grid;gap:2px}.brand strong{font-size:21px}.brand small{opacity:.78}.showcase-copy{position:relative;z-index:2;max-width:760px;margin:70px 0}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:900}.showcase-copy h1{font-size:clamp(38px,5vw,70px);line-height:1.02;margin:16px 0 22px;letter-spacing:-.045em}.showcase-copy p{font-size:clamp(17px,2vw,21px);line-height:1.65;color:#e6f0ff;max-width:700px}.feature-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.feature-row span{padding:10px 13px;border-radius:999px;background:#fff1;border:1px solid #fff3;font-weight:750;font-size:14px}.math-art{position:absolute;inset:auto 3% 4% auto;display:grid;grid-template-columns:repeat(2,90px);gap:14px;transform:rotate(-6deg);opacity:.22}.math-art span{height:82px;display:grid;place-items:center;border:2px solid #fff;border-radius:20px;font-size:30px;font-weight:900}.auth-panel{display:grid;place-items:center;padding:28px;background:#f7faff}.login-card{width:min(440px,100%);background:#fff;border:1px solid #dbe6f5;border-radius:28px;padding:clamp(24px,5vw,42px);box-shadow:0 26px 80px #1a4e8d1a}.mobile-brand{display:none;gap:10px;align-items:center;margin-bottom:30px}.mobile-brand>span{width:42px;height:42px;border-radius:13px;background:#174a96;color:white;font-size:16px;box-shadow:none}.login-card h2{font-size:32px;margin:8px 0 4px;letter-spacing:-.035em}.intro{margin:0 0 28px;color:#66778e;line-height:1.5}.login-card label{display:grid;gap:8px;font-weight:800;font-size:14px;margin:17px 0}.login-card input{width:100%;border:1px solid #cbd8e8;border-radius:13px;padding:14px 15px;font:inherit;outline:0;color:#17263c}.login-card input:focus{border-color:#2b6cc1;box-shadow:0 0 0 4px #2b6cc118}.password-wrap{position:relative}.password-wrap input{padding-right:78px}.password-wrap button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:#edf4ff;color:#174a96;border-radius:9px;padding:8px 10px;font-weight:800;cursor:pointer}.submit{width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,#174a96,#236bc1);color:#fff;padding:15px 18px;font:inherit;font-weight:900;cursor:pointer;margin-top:8px;box-shadow:0 10px 25px #174a9630}.submit:hover{filter:brightness(1.05)}.help{text-align:center;color:#78889d;font-size:13px;margin:20px 0 0}.alert{border-radius:12px;padding:12px 14px;background:#fff0f0;color:#a12929;border:1px solid #ffd3d3;margin:18px 0;font-size:14px}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-showcase{display:none}.auth-panel{min-height:100dvh;padding:18px}.mobile-brand{display:flex}.login-card{box-shadow:0 18px 50px #1a4e8d14}}@media(max-width:430px){.login-card{padding:22px 18px;border-radius:22px}.login-card h2{font-size:28px}}.return-main-link{width:100%;margin-top:14px;border:1px solid #cbd8e8;border-radius:13px;background:#f7faff;color:#174a96;padding:13px 16px;font-weight:900;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .18s ease,border-color .18s ease,transform .18s ease}.return-main-link:hover{background:#edf4ff;border-color:#8eb3df;transform:translateY(-1px)}.return-main-link:focus-visible{outline:3px solid #2b6cc133;outline-offset:2px}
