/* ============================================================
   SCIENTEK — AUTH FINISH-UP STYLES
   Adds: loading-state button, user dropdown menu, cancel link
   on reset form. Include AFTER scientek.css.
   ============================================================ */

/* Loading / disabled state on submit buttons */
.btn-submit.is-loading,
.btn-submit[disabled]{
  opacity:0.72;
  cursor:not-allowed;
  pointer-events:none;
  position:relative;
  color:transparent !important;
}
.btn-submit.is-loading::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:18px;height:18px;
  border:2px solid rgba(0,0,0,0.25);
  border-top-color:#000;
  border-radius:50%;
  animation:sk-spin 0.7s linear infinite;
}
@keyframes sk-spin{to{transform:rotate(360deg)}}

/* Back-to-login link shown on the password reset form */
.reset-back-link{
  display:block;
  text-align:center;
  margin-top:0.75rem;
  font-size:0.82rem;
  color:var(--muted);
  cursor:pointer;
  transition:color 0.15s;
}
.reset-back-link:hover{ color:var(--gold); }

/* User menu dropdown (replaces native confirm() for sign-out) */
.user-menu-wrap{ position:relative; display:inline-block; }
.user-menu-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:210px;
  background:var(--card2);
  border:1px solid var(--border2);
  border-radius:12px;
  box-shadow:0 18px 44px rgba(0,0,0,0.55), 0 0 0 1px rgba(232,184,75,0.08);
  padding:0.55rem 0;
  z-index:500;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity 0.15s, transform 0.15s;
}
.user-menu-dropdown.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.user-menu-email{
  padding:0.55rem 1rem 0.65rem;
  font-size:0.72rem;
  color:var(--muted);
  letter-spacing:0.3px;
  border-bottom:1px solid var(--border);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:260px;
}
.user-menu-item{
  display:flex;
  align-items:center;
  gap:0.6rem;
  width:100%;
  background:transparent;
  border:none;
  color:var(--text);
  padding:0.6rem 1rem;
  font-size:0.85rem;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  transition:background 0.12s, color 0.12s;
}
.user-menu-item:hover{
  background:rgba(232,184,75,0.08);
  color:var(--gold);
}
.user-menu-item.danger:hover{
  background:rgba(255,71,87,0.10);
  color:var(--danger);
}
.user-menu-icon{
  font-size:0.95rem;
  width:18px;
  display:inline-flex;
  justify-content:center;
}

/* Password visibility toggle */
.form-group2{ position:relative; }
.pw-toggle{
  position:absolute;
  right:8px;
  top:30px;
  background:transparent;
  border:none;
  color:var(--muted);
  cursor:pointer;
  font-size:0.95rem;
  padding:6px 8px;
  border-radius:6px;
  font-family:inherit;
  transition:color 0.15s;
}
.pw-toggle:hover{ color:var(--gold); }
