/*
 * Landlord dashboard — visual redesign to the sidebar / card look.
 *
 * Scoped entirely under `body.landlord-dashboard-page` and loaded only by
 * landlord-dashboard.html, so it cannot affect any other page. It is CSS only:
 * the markup, every data-* hook and all of landlord-dashboard.js are untouched,
 * so all functionality and the backend are unchanged. The existing top header
 * already holds the logo, the "Landlord" pill, the Dashboard/Properties/
 * Bookings/Find a Cleaner nav and the account avatar, so it is simply
 * re-laid-out as the left sidebar.
 */

/* The font declarations that were here now live in homle-tokens.css, which every
   page loads. The same two families were declared byte-identically in three
   stylesheets; one owner means a font swap is one edit, not a hunt. */

body.landlord-dashboard-page {
  --ld-cream: oklch(0.965 0.014 90);
  --ld-ink: oklch(0.2 0.03 60);
  --ld-ink-2: oklch(0.24 0.03 60);
  --ld-muted: oklch(0.44 0.02 60);
  --ld-muted-2: oklch(0.5 0.02 60);
  --ld-coral: oklch(0.62 0.19 25);
  --ld-line: oklch(0.5 0.02 60 / 0.12);
  --ld-card-shadow: 0 18px 46px oklch(0.3 0.05 60 / 0.06);
  --ld-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --ld-body: "DM Sans", system-ui, -apple-system, sans-serif;

  margin: 0;
  font-family: var(--ld-body);
  color: var(--ld-ink);
  background:
    radial-gradient(1100px 560px at 100% -6%, oklch(0.93 0.05 25 / 0.35) 0%, transparent 60%),
    var(--ld-cream);
  background-attachment: fixed;
}

body.landlord-dashboard-page h1,
body.landlord-dashboard-page h2,
body.landlord-dashboard-page h3,
body.landlord-dashboard-page h4 { font-family: var(--ld-display); letter-spacing: -0.01em; color: var(--ld-ink); }

/* ── Header re-laid-out as the left sidebar ───────────────────────────── */

body.landlord-dashboard-page .site-header {
  position: fixed;
  inset: 0 auto 0 0;
  width: 264px;
  z-index: 30;
  background: oklch(0.99 0.006 90 / 0.72);
  backdrop-filter: blur(14px);
  border-right: 1px solid var(--ld-line);
  border-bottom: 0;
  box-shadow: none;
}
body.landlord-dashboard-page .site-header .shell.nav-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 26px;
  height: 100%;
  max-width: none;
  margin: 0;
  padding: 28px 20px;
}
body.landlord-dashboard-page .workspace-brand { display: flex; align-items: center; gap: 11px; }
body.landlord-dashboard-page .workspace-brand .brand { display: inline-flex; align-items: center; gap: 11px; font-family: var(--ld-display); font-weight: 700; font-size: 21px; color: var(--ld-ink-2); }
body.landlord-dashboard-page .workspace-brand .brand img { width: 42px; height: 42px; border-radius: 12px; box-shadow: 0 8px 20px oklch(0.62 0.19 25 / 0.3); }
body.landlord-dashboard-page .landlord-workspace-pill {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  background: transparent;
  color: var(--ld-coral);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.landlord-dashboard-page .landlord-dashboard-nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
body.landlord-dashboard-page .landlord-dashboard-nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 13px;
  font-weight: 600;
  font-size: 15px;
  color: var(--ld-muted);
  transition: background 0.15s ease, color 0.15s ease;
}
body.landlord-dashboard-page .landlord-dashboard-nav a:hover { background: oklch(0.94 0.05 25 / 0.5); color: var(--ld-ink-2); }
body.landlord-dashboard-page .landlord-dashboard-nav a[aria-current="page"] { background: oklch(0.94 0.05 25); color: oklch(0.5 0.16 25); }

/* Account menu sits at the bottom of the sidebar as the user card. */
body.landlord-dashboard-page .site-header .account-menu { margin-top: auto; }
body.landlord-dashboard-page .site-header .account-menu summary {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 11px 12px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ld-line);
  box-shadow: var(--ld-card-shadow);
  cursor: pointer;
  list-style: none;
}
body.landlord-dashboard-page .site-header .account-menu summary::-webkit-details-marker { display: none; }
body.landlord-dashboard-page .site-header .account-menu summary::after {
  content: "Signed in · secure";
  font-size: 12px;
  color: var(--ld-muted-2);
  font-weight: 500;
}
body.landlord-dashboard-page .site-header .account-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: oklch(0.9 0.07 25); color: oklch(0.5 0.14 25);
  display: grid; place-items: center;
  font-family: var(--ld-display); font-weight: 700; border: 0;
}
body.landlord-dashboard-page .account-menu-panel { bottom: calc(100% + 10px); top: auto; right: auto; left: 0; }

/* ── Main content column ──────────────────────────────────────────────── */

body.landlord-dashboard-page .landlord-dashboard-main {
  margin-left: 264px;
  max-width: none;
  width: auto;
  padding: 34px 44px 60px;
}
body.landlord-dashboard-page .landlord-dashboard-main > * { max-width: 1160px; }
body.landlord-dashboard-page .account-footer { margin-left: 264px; }

/* Welcome / identity header. */
body.landlord-dashboard-page .landlord-dashboard-heading {
  display: grid;
  gap: 14px;
  background: transparent;
  border: 0;
  padding: 0;
  margin-bottom: 28px;
}
body.landlord-dashboard-page .role-dashboard-welcome h1 {
  font-family: var(--ld-display);
  font-weight: 800;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1;
  margin: 6px 0 0;
}
body.landlord-dashboard-page .role-dashboard-welcome > .eyebrow { color: var(--ld-coral); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; font-size: 12.5px; }
body.landlord-dashboard-page .role-dashboard-welcome p { max-width: 560px; color: var(--ld-muted); font-size: 16px; line-height: 1.55; margin: 12px 0 0; }
body.landlord-dashboard-page .role-dashboard-boundary { color: var(--ld-muted-2); font-size: 13.5px; }

/* Stat rows become cards. */
body.landlord-dashboard-page .landlord-dashboard-stats,
body.landlord-dashboard-page .landlord-history-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 16px;
  margin: 6px 0 0;
}
body.landlord-dashboard-page .landlord-dashboard-stats > div,
body.landlord-dashboard-page .landlord-history-stats > div {
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  box-shadow: var(--ld-card-shadow);
}
body.landlord-dashboard-page .landlord-dashboard-stats dt,
body.landlord-dashboard-page .landlord-history-stats dt { font-size: 13px; font-weight: 600; color: var(--ld-muted-2); margin-bottom: 10px; }
body.landlord-dashboard-page .landlord-dashboard-stats dd,
body.landlord-dashboard-page .landlord-history-stats dd { font-family: var(--ld-display); font-weight: 800; font-size: 30px; color: var(--ld-ink); margin: 0; }

/* ── Generic cards ────────────────────────────────────────────────────── */

body.landlord-dashboard-page .landlord-dashboard-state,
body.landlord-dashboard-page .landlord-request-complete,
body.landlord-dashboard-page .landlord-booking-section,
body.landlord-dashboard-page .landlord-workspace-panel,
body.landlord-dashboard-page .landlord-history-overview,
body.landlord-dashboard-page .landlord-capability-note,
body.landlord-dashboard-page .landlord-network-status,
body.landlord-dashboard-page .dashboard-partial-status,
body.landlord-dashboard-page .landlord-empty-card,
body.landlord-dashboard-page .booking-dashboard-empty {
  background: #fff;
  border: 1px solid var(--ld-line);
  border-radius: 22px;
  box-shadow: var(--ld-card-shadow);
  padding: clamp(20px, 3vw, 30px);
}
body.landlord-dashboard-page .landlord-booking-section,
body.landlord-dashboard-page .landlord-workspace-panel { margin-bottom: 22px; }
body.landlord-dashboard-page .landlord-history-overview { margin-top: 22px; box-shadow: none; border: 0; padding: 0; background: transparent; }
body.landlord-dashboard-page .landlord-history-overview .landlord-previous-cleaners,
body.landlord-dashboard-page .landlord-history-overview .landlord-favourite-cleaners { background: #fff; border: 1px solid var(--ld-line); border-radius: 18px; padding: 20px; box-shadow: var(--ld-card-shadow); margin-top: 16px; }

body.landlord-dashboard-page .booking-section-heading h2,
body.landlord-dashboard-page .landlord-panel-heading h2,
body.landlord-dashboard-page .landlord-history-heading h3 { font-weight: 800; font-size: clamp(21px, 2.4vw, 26px); margin: 2px 0 0; }
body.landlord-dashboard-page .eyebrow { color: var(--ld-coral); }

/* Property + booking + list rows as soft cards. */
body.landlord-dashboard-page .landlord-property-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
body.landlord-dashboard-page .landlord-property-grid > *,
body.landlord-dashboard-page .booking-dashboard-list > *,
body.landlord-dashboard-page .landlord-request-list > *,
body.landlord-dashboard-page .landlord-waiting-list > * {
  background: #fff;
  border: 1px solid var(--ld-line);
  border-radius: 18px;
  padding: 20px 22px;
  box-shadow: var(--ld-card-shadow);
}
body.landlord-dashboard-page .booking-dashboard-list,
body.landlord-dashboard-page .landlord-request-list,
body.landlord-dashboard-page .landlord-waiting-list { display: flex; flex-direction: column; gap: 14px; }

/* ── Tabs (Properties / Account) as pills ─────────────────────────────── */

body.landlord-dashboard-page .landlord-workspace-tabs {
  display: inline-flex;
  gap: 6px;
  padding: 6px;
  margin: 4px 0 16px;
  border-radius: 999px;
  background: oklch(0.5 0.02 60 / 0.06);
  border: 0;
}
body.landlord-dashboard-page .landlord-workspace-tabs button {
  border: 0;
  background: transparent;
  color: var(--ld-muted);
  padding: 9px 18px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14.5px;
  cursor: pointer;
}
body.landlord-dashboard-page .landlord-workspace-tabs button.current {
  background: #fff;
  color: var(--ld-ink);
  box-shadow: 0 6px 16px oklch(0.3 0.05 60 / 0.1);
}

/* ── Buttons, fields ──────────────────────────────────────────────────── */

body.landlord-dashboard-page .button {
  border-radius: 999px;
  font-family: var(--ld-display);
  font-weight: 700;
  box-shadow: 0 12px 28px oklch(0.62 0.19 25 / 0.28);
}
body.landlord-dashboard-page .button.button-outline {
  background: transparent;
  color: var(--ld-ink-2);
  border: 1.5px solid oklch(0.4 0.02 60 / 0.25);
  box-shadow: none;
}
body.landlord-dashboard-page .landlord-property-actions { gap: 10px; flex-wrap: wrap; }
body.landlord-dashboard-page .landlord-property-archive {
  color: var(--ld-coral);
  border-color: color-mix(in oklch, var(--ld-coral) 42%, transparent);
}
body.landlord-dashboard-page .landlord-archived-properties {
  margin-top: 22px;
  padding: 16px;
  border: 1px solid var(--ld-line);
  border-radius: 18px;
  background: color-mix(in oklch, #fff 88%, var(--ld-canvas));
}
body.landlord-dashboard-page .landlord-archived-properties > summary {
  cursor: pointer;
  color: var(--ld-ink-2);
  font-weight: 750;
}
body.landlord-dashboard-page .landlord-archived-properties > summary span {
  display: inline-grid;
  min-width: 1.6rem;
  min-height: 1.6rem;
  margin-left: 7px;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  color: var(--ld-coral);
  font-size: .76rem;
}
body.landlord-dashboard-page .landlord-archived-properties > p {
  margin: 10px 0 16px;
  color: var(--ld-muted);
  font-size: .88rem;
}
body.landlord-dashboard-page .landlord-archived-properties .landlord-property-card {
  box-shadow: none;
}
body.landlord-dashboard-page .text-button { color: var(--ld-coral); font-weight: 600; }
body.landlord-dashboard-page .landlord-record-form input,
body.landlord-dashboard-page .landlord-record-form select,
body.landlord-dashboard-page .landlord-record-form textarea {
  border-radius: 13px;
  border: 1.5px solid oklch(0.5 0.02 60 / 0.18);
  background: oklch(0.98 0.006 90);
}
body.landlord-dashboard-page .landlord-private-pill,
body.landlord-dashboard-page .workspace-identity-pill { border-radius: 999px; }

/* ── Status pills on bookings keep their accent but round off. ────────── */
body.landlord-dashboard-page .status-pill,
body.landlord-dashboard-page [class*="status"] .pill { border-radius: 999px; }

/* ── Responsive: sidebar folds to a top bar ───────────────────────────── */

@media (max-width: 900px) {
  body.landlord-dashboard-page .site-header {
    position: static;
    width: auto;
    border-right: 0;
    border-bottom: 1px solid var(--ld-line);
    backdrop-filter: none;
    background: oklch(0.99 0.006 90);
  }
  body.landlord-dashboard-page .site-header .shell.nav-wrap {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    padding: 14px 20px;
  }
  body.landlord-dashboard-page .landlord-dashboard-nav { flex-direction: row; flex-wrap: wrap; }
  body.landlord-dashboard-page .site-header .account-menu { margin-top: 0; margin-left: auto; }
  body.landlord-dashboard-page .site-header .account-menu summary::after { display: none; }
  body.landlord-dashboard-page .account-menu-panel { bottom: auto; top: calc(100% + 10px); right: 0; left: auto; }
  body.landlord-dashboard-page .landlord-dashboard-main,
  body.landlord-dashboard-page .account-footer { margin-left: 0; }
  body.landlord-dashboard-page .landlord-dashboard-main { padding: 24px 18px 60px; }
}

@media (prefers-reduced-motion: reduce) {
  body.landlord-dashboard-page .landlord-dashboard-nav a { transition: none; }
}

/* Reference-match pass: reproduce the approved Landlord dashboard composition. */
body.landlord-dashboard-page {
  --ld-cream: #f8f4eb;
  --ld-sidebar: #fbf8f0;
  --ld-ink: #21140f;
  --ld-muted: #6f5c53;
  --ld-coral: #e94549;
  --ld-coral-dark: #c92737;
  --ld-line: rgba(67, 48, 39, 0.1);
  --ld-card-shadow: 0 18px 45px rgba(73, 43, 31, 0.08);
  background: radial-gradient(900px 520px at 65% 20%, rgba(255,255,255,.62), transparent 70%), var(--ld-cream);
}

body.landlord-dashboard-page .site-header {
  width: 255px;
  background: var(--ld-sidebar);
  border-right: 1px solid var(--ld-line);
}
body.landlord-dashboard-page .site-header .shell.nav-wrap {
  gap: 28px;
  padding: 30px 14px 18px;
}
body.landlord-dashboard-page .workspace-brand { padding: 0 1px; }
body.landlord-dashboard-page .workspace-brand .brand {
  gap: 12px;
  padding: 0;
  text-decoration: none;
}
body.landlord-dashboard-page .workspace-brand .brand img {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  box-shadow: 0 9px 20px rgba(201, 39, 55, .24);
}
body.landlord-dashboard-page .workspace-brand-copy { display: grid; gap: 0; }
body.landlord-dashboard-page .workspace-brand-copy strong {
  font-family: var(--ld-display);
  font-size: 21px;
  line-height: 1;
  color: var(--ld-ink);
}
body.landlord-dashboard-page .workspace-brand-copy small {
  margin-top: 4px;
  color: var(--ld-coral);
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.landlord-dashboard-page .landlord-dashboard-nav { gap: 7px; }
body.landlord-dashboard-page .landlord-dashboard-nav a {
  min-height: 43px;
  gap: 13px;
  padding: 10px 14px;
  border-radius: 13px;
  color: #625650;
  font-weight: 600;
}
body.landlord-dashboard-page .landlord-dashboard-nav a svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.landlord-dashboard-page .landlord-dashboard-nav a:first-child svg { fill: currentColor; stroke: none; }
body.landlord-dashboard-page .landlord-dashboard-nav a:hover {
  background: #f8dfda;
  color: #b92f36;
}
body.landlord-dashboard-page .landlord-dashboard-nav a[aria-current="page"] {
  background: #f9d9d4;
  color: #b92f36;
}
/* The secondary way in, and sized like one. At the shared 48px button height
   with full-width padding it wrapped onto two lines and read as the main
   action, competing with the scan banner it is an alternative to. Same coral
   pill, same shadow, noticeably smaller. */
body.landlord-dashboard-page .landlord-sidebar-cta {
  justify-content: center;
  gap: 7px;
  width: 100%;
  min-height: 38px;
  margin-top: 6px;
  padding: 8px 14px;
  font-size: 13.5px;
  background: var(--ld-coral);
  color: #fff;
  box-shadow: 0 10px 20px rgba(233, 69, 73, .22);
}
body.landlord-dashboard-page .landlord-sidebar-cta svg { flex-shrink: 0; }
body.landlord-dashboard-page .landlord-notification-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 44px;
  margin-top: auto;
  padding: 10px 13px;
  border: 1px solid var(--ld-line);
  border-radius: 13px;
  background: #fff;
  color: var(--ld-muted);
  font-size: 14px;
  font-weight: 700;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
body.landlord-dashboard-page .landlord-notification-link:hover,
body.landlord-dashboard-page .landlord-notification-link:focus-visible {
  border-color: #efb1aa;
  background: #fff7f5;
  color: #b92f36;
}
body.landlord-dashboard-page .landlord-notification-link svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.landlord-dashboard-page .landlord-notification-link .notification-nav-count {
  display: grid;
  min-width: 22px;
  height: 22px;
  margin-left: auto;
  padding: 0 6px;
  place-items: center;
  border-radius: 999px;
  background: var(--ld-coral);
  color: #fff;
  font-size: 11px;
  line-height: 1;
}
body.landlord-dashboard-page .landlord-notification-link .notification-nav-count[hidden] { display: none; }
body.landlord-dashboard-page .site-header .account-menu { width: 100%; margin-top: 0; }
body.landlord-dashboard-page .site-header .account-menu summary {
  gap: 11px;
  min-height: 62px;
  padding: 10px 12px;
  border-radius: 15px;
  box-shadow: none;
}
body.landlord-dashboard-page .site-header .account-menu summary::after { content: none; }
body.landlord-dashboard-page .site-header .account-avatar {
  width: 38px;
  height: 38px;
  color: #a43135;
  background: #ffd8d2;
  font-size: 14px;
}
body.landlord-dashboard-page .account-summary-copy { display: grid; min-width: 0; }
body.landlord-dashboard-page .account-summary-copy strong {
  overflow: hidden;
  color: var(--ld-ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.landlord-dashboard-page .account-summary-copy small { color: #81736c; font-size: 11px; }

body.landlord-dashboard-page .landlord-dashboard-main {
  margin-left: 255px;
  padding: 35px 44px 72px;
}
body.landlord-dashboard-page .landlord-dashboard-main > * { max-width: 1072px; }
body.landlord-dashboard-page .account-footer { margin-left: 255px; }

body.landlord-dashboard-page .landlord-dashboard-heading {
  display: grid;
  grid-template-areas: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 24px;
  padding: 0;
  margin-bottom: 28px;
  color: var(--ld-ink);
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
body.landlord-dashboard-page .landlord-dashboard-identity > .role-dashboard-welcome { grid-area: auto; }
body.landlord-dashboard-page .role-dashboard-welcome h1 {
  margin: 18px 0 15px;
  color: var(--ld-ink);
  font-size: clamp(42px, 4.2vw, 58px);
  letter-spacing: -.045em;
  line-height: .97;
}
body.landlord-dashboard-page .role-dashboard-welcome p {
  max-width: 620px;
  margin: 0;
  color: #755548;
  font-size: 17px;
  line-height: 1.55;
}
body.landlord-dashboard-page .landlord-dashboard-identity .role-dashboard-welcome > p:last-child { color: #755548; }
body.landlord-dashboard-page .landlord-secure-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 13px;
  border-radius: 999px;
  color: #176c32;
  background: #d5f2d7;
  font-size: 12px;
  font-weight: 700;
}
body.landlord-dashboard-page .landlord-secure-badge > span { color: #20a04b; font-size: 10px; }
body.landlord-dashboard-page .landlord-new-request {
  min-height: 45px;
  padding-inline: 25px;
  background: var(--ld-coral);
  color: #fff;
  box-shadow: 0 14px 28px rgba(233, 69, 73, .24);
}

body.landlord-dashboard-page .scan-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 38px;
  min-height: 368px;
  padding: 39px 38px;
  margin-bottom: 34px;
  border-radius: 25px;
  overflow: hidden;
  background: linear-gradient(120deg, #e34247 0%, #da3741 57%, #c92538 100%);
  color: #fff;
  box-shadow: 0 28px 45px rgba(200, 43, 51, .2);
}
body.landlord-dashboard-page .scan-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -58px;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  background: rgba(255,255,255,.055);
  pointer-events: none;
}
body.landlord-dashboard-page .scan-hero:hover,
body.landlord-dashboard-page .scan-hero:focus-visible {
  box-shadow: 0 32px 56px rgba(200, 43, 51, .28);
}
body.landlord-dashboard-page .scan-hero-glow,
body.landlord-dashboard-page .scan-hero-grid,
body.landlord-dashboard-page .scan-hero-sweep,
body.landlord-dashboard-page .scan-hero-dot { display: none; }
body.landlord-dashboard-page .scan-hero-body { align-self: stretch; display: flex; flex-direction: column; min-width: 0; }
body.landlord-dashboard-page .scan-hero-eyebrow {
  margin-bottom: 17px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .23em;
}
body.landlord-dashboard-page .scan-hero-title {
  max-width: 560px;
  margin-bottom: 14px;
  color: #fff;
  font-family: var(--ld-display);
  font-size: clamp(31px, 3.1vw, 38px);
  line-height: .98;
  letter-spacing: -.035em;
}
body.landlord-dashboard-page .scan-hero-copy {
  max-width: 590px;
  margin-bottom: 20px;
  color: rgba(255,255,255,.94);
  font-size: 16px;
  line-height: 1.52;
}
body.landlord-dashboard-page .scan-hero-cta { gap: 16px; }
body.landlord-dashboard-page .scan-hero-button {
  padding: 15px 26px;
  color: #b91f30;
  background: #fff;
  box-shadow: 0 13px 28px rgba(113, 19, 31, .16);
}
body.landlord-dashboard-page .scan-hero:hover .scan-hero-button { color: #a61728; background: #fff; }
body.landlord-dashboard-page .scan-hero-time {
  max-width: 290px;
  color: rgba(255,255,255,.92);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}
body.landlord-dashboard-page .scan-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
}
body.landlord-dashboard-page .scan-hero-tags > span {
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}
body.landlord-dashboard-page .scan-hero-tags em { font-style: normal; font-weight: 400; opacity: .78; }
body.landlord-dashboard-page .scan-hero-frame {
  position: relative;
  z-index: 2;
  align-self: center;
  justify-self: center;
  width: 150px;
  height: 290px;
  aspect-ratio: auto;
  border: 8px solid #171416;
  border-radius: 29px;
  overflow: hidden;
  background: linear-gradient(180deg, #203e46 0%, #162c35 58%, #10242c 100%);
  box-shadow: 0 20px 33px rgba(76, 12, 20, .27);
}
body.landlord-dashboard-page .scan-hero-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 48%, rgba(102,255,171,.13), transparent 45%);
}
body.landlord-dashboard-page .scan-hero-reticle { inset: 16px; }
body.landlord-dashboard-page .scan-hero-reticle i {
  width: 22px;
  height: 22px;
  border-color: #82f4b3;
  border-width: 3px;
  box-shadow: none;
}
body.landlord-dashboard-page .scan-hero:hover .scan-hero-reticle { inset: 16px; }
body.landlord-dashboard-page .scan-hero:hover .scan-hero-reticle i { border-color: #82f4b3; box-shadow: none; }
body.landlord-dashboard-page .scan-hero-beam {
  position: absolute;
  top: 50%;
  left: 16px;
  right: 16px;
  height: 3px;
  border-radius: 999px;
  background: #75f3a9;
  box-shadow: 0 0 14px 3px rgba(117,243,169,.65);
  animation: landlordPhoneScan 3.2s ease-in-out infinite;
}
body.landlord-dashboard-page .scan-hero-frame strong {
  position: absolute;
  left: 25px;
  right: 25px;
  bottom: 20px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}
@keyframes landlordPhoneScan { 0%, 100% { transform: translateY(-42px); opacity: .5; } 50% { transform: translateY(46px); opacity: 1; } }

body.landlord-dashboard-page .landlord-booking-section {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.landlord-dashboard-page .landlord-section-toggle {
  width: 100%;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 14px;
  padding: 16px 20px;
  border: 1px solid var(--ld-line);
  border-radius: 18px;
  background: #fff;
  color: var(--ld-ink);
  box-shadow: var(--ld-card-shadow);
  font-family: var(--ld-display);
  font-size: clamp(18px, 2.3vw, 23px);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
body.landlord-dashboard-page .landlord-section-toggle:hover,
body.landlord-dashboard-page .landlord-section-toggle:focus-visible { border-color: var(--ld-coral); }
body.landlord-dashboard-page .landlord-section-toggle-meta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ld-coral);
  font-family: var(--ld-body);
  font-size: 15px;
}
body.landlord-dashboard-page .landlord-section-toggle[aria-expanded="true"] .landlord-section-toggle-meta > :last-child { transform: rotate(180deg); }
body.landlord-dashboard-page [data-landlord-section-content] { margin-bottom: 22px; }
body.landlord-dashboard-page .booking-section-heading { margin-bottom: 15px; }
body.landlord-dashboard-page .booking-section-heading .eyebrow { display: none; }
body.landlord-dashboard-page .booking-section-heading h2 { font-size: 25px; }
body.landlord-dashboard-page .landlord-booking-live { color: var(--ld-coral); }
body.landlord-dashboard-page .landlord-booking-live [data-landlord-booking-live] { color: #7a655d; }

@media (max-width: 900px) {
  body.landlord-dashboard-page .site-header { width: auto; }
  body.landlord-dashboard-page .site-header .shell.nav-wrap { padding: 14px 18px; }
  body.landlord-dashboard-page .landlord-dashboard-nav {
    order: 3;
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  body.landlord-dashboard-page .landlord-dashboard-nav::-webkit-scrollbar { display: none; }
  body.landlord-dashboard-page .landlord-dashboard-nav a { flex: 0 0 auto; }
  body.landlord-dashboard-page .landlord-sidebar-cta { order: 4; width: 100%; margin: 0; }
  body.landlord-dashboard-page .landlord-notification-link {
    order: 1;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0 0 0 auto;
    padding: 0;
  }
  body.landlord-dashboard-page .landlord-notification-link > span:not([data-notification-count]) { display: none; }
  body.landlord-dashboard-page .landlord-notification-link .notification-nav-count {
    position: absolute;
    top: -6px;
    right: -7px;
    min-width: 20px;
    height: 20px;
    padding-inline: 5px;
    border: 2px solid var(--ld-sidebar);
  }
  body.landlord-dashboard-page .site-header .account-menu { order: 2; margin-left: 0; }
  body.landlord-dashboard-page .landlord-dashboard-main,
  body.landlord-dashboard-page .account-footer { margin-left: 0; }
  body.landlord-dashboard-page .landlord-dashboard-main { padding: 25px 18px 58px; }
}

@media (max-width: 700px) {
  body.landlord-dashboard-page .landlord-dashboard-heading { grid-template-columns: 1fr; }
  body.landlord-dashboard-page .role-dashboard-welcome h1 { font-size: clamp(39px, 12vw, 51px); }
  body.landlord-dashboard-page .role-dashboard-welcome p br { display: none; }
  body.landlord-dashboard-page .landlord-new-request { justify-self: stretch; justify-content: center; }
  body.landlord-dashboard-page .scan-hero {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 28px 23px;
  }
  body.landlord-dashboard-page .scan-hero-frame { order: -1; width: 125px; height: 220px; }
  body.landlord-dashboard-page .scan-hero-copy { font-size: 15px; }
  body.landlord-dashboard-page .scan-hero-button { width: 100%; justify-content: center; }
  body.landlord-dashboard-page .scan-hero-time { max-width: none; }
  body.landlord-dashboard-page .landlord-section-toggle { min-height: 56px; padding: 14px 16px; }
}

@media (max-width: 460px) {
  body.landlord-dashboard-page .workspace-brand-copy strong { font-size: 18px; }
  body.landlord-dashboard-page .site-header .account-menu { width: auto; }
  body.landlord-dashboard-page .account-summary-copy { display: none; }
  body.landlord-dashboard-page .landlord-dashboard-nav a { padding-inline: 11px; }
  body.landlord-dashboard-page .scan-hero-tags { gap: 7px; }
  body.landlord-dashboard-page .scan-hero-tags > span { padding: 6px 10px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  body.landlord-dashboard-page .landlord-notification-link { transition: none; }
  body.landlord-dashboard-page .scan-hero-beam { animation: none; }
}

/* ══════════════════════════════════════════════════════════════════════════
 * "Manual request" stepped wizard (Landlord Dashboard design).
 *
 * The requests panel is presented as the design's single white card with a
 * step-dot header, one visible step at a time, Back/Next and a live draft
 * summary. All step-hiding is gated on `.pac-wizard-on`, which the wizard JS
 * adds — with JS off, every step is visible and the form works as one page.
 * ═══════════════════════════════════════════════════════════════════════ */

/* The panel itself stops being a card so `.pac-card` can be the single card. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"] {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

body.landlord-dashboard-page .pac-card {
  background: #fff;
  border: 1px solid var(--ld-line);
  border-radius: 26px;
  box-shadow: 0 20px 50px oklch(0.3 0.05 60 / 0.06);
  padding: clamp(22px, 3vw, 34px);
  margin-bottom: 22px;
}

body.landlord-dashboard-page .pac-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}
body.landlord-dashboard-page .pac-card-head h2 { font-weight: 800; font-size: clamp(23px, 2.6vw, 28px); margin: 2px 0 0; }
body.landlord-dashboard-page .pac-sub { margin: 8px 0 0; color: var(--ld-muted); font-size: 15px; max-width: 46ch; }

/* Telling the two entrances apart at a glance. The scan banner is red,
   camera-led and animated; this one is white and still, and carries a pen
   badge and three icon chips naming the manual steps. Icons rather than more
   prose because the choice is made in a glance, not a read. */
body.landlord-dashboard-page .pac-head-main { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
body.landlord-dashboard-page .pac-head-text { min-width: 0; }
body.landlord-dashboard-page .pac-head-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  margin-top: 2px;
  border-radius: 13px;
  border: 1px solid var(--ld-line);
  background: oklch(0.96 0.012 60);
  color: var(--ld-ink);
}
body.landlord-dashboard-page .pac-head-tags { display: none; }
body.landlord-dashboard-page .pac-head-art { display: none; }
body.landlord-dashboard-page .pac-head-tags > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid var(--ld-line);
  background: oklch(0.975 0.008 60);
  color: var(--ld-ink-2);
  font-size: 12px;
  font-weight: 600;
}
body.landlord-dashboard-page .pac-head-tags svg { flex-shrink: 0; opacity: .62; }
body.landlord-dashboard-page .pac-head-aside { display: flex; align-items: center; gap: 12px; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; }
body.landlord-dashboard-page .pac-head-aside .landlord-private-pill {
  background: oklch(0.92 0.05 150);
  color: oklch(0.4 0.1 150);
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 600;
}
body.landlord-dashboard-page .pac-reveal {
  border: 1.5px solid oklch(0.4 0.02 60 / 0.22);
  background: transparent;
  color: var(--ld-ink-2);
  border-radius: 999px;
  padding: 8px 16px;
  font-weight: 600;
  font-size: 13.5px;
  cursor: pointer;
}

/* Collapse toggle hides the working area, keeps the header + saved drafts. */
body.landlord-dashboard-page.pac-collapsed-host .pac-layout { display: none; }
body.landlord-dashboard-page .pac-card.pac-collapsed .pac-layout { display: none; }
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-layout { display: none; }

/* Collapsed, the card reads as a regular banner: eyebrow, heading, pill and
   the reveal button, nothing else. Hiding only `.pac-layout` left the form's
   own shell — `.landlord-record-form` carries its own border and background —
   floating under the subtitle as an empty box. The whole body goes instead,
   the padding tightens to banner height, and the header doubles as the
   expander so the banner behaves like every other disclosure. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-body { display: none; }

/* ══════════════════════════════════════════════════════════════════════════
 * The manual hero — the second front door, and an equal to the scan banner.
 *
 * Two routes start a clean, and a white strip under a full-bleed red banner
 * does not read as a choice: it reads as a footnote to the banner above it.
 * Collapsed, this panel becomes a hero of the same height, padding and radius,
 * so the page offers two doors rather than one door and a caption.
 *
 * Distinguishable at a glance, which is the point: the scan hero is red, its
 * artwork a phone, its motion a scanning beam. This one is deep ink with warm
 * amber light, its artwork a document, its motion a draft writing itself. Both
 * animations are transform and opacity only — a banner that repaints its own
 * layout every frame costs the whole page, and this one sits above a workspace
 * that is already fetching.
 * ═══════════════════════════════════════════════════════════════════════ */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-card {
  position: relative;
  overflow: hidden;
  min-height: 368px;
  padding: 39px 38px;
  border: 0;
  border-radius: 25px;
  background: linear-gradient(120deg, #241a20 0%, #34222b 54%, #4a2b33 100%);
  color: #fff;
  box-shadow: 0 28px 45px rgba(52, 24, 32, .26);
}
/* The warm light that keeps a dark banner from reading as switched off. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-card::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -58px;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,176,92,.20), transparent 70%);
  pointer-events: none;
}
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-card-head {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  grid-template-areas: "aside aside" "main art";
  gap: 20px 38px;
  align-items: stretch;
  margin-bottom: 0;
  cursor: pointer;
}
/* Content spread over the full height rather than floating in the middle of
   it: eyebrow and title at the top, the chips pushed to the foot, exactly as
   the scan hero distributes its own. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-main { align-items: flex-start; }
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-text {
  display: flex;
  flex: 1;
  flex-direction: column;
}
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-aside { grid-area: aside; }
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-main { grid-area: main; }
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-art { grid-area: art; }

body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .eyebrow { color: #ffb98a; }
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-card-head h2 {
  margin-top: 6px;
  font-family: var(--ld-display);
  font-size: clamp(31px, 3.1vw, 38px);
  line-height: .98;
  letter-spacing: -.035em;
  color: #fff;
}
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-sub {
  max-width: 44ch;
  margin-top: 13px;
  color: rgba(255,255,255,.9);
  font-size: 16px;
  line-height: 1.5;
}
/* The pen badge, lit rather than outlined, so it carries on a dark field. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-icon {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  border-color: rgba(255,255,255,.16);
  background: rgba(255,186,116,.16);
  color: #ffc796;
}
/* Only while collapsed — this is the banner where the choosing happens. Once
   the builder is open the form itself says all of this. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: auto;
  padding-top: 22px;
}
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-tags > span {
  padding: 7px 14px;
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.11);
  color: #fff;
}
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-tags svg { opacity: .85; color: #ffc796; }
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .landlord-private-pill {
  background: rgba(255,255,255,.14);
  color: #fff;
}
/* The reveal control is this hero's call to action, so it is sized like one. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-reveal {
  padding: 13px 24px;
  border: 0;
  background: #fff;
  color: #3a2129;
  font-size: 15px;
  font-weight: 800;
  box-shadow: 0 13px 28px rgba(24, 10, 14, .3);
}

/* The artwork: a draft writing itself, answering the scan hero's phone. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-art {
  position: relative;
  display: block;
  align-self: center;
  justify-self: center;
  width: 150px;
  height: 290px;
  border: 8px solid #171416;
  border-radius: 29px;
  overflow: hidden;
  background: linear-gradient(180deg, #fffdfb 0%, #f6ece5 60%, #f0e2d8 100%);
  box-shadow: 0 20px 33px rgba(38, 14, 20, .3);
}
body.landlord-dashboard-page .pac-art-doc {
  position: absolute;
  inset: 20px 18px 52px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 12px;
}
/* The draft is always ON the page. An earlier version typed each line in and
   cleared them to start again, which meant roughly a second in every cycle
   where the banner showed an empty document — indistinguishable, to someone
   arriving at that moment, from a broken image. The lines stay; the life comes
   from the warm pass of light moving down them and the caret. */
body.landlord-dashboard-page .pac-art-doc i {
  display: block;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e0574f, #ff9d5c);
}
body.landlord-dashboard-page .pac-art-doc i:last-of-type { opacity: .45; }
/* The caret, sitting where the next line would be written. */
body.landlord-dashboard-page .pac-art-doc b {
  position: absolute;
  left: 0;
  top: 104px;
  width: 3px;
  height: 16px;
  border-radius: 2px;
  background: #3a2129;
  animation: pacDraftCaret 1.05s steps(1) infinite;
}
/* The pass of light: this hero's answer to the scan beam, and the same
   discipline — transform and opacity only, nothing that lays out. */
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-art::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -60px;
  height: 60px;
  background: linear-gradient(180deg, transparent, rgba(255,169,92,.42), transparent);
  animation: pacDraftSweep 3.6s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}
@keyframes pacDraftSweep { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(300px); } }
@keyframes pacDraftCaret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-art strong {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  color: #6c4c3f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-card { min-height: 0; padding: 26px 22px; }
  /* Words first, then the button. Stacked, the desktop order put a large white
     call to action above the heading that explains it. */
  body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-card-head {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "main" "aside";
    gap: 18px;
    align-items: start;
  }
  body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-aside { justify-content: flex-start; }
  body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-tags { padding-top: 18px; }
  /* The artwork is the first thing to go: on a phone the words and the button
     are what the customer needs, and 290px of illustration pushes them under
     the fold. */
  body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-art { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.landlord-dashboard-page .landlord-workspace-panel[data-landlord-panel="requests"].pac-collapsed .pac-head-art::before { animation: none; opacity: 0; }
  body.landlord-dashboard-page .pac-art-doc b { animation: none; }
}

/* Two-column layout (main + summary) only once JS enables the wizard. */
body.landlord-dashboard-page .pac-layout { margin-top: 18px; }
body.landlord-dashboard-page.pac-wizard-host .pac-layout,
body.landlord-dashboard-page .pac-wizard-on .pac-layout,
body.landlord-dashboard-page .landlord-workspace-panel.pac-wizard-on .pac-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(18px, 2.4vw, 28px);
  align-items: start;
}
body.landlord-dashboard-page .pac-main { min-width: 0; }

/* Step-dot header. */
body.landlord-dashboard-page .pac-stepper { margin-bottom: 20px; }
body.landlord-dashboard-page .pac-dots { display: flex; gap: 7px; margin-bottom: 14px; }
body.landlord-dashboard-page .pac-dot {
  width: 22px;
  height: 6px;
  border-radius: 999px;
  border: 0;
  padding: 0;
  background: oklch(0.5 0.02 60 / 0.18);
  cursor: pointer;
  transition: width 0.2s ease, background 0.2s ease;
}
body.landlord-dashboard-page .pac-dot.is-done { background: oklch(0.62 0.19 25 / 0.45); }
body.landlord-dashboard-page .pac-dot.is-current { width: 32px; background: var(--ld-coral); }
body.landlord-dashboard-page .pac-step-count {
  margin: 0 0 6px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ld-muted-2);
}
body.landlord-dashboard-page .pac-step-title { font-weight: 800; font-size: clamp(20px, 2.4vw, 26px); margin: 0; }

/* Steps: stacked spacing, and one-at-a-time only when the wizard is on. */
body.landlord-dashboard-page .pac-step { display: flex; flex-direction: column; gap: 15px; }
body.landlord-dashboard-page .pac-step + .pac-step { margin-top: 22px; }
body.landlord-dashboard-page .pac-wizard-on .pac-step { margin-top: 0; }
body.landlord-dashboard-page .pac-wizard-on .pac-step:not(.is-active) { display: none; }
body.landlord-dashboard-page .pac-step-hint { margin: 0; color: var(--ld-muted-2); font-size: 14px; }

/* Back / Next. */
body.landlord-dashboard-page .pac-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 26px;
}
body.landlord-dashboard-page .pac-nav .pac-back { min-height: 44px; }
body.landlord-dashboard-page .pac-nav .pac-next { min-height: 44px; margin-left: auto; }
body.landlord-dashboard-page .pac-nav .pac-back:disabled { opacity: 0.4; cursor: default; }

/* Live draft summary (the design's "My basket", without an invented price). */
body.landlord-dashboard-page .pac-basket {
  background: oklch(0.98 0.008 90);
  border-radius: 22px;
  padding: 24px;
  box-shadow: inset 0 0 0 1px oklch(0.5 0.02 60 / 0.09);
  position: sticky;
  top: 20px;
}
body.landlord-dashboard-page .pac-basket-title {
  margin: 0 0 16px;
  text-align: center;
  font-family: var(--ld-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--ld-ink);
}
body.landlord-dashboard-page .pac-basket-lines { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px 14px; }
body.landlord-dashboard-page .pac-basket-lines dt { color: var(--ld-muted-2); font-size: 13.5px; }
body.landlord-dashboard-page .pac-basket-lines dd { margin: 0; text-align: right; font-weight: 600; font-size: 14px; color: var(--ld-ink-2); }
body.landlord-dashboard-page .pac-basket-note {
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--ld-line);
  font-size: 12.5px;
  color: var(--ld-muted-2);
  line-height: 1.5;
}

/* Speech card → the design's dashed green walkthrough panel. */
body.landlord-dashboard-page .landlord-speech-scope {
  border: 1px dashed oklch(0.5 0.14 150 / 0.4);
  border-radius: 20px;
  padding: 20px;
  background: oklch(0.98 0.02 150 / 0.4);
}
body.landlord-dashboard-page .landlord-speech-scope [data-speech-toggle] {
  background: oklch(0.7 0.16 150);
  color: #06301f;
  border: 0;
  box-shadow: 0 10px 22px oklch(0.7 0.16 150 / 0.32);
}
body.landlord-dashboard-page .landlord-speech-scope [data-speech-toggle]::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: #06301f;
  vertical-align: middle;
  animation: pac-pulse 1.8s ease-in-out infinite;
}

/* Checklist bullets as clean rows with a coral marker. */
body.landlord-dashboard-page .landlord-checklist-review { padding-top: 2px; }
body.landlord-dashboard-page .landlord-task-preview { display: flex; flex-direction: column; gap: 8px; }
body.landlord-dashboard-page .landlord-task-preview [role="listitem"] {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14.5px;
  color: var(--ld-muted);
}
body.landlord-dashboard-page .landlord-task-preview [role="listitem"]::before {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  margin-top: 7px;
  border-radius: 50%;
  background: var(--ld-coral);
}

@keyframes pac-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 oklch(0.7 0.16 150 / 0.5); }
  50% { transform: scale(1.25); box-shadow: 0 0 0 6px oklch(0.7 0.16 150 / 0); }
}

@media (max-width: 820px) {
  body.landlord-dashboard-page .pac-wizard-on .pac-layout,
  body.landlord-dashboard-page .landlord-workspace-panel.pac-wizard-on .pac-layout { grid-template-columns: 1fr; }
  body.landlord-dashboard-page .pac-basket { position: static; }
  body.landlord-dashboard-page .pac-card-head { flex-direction: column; }
  body.landlord-dashboard-page .pac-head-aside { justify-content: flex-start; }
  body.landlord-dashboard-page .pac-nav .button { flex: 1 1 auto; min-width: 44%; }
}

@media (prefers-reduced-motion: reduce) {
  body.landlord-dashboard-page .landlord-speech-scope [data-speech-toggle]::before { animation: none; }
  body.landlord-dashboard-page .pac-dot { transition: none; }
}

/* ── Design step inputs: cards, duration grid, calendar, time slots ────── */

/* The native control each widget replaces stays in the DOM (so it still
 * submits and existing JS/tests keep working) but is visually removed. */
body.landlord-dashboard-page .pac-enhanced-native { display: none; }

body.landlord-dashboard-page .pac-field-error { margin: 10px 2px 0; color: var(--ld-coral); font-size: 13.5px; font-weight: 600; }

/* Cleaning-session cards. */
body.landlord-dashboard-page .pac-cards { display: flex; flex-direction: column; gap: 12px; }
body.landlord-dashboard-page .pac-card-option {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  text-align: left;
  background: #fff;
  border: 1.5px solid var(--ld-line);
  border-radius: 16px;
  padding: 15px 18px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
body.landlord-dashboard-page .pac-card-option:hover { border-color: oklch(0.5 0.02 60 / 0.32); }
body.landlord-dashboard-page .pac-card-option.is-selected {
  border-color: var(--ld-coral);
  box-shadow: inset 0 0 0 1px var(--ld-coral), 0 10px 26px oklch(0.62 0.19 25 / 0.14);
  background: oklch(0.985 0.014 25);
}
body.landlord-dashboard-page .pac-card-emoji {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 12px;
  background: oklch(0.94 0.05 25);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
}
body.landlord-dashboard-page .pac-card-body { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
body.landlord-dashboard-page .pac-card-name { font-family: var(--ld-display); font-weight: 700; font-size: 16.5px; color: var(--ld-ink-2); }
body.landlord-dashboard-page .pac-card-desc { font-size: 13.5px; color: var(--ld-muted-2); }
body.landlord-dashboard-page .pac-card-badge {
  flex-shrink: 0;
  font-size: 11.5px; font-weight: 700;
  padding: 5px 11px; border-radius: 8px;
  background: oklch(0.9 0.13 95); color: oklch(0.44 0.12 78);
}

/* Duration grid. */
body.landlord-dashboard-page .pac-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
body.landlord-dashboard-page .pac-chip {
  padding: 16px 8px;
  border-radius: 14px;
  border: 1.5px solid var(--ld-line);
  background: #fff;
  font-family: var(--ld-display); font-weight: 700; font-size: 15px;
  color: var(--ld-ink-2);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
body.landlord-dashboard-page .pac-chip:hover { border-color: oklch(0.5 0.02 60 / 0.32); }
body.landlord-dashboard-page .pac-chip.is-selected { border-color: var(--ld-coral); background: var(--ld-coral); color: #fff; }
body.landlord-dashboard-page .pac-tip {
  margin: 16px 0 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: oklch(0.96 0.03 95);
  color: oklch(0.42 0.05 70);
  font-size: 14px; line-height: 1.5;
}

/* Time slots. */
body.landlord-dashboard-page .pac-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 10px; }
body.landlord-dashboard-page .pac-slot {
  padding: 12px 6px;
  border-radius: 12px;
  border: 1.5px solid var(--ld-line);
  background: #fff;
  font-weight: 600; font-size: 14px;
  color: var(--ld-ink-2);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
body.landlord-dashboard-page .pac-slot:hover { border-color: oklch(0.5 0.02 60 / 0.32); }
body.landlord-dashboard-page .pac-slot.is-selected { border-color: var(--ld-coral); background: var(--ld-coral); color: #fff; }

/* Calendar. */
body.landlord-dashboard-page .pac-cal {
  background: oklch(0.98 0.006 90);
  border-radius: 20px;
  padding: 20px;
  box-shadow: inset 0 0 0 1px oklch(0.5 0.02 60 / 0.09);
  max-width: 380px;
}
body.landlord-dashboard-page .pac-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
body.landlord-dashboard-page .pac-cal-title { font-family: var(--ld-display); font-weight: 700; font-size: 16px; color: var(--ld-ink-2); }
body.landlord-dashboard-page .pac-cal-nav {
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 1.5px solid oklch(0.5 0.02 60 / 0.25);
  background: #fff;
  color: var(--ld-muted);
  font-size: 18px; line-height: 1;
  cursor: pointer;
}
body.landlord-dashboard-page .pac-cal-nav:disabled { opacity: 0.35; cursor: default; }
body.landlord-dashboard-page .pac-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
body.landlord-dashboard-page .pac-cal-weekday { text-align: center; font-size: 11.5px; font-weight: 700; color: var(--ld-muted-2); padding: 4px 0; }
body.landlord-dashboard-page .pac-cal-day {
  aspect-ratio: 1;
  border: 0; background: transparent;
  border-radius: 10px;
  font-size: 14px; color: var(--ld-ink-2);
  cursor: pointer;
}
body.landlord-dashboard-page .pac-cal-day:hover:not(:disabled) { background: oklch(0.92 0.04 25); }
body.landlord-dashboard-page .pac-cal-day.is-disabled { color: oklch(0.72 0.02 60); cursor: default; }
body.landlord-dashboard-page .pac-cal-day.is-selected { background: var(--ld-coral); color: #fff; font-weight: 700; }

/* "My basket" summary (address + cleaning bullets, no invented price). */
body.landlord-dashboard-page .pac-basket-address {
  display: flex; gap: 10px; align-items: flex-start;
  margin: 0 0 14px; padding-bottom: 14px;
  border-bottom: 1px solid var(--ld-line);
  font-weight: 600; font-size: 14px; color: var(--ld-ink-2);
}
body.landlord-dashboard-page .pac-basket-pin { width: 10px; height: 10px; border-radius: 50%; border: 3px solid var(--ld-coral); margin-top: 4px; flex-shrink: 0; }
body.landlord-dashboard-page .pac-basket-section { padding-bottom: 16px; border-bottom: 1px solid var(--ld-line); }
body.landlord-dashboard-page .pac-basket-heading { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; font-family: var(--ld-display); font-weight: 700; font-size: 15.5px; color: var(--ld-ink-2); }
body.landlord-dashboard-page .pac-basket-cart { width: 26px; height: 26px; border-radius: 8px; background: oklch(0.94 0.05 25); display: flex; align-items: center; justify-content: center; font-size: 14px; }
body.landlord-dashboard-page .pac-basket-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
body.landlord-dashboard-page .pac-basket-lines li { display: flex; gap: 9px; align-items: flex-start; font-size: 14px; color: var(--ld-muted); }
body.landlord-dashboard-page .pac-basket-lines li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--ld-coral); margin-top: 7px; flex-shrink: 0; }
body.landlord-dashboard-page .pac-basket-lines li.pac-basket-empty { color: var(--ld-muted-2); font-style: italic; }
body.landlord-dashboard-page .pac-basket-lines li.pac-basket-empty::before { display: none; }

@media (max-width: 820px) {
  body.landlord-dashboard-page .pac-chips { grid-template-columns: repeat(2, 1fr); }
}
