/* OVERLAY */
.ssx-login-overlay {
  position: fixed;
  inset: 0;
  display: none;
  backdrop-filter: blur(16px) saturate(160%);
  background: rgba(0,0,0,.45);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

/* MODAL */
.ssx-login-modal {
  width: 100%;
  max-width: 400px;
  padding: 34px;
  border-radius: 26px;
  background: rgba(255,255,255,.35);
  backdrop-filter: blur(28px) saturate(200%);
  box-shadow: 0 12px 55px rgba(0,0,0,.25);
  position: relative;
  transform: translateY(10px) scale(.96);
  opacity: 0;
  transition: .25s ease;
}

html[data-theme="dark"] .ssx-login-modal {
  background: rgba(15,18,30,.65);
}

/* ACTIVE */
.ssx-login-overlay.open {
  display: flex;
}
.ssx-login-overlay.open .ssx-login-modal {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* CLOSE BUTTON */
.ssx-login-close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: transparent;
  border: 0;
  font-size: 28px;
  cursor: pointer;
  color: #fff;
  opacity: .9;
}

/* HEADERS */
.ssx-login-modal h2{
  font-size: 1.35rem;
  margin: 0 0 6px 0;
  color: #111;
}
html[data-theme="dark"] .ssx-login-modal h2{ color:#fff; }

.ssx-2fa-desc{
  margin: 0 0 14px 0;
  font-size: .95rem;
  color: rgba(0,0,0,.65);
}
html[data-theme="dark"] .ssx-2fa-desc{ color: rgba(255,255,255,.75); }

/* STEPS */
.ssx-step { display: none; }
.ssx-step.active { display: block; }

/* INPUTS */
.ssx-login-modal input {
  width: 100%;
  padding: 14px 14px;
  margin-bottom: 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  font-size: 15px;
  background: rgba(255,255,255,.9);
  outline: none;
}

.ssx-login-modal input:focus{
  border-color: rgba(126,58,242,.55);
  box-shadow: 0 0 0 3px rgba(126,58,242,.12);
}

html[data-theme="dark"] .ssx-login-modal input {
  background: rgba(255,255,255,.08);
  color: #fff;
  border-color: rgba(255,255,255,.08);
}

/* PASSWORD WRAP */
.ssx-pass-wrap{
  position: relative;
}

.ssx-pass-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform: translateY(-60%);
  border:0;
  background: transparent;
  font-size: 18px;
  cursor:pointer;
  opacity:.8;
}

/* BUTTONS */
.ssx-login-modal .ssx-btn{
  width:100%;
  margin-top: 6px;
}
.ssx-login-submit.loading{
  opacity:.7;
  pointer-events:none;
}

/* ERRORS */
.ssx-login-error {
  margin-top: 10px;
  color: #ff5c5c;
  font-size: 14px;
  min-height: 18px;
  text-align: center;
}

/* BACK BTN */
.ssx-back-step{
  margin-top: 10px;
  width:100%;
  background: transparent;
  border:0;
  color: rgba(0,0,0,.7);
  cursor:pointer;
  font-weight:600;
}
html[data-theme="dark"] .ssx-back-step{
  color: rgba(255,255,255,.8);
}
