:root {
  --auth-bg-start: #8c18b7;
  --auth-bg-end: #5a0d77;
  --auth-card-radius: 16px;
}

html, body { height: 100%; }
body.auth, body.auth-v2 { background: linear-gradient(135deg, var(--auth-bg-start), var(--auth-bg-end)); }

.auth-wrapper { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; }
.auth-aside {
  position: relative; color: #fff; display: flex; align-items: center; justify-content: center;
  padding: 48px; overflow: hidden; background: radial-gradient(1200px 600px at 0% 0%, rgba(255,255,255,0.12), transparent),
              radial-gradient(800px 400px at 100% 100%, rgba(255,255,255,0.08), transparent);
}
.auth-aside .brand { font-weight: 800; font-size: 28px; letter-spacing: .5px; }
.auth-aside .tagline { opacity: .9; margin-top: 8px; font-size: 14px; }
.auth-aside .hero { max-width: 520px; margin-top: 28px; line-height: 1.8; font-size: 15px; opacity: .95; }

.auth-main { display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.auth-card { width: 100%; max-width: 520px; background: #ffffff; border-radius: var(--auth-card-radius); box-shadow: 0 30px 80px rgba(0,0,0,.18); overflow: hidden; }
.auth-card .auth-header { padding: 22px 24px; border-bottom: 1px solid rgba(0,0,0,.06); background: linear-gradient(135deg, rgba(140,24,183,.06), rgba(90,13,119,.04)); }
.auth-card .auth-header .title { font-weight: 700; margin: 0; }
.auth-card .auth-body { padding: 24px; }

.btn-primary { background-color: var(--auth-bg-start); border-color: var(--auth-bg-start); color: #fff !important; }
.btn-primary:hover, .btn-primary:focus { filter: brightness(.95); color: #fff !important; }
.btn-primary:disabled, .btn-primary.disabled { background-color: var(--auth-bg-start); border-color: var(--auth-bg-start); opacity: .65; color: #fff !important; }
.btn-primary { box-shadow: 0 8px 16px rgba(140,24,183,.24); }
.btn-outline-primary { color: var(--auth-bg-start); border-color: var(--auth-bg-start); }
.btn-outline-primary:hover { background: var(--auth-bg-start); color: #fff; }

.auth-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }

.stepper { display: flex; align-items: center; gap: 10px; }
.stepper .dot { width: 10px; height: 10px; border-radius: 50%; background: #d1d5db; }
.stepper .dot.active { background: var(--auth-bg-start); box-shadow: 0 0 0 4px rgba(140,24,183,.12); }

.form-floating > label { right: auto; left: auto; }

@media (max-width: 992px) {
  .auth-wrapper { grid-template-columns: 1fr; }
  .auth-aside { display: none; }
}

@media (max-width: 576px) {
  .auth-main { padding: 24px 16px; }
  .auth-card { border-radius: 12px; }
  .auth-actions { flex-direction: column; align-items: stretch; gap: 8px; }
  .auth-actions .btn { width: 100%; }
}

/* V2 – Premium look with blobs + glass card */
.auth-v2 .bg-decor {
  position: fixed; inset: 0; overflow: hidden; pointer-events: none;
}
.auth-v2 .bg-decor .blob {
  position: absolute; filter: blur(50px); opacity: .35; border-radius: 50%;
}
.auth-v2 .bg-decor .blob.blob-1 { width: 420px; height: 420px; background: #ff6ec7; top: -80px; right: -80px; }
.auth-v2 .bg-decor .blob.blob-2 { width: 520px; height: 520px; background: #18b7a0; bottom: -120px; left: -120px; }

.auth-v2 .stage { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.auth-v2 .glass-card {
  width: 100%; max-width: 560px; border-radius: 20px; background: rgba(255,255,255,0.18);
  box-shadow: 0 20px 70px rgba(0,0,0,.25); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.35); overflow: hidden;
}
.auth-v2 .glass-head { padding: 22px 24px; background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.08)); }
.auth-v2 .glass-head .brand-badge { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #8c18b7, #5a0d77); color: #fff; font-weight: 700; }
.auth-v2 .glass-head .title { margin: 0; font-weight: 800; color: #fff; }
.auth-v2 .glass-head .subtitle { margin: 4px 0 0; color: #eef; opacity: .9; font-size: 14px; }
.auth-v2 .glass-body { padding: 24px; background: rgba(255,255,255,.65); }

.auth-v2 .form-floating > label { color: #444; }
.auth-v2 .form-control { border-radius: 12px; border-color: rgba(0,0,0,.08); }
.auth-v2 .form-control:focus { box-shadow: 0 0 0 0.25rem rgba(140,24,183,.15); border-color: #b35ad6; }

.progress-steps { display:flex; align-items:center; gap:8px; }
.progress-steps .bar { flex:1; height:6px; background:#e5e7eb; border-radius:999px; overflow:hidden; }
.progress-steps .bar .fill { display:block; height:100%; width:0; background:linear-gradient(90deg, #8c18b7, #b35ad6); border-radius:999px; }
.progress-steps .label { font-size:12px; color:#6b7280; min-width:70px; text-align:center; }

@media (max-width: 576px) {
  .auth-v2 .glass-card { border-radius: 16px; }
  .auth-v2 .glass-body { padding: 18px; }
}


