.zone-presentation{position:fixed;left:94px;top:90px;width:540px;max-height:calc(100dvh - 112px);z-index:960;background:#fff;color:#15314d;box-shadow:0 8px 28px #122c4933;border:1px solid #dae2ea;border-radius:14px;overflow:auto;font-family:Tahoma,Arial,sans-serif}.zone-presentation[hidden]{display:none}.zone-presentation header{background:#122f4e;color:white;padding:18px 20px}.zone-presentation h2{font-size:23px;margin:7px 0}.zone-presentation header p{font-size:12px;margin:0;line-height:1.6}.zone-presentation header>button{float:right;background:transparent;border:0;color:white;font-size:25px;cursor:pointer}.zone-presentation nav{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid #e1e7ef}.zone-presentation nav button{flex:1;padding:9px 4px;border:1px solid #d8e3ef;border-radius:7px;background:white;color:#15314d;cursor:pointer}.zone-presentation nav button[aria-pressed=true]{background:#185db2;color:white;border-color:#185db2}.zone-presentation-body{padding:0 16px 12px}.zone-presentation-total{font-size:14px;font-weight:bold;line-height:1.5}.zone-presentation table{width:100%;border-collapse:collapse;font-size:13px}.zone-presentation th,.zone-presentation td{border:1px solid #cbd6e2;padding:10px 7px}.zone-presentation thead{background:#122f4e;color:#fff}.zone-presentation tbody th{text-align:left;width:56%;font-weight:normal}.zone-presentation tbody th button{background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0;width:100%;line-height:1.5}.zone-presentation td{text-align:center}.zone-presentation td small{display:block;font-size:10px;color:#58708a;margin-top:4px}.zone-presentation tfoot{background:#edf3fb;font-weight:bold}.zone-presentation tbody tr.selected{background:#eaf2ff}.zone-presentation-note,.zone-presentation [role=status]{font-size:11px;line-height:1.7;color:#526a81}.zone-table-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.zone-presentation .zone-perimeter-table{margin-top:14px}.zone-section-caption{caption-side:top;text-align:left;font-size:12px;font-weight:bold;color:#4a6180;padding:0 0 6px;line-height:1.5}.zone-presentation .zone-perimeter-table thead{background:#6b809b}.zone-presentation .zone-perimeter-table th,.zone-presentation .zone-perimeter-table td{border-color:#dde4ec}.zone-presentation .zone-perimeter-table tbody th{color:#3d5570}.zone-presentation .zone-perimeter-table tfoot{background:#f2f5f9}.zone-row-note{display:block;font-size:10px;color:#6b7f96;margin-top:3px;line-height:1.5}@media(max-width:760px){.zone-presentation{left:65px;right:8px;top:88px;width:auto;max-height:55dvh}.zone-presentation header{padding:12px}.zone-presentation h2{font-size:18px}.zone-presentation-body{padding:0 8px 8px}.zone-presentation table{font-size:11px}.zone-presentation th,.zone-presentation td{padding:7px 4px}.zone-presentation nav{padding:8px}.zone-presentation-total{font-size:12px}.zone-presentation .zone-perimeter-table{margin-top:10px}.zone-row-note{font-size:9px}.zone-section-caption{font-size:11px}}
.estate-legend{pointer-events:none;position:fixed;left:94px;bottom:30px;z-index:940;max-width:340px;max-height:36dvh;overflow:auto;padding:12px;background:#fff;border:1px solid #d4dfec;border-radius:12px;box-shadow:0 3px 15px #122f4e26;font:12px/1.5 Tahoma,Arial,sans-serif;color:#15314d}.estate-legend strong{display:block;margin-bottom:6px}.estate-legend button{pointer-events:auto;display:block;width:100%;border:0;border-left:6px solid var(--area-color,transparent);padding:6px 9px;margin:4px 0;background:#f1f5fa;text-align:left;color:#15314d;cursor:pointer;font:inherit}.estate-legend button[aria-pressed=true]{background:#dae8fc;font-weight:bold}.estate-legend .estate-legend-aside{margin-top:10px;padding-top:8px;border-top:1px solid #d4dfec;font-size:11px;color:#4a6180}.estate-legend-static{display:block;border-left:6px solid var(--area-color,transparent);padding:5px 9px;margin:3px 0;background:#f7f9fc;color:#4a6180;font-size:11px}.estate-legend .area-back{border-top:1px solid #d4dfec;margin-top:8px;color:#165dcc}.zone-presentation h3{font-size:16px;margin:20px 0 12px}.zone-presentation table{margin-bottom:16px}.area-finding{padding:12px;background:#edf4ff;border-left:4px solid #165dcc;font-size:13px;line-height:1.7}body:has(.zone-presentation:not([hidden])) .estate-legend{left:auto;right:65px;max-width:280px}#railAreas small{font-size:10px}@media(max-width:760px){.estate-legend{left:65px;right:50px;bottom:24px;max-width:none;max-height:25dvh;padding:8px;font-size:10px}.estate-legend-static{font-size:9px;padding:4px 7px}.estate-legend .estate-legend-aside{margin-top:6px;padding-top:5px;font-size:10px}body:has(.zone-presentation:not([hidden])) .estate-legend{left:65px;right:50px;max-width:none;max-height:20dvh}.zone-presentation h3{font-size:14px}}
.estate-count-badge{display:grid;gap:3px;min-width:118px;border:2px solid #fff;border-radius:10px;padding:8px 10px;background:var(--area-color);color:white;box-shadow:0 2px 7px #142a4540;text-align:center;font:12px/1.35 Tahoma,Arial,sans-serif;cursor:pointer}.estate-count-badge strong{font-size:13px}.estate-count-badge span{font-weight:bold}.estate-count-badge small{font-size:10px;opacity:.95}.estate-count-badge:focus-visible{outline:3px solid #112d49;outline-offset:3px}@media(max-width:760px){.estate-count-badge{min-width:100px;padding:6px 7px;font-size:11px}.estate-count-badge strong{font-size:11px}.estate-count-badge small{font-size:9px}}
.estate-overview-table tbody tr:last-child{background:#122f4e;color:white;font-weight:bold}.estate-overview-table tbody tr:last-child td small{color:#fff}.estate-overview-table tbody tr:last-child th{font-weight:bold}
.region-breakdown{margin:12px 0;border:1px solid #d3dfeb;border-radius:8px;padding:10px}.region-breakdown summary{cursor:pointer;font-size:13px;font-weight:bold;line-height:1.6}.region-breakdown[open] summary{margin-bottom:12px}.region-breakdown table:last-child{margin-bottom:0}
.estate-market-table tbody tr:last-child{background:#122f4e;color:#fff;font-weight:bold}.estate-market-table tbody tr:last-child td small{color:#fff}.market-row-detail{margin-top:7px;font-size:11px}.market-row-detail summary{cursor:pointer;color:#165dcc}.market-row-detail p{margin:6px 0;line-height:1.6}.estate-offmap-count{display:block;padding:6px 4px;border-top:1px solid #dce5ef;line-height:1.5}.estate-count-badge{max-width:205px}.estate-count-badge strong{overflow-wrap:anywhere}.estate-legend>small{display:block;margin:4px 0;color:#526a81}
.estate-legend,body:has(.zone-presentation:not([hidden])) .estate-legend{left:auto;right:64px;bottom:72px;max-width:min(320px,calc(100vw - 112px));max-height:none;overflow:visible;padding:0;pointer-events:auto}
.estate-legend .estate-legend-toggle{position:relative;display:block;width:100%;margin:0;padding:9px 32px 9px 13px;border:0;border-radius:11px;background:#122f4e;color:#fff;font-weight:bold;text-align:left;white-space:normal}
.estate-legend .estate-legend-toggle::after{content:'▾';position:absolute;right:12px;top:50%;transform:translateY(-50%)}.estate-legend.is-expanded .estate-legend-toggle::after{content:'▴'}
.estate-legend-content{display:none;max-height:min(46dvh,460px);overflow:auto;padding:10px 12px;overscroll-behavior:contain}
.estate-legend.is-expanded .estate-legend-content{display:block}
.estate-legend-content>small{display:block;margin:4px 0;color:#526a81}
.estate-legend .estate-legend-toggle:focus-visible,.estate-legend-content button:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
@media(max-width:760px){.estate-legend,body:has(.zone-presentation:not([hidden])) .estate-legend{left:auto;right:52px;bottom:72px;max-width:calc(100vw - 116px);font-size:11px}.estate-legend-content{max-height:35dvh;padding:8px}}
/* Heatmap legends own this map corner while active. Restore the area control when they close. */
body:has(#densityLegend:not([hidden])) .estate-legend,
body:has(.area-legend:not([hidden])) .estate-legend{display:none}
/* Show one map overlay at a time when another tool owns the available space. */
body:has(#askMaps:not([hidden])) .estate-legend,
body:has(#layerMenu:not([hidden])) .estate-legend,
body:has(#signAdvisor:not([hidden])) .estate-legend,
body:has(#signRadiusPanel:not([hidden])) .estate-legend,
body:has(#drawer.open) .estate-legend{display:none}
body:has(.zone-presentation:not([hidden])) .route-view-switch,
body:has(.zone-presentation:not([hidden])) .cohort-quick,
body:has(.zone-presentation:not([hidden])) .map-note,
body:has(.zone-presentation:not([hidden])) #densityLegend,
body:has(.zone-presentation:not([hidden])) .area-legend,
body:has(.zone-presentation:not([hidden])) .area-detail{display:none}
body:has(> .area-detail:not([hidden])) > .area-legend{display:none}
@media(max-width:1100px){
 body:has(#sidePanel:not(.closed)) .estate-legend,
 body:has(.zone-presentation:not([hidden])) .estate-legend{display:none}
}
@media(max-width:760px){
 body:has(#sidePanel:not(.closed)) #densityLegend,
 body:has(#signAdvisor:not([hidden])) #densityLegend,
 body:has(#layerMenu:not([hidden])) #densityLegend,
 body:has(#askMaps:not([hidden])) #densityLegend{display:none}
}
