/* Mobile-safe auth/onboarding layout — works around Android keyboard hiding inputs.
   Desktop keeps the original 80px top spacing via media query. */
@supports (min-height: 100dvh) {
  html, body { min-height: 100dvh; }
}
html, body { overflow-x: hidden; }
body {
  /* Bottom padding ensures focused inputs scroll above the on-screen keyboard
     on Android Chrome / iOS Safari. ~50vh covers most keyboards. */
  padding-bottom: max(280px, 50vh);
}
.auth-wrap { margin: 24px auto !important; }
@media (min-width: 600px) {
  .auth-wrap { margin: 80px auto !important; }
  body { padding-bottom: 0; }
}
.field input, .field select, .field textarea { scroll-margin-bottom: 280px; scroll-margin-top: 24px; }

/* Show / hide password toggle */
.pw-wrap { position: relative; }
.pw-wrap input { padding-right: 64px !important; }
.pw-toggle {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  line-height: 1;
  min-height: 32px;
}
.pw-toggle:hover { background: #f1f5f9; color: #0f172a; }
.pw-toggle:focus { outline: 2px solid #2563eb; outline-offset: 1px; }
