:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}#root{width:100%;height:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}*{box-sizing:border-box}.filter-panel{display:flex;flex-direction:column;gap:.7rem;padding:.75rem;background:#0006;border-radius:8px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.9) rgba(55,65,81,.42)}.filter-panel::-webkit-scrollbar{width:10px}.filter-panel::-webkit-scrollbar-track{background:#3741516b;border-radius:999px}.filter-panel::-webkit-scrollbar-thumb{background:#6b7280e6;border-radius:999px}.filter-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8f2}.filter-section{display:flex;flex-direction:column;gap:.5rem}.filter-section-title{font-size:.95rem;font-weight:600;color:#f0f0f0;margin:0;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.1)}.distance-slider-container{display:flex;flex-direction:column;gap:.5rem;padding:0}.distance-slider{width:100%;height:4px;background:#ffffff26;border-radius:2px;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer}.distance-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#d41e3a;border-radius:50%;cursor:pointer;transition:transform .15s ease;margin-top:-6px}.distance-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.distance-slider::-webkit-slider-thumb:active{transform:scale(.95)}.distance-slider::-moz-range-thumb{width:16px;height:16px;background:#d41e3a;border:none;border-radius:50%;cursor:pointer;transition:transform .15s ease}.distance-slider::-moz-range-thumb:hover{transform:scale(1.1)}.distance-slider::-moz-range-thumb:active{transform:scale(.95)}.distance-slider::-webkit-slider-runnable-track{width:100%;height:4px;background:#ffffff26;border-radius:2px}.distance-slider::-moz-range-track{width:100%;height:4px;background:#ffffff26;border-radius:2px}.distance-value{text-align:center;font-size:.9rem;font-weight:600;color:#d41e3a;padding:.1rem 0}.district-select{width:100%;padding:.7rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f0f0f0;font-size:.9rem;cursor:pointer;transition:all .2s;outline:none}.district-select:hover{background:#ffffff1f;border-color:#d41e3a80}.district-select:focus{border-color:#d41e3a;background:#ffffff1f}.district-select option{background:#2a2a2a;color:#f0f0f0;padding:.5rem}.filter-actions{display:flex;gap:.5rem;margin-top:.75rem}.filter-action-btn{flex:1;padding:.4rem .6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#e0e0e0;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.filter-action-icon{display:inline-block;margin-right:.4rem;line-height:1;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-variant-emoji:text}.filter-action-btn:hover{background:#d41e3a33;border-color:#d41e3a80;color:#f0f0f0;transform:translateY(-1px)}.filter-action-btn:active{transform:translateY(0)}.filter-checkboxes{display:flex;flex-direction:column;gap:.3rem}.filter-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.3rem .4rem;border-radius:6px;transition:background-color .2s}.filter-checkbox:hover{background-color:#ffffff0d}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#d41e3a}.checkbox-label{display:flex;align-items:center;gap:.5rem;flex:1;font-size:.9rem;color:#e0e0e0}.checkbox-emoji{font-size:1rem;line-height:1;width:1.1rem;display:inline-flex;align-items:center;justify-content:center}.checkbox-text{flex:1}.checkbox-count{color:#999;font-size:.85rem;font-weight:500}.specialty-search{margin-bottom:.5rem}.specialty-search-input{width:100%;padding:.5rem .75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#f0f0f0;font-size:.875rem;outline:none;transition:border-color .2s}.specialty-search-input:focus{border-color:#d41e3a}.specialty-search-input::placeholder{color:#888}.specialty-list{max-height:250px;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.9) rgba(55,65,81,.42)}.specialty-list::-webkit-scrollbar{width:8px}.specialty-list::-webkit-scrollbar-track{background:#3741516b;border-radius:999px}.specialty-list::-webkit-scrollbar-thumb{background:#6b7280e6;border-radius:999px}.specialty-list::-webkit-scrollbar-thumb:hover{background:#94a3b8f2}.no-results-text{color:#888;font-size:.85rem;font-style:italic;padding:.5rem;text-align:center}.filter-toggles{display:flex;flex-direction:column;gap:.5rem}.filter-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:background-color .2s;border:1px solid rgba(255,255,255,.1)}.filter-toggle:hover{background-color:#ffffff0d}.filter-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#d41e3a}.filter-reset-section{margin-top:.15rem}.filter-reset-advanced-btn{width:100%;padding:.6rem .8rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#e0e0e0;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.filter-reset-advanced-btn:hover{background:#d41e3a33;border-color:#d41e3a80;color:#f0f0f0;transform:translateY(-1px)}.filter-reset-advanced-btn:active{transform:translateY(0)}.toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#e0e0e0}.toggle-emoji{font-size:1rem;line-height:1;width:1.1rem;display:inline-flex;align-items:center;justify-content:center}.toggle-text{flex:1}@media(max-width:768px){.filter-panel{padding:.75rem;gap:1rem;max-height:none;overflow-y:visible;flex:0 0 auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.filter-panel,.filter-section,.filter-checkboxes,.specialty-list{touch-action:pan-y;overscroll-behavior:contain}.filter-section-title{font-size:.9rem}.checkbox-label,.toggle-label{font-size:.85rem}.checkbox-emoji,.toggle-emoji{font-size:1rem}.district-select,.specialty-search-input{font-size:16px}}.light-mode .filter-panel{background:#ffffff80;scrollbar-color:rgba(148,163,184,.88) rgba(203,213,225,.44)}.light-mode .filter-panel::-webkit-scrollbar-track{background:#cbd5e170}.light-mode .filter-panel::-webkit-scrollbar-thumb{background:#94a3b8e0}.light-mode .filter-panel::-webkit-scrollbar-thumb:hover{background:#64748bf0}.light-mode .filter-section-title{color:#1a1a1a;border-bottom-color:#0000001a}.light-mode .district-select{background:#0000000d;border-color:#00000026;color:#1a1a1a}.light-mode .district-select:hover{background:#00000014;border-color:#d41e3a80}.light-mode .district-select:focus{background:#00000014}.light-mode .district-select option{background:#fff;color:#1a1a1a}.light-mode .filter-action-btn{background:#0000000d;border-color:#00000026;color:#1a1a1a}.light-mode .filter-action-btn:hover{background:#d41e3a1a;color:#1a1a1a}.light-mode .filter-checkbox:hover{background-color:#0000000d}.light-mode .checkbox-label{color:#1a1a1a}.light-mode .checkbox-count{color:#666}.light-mode .specialty-search-input{background:#0000000d;border-color:#00000026;color:#1a1a1a}.light-mode .specialty-search-input::placeholder{color:#666}.light-mode .specialty-list::-webkit-scrollbar-track{background:#cbd5e170}.light-mode .specialty-list{scrollbar-color:rgba(148,163,184,.88) rgba(203,213,225,.44)}.light-mode .specialty-list::-webkit-scrollbar-thumb{background:#94a3b8e0}.light-mode .specialty-list::-webkit-scrollbar-thumb:hover{background:#64748bf0}.light-mode .no-results-text{color:#666}.light-mode .filter-toggle{border-color:#0000001a}.light-mode .filter-toggle:hover{background-color:#0000000d}.light-mode .toggle-label{color:#1a1a1a}.light-mode .distance-slider{background:#00000026}.light-mode .distance-slider::-webkit-slider-runnable-track{background:#00000026}.light-mode .distance-slider::-moz-range-track{background:#00000026}.light-mode .distance-value{color:#d41e3a}.light-mode .filter-reset-advanced-btn{background:#0000000d;border-color:#00000026;color:#1a1a1a}.light-mode .filter-reset-advanced-btn:hover{background:#d41e3a1a;color:#1a1a1a}@media(max-width:768px){.landing-page-new.dark-mode .sidebar-top .filter-panel{background:#111827;border:1px solid #374151;border-radius:12px}.landing-page-new.dark-mode .sidebar-top .filter-section-title{color:#f3f4f6;border-bottom-color:#94a3b857}.landing-page-new.dark-mode .sidebar-top select{-webkit-appearance:none;appearance:none;background-color:#1f2937;background-image:linear-gradient(45deg,transparent 50%,#cbd5e1 50%),linear-gradient(135deg,#cbd5e1 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);background-size:6px 6px;background-repeat:no-repeat;padding-right:2.2rem}.landing-page-new.dark-mode .sidebar-top .district-select,.landing-page-new.dark-mode .sidebar-top .specialty-search-input{background:#1f2937;border-color:#4b5563;color:#f3f4f6;-webkit-text-fill-color:#f3f4f6}.landing-page-new.dark-mode .sidebar-top .district-select:hover{background:#273244;border-color:#6b7280}.landing-page-new.dark-mode .sidebar-top .district-select:focus,.landing-page-new.dark-mode .sidebar-top .specialty-search-input:focus{border-color:#6b7280;background:#1f2937}.landing-page-new.dark-mode .sidebar-top .specialty-search-input::placeholder{color:#d1d5db}.landing-page-new.dark-mode .sidebar-top .district-select option{background:#111827;color:#f3f4f6}.landing-page-new.dark-mode .sidebar-top .filter-action-btn,.landing-page-new.dark-mode .sidebar-top .filter-reset-advanced-btn{background:#1f2937;border-color:#4b5563;color:#e5e7eb}.landing-page-new.dark-mode .sidebar-top .filter-action-btn:hover,.landing-page-new.dark-mode .sidebar-top .filter-reset-advanced-btn:hover{background:#273244;border-color:#6b7280;color:#f3f4f6}.landing-page-new.dark-mode .sidebar-top .filter-checkbox:hover,.landing-page-new.dark-mode .sidebar-top .filter-toggle:hover{background-color:#33415575}.landing-page-new.dark-mode .sidebar-top .checkbox-label,.landing-page-new.dark-mode .sidebar-top .toggle-label{color:#e5e7eb}.landing-page-new.dark-mode .sidebar-top .checkbox-count,.landing-page-new.dark-mode .sidebar-top .no-results-text{color:#9ca3af}.landing-page-new.dark-mode .sidebar-top .filter-checkbox input[type=checkbox],.landing-page-new.dark-mode .sidebar-top .filter-toggle input[type=checkbox]{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin:0;border-radius:7px;border:1.5px solid #64748b;background-color:#1f2937;box-shadow:inset 0 1px 1px #0f172a73;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;background-position:center;background-repeat:no-repeat;background-size:13px 13px}.landing-page-new.dark-mode .sidebar-top .filter-checkbox input[type=checkbox]:checked,.landing-page-new.dark-mode .sidebar-top .filter-toggle input[type=checkbox]:checked{border-color:#d41e3a;background-color:#d41e3a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round' d='M3 8.4l3.1 3.1L13 4.7'/%3E%3C/svg%3E");box-shadow:0 0 0 2px #d41e3a29}.landing-page-new.dark-mode .sidebar-top .filter-checkbox input[type=checkbox]:focus-visible,.landing-page-new.dark-mode .sidebar-top .filter-toggle input[type=checkbox]:focus-visible{outline:2px solid rgba(147,197,253,.9);outline-offset:1px}.specialty-list{overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.9) rgba(55,65,81,.42);padding-right:.35rem}.specialty-list::-webkit-scrollbar{width:10px}.specialty-list::-webkit-scrollbar-track{background:#3741516b;border-radius:999px}.specialty-list::-webkit-scrollbar-thumb{background:#6b7280e6;border-radius:999px}.specialty-list::-webkit-scrollbar-thumb:hover{background:#94a3b8f2}.light-mode .specialty-list{scrollbar-color:rgba(148,163,184,.88) rgba(203,213,225,.44)}.light-mode .specialty-list::-webkit-scrollbar-track{background:#cbd5e170}.light-mode .specialty-list::-webkit-scrollbar-thumb{background:#94a3b8e0}.light-mode .specialty-list::-webkit-scrollbar-thumb:hover{background:#64748bf0}}.mobile-bottom-sheet-panel{width:100%}.mobile-bottom-sheet-backdrop{position:fixed;inset:0;z-index:65;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.22,1,.36,1)}.mobile-bottom-sheet-backdrop.mobile-bottom-sheet-backdrop-open{opacity:1;pointer-events:auto}.mobile-bottom-sheet-backdrop.mobile-bottom-sheet-backdrop-closed{opacity:0;pointer-events:none}.mobile-bottom-sheet-panel{--mobile-sheet-drag-y: 0px;transform:translate3d(0,var(--mobile-sheet-drag-y),0);transition:transform .42s cubic-bezier(.16,1,.3,1),background .32s ease,border-color .32s ease,box-shadow .32s ease;will-change:transform;backface-visibility:hidden}.mobile-bottom-sheet-panel.mobile-bottom-sheet-dragging{transition:none}.mobile-bottom-sheet-handle{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-bottom-sheet-handle-line{width:30px;height:3px;border-radius:999px}.mobile-bottom-sheet-content{width:100%;opacity:1;transform:translateY(0);transition:opacity .28s ease,transform .34s cubic-bezier(.16,1,.3,1)}.mobile-bottom-sheet-panel.mobile-bottom-sheet-closed .mobile-bottom-sheet-content{opacity:.94;transform:translateY(6px)}.mobile-bottom-sheet-panel.mobile-bottom-sheet-open .mobile-bottom-sheet-content{opacity:1;transform:translateY(0)}.mobile-bottom-sheet-panel-light .mobile-bottom-sheet-handle-line{background:#111827;box-shadow:0 1px 4px #0f172a38}.mobile-bottom-sheet-panel-dark .mobile-bottom-sheet-handle-line{background:#e5e7ebd9;box-shadow:0 1px 4px #00000038}.mobile-bottom-sheet-backdrop-light{background:#0f172a47}.mobile-bottom-sheet-backdrop-dark{background:#0006}.map-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;--leaflet-attribution-right-margin: 6px;--leaflet-attribution-padding-x: 6px;--leaflet-attribution-border-width: 1px;--legend-right-align-with-attribution-text: calc( var(--leaflet-attribution-right-margin) + var(--leaflet-attribution-padding-x) + var(--leaflet-attribution-border-width) )}.map-container{width:100%;height:100%;z-index:1}.map-wrapper .leaflet-bottom.leaflet-right{right:0;left:auto}.map-wrapper .leaflet-control-attribution{margin:0 var(--leaflet-attribution-right-margin) 6px 0!important;padding:1px var(--leaflet-attribution-padding-x);border-radius:8px;border:var(--leaflet-attribution-border-width) solid #4a4a4a;background:#2a2a2a;color:#f4f4f4f0;font-size:10px;line-height:1.15;opacity:.9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.map-wrapper .leaflet-control-attribution a{color:inherit;text-decoration:none}.map-wrapper .leaflet-control-attribution a:hover{text-decoration:underline}.map-wrapper.map-theme-light .leaflet-control-attribution,.light-mode .leaflet-control-attribution{border-color:#94a3b857;background:#ffffffc2;color:#1f2937e0}.map-container .analytics-district-clickable{cursor:pointer;transition:fill-opacity .18s ease,stroke-width .18s ease,opacity .18s ease;-webkit-tap-highlight-color:transparent}.map-container .analytics-district-clickable:focus,.map-container .analytics-district-clickable:focus-visible{outline:none!important}.map-container .analytics-district-hover-tooltip{background:linear-gradient(145deg,#0f172af0,#111827e6);color:#f8fafc;border:1px solid rgba(248,250,252,.2);border-left:4px solid #d41e3a;border-radius:12px;box-shadow:0 12px 28px #0000004d;padding:7px 12px;min-width:92px;text-align:center;font-size:.82rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-container .analytics-district-hover-tooltip:before{display:none}.map-theme-light .map-container .analytics-district-hover-tooltip{background:linear-gradient(145deg,#fffffffa,#fafafaf5);color:#111827;border:1px solid rgba(0,0,0,.14);border-left:4px solid #d41e3a;box-shadow:0 10px 24px #0f172a29}.map-legend{position:absolute;right:var(--legend-right-align-with-attribution-text);bottom:78px;z-index:55;border-radius:12px;padding:9px 11px;min-width:168px;max-width:250px;pointer-events:auto;box-shadow:0 6px 18px #0000003d;transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease}.map-legend-desktop-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;position:absolute;right:var(--legend-right-align-with-attribution-text);bottom:20px;z-index:56;border-radius:999px;border:1px solid transparent;padding:9px 14px;cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.map-legend-desktop-toggle:hover{transform:translateY(-1px)}.map-legend-desktop-toggle i{font-size:.74rem;transition:transform .2s ease}.map-legend-desktop-toggle.open i{transform:rotate(180deg)}.map-legend-desktop-toggle-dark{border-color:#4a4a4a;background:#2a2a2a;color:#f4f4f4;box-shadow:0 4px 12px #0000004d}.map-legend-desktop-toggle-light{border-color:#0000001f;background:#fffffffa;color:#0f172a;box-shadow:0 10px 22px #0f172a33}.map-legend-fab{display:none;position:absolute;top:84px;right:8px;z-index:56;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;box-shadow:0 8px 20px #00000047;transition:opacity .2s ease,transform .2s ease}.map-legend-fab-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.map-legend-fab-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.map-legend-fab-dark{border-color:#4a4a4a;background:#2a2a2a;color:#f4f4f4;box-shadow:0 4px 12px #0000004d}.map-legend-fab-light{border-color:#0000001a;background:#fff;color:#111}.map-legend-dark{background:#2a2a2a;border:1px solid #4a4a4a;color:#f4f4f4;box-shadow:0 4px 12px #0000004d}.map-legend-light{background:#fffffffa;border:1px solid rgba(0,0,0,.12);color:#0f172a}.map-legend-title{font-size:.72rem;font-weight:700;margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}.map-legend-items{display:flex;flex-direction:column;gap:5px}.map-legend-item{display:flex;align-items:center;gap:6px;line-height:1.15}.map-legend-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.9);flex-shrink:0}.map-legend-label{font-size:.9rem;font-weight:600}@media(max-width:780px){.map-wrapper .leaflet-control-attribution{margin:0 4px 4px 0;padding:1px 5px;font-size:9px;line-height:1.1}.map-container .analytics-district-hover-tooltip{font-size:.8rem;padding:5px 10px}.map-legend-desktop-toggle{display:none}.map-legend-fab{position:fixed;display:inline-flex;align-items:center;justify-content:center;top:auto;right:auto;left:1.25rem;bottom:var(--mobile-map-switcher-bottom, 5.35rem);width:42px;height:42px;border:1px solid #dbe1ea;background:#fff;color:#1f2937;filter:drop-shadow(-2px -3px 14px rgba(15,23,42,.2));box-shadow:0 6px 18px #0f172a29;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:1rem;transition:opacity .2s ease,transform .2s ease,filter .2s ease}.map-legend-fab:hover{transform:scale(1.06);filter:drop-shadow(-3px -4px 20px rgba(0,0,0,.22))}.map-legend-fab:active{transform:scale(.96)}.map-legend-fab.hidden{opacity:0;transform:scale(.85);pointer-events:none}.map-legend{position:fixed;top:auto;right:auto;left:1.05rem;bottom:var(--mobile-map-switcher-bottom, 5.35rem);min-width:130px;padding:6px 8px;transform-origin:bottom left}.map-legend.mobile-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.map-legend.mobile-closed{opacity:0;transform:translateY(10px) scale(.96);pointer-events:none}.map-legend-items{display:flex}.map-legend-label{font-size:.84rem}.map-legend-fab-icon svg{width:22px;height:22px}.map-legend-fab-light{border-color:#dbe1ea;background:#fff;color:#1f2937;filter:drop-shadow(-2px -3px 14px rgba(15,23,42,.2));box-shadow:0 6px 18px #0f172a29}.map-legend-fab-dark{background:#111827;color:#f3f4f6;border:1px solid #374151;filter:drop-shadow(-3px -4px 18px rgba(0,0,0,.4));box-shadow:0 6px 18px #00000052;backdrop-filter:none;-webkit-backdrop-filter:none}.map-legend-dark{background:#0f172af5;border-color:#334155;color:#e2e8f0;box-shadow:0 10px 24px #02061780}}@media(max-width:480px){.map-legend-fab{left:1rem;bottom:var(--mobile-map-switcher-bottom, 4.95rem);width:40px;height:40px;font-size:.95rem}.map-legend-fab-icon svg{width:20px;height:20px}.map-legend{left:.85rem;bottom:var(--mobile-map-switcher-bottom, 4.95rem);min-width:122px}}@media(min-width:781px){.map-wrapper{--legend-desktop-width: clamp(118px, 13vw, 158px);--legend-desktop-toggle-height: 36px;--legend-desktop-toggle-bottom: 24px}.map-legend-fab{display:none!important}.map-legend-desktop-toggle{display:inline-flex;right:var(--legend-right-align-with-attribution-text);bottom:var(--legend-desktop-toggle-bottom);width:var(--legend-desktop-width);min-height:var(--legend-desktop-toggle-height);padding:6px 9px;font-size:.98rem;font-weight:600;letter-spacing:.02em;text-transform:none;gap:0;justify-content:center}.map-legend-desktop-toggle-label{display:block;width:100%;text-align:center;font-size:clamp(.96rem,1.2vw,1.04rem);line-height:1.05;letter-spacing:.02em}.map-legend-desktop-toggle i{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:.84rem}.map-legend-desktop-toggle.open i{transform:translateY(-50%) rotate(180deg)}.map-legend-desktop-toggle.open{border-radius:0 0 12px 12px}.map-legend-desktop-toggle.open:hover{transform:none}.map-legend{right:var(--legend-right-align-with-attribution-text);bottom:calc(var(--legend-desktop-toggle-bottom) + var(--legend-desktop-toggle-height) - 1px);width:var(--legend-desktop-width);min-width:var(--legend-desktop-width);max-width:var(--legend-desktop-width);transform-origin:bottom center}.map-legend.desktop-open{opacity:1;transform:translateY(0);pointer-events:auto;border-bottom-left-radius:0;border-bottom-right-radius:0}.map-legend.desktop-closed{opacity:0;transform:translateY(10px);pointer-events:none}.map-legend-items{display:flex!important;max-height:min(40vh,320px);overflow-y:auto;padding-right:2px}}.map-logo-link{position:absolute;top:-50px;left:16px;z-index:1000;pointer-events:auto}.map-logo-button{background:transparent;border:none;padding:0;cursor:pointer}.map-logo{width:200px;height:auto;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));transition:transform .2s ease,filter .2s ease}.map-logo-button:hover .map-logo{transform:translateY(-1px) scale(1.01);filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}.map-logo-button:focus-visible{outline:3px solid #d41e3a;outline-offset:2px;border-radius:10px}.analytics-exit-btn{position:absolute;top:16px;left:16px;z-index:1001;border-radius:10px;padding:8px 12px;font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.analytics-exit-btn:hover{transform:translateY(-1px)}.analytics-exit-btn-light{background:#fffffff5;color:#111;border-color:#00000024;box-shadow:0 8px 18px #0f172a24}.analytics-exit-btn-dark{background:#111827f2;color:#f8fafc;border-color:#94a3b852;box-shadow:0 10px 24px #00000059}@media(max-width:780px){.map-logo-link{display:none}.map-style-selector{display:none!important}}@media(max-width:1024px){.map-style-selector{display:none!important}}.locate-btn-map{display:none}@media(max-width:780px){.locate-btn-map{display:flex;position:absolute;right:10px;bottom:19px;width:44px;height:44px;background:radial-gradient(circle at 30% 30%,#5ba3ff,#3b82f6);border:none;border-radius:50%;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;align-items:center;justify-content:center;z-index:60;box-shadow:0 2px 8px #3b82f680,inset 0 1px 2px #ffffff4d;color:#fff;font-size:18px}.locate-btn-map:hover{transform:scale(1.08);box-shadow:0 3px 12px #3b82f6b3,inset 0 1px 2px #ffffff4d}.locate-btn-map:active{transform:scale(.98)}}.theme-toggle-map{width:40px;height:40px;background:#2a2a2a;border:2px solid #4a4a4a;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:50;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;flex-shrink:0;font-size:1rem}.theme-toggle-map-dark{background:#2a2a2a;border:2px solid #4a4a4a;color:#f4f4f4;box-shadow:0 4px 12px #0000004d}.theme-toggle-map-light{background:#fff;border:2px solid #cbd5e1;color:#111827;box-shadow:0 4px 12px #0f172a33}@media(max-width:780px){.theme-toggle-map{display:none!important}}.map-style-selector{position:absolute;bottom:25px;left:25px;z-index:55;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.map-style-panel{display:flex;flex-direction:column;gap:.45rem;background:#1b1b1bf0;border:2px solid rgba(212,30,58,.45);border-radius:18px;padding:.55rem;box-shadow:0 12px 28px #00000073;opacity:0;transform:translateY(18px) scale(.9);transform-origin:bottom left;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.map-style-panel-dark{background:#1b1b1bf0;border:2px solid rgba(55,65,81,.95);box-shadow:0 12px 28px #00000073}.map-style-panel-light{background:#fffffff7;border:2px solid rgba(203,213,225,.9);box-shadow:0 12px 28px #0f172a38}.map-style-panel.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.map-style-option{border:1px solid transparent;background:#ffffff0d;color:#f4f4f4;border-radius:13px;padding:.55rem .75rem;cursor:pointer;display:flex;align-items:center;gap:.55rem;min-width:160px;text-align:left;transition:background .2s ease,border-color .2s ease,transform .2s ease}.map-style-option-dark{background:#ffffff0d;color:#f4f4f4}.map-style-option-light{background:#f8fafc;color:#111827;border-color:#e2e8f0}.map-style-option:hover{background:#ffffff1f;border-color:#d41e3a80;transform:translate(2px)}.map-style-option-dark:hover{border-color:#475569d9}.map-style-option-light:hover{background:#eef2ff;border-color:#3b82f673}.map-style-option.active{border-color:#d41e3ad9}.map-style-option-dark.active{border-color:#d41e3ad9;background:#ffffff0d}.map-style-option-light.active{border-color:#d41e3ad9;background:#f8fafc}.map-style-option-icon{font-size:1.05rem}.map-style-option-label{font-size:.9rem;font-weight:600}.map-style-bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#1a1a1a;border-radius:20px 20px 0 0;padding:0;z-index:70;box-shadow:0 -4px 20px #00000080;transform:translate3d(0,calc(100% + var(--mobile-sheet-drag-y, 0px)),0);display:none;max-height:80vh;overflow-y:auto}.map-style-bottom-sheet-dark{background:#111827;border-top:1px solid #374151;box-shadow:0 -6px 22px #02061780}.map-style-bottom-sheet-light{background:#fff;box-shadow:0 -6px 22px #0f172a33}@media(max-width:780px){.map-style-selector,.map-style-panel,.map-style-bottom-sheet,.bottom-sheet-content,.bottom-sheet-options,.bottom-sheet-option{touch-action:pan-y;overscroll-behavior:contain}.map-style-bottom-sheet{display:block}.map-style-bottom-sheet.mobile-bottom-sheet-open{transform:translate3d(0,var(--mobile-sheet-drag-y, 0px),0)}.map-style-bottom-sheet.mobile-bottom-sheet-closed{transform:translate3d(0,calc(100% + var(--mobile-sheet-drag-y, 0px)),0)}}@keyframes map-style-sheet-title-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes map-style-sheet-option-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bottom-sheet-handle{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;padding:12px 0 0;margin:0;cursor:grab}.bottom-sheet-handle .bottom-sheet-handle-line{width:40px;height:4px;border-radius:999px;background:#fff3}.bottom-sheet-handle-dark .bottom-sheet-handle-line{background:#cbd5e1b3}.bottom-sheet-handle-light .bottom-sheet-handle-line{background:#0f172a38}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-content{padding:16px 20px 28px}.bottom-sheet-title{font-size:1.2rem;font-weight:700;color:#fff;margin:12px 0 20px;padding:0}.bottom-sheet-title-dark{color:#f3f4f6}.bottom-sheet-title-light{color:#111827}.bottom-sheet-options{display:flex;flex-direction:column;gap:10px}.bottom-sheet-option{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.08);border-radius:12px;color:#f4f4f4;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;text-align:left}.bottom-sheet-option-dark{background:#1f2937;border:2px solid #4b5563;color:#e5e7eb}.bottom-sheet-option-light{background:#f8fafc;border:2px solid #e2e8f0;color:#111827}.bottom-sheet-option:active{transform:scale(.98)}.bottom-sheet-option:active{background:#ffffff1f;border-color:#d41e3a99}.bottom-sheet-option-dark:active{background:#273244;border-color:#6b7280}.bottom-sheet-option-light:active{background:#eef2ff;border-color:#3b82f673}.bottom-sheet-option.active{border-color:#d41e3ad9}.bottom-sheet-option-dark.active{border-color:#d41e3ad9;background:#1f2937}.bottom-sheet-option-dark .bottom-sheet-option-icon{color:#cbd5e1}.bottom-sheet-option-light.active{border-color:#d41e3ad9;background:#f8fafc}.bottom-sheet-option-icon{font-size:1.3rem;color:#fffc;display:flex;align-items:center;justify-content:center;width:32px}.bottom-sheet-option-light .bottom-sheet-option-icon{color:#334155}.bottom-sheet-option.active .bottom-sheet-option-icon{color:#d41e3a}.bottom-sheet-option-label{flex:1;font-size:.95rem}.bottom-sheet-option-check{color:#d41e3a;font-weight:700;font-size:1.1rem}.bottom-sheet-option-dark.active .bottom-sheet-option-icon,.bottom-sheet-option-dark .bottom-sheet-option-check{color:#d41e3a}@media(max-width:780px){.bottom-sheet-option-check{display:none}}.map-style-overlay{position:fixed;inset:0;background:#00000080;z-index:65;animation:fadeIn .25s ease}.map-style-overlay-dark{background:#00000080}.map-style-overlay-light{background:#0f172a47}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.theme-toggle-map:hover{transform:scale(1.1);border-color:#d41e3a;background:#3a3a3a;box-shadow:0 6px 16px #d41e3a66}.theme-toggle-map-dark:hover{border-color:#475569;background:#374151;box-shadow:0 6px 16px #0f172a8c}.theme-toggle-map-light:hover{border-color:#3b82f6;background:#eff6ff;box-shadow:0 6px 16px #3b82f659}.theme-toggle-map:active{transform:scale(.95)}.custom-marker{display:flex;align-items:center;justify-content:center;touch-action:manipulation}.custom-marker-hit-area{display:flex;align-items:center;justify-content:center;border-radius:50%}.custom-marker-dot{border-radius:50%}.user-location-marker-wrapper{background:transparent;border:none}.user-location-marker{width:30px;height:30px;background:radial-gradient(circle at 30% 30%,#60a5fa,#3b82f6 55%,#2563eb);border:2px solid #ffffff;border-radius:50%;box-shadow:0 4px 14px #2563eb73;display:flex;align-items:center;justify-content:center}.user-location-marker-icon{color:#fff;font-size:.9rem;line-height:1;transform:none}.facility-details{position:absolute;bottom:25px;right:25px;width:370px;background:#2a2a2a;border-radius:18px;box-shadow:0 15px 40px #00000080;padding:0;z-index:100;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);max-height:420px;overflow:hidden;border:2px solid #d41e3a}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.detail-header{margin-bottom:0;border-bottom:3px solid #d41e3a;padding:1.5rem 1.5rem 1rem;background:linear-gradient(135deg,#d41e3a,#a01428);color:#fff}.detail-header h2{margin:0;color:#fff;font-size:1.4rem;font-weight:700}.detail-content{color:#e0e0e0;line-height:1.9;padding:1.5rem;max-height:280px;overflow-y:auto}.detail-content::-webkit-scrollbar{width:6px}.detail-content::-webkit-scrollbar-track{background:#1a1a1a}.detail-content::-webkit-scrollbar-thumb{background:#d41e3a;border-radius:3px}.detail-content p{margin:1rem 0}.detail-content strong{color:#fff;font-weight:600}.detail-content a{color:#fff;text-decoration:none;font-weight:600;transition:color .3s ease;background:linear-gradient(135deg,#d41e3a,#a01428);padding:.2rem .4rem;border-radius:3px}.detail-content a:hover{opacity:.9;text-decoration:underline}.contact-btn-detail{width:100%;background:linear-gradient(135deg,#d41e3a,#a01428);color:#fff;border:none;padding:1rem .8rem;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;margin-top:1.2rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px #d41e3a4d}.contact-btn-detail:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 8px 20px #d41e3a66}.contact-btn-detail:active{transform:scale(.98)}.facility-popup{font-family:Nunito Sans,Arial,sans-serif;min-width:252px;max-width:100%;width:100%;position:relative;border-radius:var(--popup-corner-radius, 14px)}.facility-popup:not(.grouped-popup){padding:0;border-radius:var(--popup-corner-radius, 14px);overflow:hidden}.facility-popup-body{--popup-block-gap: .42rem;padding:3.2rem 1rem 1rem}.grouped-popup{--grouped-popup-pad-top: .82rem;--grouped-popup-pad-left: .94rem;--grouped-popup-pad-right: 1.76rem;--grouped-list-edge-gap: 0;border-radius:var(--popup-corner-radius, 14px);padding:var(--grouped-popup-pad-top) var(--grouped-popup-pad-right) .9rem var(--grouped-popup-pad-left);max-height:min(410px,60vh);overflow:hidden;background:#fff}.facility-popup.grouped-popup h3{display:flex;align-items:center;width:calc(100% + var(--grouped-popup-pad-left) + var(--grouped-popup-pad-right));min-height:2.74rem;box-sizing:border-box;font-size:var(--grouped-title-size, 1.32rem);line-height:1.08;font-weight:900;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:calc(-1 * var(--grouped-popup-pad-top)) calc(-1 * var(--grouped-popup-pad-right)) .5rem calc(-1 * var(--grouped-popup-pad-left));padding:.56rem 2.7rem .56rem .86rem;border-radius:var(--popup-corner-radius, 14px) var(--popup-corner-radius, 14px) 0 0;border:none;background:#e3e8ef;box-shadow:none;color:#111827}.popup-close-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;color:#f5f5f5;font-size:20px;font-weight:600;cursor:pointer;padding:0;margin:0;transition:none}.popup-close-btn:hover,.popup-close-btn:active{background:transparent;color:#f5f5f5;transform:none}.facility-popup h3{margin:.4rem 0 .68rem;color:#111827;font-size:1.52rem;line-height:1.12;font-weight:800;letter-spacing:-.03em;text-wrap:balance}.facility-popup h3+.facility-type-badge{margin-top:.2rem}.popup-status{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;z-index:1;font-size:.68rem;font-weight:900;margin:0;padding:.62rem 3rem .62rem 1rem;min-height:2.88rem;border-radius:var(--popup-corner-radius, 14px) var(--popup-corner-radius, 14px) 0 0;display:flex;align-items:center;justify-content:flex-start;gap:.4rem;white-space:nowrap;text-align:left;line-height:1.12;letter-spacing:.02em}.status-icon{margin-right:0}.popup-status-text{display:inline-flex;align-items:baseline;flex-wrap:nowrap;gap:.24rem;min-width:0;max-width:100%}.popup-status-main,.popup-status-subline,.popup-status-divider{display:inline}.popup-status-main{line-height:1}.popup-status-divider{font-size:.66rem;font-weight:800;opacity:.9;line-height:1}.popup-status-subline{font-size:.64rem;font-weight:800;opacity:.98;line-height:1.02;white-space:nowrap}.popup-status.popup-status-collision .popup-status-text{gap:.2rem}.popup-status.popup-status-collision .popup-status-divider{font-size:.54rem}.popup-status.popup-status-collision .popup-status-subline{font-size:.56rem}.popup-status.popup-status-collision-hard .popup-status-text{gap:.16rem}.popup-status.popup-status-collision-hard .popup-status-divider{font-size:.48rem}.popup-status.popup-status-collision-hard .popup-status-subline{font-size:.5rem}.popup-status-multiline{white-space:nowrap;align-items:center}.popup-status-multiline .status-icon{margin-top:0}.popup-status-multiline .popup-status-text{gap:.24rem;line-height:1}.popup-status.open{color:#ecfdf5;background:#15803d;border:none}.popup-status.open .popup-status-main{font-size:.94rem;font-weight:900}.popup-status.closed{color:#fff7f7;background:#ef4444;border:none}.popup-status.closed .popup-status-main,.popup-status.unknown .popup-status-main{font-size:.94rem;font-weight:900}.popup-status.unknown{color:#0f172a;background:#f2cb4c;border:none}.map-wrapper.map-theme-light .popup-status.unknown,.light-mode .popup-status.unknown{color:#fff}.popup-status-aed-empty{font-size:1.12rem;font-weight:900;letter-spacing:.01em;line-height:1.08;padding-top:.64rem;padding-bottom:.64rem}.facility-popup p{margin:.48rem 0;line-height:1.5;font-size:.92rem;word-break:break-word}.aed-description-bubble{width:100%;margin:var(--popup-block-gap) 0 0;padding:.66rem .74rem .72rem;border-radius:14px;border:1px solid rgba(148,163,184,.34);background:linear-gradient(150deg,#f8fafcfa,#f1f5f9eb);color:#1f2937;box-sizing:border-box}.aed-description-head{display:flex;align-items:center;gap:0;margin:0 0 .3rem}.aed-description-label{display:block;margin:0;font-size:.68rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;color:#475569;line-height:1.1}.aed-description-text{display:block;color:inherit;font-size:.9rem;font-weight:700;line-height:1.42}.popup-contact-row{display:flex;width:100%;align-items:center;gap:.46rem;margin:var(--popup-block-gap) 0 0;padding:.1rem 0;border:none;background:transparent;box-sizing:border-box}.popup-contact-icon{width:.98rem;margin-top:.05rem;color:#374151;flex-shrink:0}.popup-contact-row a{flex:1;min-width:0;color:#4b5563;text-decoration:none;font-size:.86rem;font-weight:400;line-height:1.3}.popup-contact-row a:hover{color:#374151;text-decoration:none}.map-wrapper.map-theme-light .popup-contact-row,.light-mode .popup-contact-row{background:transparent;border-color:transparent}.map-wrapper.map-theme-light .aed-description-bubble,.light-mode .aed-description-bubble{background:linear-gradient(150deg,#f8fafcfa,#f1f5f9eb);border-color:#94a3b857;color:#1f2937}.map-wrapper.map-theme-light .aed-description-label,.light-mode .aed-description-label{color:#475569}.popup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:var(--popup-block-gap) 0 0}.popup-actions.popup-actions-single{grid-template-columns:minmax(0,1fr);max-width:none;width:100%}.popup-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:38px;border-radius:12px;border:1px solid #0e628b;background:#0f6f9d;color:#fff!important;font-size:.78rem;font-weight:900;text-decoration:none!important;letter-spacing:.01em;transition:transform .18s ease,filter .18s ease}.popup-action-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.popup-action-btn:active{transform:translateY(0)}.map-wrapper.map-theme-light .popup-contact-icon,.light-mode .popup-contact-icon{color:#1f2937}.map-wrapper.map-theme-light .popup-contact-row a,.light-mode .popup-contact-row a{color:#4b5563}.map-wrapper.map-theme-light .popup-contact-row a:hover,.light-mode .popup-contact-row a:hover{color:#374151}.opening-hours-text{display:flex;flex-direction:column;gap:0;width:100%;padding:.36rem .72rem;border-radius:16px;border:1px solid rgba(148,163,184,.24);background:#1e293b52;box-sizing:border-box;line-height:1.6;font-size:.92rem}.opening-hours-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;padding:.32rem 0;box-sizing:border-box}.opening-hours-row+.opening-hours-row{border-top:1px solid rgba(148,163,184,.24)}.opening-day{flex:0 0 auto;font-weight:700}.opening-range{flex:1;min-width:0;text-align:right;white-space:normal;font-size:.86rem;font-weight:700;font-variant-numeric:tabular-nums}.map-wrapper.map-theme-light .opening-hours-text,.light-mode .opening-hours-text{background:#f1f5f9f2;border-color:#94a3b857}.map-wrapper.map-theme-light .opening-hours-row+.opening-hours-row,.light-mode .opening-hours-row+.opening-hours-row{border-top-color:#94a3b857}.popup-section-title{margin:0 0 .35rem;font-size:.98rem;font-weight:700;color:#f5f5f5}.popup-hours-wrap{margin-top:var(--popup-block-gap)}.grouped-popup-subtitle{display:flex;align-items:center;width:100%;box-sizing:border-box;gap:.3rem;margin:0 0 .38rem;padding:0;border:0;background:transparent;color:#6b7280;font-size:.86rem;font-weight:600;line-height:1.25}.grouped-popup-address{margin:0 0 .72rem!important;display:block;width:100%;padding:0;border-radius:0;border:0;background:transparent;color:#111827;font-size:1rem;font-weight:800;line-height:1.3;box-sizing:border-box}.grouped-popup-list-panel{margin-left:0;margin-right:0;border:0;border-radius:0;background:transparent;overflow:visible}.grouped-popup-subtitle-count{font-size:.92rem;font-weight:700;color:inherit;line-height:1.1}.grouped-popup-subtitle-text{font-weight:600;white-space:normal}.group-facility-list{display:grid;grid-auto-rows:max-content;row-gap:.6rem;margin-top:0;margin-left:0;margin-right:0;max-height:min(252px,36vh);overflow-y:auto;padding:.08rem .02rem}.group-facility-list::-webkit-scrollbar{width:6px}.group-facility-list::-webkit-scrollbar-track{background:#94a3b82e;border-radius:999px}.group-facility-list::-webkit-scrollbar-thumb{background:#94a3b89e;border-radius:999px}.group-facility-item{width:100%;text-align:left;border:1px solid #d5dbe3;background:#f5f6f8;border-radius:16px;padding:.7rem .82rem;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:.24rem;min-height:0;height:auto;touch-action:manipulation;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.group-facility-item:hover{background:#eef1f5;border-color:#c5cdd8;transform:translateY(-1px);box-shadow:0 6px 14px #0f172a14}.group-facility-name{display:block;width:100%;color:#111827;font-size:.86rem;font-weight:800;line-height:1.24;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.group-facility-type{display:block;width:100%;color:#4b5563;font-size:.76rem;line-height:1.36;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.group-back-button{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:.7rem 0 0;border:1px solid #d1d5db;background:#e5e7eb;color:#374151;border-radius:8px;padding:.35rem .65rem;font-size:.8rem;font-weight:700;cursor:pointer;min-height:40px;touch-action:manipulation}.group-back-button:hover{background:#d9dde3}.address-link{color:#4b5563;text-decoration:none;font-weight:400;cursor:pointer;transition:all .2s ease;position:relative;word-break:break-word}.address-link:hover{color:#374151;text-decoration:underline;opacity:.8}.facility-type-badge{display:inline-flex;width:fit-content;max-width:100%;align-self:flex-start;align-items:center;justify-content:flex-start;gap:.58rem;background:#f1f5f9f2;color:#111827;padding:.52rem .7rem;border-radius:12px;font-size:.86rem;font-weight:800;border:1px solid rgba(148,163,184,.34);margin:var(--popup-block-gap) 0 0;box-sizing:border-box}.facility-type-badge span{white-space:normal;overflow-wrap:anywhere}.facility-type-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 .98rem;width:.98rem;font-size:.92rem;color:currentColor;line-height:1}.booking-link{color:#4ade80!important;text-decoration:underline;font-weight:600;transition:all .2s ease}.booking-link:hover{color:#22c55e!important;opacity:.9}.accessibility-badge{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;background:#3f9ab3;color:#fff;padding:.46rem .84rem;border-radius:12px;font-size:.86rem;font-weight:800;border:none;margin-top:var(--popup-block-gap);width:100%}.accessibility-icon{font-size:.95rem}.popup-hint{font-size:.8rem;color:#999;font-style:italic;margin-top:.75rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.facility-popup .popup-contact-row a[href^="tel:"]{color:#4b5563;text-decoration:none;font-size:.86rem;font-weight:400}.facility-popup .popup-contact-row a[href^="tel:"]:hover{text-decoration:underline}.facility-popup .popup-contact-row a[href^="mailto:"]{color:#3b82f6;text-decoration:none;font-weight:400}.facility-popup .popup-contact-row a[href^="mailto:"]:hover{text-decoration:underline}.leaflet-popup-content-wrapper{--popup-corner-radius: 14px;background-color:#fff;color:#111827;border-radius:var(--popup-corner-radius);box-shadow:0 20px 46px #0f172a42;border:1px solid rgba(148,163,184,.38);padding:0!important;overflow:hidden!important}.leaflet-popup-tip{background-color:#fff;border-left-color:transparent;border-right-color:transparent}.leaflet-popup-content{color:#111827;margin:0!important;width:min(276px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important}@media(max-width:780px){.leaflet-popup.popup-zoom-lock-active .leaflet-popup-content-wrapper,.leaflet-popup.popup-zoom-lock-active .leaflet-popup-tip-container{transform:translate3d(var(--popup-zoom-lock-x, 0px),var(--popup-zoom-lock-y, 0px),0) scale(var(--popup-zoom-scale, 1));transform-origin:center bottom;transition:none;will-change:transform}}.leaflet-popup:has(.facility-popup.popup-width-wide):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(340px,calc(100vw - 76px))!important;max-width:calc(100vw - 76px)!important}.leaflet-popup:has(.facility-popup.popup-width-standard):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(314px,calc(100vw - 84px))!important;max-width:calc(100vw - 84px)!important}.leaflet-popup:has(.facility-popup.popup-width-compact):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(286px,calc(100vw - 92px))!important;max-width:calc(100vw - 92px)!important}.leaflet-popup:has(.grouped-popup){--grouped-title-size: 1.32rem;--grouped-heading-size: 1.06rem;--grouped-header-height: 2.74rem}.leaflet-popup:has(.grouped-popup) .leaflet-popup-content{width:min(284px,calc(100vw - 72px))!important;max-width:calc(100vw - 72px)!important}.facility-popup.grouped-popup{max-width:284px}.leaflet-popup:has(.grouped-popup) .leaflet-popup-close-button{top:0!important;right:.88rem!important;font-size:var(--grouped-heading-size, 1.04rem)!important;font-weight:900!important;width:2.05rem!important;height:var(--grouped-header-height, 3.15rem)!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.leaflet-popup-content-wrapper{touch-action:manipulation}.leaflet-popup-close-button{color:#fff!important;font-size:22px!important;font-weight:700!important;top:10px!important;right:10px!important;width:28px!important;height:28px!important;line-height:1!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;z-index:10!important}.leaflet-popup-close-button:hover,.map-wrapper.map-theme-light .leaflet-popup-close-button{color:#fff!important}.leaflet-popup-content strong{color:#111827}.map-wrapper.map-theme-light .leaflet-popup-content-wrapper{background-color:#fff;color:#1f2937;box-shadow:0 20px 46px #0f172a33;border:1px solid rgba(148,163,184,.35)}.map-wrapper.map-theme-light .leaflet-popup-tip{background-color:#fff}.map-wrapper.map-theme-light .leaflet-popup-content,.map-wrapper.map-theme-light .facility-popup{color:#1f2937}.map-wrapper.map-theme-light .popup-section-title,.map-wrapper.map-theme-light .leaflet-popup-content strong{color:#111827}.map-wrapper.map-theme-light .popup-action-btn{border-color:#0e628b;background:#0f6f9d;color:#fff!important}.map-wrapper.map-theme-light .grouped-popup-address{color:#111827;background:transparent;border-color:transparent;font-weight:800}.map-wrapper.map-theme-light .grouped-popup-list-panel{background:transparent;border-color:transparent}.map-wrapper.map-theme-light .grouped-popup-subtitle{color:#6b7280;background:transparent;border-color:transparent}.map-wrapper.map-theme-light .grouped-popup-subtitle-count{color:inherit}.map-wrapper.map-theme-light .popup-hint{color:#6b7280;border-top:1px solid rgba(15,23,42,.12)}.map-wrapper.map-theme-light .leaflet-popup-close-button:hover{color:#fff!important}.map-wrapper.map-theme-light .leaflet-popup:has(.grouped-popup) .leaflet-popup-close-button,.map-wrapper.map-theme-light .leaflet-popup:has(.grouped-popup) .leaflet-popup-close-button:hover{color:#111827!important}.map-legend-items::-webkit-scrollbar{width:0;height:0}.map-legend-items{scrollbar-width:none;-ms-overflow-style:none}.map-wrapper.map-theme-dark .leaflet-popup-content-wrapper{background-color:#111827;color:#e5e7eb;box-shadow:0 20px 46px #00000080;border:1px solid rgba(75,85,99,.9)}.map-wrapper.map-theme-dark .leaflet-popup-tip{background-color:#111827}.map-wrapper.map-theme-dark .leaflet-popup-content,.map-wrapper.map-theme-dark .facility-popup,.map-wrapper.map-theme-dark .facility-popup p{color:#e5e7eb}.map-wrapper.map-theme-dark .facility-popup h3,.map-wrapper.map-theme-dark .popup-section-title,.map-wrapper.map-theme-dark .leaflet-popup-content strong{color:#f9fafb}.map-wrapper.map-theme-dark .facility-popup.grouped-popup h3{background:#6b7280;box-shadow:none;color:#f8fafc}.map-wrapper.map-theme-dark .facility-popup.grouped-popup{background:#0f172a}.map-wrapper.map-theme-dark .grouped-popup-address{background:transparent;border-color:transparent;color:#f3f4f6}.map-wrapper.map-theme-dark .grouped-popup-list-panel{background:transparent;border-color:transparent}.map-wrapper.map-theme-dark .grouped-popup-subtitle{color:#e2e8f0;background:transparent;border-color:transparent}.map-wrapper.map-theme-dark .grouped-popup-subtitle-count{color:#e2e8f0}.map-wrapper.map-theme-dark .facility-type-badge{background:#f1f5f9f2;color:#111827;border-color:#94a3b857}.map-wrapper.map-theme-dark .popup-contact-icon{color:#d1d5db}.map-wrapper.map-theme-dark .popup-contact-row a,.map-wrapper.map-theme-dark .address-link{color:#cbd5e1}.map-wrapper.map-theme-dark .popup-contact-row{background:transparent;border-color:transparent}.map-wrapper.map-theme-dark .aed-description-bubble{background:linear-gradient(155deg,#111827f2,#1e293bdb);border-color:#64748b57;color:#e5e7eb}.map-wrapper.map-theme-dark .aed-description-label{color:#cbd5e1}.map-wrapper.map-theme-dark .popup-contact-row a:hover,.map-wrapper.map-theme-dark .address-link:hover{color:#f3f4f6}.map-wrapper.map-theme-dark .opening-hours-text,.map-wrapper.map-theme-dark .group-facility-type{color:#9ca3af}.map-wrapper.map-theme-dark .opening-hours-row{background:transparent}.map-wrapper.map-theme-dark .opening-hours-text{background:#111827eb;border-color:#94a3b838}.map-wrapper.map-theme-dark .opening-hours-row+.opening-hours-row{border-top-color:#94a3b838}.map-wrapper.map-theme-dark .group-facility-name{color:#f3f4f6}.map-wrapper.map-theme-dark .group-facility-item{background:#111827e6;border-color:#94a3b866}.map-wrapper.map-theme-dark .group-facility-item:hover{background:#1f2937f2;border-color:#94a3b88c}.map-wrapper.map-theme-dark .group-back-button{background:#1f2937;color:#e5e7eb;border-color:#374151}.map-wrapper.map-theme-dark .group-back-button:hover{background:#273244}.map-wrapper.map-theme-dark .leaflet-popup-close-button,.map-wrapper.map-theme-dark .leaflet-popup-close-button:hover{color:#f9fafb!important}@media(max-width:768px){.leaflet-popup-content{width:min(360px,calc(100vw - 10px))!important;max-width:calc(100vw - 10px)!important}.leaflet-popup-content-wrapper{--popup-corner-radius: 12px;border-radius:var(--popup-corner-radius)}.popup-status{font-size:.56rem;padding:.5rem 2.8rem .5rem .78rem;min-height:2.5rem;gap:.34rem;letter-spacing:.01em;border-radius:var(--popup-corner-radius, 12px) var(--popup-corner-radius, 12px) 0 0}.popup-status.open .popup-status-main,.popup-status.closed .popup-status-main,.popup-status.unknown .popup-status-main{font-size:.82rem}.popup-status-divider{font-size:.6rem}.popup-status-subline{font-size:.62rem}.popup-status.popup-status-collision .popup-status-divider{font-size:.54rem}.popup-status.popup-status-collision .popup-status-subline{font-size:.56rem}.popup-status.popup-status-collision-hard .popup-status-divider{font-size:.5rem}.popup-status.popup-status-collision-hard .popup-status-subline{font-size:.52rem}.popup-status-aed-empty{font-size:.96rem;padding-top:.62rem;padding-bottom:.62rem}.aed-description-bubble{padding:.52rem .62rem .56rem;border-radius:12px}.aed-description-head{margin-bottom:.2rem}.aed-description-label{font-size:.62rem;margin-bottom:0}.aed-description-text{font-size:.83rem;line-height:1.36}.facility-popup:not(.grouped-popup) h3{font-size:1.08rem;line-height:1.18;margin:.2rem 0 .34rem;letter-spacing:-.01em}.facility-popup:not(.grouped-popup) h3+.facility-type-badge{margin-top:.1rem}.facility-popup-body{padding:2.7rem .84rem .82rem}.facility-popup p,.opening-hours-text{font-size:.84rem;line-height:1.42}.popup-contact-row a{font-size:.8rem}.facility-type-badge{font-size:.78rem;padding:.52rem .7rem}.facility-type-icon{font-size:.84rem}.popup-action-btn{height:34px;font-size:.72rem;border-radius:10px}.accessibility-badge{font-size:.78rem;padding:.4rem .64rem;border-radius:10px}.popup-section-title{margin:0 0 .28rem;font-size:.9rem}.opening-hours-row{gap:.42rem;padding:.28rem 0}.opening-hours-text{padding:.32rem .6rem;border-radius:14px}.grouped-popup{--grouped-popup-pad-top: .76rem;--grouped-popup-pad-left: .72rem;--grouped-popup-pad-right: .72rem;--grouped-list-edge-gap: 0;padding:var(--grouped-popup-pad-top) var(--grouped-popup-pad-right) .8rem var(--grouped-popup-pad-left);max-height:min(350px,55vh)}.grouped-popup-address{margin:0 0 .62rem!important;font-size:.92rem;padding:0;border-radius:0}.grouped-popup-list-panel{border-radius:0}.grouped-popup-subtitle{font-size:.8rem;margin:0 0 .3rem;padding:0}.grouped-popup-subtitle-count{font-size:.84rem}.group-facility-list{max-height:min(210px,32vh);row-gap:.5rem;justify-items:center;padding:.08rem 0}.group-facility-item{padding:.62rem .7rem;border-radius:14px;width:calc(100% - .56rem);max-width:218px;margin-left:auto;margin-right:auto}.group-facility-item:hover,.group-facility-item:focus-visible{transform:none}.group-facility-name{font-size:.8rem}.group-facility-type{font-size:.71rem}.group-back-button{font-size:.72rem;padding:.3rem .54rem;border-radius:7px}.facility-details{width:calc(100% - 40px);bottom:20px;left:20px;right:20px;max-width:none}.map-container{min-height:500px}}.marker-cluster,.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large,.cluster-pie-icon{background:transparent;border:none}.cluster-pie{width:var(--cluster-size);height:var(--cluster-size);border-radius:999px;background:var(--cluster-ring);padding:4px;box-sizing:border-box;box-shadow:0 6px 16px #0f172a33;transition:transform .18s ease,box-shadow .18s ease}.cluster-pie-inner{width:100%;height:100%;border-radius:999px;display:flex;align-items:center;justify-content:center;border:1.5px solid #111827;background:#f8fafc;color:#111827}.cluster-pie-count{font-family:Nunito Sans,Arial,sans-serif;font-size:clamp(.7rem,1.5vw,1.1rem);font-weight:900;letter-spacing:-.02em;line-height:1}.marker-cluster:hover .cluster-pie{transform:scale(1.03);box-shadow:0 8px 20px #0f172a3d}.map-wrapper.map-theme-dark .cluster-pie{box-shadow:0 10px 28px #0000007a}.map-wrapper.map-theme-dark .cluster-pie-inner{border-color:#e5e7eb;background:#0f172a;color:#f8fafc}@media(max-width:768px){.cluster-pie{padding:4px}}.light-mode .facility-details{background:#fff;border-color:#d41e3a;box-shadow:0 15px 40px #00000026}.light-mode .detail-content,.light-mode .detail-content strong{color:#1a1a1a}.light-mode .detail-content::-webkit-scrollbar-track{background:#f5f5f5}.light-mode .popup-hint{color:#666;border-top-color:#0000001a}.light-mode .leaflet-popup-content-wrapper{background-color:#fff;color:#1a1a1a;box-shadow:0 4px 12px #00000026}.light-mode .leaflet-popup-tip{background-color:#fff}.light-mode .leaflet-popup-content,.light-mode .leaflet-popup-content strong{color:#1a1a1a}.light-mode .popup-section-title{color:#111827}.light-mode .opening-hours-text{color:#374151}.light-mode .facility-type-badge{background:#f1f5f9f2;color:#111827;border-color:#94a3b857}.light-mode .grouped-popup-subtitle{color:#6b7280;border-color:transparent;background:transparent}.light-mode .grouped-popup-address{color:#111827;border-color:transparent;background:transparent}.light-mode .grouped-popup-list-panel{background:transparent;border-color:transparent}.light-mode .grouped-popup-subtitle-count{color:inherit}.light-mode .group-facility-item{background:#f5f6f8;border-color:#d5dbe3}.light-mode .group-facility-item:hover{background:#eef1f5;border-color:#c5cdd8}.light-mode .group-facility-list::-webkit-scrollbar-track{background:#94a3b82e}.light-mode .group-facility-list::-webkit-scrollbar-thumb{background:#94a3b89e}.light-mode .group-facility-name{color:#111827}.light-mode .group-facility-type{color:#4b5563}.light-mode .group-back-button{border-color:#d1d5db;background:#e5e7eb;color:#374151}@media(max-width:768px){.map-logo-link{display:none}.facility-popup{min-width:0;max-width:100%}.leaflet-popup-content{width:min(304px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}.leaflet-popup:has(.facility-popup.popup-width-wide):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(300px,calc(100vw - 44px))!important;max-width:calc(100vw - 44px)!important}.leaflet-popup:has(.facility-popup.popup-width-standard):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(280px,calc(100vw - 52px))!important;max-width:calc(100vw - 52px)!important}.leaflet-popup:has(.facility-popup.popup-width-compact):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(256px,calc(100vw - 60px))!important;max-width:calc(100vw - 60px)!important}.leaflet-popup:has(.facility-popup):not(:has(.grouped-popup)) .leaflet-popup-close-button{top:0!important;right:.72rem!important;width:2.06rem!important;height:2.5rem!important;font-size:1.02rem!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.leaflet-popup:has(.grouped-popup){--grouped-title-size: 1.04rem;--grouped-heading-size: .98rem;--grouped-header-height: 2.46rem}.leaflet-popup:has(.grouped-popup) .leaflet-popup-content{width:min(248px,calc(100vw - 42px))!important;max-width:calc(100vw - 42px)!important}.leaflet-popup:has(.grouped-popup.grouped-width-wide) .leaflet-popup-content{width:min(252px,calc(100vw - 42px))!important;max-width:calc(100vw - 42px)!important}.leaflet-popup:has(.grouped-popup.grouped-width-standard) .leaflet-popup-content{width:min(236px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important}.leaflet-popup:has(.grouped-popup.grouped-width-compact) .leaflet-popup-content{width:min(222px,calc(100vw - 54px))!important;max-width:calc(100vw - 54px)!important}.facility-popup.grouped-popup{max-width:252px}.leaflet-popup:has(.grouped-popup) .leaflet-popup-close-button{font-size:var(--grouped-heading-size, .95rem)!important;right:.78rem!important}.facility-popup.grouped-popup h3{min-height:2.46rem;padding:.46rem 2.8rem .46rem .78rem;border-radius:var(--popup-corner-radius, 12px) var(--popup-corner-radius, 12px) 0 0}}@media(max-width:420px){.leaflet-popup:has(.grouped-popup){--grouped-title-size: .98rem}.grouped-popup{--grouped-popup-pad-left: .66rem;--grouped-popup-pad-right: .66rem}.leaflet-popup-content{width:min(320px,calc(100vw - 12px))!important;max-width:calc(100vw - 12px)!important}.leaflet-popup:has(.facility-popup.popup-width-wide):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(282px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important}.leaflet-popup:has(.facility-popup.popup-width-standard):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(262px,calc(100vw - 34px))!important;max-width:calc(100vw - 34px)!important}.leaflet-popup:has(.facility-popup.popup-width-compact):not(:has(.grouped-popup)) .leaflet-popup-content{width:min(244px,calc(100vw - 40px))!important;max-width:calc(100vw - 40px)!important}.leaflet-popup:has(.facility-popup):not(:has(.grouped-popup)) .leaflet-popup-close-button{height:2.32rem!important;right:.68rem!important;width:2rem!important;font-size:.98rem!important}.leaflet-popup:has(.grouped-popup.grouped-width-wide) .leaflet-popup-content{width:min(234px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important}.leaflet-popup:has(.grouped-popup.grouped-width-standard) .leaflet-popup-content{width:min(220px,calc(100vw - 38px))!important;max-width:calc(100vw - 38px)!important}.leaflet-popup:has(.grouped-popup.grouped-width-compact) .leaflet-popup-content{width:min(206px,calc(100vw - 44px))!important;max-width:calc(100vw - 44px)!important}.popup-status{font-size:.56rem;padding:.45rem 2.7rem .45rem .72rem;min-height:2.32rem;gap:.3rem}.popup-status.open .popup-status-main,.popup-status.closed .popup-status-main,.popup-status.unknown .popup-status-main{font-size:.74rem}.popup-status-divider,.popup-status-subline{font-size:.56rem}.popup-status.popup-status-collision .popup-status-divider,.popup-status.popup-status-collision .popup-status-subline{font-size:.5rem}.popup-status.popup-status-collision-hard .popup-status-divider,.popup-status.popup-status-collision-hard .popup-status-subline{font-size:.46rem}.popup-status-aed-empty{font-size:.9rem;padding-top:.58rem;padding-bottom:.58rem}.facility-popup.grouped-popup h3{min-height:2.34rem;padding:.4rem 2.7rem .4rem .72rem}.group-facility-list{row-gap:.46rem}.group-facility-item{width:calc(100% - .66rem);max-width:202px;padding:.58rem .64rem}.facility-popup h3{font-size:1rem}.facility-popup-body{padding:2.62rem .8rem .78rem}.opening-hours-text{font-size:.82rem}}.light-mode .theme-toggle-map{background:#fff;border-color:#d0d0d0;box-shadow:0 4px 12px #00000026}.light-mode .theme-toggle-map:hover{background:#f5f5f5;border-color:#d41e3a;box-shadow:0 6px 16px #d41e3a33}.district-panel{position:absolute;top:14px;right:14px;width:min(420px,38vw);max-height:calc(100% - 28px);z-index:70;border-radius:14px;border:1px solid rgba(100,116,139,.35);overflow:hidden;display:flex;flex-direction:column}.district-panel-dark{background:#2a2a2a;border-color:#4a4a4a;color:#f4f4f4;box-shadow:0 4px 12px #0000004d}.district-panel-dark .district-panel-header{border-bottom-color:#4a4a4ae6}.district-panel-dark .district-panel-section{border-color:#4a4a4ad1}.district-panel-dark .district-panel-metric{background:transparent;border-color:#4a4a4ad1}.district-panel-light{background:#fffffff2;color:#0f172a;box-shadow:0 14px 30px #0f172a2e}.district-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.24)}.district-panel-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#94a3b8}.district-panel-title{margin:0;font-size:clamp(1.28rem,1.85vw,1.6rem);font-weight:900;line-height:1.04}.district-panel-subtitle{font-size:.76rem;opacity:.8}.district-panel-close{width:30px;height:30px;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:transparent;color:inherit;cursor:pointer}.district-panel-content{overflow:auto;padding:10px 14px 8px}.district-panel-content .district-panel-section:last-of-type{margin-bottom:0}.district-panel-state{padding:12px 14px 14px;font-size:.9rem}.district-panel-error{color:#fecaca}.district-panel-warning{border:1px solid rgba(251,191,36,.5);color:#fde68a;background:#f59e0b1f;border-radius:10px;padding:9px 10px;margin-bottom:12px;font-size:.84rem;font-weight:700}.district-panel-section{border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:9px;margin-bottom:8px}.district-panel-section h4{margin:0 0 6px;font-size:.85rem;font-weight:800;letter-spacing:.01em}.district-panel-grid{display:grid;gap:6px}.district-panel-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.district-panel-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:6px}.district-panel-metric{border-radius:9px;padding:8px;border:1px solid rgba(148,163,184,.26);background:#1e293b4d;display:flex;flex-direction:column}.district-panel-light .district-panel-metric{background:#f8fafcd1}.district-panel-metric span{display:block;font-size:.71rem;opacity:.82;margin-bottom:0;line-height:1.25}.district-panel-grid-3 .district-panel-metric span{font-size:clamp(.56rem,.7vw,.66rem);letter-spacing:-.01em;white-space:nowrap}.district-panel-metric strong{display:block;font-size:.94rem;font-weight:800;margin-top:auto;line-height:1.1}.district-panel-metric small{display:block;font-size:.68rem;margin-top:2px;color:#94a3b8}.district-panel-aed-grid{margin-top:2px}.district-panel-aed-metric span{display:inline-flex;align-items:center;gap:6px}.district-panel-aed-metric strong{white-space:nowrap}.district-panel-aging{border-radius:10px;border:1px solid rgba(148,163,184,.3);padding:8px 10px;display:grid;grid-template-columns:1fr auto;column-gap:8px;row-gap:2px;align-items:center}.district-panel-aging span{font-size:.75rem}.district-panel-aging strong{font-size:.98rem;font-weight:800}.district-panel-aging em{grid-column:1 / -1;font-size:.72rem;font-style:normal;text-transform:uppercase;letter-spacing:.03em}.district-panel-aging-high{border-color:#f871718c;background:#7f1d1d2e}.district-panel-aging-good{border-color:#4ade8080;background:#14532d38}.district-panel-aging-neutral{background:#1e293b4d}.district-panel-type-list{display:flex;flex-direction:column;gap:5px}.district-panel-type-row{display:grid;grid-template-columns:24px minmax(0,1.4fr) auto minmax(90px,1fr);gap:8px;align-items:center;border:1px solid rgba(148,163,184,.24);border-radius:9px;padding:5px 8px}.district-panel-type-icon{width:24px;display:inline-flex;justify-content:center;color:#f87171}.district-panel-type-name{font-size:.76rem}.district-panel-type-value{font-size:.84rem;font-weight:800}.district-panel-type-rate{text-align:right;font-size:.68rem;color:#94a3b8}.district-panel-progress-row{margin-bottom:6px}.district-panel-progress-row:last-child{margin-bottom:0}.district-panel-progress-head{display:flex;justify-content:space-between;align-items:center;font-size:.74rem;margin-bottom:4px}.district-panel-progress-head strong{font-size:.74rem}.district-panel-progress-track{width:100%;height:8px;border-radius:999px;background:#47556973;overflow:hidden}.district-panel-progress-fill{height:100%;background:linear-gradient(90deg,#dc2626,#f43f5e)}.district-panel-inline{display:flex;align-items:center;gap:8px;font-size:.77rem}.district-panel-inline strong{font-size:.86rem}.district-panel-inline small{margin-left:auto;color:#94a3b8}.district-panel-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.district-panel-badge{font-size:.7rem;border:1px solid rgba(148,163,184,.34);border-radius:999px;padding:4px 8px;background:#0f172a73}.district-panel-light .district-panel-badge{background:#f1f5f9e6}.district-panel-footer-note{margin-top:4px;font-size:.72rem;color:#94a3b8}@media(max-width:980px){.district-panel{width:min(390px,46vw)}}@media(max-width:780px){.district-panel{inset:auto 8px 10px;width:auto;max-height:52vh}.district-panel-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.district-panel-type-row{grid-template-columns:20px minmax(0,1.3fr) auto;row-gap:3px}.district-panel-type-rate{grid-column:2 / -1;text-align:left}}.landing-page-new{display:grid;grid-template-columns:380px 1fr;grid-template-rows:1fr;grid-template-areas:"sidebar-top map";height:100vh;background:#1a1a1a;gap:0;overflow:hidden;transition:background .3s ease}.landing-page-new.analytics-mode{grid-template-columns:1fr;grid-template-areas:"map"}.landing-page-new.light-mode{background:#f5f5f5;color-scheme:light}.landing-page-new.dark-mode{color-scheme:dark}.landing-page-new.theme-standard .sidebar-top{background:#fff;border-right:2px solid #dfe3ea}.landing-page-new.theme-standard .map-right{background:#e9eef3}.landing-page-new.theme-satellite .sidebar-top{background:#fff;border-right:2px solid #dfe3ea}.landing-page-new.theme-satellite .map-right{background:#e9eef3}.landing-page-new.theme-white .sidebar-top{background:#fff;border-right:2px solid #e5e7eb}.landing-page-new.theme-white .map-right{background:#f3f4f6}.landing-page-new.theme-dark .sidebar-top{background:#0f0f0f;border-right:2px solid #1a1a1a}.landing-page-new.theme-dark .map-right{background:#0b0b0b}.landing-page-new.theme-standard .facility-details,.landing-page-new.theme-satellite .facility-details,.landing-page-new.theme-white .facility-details{background:#fff;border:2px solid #d41e3a;box-shadow:0 15px 40px #00000026}.landing-page-new.theme-standard .detail-content,.landing-page-new.theme-satellite .detail-content,.landing-page-new.theme-white .detail-content{color:#333}.landing-page-new.theme-standard .detail-content strong,.landing-page-new.theme-satellite .detail-content strong,.landing-page-new.theme-white .detail-content strong{color:#1a1a1a}.landing-page-new.theme-standard .detail-content a,.landing-page-new.theme-satellite .detail-content a,.landing-page-new.theme-white .detail-content a{color:#fff;background:linear-gradient(135deg,#d41e3a,#a01428)}.landing-page-new.theme-standard .detail-content::-webkit-scrollbar-thumb,.landing-page-new.theme-satellite .detail-content::-webkit-scrollbar-thumb,.landing-page-new.theme-white .detail-content::-webkit-scrollbar-thumb{background:#d41e3a}.landing-page-new.theme-standard .detail-content::-webkit-scrollbar-track,.landing-page-new.theme-satellite .detail-content::-webkit-scrollbar-track,.landing-page-new.theme-white .detail-content::-webkit-scrollbar-track{background:#f5f5f5}.landing-page-new.theme-standard .map-style-bottom-sheet,.landing-page-new.theme-satellite .map-style-bottom-sheet,.landing-page-new.theme-white .map-style-bottom-sheet{background:#fff}.landing-page-new.theme-standard .bottom-sheet-title,.landing-page-new.theme-satellite .bottom-sheet-title,.landing-page-new.theme-white .bottom-sheet-title{color:#1a1a1a}.landing-page-new.theme-standard .bottom-sheet-option,.landing-page-new.theme-satellite .bottom-sheet-option,.landing-page-new.theme-white .bottom-sheet-option{background:#fff;border:2px solid #e5e7eb;box-shadow:0 4px 12px #0f172a0f;color:#1a1a1a}.landing-page-new.theme-standard .bottom-sheet-option:active,.landing-page-new.theme-satellite .bottom-sheet-option:active,.landing-page-new.theme-white .bottom-sheet-option:active{background:#fff6f8;border-color:#d41e3a99}.landing-page-new.theme-standard .bottom-sheet-option.active,.landing-page-new.theme-satellite .bottom-sheet-option.active,.landing-page-new.theme-white .bottom-sheet-option.active{border-color:#d41e3ad9;background:#fff;box-shadow:0 4px 12px #0f172a0f}.landing-page-new.theme-standard .bottom-sheet-option-icon,.landing-page-new.theme-satellite .bottom-sheet-option-icon,.landing-page-new.theme-white .bottom-sheet-option-icon{color:#000c}.landing-page-new.theme-standard .bottom-sheet-handle .bottom-sheet-handle-line,.landing-page-new.theme-satellite .bottom-sheet-handle .bottom-sheet-handle-line,.landing-page-new.theme-white .bottom-sheet-handle .bottom-sheet-handle-line{background:#0003}.landing-page-new.theme-standard .map-style-panel,.landing-page-new.theme-satellite .map-style-panel,.landing-page-new.theme-white .map-style-panel{background:#fffffff7;border:2px solid #e5e7eb;box-shadow:0 14px 30px #0f172a24}.landing-page-new.theme-standard .map-style-option,.landing-page-new.theme-satellite .map-style-option,.landing-page-new.theme-white .map-style-option{background:#fff;border:2px solid #e5e7eb;color:#1a1a1a}.landing-page-new.theme-standard .map-style-option:active,.landing-page-new.theme-satellite .map-style-option:active,.landing-page-new.theme-white .map-style-option:active{background:#fff6f8;border-color:#d41e3a99}.landing-page-new.theme-standard .map-style-option.active,.landing-page-new.theme-satellite .map-style-option.active,.landing-page-new.theme-white .map-style-option.active{border-color:#d41e3ad9;background:#fff;box-shadow:none}.landing-page-new.theme-standard .map-style-option-label,.landing-page-new.theme-satellite .map-style-option-label,.landing-page-new.theme-white .map-style-option-label{color:#1a1a1a}.landing-page-new.light-mode .sidebar-top{background:#fff;border-right:2px solid #e0e0e0}.landing-page-new.light-mode .search-input{background:#f5f5f5;border-color:#d0d0d0;color:#1a1a1a}.landing-page-new.light-mode .search-input::placeholder{color:#666}.landing-page-new.light-mode .search-input:focus{background:#fff;border-color:#d41e3a;box-shadow:0 0 0 3px #d41e3a1a}.landing-page-new.light-mode .locate-btn-sidebar{background:radial-gradient(circle at 30% 30%,#5ba3ff,#3b82f6);border:none;box-shadow:0 2px 8px #3b82f666,inset 0 1px 2px #ffffff4d}.landing-page-new.light-mode .locate-btn-sidebar:hover{box-shadow:0 3px 12px #3b82f699,inset 0 1px 2px #ffffff4d}.landing-page-new.light-mode .facility-card{background:#fff;border-color:#e0e0e0}.landing-page-new.light-mode .facility-card:hover,.landing-page-new.light-mode .facility-card.selected{background:#f9f9f9;border-color:#d41e3a;box-shadow:0 8px 20px #d41e3a26}.landing-page-new.light-mode .facility-info h3{color:#1a1a1a}.landing-page-new.light-mode .facility-distance{color:#666}.landing-page-new.light-mode .facility-hours{color:#888}.landing-page-new.light-mode .location-error{color:#334155}.landing-page-new.light-mode .location-error p{background:#f8fafc;border-color:#cbd5e1}.landing-page-new.light-mode .map-right{background:#f0f0f0}.landing-page-new.light-mode .sidebar-top::-webkit-scrollbar-track{background:#cbd5e170}.landing-page-new.light-mode .sidebar-top::-webkit-scrollbar-thumb{background:#94a3b8e0!important}.landing-page-new.light-mode .sidebar-top::-webkit-scrollbar-thumb:hover{background:#64748bf0!important}.landing-page-new.light-mode .no-results{color:#666}.landing-page-new.light-mode .no-results-hint{color:#999}.landing-page-new.light-mode .loading-container{color:#1a1a1a}.landing-page-new.light-mode .loading-spinner{border-color:#e0e0e0;border-top-color:#d41e3a}.sidebar-top{grid-area:sidebar-top;background:#0f0f0f;border-right:2px solid #1a1a1a;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.9) rgba(55,65,81,.42)}.sidebar-top::-webkit-scrollbar{width:12px}.sidebar-top::-webkit-scrollbar-track{background:#3741516b}.sidebar-top::-webkit-scrollbar-thumb{background:#6b7280e6!important;border-radius:6px}.sidebar-top::-webkit-scrollbar-thumb:hover{background:#94a3b8f2!important}.search-container{padding:1.25rem 1.5rem .1rem;width:100%}.search-wrapper{position:relative;width:100%}.search-results-desktop{position:absolute;top:calc(100% + 8px);left:0;right:0;display:none;max-height:300px;overflow-y:auto;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#2f2f2f;box-shadow:0 12px 26px #00000047;z-index:40}.search-results-desktop.visible{display:block}.search-result-item-desktop{width:100%;text-align:left;border:none;background:transparent;color:#f1f1f1;padding:.7rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;border-bottom:1px solid rgba(255,255,255,.08)}.search-result-item-desktop:last-child{border-bottom:none}.search-result-item-desktop:hover{background:#d41e3a29}.search-result-name-desktop{font-size:.9rem;font-weight:700}.search-result-meta-desktop{display:flex;justify-content:space-between;gap:.8rem;font-size:.8rem;color:#c7c7c7}.search-empty-desktop{padding:.75rem .9rem;font-size:.82rem;color:#b8b8b8}.search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);font-size:1.1rem;pointer-events:none;opacity:.85;color:#f5f5f5}.landing-page-new.light-mode .search-icon{color:#1a1a1a}.landing-page-new.light-mode .search-results-desktop{border-color:#0000001f;background:#fff;box-shadow:0 12px 26px #0f172a29}.landing-page-new.light-mode .search-result-item-desktop{color:#1a1a1a;border-bottom-color:#00000014}.landing-page-new.light-mode .search-result-item-desktop:hover{background:#d41e3a14}.landing-page-new.light-mode .search-result-meta-desktop,.landing-page-new.light-mode .search-empty-desktop{color:#5f6368}.search-input{width:100%;padding:.9rem 5.55rem .9rem 2.6rem;background:#3a3a3a;border:2px solid #4a4a4a;border-radius:16px;color:#fff;font-size:.95rem;transition:all .3s ease}.search-wrapper.has-text .search-input{padding-right:7.4rem}.search-input::placeholder{color:#999}.search-input:focus{outline:none;border-color:#d41e3a;background:#444;box-shadow:0 0 0 3px #d41e3a1a}.locate-btn-sidebar{width:30px;height:30px;background:radial-gradient(circle at 30% 30%,#5ba3ff,#3b82f6);border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #3b82f680,inset 0 1px 2px #ffffff4d;position:relative;color:#fff;font-size:14px}.search-wrapper .locate-btn-sidebar{position:absolute;right:.45rem;top:50%;transform:translateY(-50%)}.search-mic-btn{position:absolute;right:2.9rem;top:50%;transform:translateY(-50%);width:30px;height:30px;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}.search-mic-btn:hover{color:#d41e3a;transform:translateY(-50%) scale(1.15)}.search-mic-btn:active{transform:translateY(-50%) scale(.95)}.search-mic-btn.listening{color:#ef4444;animation:pulse-mic-desktop 1.5s ease-in-out infinite}.landing-page-new.light-mode .search-mic-btn{color:#666}.landing-page-new.light-mode .search-mic-btn:hover{color:#d41e3a}.landing-page-new.light-mode .search-mic-btn.listening{color:#ef4444}.search-clear-btn{position:absolute;right:4.85rem;top:50%;transform:translateY(-50%);width:30px;height:30px;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:none;display:flex;align-items:center;justify-content:center;color:#f3f4f6;font-size:15px}.search-clear-btn:hover{color:#f3f4f6;transform:translateY(-50%)}.search-clear-btn:active{transform:translateY(-50%)}.landing-page-new.light-mode .search-clear-btn,.landing-page-new.light-mode .search-clear-btn:hover{color:#111827}@keyframes pulse-mic-desktop{0%,to{opacity:1}50%{opacity:.5}}.locate-btn-sidebar:hover{transform:scale(1.15);box-shadow:0 3px 12px #3b82f6b3,inset 0 1px 2px #ffffff4d}.search-wrapper .locate-btn-sidebar:hover{transform:translateY(-50%) scale(1.12)}.locate-btn-sidebar:active{transform:scale(.95)}.search-wrapper .locate-btn-sidebar:active{transform:translateY(-50%) scale(.98)}.location-error{padding:0 1.5rem 1rem;color:#bfdbfe;font-size:.85rem}.location-error p{margin:0;padding:.5rem;background:#1e3a8a47;border:1px solid rgba(96,165,250,.44);border-radius:6px}.filters-section{flex:1;overflow-y:auto;padding:0 1.5rem 1.25rem;scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.9) rgba(55,65,81,.42)}.filters-section::-webkit-scrollbar{width:10px}.filters-section::-webkit-scrollbar-track{background:#3741516b;border-radius:999px}.filters-section::-webkit-scrollbar-thumb{background:#6b7280e6;border-radius:999px}.filters-section::-webkit-scrollbar-thumb:hover{background:#94a3b8f2}.landing-page-new.light-mode .filters-section{scrollbar-color:rgba(148,163,184,.88) rgba(203,213,225,.44)}.landing-page-new.light-mode .filters-section::-webkit-scrollbar-track{background:#cbd5e170}.landing-page-new.light-mode .filters-section::-webkit-scrollbar-thumb{background:#94a3b8e0}.landing-page-new.light-mode .filters-section::-webkit-scrollbar-thumb:hover{background:#64748bf0}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#ccc;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.facilities-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.facilities-list::-webkit-scrollbar{width:8px}.facilities-list::-webkit-scrollbar-track{background:transparent}.facilities-list::-webkit-scrollbar-thumb{background:#d41e3a;border-radius:10px}.facilities-list::-webkit-scrollbar-thumb:hover{background:#a01428}.facility-card{display:flex;gap:1rem;padding:1rem;background:#333;border-radius:12px;border:2px solid #3a3a3a;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.facility-card:hover{background:#3a3a3a;border-color:#d41e3a;transform:translate(5px);box-shadow:0 8px 20px #d41e3a33}.facility-card.selected{background:#3a3a3a;border-color:#d41e3a;box-shadow:0 8px 20px #d41e3a59;transform:translate(5px)}.facility-avatar{min-width:50px;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #0000004d}.facility-info{flex:1;display:flex;flex-direction:column;gap:.3rem}.facility-info h3{color:#fff;font-size:.95rem;font-weight:700;margin:0;line-height:1.3}.facility-status{font-size:.8rem;font-weight:700;margin:.2rem 0 0;padding:.2rem .6rem;border-radius:6px;display:inline-block;width:fit-content;letter-spacing:.3px}.facility-status.open{color:#4ade80;background:#4ade8026;border:1px solid rgba(74,222,128,.3)}.facility-status.closed{color:#f87171;background:#f8717126;border:1px solid rgba(248,113,113,.3)}.facility-status.unknown{color:#fb923c;background:#fb923c26;border:1px solid rgba(251,146,60,.3)}.facility-type{color:#d41e3a;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin:0}.facility-distance{color:#aaa;font-size:.85rem;margin:.2rem 0 0}.facility-hours{color:#888;font-size:.8rem;margin:0}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#666;font-size:1rem;text-align:center}.no-results p{margin:.5rem 0}.no-results-hint{font-size:.85rem;color:#888;font-style:italic}.facility-access{color:#4ade80;font-size:.85rem;margin:.2rem 0 0;font-weight:600}.map-right{width:100%;height:100%;background:#1a1a1a;position:relative;overflow:hidden;grid-area:map}.hamburger-menu,.menu-overlay,.search-mobile,.mobile-map-actions{display:none}@media(max-width:1200px){.landing-page-new{grid-template-columns:320px 1fr}.facility-card{padding:.8rem}.facility-info h3{font-size:.85rem}}@media(max-width:900px){.landing-page-new{grid-template-columns:280px 1fr}}@media(max-width:780px){.landing-page-new{--mobile-map-switcher-bottom: 5.05rem}.landing-page-new{grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"map";height:100vh;overflow:hidden}.map-right{grid-area:map;width:100%;height:100%}.sidebar-top{position:fixed;left:-100%;top:0;width:80vw;max-width:380px;height:100dvh;grid-area:unset;background:#fff;border-right:1px solid #dbe1ea;border-bottom:none;border-top:none;max-height:none;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0px);transition:left .3s ease;touch-action:pan-y}.landing-page-new.light-mode .sidebar-top{background:#fff;border-right:1px solid #dbe1ea}.landing-page-new.dark-mode .sidebar-top{background:#111827;border-right:1px solid #374151}.sidebar-top.menu-open{left:0}.sidebar-top .search-container{display:none}.sidebar-top .location-error{padding:calc(env(safe-area-inset-top,0px) + .82rem) 1rem .78rem}.sidebar-top .location-error+.location-error{padding-top:.25rem}.sidebar-top .filters-section{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px))}.landing-page-new.dark-mode .sidebar-top .filters-section{background:#111827;scrollbar-color:rgba(107,114,128,.9) rgba(55,65,81,.42)}.landing-page-new.dark-mode .sidebar-top .filters-section::-webkit-scrollbar-track{background:#3741516b}.landing-page-new.dark-mode .sidebar-top .filters-section::-webkit-scrollbar-thumb{background:#6b7280e6}.landing-page-new.dark-mode .sidebar-top .filters-section::-webkit-scrollbar-thumb:hover{background:#94a3b8f2}.landing-page-new.light-mode .sidebar-top .filters-section{background:#fff;scrollbar-color:rgba(148,163,184,.88) rgba(203,213,225,.44)}.landing-page-new.light-mode .sidebar-top .filters-section::-webkit-scrollbar-track{background:#cbd5e170}.landing-page-new.light-mode .sidebar-top .filters-section::-webkit-scrollbar-thumb{background:#94a3b8e0}.landing-page-new.light-mode .sidebar-top .filters-section::-webkit-scrollbar-thumb:hover{background:#64748bf0}.landing-page-new.dark-mode .location-error{background:#111827}.landing-page-new.dark-mode .location-error p{background:#1f2937;border-color:#4b5563;color:#bfdbfe}.menu-overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:999}.hamburger-menu{position:fixed;top:1.5rem;left:1.5rem;width:44px;height:44px;background:#fff;border:1px solid #dbe1ea;border-radius:50%;filter:drop-shadow(-2px -3px 14px rgba(15,23,42,.2));box-shadow:0 6px 18px #0f172a29;backdrop-filter:none;-webkit-backdrop-filter:none;cursor:pointer;z-index:1001;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;transition:transform .2s ease,filter .2s ease}.hamburger-menu span{width:20px;height:2.5px;background:#1f2937;border-radius:2px;transition:all .3s ease}.hamburger-menu.open{opacity:0;pointer-events:none}.hamburger-menu:hover{transform:scale(1.06);filter:drop-shadow(-3px -4px 20px rgba(0,0,0,.22))}.landing-page-new.dark-mode .hamburger-menu{background:#111827;border:1px solid #374151;filter:drop-shadow(-3px -4px 18px rgba(0,0,0,.4));box-shadow:0 6px 18px #00000052;backdrop-filter:none;-webkit-backdrop-filter:none}.landing-page-new.dark-mode .hamburger-menu span{background:#f3f4f6}.search-mobile{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 1.2rem + var(--search-mobile-keyboard-inset, 0px));left:0;right:0;width:100%;padding-left:1.25rem;padding-right:1.25rem;z-index:42;background:transparent;display:block;transition:bottom .48s cubic-bezier(.16,1,.3,1),padding .38s cubic-bezier(.16,1,.3,1),pointer-events .2s ease;touch-action:pan-y;pointer-events:none}.search-mobile .search-mobile-sheet,.search-mobile .mobile-map-actions{pointer-events:auto}.search-mobile-sheet{width:100%;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #ffffff;box-shadow:0 10px 30px #0f172a33;opacity:.985;will-change:transform,opacity;transition:transform .48s cubic-bezier(.16,1,.3,1),opacity .28s ease,background .32s ease,border-color .32s ease,box-shadow .32s ease,border-radius .34s ease}.search-mobile:not(.expanded) .search-mobile-sheet{transform:translateY(12px) scale(.988)}.search-mobile.expanded{bottom:var(--search-mobile-keyboard-inset, 0px);padding-left:.5rem;padding-right:.5rem}.search-mobile.expanded .search-mobile-sheet{transform:translateY(0) scale(1);opacity:1;background:#fff;border:1px solid #dbe1ea;border-radius:24px 24px 0 0;box-shadow:0 10px 30px #0f172a33;max-height:var(--search-mobile-panel-max-height, min(68dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 8px) ));display:flex;flex-direction:column}.search-mobile-sheet-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.search-mobile.expanded .search-mobile-sheet-content{flex-direction:column-reverse}.search-mobile-sheet,.search-mobile-wrapper,.search-mobile-sheet-content,.search-mobile-results,.search-mobile-main-row,.mobile-map-actions,.sidebar-top .filters-section{touch-action:pan-y;overscroll-behavior:contain}.search-mobile-handle{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;padding:.02rem 0 .24rem;cursor:pointer}.search-mobile-handle-line{width:30px;height:3px;border-radius:999px;background:#111827;box-shadow:0 1px 4px #0f172a38}.sidebar-top .search-input,.sidebar-top .district-select,.sidebar-top .specialty-search-input{font-size:16px}.mobile-map-actions{position:fixed;right:1.25rem;bottom:var(--mobile-map-switcher-bottom);display:flex;flex-direction:column;gap:.55rem;z-index:45}.mobile-map-action-btn{width:42px;height:42px;border:none;border-radius:50%;background:#fff;border:1px solid #dbe1ea;color:#1f2937;display:flex;align-items:center;justify-content:center;filter:drop-shadow(-2px -3px 14px rgba(15,23,42,.2));box-shadow:0 6px 18px #0f172a29;backdrop-filter:none;-webkit-backdrop-filter:none;cursor:pointer;transition:transform .2s ease,filter .2s ease;font-size:1rem}.mobile-map-action-btn:hover{transform:scale(1.06);filter:drop-shadow(-3px -4px 20px rgba(0,0,0,.22))}.mobile-map-action-btn:active{transform:scale(.96)}.landing-page-new.dark-mode .mobile-map-action-btn{background:#111827;color:#f3f4f6;border:1px solid #374151;filter:drop-shadow(-3px -4px 18px rgba(0,0,0,.4));box-shadow:0 6px 18px #00000052;backdrop-filter:none;-webkit-backdrop-filter:none}.search-mobile-wrapper{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;min-height:0;padding:.72rem .5rem;border-radius:16px;background:#fff;border:1px solid #ffffff;overflow:hidden;filter:drop-shadow(-4px -6px 24px rgba(0,0,0,.2));box-shadow:0 8px 22px #0f172a29;backdrop-filter:none;-webkit-backdrop-filter:none;transition:padding .34s cubic-bezier(.16,1,.3,1),border-radius .34s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease,filter .3s ease}.search-mobile:not(.expanded) .search-mobile-wrapper{padding:.08rem .34rem .58rem;border-radius:11px}.search-mobile:not(.expanded) .search-mobile-handle{padding:0;min-height:0;line-height:0;margin-top:0}.search-mobile:not(.expanded) .search-mobile-handle-line{margin-top:0}.search-mobile:not(.expanded) .search-mobile-main-row{margin-bottom:.16rem}.search-mobile-main-row{display:flex;align-items:center;gap:.5rem;transition:padding .32s cubic-bezier(.16,1,.3,1),background .3s ease,border-color .3s ease}.search-mobile.expanded .search-mobile-main-row{margin-top:0;padding:.42rem .2rem calc(.2rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #dbe1ea;flex-shrink:0;animation:none}.search-mobile.expanded .search-mobile-wrapper{background:#fff;border:1px solid #dbe1ea;border-radius:24px 24px 0 0;padding:.16rem .65rem .52rem;filter:drop-shadow(-4px -6px 20px rgba(15,23,42,.2));box-shadow:0 8px 22px #0f172a29;backdrop-filter:none;-webkit-backdrop-filter:none}.search-mobile.expanded .search-mobile-handle{padding:0;margin:0 0 .18rem}.search-mobile.expanded .search-mobile-handle-line{margin-top:0}.search-mobile.expanded .search-mobile-input{background:#fff;border:1px solid #dbe1ea;filter:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.search-mobile.expanded .search-mobile-result-item{background:#fff;border:1px solid #e2e8f0;padding:.8rem .95rem;margin-bottom:.55rem}.search-mobile.expanded .search-mobile-empty{background:#fff;border:1px dashed #e5e7eb}.search-mobile.expanded .search-mobile-results.visible{flex:1 1 auto;min-height:120px;max-height:none;overflow-y:auto;background:#fff;border:1px solid #dbe1ea;border-bottom:none;border-radius:0;margin-top:0;padding:.35rem .35rem .45rem;animation:none}.search-mobile.expanded .search-mobile-empty{min-height:72px;display:flex;align-items:center;justify-content:center}.search-mobile-field{position:relative;flex:1}.search-mobile-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:#1f2937;font-size:1.05rem;pointer-events:none;opacity:.8}.search-mobile-input{width:100%;height:42px;padding:0 3rem 0 2.35rem;border-radius:18px;border:1px solid #dbe1ea;background:#fff;filter:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#1f2937;font-size:16px;font-weight:500;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,filter .2s ease}.search-mobile-field.has-text .search-mobile-input{padding-right:4.35rem}.search-mobile-input::placeholder{color:#4b5563;opacity:.8}.search-mobile-input:focus{outline:none;border-color:#cbd5e1;background:#fff;filter:none;box-shadow:0 0 0 3px #94a3b826}.search-mobile:not(.expanded) .search-mobile-input{height:34px;border-radius:11px}.search-mobile:not(.expanded) .locate-btn-sidebar{width:32px;height:32px;font-size:13px}.landing-page-new.dark-mode .search-mobile-wrapper{background:#111827;border:1px solid #374151;filter:drop-shadow(-4px -6px 24px rgba(0,0,0,.4));box-shadow:0 8px 22px #00000061;backdrop-filter:none;-webkit-backdrop-filter:none}.landing-page-new.dark-mode .search-mobile.expanded .search-mobile-wrapper{background:#111827;border:1px solid #374151;border-radius:24px 24px 0 0;padding:.16rem .65rem .52rem;filter:drop-shadow(-4px -6px 20px rgba(0,0,0,.45));box-shadow:0 8px 22px #00000061;backdrop-filter:none;-webkit-backdrop-filter:none}.landing-page-new.dark-mode .search-mobile-sheet{background:#111827;border:1px solid #374151;box-shadow:0 10px 30px #00000052}.landing-page-new.dark-mode .search-mobile.expanded .search-mobile-sheet{transform:translateY(0);background:#111827;border:1px solid #374151;border-radius:24px 24px 0 0;box-shadow:0 10px 30px #00000052;max-height:var(--search-mobile-panel-max-height, min(68dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 8px) ));display:flex;flex-direction:column}.landing-page-new.dark-mode .search-mobile.expanded .search-mobile-main-row{background:#111827;border-top-color:#374151}.landing-page-new.dark-mode .search-mobile-input{background:#1f2937;border:1px solid #4b5563;filter:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#f3f4f6}.landing-page-new.dark-mode .search-mobile.expanded .search-mobile-input{background:#1f2937;border:1px solid #4b5563;filter:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.landing-page-new.dark-mode .search-mobile-input::placeholder{color:#d1d5db;opacity:.7}.landing-page-new.dark-mode .search-mobile-input:focus{border-color:#6b7280;background:#1f2937;filter:none;box-shadow:0 0 0 3px #d41e3a26}.landing-page-new.dark-mode .search-mobile-icon,.landing-page-new.dark-mode .search-mobile-mic{color:#e5e7eb}.landing-page-new.dark-mode .search-mobile-mic.listening{color:#ef4444}.search-mobile-mic{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:.25rem;color:#1f2937;font-size:1.05rem;cursor:pointer;opacity:.8;transition:opacity .2s ease,color .2s ease,transform .2s ease}.search-mobile-mic:hover{opacity:1;transform:translateY(-50%) scale(1.1)}.search-mobile-mic:active{transform:translateY(-50%) scale(.95)}.search-mobile-mic.listening{color:#ef4444;opacity:1;animation:pulse-mic 1.5s ease-in-out infinite}.search-mobile-clear{position:absolute;right:2.45rem;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:.25rem;color:#111827;font-size:1.1rem;cursor:pointer;opacity:1;transition:none}.search-mobile-clear:hover{opacity:1;color:#111827;transform:translateY(-50%)}.search-mobile-clear:active{transform:translateY(-50%)}.landing-page-new.dark-mode .search-mobile-clear,.landing-page-new.dark-mode .search-mobile-clear:hover{color:#f3f4f6}@keyframes mobile-search-toolbar-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-search-results-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-search-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-mic{0%,to{opacity:1}50%{opacity:.5}}.search-mobile .locate-btn-sidebar{position:static;transform:none;width:38px;height:38px;font-size:16px;flex-shrink:0}.search-mobile .locate-btn-sidebar:hover{transform:scale(1.05)}.search-mobile .locate-btn-sidebar:active{transform:scale(.97)}.search-mobile-close-sheet{position:static;width:38px;height:38px;border-radius:50%;border:1px solid #dbe1ea;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;cursor:pointer;box-shadow:0 4px 12px #0f172a24;transition:transform .2s ease,box-shadow .2s ease}.search-mobile-close-sheet:active{transform:scale(.96)}.search-mobile-results{max-height:0;min-height:0;overflow:hidden;opacity:0;transform:translateY(8px);transition:max-height .42s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .3s ease;margin-top:0}.search-mobile-results.visible{max-height:550px;opacity:1;transform:translateY(0);margin-top:.5rem;overflow-y:auto;padding-bottom:.25rem}.search-mobile-result-item{width:100%;border:1px solid #dbe1ea;border-radius:14px;background:#fff;color:#1f2937;text-align:left;padding:.75rem .9rem;margin-bottom:.5rem;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease}.search-mobile.expanded .search-mobile-results.visible .search-mobile-result-item,.search-mobile.expanded .search-mobile-results.visible .search-mobile-empty{opacity:1;transform:translateY(0);animation:none}.search-mobile.expanded .search-mobile-results.visible .search-mobile-result-item:nth-child(1){animation-delay:40ms}.search-mobile.expanded .search-mobile-results.visible .search-mobile-result-item:nth-child(2){animation-delay:80ms}.search-mobile.expanded .search-mobile-results.visible .search-mobile-result-item:nth-child(3){animation-delay:.12s}.search-mobile.expanded .search-mobile-results.visible .search-mobile-result-item:nth-child(4){animation-delay:.16s}.search-mobile.expanded .search-mobile-results.visible .search-mobile-result-item:nth-child(5){animation-delay:.2s}.search-mobile.expanded .search-mobile-results.visible .search-mobile-result-item:nth-child(6){animation-delay:.24s}.search-mobile-result-item:active{transform:scale(.985);background:#fff6f8;border-color:#d41e3a73}.search-mobile-result-name{font-size:.95rem;font-weight:700;margin-bottom:.25rem;line-height:1.35}.search-mobile-result-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:#4b5563;line-height:1.35}.search-mobile-empty{text-align:center;color:#4b5563;font-size:.85rem;padding:.75rem;border-radius:12px;background:#f9fafb;border:1px dashed #d1d5db}.landing-page-new.dark-mode .search-mobile-handle-line{background:#e5e7ebd9}.landing-page-new.dark-mode .search-mobile:not(.expanded) .search-mobile-wrapper{padding:.08rem .34rem .58rem}.landing-page-new.dark-mode .search-mobile:not(.expanded) .search-mobile-handle{padding:0;min-height:0;line-height:0;margin-top:0}.landing-page-new.dark-mode .search-mobile:not(.expanded) .search-mobile-handle-line{margin-top:0}.landing-page-new.dark-mode .search-mobile:not(.expanded) .search-mobile-main-row{margin-bottom:.16rem}.landing-page-new.dark-mode .search-mobile-result-item{background:#00000057;border:1px solid rgba(255,255,255,.28);color:#f3f4f6}.landing-page-new.dark-mode .search-mobile-result-item:active{background:#00000073}.landing-page-new.dark-mode .search-mobile-result-meta,.landing-page-new.dark-mode .search-mobile-empty{color:#d1d5db}.landing-page-new.dark-mode .search-mobile-empty{background:#00000047;border:1px dashed rgba(255,255,255,.28)}.landing-page-new.dark-mode .search-mobile.expanded .search-mobile-result-item{background:#1f2937;border:1px solid #4b5563}.landing-page-new.dark-mode .search-mobile.expanded .search-mobile-empty{background:#111827;border:1px dashed #4b5563}.landing-page-new.dark-mode .search-mobile.expanded .search-mobile-results.visible{background:#111827;border:1px solid #111827;border-bottom:none;border-radius:0;max-height:none;flex:1 1 auto;min-height:120px;overflow-y:auto;margin-top:0;padding:.35rem .35rem .45rem}.landing-page-new.dark-mode .search-mobile-close-sheet{background:#1f2937;border-color:#4b5563;color:#f3f4f6;box-shadow:0 4px 12px #00000047}}@media(max-width:480px){.landing-page-new{--mobile-map-switcher-bottom: 4.65rem}.search-mobile{padding-left:1rem;padding-right:1rem}.mobile-map-actions{right:1rem;bottom:var(--mobile-map-switcher-bottom)}.mobile-map-action-btn{width:40px;height:40px;font-size:.95rem}.search-mobile-wrapper{padding:.68rem .48rem}.search-mobile-input{height:40px;font-size:16px}.search-mobile .locate-btn-sidebar{height:36px;width:36px;font-size:15px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#e0e0e0;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid #3a3a3a;border-top:4px solid #d41e3a;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{font-size:.95rem;opacity:.8;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.4}}
