.site-flash {
  position: relative;
  z-index: 5;
  padding: 0.8rem 5vw;
  text-align: center;
  font-weight: 700;
  color: #173022;
  background: #d9ff72;
}

.site-flash.error { color: #7b1d1d; background: #ffe1dc; }

.market-main { min-height: 65vh; }

.search-hero,
.listing-hero {
  padding: clamp(4rem, 8vw, 7rem) 0;
  color: #fff;
  background: #17291f;
}

/* Keep the complete search input flow visible on a standard desktop viewport. */
.search-hero { padding: clamp(2rem, 4vw, 3rem) 0; }

.search-hero h1,
.listing-hero h1,
.provider-cta h2 {
  margin: 0 0 1rem;
  color: #fff;
  font: 800 clamp(2.8rem, 6vw, 5.5rem)/0.98 Manrope, sans-serif;
  letter-spacing: -0.055em;
}

.search-hero > .shell > p:not(.kicker),
.listing-hero-grid > div > p {
  max-width: 46rem;
  color: #c6d2ca;
  font-size: 1.08rem;
  line-height: 1.7;
}

.market-search {
  display: grid;
  grid-template-columns: minmax(12rem, 1.6fr) repeat(4, minmax(8.5rem, 1fr)) auto;
  gap: 0.8rem;
  align-items: end;
  margin-top: 2.25rem;
  padding: 1.1rem;
  color: #17291f;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.market-search label {
  display: grid;
  gap: 0.38rem;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.market-search label span { color: #78827c; font-size: .68rem; }

.market-search input,
.market-search select,
.status-form select {
  width: 100%;
  min-height: 3.2rem;
  padding: 0 .8rem;
  color: #17291f;
  border: 1px solid #ccd3cf;
  border-radius: .6rem;
  background: #f9fbfa;
  font: 600 .92rem DM Sans, sans-serif;
}

.market-search .button { min-height: 3.2rem; white-space: nowrap; }

.home-search-section {
  padding: clamp(4rem, 8vw, 7rem) 0;
  color: #fff;
  background: #284b37;
}

.home-search-section .section-heading h2 { color: #fff; }
.home-search-section .section-heading > p { color: #c6d2ca; }
.home-market-search { grid-template-columns: 1.5fr repeat(4, 1fr) auto; }
.home-market-search .button-light { color: #17291f; background: #d9ff72; }

.result-section { padding: 4rem 0 7rem; }

.result-heading,
.dashboard-heading,
.editor-heading,
.section-bar {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
  margin-bottom: 2rem;
}

.result-heading h2,
.dashboard-heading h1,
.editor-heading h1 {
  margin: .3rem 0 0;
  font: 800 clamp(2rem, 4vw, 3.4rem)/1 Manrope, sans-serif;
  letter-spacing: -.045em;
}

.result-heading > p { max-width: 28rem; color: #69766f; }

.market-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.market-card {
  overflow: hidden;
  border: 1px solid #dce2de;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 36px rgba(23,41,31,.07);
}

.market-card-visual {
  display: flex;
  align-items: end;
  min-height: 11rem;
  padding: 1rem;
  background:
    linear-gradient(135deg, transparent 50%, rgba(255,255,255,.16) 50%),
    repeating-linear-gradient(90deg, #315942 0, #315942 2.8rem, #294c38 2.8rem, #294c38 3rem);
}

.market-card-visual span {
  padding: .45rem .7rem;
  border-radius: 99rem;
  color: #173022;
  background: #d9ff72;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.market-card-body { padding: 1.25rem; }
.market-card-body h3 { margin: .25rem 0 .6rem; font: 800 1.35rem/1.18 Manrope, sans-serif; }
.market-card-body h3 a { color: #17291f; text-decoration: none; }
.market-card-body > p:not(.card-eyebrow) { min-height: 2.6rem; color: #69766f; }

.market-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #e6eae8;
}

.match-badge{display:inline-flex;align-items:center;width:max-content;margin:0 0 .65rem;padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.02em;background:#e8f5cf;color:#284512}.match-badge.smaller{background:#fff0cc;color:#6b4b00}.match-badge.larger{background:#dcecff;color:#173f70}.market-fit,.identity-note{color:#617067}.identity-note{display:block;margin-top:.85rem;line-height:1.45}.alternative-warning{padding:.65rem .75rem;border-left:3px solid #d59100;background:#fff8e7;font-size:.85rem}.truthful-urgency{display:flex;gap:.45rem;align-items:center;color:#9d2e23;font-weight:800}.truthful-urgency span{font-size:.65rem}.anonymous-provider{display:flex;flex-direction:column;gap:.15rem}.anonymous-provider span{font-size:.85rem;opacity:.82}.availability-summary{padding:1rem;border-radius:12px;background:#edf6ef}.form-alert.neutral{background:#eef5ff;border-color:#9bbdea;color:#173f70}.booking-summary{display:grid;gap:.75rem;margin:1.5rem 0;text-align:left}.booking-summary div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid #dfe7e1}.booking-summary dt{color:#617067}.booking-summary dd{margin:0;font-weight:700;text-align:right}.revealed-details{margin-top:1.25rem;padding:1.25rem;border-radius:16px;background:#edf6ef;text-align:left}.revealed-details h2{margin-top:0}.hold-note,.payment-assurance{font-size:.85rem;color:#617067}.broker-dashboard .priority-form{display:flex;flex-wrap:wrap;gap:.45rem;align-items:end}.broker-dashboard .priority-form label{display:grid;gap:.2rem;font-size:.72rem}.broker-dashboard .priority-form input{width:78px;padding:.45rem}.status-pill.pending,.status-pill.accepted{background:#fff0cc;color:#6b4b00}.status-pill.approved{background:#e8f5cf;color:#284512}.status-pill.rejected,.status-pill.failed,.status-pill.expired{background:#fee4df;color:#8a241b}.status-pill.active,.status-pill.confirmed{background:#e8f5cf;color:#284512}

.market-card-footer > span { color: #69766f; font-size: .8rem; }
.market-card-footer > span strong { display: block; color: #17291f; font: 800 1.6rem Manrope, sans-serif; }

.center-action { margin-top: 2rem; text-align: center; }

.empty-state {
  padding: 5rem 2rem;
  text-align: center;
  border: 1px dashed #b9c5be;
  border-radius: 1rem;
  background: #f7f9f8;
}
.empty-state.compact { padding: 2rem; }
.empty-state h2, .empty-state h3 { margin-top: 0; }
.empty-state p { margin-bottom: 0; color: #69766f; }

.provider-cta { padding: 5rem 0; color: #fff; background: #c95735; }
.provider-cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 3rem; }
.provider-cta h2 { font-size: clamp(2.5rem, 5vw, 4.5rem); }
.provider-cta p:not(.kicker) { max-width: 45rem; color: #ffe3da; font-size: 1.05rem; line-height: 1.7; }
.size-guide-section { background: #f5f7f5; }

.listing-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 4rem;
  align-items: center;
}

.listing-provider {
  display: inline-flex;
  gap: .4rem;
  margin-top: 1.2rem;
  padding: .6rem .8rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .6rem;
  color: #dfe9e2;
}

.price-panel {
  padding: 1.5rem;
  color: #17291f;
  border-radius: 1rem;
  background: #d9ff72;
}
.price-panel > span, .price-panel > small { display: block; font-weight: 700; }
.price-panel > strong { display: block; margin: .2rem 0; font: 800 3.5rem Manrope, sans-serif; }
.price-panel .button { display: flex; justify-content: center; margin-top: 1.3rem; color: #fff; background: #17291f; }

.listing-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 30rem);
  gap: 4rem;
  align-items: start;
  padding-top: 4rem;
  padding-bottom: 7rem;
}

.listing-details h2 { margin: 0 0 1.2rem; font: 800 1.8rem Manrope, sans-serif; }
.listing-details h2:not(:first-child) { margin-top: 3rem; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; padding: 1px; border-radius: .8rem; background: #dfe4e1; }
.detail-grid div { padding: 1.1rem; background: #fff; }
.detail-grid dt { color: #77837c; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.detail-grid dd { margin: .35rem 0 0; font-weight: 700; }

.availability-list, .period-list { display: grid; gap: .75rem; }
.availability-list > span,
.period-list article {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #dfe4e1;
  border-radius: .7rem;
  background: #fff;
}
.availability-list strong, .period-list span { color: #568113; font-size: .85rem; }
.marketplace-booking { position: sticky; top: 1.5rem; }
.vehicle-request-context { display: grid; gap: .2rem; margin: 1rem 0; padding: .8rem; border-left: 3px solid #d9ff72; background: #eef5e8; color: #173022; }
.vehicle-request-context span { color: #617067; font-size: .82rem; }
.vehicle-listing .price-panel { box-shadow: 0 10px 0 #a9d936; }
.marketplace-booking h2 { margin-top: .25rem; }

.payment-stage {
  display: grid;
  place-items: center;
  min-height: calc(100svh - 5.25rem);
  padding: clamp(3rem, 8vw, 7rem) 1.25rem;
  background: #f7f3ea;
}
.payment-card {
  width: min(100%, 31rem);
  padding: clamp(2rem, 6vw, 3.5rem);
  text-align: center;
  border: 1px solid #dfe4e1;
  border-radius: 1rem;
  background: #fffdf8;
  box-shadow: 14px 14px 0 #d9ff72, 0 22px 60px rgba(23,41,31,.1);
}
.payment-card h1 { margin: .35rem 0 .8rem; font: 800 clamp(2.2rem, 6vw, 3.4rem)/1 Manrope, sans-serif; letter-spacing: -.045em; }
.payment-card > p:not(.form-kicker, .payment-assurance) { margin: 0 auto; max-width: 24rem; color: #5f6d65; line-height: 1.65; }
.payment-icon { display: grid; place-items: center; width: 4.2rem; height: 4.2rem; margin: 0 auto 1.25rem; border: 2px solid #17291f; border-radius: 50%; background: #d9ff72; font: 800 1.8rem Manrope, sans-serif; }
.payment-total { display: block; margin: 1.2rem 0 1.35rem; font: 800 clamp(2.6rem, 8vw, 4rem)/1 Manrope, sans-serif; letter-spacing: -.04em; }
.payment-button { display: flex; justify-content: center; align-items: center; gap: 1rem; width: 100%; margin-top: 1.25rem; padding: 1.15rem 1.25rem; font-size: 1rem; box-shadow: 0 7px 0 #a9d936; }
.payment-button:hover { transform: translateY(-2px); box-shadow: 0 9px 0 #a9d936; }
.payment-assurance { margin: 1.25rem 0 0; color: #77837c; font-size: .78rem; }
.payment-card .form-alert { text-align: left; }
.payment-card .text-button { display: inline-flex; margin-top: 1.75rem; }
.confirmation-reference { display: grid; gap: .45rem; margin: 1.7rem 0 .5rem; padding: 1rem; border: 1px dashed #17291f; background: #fff; }
.confirmation-reference span { color: #77837c; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.confirmation-reference strong { font: 800 clamp(1.35rem, 5vw, 1.8rem) Manrope, sans-serif; letter-spacing: .04em; }

.auth-page {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(28rem, 1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
  min-height: 70vh;
  padding-top: 5rem;
  padding-bottom: 6rem;
}
.auth-copy h1 { margin: .5rem 0 1.2rem; font: 800 clamp(3rem, 6vw, 5.3rem)/.98 Manrope, sans-serif; letter-spacing: -.055em; }
.auth-copy > p:last-child { max-width: 35rem; color: #69766f; font-size: 1.08rem; line-height: 1.7; }
.auth-card, .editor-card {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid #dfe4e1;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 50px rgba(23,41,31,.08);
}
.auth-card h2 { margin-top: 0; font: 800 2rem Manrope, sans-serif; }
.auth-switch { margin: 1.3rem 0 0; text-align: center; }
.auth-switch a { color: #315942; font-weight: 800; }
.secondary-button { margin-top: .45rem; padding: .65rem .8rem; color: #315942; border: 1px solid #315942; border-radius: .45rem; background: #fff; font: 800 .8rem DM Sans, sans-serif; cursor: pointer; }
.secondary-button:disabled { opacity: .55; cursor: wait; }
.abn-status { display: block; margin-top: .45rem; color: #69766f; font-size: .76rem; line-height: 1.4; }
.abn-status.success { color: #39720f; }
.abn-status.error { color: #9a3524; }
.abn-status.pending { color: #856d12; }
.abn-status a { color: inherit; font-weight: 800; }

.dashboard-page, .editor-page { padding-top: 4rem; padding-bottom: 7rem; }
.dashboard-heading { align-items: center; }
.dashboard-heading p, .editor-heading p { color: #69766f; }
.dashboard-actions, .row-actions { display: flex; gap: 1rem; align-items: center; }
.dashboard-actions form { margin: 0; }
.dashboard-jump { display: flex; gap: .45rem; margin: 2.25rem 0 0; padding: .4rem; border: 1px solid #dfe4e1; border-radius: .8rem; background: #f7f9f8; }
.dashboard-jump a { display: flex; gap: .5rem; align-items: center; padding: .65rem .9rem; color: #315942; border-radius: .5rem; font-size: .84rem; font-weight: 800; text-decoration: none; }
.dashboard-jump a:hover { background: #fff; }
.dashboard-jump span { display: grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 .35rem; color: #17291f; border-radius: 99rem; background: #d9ff72; font-size: .68rem; }
.dashboard-overview { margin-top: 2rem; padding: clamp(1.25rem, 3vw, 2rem); color: #fff; border-radius: 1rem; background: #17291f; }
.overview-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.25rem; }
.overview-heading h2 { margin: .15rem 0 0; color: #fff; font: 800 1.7rem Manrope, sans-serif; }
.overview-heading > span { color: #b9c5be; font-size: .78rem; }
.section-label { margin: 0 0 .25rem; color: #718078; font-size: .66rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.dashboard-overview .section-label { color: #aeca9c; }
.summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; }
.summary-card { min-width: 0; padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: .7rem; background: rgba(255,255,255,.055); }
.summary-card > span, .summary-card small { display: block; }
.summary-card > span { color: #c3cec7; font-size: .72rem; font-weight: 700; }
.summary-card strong { display: block; margin: .4rem 0 .3rem; font: 800 clamp(1.9rem, 4vw, 2.6rem)/1 Manrope, sans-serif; }
.summary-card small { color: #97a69d; font-size: .7rem; line-height: 1.35; }
.summary-card.occupied-card { border-top: 3px solid #8cccea; }
.summary-card.vacant-card { border-top: 3px solid #f5b8cf; }
.summary-card.reserved-card { border-top: 3px solid #f5b8cf; }
.summary-card.available-card { border-top: 3px solid #d9ff72; }
.summary-card.request-card { border-top: 3px solid #f3a26e; }
.dashboard-section { margin-top: 3rem; }
.section-bar { align-items: center; padding-bottom: 1rem; border-bottom: 1px solid #dfe4e1; }
.section-bar > div { min-width: 0; }
.section-bar h2 { margin: 0; font: 800 1.7rem Manrope, sans-serif; }
.section-bar span { color: #69766f; }
.dashboard-list { display: grid; gap: .75rem; }
.dashboard-list article { display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding: 1.25rem; border: 1px solid #dfe4e1; border-radius: .8rem; }
.dashboard-list h3 { margin: .45rem 0 .25rem; }
.dashboard-list p { margin: 0; color: #69766f; }
.dashboard-listing-main { min-width: 0; }
.dashboard-periods { display: grid; gap: .35rem; margin-top: .85rem; }
.dashboard-periods span { display: block; padding: .45rem .6rem; color: #315942; border-radius: .4rem; background: #f0f7e7; font-size: .78rem; }
.dashboard-periods strong { margin-left: .35rem; color: #568113; }
.dashboard-no-availability { display: block; margin-top: .8rem; color: #9a5b23; }
.row-actions a { color: #315942; font-weight: 800; }

.status-pill { display: inline-block; padding: .28rem .5rem; color: #5c5440; border-radius: 99rem; background: #f1ead4; font-size: .68rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.status-pill.published, .status-pill.confirmed, .status-pill.available { color: #315d0d; background: #e0f7c5; }
.status-pill.occupied { color: #24566d; background: #d9f1fc; }
.status-pill.booked { color: #24566d; background: #d9f1fc; }
.status-pill.upcoming { color: #6d5918; background: #fff2bb; }
.status-pill.vacated { color: #5f6c65; background: #e9eeeb; }
.status-pill.unavailable { color: #5f6c65; background: #e9eeeb; }
.status-pill.paused, .status-pill.declined, .status-pill.cancelled { color: #7d3224; background: #fbe0d8; }

.booking-table-wrap, .management-table-wrap { overflow-x: auto; }
.booking-table, .management-table { width: 100%; border-collapse: collapse; }
.booking-table th, .booking-table td, .management-table th, .management-table td { padding: 1rem .8rem; text-align: left; border-bottom: 1px solid #e1e6e3; vertical-align: top; }
.booking-table th, .management-table th { color: #6e7a73; background: #f7f9f8; font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.booking-table td small, .management-table td small { display: block; margin-top: .3rem; color: #69766f; line-height: 1.45; }
.management-table tbody tr:hover { background: #fbfcfb; }
.management-table td { font-size: .86rem; }
.management-table .status-pill { margin-top: .5rem; }
.unit-name { min-width: 12rem; }
.unit-name > strong { display: block; font: 800 .96rem Manrope, sans-serif; }
.rate-cell strong { white-space: nowrap; font: 800 1rem Manrope, sans-serif; }
.occupancy-track { width: 7.5rem; height: .38rem; margin-top: .55rem; overflow: hidden; border-radius: 99rem; background: #e3e8e5; }
.occupancy-track span { display: block; height: 100%; border-radius: inherit; background: #315942; }
.table-actions { display: flex; min-width: 7.5rem; flex-direction: column; gap: .35rem; }
.table-actions a, .contact-link { color: #315942; font-weight: 800; }
.muted-dash { color: #9aa49e; font-size: 1.3rem; }
.status-form { display: flex; gap: .4rem; }
.status-form select { min-height: 2.4rem; padding: 0 .4rem; }
.status-form button { padding: 0 .65rem; border: 0; border-radius: .4rem; background: #17291f; color: #fff; font-weight: 700; cursor: pointer; }
.compact-status-form { margin-top: .65rem; }
.vacate-form { margin-top: .65rem; padding: .65rem; border: 1px solid var(--line); background: #f7f8f4; }
.vacate-form label { display: grid; gap: .2rem; margin-top: .35rem; font-size: .68rem; }
.vacate-form label:first-of-type { margin-top: 0; }
.vacate-form input { width: 100%; min-width: 0; padding: .4rem; }
.vacate-form button { margin-top: .55rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.empty-state .button { display: inline-block; margin-top: 1.25rem; }
.no-match-request > p { margin-bottom: 1.5rem; }
.no-match-request-form { max-width: 44rem; margin: 1.5rem auto 0; text-align: left; }
.no-match-request-form .form-actions { justify-content: flex-end; }
.no-match-request-form .check-label { margin-top: 1rem; }.bedroom-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-top: 1.2rem; }
.bedroom-choice { position: relative; display: grid; gap: .4rem; min-height: 9rem; padding: 1rem; border: 1px solid #bfcac2; border-radius: .6rem; background: #fff; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.bedroom-choice:hover { border-color: #17291f; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(23,41,31,.1); }
.bedroom-choice input { position: absolute; opacity: 0; pointer-events: none; }
.bedroom-choice:has(input:checked) { border-color: #17291f; box-shadow: inset 0 0 0 2px #d9ff72; background: #f1f5ee; }
.bedroom-choice:focus-within { outline: 3px solid rgba(140,204,234,.55); }
.bedroom-choice-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: #17291f; color: #fff; font: 800 1rem Manrope, sans-serif; }
.bedroom-choice strong { font: 800 1rem Manrope, sans-serif; }
.bedroom-choice small { color: #68766e; line-height: 1.35; }
@media(max-width:700px){.bedroom-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bedroom-choice{min-height:8rem;padding:.8rem}}

.editor-heading { align-items: center; }
.editor-heading > a, .editor-heading .row-actions a { color: #315942; font-weight: 800; }
.editor-card { max-width: 62rem; margin: 0 auto; }
.editor-card fieldset { margin: 0 0 2rem; padding: 0 0 2rem; border: 0; border-bottom: 1px solid #dfe4e1; }
.ranking-panel { margin: 1rem 0 1.4rem; padding: 1rem; background: #f3f7e1; border-left: 4px solid var(--lime); }
.ranking-panel > strong { display: block; margin-bottom: .35rem; }
.ranking-panel .form-note { margin: .35rem 0 .75rem; padding: 0; background: transparent; }
.ranking-list { margin: 0; padding: 0; list-style: none; border: 1px solid #dfe4e1; background: #fff; }
.ranking-list li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .7rem .8rem; border-bottom: 1px solid #dfe4e1; }
.ranking-list li:last-child { border-bottom: 0; }
.ranking-list li.current { background: #efffb1; font-weight: 700; }
.ranking-list li > span:first-child { display: flex; flex-direction: column; gap: .15rem; }
.ranking-list li small { color: #68766d; font-weight: 400; }
.ranking-list .table-actions { display: flex; gap: .65rem; }
.unit-table th:nth-child(2), .unit-table td:nth-child(2) {
  width: 10rem;
  text-align: center !important;
  vertical-align: middle;
}
.unit-table td:nth-child(2) .rank-cell {
  width: 100%;
  min-width: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .25rem;
}
.unit-table td:nth-child(2) .rank-cell > small {
  width: 100%;
  min-width: 0;
  text-align: center;
}
.rank-control { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: .05rem; min-width: 2.7rem; }
.rank-control form { margin: 0; line-height: 1; }
.rank-control strong { font-size: .95rem; line-height: 1.15; }
.rank-arrow { border: 0; background: transparent; color: var(--ink); cursor: pointer; font: 800 1rem/1 "Manrope", sans-serif; padding: .05rem .35rem; }
.rank-arrow:hover:not(:disabled) { color: #6a8d00; transform: scale(1.15); }
.rank-arrow:disabled { color: #b9c3bc; cursor: default; }
.ranking-list li { align-items: center; }
.ranking-list li > span:first-child { order: 1; flex: 1; }
.ranking-list li > .rank-control { order: 2; }


.editor-card legend { margin-bottom: 1.3rem; font: 800 1.4rem Manrope, sans-serif; }
.editor-card h2 { margin-top: 0; }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.availability-manager { display: grid; gap: 1.5rem; }
.availability-manager .editor-card { width: 100%; }
.period-list article { align-items: center; }
.period-list article > div { display: grid; gap: .25rem; }
.danger-link { padding: .4rem; color: #a63824; border: 0; background: transparent; font: 800 .8rem DM Sans, sans-serif; cursor: pointer; }

.simple-page { min-height: 55vh; padding-top: 6rem; padding-bottom: 6rem; }
.simple-page h1 { font: 800 clamp(2.5rem, 5vw, 4rem) Manrope, sans-serif; }
.date-availability-note { margin: 18px 0 15px; color: #69766f; font-size: .76rem; line-height: 1.45; }
.move-out-label { position: relative; }
.move-out-label > span {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 2;
  width: max-content;
  max-width: 100%;
  color: #b33a2b;
  font-size: .7rem;
  line-height: 1.35;
  visibility: hidden;
  opacity: 0;
  transition: opacity .15s ease;
}
.move-out-label:hover > span, .move-out-label:focus-within > span { visibility: visible; opacity: 1; }

@media (max-width: 1000px) {
  .market-search, .home-market-search { grid-template-columns: 1fr 1fr; }
  .market-search .button { width: 100%; }
  .market-grid { grid-template-columns: 1fr 1fr; }
  .listing-content { grid-template-columns: 1fr; }
  .marketplace-booking { position: static; }
  .auth-page { grid-template-columns: 1fr; }
  .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .market-search, .home-market-search, .market-grid, .listing-hero-grid, .detail-grid, .form-grid.three { grid-template-columns: 1fr; }
  .result-heading, .dashboard-heading, .editor-heading, .provider-cta-inner, .dashboard-list article { align-items: flex-start; flex-direction: column; }
  .listing-hero-grid { gap: 2rem; }
  .price-panel { width: 100%; }
  .listing-content { padding-top: 2.5rem; }
  .auth-page { grid-template-columns: minmax(0, 1fr); padding-top: 3rem; }
  .auth-card { padding: 1.25rem; }
  .dashboard-actions, .row-actions, .dashboard-jump { flex-wrap: wrap; }
  .dashboard-actions { width: 100%; justify-content: space-between; }
  .dashboard-overview { margin-top: 1.25rem; }
  .overview-heading { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .summary-card:first-child { grid-column: 1 / -1; }
  .booking-table, .management-table { min-width: 800px; }
  .section-bar { align-items: flex-start; }
}


/* Provider availability planning view */
.planning-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; max-width: 62rem; margin: 0 auto 1.5rem; }
.planning-summary > div { padding: 1rem 1.15rem; border: 1px solid #dfe4e1; border-radius: .7rem; background: #fff; }
.planning-summary strong { display: block; color: #173022; font: 800 1.65rem/1 Manrope, sans-serif; }
.planning-summary span { color: #6d7a73; font-size: .78rem; }
.period-item, .agreement-planner-item { align-items: flex-start; }
.planning-meta { display: grid; gap: .28rem; }
.planning-meta strong { color: #173022; }
.planning-meta span, .planning-meta small { color: #6d7a73; font-size: .82rem; }
.period-actions, .planner-actions { display: grid; gap: .7rem; justify-items: end; }
.period-actions details { width: min(100%, 30rem); }
.period-actions summary { cursor: pointer; color: #315d46; font-weight: 800; }
.inline-editor { display: grid; gap: .8rem; margin-top: .8rem; padding: .85rem; border: 1px solid #dfe4e1; border-radius: .6rem; background: #f7f8f5; }
.button-small { padding: .65rem .9rem; font-size: .82rem; }
.agreement-planner-list { display: grid; gap: .8rem; }
.agreement-planner-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 1.6fr); gap: 1.25rem; padding: 1rem; border: 1px solid #dfe4e1; border-radius: .7rem; background: #fff; }
.planner-actions { justify-items: stretch; }
.planner-actions .status-form { align-self: end; }
@media (max-width: 760px) {
  .planning-summary { grid-template-columns: 1fr; }
  .agreement-planner-item { grid-template-columns: 1fr; }
  .period-item { display: grid; }
  .period-actions { justify-items: stretch; }
  .period-actions details { width: 100%; }
}

.match-explainer { display: flex; gap: .75rem; align-items: baseline; margin: 1rem 0 1.5rem; padding: 1rem 1.15rem; border-left: 3px solid #d9ff72; background: #f3f7ee; color: #526159; }
.match-explainer strong { color: #173022; }

.volume-subgroup-panel { margin-top: 2.25rem; padding: 1.25rem; border: 1px solid #dfe4e1; border-radius: .8rem; background: #fffdf8; }
.volume-subgroup-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.volume-subgroup-heading h2 { margin: .25rem 0 0; font-size: 1.35rem; }
.volume-subgroup-heading > p { max-width: 20rem; margin: 0; color: #6d7a73; font-size: .82rem; }
.volume-subgroup-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.volume-subgroup { position: relative; display: grid; gap: .4rem; min-height: 8rem; padding: 1rem; border: 1px solid #dfe4e1; border-radius: .65rem; background: #fff; }
.volume-subgroup.selected { border-color: #173022; box-shadow: inset 0 0 0 2px #d9ff72; }
.volume-subgroup.unavailable { opacity: .62; }
.volume-subgroup > strong { color: #173022; font-size: 1.05rem; }
.subgroup-badge { width: max-content; padding: .2rem .45rem; border-radius: 999px; background: #d9ff72; color: #173022; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.subgroup-status { color: #568113; font-size: .78rem; font-weight: 800; }
.volume-subgroup.unavailable .subgroup-status { color: #8a6257; }
.subgroup-price { color: #173022; font: 800 1.1rem Manrope, sans-serif; }
.subgroup-price small { color: #6d7a73; font: 500 .72rem Manrope, sans-serif; }
.subgroup-price.muted { color: #6d7a73; font: 600 .78rem Manrope, sans-serif; }
@media (max-width: 700px) {
  .volume-subgroup-heading { display: block; }
  .volume-subgroup-heading > p { margin-top: .6rem; }
  .volume-subgroup-grid { grid-template-columns: 1fr; }
}

/* Customer service chooser */
.service-choice-section { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #f5f7f5; }
.service-choice-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.service-choice-card { display: grid; gap: .55rem; min-height: 14rem; padding: 1.15rem; border: 1px solid #dce2de; border-radius: 1rem; color: #17291f; background: #fff; text-decoration: none; box-shadow: 0 10px 28px rgba(23,41,31,.06); transition: transform .2s, box-shadow .2s, border-color .2s; }
.service-choice-card:hover, .service-choice-card:focus-visible { transform: translateY(-4px); border-color: #17291f; box-shadow: 0 16px 34px rgba(23,41,31,.12); }
.service-choice-card strong { font: 800 1.12rem/1.15 Manrope, sans-serif; }
.service-choice-card > span:not(.service-choice-icon) { color: #617067; font-size: .88rem; line-height: 1.45; }
.service-choice-card small { align-self: end; color: #315d46; font-weight: 800; }
.service-choice-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid #17291f; border-radius: .65rem; color: #17291f; background: #d9ff72; font: 800 1rem Manrope, sans-serif; }
.market-search { grid-template-columns: minmax(11rem, 1.35fr) repeat(6, minmax(8rem, 1fr)) auto; }
@media (max-width: 1100px) { .service-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .service-choice-grid { grid-template-columns: 1fr; } .service-choice-card { min-height: auto; } }
@media (max-width: 1000px) { .market-search, .home-market-search { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .market-search, .home-market-search { grid-template-columns: 1fr; } }

/* Guided search flow */
.guided-search{display:block;max-width:920px;margin-inline:auto;background:#fff;padding:clamp(1.4rem,3vw,2.2rem);border-radius:1.15rem}
.guided-progress{display:flex;gap:.6rem;justify-content:space-between;border-bottom:1px solid #dce2de;padding-bottom:1.15rem;margin-bottom:1.8rem}
.guided-progress-item{color:#849087;font-size:.75rem;font-weight:800;display:flex;align-items:center;gap:.45rem}
.guided-progress-item b{font-weight:800}
.guided-progress-item.is-active,.guided-progress-item.is-complete{color:#17291f}
.guided-progress-item.is-active:first-letter{background:#d9ff72}
.guided-step{display:none;border:0;padding:0;margin:0}
.guided-step.is-active{display:block}
.guided-step legend{font:800 clamp(1.5rem,3vw,2.15rem)/1.1 Manrope,sans-serif;letter-spacing:-.04em;padding:0;max-width:620px}
.guided-help{color:#68766e;margin:.65rem 0 1.5rem;max-width:620px}
.guided-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.guided-step label{display:grid;gap:.4rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.guided-step label span{color:#78827c;font-size:.68rem}
.guided-step input,.guided-step select{width:100%;min-height:3.2rem;padding:0 .8rem;color:#17291f;background:#fff;border:1px solid #bfcac2;border-radius:.4rem;font-size:1rem;text-transform:none;letter-spacing:0}
.guided-step input:focus,.guided-step select:focus{outline:3px solid rgba(140,204,234,.55);border-color:#17291f}
.guided-step>.button,.guided-actions{margin-top:1.5rem}
.guided-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.guided-back{width:auto!important;color:#17291f;text-decoration:underline;padding-left:0!important}
.guided-choice{display:flex;align-items:center;gap:.8rem;background:#f1f5ee;padding:.85rem 1rem;margin-bottom:1.8rem;border-left:4px solid #d9ff72}
.guided-choice span{font-size:.72rem;text-transform:uppercase;font-weight:800;color:#68766e}
.guided-choice strong{font-size:1rem}
.guided-choice a{margin-left:auto;font-size:.85rem;text-decoration:underline}
.guided-search[data-searched="true"] .guided-step{display:none}.guided-search[data-searched="true"] .guided-progress{display:none}
.guided-search[data-searched="true"] .guided-progress{display:none}
@media(max-width:700px){.guided-progress{overflow:auto;justify-content:flex-start;gap:1rem}.guided-progress-item{white-space:nowrap}.guided-fields{grid-template-columns:1fr}.guided-search{border-radius:.8rem;padding:1.2rem}.guided-choice{align-items:flex-start;flex-wrap:wrap}.guided-choice a{margin-left:0;width:100%}}


.search-service-chooser{max-width:920px;margin:2.5rem auto 0}
.search-service-chooser h2{font:800 clamp(2rem,4vw,3.2rem)/1.05 Manrope,sans-serif;letter-spacing:-.05em;color:#fff;margin:0}
.search-service-chooser>p:not(.kicker){color:#c6d2ca;margin:.75rem 0 2rem}
.search-service-chooser .service-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.search-service-chooser .service-choice-card{min-height:14rem;background:#fff;border-color:transparent;border-radius:.8rem;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.search-service-chooser .service-choice-card:hover,.search-service-chooser .service-choice-card:focus-visible{box-shadow:0 16px 34px rgba(0,0,0,.2);transform:translateY(-4px)}
@media(max-width:1100px){.search-service-chooser .service-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.search-service-chooser{margin-top:1.5rem}.search-service-chooser .service-choice-grid{grid-template-columns:1fr}}


.guided-inline-alert{display:flex;gap:.55rem;align-items:baseline;background:#ffe1d8;border-left:3px solid #c34d31;padding:.75rem .9rem;margin:0 0 1.25rem;color:#17291f;font-size:.85rem}
.guided-inline-alert strong{font-weight:800}
.guided-inline-alert span{color:#526159}


.box-routing{display:grid;gap:.65rem;background:#f1f5ee;border-left:3px solid #d9ff72;padding:1rem;margin-top:1.2rem}
.box-routing[hidden]{display:none}
.box-routing strong{font-size:.9rem}
.box-routing label{display:flex;align-items:center;gap:.55rem;text-transform:none;letter-spacing:0;font-size:.9rem}
.box-routing input{min-height:auto;width:auto}

.unit-access-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.5rem}
.unit-access-option{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #cdd8d0;border-radius:.7rem;background:#fff;cursor:pointer;text-transform:none;letter-spacing:0;font-size:.95rem}
.unit-access-option:has(input:checked){border-color:#17291f;box-shadow:inset 0 0 0 2px #17291f;background:#f1f5ee}
.unit-access-option input{width:auto;min-height:auto;margin-top:.2rem}
.unit-access-option span{display:grid;gap:.35rem}
.unit-access-option strong{font-size:1rem}
.unit-access-option small{color:#617067;line-height:1.4;font-size:.82rem}
@media(max-width:700px){.unit-access-options{grid-template-columns:1fr}}
.unit-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}
.unit-comparison-column{min-width:0}
.unit-comparison-heading{background:#eaf2e5;border-left:4px solid #d9ff72;padding:1rem 1.1rem;margin-bottom:1rem}
.unit-comparison-heading h3{margin:0;font:800 1.35rem/1.1 Manrope,sans-serif}
.unit-comparison-heading p{margin:.45rem 0 0;color:#617067;font-size:.88rem}
.unit-comparison-column .market-grid{grid-template-columns:1fr}
.unit-access-badge{display:inline-block;margin-bottom:.55rem;padding:.3rem .55rem;background:#d9ff72;color:#17291f;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:800px){.unit-comparison-grid{grid-template-columns:1fr}}
/* UX polish: lead with the proposition, then guide the choice. */
main#top{display:flex;flex-direction:column}
main#top>.hero{order:1}
main#top>.service-choice-section{order:2}
main#top>.home-search-section{order:3}
main#top>.spaces-section{order:4}
main#top>.how-section{order:5}
main#top>.provider-cta{order:6}
main#top>.faq-section{order:7}
.service-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-choice-card:focus-visible,.button:focus-visible,.text-button:focus-visible,nav a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8cccea;outline-offset:3px}
.market-search input:invalid:not(:placeholder-shown),.market-search select:invalid{border-color:#c34d31}
.unit-access-badge{border-radius:.25rem}
@media(max-width:960px){
  nav{display:flex;gap:1rem;overflow-x:auto;scrollbar-width:none;margin-left:auto}
  nav::-webkit-scrollbar{display:none}
  nav a{font-size:.75rem;white-space:nowrap}
  .site-header{gap:1rem}
  .service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .site-header{gap:.55rem}
  .site-header .brand-image{flex-basis:76px;width:76px;height:58px;margin-left:-3px}
  nav{gap:.7rem}
  nav a{font-size:.68rem}
  .service-choice-grid{grid-template-columns:1fr}
  .service-choice-card{min-height:11rem}
}
.unit-price-explainer{display:grid;gap:.35rem;margin:0 0 1.25rem;padding:1rem 1.15rem;background:#edf3d3;border-left:4px solid #d9ff72;color:#17291f}
.unit-price-explainer strong{font:800 1rem/1.2 Manrope,sans-serif}
.unit-price-explainer span{font-size:.95rem;line-height:1.5}
.unit-price-explainer small{color:#617067;font-size:.78rem;line-height:1.4}
.auth-page.auth-page-customer{display:grid;grid-template-columns:minmax(0,1fr);justify-content:center;justify-items:center}
.auth-page.auth-page-customer>.auth-card{grid-column:1;justify-self:center}
.inventory-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1rem 0 .35rem;padding:1rem;border:1px solid #dfe7e1;border-radius:14px;background:#f7faf7}.inventory-filters label{display:grid;gap:.3rem;min-width:10rem;color:#617067;font-size:.75rem;font-weight:700}.inventory-filters input,.inventory-filters select{min-height:2.35rem;padding:.5rem .65rem;border:1px solid #cdd9d0;border-radius:8px;background:#fff;color:#173326;font:inherit}.inventory-filter-summary{margin:.35rem 0 .75rem;color:#617067;font-size:.85rem}

.vehicle-allocation{min-height:0!important;margin:.75rem 0;color:#43564b!important;line-height:1.55}.vehicle-price-breakdown{display:grid;gap:.35rem;margin:1rem 0;padding:.85rem;border:1px solid #dfe7e1;border-radius:.7rem;background:#f7faf6;color:#43564b;font-size:.84rem}.vehicle-price-breakdown>strong{color:#17291f}.vehicle-total{margin-top:.35rem;padding-top:.55rem;border-top:1px solid #dfe7e1;color:#17291f}.vehicle-market-card .text-button{display:inline-block;margin-top:.25rem}

/* Focused search journey */
.search-journey-summary{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:.8rem 1rem;border-left:4px solid #d9ff72;background:#f1f5ee;color:#17291f}.search-journey-summary span{color:#617067;font-size:.82rem}.search-journey-summary strong{font-size:.95rem}.search-journey-summary a{margin-left:auto;color:#17291f;font-size:.85rem;font-weight:800;text-decoration:underline}.result-section{scroll-margin-top:1.25rem}.guided-step{scroll-margin-top:1.25rem}
@media(max-width:700px){.search-journey-summary{align-items:flex-start;flex-wrap:wrap}.search-journey-summary a{margin-left:0;width:100%}}
