/* Shared user-page geometry, loaded after page styles. No navigation overrides. */
body.app-authenticated > main:has(> :is(.v2-home,.lr-panel,.ldr-wrap,.lw-wrap,.adr-page,.prf-page,.help-page)) {
  box-sizing: border-box;
  width: 100%;
  max-width: 1160px;
  margin-inline: auto;
  padding: 24px 24px 110px;
  --user-block-gap: 20px;
  --user-card-inset: 22px;
}
body.app-authenticated > main > :is(.v2-home,.lr-panel,.ldr-wrap,.adr-page,.prf-page,.help-page) {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
}
body.app-authenticated > main > .help-page { padding: 0; }
body.app-authenticated > main > .lw-wrap { width: 100%; max-width: 860px; margin: 0 auto; }
main > .v2-home :is(.v2-home-grid,.v2-home-main,.v2-home-side),
main > .adr-page :is(.adr-settings,.adr-people),
main > .prf-page :is(.prf-layout,.prf-form) { gap: var(--user-block-gap); }
main > .v2-home :is(.v2-next,.v2-invitations,.v2-upcoming,.v2-open-tables,.v2-discover,.v2-create-empty) { margin-inline: 0; }
main > .v2-home .v2-invitations,
main > .ldr-wrap :is(.ldr-card,.lunch-accordion,.ldr-role-actions,.invitation-callout,.lunch-editorial-head),
main > .adr-page .adr-panel,
main > .prf-page .prf-panel,
main > .lw-wrap .lw-form,
main > .help-page > section:not(.help-hero),
main > .help-page > details { padding: var(--user-card-inset); }
main > .v2-home .v2-upcoming { padding: var(--user-card-inset) var(--user-card-inset) 0; }
main > .v2-home .v2-discover { padding: 0 var(--user-card-inset) var(--user-card-inset); }
main > .v2-home .v2-agenda { margin-inline: -22px; }
main > .adr-page .adr-heading, main > .prf-page > h1 { margin-bottom: var(--user-block-gap); }
main > .ldr-wrap :is(.ldr-card,.lunch-accordion,.ldr-role-actions,.invitation-callout,.lunch-editorial-head) { margin-bottom: var(--user-block-gap); }
main > .help-page > section:not(.help-hero), main > .help-page > details { margin: var(--user-block-gap) 0; }
main > .lr-panel :is(.lr-tabs,.lr-list) { padding-inline: var(--user-card-inset); }
main > .lr-panel .lr-filters { padding-inline: var(--user-card-inset); }
/* The four menu sections use the approved narrower desktop frame. */
body.app-authenticated > main:has(> :is(.lr-panel,.lw-wrap,.adr-page,.prf-page)) {
  max-width: 960px;
}
body.app-authenticated > main > .lw-wrap { max-width: none; }
body.app-authenticated > main .user-page-title,
body.app-authenticated > main > .prf-page > h1 {
  font-size: 30px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -.5px;
  color: #172b67;
  margin: 0 0 20px;
}
main > .adr-page .adr-heading h1,
main > .lw-wrap .lw-heading h1 { margin: 0; }
main > .lw-wrap .lw-heading { margin: 0 0 20px; align-items: flex-start; }
main > .lw-wrap .lw-heading p { margin: 0; }
main > .lw-wrap .lw-back { display: inline-block; margin-bottom: 14px; }
main > .lw-wrap .lw-progress { margin: 0 0 20px; }
main > .lr-panel,
main > .lw-wrap .lw-form,
main > .adr-page .adr-panel,
main > .prf-page .prf-panel {
  border: 1px solid #e4def4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 16px #172b6708;
}
@media (min-width: 901px) {
  main > .prf-page .prf-layout { grid-template-columns: minmax(0,1fr) 260px; }
}
@media (max-width: 820px) {
  body.app-authenticated > main:has(> :is(.v2-home,.lr-panel,.ldr-wrap,.lw-wrap,.adr-page,.prf-page,.help-page)) {
    padding: 20px 14px calc(110px + env(safe-area-inset-bottom));
    --user-card-inset: 18px 14px;
  }
  main > .v2-home .v2-upcoming { padding: 18px 14px 0; }
  main > .v2-home .v2-discover { padding: 0 14px 18px; }
  main > .v2-home .v2-agenda { margin-inline: -14px; }
  /* Preserve compact listing controls and aligned tab labels. */
  main > .lr-panel .lr-tabs { padding-inline: 5px; }
  main > .lr-panel :is(.lr-list,.lr-filters) { padding-inline: 14px; }
  body.app-authenticated > main .user-page-title,
  body.app-authenticated > main > .prf-page > h1 { font-size: 27px; }
}
