/* Account access has its own URL and never occupies the public homepage. */
.account-page { display: none !important; }
html[data-account-page] #authScreen { display: none !important; }
html[data-account-page] .logged-out #accountScreen { display: block !important; }
html[data-account-page] .lu-onboarding-launcher { display: none !important; }
.public-home .public-header-actions > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #adc0b6;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.public-home .public-header-actions > .auth-signup-link { border-color: var(--public-forest); }
.account-page .account-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #285444;
  font: 600 13px/1.4 system-ui, sans-serif;
  text-decoration: none;
}
.account-page .account-back:hover { text-decoration: underline; }
.account-page .account-main {
  min-height: calc(100svh - 150px);
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
  gap: clamp(32px, 6vw, 80px);
  padding: 40px max(24px, calc((100% - 1120px)/2));
}
.account-page .public-join-copy h2 {
  font-size: clamp(36px, 3.6vw, 50px);
  line-height: 1.12;
}
.account-page .public-join-copy > p:not(.eyebrow) { font: 400 15px/1.7 system-ui, sans-serif; }
.account-page .public-join-copy .eyebrow { font-size: 11px; }
.account-page .public-join-copy ul { font-size: 14px; }
.account-page #authForm { min-width: 0; padding: 28px; scroll-margin-top: 20px; }
.account-page #authTitle { margin: 0 0 10px; font: 600 30px/1.2 system-ui, sans-serif; letter-spacing: -.7px; }
.account-page #authSubtitle { font-size: 14px; line-height: 1.5; margin-bottom: 20px; }
.account-page #authForm label { font-size: 13px; }
.account-page #authForm input { font-size: 16px; }
.account-page #authForm > small { font-size: 12px; line-height: 1.6; }
.account-page #authForm .auth-provider-note { font-size: 13px; line-height: 1.6; }
.account-page .auth-tabs button { min-height: 44px; font-size: 13px; }
.account-page .auth-public-footer { padding-block: 20px; }
@media (max-width: 820px) {
  .account-page .account-main { display: block; padding: 24px 18px; min-height: calc(100svh - 170px); }
  .account-page .public-join-copy { display: none; }
  .account-page #authForm { max-width: 440px; margin: 0 auto; padding: 24px; }
  .account-page #authTitle { font-size: 26px; }
  .account-page .auth-public-header { padding: 14px 18px; gap: 16px; }
  .account-page .auth-public-header .law-united-wordmark { font-size: 26px; }
  .account-page .auth-public-footer { justify-content: center; gap: 12px; }
  .account-page .auth-public-footer > .law-united-wordmark { display: none; }
  .account-page .auth-public-footer > div { justify-content: center; margin: 0; }
}
@media (max-width: 430px) {
  .public-home .public-header-actions > a { font-size: 12px; padding-inline: 10px; }
  .account-page .account-back { font-size: 12px; }
  .account-page #authForm { padding: 20px; }
}

@media (max-width: 820px) {
  .account-page { background: #f7f7f0; }
  .account-page .account-main { padding: 24px 16px 32px; }
  .account-page .auth-public-header { background: #f7f7f0; border-bottom: 1px solid #dce1d5; padding-top: max(12px, env(safe-area-inset-top)); }
  .account-page .auth-brand { min-height: 44px; display: inline-flex; align-items: center; }
  .account-page #authForm { padding: 26px 22px; border: 1px solid #dce1d5; border-radius: 12px; box-shadow: 0 8px 26px #193e3508; background: #fffef9; }
  .account-page #authTitle { font: 500 30px/1.2 Georgia, serif; color: #193e35; }
  .account-page #authSubtitle { font-size: 15px; line-height: 1.65; }
  .account-page #authForm label { font-size: 14px; line-height: 1.5; }
  .account-page #authForm input { min-height: 50px; border-radius: 7px; }
  .account-page .auth-tabs { margin-bottom: 24px; }
  .account-page .auth-tabs button { min-height: 48px; font-size: 14px; }
  .account-page :is(.auth-submit, .social-login) { min-height: 50px; border-radius: 7px; }
  .account-page .auth-password-field button { min-width: 48px; min-height: 48px; }
  .account-page .auth-text-action { min-height: 44px; border: 0; background: transparent; color: #285444; padding: 10px 0; font: 600 13px/1.5 system-ui, sans-serif; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
  .account-page .auth-public-footer { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
  .account-page .auth-public-footer a { min-height: 44px; display: inline-flex; align-items: center; }
}
