.regional-section { min-width: 0; }
.regional-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.regional-geometry { margin: 0; min-width: 0; }
.regional-geometry svg { display: block; width: 100%; max-height: 340px; overflow: visible; }
.regional-geometry figcaption, .regional-legend { font-size: .82rem; line-height: 1.55; color: #c8d5e7; }
.regional-sector { cursor: pointer; stroke: #0b1324; stroke-width: 2; }
.regional-sector.state-COMPLETED { fill: #397c79; }
.regional-sector.state-PARTIAL { fill: #3c4156; stroke: #edc675; stroke-dasharray: 5 3; }
.regional-sector.state-ADMISSION_FAILED { fill: #30262d; stroke: #ffb3b9; stroke-dasharray: 1 3; }
.regional-sector[aria-pressed="true"] { stroke: white; stroke-width: 4; }
.regional-section :focus-visible { outline: 3px solid #f1d58b; outline-offset: 4px; }
.regional-sector:focus-visible { stroke: #f1d58b; stroke-width: 5; }
.regional-selector { display: grid; gap: .5rem; min-width: 0; }
.regional-selector button { display: grid; gap: .3rem; min-height: 48px; width: 100%; padding: .65rem; text-align: left; color: #ecf2fc; background: #152338; border: 1px solid #5b708c; border-radius: 8px; cursor: pointer; overflow-wrap: anywhere; }
.regional-selector button[aria-pressed="true"] { background: #27475e; border: 2px solid #bce8f0; }
.regional-selector button span { font-size: .78rem; }
.regional-detail { margin-top: 1rem; min-width: 0; }
.regional-detail h4 { font-size: 1.1rem; overflow-wrap: anywhere; }
.regional-detail h5 { font-size: 1rem; margin: .4rem 0; }
.regional-state-label { font-weight: 700; letter-spacing: .04em; }
.regional-parameters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.regional-parameter, .regional-partial, .regional-admission { border: 1px solid #64748b; border-radius: 9px; padding: .8rem; min-width: 0; }
.regional-partial { border-style: dashed; border-color: #edc675; }
.regional-admission { border-style: dotted; border-color: #ffb3b9; }
.regional-value { font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.regional-confidence { line-height: 1.65; font-variant-numeric: tabular-nums; }
.regional-detail p, .regional-detail dd, .regional-detail code, .regional-detail li { overflow-wrap: anywhere; }
.regional-detail details { margin: .7rem 0; padding: .6rem; border: 1px solid #485a72; border-radius: 6px; }
.regional-detail summary { cursor: pointer; min-height: 36px; line-height: 1.6; font-size: .875rem; }
.regional-detail .research-context-note, .regional-diagnostics small { font-size: .875rem; line-height: 1.6; }
.regional-detail dt { font-weight: 600; margin-top: .7rem; }
.regional-detail dd { margin: .3rem 0 .75rem; }
.regional-detail .regional-inputs { margin-top: 1rem; }
.regional-parameter .research-evidence { display: inline-block; color: #ecdfff; background: #362749; border: 1px solid #b694d4; border-radius: 5px; padding: .2rem .4rem; font-size: .78rem; }
.regional-inputs .research-evidence { display: inline-block; color: #caf6ed; background: #173d3c; border: 1px solid #73b9ab; border-radius: 5px; padding: .2rem .4rem; font-size: .78rem; }
.regional-load-state { padding: 1rem; border-left: 3px solid #bce8f0; }
@media (max-width: 600px) {
  .regional-layout, .regional-parameters { grid-template-columns: minmax(0, 1fr); }
  .regional-geometry svg { max-height: 260px; }
  .regional-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (forced-colors: active) {
  .regional-sector { fill: Canvas; stroke: CanvasText; }
  .regional-sector[aria-pressed="true"] { stroke: Highlight; }
}
