*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Segoe UI,Arial,sans-serif;background:#030912;color:#fff}
body{min-height:100vh}
.academy-login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(430px,.82fr);background:#06111b}
.hero-side{position:relative;min-height:100vh;background-image:url('/static/login_cinematic_bg.png');background-size:cover;background-position:center left;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,12,.08) 0%,rgba(2,7,12,.03) 45%,rgba(2,7,12,.6) 82%,#06111b 100%),linear-gradient(0deg,rgba(1,5,9,.72) 0%,transparent 48%)}
.hero-brand{position:absolute;z-index:2;top:42px;left:54px;display:flex;gap:12px;align-items:center}
.brand-mark{font-size:34px}
.hero-brand strong{display:block;font-size:28px;letter-spacing:1px}
.hero-brand span{display:block;color:#1eafff;font-size:12px;letter-spacing:4px;font-weight:800;margin-top:1px}
.hero-copy{position:absolute;z-index:2;left:58px;bottom:62px;width:min(610px,calc(100% - 116px))}
.kicker,.login-kicker{color:#50c5ff;font-size:12px;font-weight:800;letter-spacing:3px}
.hero-copy h1{font-size:58px;line-height:1.03;margin:14px 0 15px;letter-spacing:-1.5px;text-shadow:0 7px 25px rgba(0,0,0,.45)}
.hero-copy h1 em{font-style:normal;color:#20aef8}
.hero-copy p{font-size:18px;line-height:1.55;color:#c3d6e3;max-width:590px;margin:0 0 22px}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap}
.hero-pills span{font-size:13px;font-weight:700;padding:9px 13px;border-radius:999px;border:1px solid rgba(67,166,220,.45);background:rgba(4,17,28,.65);backdrop-filter:blur(8px)}
.login-side{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px;background:radial-gradient(circle at 100% 0,#102f4b 0,#07131f 42%,#050d15 100%);border-left:1px solid #173750}
.login-panel{width:min(470px,100%)}
.login-brand-mobile{display:none}
.login-kicker{display:block;margin-bottom:15px}
.login-panel h2{font-size:46px;margin:0 0 8px;letter-spacing:-1px}
.subtitle{color:#95b1c4;margin:0 0 30px;font-size:16px}
.login-alert{margin-bottom:18px;padding:12px 14px;border:1px solid #9b3a42;background:#3e171d;border-radius:12px;color:#ffd5d9}
.login-form{display:flex;flex-direction:column;gap:18px}
.login-form label>span{display:block;color:#a8c7d9;font-size:13px;font-weight:700;margin:0 0 8px}
.field{position:relative}
.field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.75}
.field input{width:100%;height:58px;border:1px solid #2a5875;background:#07141f;color:#fff;border-radius:14px;padding:0 50px 0 48px;font-size:16px;outline:none;transition:.2s}
.field input:focus{border-color:#22aef9;box-shadow:0 0 0 4px rgba(34,174,249,.12)}
.eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;color:#8ea9ba;font-size:17px;cursor:pointer}
.submit{height:60px;border:0;border-radius:14px;background:linear-gradient(90deg,#128fea,#24b9ff);color:white;font-size:16px;font-weight:900;letter-spacing:1px;cursor:pointer;margin-top:4px;box-shadow:0 12px 35px rgba(18,143,234,.25)}
.submit:hover{filter:brightness(1.08)}
.academy-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.academy-features div{padding:14px 10px;border-top:1px solid #173750;text-align:center;color:#8fa9ba;font-size:12px}
.academy-features b{display:block;color:#20aff9;font-size:20px;margin-bottom:6px}
.login-footer{text-align:center;margin-top:20px;color:#506f84;letter-spacing:2px;font-size:10px}
@media(max-width:1080px){
 .academy-login{grid-template-columns:1fr}
 .hero-side{min-height:58vh}
 .login-side{min-height:auto;padding:48px 28px}
 .hero-copy h1{font-size:48px}
}
@media(max-width:680px){
 .hero-side{min-height:44vh;background-position:37% center}
 .hero-brand{top:24px;left:24px}
 .hero-copy{left:24px;bottom:26px;width:calc(100% - 48px)}
 .hero-copy h1{font-size:36px}
 .hero-copy p{font-size:15px}
 .hero-pills{display:none}
 .login-side{padding:34px 20px 42px}
 .login-panel h2{font-size:36px}
 .academy-features{grid-template-columns:1fr}
 .academy-features div{display:flex;gap:9px;align-items:center;text-align:left}
 .academy-features b{margin:0}
}