:root {
  color-scheme: light;
  --brand-pink: #FF7FA8;
  --brand-raspberry: #C53D70;
  --brand-dark: #493842;
  --brand-cream: #FFF9F2;
  --brand-apricot: #FFC857;
  --brand-mint: #8BE0C5;
  --brand-white: #FFFFFF;
  --site-bg: var(--brand-cream);
  --site-surface: var(--brand-white);
  --site-surface-soft: #FFF5F7;
  --site-surface-muted: #FFF2DF;
  --site-border: #EADDD7;
  --site-text: var(--brand-dark);
  --site-text-soft: #75636D;
  --site-primary: var(--brand-raspberry);
  --site-primary-dark: #9F2F5A;
  --site-primary-soft: #FFE3EC;
  --site-up: #A9325D;
  --site-down: #2B7465;
  --site-warning: #FFF1C9;
  --site-shadow: rgba(73, 56, 66, 0.09);
}

* { box-sizing: border-box; }
html { background: var(--site-bg); scroll-behavior: smooth; }
body { background: radial-gradient(circle at 8% 0, rgba(255,127,168,.10), transparent 24rem), var(--site-bg) !important; color: var(--site-text) !important; }
h1, h2, h3, h4, strong { color: var(--site-text) !important; }
a { color: var(--site-primary) !important; text-underline-offset: 3px; }
a:hover { color: var(--site-primary-dark) !important; }

.panel,.container,.header,.stat-card,.list-container,.report-section,.analysis-card,.metric,.detail-item,.result-card,.control,.primary-result,.secondary-result,.housing-results,.region-section,.search-container,.search-box,.stats-dashboard,.info-section,.faq-item,.card,.item { border-color: var(--site-border) !important; }
.panel,.container,.stat-card,.list-container,.report-section,.region-section,.search-container,.search-box,.stats-dashboard,.info-section,.faq-item,.card { background-color: var(--site-surface) !important; box-shadow: 0 8px 24px var(--site-shadow) !important; border-radius: 18px !important; }
.panel,.report-section,.region-section,.search-box,.stats-dashboard,.info-section,.card { border: 1px solid var(--site-border) !important; }
.card,.item,.analysis-card,.stat-card,.metric,.detail-item,.result-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important; }
.card:hover,.item:hover,.analysis-card:hover { border-color: rgba(255,127,168,.75) !important; box-shadow: 0 10px 24px rgba(197,61,112,.12) !important; transform: translateY(-2px); }
.metric,.detail-item,.result-card,.analysis-card,.control,.primary-result,.secondary-result,.item,th { background-color: #FFFBFC !important; }
.housing-results,.highlight,.latest-row,.method,.notice { background-color: var(--site-surface-muted) !important; }
.notice,.highlight { border-left-color: var(--brand-apricot) !important; }
.meta,.method,.stat-title,.apt-info,.field-help,dt,.section-description,.info,.faq-a,p,li { color: var(--site-text-soft) !important; }
.up,.highlight-price,.apt-price,.price { color: var(--site-up) !important; }
.down { color: var(--site-down) !important; }

input,select,.unit-input,.housing-tab,.region-btn { background-color: var(--brand-white) !important; border-color: #D8BFC8 !important; color: var(--site-text) !important; border-radius: 12px !important; }
input::placeholder { color: #A58E99 !important; }
button { border-color: #D8BFC8 !important; border-radius: 12px !important; }
input:focus,select:focus,button:focus-visible,a:focus-visible { outline: 3px solid var(--brand-apricot) !important; outline-offset: 2px; }
button,.search-btn,.segments button[aria-pressed=true] { border-color: var(--site-primary) !important; }
.search-btn,.segments button[aria-pressed=true] { background: var(--site-primary) !important; color: #fff !important; }

table { background: var(--brand-white); }
table,th,td { border-color: var(--site-border) !important; }
tr:nth-child(even) td { background-color: #FFF9F6; }
.table-wrap { border: 1px solid var(--site-border); border-radius: 12px; }

.hero,.header:not(.site-header) { background: linear-gradient(135deg, #FF9BBC 0%, #FF7FA8 62%, #FFB18F 100%) !important; color: var(--brand-dark) !important; border: 1px solid rgba(197,61,112,.18) !important; box-shadow: 0 14px 32px rgba(197,61,112,.17) !important; }
.hero h1,.hero strong,.header:not(.site-header) h1,.header:not(.site-header) strong { color: var(--brand-dark) !important; }
.hero .meta,.hero .up,.hero .down,.hero .flat,.header:not(.site-header) p { color: #624A57 !important; }
.badge { background-color: #FFE3EC !important; color: #74304B !important; }
.badge.cancel,.cancel-tag { background-color: #F7D8DF !important; color: #7E263F !important; }
.badge.direct,.direct-tag { background-color: #FFF0BF !important; color: #6A5010 !important; }
.pagination strong,.page-btn[aria-current="page"] { background: var(--site-primary) !important; color: #fff !important; border-color: var(--site-primary) !important; }
details summary { accent-color: var(--site-primary); }
.icon-heading { display: flex !important; align-items: center; gap: 9px; }
.icon-heading .brand-icon { flex: 0 0 auto; }
details.region-group summary { border-color: #F1D9E1 !important; }
details.region-group[open] summary h3,details.region-group[open] .toggle-icon { color: var(--site-primary) !important; }
.stats-dashboard h2,.info-section h2 { border-left-color: var(--brand-pink) !important; }
.stat-card:nth-child(3n+1) { border-top: 4px solid var(--brand-pink) !important; }
.stat-card:nth-child(3n+2) { border-top: 4px solid var(--brand-apricot) !important; }
.stat-card:nth-child(3n) { border-top: 4px solid var(--brand-mint) !important; }
.region-btn:hover { background: #FFF1F5 !important; border-color: var(--brand-pink) !important; color: var(--site-primary-dark) !important; box-shadow: 0 6px 14px rgba(197,61,112,.11) !important; }
.search-input { border-color: var(--brand-pink) !important; }
.search-input:focus { border-color: var(--site-primary) !important; box-shadow: 0 0 0 4px rgba(255,127,168,.15) !important; }
.search-btn:hover { background: var(--site-primary-dark) !important; }
.spinner { border-color: #FFE3EC !important; border-top-color: var(--site-primary) !important; }
.faq-item { padding: 16px !important; border: 1px solid #F1D9E1 !important; }
footer { color: var(--site-text-soft) !important; border-color: var(--site-border) !important; }
footer a { color: var(--site-text-soft) !important; }
::selection { background: var(--brand-pink); color: var(--brand-dark); }

@media (max-width: 600px) {
  .panel,.report-section,.info-section,.search-box,.stats-dashboard { border-radius: 14px !important; }
  .icon-heading { gap: 7px; }
}
