.vn-otp {
  padding: 20px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 17px;
  color: #f5f7ff;
  background: rgba(7,9,18,.72);
}
.vn-otp-form label { display: block; margin-bottom: 8px; color: #aeb6c8; font-size: 10px; font-weight: 700; }
.vn-otp-row { display: flex; gap: 8px; }
.vn-otp input {
  min-width: 0; flex: 1; height: 47px; padding: 0 13px;
  border: 1px solid rgba(255,255,255,.1); border-radius: 11px; outline: 0;
  color: #fff; background: #090d18;
}
.vn-otp input:focus { border-color: rgba(39,237,244,.5); box-shadow: 0 0 0 3px rgba(39,237,244,.06); }
.vn-otp button {
  min-width: 105px; min-height: 47px; padding: 0 16px; border: 0; border-radius: 11px; cursor: pointer;
  color: #fff; background: linear-gradient(135deg,#17dfe9,#6756f5); font-size: 10px; font-weight: 800;
}
.vn-otp button:disabled { opacity: .55; cursor: wait; }
.vn-otp .vn-otp-back { min-height: auto; margin-top: 9px; padding: 0; color: #7f899c; background: transparent; text-decoration: underline; }
.vn-otp-status { min-height: 20px; margin: 10px 0 0; color: #8f98ac; font-size: 9px; }
.vn-otp-status[data-type="success"] { color: #55e8ac; }
.vn-otp-status[data-type="error"] { color: #ff677b; }
.vn-otp-logged { padding: 18px; border: 1px solid rgba(85,232,172,.22); border-radius: 14px; color: #cdeedf; background: rgba(85,232,172,.06); font-size: 11px; }
.vn-otp-account-link { margin: 12px 0 0; text-align: center; font-size: 11px; }
.vn-otp-account-link a { color: #27edf4; text-decoration: underline; }
@media (max-width:520px) {
  .vn-otp-row { flex-direction: column; }
  .vn-otp button { width: 100%; }
}
