:root {
  color-scheme:light;
  --bg:#eeede5; --ink:#202622; --muted:#687067; --line:#d8d9d0;
  --dim:#8b9287; --teal:#d13f2a; --amber:#ed553b; --panel:#f5f3eb;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --sidebar:336px; --header:74px;
}
* {box-sizing:border-box;}
html,body {margin:0;height:100%;background:var(--bg);color:var(--ink);}
body {font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;}
button,input,select {font:inherit;color:inherit;}
button {cursor:pointer;}
button:disabled {cursor:default;}
a {color:inherit;text-decoration:none;}
h1,h2,h3,p {margin:0;}
i[data-icon] {display:inline-flex;align-items:center;justify-content:center;flex:none;font-style:normal;}
.ui-icon {display:block;width:1em;height:1em;flex:none;}
[hidden] {display:none!important;}
:where(button,a,input,select,summary,[tabindex="0"]):focus-visible {outline:2px solid var(--amber);outline-offset:2px;}
.sr-only,.skip-link:not(:focus) {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.skip-link:focus {position:fixed;top:5px;left:5px;z-index:30;background:#162b30;padding:8px;}
.masthead {position:relative;z-index:7;flex:none;background:#111c21;border-bottom:1px solid #35444a;}
.mast-inner {height:var(--header);display:flex;align-items:stretch;padding:0 21px 0 19px;gap:25px;}
.brand {display:inline-flex;align-items:center;gap:8px;color:#f5f6f2;font-size:29px;font-weight:700;letter-spacing:-1.8px;line-height:1;white-space:nowrap;}
.brand img {width:34px;height:34px;}
.brand-period {color:var(--amber);}
.main-nav {display:flex;align-items:stretch;gap:7px;padding-left:25px;margin-left:0;position:relative;}
.main-nav:before {content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:#344248;}
.main-nav a {position:relative;display:flex;align-items:center;gap:8px;padding:0 11px;color:#b1c0c2;font-size:13px;font-weight:560;transition:color .15s;}
.main-nav a:hover,.main-nav a[aria-current] {color:#f3f4ed;}
.main-nav a[aria-current]:after {content:"";position:absolute;bottom:-1px;left:10px;right:10px;height:2px;background:var(--amber);}
.main-nav a[aria-current] i {color:#e5b96e;}
.main-nav i {font-size:15px;}
.state-indicator {display:inline-flex;align-items:center;align-self:center;gap:8px;margin-left:auto;color:#bdc9ca;font-size:12px;}
.state-indicator>span {width:6px;height:6px;background:#8fc8b6;border-radius:50%;}
.page {position:relative;flex:1;min-height:0;display:flex;flex-direction:column;}
.page:focus {outline:none;}
.atlas-layout {position:relative;flex:1;display:grid;min-height:0;grid-template-columns:var(--sidebar) minmax(0,1fr);}
body[data-sidebar=closed] .atlas-layout {grid-template-columns:0 minmax(0,1fr);}
body[data-sidebar=closed] .side-panel {visibility:hidden;pointer-events:none;}
.workspace-main {grid-column:2;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:auto;}
.side-panel {grid-column:1;grid-row:1;min-width:0;min-height:0;position:relative;z-index:4;background:linear-gradient(160deg,#19262c 0%,#162228 59%,#131e24 100%);border-right:1px solid #405058;box-shadow:3px 0 14px #0610132e;}
.side-scroll {height:100%;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#485c61 #162228;}
.side-head {position:relative;padding:23px 22px 16px;}
.region-label,.section-kicker,.micro {font:600 9px/1.5 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#a9babb;}
.region-label {display:flex;gap:8px;align-items:center;font-size:10px;color:#b5c6c6;}
.region-label>span:not(.region-line) {color:#758b90;}
.region-line {background:#d7ab67;height:2px;width:18px;}
.region-title {margin:7px 0 2px;font-weight:580;letter-spacing:-.056em;font-size:clamp(32px,2.65vw,40px);line-height:1.12;}
.side-head p {color:#acbdc0;font-size:12px;}
.side-close {display:none;position:absolute;top:19px;right:15px;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #35494d;color:#b7c9c8;background:#223137;border-radius:4px;}
.filters {padding:0 20px 15px;}
.locator {width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #5b7778;border-radius:6px;padding:10px 11px;background:#23343a;box-shadow:0 2px 4px #0002;color:#edf3ec;}
.locator>i {font-size:17px;color:#c6ddd4;}
.locator strong {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:540;}
.locator kbd {display:grid;place-items:center;margin-left:auto;width:19px;height:19px;color:#adbfbb;background:#1c2a2e;border:1px solid #45575b;border-radius:3px;font:11px var(--mono);}
.locator:hover,.locator.active {background:#2a3e42;border-color:#85aba5;}
.filter-caption {display:flex;justify-content:space-between;align-items:center;margin:17px 0 7px;}
.filter-caption h2,.rank-heading h2,.metric-card h2 {font-size:14px;line-height:1.4;letter-spacing:-.02em;font-weight:600;}
.filter-caption button {border:0;background:transparent;color:var(--teal);font-size:11.5px;padding:2px 0;}
.filter-caption button:disabled {color:#8fa1a4;}
.filter {display:flex;align-items:center;text-align:left;gap:10px;width:100%;border:1px solid #36474d;background:#1b2a30;border-radius:5px;min-height:44px;padding:6px 10px;transition:background .16s,border-color .16s;}
.filter+.filter {margin-top:5px;}
.filter:hover,.filter.active {border-color:#587571;background:#26373b;}
.filter-icon {font-size:15px;color:#95b6ae;}
.filter-text {display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;}
.filter-text small {font-size:10px;color:#a5b5b6;line-height:1.25;}
.filter-text strong {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:550;line-height:1.3;}
.chevron {color:#99adaf;font-size:12px;}
.sidebar-insights {border-top:1px solid #35454a;}
.metric-card {padding:17px 22px 16px;}
.readout-caption {display:flex;gap:7px;align-items:center;}
.readout-caption h2 {font-size:12px;letter-spacing:0;color:#c7d2d0;font-weight:540;}
.metric-dot {display:block;height:6px;width:6px;border-radius:50%;background:var(--amber);}
.metric-number {display:block;font-size:clamp(38px,3.1vw,51px);line-height:1.1;letter-spacing:-.058em;font-weight:570;margin:4px 0 6px;color:#f6f5eb;font-variant-numeric:tabular-nums;}
.metric-foot {display:flex;flex-direction:column;gap:1px;color:#adbec0;font-size:11.5px;line-height:1.35;}
#map-period {color:#99acae;}
.ranking-card {border-top:1px solid #35454a;padding:15px 22px 14px;}
.rank-heading {display:flex;justify-content:space-between;align-items:center;color:#ecf1ed;}
.rank-heading>i {color:#a8c0b6;font-size:16px;}
.rank-list {list-style:none;margin:13px 0 0;padding:0;}
.rank-list li+li {margin-top:11px;}
.rank-row {display:flex;align-items:baseline;gap:6px;}
.rank-name {flex:1;min-width:0;font:550 12px/1.35 var(--font);color:#e1e9e4;}
button.rank-name {background:transparent;border:0;padding:0;text-align:left;}
button.rank-name:hover {color:#9cdbcc;text-decoration:underline;text-underline-offset:2px;}
.rank-position {font:10px var(--mono);color:#98acae;}
.rank-value {color:#cedbd6;font:500 11px/1.4 var(--mono);}
.rank-track {display:block;background:#304047;height:3px;margin:4px 0 0 19px;position:relative;overflow:hidden;border-radius:6px;}
.rank-track span {display:block;width:var(--bar);height:100%;background:#90c2b4;border-radius:inherit;}
.rank-list li:nth-child(2) .rank-track span {background:#81b6a8;}
.rank-list li:nth-child(n+3) .rank-track span {background:#6da797;}
.card-link {display:inline-flex;align-items:center;gap:6px;color:#a5cfc2;font-size:11.5px;font-weight:570;margin-top:14px;}
.card-link i {font-size:14px;}
.card-link:hover {text-decoration:underline;}
.ranking-description {margin:5px 0 10px;font-size:11px;color:#adbfbe;}
.change-list {margin-top:0;}
.change-list li+li {border-top:1px solid #324348;padding-top:8px;margin-top:8px;}
.change-delta {font:600 10px var(--mono);padding:3px 5px;border-radius:4px;color:#cad4d0;background:#2b3c40;}
.change-delta[data-direction=up] {color:#eac487;background:#3a3427;}
.change-delta[data-direction=down] {color:#a3d4c5;background:#233b36;}
.change-detail {display:flex;gap:6px;color:#a1b5b5;margin:3px 0 0 19px;font:10px/1.5 var(--mono);}
.site-foot {margin-top:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 21px;border-top:1px solid #304046;color:#9baeb0;}
.source-key {display:flex;gap:9px;align-items:center;font-size:15px;}
.source-key span {display:flex;flex-direction:column;}
.source-key strong {font-size:10.5px;font-weight:550;color:#c4d1cd;}
.source-key small {font-size:10px;}
.site-foot>a {font-size:16px;}
.site-foot .pwa-install {padding:3px 5px;font-size:10px;}
#view-mapa {display:flex;flex:1;min-height:0;}
.map-card {display:flex;flex:1;min-width:0;min-height:0;flex-direction:column;overflow:hidden;background:#152c32;}
.map-stage {position:relative;isolation:isolate;flex:1;min-height:0;overflow:hidden;}
#atlas-map {position:absolute;inset:0;}
.map-controls-top {position:absolute;top:14px;left:15px;z-index:3;display:flex;align-items:center;gap:7px;}
.side-toggle,.mode-switch,.map-restore,.map-toolbar {box-shadow:0 2px 8px #0611164d;}
.side-toggle,.map-restore,.mode-switch,.map-toolbar,.compare-panel {background:#152329f5;border:1px solid #52666a;border-radius:6px;color:#dce9e3;}
.side-toggle,.map-restore {display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:560;min-height:36px;}
.side-toggle i,.map-restore i {font-size:15px;color:#b3c6c4;}
body[data-sidebar=open] .side-toggle span {display:none;}
.mode-switch {display:flex;padding:3px;gap:2px;}
.mode-button {display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:3px;padding:6px 8px;background:transparent;color:#bdcfcf;font-size:12px;line-height:1.25;font-weight:560;min-height:27px;}
.mode-button i {font-size:14px;}
.mode-button[aria-pressed=true],.mode-button[aria-expanded=true] {color:#f3ead7;background:#39413c;box-shadow:inset 0 0 0 1px #6c6851;}
.mode-button[aria-pressed=true] i,.mode-button[aria-expanded=true] i {color:var(--amber);}
.mode-button:hover,.side-toggle:hover,.map-restore:hover {background:#304047;}
.mode-button:disabled {opacity:.6;}
.compare-panel {position:absolute;top:59px;left:15px;z-index:3;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 11px;width:min(390px,calc(100% - 80px));box-shadow:0 3px 12px #07161b55;}
.compare-intro {flex-basis:100%;}
.compare-intro strong,.compare-intro small {display:block;}
.compare-intro strong {font-size:12px;}
.compare-intro small,.compare-panel label,#compare-status {font-size:11px;color:#b0c1c2;}
.compare-panel label {display:flex;align-items:center;gap:4px;}
.compare-panel select {font-size:12px;color:#e7eeeb;border:1px solid #4b6265;background:#26383d;border-radius:4px;padding:4px;}
.compare-apply {border:1px solid #557d76;background:#2a4a45;color:#c5e6d8;font-size:11px;font-weight:600;padding:5px 8px;border-radius:4px;}
.compare-apply:disabled {opacity:.57;}
#compare-status {flex-basis:100%;}
#compare-status:empty {display:none;}
.map-toolbar {position:absolute;top:14px;right:14px;z-index:3;display:flex;flex-direction:column;overflow:hidden;}
.map-toolbar button {display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-bottom:1px solid #3c5054;background:transparent;color:#d8e5df;font-size:16px;}
.map-toolbar button:last-child {border-bottom:0;}
.map-toolbar button:hover {background:#30454a;}
.map-toolbar button:focus-visible {outline-offset:-3px;}
.map-toolbar button:disabled {opacity:.4;}
.map-foot {min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 13px;background:#142025;border-top:1px solid #33444a;color:#adbec0;font-size:10.5px;}
.map-foot span {display:inline-flex;align-items:center;gap:6px;}
.map-foot i {font-size:12px;color:#9fb8b4;}
.map-failure {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#dbe8e2;text-align:center;}
.map-failure button {padding:6px 10px;background:#26373d;border:1px solid #52706d;border-radius:4px;}
#notice,.no-js {padding:8px 16px;background:#3a3222;color:#f3ddb2;border-bottom:1px solid #786037;font-size:13px;}
#notice button {margin-left:8px;background:transparent;border:0;color:#fff1d1;text-decoration:underline;}
.no-data {font-size:12px;color:#b5c7c5;}
.page-intro {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:25px 26px 17px;}
.page-intro h1 {font-size:clamp(30px,3.4vw,45px);line-height:1.12;font-weight:570;letter-spacing:-.05em;}
.page-intro p {color:#acbec0;font-size:14px;margin-top:4px;}
.mobile-side-button {display:none;}
body:not([data-view=mapa]) .sidebar-insights {display:none;}
body[data-view=metodologia] .region-title {font-size:29px;}
body:not([data-view=mapa]) .workspace-main {padding-bottom:20px;}
#view-indicadores,#view-metodologia {padding:0 24px;}
#expanded-map-dialog {margin:0;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;padding:0;color:var(--ink);}
#expanded-map-dialog::backdrop {background:#081216;}
#expanded-map-dialog .map-card {height:100%;}
#expanded-map-dialog .side-toggle {display:none;}
#expanded-map-dialog .map-foot {padding-bottom:max(4px,env(safe-area-inset-bottom));}
#side-scrim {display:none;}
@media(min-width:761px) and (max-height:780px) {
  .side-head {padding-top:15px;padding-bottom:12px;}.region-title {font-size:31px;}
  .filter-caption {margin-top:12px;}.filters{padding-bottom:12px;}
  .metric-card,.ranking-card {padding-block:12px;}
  .rank-list li+li {margin-top:8px;}.site-foot {padding-block:9px;}
}
@media(max-width:1000px) {
  :root {--sidebar:280px;}
  .mast-inner {gap:15px;padding-inline:14px;}.main-nav {padding-left:15px;}
  .side-head,.filters,.metric-card,.ranking-card {padding-inline:16px;}
  .side-toggle span {display:none;}
  .map-controls-top {left:10px;gap:4px;}.map-toolbar {right:10px;}
  .compare-panel {left:10px;}
}
@media(max-width:760px) {
  :root {--header:88px;}
  .mast-inner {height:88px;display:grid;grid-template-columns:1fr auto;grid-template-rows:49px 39px;column-gap:10px;row-gap:0;}
  .brand {justify-self:start;font-size:26px;gap:6px;}.brand img {width:31px;height:31px;}
  .state-indicator {font-size:10px;gap:5px;grid-column:2;grid-row:1;}
  .main-nav {grid-row:2;grid-column:1/-1;padding:0;gap:0;justify-content:space-between;}.main-nav:before{display:none;}
  .main-nav a {flex:1;justify-content:center;font-size:12px;gap:5px;}.main-nav a[aria-current]:after{left:3px;right:3px;}
  .atlas-layout,body[data-sidebar=closed] .atlas-layout {display:block;}
  .workspace-main {height:100%;width:100%;}
  .side-panel {position:absolute;inset:0 auto 0 0;width:min(87vw,340px);z-index:6;box-shadow:8px 0 28px #04111766;}
  .side-close {display:flex;}
  #side-scrim:not([hidden]) {position:absolute;display:block;inset:0;width:100%;height:100%;z-index:5;background:#03101485;border:0;}
  .region-title {font-size:33px;}
  .map-controls-top {top:10px;left:8px;right:48px;gap:4px;flex-wrap:wrap;}
  .map-toolbar {top:10px;right:7px;}
  .map-toolbar button {width:32px;height:33px;}
  .side-toggle {min-width:33px;min-height:34px;padding:6px;}
  .side-toggle span {display:inline;}
  .mode-button {font-size:11px;padding:5px;gap:4px;}
  .mode-button i {font-size:12px;}
  .mode-switch {padding:2px;}
  .compare-panel {top:52px;left:8px;width:calc(100% - 58px);}
  .map-foot {padding-inline:8px;font-size:9.5px;}.map-foot>span:last-child{display:none;}
  .page-intro {padding:18px 14px 12px;}
  .page-intro p {font-size:13px;}
  .mobile-side-button {display:inline-flex;gap:5px;align-items:center;padding:6px 8px;border:1px solid #41585b;border-radius:3px;background:#23353a;font-size:12px;}
  #view-indicadores,#view-metodologia {padding-inline:12px;}
  #expanded-map-dialog .map-restore {font-size:10px;min-height:32px;padding:5px 6px;}
}
@media(max-width:385px) {.side-toggle span{display:none;}.mode-button {font-size:10.5px;}}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after {scroll-behavior:auto!important;transition-duration:.01ms!important;} }
@media(min-width:761px) {
  .atlas-app #filter-dialog[data-anchored=true] {position:fixed;inset:var(--dialog-top) auto auto var(--dialog-left);margin:0;width:min(390px,calc(100vw - 50px));max-height:calc(100dvh - var(--dialog-top) - 12px);box-shadow:0 10px 38px #050b10a0;}
  .atlas-app #filter-dialog[data-anchored=true]::backdrop {background:#0a15192e;}
  .filter-text strong,.locator strong {font-size:14px;}.rank-name {font-size:13px;}.rank-value {font-size:11.5px;}
}
@media(min-width:761px) and (max-width:900px) {
  .state-indicator {display:none;}
}
.method-link {color:var(--teal);text-decoration:underline;text-underline-offset:2px;}
.place-search {position:relative;z-index:4;}
.locator {cursor:text;}
.locator:focus-within {border-color:#a3cdbc;box-shadow:0 0 0 2px #7eaa9a30;}
.locator input {min-width:0;width:100%;padding:0;border:0;outline:0!important;background:transparent;color:#f1f5f1;font:540 14px/1.35 var(--font);}
.locator input::placeholder {color:#dbe8e1;opacity:1;}
.place-results {position:absolute;left:0;right:0;top:calc(100% + 5px);overflow:hidden;border:1px solid #536b69;border-radius:6px;background:#1b2b30;box-shadow:0 8px 22px #0810149c;}
.place-caption {padding:8px 11px;border-bottom:1px solid #344a4d;font:550 10px/1.4 var(--mono);color:#aac0bb;}
.place-results ul {max-height:min(330px,43dvh);margin:0;padding:3px;list-style:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#506664 #1c2c30;}
.place-results [role=option] {display:block;cursor:pointer;padding:7px 8px;border:1px solid transparent;border-radius:3px;line-height:1.25;}
.place-results [role=option]:hover,.place-results [role=option][aria-selected=true] {background:#2a4241;border-color:#4d6d67;}
.place-results strong,.place-results small {display:block;}
.place-results strong {font-size:13px;font-weight:570;color:#e7eee9;}
.place-results small,.place-empty {color:#a5bbbb;font-size:11px;margin-top:2px;}
.place-empty {padding:7px 10px 10px;}
.territory-crumbs {display:flex;align-items:center;flex-wrap:wrap;gap:2px 5px;margin:6px 1px 0;color:#a6b9b7;font-size:11px;}
.territory-crumbs button {border:0;background:none;padding:2px 0;color:#a8d2c4;font-size:inherit;text-decoration:underline;text-underline-offset:2px;}
.territory-crumbs strong {color:#dce7df;font-weight:570;}
.category-control {display:flex;margin-top:5px;align-items:stretch;gap:4px;}
.category-control .filter {min-width:0;}
#remove-category {flex:0 0 29px;display:grid;place-items:center;border-radius:4px;border:1px solid #49645d;background:#263934;color:#c2ded1;font-size:14px;}
.see-natures {display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;margin:12px 0 0;padding:6px 8px;background:#24363a;border:1px solid #425b58;border-radius:4px;color:#c9e3d8;font-size:12px;font-weight:560;}
.see-natures:after {content:'↓';font-size:14px;}
.region-label #region-level {color:#b5c6c6;}
#filter-dialog .nature-count {font-family:var(--mono);font-size:12px;color:#b7d3c9;white-space:nowrap;}
#filter-dialog .nature-period {color:#aebfbb;font-size:12px;margin-bottom:10px;}
@media(max-width:760px){.locator input {font-size:16px;}}
#show-district-details {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:0;background:transparent;color:var(--teal);padding:2px 4px;font-weight:600;font-size:11px;}
#show-district-details:hover {text-decoration:underline;}
body[data-sidebar=open] #view-mapa #show-district-details {display:none;}
.map-foot:has(#show-district-details:not([hidden])) {gap:4px;}
#ranking-title:focus:not(:focus-visible) {outline:none;}
.district-directory-cta,.open-sheet,.map-directory-action,.territory-map-link {display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;line-height:1.35;font-weight:650;}
.district-directory-cta {display:flex;justify-content:flex-start;margin-top:12px;padding:8px 10px;background:#c9dbc1;border:1px solid #d5e5ce;color:#192d26;border-radius:5px;min-height:35px;}
.district-directory-cta i:last-child,.open-sheet i:last-child {margin-left:auto;}
.district-directory-cta:hover,.map-directory-action:hover {background:#dbebd3;color:#132820;}
.map-directory-action {min-height:35px;border:1px solid #ccdbbd;border-radius:5px;background:#d1dfc8;color:#20352c;padding:5px 9px;box-shadow:0 2px 8px #0611164d;}
body[data-sidebar=open] #view-mapa .map-directory-action {display:none;}
.district-snapshot {padding:14px 22px;border-top:1px solid #35454a;background:#1b2c2e;}
.snapshot-heading h2 {font:620 16px/1.3 var(--font);margin:2px 0;color:#eff4ed;}
#snapshot-scope {font-size:12px;color:#b1c7bf;margin:4px 0 8px;}
.sparkline, .profile-bars {display:flex;align-items:flex-end;gap:2px;height:30px;overflow:hidden;}
.sparkline span,.profile-bars span {display:block;flex:1;min-width:0;background:#82b8aa;height:var(--level);border-radius:1px 1px 0 0;}
.sparkline span.no-coverage,.profile-bars span.no-coverage {height:100%;background:linear-gradient(135deg,transparent 40%,#536663 42% 55%,transparent 57%);}
.open-sheet {display:flex;justify-content:flex-start;color:#d5eee0;margin-top:10px;padding:6px 0 1px;}
.open-sheet:hover,.territory-dialog-foot a:hover {text-decoration:underline;text-underline-offset:3px;}
#territory-dialog {margin:auto;width:min(760px,calc(100% - 32px));max-width:none;height:min(740px,calc(100dvh - 50px));max-height:calc(100dvh - 38px);padding:0;color:#edf3ee;background:#152429;border:1px solid #576d6d;border-radius:12px;box-shadow:0 24px 80px #05090bab;overflow:hidden;}
#territory-dialog[open] {display:flex;flex-direction:column;}
#territory-dialog::backdrop {background:#061115a6;}
.territory-dialog-head {display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:12px;padding:19px 22px 15px;border-bottom:1px solid #384b4f;background:#1b2c30;}
.territory-dialog-head h2 {font-size:clamp(22px,2.4vw,30px);font-weight:600;line-height:1.17;letter-spacing:-.035em;margin-top:3px;}
.territory-dialog-head p {color:#b8cbc6;font-size:13px;line-height:1.4;margin-top:4px;}
.territory-dialog-head .dialog-close {flex:none;display:grid;place-items:center;background:#273d41;border:1px solid #455c5e;width:34px;height:34px;border-radius:5px;color:#d3e1dc;font-size:18px;}
.territory-dialog-content {padding:16px 22px;min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-color:#4d6664 #18292c;scrollbar-width:thin;}
.territory-dialog-foot {flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #374d50;background:#1c2e32;padding:10px 22px;color:#b8decd;font-size:13px;}
.territory-map-link {margin-left:auto;color:#d6ece0;padding:6px 10px;background:#2b4544;border:1px solid #4c7168;border-radius:5px;}
.district-totals {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:8px;}
.district-total {background:#213337;border:1px solid #3d5152;border-radius:5px;padding:9px 10px;display:flex;flex-direction:column;gap:1px;}
.district-total strong {font-size:22px;font-weight:600;line-height:1.12;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.district-total small,.coverage-caption,.sheet-help {font-size:12px;line-height:1.4;color:#b4c5c3;}
.directory-controls {position:sticky;top:-16px;z-index:1;display:flex;align-items:center;gap:8px;background:#152429;padding:9px 0;}
.directory-controls input {min-width:0;flex:1;width:100%;padding:9px 10px;border:1px solid #556c68;border-radius:5px;color:#edf4ee;background:#102025;}
.directory-controls select {border:1px solid #49615c;border-radius:5px;background:#22363a;padding:8px 6px;font-size:12px;}
.directory-list,.sheet-numbers {list-style:none;margin:0;padding:0;}
.directory-list li+li,.sheet-numbers li+li {border-top:1px solid #304347;}
.directory-list button {width:100%;background:transparent;border:0;display:flex;align-items:center;gap:8px;min-height:39px;text-align:left;padding:7px 5px;color:#e9f1e9;}
.directory-list button:hover {background:#243a3c;}
.directory-list button strong {flex:1;font-weight:560;font-size:14px;}
.directory-list button small {color:#bacbc6;white-space:nowrap;font:12px/1.2 var(--mono);}
.directory-list .row-arrow {color:#8bb5a7;font-size:17px;}
.sheet-section {margin:16px 0 8px;}
.sheet-section h3 {margin:0 0 6px;color:#eff5ef;font-size:17px;line-height:1.3;font-weight:600;}
.sheet-section .sheet-context {font-size:12px;color:#a9beb9;margin:3px 0 7px;}
.profile-bars {height:75px;gap:2px;padding:4px 0 0;background:linear-gradient(to top,#40575055 1px,transparent 1px) 0 0/100% 25px;}
.profile-bars span {background:#89bdac;}
.sheet-range {display:flex;justify-content:space-between;font:10px/1.3 var(--mono);color:#aac1b9;margin:3px 0 7px;}
.sheet-table summary {color:#a4d9c1;font-size:12px;cursor:pointer;}
.sheet-values {max-height:175px;overflow:auto;margin-top:5px;}
.sheet-values table {width:100%;border-collapse:collapse;color:#dbe8de;font-size:13px;font-variant-numeric:tabular-nums;}
.sheet-values td,.sheet-values th {padding:3px 6px;border-bottom:1px solid #32464a;text-align:left;}
.sheet-values :is(td,th):last-child {text-align:right;}
.sheet-grid {display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.sheet-numbers {max-height:205px;overflow:auto;scrollbar-width:thin;}
.sheet-numbers li {display:flex;justify-content:space-between;gap:10px;padding:5px 2px;color:#d6e3db;font-size:13px;}
.sheet-numbers strong {white-space:nowrap;font:600 12px var(--mono);color:#e9f3e9;}
.directory-loading {padding:18px 0;color:#afc4bf;font-size:14px;}
@media(max-width:760px) {
  .district-snapshot{padding-inline:16px;}
  .map-directory-action{font-size:11px;min-height:30px;padding:5px 7px;}
  #map-card:has(.map-directory-action:not([hidden])) .compare-panel {top:91px;}
}
@media(max-width:560px) {
  #territory-dialog {width:100%;height:min(92dvh,780px);max-height:95dvh;margin:auto 0 0;border-radius:12px 12px 0 0;}
  .territory-dialog-head{padding:15px;}.territory-dialog-content{padding:10px 14px;}.territory-dialog-foot{padding:8px 14px max(8px,env(safe-area-inset-bottom));}
  .directory-controls{top:-10px;}.directory-controls input{font-size:16px;}
  .sheet-grid{grid-template-columns:1fr;}.district-total{padding:7px;}.district-total small{font-size:10px;}.district-total strong{font-size:19px;}
}
.sheet-highlights {display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.sheet-highlight {display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;background:#263a39;border:1px solid #405b52;border-radius:4px;padding:7px 9px;}
.sheet-highlight small {grid-column:1/-1;color:#b2c8ba;font-size:10.5px;}
.sheet-highlight strong {font:600 13px/1.35 var(--font);color:#eaf3e8;}
.sheet-highlight span {font:550 11px/1.3 var(--mono);color:#c0dbca;white-space:nowrap;}
.sheet-highlight:nth-child(3) {grid-column:1/-1;}
.sheet-years {display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 8px;}
.sheet-years span {display:flex;align-items:baseline;gap:5px;padding:2px 5px;background:#24393b;border-radius:3px;font:550 11px var(--mono);color:#d9e6db;}
.sheet-years b {font-weight:500;color:#a2bbb1;}
@media(max-width:560px) {.sheet-highlights{grid-template-columns:1fr;}}
#map-explorer:empty {display:none;}
.explorer-retry {background:#213538;color:#dbecdf;border:1px solid #50726b;border-radius:4px;padding:6px 9px;font-size:12px;}
.daily-controls {display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 5px;}
.daily-toggle {display:inline-flex;gap:3px;border:1px solid #506661;border-radius:5px;padding:3px;background:#172a2d;}
.daily-toggle button {border:0;border-radius:3px;padding:6px 9px;background:transparent;color:#bed1c8;font-size:12px;font-weight:570;}
.daily-toggle button[aria-pressed=true] {background:#36554a;color:#eef5e8;}
.daily-month {padding:5px;border:1px solid #4a635b;border-radius:4px;background:#22373b;color:#e2eee3;font-size:12px;}
.daily-table {max-height:190px;overflow:auto;scrollbar-width:thin;}
.daily-table table {width:100%;border-spacing:0;font-size:13px;color:#e3eee6;font-variant-numeric:tabular-nums;}
.daily-table td,.daily-table th {text-align:left;padding:5px 6px;border-bottom:1px solid #33494a;}
.daily-table th {position:sticky;top:0;background:#213638;font-size:11.5px;color:#adc6b9;}
.daily-table :is(th,td):last-child {text-align:right;}
#daily-profile>.sheet-help {margin-top:6px;}
.sheet-extra {margin-top:14px;border-top:1px solid #354a49;padding-top:12px;}
.sheet-extra summary {color:#b9dec9;font-weight:560;font-size:13px;cursor:pointer;}
.daily-pages {display:flex;align-items:center;gap:8px;color:#aac1b4;font:11px/1.4 var(--font);}
.daily-pages:not(:empty) {margin-top:5px;}
.daily-pages button {padding:3px 6px;border:1px solid #4d685d;border-radius:3px;background:#243a35;color:#c4e1cc;font:inherit;}
@media(max-width:530px) {.state-indicator {white-space:nowrap;}}
