/* Scoped setup and verification fixes; retain the site's existing visual language. */
.onboarding-window { width: min(100%, 640px); min-height: 0; }
.onboarding-exit-button { min-height: 44px; min-width: 88px; top: 8px; right: 12px; }
.onboarding-save-note { padding-right: 84px; }
.onboarding-nav-row { justify-content: flex-end; }
.onboarding-nav-row > div:first-child:empty { display: none; }
.onboarding-step h2 { scroll-margin-top: 100px; }
.setup-required { color: #a73721; }
.role-verification-banner.is-optional { background: var(--surface); color: var(--ink); border-color: var(--border); box-shadow: none; }
.role-verification-banner.is-optional :is(h2, p, .app-topline, .role-verification-checks span) { color: var(--ink); }
.role-verification-banner.is-optional .role-verification-mark { background: var(--accent-tint); color: #a73721; }
.role-verification-banner.is-optional .role-verification-checks span { background: var(--bg); border: 1px solid var(--border); }
.setup-errors { scroll-margin-top: 100px; }
.setup-errors, .verification-feedback:not(:empty) { margin: 12px 0; padding: 12px; border: 1px solid #d7a08e; border-radius: 8px; color: var(--ink); background: var(--accent-tint); line-height: 1.5; }
.onboarding-step [aria-invalid="true"] { outline: 2px solid #a73721; outline-offset: 2px; }
.onboarding-optional { margin-top: 8px; border-top: 1px solid var(--border); }
.onboarding-optional > summary { min-height: 48px; padding: 14px 0; cursor: pointer; font-weight: 600; }
.onboarding-optional[open] { display: grid; gap: 16px; }
.onboarding-form .choice-dropdown summary { min-height: 48px; font-size: 16px; }
.onboarding-form .choice-options { position: static; max-height: 270px; gap: 0; box-shadow: none; }
.onboarding-form .choice-option { min-height: 48px; margin: 0; padding: 10px; display: flex; align-items: center; font-size: 15px; font-weight: 500; }
.onboarding-form .choice-option input[type="checkbox"], .onboarding-form .check-row input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: 0; padding: 0; }
.onboarding-form .check-row { display: flex; align-items: center; gap: 10px; min-height: 48px; }
.onboarding-form .choice-other, .onboarding-form input, .onboarding-form select, .onboarding-form textarea { font-size: 16px; }
.onboarding-form .choice-other[hidden] { display: none; }
.onboarding-form .onboarding-nav-row button { min-height: 48px; }
.verification-wizard { width: 480px; max-width: 100%; max-height: calc(100dvh - 32px); }
.verification-wizard .verification-close { width: 44px; height: 44px; display: grid; place-items: center; top: 6px; right: 6px; }
.verification-wizard .verification-progress { margin-right: 30px; }
.verification-wizard-btn, .verification-wizard .link-list-remove { min-height: 48px; }
.verification-wizard .verification-form input, .verification-wizard .verification-form select { font-size: 16px; min-height: 48px; }
.verification-wizard .verification-step-title { font-size: 22px; }
.verification-step-title:focus, .onboarding-step h2:focus { outline: none; }
.verification-wizard .verification-step-sub { font-size: 15px; }
.verification-wizard .verification-otp-row { gap: 6px; }
.verification-wizard .verification-otp-box { width: 100%; min-width: 0; }
.verification-feedback { font-size: 14px; overflow-wrap: anywhere; }
.verification-nav-row:has(> :only-child) { justify-content: flex-end; }
.verification-nav-row:empty { display: none; }
.verification-wizard .verification-identity-action { width: 100%; margin: 12px 0; }
.verification-wizard [data-phone-code-row][hidden] { display: none; }
.verification-wizard button:focus-visible, .verification-wizard input:focus-visible, .verification-wizard select:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media (max-width: 600px) {
  .verification-modal-backdrop { padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
  .verification-wizard { padding: 32px 20px 20px; }
  .onboarding-window { padding: 28px 18px 20px; }
  .onboarding-nav-row { gap: 12px; }
  .onboarding-nav-row > div:last-child { display: grid; grid-template-columns: auto 1fr; gap: 10px; }
  .onboarding-form .budget-grid, .onboarding-form .form-grid { grid-template-columns: 1fr; }
  .onboarding-form .choice-options { max-height: 240px; }
  .verification-wizard .verification-phone-row { grid-template-columns: 1fr; }
}
