/* Shared customer/admin press treatment: subtle, no layout movement or forced haptics. */
body button, body button[class], body [role="button"] {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: scale 160ms cubic-bezier(.2,.8,.2,1), filter 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, width 180ms ease, opacity 160ms ease, color 160ms ease;
}
button:not(:disabled):active, [role="button"]:not([aria-disabled="true"]):active {
  scale: .975;
  filter: brightness(.95);
}
button:focus-visible, [role="button"]:focus-visible, a:focus-visible {
  outline: 3px solid rgba(0,122,255,.65);
  outline-offset: 3px;
}
button:disabled { cursor: default; opacity: .62; }
button[aria-busy="true"] { cursor: progress; }
.member-logout { width: 100%; min-height: 44px; margin-top: 12px; color: #b23b40; font-size: 14px; font-weight: 600; }
.tap-feedback { animation: soft-press 220ms cubic-bezier(.2,.8,.2,1); }
@keyframes soft-press {
  0% { scale: .975; filter: brightness(.95); }
  100% { scale: 1; filter: brightness(1); }
}
@media (prefers-reduced-motion: reduce) {
  button, [role="button"] { transition: none !important; }
  .tap-feedback { animation: none !important; }
  button:not(:disabled):active, [role="button"]:active { scale: 1; filter: brightness(.92); }
}

/* Keep controls on the same baseline; labels no longer add hidden bottom space. */
#securityForm {
  display: grid;
  gap: 12px;
  max-height: calc(100vh - 16px);
  max-height: calc(100dvh - 16px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 16px;
}
#securityForm header, #securityForm label, #securityForm p { margin: 0; }
#securityForm label { min-width: 0; gap: 7px; }
#securityForm .code-row { grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; align-items: end; }
#securityForm input, #securitySendCode { height: 48px; min-height: 48px; box-sizing: border-box; font-size: 16px; }
#securitySendCode { margin: 0; padding: 0 8px; white-space: nowrap; font-size: 14px; align-self: end; }
#securityEmail[readonly] { color: #31566e; background: rgba(225,240,248,.75); }
#securityHelp { line-height: 1.5; }
#securityForm .security-error { color: #b42318; font-size: 13px; line-height: 1.5; }
#securitySubmitButton { margin-top: 2px; min-height: 48px; }
body.security-sheet-open { overflow: hidden; }
body.security-sheet-open .toast { z-index: 110; bottom: auto; top: max(16px, env(safe-area-inset-top)); border-radius: 18px; }
