:root{
  --bg:#f8f7ff;--text:#101828;--muted:#667085;--primary:#6d28d9;--primary2:#2563eb;
  --border:#ece7ff;--shadow:0 18px 45px rgba(109,40,217,.13);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at 12% 10%,#f0e7ff 0,transparent 30%),radial-gradient(circle at 85% 0,#e8f0ff 0,transparent 30%),var(--bg);color:var(--text)}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--border);border-radius:30px;padding:30px;box-shadow:var(--shadow)}
.brand{display:inline-grid;text-decoration:none;margin-bottom:20px}
.brand span{font-size:36px;font-weight:950;background:linear-gradient(135deg,var(--primary),var(--primary2));-webkit-background-clip:text;color:transparent}
.brand small{color:var(--text);font-weight:900}
h1{margin:0 0 8px;font-size:34px}
p{color:var(--muted);line-height:1.6}
label{display:grid;gap:8px;color:var(--muted);font-weight:850;font-size:13px;margin-bottom:14px}
input{width:100%;border:1px solid var(--border);border-radius:14px;padding:14px;outline:0}
button{width:100%;border:0;border-radius:15px;padding:14px 18px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:900;cursor:pointer}
.alert{background:#fee2e2;color:#b91c1c;border-radius:14px;padding:13px;margin:14px 0;font-weight:800}
.mini{text-align:center;font-size:14px}
.mini a{color:var(--primary);font-weight:900}
