:root{font-family:system-ui,sans-serif;color:#243b39;background:#f5f8f6;--brand:#355c51;--line:#cbd8d1}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-size:24px;font-weight:700}.brand img{height:46px}.brand span{font-size:18px;font-weight:400}nav,.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}a{color:#255b67}button,input,select{font:inherit}button,select,input:not([type=checkbox]):not([type=color]):not([type=range]){min-height:42px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:white;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--brand);color:white;border-color:var(--brand)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,svg:focus-visible{outline:3px solid #b26a28;outline-offset:2px}main{display:grid;grid-template-columns:minmax(0,1fr) 350px;height:100dvh}.map-area{position:relative;min-width:0;background:#f6faf9;overflow:hidden}.map-tools{position:absolute;z-index:1;top:12px;left:12px;display:flex;gap:5px;flex-wrap:wrap}#map{width:100%;height:100%;touch-action:none;display:block}#map-status{font-size:13px}aside{overflow:auto;padding:18px;background:white;border-left:1px solid var(--line)}h1{font-size:24px;margin:0 0 8px}h2{font-size:19px}p{line-height:1.45}label{display:block;margin:10px 0}label>input:not([type=checkbox]),label>select{width:100%;margin-top:4px}details{border-block-end:1px solid var(--line);padding:12px 0}summary{font-weight:650;cursor:pointer}.checks{max-height:220px;overflow:auto}.checks label{margin:4px 0}.layer{padding:8px 0;border-bottom:1px solid #edf0ee}.layer .row{gap:5px}.layer label{margin:4px 0}.layer input[type=range]{width:110px}.small,small{font-size:12px;color:#556a62}.map-swatch{display:inline-block;width:15px;height:15px;margin-right:6px}#legend{padding-left:18px}#legend li{margin-bottom:8px}#warning{color:#8a4b14}dialog{border:1px solid var(--line);border-radius:14px;max-width:min(620px,calc(100vw - 24px));width:580px;max-height:88dvh;overflow:auto;padding:22px}dialog::backdrop{background:#142d2866}.close{float:right}.saved-map{border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0}.saved-map h3{margin:0 0 6px}.saved-map .row{margin-top:8px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;z-index:100;background:white}#org-results button,#org-selected button{display:block;margin:5px 0;width:100%;text-align:left}[hidden]{display:none!important}@media(max-width:760px){header{padding:8px;align-items:flex-start;gap:8px}header nav{font-size:13px;justify-content:flex-end}.brand{font-size:20px}.brand img{height:34px}.brand span{display:none}main{display:block;height:auto}.map-area{height:55dvh;min-height:340px;position:sticky;top:0;z-index:2}aside{border:0;padding:16px}#map-status{font-size:11px}.map-tools button{min-height:38px;font-size:12px}.checks{max-height:180px}}

.layer-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.layer-heading label{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.layer-name{min-width:0;line-height:1.2}.layer-expand{flex:none;width:36px;padding:4px;min-height:36px}.layer-style-preview{flex:none;width:56px;height:38px;min-height:38px;padding:2px 3px;border:1px solid transparent;border-radius:8px;background:transparent;display:grid;place-items:center}.layer-style-preview:hover,.layer-style-preview[aria-expanded="true"]{border-color:var(--line);background:#f7faf8}.layer-style-preview svg{display:block;width:50px;height:32px;overflow:visible}.layer input[type=color]{width:38px;height:32px;border:0;padding:0;background:none}.layer-width-control input[type=range]{width:90px}#download-map{display:block;width:100%;margin-top:10px}#controls>button.primary{width:100%;margin-top:12px}#affiliation-results button{display:block;width:100%;text-align:left;margin:5px 0}#account-status:empty,#warning:empty{display:none}#legend svg{vertical-align:middle;margin-right:5px}

#map-list.map-picker{max-height:322px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px}#map-list .map-choice{display:flex;align-items:center;gap:12px;height:64px;margin:0;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer}#map-list .map-choice:last-child{border-bottom:0}.map-choice.selected{background:#e8f2ed}.map-choice>span{min-width:0}.map-choice strong,.map-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-choice input[type=radio]{appearance:none;flex:none;width:24px;height:24px;min-height:0;padding:0;margin:0;border:2px solid #70897e;border-radius:5px;display:grid;place-content:center}.map-choice input:checked{background:var(--brand);border-color:var(--brand)}.map-choice input:checked::after{content:'✓';color:white;font-size:18px;line-height:1}#map-actions{padding-top:14px}#map-actions .primary{flex-basis:100%}#library-status{font-size:14px}#map-list>p{padding:12px}

#map-list .map-choice input[type=radio]{width:24px;height:24px;min-height:24px;padding:0;margin:0;border:2px solid #70897e;border-radius:5px;background:white}#map-list .map-choice input[type=radio]:checked{background:var(--brand);border-color:var(--brand)}#map-list.map-picker{max-height:min(322px,calc(88dvh - 350px));min-height:64px}#library h2{margin:12px 0 20px}#library>label{margin:8px 0}

.points-control{min-width:0}.points-control>label{margin-bottom:4px}.points-control>button{text-align:left;width:100%}#points-options{border:1px solid #bfd2ce;border-radius:6px;margin-top:5px;padding:7px;background:white}#points-checks label{display:flex;flex-direction:row;align-items:center;gap:6px;font-weight:400;line-height:1.35;padding:6px 0}#map-filters #points-checks input{width:17px!important;height:17px!important;min-height:17px!important;flex:none;margin:0}#points-checks svg{flex:none}.points-actions{display:flex;gap:7px;margin-top:8px}#points-options p{font-size:12px;margin:6px 0}#points-status,#points-source{font-size:12px;line-height:1.45;overflow-wrap:anywhere}#points-legend-section{border-top:1px solid #ccdeda;padding-top:12px;margin-top:12px}#points-legend{list-style:none;padding:0}#points-legend li{display:flex;align-items:center;gap:7px;font-size:13px;margin:8px 0}#points-legend svg{flex:none}#points-list-section{font-size:14px;margin:12px 0}#points-list{padding-left:20px}#points-list li{margin:12px 0}#points-list p{font-size:12px;margin:4px 0}#points-list button{text-align:left}#map .food-map-marker:focus>rect{stroke:#ffd75c;stroke-width:3}#map .food-map-marker:focus{outline:none}.food-map-marker>*{pointer-events:none}#point-dialog{width:min(640px,calc(100vw - 32px));max-width:calc(100vw - 24px);max-height:85dvh;overflow:auto;box-sizing:border-box;padding:22px}#point-dialog h2{padding-right:30px}#point-body{overflow-wrap:anywhere;font-size:15px;line-height:1.5}.point-site+.point-site,.point-service{border-top:1px solid #ccdeda;margin-top:18px;padding-top:14px}.point-service h4{font-size:18px;margin:0 0 5px}.point-service h5{font-size:15px;margin:12px 0 4px}.point-service p{margin:5px 0}#point-close{position:sticky;top:0;float:right;background:white;min-width:36px;min-height:36px}#map-tooltip{max-width:min(330px,calc(100% - 10px));overflow-wrap:anywhere}
.points-food-group{border-top:1px solid #dce8e3;margin-top:6px;padding-top:6px}#points-food-children{padding-left:26px}#points-food-children label{font-size:14px}.food-source-hover{position:fixed;z-index:60;width:min(740px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;background:white;color:#173b39;border:1px solid #b6cdc5;border-radius:10px;box-shadow:0 8px 30px #173b3938;padding:12px}.source-hover-heading{display:flex;align-items:center;gap:14px;margin-bottom:8px;font-size:15px}.source-hover-heading strong{flex:1}.source-hover-heading button{padding:2px 7px;min-height:28px;min-width:28px;font-size:20px;line-height:1;border:1px solid #ccdeda;background:white;color:#21584f;border-radius:5px}.source-hover-scroll{max-height:min(420px,calc(100dvh - 100px));overflow:auto;overscroll-behavior:contain}.food-source-hover table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:14px;line-height:1.4}.food-source-hover th,.food-source-hover td{min-width:0;padding:8px;text-align:left;vertical-align:top;border-bottom:1px solid #dce8e3;overflow-wrap:anywhere;white-space:normal}.food-source-hover th{position:sticky;top:0;background:#eef5f1;color:#173b39;font-weight:650;z-index:1}.food-source-hover th:first-child{width:46%}.food-source-hover th:nth-child(2){width:24%}.food-source-hover th:nth-child(3){width:30%}.food-source-hover a:link,.food-source-hover a:visited{color:#21584f;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#8faaa1}.food-source-hover a:hover{color:#123b32;text-decoration-color:currentColor}.food-source-hover a:focus-visible,.food-source-hover button:focus-visible{outline:3px solid #dba952;outline-offset:3px}@media(max-width:540px){.food-source-hover{padding:9px}.food-source-hover table{font-size:14px}.food-source-hover td,.food-source-hover th{padding:6px}.source-hover-heading{font-size:13px}}
.food-source-hover .service-hover-table th:first-child{width:38%}.food-source-hover .service-hover-table th:nth-child(2){width:40%}.food-source-hover .service-hover-table th:nth-child(3){width:22%}
#legend{list-style:none;padding-left:0}#map-tooltip{position:absolute;z-index:4;pointer-events:none;padding:9px 12px;background:#173b39;color:white;border-radius:6px;font-size:14px;box-shadow:0 2px 8px #0003}#map [data-county],#map [data-seat],#map [data-tract],#map [data-point-group]{cursor:pointer}#map .food-map-marker:focus>path,#map .food-map-marker:focus>circle{stroke:#ffd75c;stroke-width:3}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

.map-brand{position:absolute;z-index:3;top:12px;left:12px;display:block;border-radius:50%;line-height:0}.map-brand img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 1px 3px #0002)}.map-tools{left:76px}.save-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}@media(max-width:760px){.map-brand img{width:42px;height:42px}.map-tools{left:62px}}

.map-tools button{min-height:32px;padding:5px 8px;font-size:13px}.map-tools #zoom-in,.map-tools #zoom-out{min-width:30px}#map [data-tract]:focus,#map [data-county]:focus{outline:none}#map [data-tract]:focus-visible,#map [data-county]:focus-visible{stroke:#b26a28;stroke-width:2px;stroke-opacity:1;vector-effect:non-scaling-stroke}

@media(max-width:760px){.map-tools{display:none}#metric,#metric option{font-size:13px}#metric{max-width:100%}}

/* F1534 — Circles */
#circles-section #circle-radius{width:100%}.circle-toolbar{gap:5px}.circle-toolbar button{flex:1;min-width:110px}
#circle-hint{margin:10px 0;line-height:1.5}
#circle-list{margin:10px 0}.circle-row{border:1px solid #d5e1db;border-radius:9px;margin:10px 0;padding:9px;background:#fcfefd}
.circle-head{display:flex;align-items:center;gap:8px;min-width:0}.circle-visible{margin:0!important;display:flex;align-items:center}
.circle-visible input{width:18px;height:18px}.circle-title{font-size:14px;flex:1;overflow-wrap:anywhere}
.circle-radius-label{font-size:12px;white-space:nowrap;color:#526b62}.circle-outside{color:#9b5717;font-size:12px;margin:5px 0}
.circle-swatch{min-height:30px!important;width:49px;min-width:49px;padding:1px!important;display:grid;place-items:center}
.circle-swatch svg{display:block}.circle-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap;margin-top:7px}
.circle-actions button{font-size:12px;min-height:30px;padding:4px 7px}
.circle-settings{margin-top:9px;padding:9px;border:1px solid #d5e1db;border-radius:7px;background:#f5faf7}
.circle-settings label{font-size:13px;margin:7px 0}.circle-settings input[type="text"],.circle-settings input[type="number"]{width:100%;margin-top:4px}
.circle-settings input[type="range"]{width:80%;vertical-align:middle}.circle-settings output{font-size:12px;margin-left:7px}
.circle-settings input[type="color"]{vertical-align:middle;width:48px;height:34px;padding:0;min-height:34px}
.circle-settings .circle-hex{width:110px!important;margin:0 0 0 8px;font-family:monospace;font-size:13px}
#map.circle-placement-active{cursor:crosshair!important}#map.circle-placement-active [data-county],
#map.circle-placement-active [data-tract]{cursor:crosshair!important}
#legend li[data-circle-legend]{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}
#legend li[data-circle-legend] svg{flex:none;width:24px;height:24px}
@media(max-width:760px){.circle-toolbar button{min-width:90px}.circle-settings .circle-hex{max-width:95px}}

/* F1547: ZIP search within the Layers accordion. */
#zip-tools{margin:12px 0 3px;padding:10px;border:1px solid #d8e3df;border-radius:9px;background:#f7faf8}
#zip-search-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
#zip-search-form label{flex:1;min-width:135px;margin:0}
#zip-search{max-width:100%;font-variant-numeric:tabular-nums;letter-spacing:0.02em}
#zip-search-form button{flex:none;min-height:38px}
#zip-help{margin:9px 0 4px}
#zip-status{font-size:13px;margin:5px 0;line-height:1.35}

/* F1550: user-selected municipality points immediately below County seats. */
#cities-tools{margin:7px 0 12px 22px;padding:11px;border:1px solid #d7e3df;border-radius:8px;background:#f7fbfa}
#cities-tools label{display:block;margin:5px 0}
#cities-tools .city-filters{gap:8px;align-items:end;display:flex;flex-wrap:wrap}
#cities-tools .city-filters label{flex:1;min-width:125px}
#cities-tools input[type="search"],#cities-tools select{width:100%;min-width:0}
#city-results,#city-selected{margin:8px 0;max-height:285px;overflow-y:auto;overscroll-behavior:contain}
#city-results .city-result,#city-selected .city-selected-row{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #e1ebe7;padding:6px 0}
#city-results .city-result span,#city-selected .city-selected-row span{min-width:0;overflow-wrap:anywhere;font-size:13px}
#city-results .city-result small{display:block;font-size:11px;color:#60716d;text-transform:capitalize}
#city-results .city-result button,#city-selected .city-selected-row button{flex:none;min-width:62px;min-height:32px;font-size:12px}
#city-search-count{align-self:center}
#city-status{font-size:12px;margin:6px 0;line-height:1.4}
@media(max-width:650px){#cities-tools{margin-left:5px;padding:8px}.city-filters label{min-width:110px}}

/* F1558: clickable, accessible graphic marker-shape choices */
.marker-shape-fieldset{min-width:0;border:0;margin:8px 0 12px;padding:0}
.marker-shape-fieldset>legend{font-weight:600;font-size:13px;padding:0 0 6px}
.marker-shape-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}
.marker-shape-choice{min-width:0;min-height:76px;padding:6px 2px 5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:2px solid #cbd8d1;background:#fff;border-radius:9px;color:#29423b;line-height:1.1}
.marker-shape-choice svg{display:block;width:38px;height:38px;max-width:100%;flex:none;overflow:visible}
.marker-shape-choice span{font-size:11px;text-align:center;overflow-wrap:anywhere}
.marker-shape-choice:hover{background:#f0f7f3;border-color:#688f80}
.marker-shape-choice[aria-pressed="true"]{background:#e2efe8;border-color:#285a49;box-shadow:inset 0 0 0 1px #285a49;font-weight:650}
.marker-shape-choice:focus-visible{outline:3px solid #b26a28;outline-offset:2px}
@media(max-width:330px){.marker-shape-options{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* F1564: authenticated-source organization geography presets */
.org-scope-picker{margin:12px 0;padding:12px;border:1px solid #cedbd6;border-radius:9px;background:#f8fbf9}
.org-scope-picker label{margin:3px 0 9px}.org-scope-picker select,.org-scope-picker input{max-width:100%}
.org-scope-picker .row{margin-top:8px}.org-scope-picker .row button{flex:1;min-width:115px}
#scope-description{line-height:1.5;min-height:22px}

/* F1567: compact source-metric chooser. */
.metric-selection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.metric-selection-actions #metric-open,.metric-selection-actions #metric-remove{width:auto;flex:none;min-height:34px;padding:6px 10px;font-size:13px}
#metric-current{overflow-wrap:anywhere}
.metric-catalog{display:grid;grid-template-columns:clamp(220px,23vw,290px) minmax(0,1fr);gap:16px;width:min(1480px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:92dvh;max-height:96dvh;overflow:hidden;padding:16px}
.metric-catalog:not([open]){display:none}
.metric-catalog-sidebar{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;overflow:hidden;padding-right:12px;border-right:1px solid var(--line)}
.metric-catalog-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:start}
.metric-catalog-header h2{grid-column:1;grid-row:1;margin:0;font-size:18px}
.metric-catalog-header .small{grid-column:1 / -1;margin:0;line-height:1.4}
.metric-catalog #metric-close{grid-column:2;grid-row:1;width:auto;min-height:30px;padding:4px 9px;font-size:12px;float:none;margin:0}
.metric-toolbar{min-width:0;min-height:0;flex:1;overflow:auto;padding:6px 8px 6px 6px;border:0}
.metric-toolbar :is(input,select,button):focus-visible{outline-offset:-2px}
.metric-catalog-header #metric-search-feedback{grid-column:1 / -1;width:auto;justify-self:start;min-height:30px;padding:4px 10px;font-size:12px}
.metric-toolbar label{display:block;margin:0 0 9px;font-size:12px}
.metric-toolbar input[type=search],.metric-toolbar select,.metric-catalog #metric-services-toggle{width:100%;min-width:0;min-height:35px;font-size:13px;margin-top:4px}
.metric-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.metric-service-picker{position:relative;margin-bottom:9px}
.metric-service-picker>label{margin-bottom:0}
.metric-catalog #metric-services-toggle{text-align:left;padding:7px 9px}
#metric-service-options{border:1px solid #a9c1b7;border-radius:8px;padding:8px;background:#f5faf7;margin-top:4px}
.metric-services{display:block;max-height:190px;overflow:auto;overscroll-behavior:contain}
.metric-services label{display:flex;align-items:flex-start;gap:6px;font-size:12px;margin:0;padding:5px 0}
.metric-services input{flex:none;margin-top:3px}
.metric-catalog #metric-services-done{width:auto;min-height:30px;padding:4px 12px;margin-top:5px}
#metric-group-help{font-size:11px;line-height:1.45;margin:0 0 10px;color:#556a62}
.metric-toolbar .metric-only{display:flex;gap:7px;align-items:flex-start;line-height:1.4}
.metric-search-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.metric-search-actions button{width:auto;min-height:32px;font-size:12px;padding:5px 8px}
.metric-catalog .metric-searching{opacity:1;cursor:progress;background:#355c51;color:white;animation:metric-search-pulse 1s ease-in-out infinite}
@keyframes metric-search-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #355c5144}50%{opacity:.55;box-shadow:0 0 0 4px #355c511a}}
@media(prefers-reduced-motion:reduce){.metric-catalog .metric-searching{animation:none}}
#metric-result-count{margin:0;line-height:1.4;width:100%}
#metric-filter-status:empty{display:none}
.metric-nav{display:flex;flex:none;gap:6px;justify-content:flex-start;flex-wrap:wrap;margin:0;padding-top:8px;border-top:1px solid var(--line);font-size:12px}
.metric-nav button{width:auto;min-height:31px;padding:4px 7px;font-size:12px}
.metric-catalog-main{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}
.metric-table-scroll{flex:1;min-width:0;min-height:80px;overflow:auto;border:1px solid var(--line);overscroll-behavior:contain}
.metric-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}
.metric-table th{position:sticky;top:0;background:#eaf3ee;z-index:1;border-bottom:2px solid #b3c9bc;text-align:left;padding:7px;white-space:nowrap}
.metric-table th button{width:auto;border:0;padding:3px;min-height:26px;background:transparent;text-decoration:none;font-size:12px;font-weight:700}
.metric-table td{padding:7px;border-bottom:1px solid #dfe8e2;vertical-align:top}
.metric-table td:first-child{min-width:205px;font-weight:650}
.metric-table td:nth-child(4){min-width:150px}
.metric-table td:nth-child(5){min-width:100px}
.metric-table [data-metric-row]{cursor:pointer}
.metric-table [data-metric-row]:hover{background:#f1f9f3}
.metric-table [data-metric-row][aria-selected=true]{background:#ddf0e4;outline:2px solid #26664b;outline-offset:-2px}
.metric-table [data-metric-row]:focus-visible{outline:3px solid #ae732f;outline-offset:-3px}
#metric-detail{flex:none;max-height:140px;overflow:auto;padding:5px 0;font-size:12px;border-top:1px solid var(--line)}
#metric-detail p{margin:4px 0}
.metric-catalog #metric-choose{width:auto;max-width:100%;align-self:flex-start;justify-self:start;flex:none;min-height:36px;padding:7px 14px;font-size:13px;background:#24594b;color:#fff;border-color:#24594b}
/* The narrow map and controls have separate scrolling regions. */
@media(max-width:760px){
 main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(240px,45dvh) minmax(0,1fr);height:100dvh;overflow:hidden}
 .map-area{position:relative;top:auto;height:auto;min-height:0}
 aside{min-height:0;overflow:auto;overscroll-behavior:contain}
}
@media(max-width:699px){
 .metric-catalog{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "filters" "table" "nav" "detail";grid-template-rows:auto minmax(100px,26dvh) minmax(70px,1fr) auto minmax(35px,85px);height:96dvh;padding:12px;gap:6px}
 .metric-catalog-sidebar,.metric-catalog-main{display:contents}
 .metric-catalog-header{grid-area:heading}
 .metric-catalog-header h2{font-size:16px}
 .metric-toolbar{grid-area:filters;overflow:auto;padding-right:4px}
 .metric-table-scroll{grid-area:table;min-height:0}
 .metric-nav{grid-area:nav;padding-top:4px;margin:0;justify-content:center}
 #metric-detail{grid-area:detail;max-height:none;min-height:0}
 #metric-choose{grid-area:auto}
 .metric-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
 .metric-table th:nth-child(2),.metric-table td:nth-child(2),.metric-table th:nth-child(8),.metric-table td:nth-child(8){display:none}
}

/* F1570 — every opacity slider is Transparent (0) to Opaque (1). */
.opacity-control{display:block;flex:1 1 245px;min-width:0;margin:7px 0}
.opacity-name{display:block;font-size:12px;font-weight:550;margin-bottom:4px}
.opacity-track{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0}
.opacity-track>span{font-size:11px;white-space:nowrap;line-height:1.3;flex:none}
.opacity-track>input[type=range]{flex:1 1 90px;min-width:55px;width:auto;max-width:none;margin:0}
#metric-appearance{width:100%;margin:8px 0 12px}
#metric-appearance .opacity-track{max-width:320px}
#point-overlaps{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:8px}
#point-overlap-list{max-height:210px;overflow-y:auto;padding:5px 0}
#point-overlap-list button{display:block;width:100%;text-align:left;margin:5px 0;font-size:13px}
.metric-topic-control{display:block;margin:10px 0 9px}
.metric-topic-control select{width:100%}
@media(max-width:360px){.opacity-track{gap:4px}.opacity-track>span{font-size:10px}.opacity-track>input[type=range]{min-width:45px}}

/* F1574 — apply the selected canonical metric from the upper-left sidebar. */
.metric-catalog-header #metric-choose{grid-column:1 / -1;grid-row:2;display:block;width:100%;max-width:100%;min-height:43px;padding:10px 12px;background:#154b37;border:1px solid #103b2b;border-radius:7px;color:#fff;font-weight:700;justify-self:stretch;align-self:stretch;opacity:1}
.metric-catalog-header #metric-choose:hover:not(:disabled){background:#103f2e;border-color:#0c3224}
.metric-catalog-header #metric-choose:disabled{background:#255e48;border-color:#255e48;color:#f2f8f4;opacity:1;cursor:not-allowed}
.metric-catalog-header #metric-choose:focus-visible{outline:3px solid #bd8129;outline-offset:3px}
.metric-catalog-header #metric-search-feedback{grid-row:3}
.metric-catalog-header #metric-load-error{grid-column:1 / -1;grid-row:4;padding:8px;border:1px solid #d9a27c;border-radius:7px;background:#fff4ec;color:#713913;font-size:12px}
#metric-load-error p{margin:0 0 6px}
.metric-catalog #metric-error-retry{width:auto;min-height:30px;padding:4px 9px;font-size:12px}

/* Food Programs: a selector over existing public sites, not an extra dataset. */
.food-program-selector{border:1px solid #cad9d3;border-radius:8px;padding:8px;margin-bottom:10px}.food-program-heading{display:flex;align-items:center;gap:8px;justify-content:space-between}.food-program-heading label{display:flex;align-items:center;gap:6px;font-weight:700}.food-program-heading button{width:auto;padding:5px 8px;font-size:.8rem}.food-program-selector #food-program-children{padding-left:12px;border-left:2px solid #d6e3dd;margin-left:6px}.food-category-badge{display:inline-block;border:1px solid #b8cec3;border-radius:1em;padding:2px 8px;margin:2px 5px 2px 0;font-size:.85em;background:#edf5f0}

/* F1598–F1600: small explicit retry without a global Apply button */
#map-retry{margin:0 0 10px;min-height:34px;font-size:13px;border-color:#b8d0c5;background:#f6fbf7;color:#275746}
#map-status:not([hidden]){line-height:1.35}

/* Founder map-control refinements: compact WYSIWYG controls */
.marker-shape-options{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.marker-shape-choice{min-height:43px;aspect-ratio:1;padding:3px;gap:0;border-radius:7px}
.marker-shape-choice svg{width:26px;height:26px}
.marker-shape-choice span{display:none}
@media(max-width:330px){.marker-shape-options{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.marker-shape-choice svg{width:23px;height:23px}}
.compact-inline-control{display:flex!important;align-items:center;justify-content:space-between;gap:9px;flex-wrap:nowrap;min-width:0}
.compact-inline-control>span{flex:1;min-width:0}
.compact-inline-control>select,.compact-inline-control>input[type=number]{flex:none;width:76px!important;max-width:35%;margin:0!important;padding:5px 7px;min-height:34px}
#circles-section #circle-radius{width:76px!important;flex:none}
.circle-toolbar{display:flex!important;flex-wrap:nowrap!important;gap:4px}
.circle-toolbar button{flex:1 1 0;min-width:0!important;font-size:12px;padding:6px 3px;min-height:35px;white-space:nowrap}
.opacity-control{display:flex!important;align-items:center;flex:1 1 155px;min-width:0;margin:5px 0}
.opacity-name{display:none!important}
.opacity-track{display:flex;align-items:center;flex:1;gap:5px;min-width:0}
.opacity-track>input[type=range]{min-width:45px;flex:1;width:auto}
.layer .row:has(.opacity-control){align-items:center;flex-wrap:wrap}
#metric-appearance{display:flex;align-items:center}
.label-option-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.label-option-row label{flex:1;margin:5px 0}
.label-preview{flex:none;min-height:32px;padding:3px 8px;border:1px solid var(--line);color:#173b39;background:#f9fcfa;font-size:12px;font-weight:600}
.label-preview:hover,.label-preview[aria-expanded=true]{border-color:var(--brand);background:#e5f0eb}
.label-style-panel{padding:7px 10px;margin:3px 0 10px 18px;border-radius:8px;background:#f5faf7;border:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.label-style-panel label{display:flex;align-items:center;gap:7px;margin:2px 0;font-size:12px}
.label-style-panel input[type=number]{width:63px;min-height:32px;padding:3px 6px}
.label-style-panel input[type=color]{width:39px;height:32px;border:0;padding:0;background:transparent}
.label-style-panel input[type=range]{max-width:125px}
#map [data-county]:focus,#map [data-public-metric]:focus,#map [data-tract]:focus,#map [data-seat]:focus,#map [data-zcta]:focus,#map [data-municipality]:focus{outline:none!important}
#map [data-public-metric]:focus-visible,#map [data-tract]:focus-visible,#map [data-county]:focus-visible{outline:none!important;vector-effect:non-scaling-stroke}
#map-panel-toggle{position:fixed;z-index:20;right:349px;top:14px;width:34px;min-height:40px;padding:3px;background:white;border:1px solid var(--line);border-radius:8px 0 0 8px;box-shadow:0 1px 5px #173b3924;font-size:25px;line-height:1}
body.map-controls-hidden main{grid-template-columns:minmax(0,1fr) 0px}
body.map-controls-hidden #map-controls{display:none}
body.map-controls-hidden #map-panel-toggle{right:10px;border-radius:8px}
#point-dialog .point-drag-handle{cursor:grab;user-select:none;touch-action:none;display:flex;align-items:center;gap:8px}
#point-dialog .point-drag-handle:active{cursor:grabbing}
#point-dialog.point-dialog-positioned{position:fixed;inset:auto;margin:0;max-width:min(640px,calc(100vw - 24px))}
.food-source-hover .source-hover-heading{cursor:grab;user-select:none;touch-action:none}
.food-source-hover .source-hover-heading:active{cursor:grabbing}
@media(max-width:760px){
 #map-panel-toggle{top:9px;right:12px;border-radius:8px;min-height:36px}
 body.map-controls-hidden main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,100dvh) 0}
 body.map-controls-hidden .map-area{height:100dvh}
 body.map-controls-hidden #map-controls{display:none}
 #point-dialog.point-dialog-positioned{max-width:calc(100vw - 18px)}
}

/* Preserve semantic hidden state even on flex-based opacity controls. */
[hidden]{display:none!important}

/* F1602: normal-weight alphabetical Food Programs, grouped values and points-only defaults. */
.food-program-selector{border:0;border-radius:0;padding:0;margin:0}
.food-program-heading{padding:8px 0;border-bottom:1px solid #e0e9e4;gap:6px}
.food-program-heading label{font-weight:400;font-size:inherit}
.food-program-heading button{font-size:.78rem;min-height:32px}
#points-section>summary{padding-right:4px}
#points-restore-defaults{float:right;min-height:32px;padding:4px 8px;font-size:.75rem;margin:-4px 0 0 8px;max-width:58%;white-space:normal}
.bucket-method-control{border:0;padding:6px 0;margin:8px 0}
.bucket-method-control>legend{font-weight:600;font-size:.92rem;margin-bottom:5px}
.bucket-method-control>label{display:flex;align-items:flex-start;gap:7px;font-weight:400;margin:5px 0}
.bucket-method-control input[type=radio],.bucket-method-control input[type=checkbox]{flex:none;margin-top:4px}
.bucket-method-control{min-width:0}
.bucket-method-control>label{min-width:0;min-height:38px;align-items:center;padding:3px 4px;line-height:1.4}
#bucket-method-control>label>input[type=radio]{display:inline-block;width:18px;min-width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0;accent-color:var(--brand)}
.bucket-method-control p{margin:6px 0;color:#52685e}
#map-tooltip{white-space:pre-line;max-width:min(440px,calc(100% - 12px));overflow-wrap:anywhere;line-height:1.45}
@media(max-width:380px){#points-restore-defaults{font-size:.7rem;padding:3px 5px;max-width:60%}}

/* Compact Maps controls: visual adjustments only (2026-10-24). */
#point-layers .marker-shape-options,
#organization-layers .marker-shape-options{
  width:min(100%,292px);
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:3px;
}
#point-layers .marker-shape-choice,
#organization-layers .marker-shape-choice{
  min-height:0;
  aspect-ratio:1;
  padding:2px;
  border-radius:7px;
}
#point-layers .marker-shape-choice svg,
#organization-layers .marker-shape-choice svg{
  width:23px;
  height:23px;
}
.marker-size-group-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 10px;
  margin:7px 0 3px;
}
.layer .marker-size-control{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 1 140px;
  min-width:110px;
  margin:0;
  white-space:nowrap;
}
.layer .marker-size-control input[type=range]{
  width:86px;
  max-width:86px;
  min-width:60px;
  flex:1 1 auto;
  margin:0;
}
.layer .marker-group-control{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex:1 1 130px;
  min-width:135px;
  margin:0;
  font-size:13px;
  white-space:nowrap;
}
.layer .marker-group-control input[type=checkbox]{
  flex:none;
  margin:0;
}
.layer input[type=range][data-opacity],
.layer input[type=range][data-size],
#metric-opacity{
  accent-color:#4b5563;
}
#points-restore-defaults{font-weight:400;}
#bucket-method-control{
  padding:0;
  margin:2px 0 6px;
}
#bucket-method-control>legend{
  padding:0 0 2px;
  margin:0;
  line-height:1.25;
}
#bucket-method-control>label{
  min-height:0;
  margin:0;
  padding:2px 1px;
  gap:6px;
  line-height:1.3;
}
#bucket-method-control>label>input[type=radio]{
  width:15px;
  height:15px;
  min-width:15px;
  min-height:15px;
  flex:0 0 15px;
  margin:0;
}
#bucket-method-note{margin:3px 0 6px;}
#download-map{margin:12px 0 4px;}

/* Iris map drag and transient refresh feedback (presentation only). */
/* County and county-seat SVG text must never acquire Chrome's blue selection paint. */
#map,#map text,#map tspan{
  -webkit-user-select:none;
  user-select:none;
}
#map{ -webkit-touch-callout:none; }
.map-update-pill{
  position:absolute;
  z-index:6;
  top:14px;
  right:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:min(255px,calc(100% - 128px));
  width:max-content;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #9ebdaf;
  border-radius:8px;
  background:#eef7f2;
  color:#234e40;
  box-shadow:0 1px 5px #173b3929;
  font-size:12px;
  line-height:1.3;
  font-weight:600;
  text-align:left;
  pointer-events:none;
  animation:iris-map-update-pulse 1.5s ease-in-out infinite;
}
.map-update-dot{
  flex:none;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#356d57;
}
@keyframes iris-map-update-pulse{
  0%,100%{box-shadow:0 0 0 0 #48786722}
  50%{box-shadow:0 0 0 4px #48786744}
}
@media(max-width:760px){
  .map-update-pill{top:10px;right:56px;max-width:calc(100% - 128px);padding:6px 9px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .map-update-pill{animation:none;box-shadow:0 0 0 2px #48786744}
}

/* Mira F1624: private packaged viewer fails closed until verified */
html.mira-preview-pending main{visibility:hidden}
html.mira-preview-ready main{grid-template-columns:minmax(0,1fr)}
html.mira-preview-ready #map-controls,html.mira-preview-ready #map-panel-toggle{display:none!important}
html.mira-preview-ready .map-area{min-height:100dvh}
.mira-viewer-label{position:fixed;top:12px;right:12px;z-index:18;background:#fffdf0;color:#333f36;border:1px solid #b9ba91;border-radius:8px;padding:10px 14px;max-width:min(80vw,570px);box-shadow:0 2px 9px #16251a2e;font-size:12px}
.mira-viewer-error{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#f4f8f6;z-index:25;padding:24px}
.mira-viewer-error>div{max-width:640px;padding:24px;border:1px solid #b7c7bd;border-radius:12px;background:white}
