.city-map-section{position:relative;isolation:isolate;background:linear-gradient(145deg,#f4f7f2 0%,#eaf1eb 55%,#f5f6f1 100%)}
.city-map-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 8% 8%,rgba(64,156,164,.11),transparent 38%),radial-gradient(ellipse at 94% 88%,rgba(125,164,125,.12),transparent 34%)}
.city-map-section .section-heading{margin-bottom:36px}
.city-map-shell{overflow:hidden;border:1px solid rgba(20,54,65,.13);border-radius:16px;background:#fff;box-shadow:0 22px 58px rgba(19,48,57,.10)}
.gis-topbar{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(320px,1.28fr);gap:24px;align-items:center;padding:20px 22px;border-bottom:1px solid #dce6df;background:rgba(255,255,255,.94)}
.gis-brand{display:flex;align-items:center;gap:12px;min-width:0}
.gis-brand-mark{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #b9d2c8;border-radius:11px;background:linear-gradient(145deg,#f8fbf8,#e8f2ec)}
.gis-brand-mark i{display:block;width:3px;border-radius:5px;background:#278e98}
.gis-brand-mark i:nth-child(1){height:11px}.gis-brand-mark i:nth-child(2){height:20px}.gis-brand-mark i:nth-child(3){height:15px}
.gis-brand-copy{display:grid;gap:4px;min-width:0}
.gis-brand-copy>span{font:800 10px var(--display);letter-spacing:.13em;color:#1d4b55}
.gis-brand-copy small{font:500 10px var(--font);color:#778b83}
.gis-search{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:5px 6px 5px 13px;border:1px solid #d2e0d8;border-radius:9px;background:#f8fbf8}
.gis-search-icon{color:#477d7e;font-size:23px;line-height:1}
.gis-search input{flex:1;min-width:0;height:38px;border:0;outline:0;background:transparent;color:#183f4b;font:500 12px var(--font)}
.gis-search input::placeholder{color:#879790}
.gis-search>button{min-height:38px;padding:0 17px;border:1px solid #123747;border-radius:6px;background:#123747;color:#fff;font:700 11px var(--display);cursor:pointer;transition:background .18s,transform .18s}
.gis-search>button:hover{background:#205767;transform:translateY(-1px)}
.gis-search-results{position:absolute;z-index:1200;top:calc(100% + 8px);left:0;right:0;max-height:290px;overflow:auto;padding:5px;border:1px solid #d5e2dc;border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(16,43,58,.18)}
.gis-search-results[hidden]{display:none}
.gis-search-result{display:flex;width:100%;flex-direction:column;gap:4px;padding:11px 12px;border:0;border-radius:7px;background:#fff;text-align:left;cursor:pointer}
.gis-search-result:hover,.gis-search-result:focus-visible{background:#edf5f0;outline:0}
.gis-search-result b{color:#1b4651;font:700 12px var(--display)}
.gis-search-result small,.gis-search-empty{color:#718680;font:10px var(--font)}
.gis-search-empty{padding:13px}
.gis-map-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 18px;border-bottom:1px solid #dce6df;background:#f4f8f5}
.gis-tool-group{display:flex;flex-wrap:wrap;gap:7px}
.gis-map-tools button,.gis-sidebar-heading>button{min-height:36px;padding:8px 12px;border:1px solid #cbdcd4;border-radius:6px;background:#fff;color:#28545c;font:700 10px var(--display);cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.gis-map-tools button:hover,.gis-map-tools button.is-active,.gis-sidebar-heading>button:hover{border-color:#6ca8a1;background:#e5f1eb;color:#155b65}
.gis-map-tools button:disabled{opacity:.42;cursor:not-allowed}
.gis-tool-hint{margin:0;color:#647b75;font:500 10px/1.5 var(--font);text-align:right}
.gis-workspace{display:grid;grid-template-columns:minmax(0,1fr) 318px;min-height:610px}
.city-map-panel{position:relative;min-width:0;min-height:610px;background:#e8efea}
#mingachevir-map{position:absolute;inset:0;width:100%;height:100%;background:#e8efea;outline:0}
#mingachevir-map.is-measuring,.is-measuring .leaflet-container{cursor:crosshair}
.gis-map-caption{position:absolute;z-index:450;top:14px;left:14px;display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(23,61,68,.12);border-radius:6px;background:rgba(255,255,255,.92);box-shadow:0 4px 16px rgba(16,43,58,.08);color:#355c5e;font:700 9px var(--display);pointer-events:none}
.gis-map-caption-dot{width:7px;height:7px;border-radius:50%;background:#4a9c88;box-shadow:0 0 0 3px rgba(74,156,136,.13)}
.gis-map-caption small{margin-left:5px;padding-left:9px;border-left:1px solid #d5e2da;color:#7a8d84;font:600 8px var(--display)}
.gis-sidebar{display:flex;flex-direction:column;min-width:0;background:#fbfcf9;border-left:1px solid #dce6df}
.gis-sidebar-section{padding:19px 19px 18px;border-bottom:1px solid #e1e9e3}
.gis-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.gis-sidebar-heading>div{min-width:0}
.gis-sidebar-heading>div>span{display:block;margin-bottom:5px;color:#6a8980;font:800 8px var(--display);letter-spacing:.15em}
.gis-sidebar-heading h3{margin:0;color:#183f4b;font:700 14px var(--display);letter-spacing:-.02em}
.gis-sidebar-heading>button{min-height:29px;padding:5px 9px;font-size:9px}
.gis-layer-list{display:grid;gap:4px}
.gis-layer-option{display:flex;align-items:center;gap:10px;min-height:43px;padding:7px 8px;border:1px solid transparent;border-radius:7px;cursor:pointer;transition:background .18s,border-color .18s}
.gis-layer-option:hover{border-color:#d8e6dd;background:#f2f7f2}
.gis-layer-option input{width:15px;height:15px;flex:0 0 15px;margin:0;accent-color:#287f88}
.gis-layer-swatch{width:22px;height:16px;flex:0 0 22px;border:1px solid rgba(30,70,70,.16);border-radius:4px}
.layer-building{background:linear-gradient(135deg,#c5d4c8,#e1e9dc)}
.layer-road{height:4px;border:0;border-radius:0;background:#b9a98f}
.layer-water{background:linear-gradient(135deg,#a9d6dc,#4b9fb2)}
.layer-park{background:linear-gradient(135deg,#a9c9a8,#75a17d)}
.gis-layer-copy{display:grid;gap:2px;min-width:0}
.gis-layer-copy b{color:#2b5054;font:700 11px var(--display)}
.gis-layer-copy small{color:#82938a;font:500 9px var(--font)}
.gis-selected-section{min-height:190px}
.gis-selected-info{display:grid;gap:8px}
.gis-selected-info>p{margin:0;color:#74867f;font:10px/1.7 var(--font)}
.gis-info-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid #e8eee9}
.gis-info-row:last-child{border-bottom:0}
.gis-info-row span{color:#83928b;font:500 9px var(--font)}
.gis-info-row b{max-width:58%;color:#35595d;font:700 9px/1.5 var(--font);text-align:right;overflow-wrap:anywhere}
.gis-osm-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:8px 10px;border:1px solid #c7ddd3;border-radius:6px;color:#216a72;font:700 9px var(--display)}
.gis-osm-link:hover{background:#eef6f0;border-color:#83b6aa}
.gis-osm-link[hidden]{display:none}
.gis-legend{display:grid;grid-template-columns:1fr 1fr;gap:11px 8px;margin:0;padding:0;list-style:none}
.gis-legend li{display:flex;align-items:center;gap:8px;color:#657a73;font:500 9px var(--font)}
.gis-legend-symbol{display:inline-block;width:20px;height:12px;flex:0 0 20px;border-radius:3px;border:1px solid rgba(30,70,70,.16)}
.legend-building{background:#c5d4c8}.legend-road{height:3px;border:0;border-radius:0;background:#b9a98f}
.legend-water{background:#a9d6dc}.legend-park{background:#a9c9a8}
.legend-selected{background:#e6c78e;border:2px solid #0e6872}
.gis-sidebar-note{margin:auto 19px 18px;padding:13px 14px;border-left:2px solid #6ca8a1;background:#f1f6f1}
.gis-sidebar-note span{color:#4c8785;font:800 8px var(--display);letter-spacing:.14em}
.gis-sidebar-note p{margin:7px 0 0;color:#71847c;font:9px/1.65 var(--font)}
.city-map-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:16px}
.city-map-stat{padding:15px 17px;border:1px solid rgba(24,62,69,.09);border-radius:9px;background:rgba(255,255,255,.74)}
.city-map-stat b{display:block;color:#173b48;font:800 23px var(--display);letter-spacing:-.04em}
.city-map-stat span{display:block;margin-top:4px;color:#647b75;font:500 10px var(--font)}
.city-map-meta{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;margin-top:17px}
.city-map-live-status{margin:0 0 5px;color:#315e61;font:700 10px var(--display)}
.city-map-live-status[data-state="error"]{color:#a0443c}
.city-map-live-status[data-state="ready"]{color:#2c7774}
.city-map-note{margin:0;color:#71837c;font:10px/1.75 var(--font)}
.city-map-external-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}
.city-map-external-links>span{width:100%;color:#7b8b83;font:700 9px var(--display);text-align:right}
.city-map-external{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #c8dcd4;border-radius:6px;color:#1b6870;font:700 9px var(--display);white-space:nowrap}
.city-map-external:hover{background:#e8f2ed;border-color:#8dbbb1}
.city-map-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.city-map-source-card{display:flex;align-items:flex-start;gap:11px;min-height:125px;padding:15px;border:1px solid rgba(25,61,69,.11);border-radius:9px;background:rgba(255,255,255,.72);color:inherit;transition:transform .2s,border-color .2s,background .2s}
.city-map-source-card:hover{transform:translateY(-2px);border-color:#8ebbb0;background:#fff}
.source-number{flex:0 0 auto;color:#4d9da0;font:800 12px var(--display)}
.source-copy{display:grid;gap:5px;min-width:0}
.source-copy b{color:#214c54;font:700 11px var(--display)}
.source-copy small{color:#7b8c84;font:500 8px/1.5 var(--font)}
.source-copy>span{color:#71837c;font:9px/1.6 var(--font)}
.source-arrow{margin-left:auto;color:#4e9695;font-size:13px}
.city-map-method-note{margin-top:15px;padding:12px 14px;border-left:2px solid #6da7a0;background:rgba(255,255,255,.48)}
.leaflet-container{font-family:var(--font);outline:0}
.leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.92)!important;border-radius:5px 0 0 0}
.leaflet-control-attribution a{text-decoration:none}
.leaflet-control-attribution a:hover{text-decoration:underline}
.leaflet-attribution-flag{display:none!important}
.leaflet-control-scale-line{border-color:#71877f!important;color:#355a5b!important;background:rgba(255,255,255,.88)!important;font-size:9px!important}
.leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 10px 30px rgba(14,43,52,.18)}
.map-popup{min-width:150px;color:#173b48;font:12px var(--font)}
.map-popup b{display:block;margin-bottom:5px;font:700 13px var(--display)}
.map-popup-meta{color:#536e6c;font-size:10px;line-height:1.45}
.map-popup small{display:block;margin-top:7px;padding-top:6px;border-top:1px solid #e4ebe6;color:#7a8c88;font-size:9px}
.leaflet-interactive:focus{outline:2px solid #167b86;outline-offset:2px}
@media(max-width:1000px){.gis-workspace{grid-template-columns:minmax(0,1fr) 286px}.gis-sidebar-section{padding:17px 15px}.gis-sidebar-note{margin-inline:15px}.city-map-source-grid{grid-template-columns:1fr 1fr}.city-map-meta{grid-template-columns:1fr}.city-map-external-links{justify-content:flex-start}.city-map-external-links>span{text-align:left}}
@media(max-width:760px){.gis-topbar{grid-template-columns:1fr;gap:14px;padding:16px}.gis-workspace{grid-template-columns:1fr}.city-map-panel{min-height:490px;height:490px}.gis-sidebar{border-left:0;border-top:1px solid #dce6df;display:grid;grid-template-columns:1fr 1fr;align-items:start}.gis-sidebar-section{padding:16px;border-right:1px solid #e1e9e3}.gis-sidebar-section:nth-child(2){border-right:0}.gis-sidebar-section:nth-child(3){grid-column:1/-1;border-right:0}.gis-sidebar-note{grid-column:1/-1;margin:0 16px 16px}.city-map-stats{grid-template-columns:repeat(2,1fr)}.gis-map-tools{align-items:flex-start;flex-direction:column;padding:11px 13px}.gis-tool-group{width:100%}.gis-map-tools button{flex:1;min-height:42px;padding:8px 7px}.gis-tool-hint{text-align:left}.city-map-meta{gap:12px}}
@media(max-width:480px){.city-map-section .section-heading{margin-bottom:25px}.city-map-shell{border-radius:11px}.gis-topbar{padding:14px 12px}.gis-brand-mark{width:34px;height:34px;flex-basis:34px}.gis-brand-copy>span{font-size:9px}.gis-brand-copy small{font-size:9px}.gis-search{gap:6px;padding-left:9px}.gis-search input{font-size:10px}.gis-search>button{padding:0 11px}.city-map-panel{height:430px;min-height:430px}.gis-map-caption{top:9px;left:9px;padding:7px 8px;font-size:8px}.gis-sidebar{grid-template-columns:1fr}.gis-sidebar-section,.gis-sidebar-section:nth-child(2),.gis-sidebar-section:nth-child(3){grid-column:auto;border-right:0}.gis-sidebar-section{padding:15px 13px}.gis-sidebar-note{margin:0 13px 13px}.gis-legend{grid-template-columns:1fr 1fr}.city-map-stat{padding:12px}.city-map-stat b{font-size:20px}.city-map-stat span{font-size:9px}.city-map-source-grid{grid-template-columns:1fr}.city-map-source-card{min-height:0;padding:13px}.city-map-external-links{justify-content:flex-start}.city-map-external-links>span{width:100%}}
@media(prefers-reduced-motion:reduce){.gis-search>button,.gis-map-tools button,.city-map-source-card{transition:none}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
