.sales-page .page-container { max-width: 1320px; }
.sales-page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; background:var(--estate-band); border-radius:12px; margin-block:20px; }
.sales-page-heading h1 { margin:0 0 8px; color:var(--estate-ink); font-size:clamp(24px,4vw,32px); }
.sales-page-heading p { margin:0; color:var(--estate-ink); font-size:14px; line-height:1.7; }
.sales-estate-picker { display:grid; gap:8px; font-size:14px; font-weight:650; color:var(--estate-ink); min-width:180px; }
.sales-estate-picker select { width:100%; min-height:48px; padding:10px 12px; font:inherit; border:1px solid var(--estate-line); border-radius:8px; background:white; color:var(--estate-ink); }
.sales-actions { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:20px 0; }
.sales-actions a { color:var(--estate-accent); font-weight:650; min-height:44px; display:inline-flex; align-items:center; }
.sales-message { padding:16px; font-size:14px; line-height:1.7; }
.sales-page #sales-warning { background:#fff5df; color:#674b16; border-radius:8px; margin-bottom:16px; }
.sales-page #sales-grid { min-width:0; max-width:100%; }
.sales-page .sale-coverage { border-radius:12px; }
.sales-page .sale-coverage .sale-matrix-wrap { max-height:70vh; }
.sales-page .sale-coverage .sale-note { font-size:14px; }
.sales-page .sale-coverage h2 { display:none; }
.sales-page [hidden] { display:none !important; }
.sales-page [data-sale-detail] { display:none; }
.sales-unit-card {
  display:none; position:fixed; inset:auto; top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(400px,calc(100vw - 32px)); margin:0; padding:24px; max-height:calc(100dvh - 48px);
  overflow:auto; box-sizing:border-box; border:0; border-radius:16px; background:#fff; color:var(--estate-ink);
  box-shadow:0 16px 48px #0003; z-index:100;
}
.sales-unit-card:popover-open { display:block; }
.sales-unit-card.is-open { display:block; }
.sales-unit-card-head { display:flex; align-items:flex-start; gap:12px; justify-content:space-between; margin-bottom:16px; }
.sales-unit-card h2 { margin:0; font-size:22px; line-height:1.45; color:var(--estate-ink); }
#sales-unit-close { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:10px; margin:-8px -8px 0 0; border:0; border-radius:8px; background:var(--estate-soft); color:var(--estate-ink); cursor:pointer; }
#sales-unit-close .ui-icon { width:20px; height:20px; }
.sales-unit-status { display:flex; align-items:center; gap:8px; margin:0 0 20px; font-size:15px; font-weight:650; }
.sales-unit-status::before { content:""; width:12px; height:12px; border-radius:3px; background:var(--unit-status-color); }
.sales-unit-facts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:16px; margin:0 0 20px; font-variant-numeric:tabular-nums; }
.sales-unit-facts dt { font-size:13px; margin-bottom:4px; }
.sales-unit-facts dd { font-size:18px; font-weight:700; margin:0; overflow-wrap:anywhere; }
.sales-unit-date { font-size:12px; line-height:1.7; margin:0 0 16px; }
.sales-unit-warning { font-size:13px; line-height:1.7; padding:10px; background:#fff5df; color:#674b16; border-radius:8px; }
.sales-unit-detail { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; border-radius:8px; padding:10px 14px; background:var(--estate-accent); color:white; text-decoration:none; font-size:16px; font-weight:650; }
.sales-unit-detail:hover { filter:brightness(.92); color:white; }
@media(max-width:650px) {
  .sales-page-heading { display:block; padding:16px; margin-block:16px; }
  .sales-page-heading h1 { margin:0; }
  .sales-page-heading p { display:none; }
  .sales-estate-picker { margin-top:12px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .sales-estate-picker select { width:auto; flex:1; min-width:0; max-width:210px; }
  .sales-estate-picker select { font-size:16px; }
  .sales-page .sale-coverage { padding:14px; }
  .sales-page .sale-coverage .sale-coverage-head { display:block; }
  .sales-page .sale-coverage .sale-snapshot { margin-top:16px; }
  .sales-page .sale-coverage-legend [data-legend-state]:not([data-legend-state="absent"]) { display:none; }
  .sales-unit-card { top:auto; bottom:calc(76px + env(safe-area-inset-bottom,0px)); left:16px; right:16px; width:auto; transform:none; max-height:calc(100dvh - 116px); padding:20px; }
  .sales-unit-card h2 { font-size:20px; }
}
