/* Housenly visual system, based on the public Discovery page.
   Loaded after the historical application CSS so all current screens share
   one palette, type scale and control language without changing markup or flows. */
:root {
  --bg: #fafafa;
  --surface: #fff;
  --subtle: #f0f0f0;
  --avatar-empty-surface: #eaeaea;
  --avatar-empty-foreground: #777;
  --border: #e1e1e1;
  --lightgray: #ececec;
  --border-light: var(--border);
  --border-light-hover: var(--border);
  --text: #181818;
  --muted: #707070;
  --dark: #181818;
  --surface-dark: #232323;
  --muted-on-dark: #c2c2c2;
  --border-strong: var(--border);
  --radius-sm: 8px;
  --radius: 10px;
  --radius-lg: 12px;
  --radius-panel: 14px;
  --button-radius: 10px;
  --button-small-height: 36px;
  --button-medium-height: 44px;
  --button-large-height: 51px;
  --font-body: 15px;
  --font-control: 14px;
  --font-label: 12px;
  --post-header-content-gap: 56px;
  --filter-shadow: 0 7px 22px #1818180b, 0 1px 3px #18181808;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Inter", system-ui, sans-serif;
}

/* Authenticated surfaces: quiet borders, layered elevation and consistent rhythm.
   Scoped to the workspace; public pages retain their own presentation. */
body.is-authenticated {
  --radius-sm: 10px;
  --radius: 12px;
  --radius-lg: 14px;
  --radius-panel: 20px;
  --button-radius: 12px;
  --control-radius: var(--radius);
  --bg: #f8f8f8;
  --subtle: #f3f3f3;
  --border: #e1e1e1;
  --lightgray: #ececec;
  --border-strong: var(--border);
  --workspace-divider: var(--lightgray);
  --workspace-card-border: var(--border);
  --workspace-shadow-card: 0 1px 2px #18181803, 0 4px 16px #18181803;
  --workspace-shadow-hover: 0 2px 4px #18181804, 0 8px 24px #18181807;
  --workspace-shadow-popover: 0 2px 6px #18181808, 0 16px 40px #18181814;
  --workspace-shadow-modal: 0 4px 12px #18181808, 0 24px 72px #1818181f;
  --filter-shadow: 0 1px 3px #18181805, 0 6px 20px #18181807;
}

/* /old/ intentionally retains the previous homepage presentation. */
body.legacy-marketing-page {
  --bg: #f9f9fa;
  --subtle: #f4f4f5;
  --border: #ededf0;
  --border-light-hover: #dedee3;
  --text: #18181b;
  --muted: #71717a;
  --dark: #18181b;
  --radius-lg: 14px;
  --radius-panel: 24px;
  --button-radius: 12px;
  --button-small-height: 34px;
  --button-medium-height: 40px;
  --button-large-height: 48px;
  --font-control: 13px;
  --font-label: 11px;
}

body:not(.legacy-marketing-page) {
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: var(--font-body);
}

/* Typography and vertical rhythm */
body:not(.legacy-marketing-page) :is(.workspace-heading h1, .plain-catalog-heading h1,
  .catalog-summary h3, .detail-title h1, .auth-entry-panel h1,
  .legal-page-header h1, .admin-title h1, .onboarding-step h1,
  .onboarding-step h2, .confirmation-card h1) {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.043em;
}
body:not(.legacy-marketing-page).detail-page .detail-title h1 {
  font: 400 clamp(18px, 1.55vw, 22px)/1.4 var(--sans);
  letter-spacing: -.01em;
}
body:not(.legacy-marketing-page) :is(.workspace-heading p, .plain-catalog-heading p,
  .auth-entry-panel > p, .billing-section-heading p, .billing-account-heading p,
  .workspace-callout p, .modal-card > p) {
  color: var(--muted);
  line-height: 1.65;
}
body:not(.legacy-marketing-page) :is(.workspace-heading, .legal-page-header,
  .form-section, .billing-compact-details, .billing-plan-usage,
  .billing-plan-benefits, .admin-activation) {
  border-color: var(--border);
}

/* The shared button sizes intentionally keep compact, icon and touch controls distinct. */
body:not(.legacy-marketing-page) .button {
  border-radius: var(--button-radius);
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: 0;
  gap: 9px;
}
body:not(.legacy-marketing-page) .button-medium {
  min-height: var(--button-medium-height);
  padding: 11px 17px;
  font-size: 14px;
}
body:not(.legacy-marketing-page) .button-large {
  min-height: var(--button-large-height);
  padding: 14px 21px;
  font-size: 14px;
}
body:not(.legacy-marketing-page) .button-small {
  min-height: var(--button-small-height);
  padding: 8px 12px;
  font-size: 12px;
}
body:not(.legacy-marketing-page) :is(.button-primary, .button-dark,
  .button[data-selection-toggle].selected) {
  border-color: var(--dark);
  background: var(--dark);
  color: #fff;
}
body:not(.legacy-marketing-page) :is(.button-primary, .button-dark,
  .button[data-selection-toggle].selected):hover {
  border-color: var(--border);
  background: #303030;
}
body:not(.legacy-marketing-page) :is(.button-light, .button-outline) {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text);
}
body:not(.legacy-marketing-page) :is(.button-light, .button-outline):hover {
  border-color: var(--border-strong);
  background: #f3f3f3;
}
@media (hover: none) {
  body:not(.legacy-marketing-page) .button-light:is(:hover, :active) {
    border-color: var(--border);
    background: var(--surface);
    color: var(--text);
  }
}
/* A locked listing is unavailable, but this control still explains the limit. */
body:not(.legacy-marketing-page) .property-locked-action,
body:not(.legacy-marketing-page) .property-locked-action:hover {
  border-color: var(--border);
  background: #f0f0f1;
  color: #929298;
  box-shadow: none;
  transform: none;
  cursor: help;
}
body:not(.legacy-marketing-page) :is(.icon-button, .round-button,
  .modal-close, .selection-button, .catalog-view-toggle button) {
  border-radius: var(--button-radius);
}
body:not(.legacy-marketing-page) :is(.menu-panel, .list-row-actions-panel) {
  border-radius: var(--radius-lg);
}

/* Shared fields, with quiet neutral focus states. */
body:not(.legacy-marketing-page) :is(input.form-control, textarea.form-control,
  select.form-control, .settings-form input, .settings-form textarea,
  .workspace-search input, .auth-entry-form input:not([type="checkbox"]),
  .admin-users-heading input) {
  border-color: var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
  font-family: var(--sans);
  font-size: 14px;
}
body:not(.legacy-marketing-page) :is(input.form-control, textarea.form-control,
  select.form-control, .settings-form input, .settings-form textarea,
  .workspace-search input, .auth-entry-form input:not([type="checkbox"]),
  .admin-users-heading input):focus {
  border-color: #8c8c8c;
  outline: 1px solid #8c8c8c;
  outline-offset: 0;
  box-shadow: 0 0 0 3px #18181808;
}
body:not(.legacy-marketing-page) :is(label.form-label, .settings-form label,
  .auth-entry-form label) {
  color: var(--muted);
  font-size: var(--font-label);
}
body:not(.legacy-marketing-page) :is(input, textarea)::placeholder { color: #9b9b9b; }
body:not(.legacy-marketing-page) .form-field-error {
  display: block;
  margin: 2px 0 0;
  color: #c43232;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
}
body:not(.legacy-marketing-page) .form-field-status {
  display: block;
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}
body:not(.legacy-marketing-page) .settings-form .form-control.is-invalid,
body:not(.legacy-marketing-page) .settings-form .form-control.is-invalid:focus {
  border-color: #d14343;
  outline: 1px solid #d14343;
  outline-offset: 0;
  box-shadow: 0 0 0 3px rgba(209, 67, 67, .12);
}

/* Surfaces and dividers across the catalog, forms, modals, billing and admin. */
body:not(.legacy-marketing-page) :is(.property-card, .list-row,
  .workspace-callout, .modal-card, .billing-account-card,
  .billing-plan-card:not(.billing-plan-card-featured), .billing-current, .billing-support,
  .admin-metric, .admin-panel, .admin-detail-grid > div,
  .admin-timeline > div) {
  border-color: var(--border);
  border-radius: var(--radius-panel);
  background-color: var(--surface);
}
body:not(.legacy-marketing-page) :is(.property-card, .list-row, .admin-metric,
  .admin-panel) { box-shadow: 0 1px 3px #18181806; }
body:not(.legacy-marketing-page) :is(.property-card:hover, .list-row:hover) {
  box-shadow: var(--filter-shadow);
}
body:not(.legacy-marketing-page) .modal { background-color: rgba(18,18,20,.28); }
body:not(.legacy-marketing-page) :is(.free-plan-upgrade-overlay,
  .pro-success-overlay) { background-color: #fafafa8c; }
body:not(.legacy-marketing-page) :is(.modal-card h2, .billing-section-heading h2,
  .billing-plan-option-heading h2, .workspace-callout h2) {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.03em;
}

/* The public account and legal pages use Discovery's editorial rhythm. */
body.marketing-page:not(.legacy-marketing-page) .container {
  width: min(calc(100% - 96px), 1320px);
}
/* One public-site header serves Discovery, auth, and legal routes. */
.public-site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid var(--border);
  background: #fafafaed;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.public-site-header .discover-shell {
  width: min(calc(100% - 96px), 1320px);
  margin-inline: auto;
}
.public-site-header .discover-nav {
  min-height: 87px;
  display: flex;
  align-items: center;
  gap: 55px;
}
.public-site-header .discover-brand,
.discover-footer .discover-brand {
  font: 500 33px/1 var(--serif);
  letter-spacing: -.06em;
}
.header-wordmark { display: block; width: auto; height: 30px; max-width: 100%; }
.public-site-header .discover-brand { display: inline-flex; align-items: center; flex: none; }
.public-site-header .header-wordmark { height: 33px; }
.marketing-header .header-wordmark { height: 28px; }
.public-header .header-wordmark { height: 28px; }
.authenticated-bottom-nav .header-wordmark { height: 24px; filter: invert(1); }
body.admin-page .admin-header .header-wordmark { height: 28px; }
.public-site-header .discover-nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-left: auto;
}
.public-site-header .discover-nav-links a,
.public-site-header .discover-login {
  font-size: 13px;
  font-weight: 500;
}
.public-site-header .discover-nav-links a:hover,
.public-site-header .discover-login:hover { opacity: .65; }
.public-site-header .discover-nav-actions {
  display: flex;
  align-items: center;
  gap: 26px;
}
.public-site-header .discover-nav .discover-button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 11px 16px;
  border: 1px solid var(--dark);
  border-radius: var(--radius);
  background: var(--dark);
  color: #fff;
  font: 500 12px/1.25 var(--sans);
  white-space: nowrap;
}
.public-site-header .discover-nav .discover-button:hover {
  background: #303030;
  transform: translateY(-2px);
}
.public-site-header .discover-nav .discover-button span[aria-hidden] {
  font-size: 20px;
  font-weight: 400;
}
body.marketing-page:not(.legacy-marketing-page) .marketing-footer {
  border-color: var(--border);
  background: var(--bg);
}
body.marketing-page:not(.legacy-marketing-page) .marketing-footer-main {
  padding-block: 44px 35px;
}
body.marketing-page:not(.legacy-marketing-page) .marketing-footer-main p,
body.marketing-page:not(.legacy-marketing-page) .marketing-footer-links a {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
body.marketing-page:not(.legacy-marketing-page) .marketing-footer-links a:hover,
body.marketing-page:not(.legacy-marketing-page) .marketing-footer-legal a:hover {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.marketing-page:not(.legacy-marketing-page) .marketing-footer-legal {
  border-color: var(--border);
  color: var(--muted);
  font-size: 11px;
}
body.marketing-page:not(.legacy-marketing-page) .marketing-footer-legal nav a {
  font-size: 12px;
}
body.auth-entry-page .auth-entry-shell {
  min-height: calc(100svh - 87px);
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 24px;
  padding-block: 24px;
}
body.auth-entry-page .auth-entry-panel {
  width: min(100%, 540px);
}
body.auth-entry-page .auth-entry-panel h1 {
  font-size: clamp(45px, 5vw, 64px);
  line-height: 1.03;
}
body.auth-entry-page .auth-entry-form label {
  color: var(--muted);
  font-size: var(--font-label);
  letter-spacing: .075em;
}
body.auth-entry-page .auth-entry-form input:not([type="checkbox"]) {
  min-height: 51px;
}
body.auth-entry-page .auth-form-meta,
body.auth-entry-page .auth-back-link {
  color: var(--muted);
  font-size: 13px;
}
body.auth-entry-page .auth-entry-aside {
  border-radius: var(--radius-panel);
  background: var(--surface-dark);
  color: #fafafa;
}
body.auth-entry-page .auth-entry-aside::before { background: none; }
body.auth-entry-page .auth-entry-aside h2 {
  font-size: clamp(40px, 4vw, 58px);
  line-height: 1.04;
}
body.auth-entry-page .auth-entry-aside p {
  color: var(--muted-on-dark);
  font-size: 15px;
}
body.auth-entry-page .auth-divider {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .08em;
}
body.auth-entry-page .auth-google-button {
  min-height: var(--button-large-height);
  border-color: var(--border);
  border-radius: var(--button-radius);
  font: 500 14px/1.25 var(--sans);
}
body.auth-entry-page .auth-google-button:hover {
  border-color: var(--border-strong);
  background: #f3f3f3;
}
body.auth-entry-page .auth-entry-panel .auth-switch {
  color: var(--muted);
  font-size: 14px !important;
}
body.auth-entry-page .auth-entry-panel .auth-legal-disclosure {
  color: var(--muted);
  font-size: 12px !important;
}
body.legal-document-page .legal-page {
  max-width: 850px;
  padding-top: 82px;
  padding-bottom: 100px;
}
body.legal-document-page .legal-page-back {
  color: var(--muted);
  font-size: 13px;
}
body.legal-document-page .legal-page-back:hover,
body.auth-entry-page .auth-back-link:hover { color: var(--text); text-decoration: underline; text-underline-offset: 4px; }
body.legal-document-page .legal-page-header {
  border-color: var(--border);
}
body.legal-document-page .legal-page-header h1 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.043em;
}
body.legal-document-page .legal-page-header p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
}
body.legal-document-page .legal-page-header span {
  color: var(--muted);
  font-size: 11px;
}
body.legal-document-page .legal-page-content h2 {
  color: var(--text);
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 500;
}
body.legal-document-page .legal-page-content :is(p, li) {
  color: #393939;
  font-size: 15px;
  line-height: 1.75;
}
body.legal-document-page .legal-page-content a { color: var(--text); }
body.onboarding-page .onboarding { background: var(--bg); }
body.onboarding-page .onboarding-icon {
  background: var(--subtle);
  color: var(--text);
}
body.onboarding-page .onboarding-kicker {
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .16em;
}
body.onboarding-page .onboarding-step :is(h1, h2) {
  font-size: clamp(40px, 4vw, 52px);
  line-height: 1.04;
}
body.onboarding-page .onboarding-step > p:not(.onboarding-kicker) {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}
body.onboarding-page .onboarding-step .form-control {
  min-height: var(--button-large-height);
}
@media (max-width: 1100px) {
  body.marketing-page:not(.legacy-marketing-page) .container {
    width: calc(100% - 56px);
  }
  .public-site-header .discover-shell { width: calc(100% - 56px); }
  .public-site-header .discover-nav { gap: 30px; }
  .public-site-header .discover-nav-links { gap: 23px; }
}
@media (min-width: 1600px) {
  body.discover-page .public-site-header .discover-shell { width: min(calc(100% - 128px), 1440px); }
}
@media (max-width: 900px) {
  body.auth-entry-page .auth-entry-shell { grid-template-columns: 1fr; }
  body.auth-entry-page .auth-entry-panel { padding-block: 54px; }
}
@media (max-width: 800px) {
  .public-site-header .discover-nav { min-height: 76px; }
  .public-site-header .discover-nav-links { display: none; }
  .public-site-header .discover-nav-actions { margin-left: auto; }
  body.auth-entry-page .auth-entry-shell { min-height: calc(100svh - 76px); }
}
@media (max-width: 640px) {
  body.marketing-page:not(.legacy-marketing-page) .container {
    width: calc(100% - 40px);
  }
  .public-site-header .discover-shell { width: calc(100% - 40px); }
  .public-site-header .discover-nav { min-height: 70px; gap: 12px; }
  .public-site-header .header-wordmark { height: 27px; }
  .public-site-header .discover-nav-actions { gap: 12px; }
  .public-site-header .discover-login {
    min-height: 44px;
    display: flex;
    align-items: center;
    font-size: 12px;
  }
  .public-site-header .discover-nav .discover-button {
    min-height: 44px;
    gap: 8px;
    padding: 10px 11px;
    font-size: 11px;
  }
  body.auth-entry-page .auth-entry-shell {
    min-height: calc(100svh - 70px);
    padding: 0;
  }
  body.auth-entry-page .auth-entry-panel {
    padding: 50px 20px 58px;
  }
  body.auth-entry-page .auth-entry-panel h1 { font-size: 46px; }
  body.auth-entry-page .auth-entry-aside { display: none; }
  body.legal-document-page .legal-page {
    padding-top: 50px;
    padding-bottom: 68px;
  }
  body.legal-document-page .legal-page-header h1 {
    font-size: clamp(42px, 11vw, 58px);
    line-height: 1.02;
  }
  body.legal-document-page .legal-page-content h2 { font-size: 18px; }
  body.legal-document-page .legal-page-content :is(p, li) { font-size: 14px; }
}

/* Product navigation and filters retain their existing behavior and layout. */
body:not(.legacy-marketing-page) .app-header { background-color: var(--dark); }
body:not(.legacy-marketing-page) .public-header { background: #fafafaed; }
body:not(.legacy-marketing-page) :is(.filters, .workspace-sticky-header,
  .workspace-search, .catalog-sort-box) { border-color: var(--border); }
body:not(.legacy-marketing-page) .workspace-sticky-header { background: var(--bg); }
body:not(.legacy-marketing-page) .profile-section {
  color: var(--text);
  border: 0;
  box-shadow: none;
}
body:not(.legacy-marketing-page) .profile-section .profile-links {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
body:not(.legacy-marketing-page) .property-card,
body:not(.legacy-marketing-page) .property-card:hover {
  border: 0 !important;
  box-shadow: none !important;
}
body:not(.legacy-marketing-page) :is(.cta-card, .workspace-callout, .empty-state-card),
body:not(.legacy-marketing-page) :is(.cta-card, .workspace-callout, .empty-state-card):hover {
  border: 0 !important;
  box-shadow: none !important;
}
body:not(.legacy-marketing-page) .property-card :is(.property-body h3, .card-metrics) {
  border-top-color: var(--lightgray);
}
body:not(.legacy-marketing-page) .profile-section .profile-avatar > .avatar {
  outline: 0;
  border-width: 2px !important;
  box-shadow: none;
}
/* The header avatar is one shared component in both the authenticated catalog
   and View as Client. Keep its image and empty state identical; only the
   authenticated camera control is allowed to differ. */
body:not(.legacy-marketing-page) .profile-section .profile-avatar-shared {
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: var(--radius-panel);
}
body:not(.legacy-marketing-page) .profile-section .profile-avatar-shared > :is(.avatar, .avatar-placeholder) {
  width: 120px;
  height: 120px;
  border-radius: var(--radius-panel);
  object-fit: cover;
  object-position: center;
}
body:not(.legacy-marketing-page) .profile-eyebrow {
  margin: 10px 0 7px 2px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .34em;
  line-height: 1;
  text-transform: uppercase;
}
body:not(.legacy-marketing-page) .profile-copy > p {
  margin-bottom: 10px;
}
@media (min-width: 641px) {
  /* Keep the realtor identity stack as evenly aligned on desktop as it is on mobile. */
  body:not(.legacy-marketing-page) .profile-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 8px;
    padding-top: 23px;
  }
  body:not(.legacy-marketing-page) .profile-eyebrow {
    margin: 0 0 0 2px;
  }
  body:not(.legacy-marketing-page) .profile-title-line {
    gap: 8px;
  }
  body:not(.legacy-marketing-page) .profile-meta.profile-meta-plain {
    margin-top: 0;
    margin-bottom: 4px;
  }
  body:not(.legacy-marketing-page) .profile-copy > p {
    margin: 8px 0 16px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-avatar-link {
    transform: translateY(-8px);
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-avatar-camera {
    transform: translateY(-12px);
  }
  /* Anchor the avatar to the same identity baseline in owner and client views. */
  body:not(.legacy-marketing-page) .profile-header-shell .profile-main {
    align-items: flex-start;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-identity {
    align-items: flex-start;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-avatar-link {
    margin-top: 19px;
    transform: none;
  }
  body:not(.legacy-marketing-page) .profile-section {
    overflow: visible;
    isolation: isolate;
    background: transparent;
  }
  body:not(.legacy-marketing-page) .profile-section::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: linear-gradient(110deg, #f1f1ef 0%, #fafaf9 58%, #f3f3f1 100%);
  }
  body:not(.legacy-marketing-page) .profile-main,
  body:not(.legacy-marketing-page) .profile-links {
    z-index: 1;
    background: transparent;
  }
}

/* The authenticated app follows the same horizontal rhythm as the landing
   page so headers, filters and catalog content share one consistent edge. */
body:not(.legacy-marketing-page) .container {
  width: min(calc(100% - 96px), 1320px);
}

@media (min-width: 641px) {
  body:not(.legacy-marketing-page) .edit-listing-form .edit-listing-actions {
    padding-inline: max(48px, calc((100% - 1320px) / 2));
  }
}

@media (min-width: 641px) and (max-width: 1100px) {
  body:not(.legacy-marketing-page) .edit-listing-form .edit-listing-actions {
    padding-inline: 28px;
  }
}

@media (max-width: 1100px) {
  body:not(.legacy-marketing-page) .container {
    width: calc(100% - 56px);
  }
}

@media (max-width: 640px) {
  body:not(.legacy-marketing-page) .container {
    width: calc(100% - 40px);
  }
}
body:not(.legacy-marketing-page) .profile-edit-info-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: var(--button-small-height);
  min-width: var(--button-small-height);
  height: var(--button-small-height);
  min-height: var(--button-small-height);
  padding: 0;
}
body:not(.legacy-marketing-page) :is(.property-badge, .pill,
  .billing-plan-tag, .admin-stage) {
  border-color: var(--border);
  background: var(--subtle);
  color: var(--text);
}

/* Shared workspace finish. These rules never change visibility, order or hit areas. */
body.is-authenticated :is(.property-card, .list-row, .workspace-callout,
  .cta-card, .confirmation-list-card, .billing-account-card,
  .add-property-option, .admin-metric, .admin-panel) {
  border-color: var(--workspace-card-border);
  box-shadow: var(--workspace-shadow-card);
}
body.is-authenticated :is(.curated-lists-page, .archived-curated-lists-page) .list-row,
body.is-authenticated :is(.curated-lists-page, .archived-curated-lists-page) .list-row:hover {
  border: 0;
  box-shadow: none;
}
body.is-authenticated .profile-section {
  border-color: var(--workspace-card-border);
  box-shadow: none;
}
body.is-authenticated :is(.property-card, .list-row, .add-property-option) {
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
body.is-authenticated :is(.workspace-heading, .page-heading,
  .catalog-management-heading, .form-section, .property-actions,
  .card-metrics, .billing-plan-usage, .billing-compact-details,
  .account-fullscreen-profile, .account-fullscreen-links > a,
  .account-fullscreen-links > button) {
  border-color: var(--workspace-divider);
}
body.is-authenticated :is(.workspace-heading h1, .catalog-management-heading h1,
  .page-heading h1) {
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.12;
}
body.is-authenticated :is(.workspace-heading p, .catalog-management-heading p) {
  font-size: 14px;
  line-height: 1.6;
}
body.is-authenticated .property-price {
  font-weight: 600;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}
body.is-authenticated .property-location { line-height: 1.5; }
body.is-authenticated .card-metric strong { font-variant-numeric: tabular-nums; }
body.is-authenticated :is(.profile-meta, .profile-copy > p) { line-height: 1.6; }

body.is-authenticated :is(.menu-panel, .list-row-actions-panel) {
  border-color: var(--border);
  box-shadow: var(--workspace-shadow-popover);
}
body.is-authenticated :is(.modal-card, .account-fullscreen-menu,
  .free-plan-upgrade-modal, .pro-success-modal) {
  border-color: var(--border);
  box-shadow: var(--workspace-shadow-modal);
}
body.is-authenticated :is(.modal-close, .account-fullscreen-menu-header button) {
  border-color: var(--border);
  background: #fafafa;
  box-shadow: 0 1px 2px #18181804;
}
body.is-authenticated :is(.settings-form input[readonly],
  .support-form .form-control[readonly]) {
  background: var(--subtle);
  color: var(--muted);
}
body.is-authenticated :is(.form-section h2, .settings-form label) {
  letter-spacing: .06em;
  line-height: 1.5;
}
body.is-authenticated .field-help { font-size: 12px; line-height: 1.6; }
body.is-authenticated .billing-plan-option-heading p { font-size: 13px; line-height: 1.65; }
body.is-authenticated .billing-plan-benefits { gap: 18px; }
body.is-authenticated .billing-plan-benefits li { font-size: 14px; line-height: 1.5; }
body.is-authenticated .account-catalog-usage {
  border-color: var(--workspace-divider);
  background: var(--subtle);
}
body.is-authenticated .account-catalog-progress { background: #e0e0e0; }

@media (hover: hover) and (pointer: fine) {
  body.is-authenticated :is(.property-card:hover, .list-row:hover,
    .add-property-option:hover) {
    border-color: var(--border);
    box-shadow: var(--workspace-shadow-hover);
  }
}
@media (min-width: 641px) {
  body.is-authenticated .authenticated-bottom-nav {
    border-radius: var(--radius-panel);
    box-shadow: 0 2px 5px #1818180a, 0 10px 28px #18181814,
      inset 0 1px 0 #ffffff12;
  }
  body.is-authenticated .authenticated-bottom-nav > .authenticated-nav-client {
    border-radius: var(--button-radius);
  }
  body.is-authenticated .workspace-heading { padding-bottom: 28px; margin-bottom: 32px; }
  body.is-authenticated .billing-account-card { padding: 30px; }
  body.is-authenticated .form-section { padding-bottom: 36px; }
}
@media (max-width: 640px) {
  body.is-authenticated .authenticated-bottom-nav {
    background: #ffffffed;
    border: 0;
    box-shadow: 0 -1px 3px #18181803, 0 -6px 20px #18181808;
  }
  body.is-authenticated .account-fullscreen-menu { box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.is-authenticated :is(.property-card, .list-row, .add-property-option) {
    transition: none;
  }
}

/* Admin keeps its compact information density, but not a separate palette. */
body.admin-page { background: var(--bg); color: var(--text); }
body.admin-page .admin-header {
  border-color: var(--border);
  background: #fafafaed;
}
body.admin-page :is(.admin-funnel > div, .admin-activation > div,
  .admin-stage) { background: var(--subtle); }
body.admin-page :is(.admin-table-wrap th, .admin-table-wrap td,
  .admin-detail-grid > div, .admin-timeline > div) { border-color: var(--border); }
body.admin-page :is(.admin-title p, .admin-panel-heading p,
  .admin-metric span, .admin-metric small) { color: var(--muted); }

/* Common section spacing follows the quieter Discovery rhythm. */
@media (min-width: 641px) {
  body:not(.legacy-marketing-page) :is(.workspace-page, .form-page) { padding-top: 48px; }
  body:not(.legacy-marketing-page) .property-section { margin-bottom: 56px; }
  body:not(.legacy-marketing-page) .admin-shell { padding-top: 64px; }
}

@media (max-width: 640px) {
  body:not(.legacy-marketing-page) .marketing-header-actions .button {
    min-height: 38px;
    padding: 9px 12px;
    font-size: 12px;
  }
  body:not(.legacy-marketing-page) .auth-entry-panel { padding-inline: 24px; }
  body:not(.legacy-marketing-page) :is(.profile-empty-action,
    .profile-manage-action, .profile-edit-info-button) {
    min-height: 28px;
    padding: 5px 9px;
    border-color: var(--border);
    border-radius: 999px;
    background: var(--subtle);
    color: var(--muted);
    font-size: 11px;
  }
  body:not(.legacy-marketing-page) .profile-manage-action {
    min-width: 28px;
    padding: 0;
  }
  body:not(.legacy-marketing-page) .profile-edit-info-button {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
  }
  body:not(.legacy-marketing-page) .admin-shell { width: min(100% - 32px, 1380px); }
  body.admin-page .admin-header {
    flex-wrap: wrap;
    min-height: 0;
    gap: 12px;
    padding: 12px 16px;
  }
  body.admin-page .admin-header > a { font-size: 25px; }
  body.admin-page .admin-header > div {
    width: 100%;
    justify-content: space-between;
    gap: 8px;
    font-size: 10px;
    white-space: nowrap;
  }
  body.admin-page :is(.admin-header-link, .admin-logout) { font-size: 11px; }
}

/* Keep the desktop realtor link row above the profile cover, like a filter
   control, without changing the mobile presentation. */
@media (min-width: 641px) {
  body.is-authenticated,
  .catalog-page.is-authenticated {
    padding-top: 76px !important;
  }

  body.is-authenticated .authenticated-nav-shell {
    top: 20px;
  }

  /* Profile pages own their navigation space inside the cover. Other app
     pages retain the normal space reserved above their content. */
  body.catalog-page.is-authenticated:has(.page-shell > .profile-header-shell) {
    padding-top: 0 !important;
  }
  body.catalog-page:not(.legacy-marketing-page) .page-shell:has(> .profile-header-shell) {
    padding-top: 12px;
  }
  body.catalog-page.is-authenticated .page-shell > .profile-header-shell > .profile-section {
    padding-top: 64px;
  }

  body:not(.legacy-marketing-page) .page-shell:has(> .profile-header-shell) { padding-top: 0; }
  body:not(.legacy-marketing-page) .profile-section {
    overflow: visible;
    border: 0;
    background: transparent;
  }
  body:not(.legacy-marketing-page) .profile-section::before {
    background: url("../images/realtor-header-leafy-interior.webp") center / cover;
    border-radius: var(--radius-panel);
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    inset: 0 auto 30px 50%;
    height: auto;
  }
  body:not(.legacy-marketing-page) .profile-main {
    --profile-content-bottom-space: 68px;
    min-height: 236px;
    padding-top: 40px;
    padding-inline: 0;
    padding-bottom: 68px;
    background: transparent;
  }
  body:not(.legacy-marketing-page) .profile-links {
    position: relative;
    z-index: 2;
    margin: -30px 0 0;
    padding: 12px 14px;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius);
    background: rgba(255,255,255,.97) !important;
    box-shadow: none;
  }
}

@media (min-width: 641px) {
  /* Keep the desktop filter surfaces flat like the mobile filter wrapper. */
  body:not(.legacy-marketing-page) :is(
    .desktop-filter-main,
    .catalog-sort-desktop,
    .catalog-filter-layout > .catalog-view-toggle-desktop,
    .desktop-mls-search
  ) {
    border: 0 !important;
    box-shadow: none !important;
  }
}

body:not(.legacy-marketing-page) :is(.filters, .profile-links,
  .catalog-filter-layout, .catalog-filter-layout > .filters) {
  border: 0 !important;
  box-shadow: none !important;
}

/* The realtor header should sit flush with the catalog on every viewport. */
body:not(.legacy-marketing-page) .profile-section {
  margin: 0 !important;
}
body:not(.legacy-marketing-page) .profile-section::before {
  margin-top: 0 !important;
  border-radius: 0 !important;
}
body:not(.legacy-marketing-page) .page-shell:has(> .profile-header-shell) {
  padding-top: 0 !important;
}
/* Keep the property-detail information/description surface clean. */
body.detail-page:not(.legacy-marketing-page) .detail-summary {
  border: 0;
}
body:not(.legacy-marketing-page) .profile-meta {
  width: fit-content;
  max-width: 100%;
  margin-top: 0;
  padding: 4px 8px;
  border: 0;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .82);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
body:not(.legacy-marketing-page) .profile-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
body:not(.legacy-marketing-page) .profile-location {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
body:not(.legacy-marketing-page) .profile-location .material-symbols-outlined {
  font-size: 12px;
}
body:not(.legacy-marketing-page) .profile-meta-row > i {
  font-style: normal;
  color: #a1a1aa;
}
body:not(.legacy-marketing-page) .profile-meta-row .profile-meta {
  margin-top: 0;
}
body:not(.legacy-marketing-page) .profile-meta.profile-meta-plain {
  margin-top: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body:not(.legacy-marketing-page) .profile-meta-plain + .profile-copy > p,
body:not(.legacy-marketing-page) .profile-meta-plain ~ p {
  margin-top: 0;
}
body:not(.legacy-marketing-page) .profile-header-shell {
  position: relative;
}

@media (max-width: 640px) {
  body.is-authenticated .catalog-mobile-section-heading h1 {
    font: 400 34px/1.12 var(--serif);
    letter-spacing: -.035em;
  }
  body:not(.legacy-marketing-page) .profile-eyebrow {
    margin-top: 13px;
    margin-bottom: 3px;
  }
  body:not(.legacy-marketing-page) .profile-identity h1 {
    font-size: 30px;
  }
  body:not(.legacy-marketing-page) .profile-copy {
    row-gap: 6px;
  }
  body:not(.legacy-marketing-page) .profile-copy > p {
    margin-top: 4px;
    margin-bottom: 16px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell {
    overflow: hidden;
    margin: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    border-radius: var(--radius-panel);
    background: #fff;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-main {
    padding-top: 140px;
    padding-left: 20px;
    padding-right: 20px;
    border: 0 !important;
    box-shadow: none !important;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-section {
    padding-bottom: 4px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-links {
    position: static;
    margin-left: 0;
    margin-right: 0;
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
    border: 0 !important;
    box-shadow: none !important;
    background-image: linear-gradient(to right, transparent 20px, var(--lightgray) 20px, var(--lightgray) calc(100% - 20px), transparent calc(100% - 20px));
    background-repeat: no-repeat;
    background-position: top;
    background-size: 100% 1px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-links::before {
    content: none;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-mobile-contact {
    top: 52px;
    right: 20px;
    bottom: auto;
    padding: 0;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-mobile-contact .button {
    min-height: 32px;
    height: 32px;
    padding: 6px 10px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-avatar-link {
    top: 31px;
    left: 20px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-avatar-camera {
    top: 115px;
    left: 108px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-links > .social-list {
    top: 115px;
    right: 20px;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-links > .social-list :is(.social-link, .profile-manage-action) {
    display: grid;
    place-items: center;
    padding: 0;
    line-height: 0;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-links > .social-list .social-link svg {
    display: block;
    transform: none;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-links > .social-list .profile-manage-action .material-symbols-outlined::after {
    transform: none;
  }
  body:not(.legacy-marketing-page) .profile-meta-row {
    order: 2;
  }
  body.catalog-page.is-guest:not(.legacy-marketing-page) .page-shell:has(> .profile-header-shell) {
    padding-top: 20px;
  }
}
body:not(.legacy-marketing-page) .filters .filter-divider {
  display: none !important;
}

@media (min-width: 641px) {
  /* Owner and client views share the same contact placement in the hero. */
  body:not(.legacy-marketing-page) .profile-header-shell .profile-actions-desktop {
    position: absolute;
    z-index: 4;
    top: auto;
    right: 0;
    bottom: var(--profile-content-bottom-space);
    display: flex;
  }
  body:not(.legacy-marketing-page) .profile-header-shell .profile-mobile-contact {
    display: none;
  }
}

/* Compact the shared page headers without changing their type scale or
   controls. Keeping this in one override makes the rhythm consistent across
   Properties, Lists, account forms and listing editors. */
body:not(.legacy-marketing-page) :is(
  .workspace-heading,
  .catalog-management-heading,
  .catalog-management-page .page-heading,
  .curated-lists-page .page-heading,
  .edit-listing-heading,
  .add-property-heading
) {
  margin-bottom: 20px;
}

body:not(.legacy-marketing-page) .catalog-management-heading {
  margin-top: 26px;
}

@media (min-width: 641px) {
  body.is-authenticated .workspace-heading {
    margin-bottom: 24px;
  }
}

@media (max-width: 640px) {
  body:not(.legacy-marketing-page) :is(
    .workspace-heading,
    .catalog-management-page .page-heading,
    .curated-lists-page .page-heading,
    .edit-listing-heading,
    .add-property-heading
  ) {
    margin-bottom: 14px;
  }
}

/* Give logged-in screens a little more breathing room above the content while
   keeping the authenticated navigation and profile layout unchanged. */
@media (min-width: 641px) {
  body.is-authenticated,
  .catalog-page.is-authenticated {
    padding-top: 68px !important;
  }
  body.catalog-page.is-authenticated:has(.page-shell > .profile-header-shell) {
    padding-top: 0 !important;
  }
  body.catalog-page.is-authenticated .page-shell > .profile-header-shell > .profile-section {
    padding-top: 56px;
  }
  body.detail-page.is-authenticated:has(.page-shell > .profile-header-shell) {
    padding-top: 0 !important;
  }
  body.detail-page.is-authenticated .page-shell > .profile-header-shell > .profile-section {
    padding-top: 56px;
  }
  body.is-authenticated .authenticated-nav-shell {
    top: 12px;
  }
  body.is-authenticated .authenticated-bottom-nav {
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: #18181b;
    box-shadow: 0 0 42px rgba(24, 24, 27, .18);
    -webkit-backdrop-filter: blur(12px) saturate(1.1);
    backdrop-filter: blur(12px) saturate(1.1);
  }

  /* Give the realtor link row the same generous action rhythm as the
     landing-page controls, while keeping the existing two-column layout. */
  body:not(.legacy-marketing-page) .profile-links {
    gap: 28px;
    padding: 16px 20px;
  }
  body:not(.legacy-marketing-page) .profile-service-links {
    gap: 12px;
  }
  body:not(.legacy-marketing-page) .profile-service-links :is(.button, .chip,
    .profile-empty-action, .profile-manage-action) {
    min-height: 40px;
    padding: 10px 16px;
    border-radius: var(--button-radius);
    font-size: 13px;
  }
  body:not(.legacy-marketing-page) .profile-service-links .profile-manage-action {
    min-width: 40px;
    padding-inline: 10px;
  }
  body:not(.legacy-marketing-page) .profile-links > .social-list {
    gap: 8px;
  }
  body:not(.legacy-marketing-page) .profile-links > .social-list .social-link {
    width: 40px;
    height: 40px;
  }
  body:not(.legacy-marketing-page) .profile-identity h1 {
    font-size: 38px;
    line-height: 1.08;
  }
  body:not(.legacy-marketing-page) .profile-section .profile-avatar > .avatar {
    width: 120px;
    height: 120px;
  }
  body:not(.legacy-marketing-page) .is-authenticated-profile .profile-avatar-camera {
    left: 94px;
  }
  body:not(.legacy-marketing-page) .profile-links :is(.profile-service-links,
    .social-list) .profile-manage-action {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    padding-inline: 10px;
    justify-content: center;
  }
  body:not(.legacy-marketing-page) .profile-links :is(.profile-service-links,
    .social-list) .profile-manage-action > span:not(.material-symbols-outlined) {
    display: none;
  }
}
@media (max-width: 640px) {
  body:not(.legacy-marketing-page) .profile-section .profile-avatar-shared > :is(.avatar, .avatar-placeholder) {
    width: 112px;
    height: 112px;
    border-radius: var(--radius-panel);
  }
}

/* Keep owner navigation available in the desktop listing editor. */
@media (min-width: 641px) {
  .edit-listing-shell:has(.edit-listing-form) {
    padding-top: 24px;
  }
  body.edit-listing-page.is-authenticated:has(.edit-listing-form) .authenticated-nav-shell {
    display: flex;
  }
}

/* Compact shared identity for owner and client property details on desktop. */
@media (min-width: 641px) {
  body.detail-page.is-authenticated .page-shell > .profile-header-compact-desktop > .profile-section {
    padding-top: 76px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-avatar-camera {
    top: auto;
    left: 44px;
    bottom: -6px;
    transform: none;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    min-height: 0;
    padding: 18px 0 34px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-identity {
    min-width: 0;
    align-items: flex-end;
    gap: 16px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-avatar-link {
    flex: none;
    margin: 0;
    transform: none;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-avatar-shared > :is(.avatar, .avatar-placeholder) {
    width: 64px;
    height: 64px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-copy {
    padding: 0;
    gap: 6px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-eyebrow {
    margin: 0;
    font-size: 9px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-identity h1 {
    font-size: 32px;
    line-height: 1;
    overflow-wrap: anywhere;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-meta.profile-meta-plain {
    display: none;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-copy > p {
    display: none;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-actions-desktop {
    position: static;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-links {
    margin-top: -16px;
    padding: 10px 14px;
    gap: 16px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-service-links {
    gap: 8px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-section:not(:has(.profile-links)) .profile-main {
    padding-bottom: 18px;
  }
  body:not(.legacy-marketing-page) .profile-header-compact-desktop .profile-section:not(:has(.profile-links))::before {
    bottom: 0;
  }
}

/* The Add Property overlay follows the same content edges as the workspace. */
body.is-authenticated .property-add-overlay {
  padding-inline: 0;
}
body.is-authenticated .property-add-overlay .add-property-option,
body.is-authenticated .property-add-overlay .add-property-option:is(:hover, :focus, :active) {
  box-shadow: none;
}
body.is-authenticated .property-add-overlay .add-property-options {
  gap: 0;
}
body.is-authenticated .property-add-overlay .add-property-option {
  padding-top: 24px;
  padding-bottom: 24px;
}
body.is-authenticated .property-add-overlay > .property-add-overlay-header {
  width: min(calc(100% - 40px), 1320px);
  max-width: 1320px;
  margin-inline: auto;
}
body.is-authenticated .property-add-overlay > .property-add-overlay-content {
  width: min(calc(100% - 40px), 520px);
  max-width: 520px;
  flex: none;
  margin: auto;
}

/* Keep horizontal separators quiet and consistent across workspace surfaces. */
body:not(.legacy-marketing-page) :is(
  .workspace-heading,
  .catalog-management-heading,
  .catalog-management-page .page-heading,
  .curated-lists-page .page-heading,
  .profile-main,
  .detail-card-divider,
  .detail-highlight-item,
  .metrics,
  .billing-details,
  .billing-plan-card ul,
  .billing-compact-details,
  .billing-plan-usage,
  .billing-manage-summary,
  .site-footer,
  .footer-legal,
  .lists-table,
  .list-row,
  .account-fullscreen-profile,
  .account-fullscreen-links > a,
  .account-fullscreen-links > button,
  .account-fullscreen-signout,
  .add-property-source-actions
) {
  border-top-color: var(--lightgray) !important;
  border-bottom-color: var(--lightgray) !important;
}

body:not(.legacy-marketing-page) :is(
  .property-add-overlay .add-property-option,
  .add-property-source-header .workspace-heading
) {
  border-bottom-color: var(--lightgray) !important;
}

body:not(.legacy-marketing-page) .property-url-field textarea::placeholder {
  color: #c1c1c6 !important;
  opacity: 1;
}
@media (min-width: 641px) {
  body.is-authenticated .property-add-overlay > .property-add-overlay-content {
    transform: translateY(-28px);
  }
  body.is-authenticated .property-add-overlay .add-property-options {
    grid-template-rows: repeat(2, minmax(116px, auto));
    flex: none;
  }
  body.is-authenticated .property-add-overlay .add-property-option {
    height: auto;
    min-height: 116px;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  body.is-authenticated .property-add-overlay .add-property-chevron {
    right: 0;
  }
}
@media (max-width: 640px) {
  body.is-authenticated .property-add-overlay > .property-add-overlay-header {
    width: calc(100% - 40px);
  }
  body.is-authenticated .property-add-overlay > .property-add-overlay-content {
    width: calc(100% - 40px);
    margin: auto;
    align-items: center;
  }
  body.is-authenticated .property-add-overlay .add-property-options {
    grid-template-rows: repeat(2, minmax(116px, auto));
    flex: none;
  }
  body.is-authenticated .property-add-overlay .add-property-option {
    height: auto;
    min-height: 116px;
  }
  body.is-authenticated .property-add-overlay .add-property-option {
    padding-left: 0;
    padding-right: 40px;
  }
}

@media (max-width: 640px) {
  body.add-property-page .add-property-source-close {
    right: -4px;
  }
}
