/* RESET */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

/* BODY */
body{
  font-family:'Inter','Segoe UI',sans-serif;
  background:linear-gradient(135deg,#eef2f7,#e6ecff);
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* CARD */
.auth-box{
  width:100%;
  max-width:400px;
  background:#ffffff;
  padding:34px;
  border-radius:18px;
  box-shadow:
    0 10px 25px rgba(0,0,0,0.06),
    0 20px 60px rgba(79,70,229,0.08);
  animation:fadeUp .5s ease;
}

/* ANIMATION */
@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(20px) scale(.97);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* LOGO */
.logo{
  width:52px;
  height:52px;
  margin:auto;
  margin-bottom:18px;
  border-radius:14px;
  background:linear-gradient(135deg,#6366f1,#4f46e5);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:20px;
  box-shadow:0 8px 20px rgba(79,70,229,0.25);
}

/* TITLE */
.auth-box h2{
  text-align:center;
  color:#111827;
  margin-bottom:4px;
}

.subtitle{
  text-align:center;
  font-size:13px;
  color:#6b7280;
  margin-bottom:22px;
}

/* INPUT */
.input-group{
  margin-bottom:16px;
}

.input-group label{
  font-size:13px;
  color:#374151;
  margin-bottom:6px;
  display:block;
}

.input-group input{
  width:100%;
  padding:13px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  outline:none;
  transition:all .25s ease;
}

/* INPUT INTERACTION */
.input-group input:hover{
  border-color:#c7d2fe;
}

.input-group input:focus{
  border-color:#6366f1;
  background:#fff;
  box-shadow:0 0 0 3px rgba(99,102,241,0.15);
}

/* PASSWORD */
.password-wrap{
  position:relative;
}

.password-wrap span{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  cursor:pointer;
  color:#6b7280;
}

/* ROW */
.row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  margin-bottom:14px;
}

.row a{
  color:#6366f1;
  text-decoration:none;
}

/* BUTTON */
.btn{
  width:100%;
  padding:13px;
  border:none;
  border-radius:10px;
  background:linear-gradient(135deg,#6366f1,#4f46e5);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:all .25s ease;
  box-shadow:0 6px 18px rgba(79,70,229,0.25);
}

/* BUTTON HOVER */
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(79,70,229,0.35);
}

/* BUTTON CLICK */
.btn:active{
  transform:scale(.98);
}

/* SECURE BOX */
.secure{
  margin-top:14px;
  padding:10px;
  border-radius:10px;
  background:#ecfdf5;
  color:#065f46;
  font-size:12px;
  text-align:center;
}

/* FOOTER */
.footer{
  text-align:center;
  font-size:13px;
  margin-top:14px;
}

.footer a{
  color:#6366f1;
}

/* OTP */
.otp-box{
  display:flex;
  justify-content:center;
  gap:10px;
}

.otp-box input{
  width:50px;
  height:55px;
  text-align:center;
  font-size:20px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
}

.otp-box input:focus{
  border-color:#6366f1;
  background:#fff;
  box-shadow:0 0 0 2px rgba(99,102,241,0.15);
}

/* RESPONSIVE */
@media(max-width:420px){
  .auth-box{
    padding:24px;
    border-radius:14px;
  }
}


