*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,Arial,sans-serif;background:#020617;color:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}

.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;position:relative;background:#020617;overflow:hidden}
.auth-page:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 20% 20%,rgba(124,58,237,.45),transparent 25%),radial-gradient(circle at 80% 30%,rgba(6,182,212,.28),transparent 25%),radial-gradient(circle at 50% 90%,rgba(37,99,235,.35),transparent 30%);animation:bgMove 12s ease-in-out infinite alternate}
.auth-page:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent)}
@keyframes bgMove{from{transform:translate3d(-2%, -2%,0) scale(1)}to{transform:translate3d(3%, 2%,0) scale(1.05)}}

.auth-brand,.auth-card-wrap{position:relative;z-index:2}
.auth-brand{padding:56px;display:flex;flex-direction:column;justify-content:space-between}
.logo{display:flex;align-items:center;gap:14px}
.logo-mark{width:56px;height:56px;border-radius:20px;background:linear-gradient(135deg,#8b5cf6,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:1000;box-shadow:0 20px 60px rgba(124,58,237,.45)}
.logo h2{font-size:24px;font-weight:1000}
.logo span{display:block;color:#94a3b8;font-size:13px;margin-top:3px}

.hero-badge{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#c4b5fd;font-weight:800;font-size:13px;margin-bottom:22px}
.auth-hero h1{font-size:58px;line-height:1.02;letter-spacing:-2px;max-width:680px;margin-bottom:24px}
.auth-hero p{font-size:18px;line-height:1.8;color:#cbd5e1;max-width:620px}

.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:650px}
.stat{padding:18px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px)}
.stat strong{display:block;font-size:28px}
.stat span{display:block;color:#94a3b8;font-size:13px;margin-top:4px}
.auth-footer{color:#64748b;font-size:14px}

.auth-card-wrap{display:flex;align-items:center;justify-content:center;padding:40px}
.auth-card{width:100%;max-width:470px;padding:36px;border-radius:34px;background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 120px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(28px);animation:cardIn .75s ease both}
@keyframes cardIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.auth-card h2{font-size:32px;letter-spacing:-.8px;margin-bottom:8px}
.sub{color:#94a3b8;line-height:1.6;margin-bottom:26px}

.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:14px;font-weight:800;margin-bottom:8px;color:#dbeafe}
.input{width:100%;height:54px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(2,6,23,.72);color:#fff;padding:0 16px;outline:none;transition:.25s}
.input:focus{border-color:#8b5cf6;box-shadow:0 0 0 5px rgba(139,92,246,.17);background:rgba(2,6,23,.9)}
.check-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0 20px;color:#94a3b8;font-size:14px}
.check-row label{display:flex;align-items:center;gap:8px}

.btn{height:54px;border:0;border-radius:18px;padding:0 20px;font-weight:1000;cursor:pointer;transition:.25s}
.btn-primary{width:100%;color:white;background:linear-gradient(135deg,#8b5cf6,#2563eb,#06b6d4);background-size:180% 180%;animation:btnGlow 5s ease infinite;box-shadow:0 18px 45px rgba(37,99,235,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(37,99,235,.5)}
@keyframes btnGlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.auth-links{text-align:center;margin-top:22px;color:#94a3b8;font-size:14px}
.auth-links a{color:#67e8f9;font-weight:900}
.alert{padding:14px 16px;border-radius:18px;margin-bottom:18px;font-size:14px}
.alert-error{background:rgba(239,68,68,.13);border:1px solid rgba(239,68,68,.3);color:#fecaca}

.float{position:absolute;border-radius:999px;background:linear-gradient(135deg,rgba(139,92,246,.45),rgba(6,182,212,.3));filter:blur(.2px);animation:float 7s ease-in-out infinite}
.float.one{width:90px;height:90px;right:9%;top:12%}
.float.two{width:46px;height:46px;left:8%;bottom:18%;animation-delay:1.5s}
.float.three{width:70px;height:70px;right:48%;bottom:10%;animation-delay:2.8s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-22px)}}

@media(max-width:980px){
    .auth-page{grid-template-columns:1fr}
    .auth-brand{display:none}
    .auth-card-wrap{min-height:100vh}
}