/* Shared public signup, login, and recovery layout; accepted-invite flows retain their layout. */
.signup-header, .signup-steps, .signup-login { display: none; }
body.auth-signup-plan-mode .auth-footer-actions #auth-toggle { display: none; }
body.auth-signup-plan-mode .signup-login { display: inline-flex; align-items: center; min-height: 44px; color: #006c7a; text-decoration: none; font: 600 14px/1.5 Arial,sans-serif; }
body.auth-clean-mode .auth-experience.panel,
body.auth-clean-mode .auth-form input,
body.auth-clean-mode #auth-submit { transition: none; animation: none; }
body.auth-clean-mode .signup-header { width: 100%; }
body.auth-clean-mode .auth-footer-actions { flex-direction: row; }
body.auth-locked.auth-clean-mode { background: #fff; }
body.auth-locked.auth-clean-mode .auth-shell { display: block; inset: 0; width: 100%; max-width: none; height: 100dvh; min-height: 0; padding: 0; overflow: auto; background: #fff; color: #183442; }
body.auth-locked.auth-clean-mode .auth-shell::before,
body.auth-clean-mode .auth-brand-panel,
body.auth-clean-mode .auth-back-home { display: none; }
body.auth-clean-mode .auth-shell * { box-sizing: border-box; letter-spacing: 0; }
body.auth-locked.auth-clean-mode .auth-stage.auth-stage-split { display: block; width: 100%; max-width: none; height: auto; min-height: 0; margin: 0; padding: 28px 24px 32px; background: none; }
body.auth-locked.auth-clean-mode .auth-experience.panel { display: block; position: relative; width: 100%; max-width: 580px; height: auto; min-height: 0; max-height: none; margin: 0 auto; padding: 0; overflow: visible; border: 0; border-radius: 0; background: #fff; box-shadow: none; backdrop-filter: none; }
body.auth-clean-mode .auth-experience::before, body.auth-clean-mode .auth-experience::after { display: none; }
body.auth-clean-mode .signup-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 88px; padding: max(16px,env(safe-area-inset-top)) 4% 16px; border-bottom: 1px solid #dce6ea; background: #fff; }
.signup-header a { text-decoration: none; color: #183442; font-family: Arial,sans-serif; }
.signup-brand { display: flex; align-items: center; gap: 14px; font-size: 20px; font-weight: 700; line-height: 1.3; min-width: 0; }
.signup-brand img { width: 44px; height: 44px; object-fit: contain; flex: 0 0 44px; }
.signup-brand small { display: block; font-size: 11px; font-weight: 600; color: #006c7a; margin-top: 2px; }
.signup-back { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; font-weight: 600; flex-shrink: 0; }
body.auth-clean-mode .auth-hero { padding: 0; margin: 0; }
body.auth-locked.auth-clean-mode #auth-title { font: 700 32px/1.25 Arial,sans-serif; margin: 0; color: #183442; }
body.auth-locked.auth-clean-mode .auth-copy { max-width: none; margin: 10px 0 0; font: 400 15px/1.5 Arial,sans-serif; color: #526674; }
body.auth-signup-plan-mode .signup-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; list-style: none; counter-reset: signup-step; padding: 0; margin: 22px 0; }
.signup-steps li { counter-increment: signup-step; display: flex; align-items: center; gap: 6px; color: #526674; font: 400 13px/1.4 Arial,sans-serif; }
.signup-steps li::before { content: counter(signup-step); display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; border: 1px solid #cbd9de; border-radius: 50%; background: #fff; }
.signup-steps li[aria-current="step"] { color: #006c7a; font-weight: 700; }
.signup-steps li[aria-current="step"]::before { background: #087f8c; border-color: #087f8c; color: #fff; }
body.auth-clean-mode .auth-selected-plan { display: flex; flex-direction: column; gap: 8px; padding: 16px 0; margin: 0 0 20px; border-top: 1px solid #dce6ea; border-bottom: 1px solid #dce6ea; }
body.auth-clean-mode .auth-selected-plan[hidden] { display: none; }
body.auth-clean-mode .auth-selected-plan-topline { display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 12px; }
body.auth-clean-mode .auth-selected-pill { padding: 0; border: 0; border-radius: 0; background: none; font: 600 12px/1.4 Arial,sans-serif; color: #526674; box-shadow: none; }
body.auth-clean-mode .auth-selected-pill svg,
body.auth-clean-mode .auth-selected-plan-icon,
body.auth-clean-mode .auth-selected-plan-description,
body.auth-clean-mode .auth-next-step-copy,
body.auth-clean-mode .auth-plan-feature-preview,
body.auth-clean-mode #auth-workspace-type-row { display: none; }
body.auth-clean-mode .auth-selected-plan-hero { display: block; margin: 0; }
body.auth-clean-mode .auth-selected-plan-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
body.auth-clean-mode .auth-selected-plan-heading h2 { margin: 0; color: #183442; font: 700 20px/1.3 Arial,sans-serif; }
body.auth-clean-mode .auth-selected-plan-price { display: flex; align-items: baseline; gap: 4px; margin: 0; color: #526674; font: 400 14px/1.4 Arial,sans-serif; }
body.auth-clean-mode .auth-selected-plan-price strong { color: #183442; font: 700 22px/1.3 Arial,sans-serif; }
body.auth-clean-mode .auth-plan-summary-row { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; border: 0; border-radius: 0; background: none; }
body.auth-clean-mode .auth-plan-summary-item { min-height: 0; padding: 0; border: 0; gap: 5px; }
body.auth-clean-mode .auth-plan-summary-item + .auth-plan-summary-item { border: 0; }
body.auth-clean-mode .auth-plan-summary-item strong { font: 400 13px/1.4 Arial,sans-serif; color: #526674; }
body.auth-clean-mode .signup-plan-change { text-align: right; }
.signup-plan-change summary { cursor: pointer; color: #006c7a; font: 600 14px/1.5 Arial,sans-serif; min-height: 24px; }
body.auth-clean-mode .auth-plan-selector { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; padding: 4px; border: 1px solid #dce6ea; background: #f5f8f9; border-radius: 6px; }
body.auth-clean-mode .auth-plan-switch { padding: 10px 12px; min-height: 44px; min-width: 0; border-radius: 4px; font: 600 13px Arial,sans-serif; color: #526674; }
body.auth-clean-mode .auth-plan-switch.active { color: #fff; background: #087f8c; box-shadow: none; }
.signup-plan-change > a { display: inline-flex; align-items: center; min-height: 36px; color: #006c7a; font: 600 13px Arial,sans-serif; text-decoration: underline; }
body.auth-clean-mode .auth-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; margin: 0; padding: 0; }
body.auth-clean-mode .auth-form label { gap: 7px; color: #263f4c; font: 600 14px/1.4 Arial,sans-serif; }
body.auth-clean-mode .auth-form input:not([type="hidden"]) { width: 100%; min-height: 48px; height: 48px; border: 1px solid #c5d5dc; border-radius: 6px; background: #fff; box-shadow: none; color: #183442; font: 400 16px/1.4 Arial,sans-serif; }
body.auth-clean-mode .auth-form input:focus { outline: 2px solid #087f8c; outline-offset: 2px; }
body.auth-clean-mode .auth-input-field { border: 0; background: none; box-shadow: none; }
body.auth-clean-mode .auth-password-toggle { width: 44px; height: 44px; min-height: 44px; border-radius: 4px; box-shadow: none; }
body.auth-clean-mode .auth-password-rules { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: -4px 0 0; color: #526674; font: 400 12px/1.5 Arial,sans-serif; }
body.auth-clean-mode .auth-password-rules[hidden] { display: none; }
body.auth-clean-mode .auth-password-rules svg { visibility: hidden; }
body.auth-clean-mode .auth-password-rules.is-met svg { visibility: visible; color: #247653; }
body.auth-clean-mode .auth-password-rules.is-met { color: #247653; }
body.auth-clean-mode .auth-form-inline-actions:not(:has(> :not([hidden]))) { display: none; }
body.auth-clean-mode #auth-submit { display: block; width: 100%; min-height: 48px; padding: 12px 16px; margin: 2px 0 0; border: 1px solid #087f8c; border-radius: 6px; color: #fff; background: #087f8c; box-shadow: none; font: 700 15px/1.4 Arial,sans-serif; transform: none; }
body.auth-clean-mode #auth-submit:hover { background: #006c7a; }
body.auth-locked.auth-clean-mode #auth-submit:is(:hover,:focus,:active) { box-shadow: none; transform: none; }
body.auth-clean-mode #auth-submit:disabled { opacity: .6; cursor: wait; }
body.auth-clean-mode .auth-terms-copy { margin: 0; color: #526674; font: 400 12px/1.6 Arial,sans-serif; text-align: left; }
body.auth-clean-mode .signup-legal-copy { display: block; margin-top: 8px; }
body.auth-clean-mode .auth-footer-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
body.auth-clean-mode .auth-footer-copy { margin: 0; color: #526674; font: 400 14px/1.5 Arial,sans-serif; }
body.auth-clean-mode .auth-toggle { min-height: 44px; padding: 8px 4px; color: #006c7a; font: 600 14px/1.5 Arial,sans-serif; }
body.auth-clean-mode .auth-support-line { margin: 8px 0 0; color: #526674; text-align: center; font: 400 12px/1.5 Arial,sans-serif; overflow-wrap: anywhere; }
body.auth-clean-mode .auth-support-line a { color: #006c7a; }
body.auth-clean-mode :is(button,a,summary):focus-visible { outline: 3px solid #087f8c; outline-offset: 3px; }
body.auth-clean-mode :is(.auth-error,.auth-notice) { margin: 12px 0; padding: 12px; border-radius: 6px; font: 400 14px/1.5 Arial,sans-serif; }
@media (max-width: 600px) {
 body.auth-clean-mode .signup-header { min-height: 72px; padding-inline: 20px; gap: 12px; flex-wrap: wrap; }
 .signup-brand { font-size: 16px; gap: 10px; }
 .signup-brand img { width: 36px; height: 36px; flex-basis: 36px; }
 .signup-back { font-size: 13px; }
 body.auth-locked.auth-clean-mode .auth-stage.auth-stage-split { padding: 24px 20px max(28px,env(safe-area-inset-bottom)); }
 body.auth-locked.auth-clean-mode #auth-title { font-size: 28px; }
 body.auth-clean-mode .signup-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; margin: 20px 0; }
 body.auth-clean-mode .auth-selected-plan-heading { gap: 6px; }
}
.login-back, .login-create { display: none; }
body.auth-login-page .signup-back, body.auth-login-page .signup-steps,
body.auth-login-page .auth-mode-switch, body.auth-login-page .auth-divider,
body.auth-login-page .auth-card-security-badge, body.auth-login-page .auth-card-brand,
body.auth-login-page #auth-eyebrow { display: none; }
body.auth-login-page .login-back { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; font-size: 14px; font-weight: 600; }
body.auth-locked.auth-clean-mode.auth-login-page .auth-experience.panel { max-width: 480px; }
body.auth-login-page .auth-hero { margin-bottom: 24px; }
body.auth-login-entry .login-create { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 6px; margin: 20px 0 0; color: #526674; font: 400 14px/1.5 Arial,sans-serif; }
body.auth-login-page .login-create a, body.auth-login-page .auth-toggle,
body.auth-login-page .auth-secondary-action { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; border: 0; border-radius: 4px; background: none; box-shadow: none; color: #006c7a; font: 600 14px/1.5 Arial,sans-serif; text-decoration: none; }
body.auth-login-page .auth-footer-actions { margin-top: 8px; }
body.auth-login-page #auth-toggle { width: auto; justify-content: center; }
body.auth-login-page #auth-forgot-password { color: #006c7a; }
body.auth-login-page .auth-support-line { display: block; border-top: 1px solid #dce6ea; margin-top: 20px; padding-top: 20px; }
body.auth-login-page .auth-support-line a { display: inline-block; padding-block: 8px; }
body.auth-login-page .auth-form label.auth-remember-row { font-weight: 400; font-size: 14px; min-height: 44px; }
body.auth-login-page .auth-form .auth-remember-row input { position: static; width: 18px; height: 18px; min-height: 18px; opacity: 1; pointer-events: auto; accent-color: #087f8c; padding: 0; }
body.auth-login-page .auth-checkbox-control { display: none; }
body.auth-login-page .auth-invite-lookup { display: grid; gap: 14px; margin: 0; }
body.auth-login-page .auth-invite-lookup[hidden] { display: none; }
body.auth-login-page .auth-invite-lookup input { width: 100%; min-height: 48px; border: 1px solid #c5d5dc; border-radius: 6px; background: #fff; box-shadow: none; color: #183442; font: 400 16px/1.4 Arial,sans-serif; }
body.auth-login-page #auth-invite-load { min-height: 48px; border: 1px solid #087f8c; border-radius: 6px; background: #087f8c; box-shadow: none; color: #fff; font: 600 15px/1.4 Arial,sans-serif; }
body.auth-login-page .auth-context-panel:empty { display: none; }
body.auth-login-page .auth-experience:has(#auth-invite-lookup-form:not([hidden])) #auth-context-panel { display: none; }
