/* SNZ Login Modal — shared across all SNZ pages
   dl + Claude Opus 4.6, 21.03.2026 */
.snz-login-overlay {
  position: fixed; inset: 0; display: none; align-items: center; justify-content: center;
  padding: 1rem; background: rgba(7, 12, 22, 0.78); backdrop-filter: blur(6px); z-index: 6000;
}
.snz-login-overlay.open { display: flex; }
.snz-login-dialog {
  position: relative; width: min(92vw, 28rem); max-height: 90vh; overflow-y: auto;
  background: linear-gradient(160deg, #eef5fc 0%, #f4f9ff 100%); border-radius: 1.1rem; box-shadow: 0 24px 80px rgba(0,0,0,0.32);
  padding: 1.5rem 1.5rem 1.2rem;
}
.snz-login-close {
  position: absolute; top: 0.75rem; right: 0.75rem; z-index: 3;
  border: 0; border-radius: 999px; background: rgba(14,26,43,0.08); color: #374151;
  width: 2.2rem; height: 2.2rem; display: inline-flex; align-items: center; justify-content: center;
  padding: 0; font-size: 1.3rem; line-height: 1; cursor: pointer; transition: background 0.2s;
}
.snz-login-close:hover { background: rgba(14,26,43,0.16); }
.snz-login-spinner {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.8rem; padding: 3rem 1rem; color: #0e1a2b;
}
.snz-login-spinner.is-hidden { display: none; }
.snz-login-spinner-dot {
  width: 2rem; height: 2rem; border-radius: 50%;
  border: 3px solid rgba(22,34,64,0.14); border-top-color: #d4a24a;
  animation: snzLoginSpin 0.9s linear infinite;
}
@keyframes snzLoginSpin { to { transform: rotate(360deg); } }
.snz-login-body {
  min-height: 8rem;
  text-align: center;
}
.snz-login-body .loginfregusers19to24 {
  width: 100% !important; margin: 0 auto !important;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #eef5fc 0%, #f4f9ff 100%);
  border-radius: 0.85rem; padding: 1.5rem 1.2rem; margin-top: 0.5rem !important;
}
.snz-login-body h1 { font-size: 1.25rem !important; margin: 0 0 0.5rem !important; text-align: center; }
.snz-login-body h2 { font-size: 1rem !important; margin: 0 0 0.8rem !important; text-align: center; color: #667085; font-weight: 500; }
/* Center form elements inside the login box */
.snz-login-body form { width: 100%; display: flex; flex-direction: column; align-items: center; }
.snz-login-body input[type="text"],
.snz-login-body input[type="email"],
.snz-login-body input[type="password"] {
  width: 100%; max-width: 20rem; box-sizing: border-box;
}
.snz-login-body input[type="submit"],
.snz-login-body button[type="submit"] {
  width: 100%; max-width: 20rem;
}
/* Hide stray backend elements that leak into the fragment */
.snz-login-body > a[href*="login"] { display: none; }
