.state-explorer{display:block;grid-template-columns:none;grid-template-areas:none;
gap:0;align-items:initial;width:min(86rem,calc(100vw - 2.5rem));position:relative;
left:50%;transform:translateX(-50%);margin:1.4rem 0 3rem}
.state-explorer [hidden]{display:none!important}
.state-explorer-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,27rem);
gap:.85rem 1rem;align-items:end;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);
border-radius:18px;background:color-mix(in srgb,var(--card) 92%,transparent);
box-shadow:var(--shadow-sm)}
.state-filter-group{display:flex;gap:.45rem;overflow-x:auto;padding:.12rem .08rem .2rem;
scrollbar-width:thin}
.state-filter{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;
min-height:2.75rem;flex:0 0 auto;padding:.5rem .72rem;border:1px solid var(--line);
border-radius:999px;background:var(--card);color:var(--ink);font-size:.78rem;
font-weight:720;line-height:1;text-decoration:none;white-space:nowrap;transition:.15s ease}
.state-filter span{color:var(--muted);font-size:.68rem;font-variant-numeric:tabular-nums}
.state-filter:hover{border-color:var(--accent);background:var(--tint);color:var(--ink)}
.state-filter[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);
color:var(--button-ink);box-shadow:0 5px 14px var(--haze)}
.state-filter[aria-pressed="true"] span{color:color-mix(in srgb,var(--button-ink) 80%,transparent)}
.state-place-search{position:relative;margin:0}.state-place-search label{display:block;margin:0 0 .28rem;
font-size:.72rem;font-weight:750;color:var(--muted)}
.state-place-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem}
.state-place-field input{width:100%;min-height:2.75rem;padding:.58rem .75rem;border:1px solid var(--line);
border-radius:11px;background:var(--paper);color:var(--ink);font:inherit;font-size:.84rem}
.state-place-field button,.state-show-more{min-height:2.75rem;border:0;border-radius:11px;
padding:.58rem .8rem;background:var(--accent);color:var(--button-ink);font:inherit;
font-size:.78rem;font-weight:760;cursor:pointer}
.state-place-options{position:absolute;z-index:550;left:0;right:0;top:100%;margin:.3rem 0 0;
padding:.35rem;list-style:none;border:1px solid var(--line);border-radius:12px;background:var(--card);
box-shadow:var(--shadow-lg);max-height:17rem;overflow:auto}
.state-place-options button{display:flex;width:100%;justify-content:space-between;gap:.8rem;
padding:.62rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--ink);
font:inherit;font-size:.82rem;text-align:left;cursor:pointer}
.state-place-options button:hover,.state-place-options button[aria-selected="true"]{background:var(--tint)}
.state-place-options small{color:var(--muted)}
.state-place-status{min-height:1.1rem;margin:.22rem 0 0;font-size:.7rem;line-height:1.35;color:var(--muted)}
.state-medicare-filter{grid-column:1/-1;display:flex;align-items:center;gap:.45rem;width:max-content;
max-width:100%;font-size:.78rem;font-weight:700;color:var(--ink);cursor:pointer}
.state-medicare-filter input{width:1.08rem;height:1.08rem;accent-color:var(--accent)}
.state-explorer-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(22rem,.75fr);
gap:1rem;align-items:start}
.state-map-column{position:sticky;top:5.3rem;min-width:0;border:1px solid var(--line);
border-radius:20px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.state-map-canvas{height:min(68vh,42rem);min-height:32rem;background:var(--paper-deep)}
.state-map-canvas:focus-visible{outline-offset:-4px}
.state-map-attribution{margin:0;padding:.38rem .65rem;text-align:right;color:var(--muted);
font-size:.62rem;line-height:1.3;border-top:1px solid var(--line)}
.state-map-attribution a{color:inherit}
.state-map-error{margin:0;padding:.55rem .7rem;background:color-mix(in srgb,var(--spark) 9%,var(--card));
color:var(--ink);font-size:.76rem;line-height:1.35;border-top:1px solid var(--line)}
.state-results-panel{min-width:0;max-height:min(76vh,48rem);overflow:auto;padding:.85rem;
border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--card) 88%,var(--paper));
box-shadow:var(--shadow);scrollbar-width:thin}
.state-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;
margin:0 0 .75rem;padding:.15rem .15rem .75rem;border-bottom:1px solid var(--line)}
.state-results-heading .eyebrow{margin:0}.state-results-heading h2{margin:.12rem 0 0;
font-size:1.18rem;line-height:1.2}.state-results-heading>p{max-width:9.5rem;margin:0;
font-size:.68rem;line-height:1.35;text-align:right;color:var(--muted)}
.state-results-panel .clinics{display:grid;grid-template-columns:1fr;gap:.65rem;margin:0;padding:0}
.state-results-panel .clinic-card{padding:.85rem;border-radius:14px;box-shadow:var(--shadow-sm)}
.state-results-panel .clinic-card-head{gap:.65rem}.state-results-panel .provider-avatar{width:2.55rem;height:2.55rem}
.state-results-panel .clinic-card h3{font-size:.98rem}.state-results-panel .clinic-actions{grid-template-columns:1fr 1fr}
.state-results-panel .clinic-actions .primary{grid-column:1/-1}
.state-results-panel .clinic-card.is-map-selected{border-color:var(--spark);
box-shadow:0 0 0 2px color-mix(in srgb,var(--spark) 22%,transparent),var(--shadow)}
.state-show-more{display:block;width:100%;margin:.75rem 0 0;background:var(--paper);
border:1px solid var(--accent);color:var(--accent-ink)}
.state-show-more:hover{background:var(--tint)}
.state-list-fallback,.state-locality-directory{margin:1rem 0 0;border:1px solid var(--line);border-radius:15px;background:var(--card)}
.state-list-fallback>summary,.state-locality-directory>summary{min-height:3.2rem;display:flex;align-items:center;padding:.7rem 1rem;
font-size:.82rem;font-weight:750;cursor:pointer;list-style:none}
.state-list-fallback>summary::after,.state-locality-directory>summary::after{content:"+";margin-left:auto;color:var(--accent);font-size:1.15rem}
.state-list-fallback[open]>summary::after,.state-locality-directory[open]>summary::after{content:"−"}
.state-fallback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;
margin:0;padding:.8rem 1rem 1rem;border-top:1px solid var(--line);list-style:none}
.state-fallback-grid>li{display:grid;gap:.2rem;min-width:0;padding:.55rem .62rem;
border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.state-fallback-grid>li>a{color:var(--ink);font-size:.72rem;font-weight:750;text-decoration:none}
.state-fallback-grid>li>a:hover{color:var(--accent-ink)}
.state-fallback-grid>li>span{color:var(--muted);font-size:.59rem;line-height:1.4}
.state-fallback-place{min-width:0;padding:.65rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.state-fallback-place h3{margin:0;font-size:.76rem}.state-fallback-place h3 a{text-decoration:none}
.state-fallback-place>p{margin:.3rem 0 0;color:var(--muted);font-size:.61rem;line-height:1.45}
.state-list-fallback .clinics.compact{display:grid;grid-template-columns:1fr;
gap:.45rem;margin:.45rem 0 0;padding:0}
.state-list-fallback .clinic-compact{min-width:0;margin:0;padding:.75rem;border:1px solid var(--line);
border-radius:11px;background:var(--paper)}
.state-list-fallback .nm{font-size:.8rem;line-height:1.25}.state-list-fallback .meta{font-size:.65rem}
.state-list-fallback .tags{margin:.4rem 0 0}.state-list-fallback .tag{font-size:.57rem}
.state-list-fallback .compact-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.state-list-fallback .compact-actions .action{min-height:2.3rem;
padding:.4rem .55rem;font-size:.68rem}
.state-locality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;
padding:.8rem 1rem 1rem;border-top:1px solid var(--line)}
.state-locality-grid a{display:block;
min-width:0;padding:.5rem .6rem;border:1px solid var(--line);border-radius:9px;background:var(--paper);
color:var(--ink);font-size:.66rem;line-height:1.25;text-decoration:none}
.state-locality-grid a:hover{border-color:var(--accent);background:var(--tint)}
.state-provider-sheet{display:none}

/* Leaflet and MarkerCluster are pinned and served locally. */
.state-map-canvas .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;
color:var(--ink);background:var(--card);border-color:var(--line)}
.state-map-canvas .leaflet-control-attribution{display:none}
.sf-map-marker{display:grid!important;place-items:center;width:44px!important;height:44px!important;
margin:-22px 0 0 -22px!important;border:2px solid var(--card);border-radius:50%;
background:var(--accent);box-shadow:0 3px 12px rgb(27 36 56/.28);overflow:hidden}
.sf-map-marker img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.sf-map-marker span{color:#fff;font:800 10px/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sf-map-marker.is-selected{border-color:var(--spark);box-shadow:0 0 0 4px rgb(239 106 82/.25),
0 5px 16px rgb(27 36 56/.32);z-index:800!important}
.sf-cluster{display:grid!important;place-items:center;border:3px solid color-mix(in srgb,var(--card) 90%,transparent);
border-radius:50%;background:var(--accent);color:var(--button-ink);box-shadow:0 5px 18px rgb(27 36 56/.24)}
.sf-cluster span{font:800 12px/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sf-cluster-small{width:44px!important;height:44px!important;margin:-22px 0 0 -22px!important}
.sf-cluster-medium{width:48px!important;height:48px!important;margin:-24px 0 0 -24px!important;
background:color-mix(in srgb,var(--accent) 82%,var(--spark))}
.sf-cluster-large{width:56px!important;height:56px!important;margin:-28px 0 0 -28px!important;background:var(--spark)}

@media (max-width:64rem){
.state-explorer-workspace{grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr)}
.state-fallback-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.state-locality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:47.99rem){
.state-explorer{width:calc(100vw - 1.25rem);margin-top:.8rem}
.state-explorer-controls{grid-template-columns:1fr;padding:.7rem;border-radius:15px}
.state-filter-group{margin:0 -.15rem;padding-bottom:.35rem}.state-place-search{grid-column:1}
.state-medicare-filter{grid-column:1}.state-explorer-workspace{grid-template-columns:1fr;gap:.7rem}
.state-map-column{position:relative;top:auto;border-radius:16px}.state-map-canvas{height:46vh;min-height:21rem}
.state-results-panel{max-height:none;padding:.55rem;border-radius:16px;overflow:visible}
.state-results-heading{align-items:flex-start}.state-results-heading>p{max-width:8.3rem}
.state-results-panel .clinic-card{padding:.75rem}.state-fallback-grid,.state-locality-grid{grid-template-columns:1fr}
.state-provider-sheet{display:block;position:fixed;z-index:1000;left:.45rem;right:.45rem;bottom:.45rem;
max-height:72vh;padding:2rem .55rem .55rem;overflow:auto;border:1px solid var(--line);
border-radius:20px;background:var(--paper);box-shadow:0 -8px 45px rgb(27 36 56/.32)}
.state-provider-sheet .clinics{margin:0;padding:0;list-style:none}.state-provider-sheet .clinic-card{margin:0}
.state-sheet-close{position:absolute;z-index:1;right:.6rem;top:.45rem;width:2.2rem;height:2.2rem;
border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);
font:700 1.25rem/1 ui-sans-serif;cursor:pointer}
}
@media (prefers-reduced-motion:reduce){.state-filter,.sf-map-marker{transition:none!important}}
