/* UX-MAP-001: mapa obejmuje viewport, panele są nakładkami i nie zmieniają jej kadru. */
#w-przegladarka.map-workspace{position:fixed;inset:0;width:100%;height:100dvh;z-index:1120;padding:0;margin:0;overflow:hidden;isolation:isolate;background:var(--pow);--mp-karta:clamp(380px,37vw,550px);--mp-lista:320px}
.map-workspace>.narzedzia-listy,.map-workspace>.podsum-listy{display:none!important}
#w-przegladarka.map-workspace>.podzial{position:absolute;inset:0;display:block!important;min-height:0;height:auto;margin:0}
.map-workspace #karta-lista{display:none!important}
#w-przegladarka.map-workspace #karta-mapa{display:block!important;position:absolute;inset:0;border:0;border-radius:0;box-shadow:none;margin:0}
.map-workspace #karta-mapa>.mapa-pasek,.map-workspace #mapa-granica,.map-workspace #mapa-bez{display:none}
.map-workspace #karta-mapa>.mapa-ramka{position:absolute;inset:0}
.map-workspace .leaflet-control-zoom{display:none}
/* `top:auto`: stan „wczytywanie” ma ogólnie `top:50%` (środek ramki mapy), a tu dół — bez tego okienko
   rozciągało się od połowy mapy do jej dołu. */
.map-workspace #mapa-stan{position:absolute;top:auto;bottom:8px;left:50%;transform:translateX(-50%);z-index:450;border-radius:9px;max-width:min(530px,calc(100% - 30px));font-size:12px;padding:8px 10px;box-shadow:var(--cien)}
.map-workspace #mapa-stan[hidden]{display:none}
.map-workspace #mapa-uciete{position:absolute;bottom:8px;right:16px;max-width:45%;border-radius:7px;z-index:440;padding:5px 8px;font-size:11px;background:color-mix(in srgb,var(--pow) 90%,transparent);pointer-events:none}
#w-przegladarka.map-workspace #miejsce-karty{position:absolute;top:78px;right:16px;bottom:40px;left:auto;width:var(--mp-karta);height:auto;border-radius:15px;z-index:470;box-shadow:0 8px 26px #172e2828;background:color-mix(in srgb,var(--pow) 90%,transparent);backdrop-filter:blur(14px)}
.map-workspace #miejsce-karty[hidden]{display:none}
.map-workspace #miejsce-karty .szuflada{background:transparent}
.mp-ui[hidden]{display:none}
.mp-ui{position:absolute;inset:0;pointer-events:none;z-index:480;color:var(--tusz)}
.mp-ui>*{pointer-events:auto}
.mp-szklo{background:color-mix(in srgb,var(--pow) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--pow) 80%,var(--linia));box-shadow:0 8px 28px #172e2824,0 1px 4px #172e2812}
.mp-gora{position:absolute;top:14px;left:16px;right:16px;display:flex;align-items:start;justify-content:space-between;gap:16px;pointer-events:none;z-index:600}
.mp-gora>*{pointer-events:auto}
.mp-szukaj{display:flex;align-items:center;gap:7px;padding:5px;border-radius:12px;width:min(710px,calc(100% - 65px));min-width:0}
.mp-ui .przycisk{min-height:32px;padding:5px 9px;font-size:12px;white-space:nowrap}
.mp-ui .mp-ikona{width:36px;height:36px;min-height:36px;padding:7px;border:0;background:transparent;border-radius:8px;flex:none}
.mp-ui .mp-ikona:hover{background:var(--nieb-tlo)}
.mp-ikona .ikona{width:21px;height:21px;stroke-width:1.6}
#mp-nawigator{flex:1;min-width:0}
#mp-nawigator .nav-pole{border:0;background:none;padding:0;box-shadow:none;min-height:36px}
#mp-nawigator #nav-wpis{font-size:13px;width:80px;min-width:40px}
#mp-nawigator .okruszki{max-width:58%;font-size:11px;flex-shrink:1;min-width:0}
#mp-nawigator .okruszki .sep,#mp-nawigator .okruszki button:not(.ost):not(.nav-wstecz){display:none}
#mp-nawigator .okruszki .nav-wstecz{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;font-size:22px;padding:0}
#mp-nawigator .nav-lista{top:48px;min-width:min(450px,calc(100vw - 90px))}
#mp-nawigator .nav-tabela tbody{max-height:min(420px,60dvh)}
.mp-ui .mp-powiat{border:0;border-left:1px solid var(--linia);border-radius:0;background:none;max-width:180px;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.mp-nawigacja{padding:5px;border-radius:12px;display:flex;align-items:center;gap:4px}
.mp-lista{position:absolute;left:16px;top:78px;bottom:40px;width:var(--mp-lista);display:flex;flex-direction:column;overflow:hidden;border-radius:15px;transition:transform .18s ease,opacity .18s ease;z-index:490}
.map-workspace[data-mp-lista=false] .mp-lista{transform:translateX(calc(-100% - 24px));opacity:0;pointer-events:none}
.mp-tytul{display:flex;align-items:center;justify-content:space-between;padding:11px 12px 7px}
.mp-tytul h2{font-family:inherit;font-size:18px;font-weight:600;margin:0}
#mp-powiat-miejsce{min-width:0;max-width:45%;margin-left:auto}
.mp-tytul .mp-powiat{max-width:100%;white-space:nowrap;border-left:0}
.mp-zasoby{margin:0 12px 10px;display:flex;background:color-mix(in srgb,var(--linia) 55%,transparent);border:0}
.mp-zasoby button{flex:1;font-size:12px;padding:6px}
#mp-liczba{font-variant-numeric:tabular-nums;display:inline-block}
.mp-filtry{display:flex;gap:6px;padding:0 12px 9px}
.mp-filtry select{height:32px;min-width:0;flex:1;font-size:12px;padding:4px 8px;border:1px solid var(--linia);border-radius:8px;background:var(--pow);color:var(--tusz2)}
#mp-zetony{display:flex;gap:4px;flex-wrap:wrap;padding:0 12px 7px;max-height:86px;overflow:auto;flex:none}
#mp-zetony[hidden]{display:none}
#mp-zetony .zeton{height:26px;font-size:11px;padding-left:6px}
.mp-zazn-strone{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;border-block:1px solid var(--linia);font-size:11px;color:var(--szary)}
.mp-zazn-strone label{display:flex;align-items:center;gap:9px}
.mp-zazn-strone .info-kolekcji{height:25px;width:28px}
#mp-wiersze{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--szary) transparent}
.mp-wiersz{display:grid;grid-template-columns:16px 28px minmax(0,1fr);gap:7px;padding:12px;border-bottom:1px solid var(--linia);align-items:start}
.mp-wiersz.wsk{background:var(--nieb-tlo);box-shadow:inset 3px 0 var(--nieb)}
.mp-wiersz>input{margin:7px 0 0;width:15px;height:15px}
.mp-wiersz .przenies-kolekcje{width:28px;min-width:28px;height:28px;padding:4px}
.mp-adres{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;background:none;border:0;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;color:var(--tusz);padding:1px 0;cursor:pointer}
.mp-opis{display:block;color:var(--szary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-pow{display:flex;gap:3px 9px;flex-wrap:wrap;margin-top:4px;font-size:11px}
.mp-pow .powierzchnia-wiersz{display:inline-flex;gap:4px;margin:0;font-size:11px}
.mp-pow .pod2{font-size:10px}
.mp-wiersz-akcje{display:flex;align-items:center;gap:5px;margin-top:7px}
.mp-wiersz-akcje .plak{font-size:10px;padding:2px 6px;margin-right:auto;white-space:nowrap}
.mp-wiersz-akcje .przycisk{font-size:11px;min-height:27px;padding:3px 6px;display:inline-flex;gap:4px;align-items:center}
.mp-wiersz-akcje .ikona{width:14px;height:14px}
.mp-stopka{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border-top:1px solid var(--linia);font-size:11px;color:var(--szary)}
.mp-stopka>div{display:flex}
.mp-stopka .mp-ikona{width:30px;height:30px;min-height:30px}
.mp-auto{display:flex;align-items:center;gap:6px;padding:0 12px 9px;font-size:10px;color:var(--szary)}
.mp-pusto{font-size:13px;padding:16px;color:var(--szary)}
#mp-stan{padding:10px;font-size:12px;color:var(--szary);flex:none}
#mp-stan progress{width:100%;height:3px;display:block;margin-bottom:8px}
#mp-stan[hidden],#mp-stan progress[hidden]{display:none}
.map-workspace #pasek-zazn{position:relative;margin:0;border:0;border-radius:0;padding:7px 10px;font-size:11px;gap:6px}
.map-workspace #zazn-menu{display:block;margin-left:auto}
.map-workspace #zazn-akcje{display:none}
.map-workspace #zazn-menu[aria-expanded=true]+#zazn-akcje{display:flex;position:absolute;left:6px;right:6px;bottom:100%;z-index:5;flex-direction:column;background:var(--tusz);padding:8px;border-radius:8px}
.mp-narzedzia{position:absolute;right:16px;top:80px;border-radius:12px;display:flex;flex-direction:column;padding:4px;gap:2px;z-index:510;transition:right .18s ease}
.map-workspace[data-mp-karta=true] .mp-narzedzia{right:calc(var(--mp-karta) + 30px)}
.mp-narzedzia details{position:relative}
.mp-narzedzia summary{list-style:none;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mp-narzedzia summary::-webkit-details-marker{display:none}
.mp-menu{position:absolute;right:calc(100% + 10px);top:0;min-width:240px;max-width:calc(100vw - 85px);padding:6px;border:1px solid var(--linia);border-radius:11px;background:var(--pow);box-shadow:var(--cien)}
.mp-menu button{display:block;width:100%;padding:8px;border:0;border-radius:6px;background:none;color:var(--tusz2);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.mp-menu button:hover{background:var(--nieb-tlo)}
.mp-menu button:disabled{opacity:.4;cursor:default}
/* Legenda znaczników pod przyciskiem w kolumnie narzędzi; wzory to te same klasy co znaczniki mapy. */
/* Legenda jest najwyższym menu: przypięta do góry kolumny narzędzi, nie do własnego przycisku na jej dole. */
.mp-narzedzia #mp-legenda{position:static}
.mp-legenda{min-width:280px;max-width:min(340px,calc(100vw - 85px));max-height:calc(100dvh - 100px);overflow:auto;padding:10px 12px;font-size:13px;color:var(--tusz2)}
.mp-legenda b{display:block;margin-bottom:4px;color:var(--tusz)}
.mp-legenda-glowa{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.mp-legenda-glowa b{margin:0}
/* „×” we wspólnym stylu `komunikat` — mocniej niż ogólne przyciski menu (pełna szerokość, bez ramki). */
.mp-menu .komunikat-zamknij{display:block;flex:none;width:auto;border:1px solid currentColor;border-radius:5px;padding:2px 8px;font:22px/1 sans-serif;color:var(--tusz2);text-align:center}
.mp-legenda p{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:8px;margin:0;padding:5px 0}
.mp-legenda small{display:block;margin-top:6px;padding-top:6px;border-top:1px solid var(--linia)}
.mp-leg-wzor{display:flex;align-items:center;justify-content:center;gap:4px;min-height:34px}
.mp-leg-wzor .mp-leg-skupisko{width:34px;height:34px;font-size:12px}
.mp-leg-wzor .mp-leg-wielu{width:24px;height:24px}
.mp-leg-kropka{width:12px;height:12px;border-radius:50%;border:1.5px solid #fff;background:#7d8790;box-shadow:0 0 0 1px #0004}
.mp-leg-kropka.konto{background:var(--akcent)}
@media(max-width:650px){.mp-narzedzia #mp-legenda .mp-menu{right:0;top:calc(100% + 8px)}}
#mp-pokaz-karte{position:absolute;right:16px;bottom:54px;background:var(--pow);border:1px solid var(--linia);box-shadow:var(--cien);border-radius:9px}
#mp-pokaz-karte[hidden]{display:none}
.mp-pomiar{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);border-radius:10px;padding:6px 10px;display:flex;align-items:center;gap:8px;font-size:12px;z-index:520}
.mp-pomiar[hidden]{display:none}
.mp-mierzenie #mapa{cursor:crosshair}
.map-workspace .leaflet-control-scale{margin:0 0 12px 16px}
/* Pływający panel listy zakrywał lewy dolny róg mapy: skala i okienka wczytywania stoją przy jego krawędzi,
   dół kolumny na linii dołu panelu (40 px), nad paskiem stanu mapy pośrodku. */
@media(min-width:651px){html:not(.telefon) .map-workspace[data-mp-lista=true] .leaflet-bottom.leaflet-left{left:calc(16px + var(--mp-lista));bottom:28px}}
/* Skala na dole kolumny, okienka wczytywania nad nią, to samo wcięcie co skala (Leaflet wstawia nowszą
   kontrolkę dolnego rogu na górę, a skala powstaje po okienkach). */
.map-workspace .leaflet-bottom.leaflet-left{display:flex;flex-direction:column;align-items:flex-start}
.map-workspace .leaflet-bottom.leaflet-left>.leaflet-control-scale{order:1}
.map-workspace .leaflet-bottom.leaflet-left>:is(.postep-podkladu,.postep-obrysow,.postep-adresow,.postep-dzialek){margin-left:16px}
.map-workspace .leaflet-control-attribution{font-size:9px}
@media(max-width:1100px){
 #w-przegladarka.map-workspace{--mp-karta:380px;--mp-lista:310px}
}
@media(max-width:650px){
 #w-przegladarka.map-workspace{--mp-karta:100%;--mp-lista:100%}
 .mp-gora{top:9px;left:9px;right:9px;gap:7px}
 .mp-szukaj{padding:3px;gap:3px;width:calc(100% - 48px)}
 .mp-nawigacja{padding:3px}
 #mp-nawigator #nav-wpis{font-size:12px}
 #mp-nawigator .okruszki{max-width:62%}
 #mp-nawigator .okruszki button.ost{font-size:12px}
 #mp-nawigator .nav-lista{min-width:0;width:calc(100vw - 70px);left:-36px}
 .mp-lista{left:0;top:auto;bottom:0;height:60dvh;border-radius:17px 17px 0 0}
 .map-workspace[data-mp-lista=false] .mp-lista{transform:translateY(105%)}
 #w-przegladarka.map-workspace #miejsce-karty{left:0;right:0;top:auto;bottom:0;height:58dvh;width:100%;border-radius:17px 17px 0 0}
 .mp-narzedzia,.map-workspace[data-mp-karta=true] .mp-narzedzia{right:9px;top:66px;display:grid;grid-template-columns:34px 34px;gap:2px;padding:3px;border-radius:9px}
 .mp-narzedzia .mp-ikona{width:34px;height:34px;min-height:34px;padding:6px}
 .mp-narzedzia details:nth-child(4) .mp-menu{right:0;top:calc(100% + 8px)}
 .mp-menu{min-width:190px}
 #mp-pokaz-karte{top:67px;left:10px;right:auto;bottom:auto}
 .mp-pomiar{left:9px;right:9px;top:190px;bottom:auto;transform:none;max-width:calc(100% - 18px);padding:5px 8px;gap:5px;font-size:11px;flex-wrap:wrap}
 .mp-pomiar .przycisk{font-size:11px;min-height:28px}
 .map-workspace #mapa-uciete{top:66px;left:9px;right:90px;bottom:auto;max-width:none;font-size:9px;padding:4px 6px}
 .map-workspace #mp-pokaz-karte{top:95px}
 .map-workspace #mapa-stan{top:215px;bottom:auto;max-width:calc(100% - 18px);font-size:11px}
 .map-workspace[data-mp-lista=true] .leaflet-bottom{bottom:60dvh}
 .map-workspace[data-mp-karta=true] .leaflet-bottom{bottom:58dvh}
 .mp-tytul{padding-block:6px}
 .mp-wiersz{padding-block:9px}
}
@media(prefers-reduced-motion:reduce){.mp-lista,.mp-narzedzia{transition:none}}

.mp-ui #mp-wyjdz{display:flex;align-items:center;gap:7px;width:auto;padding-inline:9px}
@media(max-width:650px){#mp-wyjdz span{display:none}.mp-ui #mp-wyjdz{width:36px;padding:7px}}

/* Obrysy są nakładką; położenie znacznika pozostaje na współrzędnych źródłowych. */
#mp-warstwy button[aria-pressed]::before{content:'☐';margin-right:8px}
#mp-warstwy button[aria-pressed=true]::before{content:'☑'}
.mp-budynki-opis{display:block;padding:0 12px 8px 32px;max-width:260px;font-size:12.5px;line-height:1.4;color:var(--szary)}
/* Menu warstw w dwóch grupach: podkład (jeden z dwóch) i nakładki (przełączniki z opisem pod spodem). */
.mp-menu-naglowek{display:block;padding:6px 8px 2px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--szary)}
.mp-menu-naglowek~.mp-menu-naglowek{border-top:1px solid var(--linia);margin-top:4px;padding-top:10px}
/* Liczba w środku kropki, jak w skupisku (VIBE-005): kształt — położenie, liczba w środku — ile aktów. */
.punkt-wielu-aktow,.mp-leg-wielu{display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--akcent);box-shadow:0 1px 5px #0007}
.punkt-wielu-aktow>span,.mp-leg-wielu>span{color:#fff;font-size:10px;font-weight:700;line-height:1}
.punkt-wielu-aktow.zaznaczone-skupisko{outline:3px solid var(--nieb)}
.punkt-wielu-aktow .skupisko-zaznaczone{top:14px}
