/* auth.css — Neon / Modern (Infinity) */

.auth-page-wrapper{
  min-height: calc(100vh - 180px);
}

.auth-hero-wrapper{
  position: relative;
  background: radial-gradient(circle at top, rgba(30,64,175,0.35), rgba(15,23,42,0.98));
  border-radius: 22px;
  border: 1px solid rgba(148,163,184,0.55);
  padding: 18px 18px 20px;
  overflow: hidden;
  box-shadow: 0 22px 50px rgba(15,23,42,0.85);
}

.auth-floating-shapes::before,
.auth-floating-shapes::after{
  content:"";
  position:absolute;
  border-radius:999px;
  filter: blur(24px);
  opacity:.55;
  pointer-events:none;
}
.auth-floating-shapes::before{
  width:140px;height:140px;
  background:#fb37ff;
  top:-40px;left:-30px;
}
.auth-floating-shapes::after{
  width:160px;height:160px;
  background:#22d3ee;
  bottom:-60px;right:-40px;
}

.auth-hero-main{ position:relative; z-index:2; }
.auth-title-glow{
  font-weight:800;
  font-size:1.6rem;
  line-height:1.4;
  color:#f9fafb;
}
@media (min-width: 992px){
  .auth-title-glow{ font-size:1.9rem; }
}
.auth-subtitle{ font-size:.9rem; color:#e5e7eb; }

.bg-gradient-pill{
  background: linear-gradient(135deg,#6366f1,#22d3ee);
  border-radius:999px;
  padding:4px 10px;
}
.bg-gradient-pill-soft{
  background: linear-gradient(135deg,#fb37ff,#f97316);
  border-radius:999px;
  padding:4px 10px;
}

/* Card */
.auth-card-neo{
  position: relative;
  background: radial-gradient(circle at top, rgba(15,23,42,0.98), #020617 70%);
  border-radius: 22px;
  border: 1px solid rgba(148,163,184,0.55);
  padding: 20px 18px 22px;
  box-shadow: 0 22px 50px rgba(15,23,42,0.9);
  overflow:hidden;
}
@media(min-width:768px){
  .auth-card-neo{ padding: 24px 22px 26px; }
}

.login-glow-orb{
  position:absolute;
  width:220px;height:220px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(251,55,255,0.38), transparent 60%);
  top:-80px; left:-60px;
  filter: blur(4px);
  opacity: .9;
  pointer-events:none;
}

.auth-input{
  background: rgba(15,23,42,0.95) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(55,65,81,0.9) !important;
  color: #e5e7eb !important;
  font-size: .9rem;
}
.auth-input:focus{
  background: rgba(15,23,42,1) !important;
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 1px rgba(99,102,241,0.6) !important;
}
.auth-input::placeholder{ color: rgba(148,163,184,0.75); }

.btn-neon{
  background: linear-gradient(135deg,#6a0dad,#e91e63);
  border:none;
  color:#fff !important;
  font-weight:700;
  letter-spacing:.3px;
  border-radius:999px;
  box-shadow: 0 16px 40px rgba(233,30,99,0.55);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.btn-neon:hover{
  transform: translateY(-1px);
  box-shadow: 0 20px 46px rgba(233,30,99,0.8);
  opacity: .96;
}

.auth-otp{
  letter-spacing: 6px;
  font-weight: 800;
  text-align:center;
  font-size: 1.35rem;
}

@media (max-width: 767.98px){
  .auth-hero-wrapper{ margin-bottom: 10px; }
}
