/* Keep startup and recovery independent of the legacy auth panel renderers. */
html[data-fcc-onboarding-hydrating] body > :not(.fcc-onboarding-surface):not(script) { display: none !important; }
.fcc-onboarding-surface { position: fixed; inset: 0; z-index: 100000; overflow: auto; display: grid; place-items: safe center; touch-action: pan-y; box-sizing: border-box; background: #f4ecfc; padding: max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); color: #39105f; }
.fcc-onboarding-surface[hidden], #fccOnboardingChoices[hidden], #fccOnboardingConfirm[hidden], #fccOnboardingRetry[hidden], #fccOnboardingRetrySave[hidden], #fccOnboardingSignIn[hidden] { display: none !important; }
.fcc-onboarding-card { width: min(100%, 420px); background: #fff; padding: 28px; border: 1px solid #e8d5f4; border-radius: 24px; box-shadow: 0 16px 50px #39105f18; }
.fcc-onboarding-card h1 { font-size: 26px; line-height: 1.25; }
.fcc-onboarding-card p { line-height: 1.6; }
.fcc-onboarding-card button { display: block; width: 100%; margin-top: 14px; min-height: 48px; }
#fccInstalledVersion { position: static; pointer-events: none; text-align: center; font-size: 12px; color: #715b83; padding: 16px 0 max(16px, env(safe-area-inset-bottom)); }
#fccShowSignupBtn { min-height: 48px; touch-action: manipulation; }
/* Engineering metadata belongs to the existing cache inspector only. */
#fccVersionBadge { display: none !important; pointer-events: none !important; }
.lv-signup-mode #loginSignupForm { overflow: visible; }
/* The parents-tab rule forces #loginTabSignIn to display:flex !important, which
   out-ranks the generic [hidden] rule. While signup is open the hidden sign-in
   panel must not stack above the form. Back to sign in removes [hidden]. */
#loginCard.lv-signup-mode #loginTabSignIn[hidden] { display: none !important; }
/* A retained Auth identity is not a completed household. Legacy shell flags
   must not hide the explicitly opened signup surface after login/discard. */
html[data-fcc-onboarding-editing] body #loginView,
html[data-fcc-onboarding-editing] body #loginView .lv-shell { display: flex !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; z-index: 99999; }
#loginCard.lv-signup-mode .lv-mode-toggle { display: none !important; }
@media (max-width: 767px) {
  /* The fixed shell owns touch scrolling. Expanding its card while leaving
     overflow:hidden clips the CTA, even though locator.click can scroll it. */
  #loginView .lv-shell { min-height: 0 !important; height: 100dvh !important; overflow-y: auto !important; overflow-x: hidden !important; align-items: flex-start !important; touch-action: pan-y; overscroll-behavior-y: contain; padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom) !important; }
  #loginView #loginCard { height: auto !important; min-height: 100dvh !important; max-height: none !important; }
  #loginCard .lv-right { overflow: visible !important; max-height: none !important; padding-bottom: max(28px, env(safe-area-inset-bottom)) !important; }
  #loginCard.lv-signup-mode .lv-adult-left::after { display: none; }
  #loginCard.lv-signup-mode .lv-logo-block { margin-bottom: 0; }
}
/* Member options grow in the wizard's existing scrolling document. */
.fcc-setup-photo { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 12px 0; }
.fcc-setup-photo img, .fcc-setup-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.fcc-setup-avatar { display: grid; place-items: center; background: #eee8fd; color: #553b87; font-size: 26px; }
.fcc-setup-photo-picker { position: relative; padding: 12px; border: 1px solid #d9d1e8; border-radius: 12px; cursor: pointer; }
.fcc-setup-photo-picker input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.fcc-setup-options { border-top: 1px solid #e7e0ee; margin-top: 14px; padding-top: 8px; }
.fcc-setup-options summary { cursor: pointer; padding: 12px 0; font-weight: 700; }
.fcc-setup-options > label { display: block; margin-bottom: 12px; }
.fcc-setup-options .fcc-setup-checkbox { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.fcc-setup-options input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 20px; }
.fcc-signup-member-card button { min-height: 44px; }
.fcc-signup-member-card [data-member-status] { color: #633b83; font-size: 14px; overflow-wrap: anywhere; }
