:root {
  color-scheme: light;
  --site-bg: #e8eef1;
  --site-surface: #f5f8f9;
  --site-surface-soft: #edf3f5;
  --site-surface-muted: #e3ecef;
  --site-border: #cbd8de;
  --site-text: #24343e;
  --site-text-soft: #536670;
  --site-primary: #315f78;
  --site-primary-dark: #244b61;
  --site-primary-soft: #dce9ee;
  --site-up: #9a443d;
  --site-down: #376b86;
  --site-warning: #f2ead2;
  --site-shadow: rgba(35, 59, 72, 0.08);
}

html {
  background: var(--site-bg);
}

body {
  background-color: var(--site-bg) !important;
  color: var(--site-text) !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,
.faq-item,
.card,
.item {
  border-color: var(--site-border) !important;
}

.panel,
.container,
.header,
.stat-card,
.list-container,
.report-section,
.region-section,
.search-container,
.faq-item,
.card {
  background-color: var(--site-surface) !important;
  box-shadow: 0 4px 15px var(--site-shadow) !important;
}

.metric,
.detail-item,
.result-card,
.analysis-card,
.control,
.primary-result,
.secondary-result,
.item,
th {
  background-color: var(--site-surface-soft) !important;
}

.housing-results,
.highlight,
.latest-row,
.method,
.notice {
  background-color: var(--site-surface-muted) !important;
}

.notice,
.highlight {
  border-left-color: #a9863d !important;
}

a {
  color: var(--site-primary) !important;
}

a:hover {
  color: var(--site-primary-dark) !important;
}

.meta,
.method,
.stat-title,
.apt-info,
.field-help,
dt {
  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,
button,
.unit-input,
.housing-tab,
.region-btn {
  background-color: #f2f6f7 !important;
  border-color: #aebfc7 !important;
  color: var(--site-text) !important;
}

input:focus,
select:focus,
button:focus-visible,
a:focus-visible {
  outline-color: #bd8b35 !important;
}

table,
th,
td {
  border-color: var(--site-border) !important;
}

tr:nth-child(even) td {
  background-color: rgba(222, 232, 236, 0.45);
}

.hero {
  background: linear-gradient(135deg, #294d63, #3c6d82) !important;
  color: #f5f8f9 !important;
}

.hero .meta,
.hero .up,
.hero .down,
.hero .flat {
  color: #e4edf0 !important;
}

.badge {
  background-color: #d9e4e8 !important;
  color: #344b57 !important;
}

.badge.cancel {
  background-color: #ecd9d6 !important;
  color: #82443e !important;
}

.badge.direct {
  background-color: #eee4c9 !important;
  color: #67572d !important;
}

::selection {
  background: #b9d2dc;
  color: #172a34;
}
