.siting-tabs { display: flex; gap: 8px; margin: 24px 0; }
.siting-tabs [role="tab"] { min-height: 44px; padding: 8px 16px; border-radius: 8px; border: 1px solid var(--bpc-color-border-default); background: #fff; color: var(--bpc-color-text-default); font-weight: 600; }
.siting-tabs [role="tab"][aria-selected="true"] { background: #d6f0b4; color: #1e4d2b; }
.siting-block { margin-top: 16px; }
.siting-block h2 { margin-top: 0; }
.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.stat-row article { padding: 12px; border: 1px solid var(--bpc-color-border-default); border-radius: 12px; background: #fff; }
.stat-value { font-size: 1.75rem; font-weight: 600; color: #1e4d2b; margin: 0; font-variant-numeric: tabular-nums; }
.stat-value span { font-size: 1rem; color: var(--bpc-color-text-muted); }
.fine { color: var(--bpc-color-text-muted); font-size: 0.875rem; }
/* The ranked table has eight columns: it gets the full width, and the map sits under it. */
.siting-split { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: start; }
.tx-map { width: 100%; max-width: 640px; height: auto; background: #f0eeeb; border-radius: 12px; }
.tx-map path { cursor: pointer; }
.zone-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 0; list-style: none; }
.swatch { display: inline-block; width: 12px; height: 12px; border-radius: 2px; margin-right: 6px; border: 1px solid #292826; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.result-dl { display: grid; gap: 8px; margin: 16px 0; }
.result-dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--bpc-color-border-default); padding-bottom: 8px; }
.result-dl dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; }
.formula { font-variant-numeric: tabular-nums; background: #f0eeeb; padding: 12px 16px; border-radius: 8px; }
.formula-line { font-variant-numeric: tabular-nums; font-weight: 600; }
.siting-split > *,
.card,
.stat-row { min-width: 0; }
.table-scroll,
.card { overflow-x: auto; }
.table-scroll { max-width: 100%; }
blockquote { margin: 8px 0 16px; padding-left: 12px; border-left: 3px solid #1e4d2b; }
.rule { margin-top: 12px; }
@media (max-width: 800px) {
  .siting-split, .stat-row, .field-grid { grid-template-columns: 1fr; }
  .siting-tabs { flex-wrap: wrap; }
}
