[data-estate-theme="kai"]{--estate-brand:#8f6b1e;--estate-accent:#85641c;--estate-ink:#302b17;--estate-soft:#f6f3ed;--estate-band:#dbd0b7;--estate-line:#c3af86}
[data-estate-theme="ying"]{--estate-brand:#ce370d;--estate-accent:#c3340c;--estate-ink:#411d12;--estate-soft:#fbefec;--estate-band:#efbfb2;--estate-line:#e5937c}
[data-estate-theme="long"]{--estate-brand:#0f67ac;--estate-accent:#0f67ac;--estate-ink:#0f2a3c;--estate-soft:#ecf3f8;--estate-band:#b2cee4;--estate-line:#7dadd2}
[data-estate-theme="wui"]{--estate-brand:#8d5ca5;--estate-accent:#85569b;--estate-ink:#30273a;--estate-soft:#f6f2f8;--estate-band:#dbcbe2;--estate-line:#c1a7ce}
[data-estate-theme="yu"]{--estate-brand:#c53082;--estate-accent:#bb2e7c;--estate-ink:#3e1b31;--estate-soft:#faeef5;--estate-band:#ecbdd7;--estate-line:#e08fbc}
[data-estate-theme="kaiyan"]{--estate-brand:#abddff;--estate-accent:#536b7c;--estate-ink:#384851;--estate-soft:#f8fcff;--estate-band:#e4f4ff;--estate-line:#d2edff}
[data-estate-theme="kwunshan"]{--estate-brand:#ffd1fa;--estate-accent:#786275;--estate-ink:#4d4550;--estate-soft:#fffbff;--estate-band:#fff0fd;--estate-line:#ffe6fc}
[data-estate-theme="onsau"]{--estate-brand:#ffee8c;--estate-accent:#70693e;--estate-ink:#4d4d33;--estate-soft:#fffef6;--estate-band:#fffada;--estate-line:#fff6c1}
[data-estate-theme="chiuming"]{--estate-brand:#b9ff9c;--estate-accent:#517045;--estate-ink:#3b5137;--estate-soft:#f9fff7;--estate-band:#e9ffdf;--estate-line:#d9ffca}
[data-estate-theme="kaiyuet"]{--estate-brand:#fce68b;--estate-accent:#73693f;--estate-ink:#4d4b33;--estate-soft:#fffdf6;--estate-band:#fef7da;--estate-line:#fdf2c0}
[data-estate-theme="onying"]{--estate-brand:#fca274;--estate-accent:#905c42;--estate-ink:#4d392d;--estate-soft:#fff8f4;--estate-band:#fee1d3;--estate-line:#fdcdb4}
[data-estate-theme="onlai"]{--estate-brand:#ffb2cd;--estate-accent:#865d6c;--estate-ink:#4d3d44;--estate-soft:#fff9fb;--estate-band:#ffe6ef;--estate-line:#ffd5e4}
[data-estate-theme="onwah"]{--estate-brand:#73e4e6;--estate-accent:#397172;--estate-ink:#294a4b;--estate-soft:#f4fdfd;--estate-band:#d2f6f7;--estate-line:#b3f0f2}
[data-estate-theme="siutsui"]{--estate-brand:#bae66a;--estate-accent:#5a7033;--estate-ink:#3b4b2a;--estate-soft:#f9fdf3;--estate-band:#e9f7cf;--estate-line:#daf2af}
[data-estate-theme="longtin"]{--estate-brand:#ecb2ff;--estate-accent:#7c5d86;--estate-ink:#483d51;--estate-soft:#fdf9ff;--estate-band:#f9e6ff;--estate-line:#f5d5ff}
[data-estate-theme="kaiying"]{--estate-brand:#ff3399;--estate-accent:#c12774;--estate-ink:#4d1c37;--estate-soft:#ffeff7;--estate-band:#ffbede;--estate-line:#ff91c8}
[data-estate-theme="onpak"]{--estate-brand:#60bf00;--estate-accent:#3c7600;--estate-ink:#24400f;--estate-soft:#f2faeb;--estate-band:#ccebad;--estate-line:#a9dc75}
[data-estate-theme="yuhing"]{--estate-brand:#0073e5;--estate-accent:#0066cc;--estate-ink:#0b2d4a;--estate-soft:#ebf4fd;--estate-band:#add2f7;--estate-line:#75b3f1}
/* Shared court identity. Never remap sale states, quota warnings or forecasts. */
[data-estate-theme] {
  accent-color: var(--estate-accent);
}
[data-estate-theme] :is(a, button, input, select, summary):focus-visible {
  outline: 3px solid var(--estate-accent);
  outline-offset: 3px;
}
[data-estate-theme] ::selection {
  background: var(--estate-band);
  color: var(--estate-ink);
}
.estate-card[data-estate-theme] { --line: var(--estate-line); }
.estate-card[data-estate-theme] .card-heading {
  background: var(--estate-band);
  color: var(--estate-ink);
  margin: -17px -17px 0;
  padding: 17px;
}
.estate-card[data-estate-theme] .card-heading :is(h3, .card-location) { color: var(--estate-ink); }
.estate-card[data-estate-theme] .pill.new,
.estate-card[data-estate-theme] .pill.resale { background: #fff; color: var(--estate-ink); }
.estate-card[data-estate-theme] :is(.detail-trigger, .tour-quick-link) { color: var(--estate-accent); }
.estate-card[data-estate-theme] .sales-trigger {
  color: #fff; background: var(--estate-accent); border: 1px solid var(--estate-accent);
  border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 8px 12px; font-size: 13px; font-weight: 700; text-decoration: none;
}
.estate-card[data-estate-theme] .sales-trigger:hover { filter: brightness(.92); }
.estate-card[data-estate-theme] .detail-trigger { margin-left: 0; }
.estate-card[data-estate-theme] .card-date { flex: 1 0 100%; }
.estate-card[data-estate-theme] .card-footer { gap: 8px; padding-block: 10px; }
.estate-card[data-estate-theme] .detail-trigger { margin-left: auto; }
.estate-drawer[data-estate-theme] .drawer-header,
#detail-modal[data-estate-theme] .modal-head { background: var(--estate-band); color: var(--estate-ink); }
.estate-drawer[data-estate-theme] .drawer-header :is(h2, p, .drawer-meta) { color: var(--estate-ink); }
.estate-drawer[data-estate-theme] .drawer-footer .button.primary,
#detail-modal[data-estate-theme] .button.primary { background: var(--estate-accent); border-color: var(--estate-accent); }
.unit-card[data-estate-theme] .card-top { background: var(--estate-band); padding-bottom: 14px; }
.unit-card[data-estate-theme] :is(.estate-name, .district) { color: var(--estate-ink); }
.unit-card[data-estate-theme] .detail-btn,
.unit-card[data-estate-theme] .compare-btn { color: var(--estate-accent); }
.unit-card[data-estate-theme] .compare-btn.active { color: #fff; background: var(--estate-accent); }
.units-table tr[data-estate-theme] > td:first-child { background: var(--estate-soft); }
.units-table tr[data-estate-theme] .table-estate { color: var(--estate-accent); }
.comparison-table .comparison-top td[data-estate-theme] { background: var(--estate-band); color: var(--estate-ink); }
.comparison-table td[data-estate-theme] .compare-estate { color: var(--estate-ink); }
.fc-target[data-estate-theme] { border-color: var(--estate-line); background: var(--estate-soft); }
.fc-target[data-estate-theme] legend { color: var(--estate-accent); }
.fc-target[data-estate-theme] .fc-target-heading { color: var(--estate-ink); }
.fc-result[data-estate-theme] .fc-result-heading { background: var(--estate-band); color: var(--estate-ink); padding: 16px; margin: -1px -1px 16px; }
.fc-result[data-estate-theme] .fc-result-heading :is(h3, p) { color: var(--estate-ink); }
[data-estate-theme] .sale-coverage,
.sale-coverage[data-estate-theme] {
  --sale-green: var(--estate-accent); --sale-green-soft: var(--estate-accent);
  --sale-paper: var(--estate-soft); --sale-paper-deep: var(--estate-band);
  --sale-line: var(--estate-line); --sale-ink: var(--estate-ink);
  background: var(--estate-soft);
}
[data-estate-theme] .sale-coverage .sale-snapshot { border-left-width: 1px; }
[data-estate-theme] .sale-coverage .sale-eyebrow { display: none; }
[data-estate-theme] .sale-coverage .sale-tab.is-active { background: var(--estate-accent); color: #fff; }
[data-estate-theme] .sale-coverage .sale-tab.is-active .sale-tab-counts { color: #fff; }
#tour-gallery[data-estate-theme] .tour-hub-map,
#viewer-content[data-estate-theme] .official-intro { background: var(--estate-soft); }
#tour-gallery[data-estate-theme] :is(.tour-reference, .tour-native),
#viewer-content[data-estate-theme] .button { border-color: var(--estate-line); }
body.viewer-estate-themed .estate-nav[data-estate-theme] { border-color: var(--estate-line); color: var(--estate-accent); }
body.viewer-estate-themed .estate-nav.active[data-estate-theme] { background: var(--estate-accent); color: #fff; }
body.viewer-estate-themed .plan-tour-controls { --ink: var(--estate-ink); --green: var(--estate-accent); }
body.viewer-estate-themed :is(.tour-heading, .tour-unit-heading, .selection-top) { background: var(--estate-band); color: var(--estate-ink); }
body.viewer-estate-themed .coverage-open { background: var(--estate-accent); color: #fff; border-color: var(--estate-accent); }
body.viewer-estate-themed .sidebar { --green: var(--estate-accent); }
@media (max-width: 650px) {
  .home-page .estate-card[data-estate-theme] .card-heading { margin: -16px -16px 0; padding: 16px; }
  .home-page .estate-card[data-estate-theme] .card-footer { display: flex; flex-wrap: wrap; }
  .home-page .estate-card[data-estate-theme] .card-date { flex-basis: 100%; }
  .home-page .estate-card[data-estate-theme] .detail-trigger { margin-left: auto; }
  .estate-card[data-estate-theme] .sales-trigger { font-size: 14px; }
}

#viewer-content[data-estate-theme] .estate-control { background:var(--estate-band); color:var(--estate-ink); padding:16px; border-radius:12px; }
#viewer-content[data-estate-theme] #estate-title { color:var(--estate-accent); }
[data-estate-theme] [data-site-3d] { color:var(--estate-accent); border-color:var(--estate-line); }
.compare-card[data-estate-theme] .compare-top { background:var(--estate-band); color:var(--estate-ink); padding:12px; }

.estate-card .card-heading .estate-kind{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 8px;min-height:30px;font-size:12px;line-height:1.3;font-weight:700;border:1px solid var(--estate-accent);border-radius:8px}
.estate-card .estate-kind .ui-icon{width:18px;height:18px;flex-shrink:0}
.estate-card[data-estate-theme] .estate-kind.new{background:var(--estate-accent);color:#fff}
.estate-card[data-estate-theme] .estate-kind.resale{background:#fff;color:var(--estate-accent);border-radius:999px}
@media(max-width:650px){.home-page .estate-card .card-heading .estate-kind{font-size:13px;min-height:32px}.estate-card .estate-kind .ui-icon{width:20px;height:20px}}
