#map-shell{background:var(--bg,#f7f6f2);width:100%;height:calc(100vh - 72px);color:var(--ink,#18211d);font-family:var(--font-body);position:relative;overflow:hidden}#map-topbar{z-index:1000;border-bottom:1px solid var(--line,#e6e3dc);-webkit-backdrop-filter:blur(14px);background:#fcfbf9f0;align-items:center;height:58px;padding:0 22px;display:flex;position:absolute;top:0;left:0;right:0}.topbar-divider{background:var(--accent,#ae5e41);border-radius:999px;width:4px;height:25px;margin-right:15px}.topbar-breadcrumb{align-items:center;gap:9px;min-width:0;font-size:12px;display:flex}.topbar-breadcrumb a{color:var(--muted,#737a75);text-decoration:none}.topbar-breadcrumb a:hover{color:var(--accent-dark,#87442f)}.topbar-breadcrumb i{color:var(--muted,#9a9e9b);font-size:10px}.topbar-breadcrumb strong{color:var(--ink,#18211d);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.topbar-spacer{flex:1}.topbar-state-badge{border:1px solid var(--line,#e6e3dc);color:var(--muted,#737a75);background:#ffffffa6;border-radius:999px;align-items:center;gap:8px;margin-right:12px;padding:7px 11px;font-size:11px;display:flex}.dot-live{background:#c8ccc8;border-radius:50%;flex:none;width:7px;height:7px}.topbar-state-badge.is-active .dot-live{background:#4d9463;box-shadow:0 0 0 4px #4d94631f}.topbar-btn{border:1px solid var(--line,#e6e3dc);background:var(--surface,#fff);color:var(--ink,#18211d);border-radius:9px;align-items:center;gap:7px;padding:8px 13px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.topbar-btn:hover{color:var(--accent-dark,#87442f);background:#fff;border-color:#ae5e414d;transform:translateY(-1px)}#map-sidebar{z-index:900;border-right:1px solid var(--line,#e6e3dc);-webkit-backdrop-filter:blur(14px);background:#fcfbf9f7;flex-direction:column;width:370px;display:flex;position:absolute;top:58px;bottom:0;left:0;box-shadow:8px 0 30px #14231d0d}.sidebar-scroll{flex:1;min-height:0;padding:24px 22px 20px;overflow-y:auto}.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#d8d6d0;border-radius:999px}.sidebar-footer{border-top:1px solid var(--line,#e6e3dc);flex:none;padding:14px 22px 17px}.sidebar-footer-text{color:var(--muted,#737a75);margin:0;font-size:10.5px;line-height:1.6}.sidebar-footer-text a{color:var(--accent-dark,#87442f);text-decoration:none}.sidebar-footer-text a:hover{text-decoration:underline}.sidebar-drag-handle{display:none}.loading-bar-wrapper{z-index:10;opacity:0;pointer-events:none;height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.loading-bar-wrapper.is-loading{opacity:1}.loading-bar{background:var(--accent,#ae5e41);width:35%;height:100%;animation:1.2s ease-in-out infinite risk-loading}@keyframes risk-loading{0%{transform:translate(-110%)}to{transform:translate(320%)}}#map-viewport{position:absolute;inset:58px 0 0 370px;overflow:hidden}#map{width:100%;height:100%}.leaflet-control-zoom,.leaflet-control-fullscreen{border:0!important}.leaflet-control-zoom a,.leaflet-control-fullscreen-button{justify-content:center;align-items:center;border:1px solid var(--line,#e6e3dc)!important;width:34px!important;height:34px!important;color:var(--ink,#18211d)!important;background:#fcfbf9f0!important;display:flex!important}.leaflet-control-zoom a:first-child{border-radius:9px 9px 0 0}.leaflet-control-zoom a:last-child{border-radius:0 0 9px 9px}.leaflet-control-fullscreen{border-radius:9px;overflow:hidden}#map-loading-overlay{z-index:800;-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;background:#f7f6f2b8;flex-direction:column;justify-content:center;align-items:center;transition:opacity .2s,visibility .2s;display:flex;position:absolute;inset:0}#map-loading-overlay.is-visible{opacity:1;visibility:visible}.map-spinner{border:3px solid #ae5e412e;border-top-color:var(--accent,#ae5e41);border-radius:50%;width:36px;height:36px;margin-bottom:14px;animation:.75s linear infinite risk-spin}@keyframes risk-spin{to{transform:rotate(360deg)}}.map-loading-text{color:var(--ink,#18211d);font-family:var(--font-display);margin:0 0 4px;font-size:17px}.map-loading-sub{color:var(--muted,#737a75);margin:0;font-size:12px}#results-chip{z-index:700;border:1px solid var(--line,#e6e3dc);color:var(--ink,#18211d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcfbf9f0;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:11px;font-weight:600;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 5px 18px #14231d17}.chip-dot{background:#c8ccc8;border-radius:50%;width:7px;height:7px}#results-chip.is-active .chip-dot{background:var(--accent,#ae5e41)}.mobile-panel-btn{z-index:1200;background:var(--accent,#ae5e41);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:18px;display:none;position:fixed;bottom:18px;right:16px;box-shadow:0 8px 24px #14231d2e}@media (width<=991px){#map-sidebar{width:330px}#map-viewport{left:330px}.topbar-breadcrumb strong{max-width:260px}}@media (width<=767px){#map-shell{height:calc(100vh - 64px)}#map-topbar{height:54px;padding:0 14px}.topbar-divider{margin-right:10px}.topbar-breadcrumb{gap:6px}.topbar-breadcrumb a,.topbar-breadcrumb i{display:none}.topbar-breadcrumb strong{max-width:180px;font-size:11px}.topbar-state-badge{display:none}.topbar-btn{padding:7px 9px}.topbar-btn i{margin:0}.topbar-btn{font-size:0}.topbar-btn i{font-size:15px}#map-sidebar{border-right:0;border-top:1px solid var(--line,#e6e3dc);border-radius:18px 18px 0 0;width:100%;height:min(75vh,620px);transition:transform .25s;inset:auto 0 0;transform:translateY(100%);box-shadow:0 -10px 35px #14231d21}#map-sidebar.is-open{transform:translateY(0)}.sidebar-drag-handle{flex:0 0 24px;justify-content:center;align-items:center;height:24px;display:flex}.sidebar-drag-handle span{background:#d4d1ca;border-radius:999px;width:38px;height:4px}#map-viewport{top:54px;left:0}.mobile-panel-btn{display:flex}#results-chip{bottom:76px;right:14px}}@media (width<=575px){#map-topbar{padding:0 11px}.topbar-breadcrumb strong{max-width:145px}.sidebar-scroll{padding:20px 16px}.sidebar-footer{padding:12px 16px 14px}}
