*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Rajdhani',sans-serif;background:#0a0e1a;color:#e2e8f0;min-height:100vh;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(ellipse at 20% 0%,rgba(124,58,237,.12),transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(0,212,255,.08),transparent 50%)}
.grid{position:fixed;inset:0;background-image:linear-gradient(rgba(0,212,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.04) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;opacity:.6}
.card{background:rgba(13,19,40,.97);border:1px solid rgba(0,212,255,.35);border-radius:16px;padding:48px 40px;width:440px;max-width:95vw;position:relative;z-index:1;box-shadow:0 0 60px rgba(0,212,255,.1)}
.logo{text-align:center;margin-bottom:28px}
.logo-icon{width:56px;height:56px;background:linear-gradient(135deg,#7c3aed,#00d4ff);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}
.logo h1{font-size:22px;font-weight:700;letter-spacing:2px;background:linear-gradient(135deg,#00d4ff,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo p{color:#475569;font-size:12px;margin-top:4px}
.form-group{margin-bottom:16px}
label{display:block;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#94a3b8;margin-bottom:7px}
input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(0,212,255,.12);border-radius:8px;padding:13px 16px;color:#e2e8f0;font-size:15px;transition:all .3s;outline:none;font-family:'Rajdhani',sans-serif}
input:focus{border-color:#00d4ff;box-shadow:0 0 0 3px rgba(0,212,255,.1)}
input::placeholder{color:#475569}
.btn{width:100%;border:none;border-radius:8px;padding:14px;font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;font-family:'Rajdhani',sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:all .3s;text-transform:uppercase}
.btn-primary{background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;box-shadow:0 4px 20px rgba(124,58,237,.4)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:rgba(0,212,255,.07);color:#00d4ff;border:1px solid rgba(0,212,255,.25);margin-top:10px}
.btn-ghost:hover{background:rgba(0,212,255,.15)}
.msg-box{padding:14px 16px;border-radius:8px;font-size:14px;margin-top:14px;text-align:center}
.error-box{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}
.success-box{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#10b981}
.info-box{background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.2);border-radius:10px;padding:14px;font-size:13px;color:#94a3b8;margin-bottom:20px;display:flex;gap:10px}
.divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#475569;font-size:12px}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:rgba(0,212,255,.12)}
