/* InfoGrunt Atlas — zaakceptowany kierunek wizualny, 2026-07-16.
   Ostatnia, odwracalna warstwa UI. Nie zmienia geometrii mapy ani zachowania raportu. */

:root {
  --atlas-page: #eef4ed;
  --atlas-surface: #fffef9;
  --atlas-surface-soft: #f5f9f2;
  --atlas-ink: #10251a;
  --atlas-muted: #506356;
  --atlas-brand: #0d3a26;
  --atlas-brand-strong: #092c1c;
  --atlas-brand-mid: #17603b;
  --atlas-accent: #bff45b;
  --atlas-accent-strong: #9ade35;
  --atlas-signal: #278454;
  --atlas-line: #c8d6ca;
  --atlas-line-strong: #9fb5a4;
  --atlas-focus: #1769aa;
  --atlas-radius-control: 10px;
  --atlas-radius-card: 14px;
  --atlas-z-dropdown: 120;
  --atlas-z-drawer: 140;
}

html,
body {
  color: var(--atlas-ink);
  background: var(--atlas-page);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", sans-serif;
}

::selection { color: var(--atlas-brand-strong); background: var(--atlas-accent); }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--atlas-focus) !important;
  outline-offset: 3px;
}

/* Nagłówek: obecna konstrukcja, spokojniejsza i bardziej zwarta. */
.topbar.ig-topbar {
  color: #fff;
  background: linear-gradient(118deg, var(--atlas-brand-strong), var(--atlas-brand-mid)) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(7, 35, 20, .24) !important;
}

.topbar.ig-topbar .brand .logo { border-radius: 10px !important; }
.topbar.ig-topbar .brand-text strong {
  color: #fff;
  font-weight: 820;
  letter-spacing: -.025em;
}
.topbar.ig-topbar .brand-text > span { color: #d8eadc; font-weight: 600; }

.topbar.ig-topbar .tabs {
  gap: 2px;
  padding: 3px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--atlas-radius-control);
  background: rgba(255,255,255,.08);
}
.topbar.ig-topbar .tab {
  min-height: 40px;
  border-radius: 7px;
  color: #e8f3e9;
  font-weight: 760;
}
.topbar.ig-topbar .tab:hover { background: rgba(255,255,255,.09); }
.topbar.ig-topbar .tab.active { color: var(--atlas-brand-strong); background: var(--atlas-accent); }

.topbar.ig-topbar .top-search input {
  color: var(--atlas-ink);
  background: #fff;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: var(--atlas-radius-control);
  box-shadow: none;
}
.topbar.ig-topbar .top-search input::placeholder { color: #526258; opacity: 1; }
.topbar.ig-topbar .top-search input:hover { border-color: var(--atlas-accent); }
.topbar.ig-topbar .top-search input:focus {
  border-color: var(--atlas-accent-strong);
  box-shadow: 0 0 0 3px rgba(191,244,91,.24);
}

.topbar.ig-topbar .top-search .primary,
.ig-header-cta {
  color: var(--atlas-brand-strong) !important;
  background: var(--atlas-accent) !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: none !important;
}
.topbar.ig-topbar .top-search .primary:hover,
.ig-header-cta:hover { background: var(--atlas-accent-strong) !important; }

.topbar.ig-topbar :is(.lang-toggle, .menu-toggle, .account-toggle) {
  color: #fff;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.17) !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: none !important;
}
.topbar.ig-topbar :is(.lang-toggle, .menu-toggle, .account-toggle):hover {
  background: rgba(255,255,255,.16) !important;
}

body.has-map-shell .topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle),
body:not(.has-map-shell) .topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle) {
  color: var(--atlas-brand-strong) !important;
  background: #f8fff5 !important;
  border-color: rgba(255,255,255,.7) !important;
}

body.has-map-shell .topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle):hover,
body:not(.has-map-shell) .topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle):hover {
  background: var(--atlas-accent) !important;
}

.topbar.ig-topbar .topbar-right .lang-code { color: var(--atlas-brand-strong) !important; }
.ig-primary-nav .nav-tile { border-radius: var(--atlas-radius-control); }
.ig-primary-nav .nav-tile:hover,
.ig-primary-nav .nav-tile.is-active { background: rgba(255,255,255,.12); border-color: transparent; }

.app-menu,
.lang-picker {
  z-index: var(--atlas-z-dropdown);
  color: var(--atlas-ink);
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-radius-card);
  box-shadow: 0 8px 24px rgba(7,35,20,.22);
}
.app-menu .menu-item,
.lang-picker .lang-option { border-radius: 8px; }
.app-menu .menu-item:hover,
.lang-picker .lang-option:hover,
.lang-picker .lang-option.active { color: var(--atlas-brand-strong); background: #e8f3e5; }
.lang-picker .lang-option.active {
  color: #fff;
  background: var(--atlas-brand-mid);
}

/* Mapa pozostaje pełnoekranowa; powierzchnie sterujące tworzą jeden system. */
body.has-map-shell .map-frame.full-map {
  background: #dbe7d4;
  border-radius: 16px !important;
  box-shadow: inset 0 0 0 1px rgba(13,58,38,.12) !important;
}
body.has-map-shell .map-help {
  color: var(--atlas-brand-strong) !important;
  background: rgba(255,254,249,.96) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 8px rgba(7,35,20,.12) !important;
  font-weight: 760 !important;
}
body.has-map-shell :is(.zoom-controls button, .map-toggle-wrap button, .report-bug-btn) {
  color: var(--atlas-brand-strong) !important;
  background: rgba(255,254,249,.97) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: 0 3px 8px rgba(7,35,20,.14) !important;
}
body.has-map-shell :is(.zoom-controls button, .map-toggle-wrap button, .report-bug-btn):hover {
  background: #f2f8ed !important;
  border-color: var(--atlas-line-strong) !important;
}
body.has-map-shell .map-toggle-wrap button.active,
body.has-map-shell .map-toggle-wrap button[aria-pressed="true"] {
  background: #e2f5d4 !important;
  border-color: #88ad72 !important;
}
body.has-map-shell .ig-scroll-hint {
  color: #f6fff1;
  background: rgba(9,44,28,.96);
  border: 0;
  box-shadow: 0 4px 8px rgba(7,35,20,.2);
  font-weight: 760;
}
body.has-map-shell .ig-scroll-hint:hover { color: var(--atlas-brand-strong); background: var(--atlas-accent); }

/* Raport: spokojna powierzchnia robocza, bez zmiany jego DOM i zachowania. */
body.has-map-shell .parcel-drawer {
  z-index: var(--atlas-z-drawer);
  color: var(--atlas-ink);
  background: var(--atlas-surface) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(7,35,20,.28) !important;
}
body.has-map-shell .parcel-drawer .report-head h2 { color: var(--atlas-ink); letter-spacing: -.03em; }
body.has-map-shell .parcel-drawer .report-head p,
body.has-map-shell .report-content :is(p, li, dd, .small) { color: var(--atlas-muted); }
body.has-map-shell :is(.drawer-close, .report-fav-btn, .report-guard-btn, .share-btn) {
  color: var(--atlas-brand-strong) !important;
  background: var(--atlas-surface-soft) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: none !important;
}
body.has-map-shell :is(.drawer-close, .report-fav-btn, .report-guard-btn, .share-btn):hover {
  background: #e8f3e5 !important;
}
body.has-map-shell .report-acc-section,
body.has-map-shell .report-content :is(.card, .notice, .risk-card, .ig-main-card, .ig-action-panel, .ig-metric) {
  border-radius: var(--atlas-radius-card) !important;
  box-shadow: none !important;
}
body.has-map-shell .report-acc-section { background: #fff; border: 1px solid var(--atlas-line) !important; }
body.has-map-shell .report-acc-summary { color: var(--atlas-ink); border-radius: 13px; }
body.has-map-shell .report-acc-summary:hover { background: var(--atlas-surface-soft); }
body.has-map-shell .report-content .ig-main-card .ig-metric {
  border: 1px solid var(--atlas-line) !important;
}
body.has-map-shell .report-content .ig-main-card .ig-metric--ok { background: #f1f8ef !important; }
body.has-map-shell .report-content .ig-main-card .ig-metric--warn { background: #fff8e6 !important; }
body.has-map-shell .report-content .ig-main-card .ig-metric--info { background: #f7faf7 !important; }
body.has-map-shell .report-content .ig-main-card .ig-detail-tip {
  padding: 10px 12px !important;
  background: var(--atlas-surface-soft) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-control) !important;
}
body.has-map-shell .ig-hero,
body.has-map-shell .parcel-readable-visual {
  border: 0 !important;
  border-radius: var(--atlas-radius-card) !important;
  background: linear-gradient(135deg, var(--atlas-brand-strong), var(--atlas-brand-mid)) !important;
  box-shadow: none !important;
}
body.has-map-shell .ig-hero__id {
  border: 1px solid rgba(191,244,91,.35);
  border-radius: 9px;
  background: rgba(5,31,18,.9);
}

/* Treść pod mapą: ten sam układ, wyraźniejsza hierarchia Atlas. */
.ig-home-content {
  color: var(--atlas-ink) !important;
  background: var(--atlas-page) !important;
  border-top: 1px solid var(--atlas-line) !important;
}
.ig-hc-inner { max-width: 1180px !important; padding: 68px clamp(18px, 5vw, 72px) 64px !important; }
.ig-hc-h1 {
  max-width: 24ch;
  margin-bottom: 22px !important;
  color: var(--atlas-ink) !important;
  font-size: 2.45rem !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}
.ig-home-content h2 {
  max-width: 30ch;
  margin: 54px 0 12px !important;
  color: var(--atlas-ink) !important;
  font-size: 1.75rem !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.ig-hc-lead {
  max-width: 72ch !important;
  color: var(--atlas-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  text-wrap: pretty;
}
.ig-hc-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 24px !important;
}
.ig-hc-card {
  min-width: 0;
  padding: 18px !important;
  background: var(--atlas-surface) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-card) !important;
  box-shadow: none !important;
}
.ig-hc-card h3 {
  margin-bottom: 7px !important;
  color: var(--atlas-ink) !important;
  font-size: .96rem !important;
  line-height: 1.28;
  text-wrap: balance;
}
.ig-hc-card p { color: var(--atlas-muted) !important; font-size: .84rem !important; line-height: 1.52 !important; }

.ig-hc-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  counter-reset: atlas-step;
}
.ig-hc-steps li {
  position: relative;
  min-width: 0;
  min-height: 132px;
  padding: 20px 18px 18px 62px !important;
  color: var(--atlas-muted) !important;
  background: var(--atlas-surface) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-card) !important;
}
.ig-hc-steps li::before {
  counter-increment: atlas-step;
  content: counter(atlas-step);
  position: absolute;
  top: 18px;
  left: 18px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--atlas-brand-strong);
  background: var(--atlas-accent);
  border-radius: 50%;
  font-weight: 850;
}
.ig-hc-steps li b { margin-bottom: 6px !important; color: var(--atlas-ink) !important; font-size: .96rem !important; }
.ig-hc-sources { gap: 7px !important; }
.ig-hc-sources li {
  color: #23452e !important;
  background: #deeddc !important;
  border: 1px solid #c3d8c5;
}
.ig-hc-note {
  max-width: 76ch;
  padding: 14px 16px !important;
  color: var(--atlas-muted) !important;
  background: var(--atlas-surface) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-control) !important;
}
.ig-hc-faq { gap: 0 32px !important; }
.ig-hc-faq > div { padding: 15px 0 !important; border-bottom: 1px solid var(--atlas-line); }
.ig-hc-faq dt { color: var(--atlas-ink) !important; }
.ig-hc-faq dd { max-width: 68ch; color: var(--atlas-muted) !important; }
.ig-hc-faq a,
.ig-hc-all { color: var(--atlas-brand-mid) !important; }
.ig-hc-links { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }
.ig-hc-links a {
  min-height: 100%;
  padding: 16px !important;
  color: var(--atlas-brand-strong) !important;
  background: var(--atlas-surface) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-control) !important;
  font-weight: 760 !important;
}
.ig-hc-links a:hover { background: #eaf4e6 !important; border-color: var(--atlas-line-strong) !important; }
.ig-hc-backtop {
  color: var(--atlas-brand-strong) !important;
  background: var(--atlas-accent) !important;
  border: 0 !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: none !important;
}
.ig-hc-backtop:hover { background: var(--atlas-accent-strong) !important; }

body.has-map-shell .site-footer {
  color: #dce9df !important;
  background: var(--atlas-brand-strong) !important;
  border: 0 !important;
}
body.has-map-shell .site-footer a { color: var(--atlas-accent) !important; }
body.has-map-shell .site-footer .site-footer__note { color: #b9cbbd !important; }

/* Strony treściowe i danych dziedziczą Atlas bez ruszania ich struktury. */
body:not(.has-map-shell) { color: var(--atlas-ink); background: var(--atlas-page); }
:where(.static-site, .blog-article, .poradnik-index, .ig-gmina, .ig-ranking) main { color: var(--atlas-ink); }
:where(.static-site, .blog-article, .poradnik-index, .ig-gmina, .ig-ranking)
  :is(.article-card, .gm-card, .rk-card, .landing-card) {
  border-radius: var(--atlas-radius-card) !important;
  box-shadow: none !important;
}

.ig-ranking th.rk-n {
  font-size: 10px !important;
  letter-spacing: -.02em;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .ig-hc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ig-hc-links { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  body.has-map-shell .topbar.ig-topbar--search {
    background: linear-gradient(118deg, var(--atlas-brand-strong), var(--atlas-brand-mid)) !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 12px rgba(7,35,20,.22) !important;
  }
  body.has-map-shell .map-frame.full-map { border-radius: 0 !important; }
  body.has-map-shell .parcel-drawer { border-radius: 14px !important; }
  body:not(.has-map-shell) .topbar.ig-topbar .brand,
  .topbar.ig-topbar--content .brand {
    display: flex !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: calc(100% - 104px) !important;
    min-width: 0 !important;
  }
  body:not(.has-map-shell) .topbar.ig-topbar .brand-text,
  .topbar.ig-topbar--content .brand-text {
    display: block !important;
  }
  body:not(.has-map-shell) .topbar.ig-topbar .brand-text strong,
  .topbar.ig-topbar--content .brand-text strong {
    display: block !important;
    font-size: 17px !important;
  }
  body:not(.has-map-shell) .topbar.ig-topbar .brand-text > span,
  .topbar.ig-topbar--content .brand-text > span {
    display: none !important;
  }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .top-search.compact-search {
    grid-template-columns: auto minmax(0, 1fr) 44px !important;
  }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .top-search.compact-search .primary {
    width: 44px !important;
    min-width: 44px !important;
  }
  .ig-hc-inner { padding: 44px 16px 48px !important; }
  .ig-hc-h1 { font-size: 2rem !important; letter-spacing: -.03em !important; }
  .ig-home-content h2 { margin-top: 42px !important; font-size: 1.5rem !important; }
  .ig-hc-steps,
  .ig-hc-links { grid-template-columns: 1fr !important; }

  /* Baner zgody nie zmienia położenia kafelków warstw; może je zasłonić.
     Pozostałe kontrolki nadal zachowują dotychczasowy lift. */
  body.has-map-shell:has(#cookieBanner.active) .map-frame :is(.zoom-controls, .report-bug-btn) {
    transform: translateY(-118px) !important;
  }
  body.has-map-shell:has(#cookieBanner.active) .map-frame .ig-scroll-hint {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 148px) !important;
  }

  /* Skok pozostałych kontrolek bierzemy ze ZMIERZONEJ wysokości banera
     (`--ig-cookie-lift`, ustawia app.js); 118 px zostaje fallbackiem bez JS.
     Kafelki warstw są celowo wyłączone z tego mechanizmu. */
  body.has-map-shell:not(.ig-pricemap):has(#cookieBanner.active) .map-frame
    :is(.zoom-controls, .report-bug-btn, .attribution) {
    transform: translateY(calc(-1 * var(--ig-cookie-lift, 118px))) !important;
  }
  /* Pigułka i pływak wsparcia nie mają transformu — przesuwamy im `bottom` o ten sam skok.
     Dla pływaka ŚWIADOMIE nie ruszamy `transform`: trzyma on animację wjazdu (`.is-on`). */
  body.has-map-shell:not(.ig-pricemap):has(#cookieBanner.active) .map-frame .ig-scroll-hint,
  body.has-map-shell:not(.ig-pricemap):has(#cookieBanner.active) .ig-donate-pop {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 134px + var(--ig-cookie-lift, 118px)) !important;
  }
}

/* 2026-08-03: scoped mobile report contract. The lower navigation owns mobile
   discovery; the desktop hamburger remains available where that nav is absent. */
.lang-toggle { min-width:44px; min-height:44px; }
.lang-toggle .lang-flag { display:inline-block; font-size:18px; line-height:1; }
.lang-toggle .lang-code { display:none !important; }
.lang-option { display:flex; align-items:center; gap:9px; min-height:44px; padding:8px 11px; }
.lang-option-flag { display:inline-block; min-width:22px; font-size:18px; line-height:1; }
.lang-toggle:focus-visible,
.lang-option:focus-visible,
#igMobileNav button:focus-visible,
#igMobileNav a:focus-visible { outline:3px solid #b9ef86 !important; outline-offset:2px; }

.ig-report-primary,
.ig-report-group,
.ig-report-secondary { min-width:0; }
.ig-report-primary { padding:12px; background:#fff; border:1px solid var(--atlas-line); border-radius:13px; }
.ig-report-primary > h3,
.ig-report-group > h3 { margin:0 0 9px; color:var(--atlas-ink); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.ig-report-primary__items,
.ig-report-group__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ig-report-primary .ig-metric,
.ig-report-group .ig-metric { min-width:0; min-height:0; margin:0; }
.ig-report-group { padding:12px; background:#fff; border:1px solid var(--atlas-line); border-radius:13px; }
.ig-report-group + .ig-report-group { margin-top:10px; }
.ig-report-secondary { display:grid; gap:10px; padding:0; background:transparent; border:0; }
.ig-report-status.ig-report-status--partial { margin:10px 0 0; padding:8px 10px; border-radius:9px; font-size:11px; line-height:1.35; }
.ig-source-details { margin-top:0; border:1px solid var(--atlas-line); border-radius:10px; background:#fff; }
.ig-source-details > summary { min-height:44px; padding:12px; color:var(--atlas-ink); font-size:12px; font-weight:760; cursor:pointer; }
.ig-source-details[open] > summary { border-bottom:1px solid var(--atlas-line); }
.ig-source-details .ig-source-status-list { padding:9px 10px; }
.ig-source-details .ig-source-status-list h3 { margin:0 0 8px; font-size:12px; }
.ig-source-status-row { padding:9px 0; border-top:1px solid #e7efe8; }
.ig-source-status-row:first-of-type { border-top:0; }
.ig-source-status-row > div { display:flex; justify-content:space-between; gap:8px; }
.ig-source-status-row > div span { color:var(--atlas-muted); font-size:11px; text-align:right; }
.ig-source-status-row p { margin:5px 0 3px; font-size:11px; line-height:1.4; }
.ig-source-status-row small { color:var(--atlas-muted); font-size:10px; }
.ig-source-fallback { display:inline-block; margin-top:6px; color:var(--atlas-brand-strong); font-size:11px; font-weight:700; }
.ig-source-not-published { margin:0 0 8px; padding:9px 10px; color:#6b4d0a; background:#fff8e7; border:1px solid #ecd79e; border-radius:9px; font-weight:700; }
.ig-price-provenance { margin:0 0 9px; color:var(--atlas-muted); font-size:11px; line-height:1.45; }
.ig-price-zoning-warning { margin:0 0 9px; padding:9px 10px; color:#704b08; background:#fff7e5; border:1px solid #efd28b; border-radius:9px; font-size:11px; line-height:1.45; }
.ig-loading-show { display:inline-flex; align-items:center; justify-content:center; min-height:42px; margin:8px 0 4px; padding:8px 13px; color:var(--atlas-brand-strong); background:#fff; border:1px solid var(--atlas-brand-mid); border-radius:9px; font:inherit; font-size:12px; font-weight:760; cursor:pointer; }
.ig-loading-show:hover { background:#eef8eb; }
.loading-card.v34 { padding:12px; background:#fff; border:1px solid var(--atlas-line); border-radius:13px; }
.loading-card.v34 .loading-msg { min-height:18px; margin:7px 0 5px; font-size:11px; line-height:1.35; }
.loading-card.v34 .v34-steps { display:grid; gap:6px; margin:8px 0 0; padding:0; list-style:none; }
.loading-card.v34 .v34-steps .step-tile { display:grid; grid-template-columns:28px minmax(0,1fr) auto 14px; align-items:center; gap:7px; min-height:44px; padding:6px 8px; background:#f7faf7; border:1px solid #e1ebe1; border-radius:9px; }
.loading-card.v34 .step-icon { display:grid; place-items:center; width:26px; height:26px; color:var(--atlas-brand-strong); background:#e6f3e2; border-radius:7px; }
.loading-card.v34 .step-icon svg { width:18px; height:18px; }
.loading-card.v34 .step-label { min-width:0; overflow:hidden; color:var(--atlas-ink); font-size:11px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.loading-card.v34 .step-time { color:var(--atlas-muted); font-size:10px; white-space:nowrap; }

@media (max-width: 860px) {
  body.ig-has-mobile-nav .topbar.ig-topbar .menu-toggle { display:none !important; }
  body.report-loading-state #igMobileNav { display:none !important; visibility:hidden !important; pointer-events:none !important; }
  body.report-loading-state #map { visibility:visible !important; pointer-events:none !important; }
  body.report-loading-state .leaflet-control-container,
  body.report-loading-state .map-controls { visibility:hidden !important; }
  /* loader-mobile-centered-panel-20260815: the eight status tiles own a
     content-sized sheet centered over the selected parcel map. */
  body.has-map-shell.report-loading-state #detailsPanel.parcel-drawer:has(.loading-card.v34.ig-loading-v2),
  body.has-map-shell.report-loading-state #detailsPanel.parcel-drawer.is-open:has(.loading-card.v34.ig-loading-v2) {
    position:fixed !important;
    top:50% !important;
    right:auto !important;
    bottom:auto !important;
    left:50% !important;
    width:min(620px, calc(100vw - 24px)) !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    overflow:hidden !important;
    border:1px solid var(--atlas-line) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 4px 8px rgba(8, 28, 18, .22) !important;
    box-sizing:border-box !important;
    transform:translate(-50%, -50%) !important;
  }
  body.has-map-shell.report-loading-state #detailsPanel.parcel-drawer:has(.loading-card.v34.ig-loading-v2) > .drawer-titlebar {
    min-height:52px !important;
    padding:8px 10px !important;
    border-radius:15px 15px 0 0 !important;
  }
  body.has-map-shell.report-loading-state #detailsPanel.parcel-drawer:has(.loading-card.v34.ig-loading-v2) > #reportContent {
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - 100px - env(safe-area-inset-bottom, 0px)) !important;
    padding:10px 12px 4px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    background:#fff !important;
  }
  /* A first-visit consent banner publishes its measured height through
     --ig-report-cookie-bottom. Anchor the content-sized loader above that
     overlay; otherwise the generic report clearance supplies a second inset
     while top:50% remains active and squeezes the sheet to half its content. */
  body.has-map-shell.report-loading-state.report-open:has(#cookieBanner.active)
    #detailsPanel.parcel-drawer:has(.loading-card.v34.ig-loading-v2) {
    top:auto !important;
    bottom:calc(var(--ig-report-cookie-bottom, 0px) + 12px) !important;
    max-height:calc(100dvh - var(--ig-report-cookie-bottom, 0px) - 24px - env(safe-area-inset-top, 0px)) !important;
    transform:translateX(-50%) !important;
  }
  body.report-loading-state #btnFavReport,
  body.report-loading-state #btnGuardWatch { display:none !important; }
  body.report-terminal-state #detailsPanel .report-content { padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px)) !important; }
  #igReportLangToggle { display:inline-flex !important; align-items:center; justify-content:center; flex:0 0 44px; }
  .ig-report-primary__items,
  .ig-report-group__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .parcel-drawer .ig-parcel-c > .ig-hero { min-height:268px !important; }
  .parcel-drawer .ig-parcel-c > .ig-hero .parcel-hero-canvas { height:268px !important; min-height:268px !important; }
}

@media (min-width: 861px) {
  body.ig-has-mobile-nav .topbar.ig-topbar .menu-toggle { display:inline-flex !important; }
}

/* The legacy restore sheet is loaded after older map CSS and deliberately
   keeps the desktop action visible.  On the mobile-nav surface this scoped
   rule wins without affecting desktop, where the hamburger remains needed. */
@media (max-width: 860px) {
  body.has-map-shell.ig-has-mobile-nav .topbar.compact-topbar.ig-topbar .topbar-right .menu-toggle {
    display:none !important;
  }
}

/* Language picker state is controlled by aria-hidden in app.js. Keep the
   visual state coupled to that accessible state even when legacy map CSS
   supplies a default display:none rule. */
body.has-map-shell #langPicker.lang-picker[aria-hidden="true"] {
  display: none !important;
}
body.has-map-shell #langPicker.lang-picker[aria-hidden="false"] {
  display: flex !important;
  flex-direction: column;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (max-width: 360px) {
  .ig-report-primary__items,
  .ig-report-group__items { grid-template-columns:1fr; }
  .loading-card.v34 .v34-steps .step-tile { grid-template-columns:26px minmax(0,1fr) 12px; }
  .loading-card.v34 .step-time { display:none; }
}

@media (max-width: 420px) {
  .topbar.ig-topbar .topbar-right .lang-toggle { display:inline-flex !important; }
}

@media (max-width: 520px) {
  .ig-hc-grid { grid-template-columns: 1fr !important; }
  .ig-hc-card { padding: 16px !important; }
  .ig-hc-steps li { min-height: 0; }
}

/* Pasmo 761–860 px: zachowaj lift pozostałych kontrolek bez poruszania
   kafelków warstw. */
@media (min-width: 761px) and (max-width: 860px) {
  body.has-map-shell:has(#cookieBanner.active) .map-frame
    :is(.zoom-controls, .report-bug-btn, .attribution) {
    transform: translateY(calc(-1 * var(--ig-cookie-lift, 118px))) !important;
  }
  body.has-map-shell:has(#cookieBanner.active) .map-frame .ig-scroll-hint,
  body.has-map-shell:has(#cookieBanner.active) .ig-donate-pop {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 134px + var(--ig-cookie-lift, 118px)) !important;
  }
}

/* OWNER (2026-07-17, audyt): na DESKTOPIE baner cookies zasłaniał dolną pigułkę „Czym jest InfoGrunt"
   / „Jak czytać mapę" (poprzedni fix był tylko w bloku mobilnym). Gdy baner aktywny, podnosimy pigułkę
   nad niego (baner: bottom 12px + ~64px wys. → top ~76px; 96px daje zapas). Home + mapa cen. */
@media (min-width: 861px) {
  body:has(#cookieBanner.active) .ig-scroll-hint {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 96px) !important;
  }
}

/* Strażnik Działki — panel produktu Atlas V2. Zachowuje pozycje i przepływ,
   ale używa wspólnego języka mapy: spokojne powierzchnie, czytelne dane, stan zamiast dekoracji. */
.konto-page .kt-shell {
  width: min(100%, 1220px);
  gap: 16px;
  padding: 16px clamp(12px, 2.2vw, 24px) 44px;
}

.konto-page .kt-shell,
.konto-page .kt-shell :is(button, select, input) {
  font-size: 14px;
}

.konto-page .kt-tabs {
  top: 8px;
  z-index: var(--atlas-z-dropdown);
  gap: 4px;
  padding: 6px;
  overflow: visible;
  color: var(--atlas-ink);
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-radius-card);
  box-shadow: 0 4px 8px rgba(7, 35, 20, .08);
  mask-image: none;
  -webkit-mask-image: none;
}

.konto-page .kt-tab {
  position: relative;
  min-height: 44px;
  padding: 8px 12px;
  color: var(--atlas-muted);
  border: 1px solid transparent;
  border-radius: 9px;
  transition: color .18s cubic-bezier(.16, 1, .3, 1), background .18s cubic-bezier(.16, 1, .3, 1), border-color .18s cubic-bezier(.16, 1, .3, 1);
}

.konto-page .kt-tab:hover {
  color: var(--atlas-brand-strong);
  background: var(--atlas-surface-soft);
}

.konto-page .kt-tab[aria-selected="true"] {
  color: var(--atlas-brand-strong);
  background: #e8f4e4;
  border-color: var(--atlas-line-strong);
}

.konto-page .kt-tab-icon { font-size: 16px; line-height: 1; }
.konto-page .kt-badge { color: #fff; background: #9b3b2f; }
.konto-page .kt-tab[aria-selected="true"] .kt-badge { color: #fff; background: var(--atlas-brand-mid); }
.konto-page .kt-tabs-user { color: var(--atlas-muted); font-size: 12px; }

.konto-page .kt-product-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 4px 2px 0;
}

.konto-page .kt-product-head h1 {
  margin: 0;
  color: var(--atlas-ink);
  font-size: 1.55rem;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.konto-page .kt-product-head p {
  max-width: 68ch;
  margin: 4px 0 0;
  color: var(--atlas-muted);
  line-height: 1.5;
}

.konto-page .kt-runtime {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 11px;
  color: var(--atlas-muted);
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}

.konto-page .kt-runtime > span,
.konto-page .kt-pause-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #b17913;
}

.konto-page .kt-runtime.is-active > span { background: var(--atlas-signal); }
.konto-page .kt-view:focus { outline: none; }
.konto-page .kt-viewbar { align-items: flex-start; padding: 2px; }
.konto-page .kt-viewbar h1 { font-size: 1.25rem; letter-spacing: -.02em; }
.konto-page .kt-viewbar .kt-sub { color: var(--atlas-muted); font-size: 13px; line-height: 1.5; }

.konto-page .kt-kpis { gap: 12px; }
.konto-page .kt-kpi {
  min-height: 86px;
  padding: 13px 15px;
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-radius-card);
  box-shadow: none;
}

.konto-page .kt-kpi.is-paused { background: #fbf7ea; border-color: #d6c695; }
.konto-page .kt-kpi dt {
  color: var(--atlas-muted);
  font-size: 11px;
  letter-spacing: .035em;
}
.konto-page .kt-kpi .kt-val { color: var(--atlas-ink); font-size: 1.35rem; }
.konto-page .kt-kpi .kt-val--txt { font-size: 1rem; }
.konto-page .kt-kpi .kt-ksub { color: var(--atlas-muted); font-size: 12px; }
.konto-page .kt-slotbar i { background: #d8e1d9; }
.konto-page .kt-slotbar i.on { background: var(--atlas-brand-mid); }

.konto-page .kt-dash { grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr); gap: 14px; }
.konto-page :is(.kt-panel, .kt-parcel, .kt-card, .md-amail, .md-help) {
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-radius-card);
  box-shadow: none;
}

.konto-page .kt-panel-head { min-height: 58px; padding: 8px 14px; border-color: var(--atlas-line); }
.konto-page .kt-panel-head h2,
.konto-page .kt-card h2 { color: var(--atlas-ink); font-size: 15px; }
.konto-page .kt-panel-body { padding: 14px; }
.konto-page .kt-panel-foot { padding: 10px 14px; border-color: var(--atlas-line); color: var(--atlas-muted); }
.konto-page .kt-panel-foot a,
.konto-page .kt-feed-more,
.konto-page .kt-row a,
.konto-page .kt-minihist a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.konto-page .kt-feed-more { justify-content: center; }

.konto-page .kt-filters { gap: 8px; }
.konto-page .kt-filters select,
.konto-page .kt-digest select {
  min-height: 44px;
  padding: 8px 34px 8px 11px;
  color: var(--atlas-ink);
  background-color: #fff;
  border: 1px solid var(--atlas-line-strong);
  border-radius: var(--atlas-radius-control);
  font-size: 13px;
}

.konto-page .kt-filters select:hover { border-color: var(--atlas-brand-mid); }
.konto-page .kt-legend { gap: 8px 16px; color: var(--atlas-muted); font-size: 12px; line-height: 1.45; }
.konto-page .kt-legend span { white-space: normal; }

.konto-page .kt-alert {
  gap: 11px;
  padding: 12px 13px;
  background: #fff;
  border-color: var(--atlas-line);
  border-radius: 11px;
  transition: border-color .18s cubic-bezier(.16, 1, .3, 1), background .18s cubic-bezier(.16, 1, .3, 1);
}
.konto-page .kt-alert:hover { background: #fbfdf9; border-color: var(--atlas-line-strong); box-shadow: none; }
.konto-page .kt-alert.is-red { background: #fff7f5; border-color: #dbb8b1; }
.konto-page .kt-a-title { color: var(--atlas-ink); font-size: 14px; line-height: 1.45; }
.konto-page .kt-chip { max-width: 100%; padding: 4px 8px; color: #354d3e; background: #edf3eb; white-space: normal; }
.konto-page .kt-chip--dist { color: #355312; background: #edf7da; }
.konto-page .kt-a-foot { gap: 4px 14px; color: var(--atlas-muted); }
.konto-page .kt-a-foot :is(a, button) { min-height: 44px; display: inline-flex; align-items: center; }
.konto-page .kt-more { color: var(--atlas-brand-mid); text-decoration: underline; text-underline-offset: 3px; }
.konto-page .kt-a-det { background: var(--atlas-surface-soft); border-color: var(--atlas-line); }
.konto-page .kt-a-det .cell { padding: 9px 11px; border-color: var(--atlas-line); }
.konto-page .kt-a-det dt { color: var(--atlas-muted); }

.konto-page .kt-pmap { background: #dfe9db; }
.konto-page .kt-pmap .kt-pbadge { top: 10px; left: 10px; box-shadow: 0 3px 7px rgba(7,35,20,.16); }
.konto-page .kt-pbody { padding: 13px 14px 15px; gap: 10px; }
.konto-page .kt-ptitle h3 { color: var(--atlas-ink); font-size: 15px; }
.konto-page .kt-radius,
.konto-page .kt-lvls { background: var(--atlas-surface-soft); border-color: var(--atlas-line); }
.konto-page .kt-radius-sum { min-height: 44px; color: var(--atlas-ink); }
.konto-page .kt-radius-edit { color: var(--atlas-muted); }
.konto-page .kt-radius input[type="range"] { min-height: 44px; }
.konto-page .kt-lvlrow { min-height: 54px; border-color: var(--atlas-line); border-radius: 10px; }
.konto-page .kt-lvlrow.is-on { background: #edf7ef; border-color: #74aa84; }
.konto-page .kt-lvlrow input { width: 20px; height: 20px; }
.konto-page .kt-lvlrow .kt-lvltx small { color: var(--atlas-muted); font-size: 12px; }
.konto-page .kt-save-btn,
.konto-page .kt-btn,
.konto-page .md-amail-btn,
.konto-page .md-cta-btn { min-height: 44px; padding: 9px 14px; border-radius: var(--atlas-radius-control); }
.konto-page .kt-btn--primary { color: #fff; background: var(--atlas-brand); }
.konto-page .kt-btn--primary:hover { background: var(--atlas-brand-mid); }
.konto-page .kt-btn--danger { color: #922f27; background: #fff; border-color: #dcb9b4; }

.konto-page .kt-add { min-height: 60px; background: var(--atlas-surface-soft); border-color: var(--atlas-line-strong); border-radius: var(--atlas-radius-control); }
.konto-page .kt-add:hover { background: #edf6e8; border-color: var(--atlas-brand-mid); }
.konto-page .kt-add .plus { width: 36px; height: 36px; border-radius: 9px; }
.konto-page .kt-add small { color: var(--atlas-muted); font-size: 12px; }
.konto-page .kt-row { min-height: 48px; font-size: 13px; }
.konto-page .kt-row .x { width: 44px; height: 44px; border-radius: var(--atlas-radius-control); }

.konto-page .kt-kontogrid { gap: 14px; }
.konto-page .kt-card,
.konto-page .md-amail { padding: 16px; }
.konto-page .kt-card .kt-cardsub { margin-top: 5px; color: var(--atlas-muted); font-size: 13px; line-height: 1.55; }
.konto-page .md-amail-txt strong { color: var(--atlas-ink); font-size: 15px; }
.konto-page .md-amail-cur { color: var(--atlas-muted); font-size: 13px; }
.konto-page .md-amail-input,
.konto-page #ktPassInput { min-height: 44px !important; border-color: var(--atlas-line-strong) !important; border-radius: var(--atlas-radius-control) !important; }
.konto-page .md-amail-link { min-height: 44px; padding: 10px 0; }
.konto-page .kt-note { color: #36513e; background: #edf6e5; border: 1px solid #bfd4b2; border-radius: var(--atlas-radius-control); font-size: 12px; }

.konto-page .md-help-sum { min-height: 56px; }
.konto-page .md-help-body .md-section { background: var(--atlas-surface-soft); border-color: var(--atlas-line); }
.konto-page .md-section,
.konto-page .md-hero,
.konto-page .md-cta { border-radius: var(--atlas-radius-card); box-shadow: none; }
.konto-page .md-hero { background: var(--atlas-brand); }
.konto-page .md-step-b span,
.konto-page .md-feat { color: var(--atlas-muted); }

@media (max-width: 960px) {
  .konto-page .kt-dash { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .konto-page .kt-shell { gap: 12px; padding: 12px 10px 32px; }
  .konto-page .kt-tabs {
    position: relative;
    top: auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3px;
    overflow: visible;
    padding: 5px;
    box-shadow: none;
  }
  .konto-page .kt-tab {
    min-width: 0;
    min-height: 58px;
    padding: 6px 3px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    white-space: normal;
    text-align: center;
  }
  .konto-page .kt-tab-label { font-size: 11px; line-height: 1.15; }
  .konto-page .kt-tab-icon { font-size: 15px; }
  .konto-page .kt-badge { position: absolute; margin: -26px 0 0 28px; }
  .konto-page .kt-tabs-user { display: none; }
  .konto-page .kt-product-head { align-items: flex-start; flex-direction: column; gap: 9px; }
  .konto-page .kt-product-head h1 { font-size: 1.35rem; }
  .konto-page .kt-product-head p { font-size: 13px; }
  .konto-page .kt-runtime { min-height: 34px; white-space: normal; }
  .konto-page .kt-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .konto-page .kt-kpi { min-height: 92px; padding: 11px; }
  .konto-page .kt-kpi dd { align-items: flex-start; flex-direction: column; gap: 2px; }
  .konto-page .kt-kpi .kt-val { font-size: 1.2rem; }
  .konto-page .kt-kpi .kt-ksub { width: 100%; white-space: normal; }
  .konto-page .kt-panel-head { align-items: flex-start; flex-direction: column; }
  .konto-page .kt-filters { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .konto-page .kt-filters select { width: 100%; max-width: none; }
  .konto-page .kt-panel-body { padding: 10px; }
  .konto-page .kt-panel-foot { align-items: flex-start; flex-direction: column; }
  .konto-page .kt-panel-foot > span:last-child { margin-left: 0 !important; }
  .konto-page .kt-legend { align-items: flex-start; flex-direction: column; gap: 7px; }
  .konto-page .kt-alert { padding: 11px 10px; }
  .konto-page .kt-a-det { grid-template-columns: 1fr; }
  .konto-page .kt-a-det .cell:nth-last-child(-n+2) { border-bottom: 1px solid var(--atlas-line); }
  .konto-page .kt-a-det .cell:last-child { border-bottom: 0; }
  .konto-page .kt-a-foot { align-items: center; }
  .konto-page .kt-pfoot { display: grid; grid-template-columns: 1fr; }
  .konto-page .kt-pfoot .kt-btn { justify-content: center; }
  .konto-page .kt-viewbar { align-items: flex-start; flex-direction: column; }
  .konto-page #btnLogout { margin-left: 0 !important; }
  .konto-page .kt-kontogrid,
  .konto-page .kt-parcelgrid[data-n] { grid-template-columns: minmax(0, 1fr); }
  .konto-page .kt-passrow { display: grid !important; grid-template-columns: 1fr; }
  .konto-page #ktPassInput,
  .konto-page #ktPassSave { width: 100%; }
}

@media (max-width: 360px) {
  body:not(.has-map-shell) .topbar.ig-topbar .brand,
  .topbar.ig-topbar--content .brand {
    flex: 0 0 42px !important;
    width: 42px !important;
    max-width: 42px !important;
  }
  body:not(.has-map-shell) .topbar.ig-topbar .brand-text,
  .topbar.ig-topbar--content .brand-text {
    display: none !important;
  }
  .konto-page .kt-tab-label { font-size: 10px; }
  .konto-page .kt-kpis { grid-template-columns: 1fr; }
  .konto-page .kt-kpi { min-height: 78px; }
  .konto-page .kt-filters { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media print {
  body { background: #fff !important; }
  .topbar.ig-topbar,
  .app-menu,
  .lang-picker,
  .ig-scroll-hint { display: none !important; }
}

/* Owner QA 2026-07-16: jeden pełnoszeroki header na mapach i trasach treściowych. */
body.has-map-shell .topbar.compact-topbar.ig-topbar--search {
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 12px rgba(7,35,20,.22) !important;
}

/* /mapa-cen nie ma zakładek: dokładnie pole + przycisk, bez pustego trzeciego toru. */
body.has-map-shell .topbar.compact-topbar.ig-topbar--search
  .top-search.compact-search:not(.has-search-tabs) {
  grid-template-columns: minmax(0, 1fr) 44px !important;
}
body.has-map-shell .topbar.compact-topbar.ig-topbar--search
  .top-search.compact-search:not(.has-search-tabs) > .search-wrap {
  grid-column: 1 !important;
}
body.has-map-shell .topbar.compact-topbar.ig-topbar--search
  .top-search.compact-search:not(.has-search-tabs) > .primary {
  grid-column: 2 !important;
  width: 44px !important;
  min-width: 44px !important;
}

/* Kontrolki mapy: minimalny cel dotykowy i wspólna prawa oś. */
body.has-map-shell .map-frame :is(.report-bug-btn, .zoom-controls button, .map-toggle-wrap button) {
  min-width: 44px !important;
  min-height: 44px !important;
}
body.has-map-shell :is(.ig-scroll-hint, .pm-legend button) {
  min-height: 44px !important;
}
.ig-hc-backtop {
  min-height: 44px;
}
body.has-map-shell .map-frame .report-bug-btn {
  right: 12px !important;
  left: auto !important;
  min-height: 44px !important;
  padding: 8px 12px !important;
}

/* OWNER (2026-07-17): przy otwartym raporcie strona przewija się w pionie (report-open → overflow-y:auto),
   a 15px scrollbara po prawej rozjeżdżał wizualnie wyśrodkowany panel raportu (gap L≠P). Rezerwujemy
   gutter po OBU stronach → panel jest idealnie na środku. Bez scrollbara (mapa bez raportu) reguła jest
   bezkosztowa (overflow:hidden). :has działa we wszystkich obsługiwanych przeglądarkach. */
html:has(body.report-open) { scrollbar-gutter: stable both-edges; }

/* OWNER (2026-07-17) + skill „no-emoji-icons": ikony metryk raportu to teraz monochromatyczne
   SVG liniowe (Lucide) w kolorze marki, na dyskretnym zielonym kaflu — zamiast kolorowych emoji
   na zimnym białym tle. Spójny stroke, jeden rozmiar, płaski Atlas. */
.ig-metric .ig-metric__icon,
.ig-metric__summary .ig-metric__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; min-width: 38px; flex: 0 0 38px;
  background: #eef4ed; border: 1px solid rgba(17, 54, 35, .09); border-radius: 11px;
  color: var(--atlas-brand-mid); font-size: 0; line-height: 0;
}
.ig-metric__icon .ig-mico { width: 20px; height: 20px; display: block; }
/* Ikony nawigacji: SVG dziedziczą kolor tekstu nav (jasny na zielonym headerze) zamiast emoji. */
.ig-primary-nav .nav-tile-ico { display: inline-flex; align-items: center; }
.ig-primary-nav .nav-tile-ico .ig-svgico { width: 18px; height: 18px; display: block; }
/* Bazowy rozmiar ikon PHP (pw_svg_icon) — zabezpieczenie przed nieoskalowanym SVG; konteksty nadpisują. */
.ig-svgico { width: 1em; height: 1em; }
/* Ikony inline w nagłówkach/przyciskach: ~1em, kolor dziedziczony (currentColor). */
.ig-h-ico { display: inline-flex; vertical-align: -0.14em; margin-right: 3px; }
.ig-h-ico .ig-svgico { width: 1.05em; height: 1.05em; display: block; }
/* metryki ostrzegawcze: ikona w tonie ostrzegawczym (spójność semantyczna, nadal monochrom) */
.ig-metric--warn .ig-metric__icon { color: #b4531a; background: #fbeee2; border-color: rgba(180, 83, 26, .16); }
.ig-metric--nuisance .ig-metric__icon { color: #b4531a; background: #fbeee2; border-color: rgba(180, 83, 26, .16); }

@media (min-width: 861px) {
  /* OWNER (2026-07-17): „Zgłoś błąd" na LEWO od kolumny zoomu (+/−), dołem wyrównany do „−".
     zoom: right:20 szer.44 → lewa krawędź 64px od prawej; guzik right:76 (12px na lewo). Dół 79px =
     ten sam bottom co klaster zoomu (czyli poziom „−"). Spójne z home-content-2026.css. */
  body.has-map-shell .map-frame .report-bug-btn {
    right: 76px !important;
    bottom: 79px !important;
  }
}

@media (max-width: 760px) {
  body.has-map-shell .topbar.compact-topbar.ig-topbar--search {
    padding-inline: 10px !important;
  }
}

/* Ranking i karta gminy: interaktywne kontrolki osiągają minimum 44 px. */
body.ig-ranking :is(.rk-search input, .rk-controls select, .rk-pulse-top select) {
  min-height: 44px !important;
  height: 44px !important;
}
body.ig-ranking .rk-chk {
  min-height: 44px;
  padding-inline: 4px;
}
body.ig-ranking .rk-chk input {
  width: 20px;
  height: 20px;
}
.gm-wrap :is(
  .gm-waste-sel select,
  .gm-chart-group button,
  .gm-prose-more,
  .gm-neighbors a,
  .gm-cta a,
  .gm-faq-item summary,
  .ig-report-bug-cta
) {
  min-height: 44px;
}
.gm-wrap :is(.gm-neighbors a, .gm-cta a) {
  display: inline-flex;
  align-items: center;
}

@media (max-width: 560px) {
  body.ig-ranking .rk-pulse {
    padding: 8px;
    margin-bottom: 10px;
  }
  body.ig-ranking .rk-pulse-top {
    flex-wrap: nowrap;
    margin-bottom: 6px;
  }
  body.ig-ranking .rk-pulse-title {
    min-width: 0;
    font-size: 13px;
    line-height: 1.2;
  }
  body.ig-ranking .rk-pulse-top select {
    max-width: 132px;
  }
  body.ig-ranking .mp-tile {
    padding: 6px 3px;
  }
  body.ig-ranking .rk-pulse-note {
    display: none;
  }
  body.ig-ranking .rk-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  body.ig-ranking .rk-search,
  body.ig-ranking .rk-chk {
    grid-column: 1 / -1;
    width: 100%;
  }
  /* UA copy for the full-catalog checkbox is longer than the PL/EN label.
     The table remains independently scrollable; only this control may wrap. */
  body.ig-ranking .rk-chk {
    white-space: normal;
    align-items: flex-start;
    overflow-wrap: anywhere;
  }
  body.ig-ranking .rk-chk input { flex: 0 0 auto; margin-top: 3px; }
  body.ig-ranking .rk-controls select {
    width: 100%;
    min-width: 0;
  }
}

/* Atlas 1.2.1 — mobilne menu jest osobną, nieprzezroczystą powierzchnią.
   Pozycję `top` ustala JS od dolnej krawędzi całego (także dwurzędowego) nagłówka. */
@media (max-width: 760px) {
  body.has-map-shell .topbar.ig-topbar--search {
    background: #103221 !important;
  }

  body.has-map-shell #btnLangToggle,
  body.has-map-shell #btnLangToggle .lang-code {
    color: #103221 !important;
  }

  body #appMenu.app-menu {
    position: fixed !important;
    right: 8px !important;
    left: 8px !important;
    z-index: 5200 !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: 8px !important;
    border: 1px solid #cbdaca !important;
    border-radius: 16px !important;
    color: #10251a !important;
    background: #fffef8 !important;
    background-image: none !important;
    box-shadow: 0 22px 56px rgba(4, 26, 14, .34) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    isolation: isolate;
  }

  body #appMenu.app-menu[aria-hidden="true"] {
    display: none !important;
    pointer-events: none !important;
  }

  body #appMenu.app-menu[aria-hidden="false"] {
    display: grid !important;
    gap: 2px !important;
    pointer-events: auto !important;
  }

  body #appMenu.app-menu .menu-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    color: #10251a !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 750 !important;
  }

  body #appMenu.app-menu .menu-item:hover,
  body #appMenu.app-menu .menu-item:focus-visible {
    color: #0b6530 !important;
    background: #e8f3e5 !important;
  }
}

/* Atlas 2.0 — canonical shared shell (2026-07-24).
   This is deliberately the final project layer: page-specific legacy CSS may retain
   functional geometry, but navigation, controls and surfaces resolve to these tokens. */
:root {
  --atlas-page: #f4f7f1;
  --atlas-surface: #fffef9;
  --atlas-surface-soft: #f7faf5;
  --atlas-ink: #10251a;
  --atlas-muted: #4d6152;
  --atlas-brand: #0d3a26;
  --atlas-brand-strong: #082d1d;
  --atlas-brand-mid: #17603b;
  --atlas-accent: #bff45b;
  --atlas-line: #d9e2d9;
  --atlas-line-strong: #bbcabd;
  --atlas-focus: #1769aa;
  --atlas-radius-control: 10px;
  --atlas-radius-card: 14px;
  --atlas-z-dropdown: 120;
  --atlas-z-drawer: 140;
  --atlas-z-mobile-nav: 5100;
}

html { background: var(--atlas-page); }
body {
  min-width: 320px;
  color: var(--atlas-ink);
  background: var(--atlas-page);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}
body:not(.has-map-shell) { background: var(--atlas-page); }
body :is(button, input, select, textarea) { font: inherit; }
body :is(input, select, textarea)::placeholder { color: #5b6d60; opacity: 1; }
body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--atlas-focus) !important;
  outline-offset: 3px;
}

/* One desktop shell across maps, ranking, guide and static routes. */
.topbar.ig-topbar,
body.has-map-shell .topbar.compact-topbar.ig-topbar--search {
  position: relative !important;
  inset: auto !important;
  box-sizing: border-box;
  width: 100% !important;
  min-height: 76px;
  margin: 0 !important;
  padding: 10px clamp(16px, 3vw, 46px) !important;
  color: var(--atlas-ink) !important;
  background: rgba(255, 254, 249, .98) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--atlas-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
}
.topbar.ig-topbar .brand { min-width: max-content; color: var(--atlas-ink); text-decoration: none; }
.topbar.ig-topbar .brand .logo { width: 34px; height: 34px; border-radius: 8px !important; }
.topbar.ig-topbar .brand-text { gap: 0; }
.topbar.ig-topbar .brand-text strong { color: var(--atlas-ink) !important; font-size: 18px; font-weight: 820; letter-spacing: -.035em; }
.topbar.ig-topbar .brand-text > span { color: var(--atlas-muted) !important; font-size: 11px; font-weight: 620; }
body.has-map-shell .topbar.ig-topbar,
body.has-map-shell .topbar.compact-topbar.ig-topbar--search {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 1500;
}

.ig-primary-nav { justify-content: center; gap: clamp(2px, .7vw, 12px); margin-inline: auto; }
.ig-primary-nav .nav-tile {
  position: relative;
  min-height: 48px;
  padding: 12px 8px;
  color: var(--atlas-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 13px;
  font-weight: 730;
  text-decoration: none;
}
.ig-primary-nav .nav-tile::after {
  position: absolute;
  right: 8px;
  bottom: 4px;
  left: 8px;
  height: 2px;
  content: "";
  background: transparent;
  border-radius: 2px;
}
.ig-primary-nav .nav-tile:hover { color: var(--atlas-brand-mid) !important; background: transparent !important; }
.ig-primary-nav .nav-tile.is-active { color: var(--atlas-brand-mid) !important; background: transparent !important; }
.ig-primary-nav .nav-tile.is-active::after { background: var(--atlas-brand-mid); }
.ig-primary-nav .nav-tile-ico { display: none !important; }
.ig-primary-nav .nav-tile-label { display: block !important; }

.topbar.ig-topbar .topbar-right { flex: 0 0 auto; gap: 8px; }
.ig-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 17px;
  color: #fff !important;
  background: var(--atlas-brand) !important;
  border: 1px solid var(--atlas-brand) !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 760;
  text-decoration: none;
}
.ig-header-cta:hover { color: #fff !important; background: var(--atlas-brand-mid) !important; border-color: var(--atlas-brand-mid) !important; }
.topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle),
body.has-map-shell .topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle),
body:not(.has-map-shell) .topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle) {
  width: 44px;
  min-width: 44px;
  height: 44px;
  color: var(--atlas-ink) !important;
  background: var(--atlas-surface) !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: none !important;
}
.topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle):hover { background: #edf5ea !important; border-color: var(--atlas-line-strong) !important; }
.topbar.ig-topbar .topbar-right .lang-code { color: var(--atlas-ink) !important; font-size: 12px; font-weight: 800; }

/* Search keeps its live behaviour, but uses the shared field vocabulary. */
.topbar.ig-topbar .top-search input {
  min-height: 44px;
  color: var(--atlas-ink);
  background: #fff;
  border: 1px solid var(--atlas-line-strong);
  border-radius: var(--atlas-radius-control);
  box-shadow: none;
}
.topbar.ig-topbar .top-search .primary {
  min-width: 44px;
  min-height: 44px;
  color: #fff !important;
  background: var(--atlas-brand) !important;
  border: 1px solid var(--atlas-brand) !important;
  border-radius: var(--atlas-radius-control) !important;
}
.topbar.ig-topbar .tabs { padding: 2px; background: #edf4ea; border: 1px solid var(--atlas-line); border-radius: var(--atlas-radius-control); }
.topbar.ig-topbar .tab { min-height: 38px; color: var(--atlas-muted); background: transparent; border-radius: 7px; font-weight: 720; }
.topbar.ig-topbar .tab.active { color: #fff; background: var(--atlas-brand); }

.app-menu,
.lang-picker {
  color: var(--atlas-ink);
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-radius-card);
  box-shadow: 0 10px 24px rgba(13, 58, 38, .13);
}
.app-menu .menu-item { min-height: 46px; color: var(--atlas-ink); border-radius: 9px; font-weight: 710; }
.app-menu .menu-item:hover,
.app-menu .menu-item:focus-visible { color: var(--atlas-brand); background: #edf5ea; }
@media (max-width: 1180px) {
  .ig-primary-nav { gap: 0; }
  .ig-primary-nav .nav-tile { padding-inline: 7px; font-size: 12px; }
  .ig-primary-nav .nav-tile:nth-last-child(-n + 2) { display: none; }
}

@media (max-width: 860px) {
  .topbar.ig-topbar,
  body.has-map-shell .topbar.compact-topbar.ig-topbar--search {
    position: relative !important;
    min-height: 64px;
    padding: 8px 12px !important;
    background: rgba(255, 254, 249, .99) !important;
  }
  body.has-map-shell .topbar.ig-topbar,
  body.has-map-shell .topbar.compact-topbar.ig-topbar--search { position: fixed !important; top: 0 !important; }
  .topbar.ig-topbar .brand .logo { width: 30px; height: 30px; }
  .topbar.ig-topbar .brand-text strong { font-size: 16px; }
  .topbar.ig-topbar .brand-text > span { display: none; }
  .ig-primary-nav { display: none !important; }
  .topbar.ig-topbar .topbar-right { gap: 6px; }
  .ig-header-cta { min-height: 40px; padding: 0 11px; font-size: 12px; }
  .topbar.ig-topbar .topbar-right :is(.lang-toggle, .menu-toggle, .account-toggle) { width: 40px; min-width: 40px; height: 40px; }
  .topbar.ig-topbar .top-search { order: 4; flex: 1 1 100%; width: 100%; }
  .topbar.ig-topbar .top-search input,
  .topbar.ig-topbar .top-search .primary { min-height: 42px; }
  .topbar.ig-topbar .tabs { display: none; }
}

@media (max-width: 420px) {
  .topbar.ig-topbar .brand-text strong { font-size: 15px; }
  .ig-header-cta { padding-inline: 9px; }
  .topbar.ig-topbar .topbar-right .lang-toggle { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ig-mobile-product-nav { backdrop-filter: none; }
}

/* Parcel report — the report is an evidence sheet over the real map, never a mock dashboard. */
.parcel-drawer {
  color: var(--atlas-ink);
  background: var(--atlas-surface) !important;
  border-color: var(--atlas-line) !important;
  box-shadow: 0 14px 34px rgba(8, 28, 18, .13) !important;
}
.parcel-drawer .drawer-titlebar {
  min-height: 52px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--atlas-line);
  background: var(--atlas-surface);
}
.parcel-drawer .drawer-change-parcel,
.parcel-drawer :is(.report-fav-btn, .report-guard-btn, .drawer-close) {
  min-width: 40px;
  min-height: 40px;
  color: var(--atlas-ink);
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: 10px;
  box-shadow: none;
}
.parcel-drawer .drawer-change-parcel { padding-inline: 11px; color: var(--atlas-brand); font-size: 13px; font-weight: 760; }
.parcel-drawer .drawer-close { font-size: 24px; line-height: 1; }
.parcel-drawer .report-head {
  align-items: flex-start;
  margin: 0;
  padding: 15px 16px 10px;
  background: var(--atlas-surface);
}
.parcel-drawer .report-head h2 { color: var(--atlas-ink); font-size: 20px; letter-spacing: -.025em; }
.parcel-drawer .report-head p { margin-top: 4px; color: var(--atlas-muted); font-size: 12px; line-height: 1.4; }
.parcel-drawer .badge-neutral,
.parcel-drawer .badge-ok,
.parcel-drawer .badge-warn,
.parcel-drawer .badge-bad { padding: 6px 9px; font-size: 11px; }
.parcel-drawer .report-content { gap: 12px; padding: 0 12px 16px; }
.parcel-drawer .ig-parcel-c { display: grid; gap: 12px; }
.parcel-drawer .ig-hero {
  min-height: 210px;
  overflow: hidden;
  background: #dbe6d8;
  border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-radius-card);
  box-shadow: none;
}
.parcel-drawer .parcel-hero-canvas { display: block; width: 100%; min-height: 210px; }
.parcel-drawer .ig-visual-footer,
.parcel-drawer .ig-hero__id {
  color: #fff;
  background: rgba(8, 45, 29, .91) !important;
  border-top: 1px solid rgba(255,255,255,.17);
  box-shadow: none;
  backdrop-filter: none;
}
.parcel-drawer .ig-visual-footer__main { font-size: 18px; }
.parcel-drawer .ig-visual-footer__id,
.parcel-drawer .ig-vf-loclabel,
.parcel-drawer .ig-vf-admin { color: rgba(255,255,255,.78); }
.parcel-drawer .ig-vf-addr { color: #fff; }
.parcel-drawer .ig-main-card {
  padding: 12px;
  background: var(--atlas-surface);
  border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-radius-card);
  box-shadow: none;
}
.parcel-drawer .ig-metric-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.parcel-drawer .ig-metric,
.parcel-drawer details.ig-metric--collapsible {
  min-width: 0;
  margin: 0;
  background: #fff;
  border: 1px solid var(--atlas-line);
  border-radius: 11px;
  box-shadow: none;
}
.parcel-drawer .ig-metric__label { color: var(--atlas-muted); font-size: 10px; letter-spacing: .035em; }
.parcel-drawer .ig-metric__value { color: var(--atlas-ink); font-size: 15px; font-weight: 800; overflow-wrap: anywhere; }
.parcel-drawer .ig-metric__hint { color: var(--atlas-muted); font-size: 11px; line-height: 1.35; }
.parcel-drawer .ig-metric--warn { background: #fff8f5; border-color: #e8c4bb; }
.parcel-drawer .ig-metric--ok { background: #f4fbf3; border-color: #bdd8c1; }
.parcel-drawer .ig-tech-details { margin-top: 10px; border-color: var(--atlas-line); border-radius: 10px; }
.parcel-drawer .ig-tech-details summary { min-height: 44px; padding: 11px; color: var(--atlas-ink); font-size: 13px; font-weight: 730; }
.parcel-drawer .ig-source-row { gap: 7px; }
.parcel-drawer .ig-source-row :is(a, button) { min-height: 40px; border-radius: 9px; }
.parcel-drawer .ig-report-bug-row { margin-top: 12px; }
.parcel-drawer .ig-report-bug-cta { min-height: 44px; color: #785019; background: #fffaf0; border: 1px solid #ead8ad; border-radius: 10px; box-shadow: none; }

.parcel-drawer #reportShare:not([hidden]) {
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 8px;
  padding: 9px 12px;
  background: var(--atlas-surface);
  border-top: 1px solid var(--atlas-line);
}
.parcel-drawer #reportShare .share-btn {
  min-height: 44px;
  padding: 9px 10px;
  color: var(--atlas-brand);
  background: #fff;
  border: 1px solid var(--atlas-line-strong);
  border-radius: 10px;
  box-shadow: none;
  font-size: 12px;
  font-weight: 760;
}
.parcel-drawer #reportShare .share-btn--pdf { color: #fff; background: var(--atlas-brand); border-color: var(--atlas-brand); }
.parcel-drawer #reportShare .share-btn--ghost { display: none; }

@media (max-width: 860px) {
  body.has-map-shell.report-open .topbar.ig-topbar { position: relative !important; }
  body.has-map-shell .parcel-drawer.is-open,
  body.has-map-shell #detailsPanel.parcel-drawer.is-open {
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: min(76svh, 650px) !important;
    max-height: calc(100svh - 64px) !important;
    padding: 0 !important;
    border: 1px solid var(--atlas-line) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: 0 -12px 34px rgba(8, 28, 18, .18) !important;
  }
  body.has-map-shell .parcel-drawer .report-content { padding-bottom: 18px; }
  body.has-map-shell .parcel-drawer #reportShare:not([hidden]) { position: sticky; bottom: 0; z-index: 2; }
  body.has-map-shell .parcel-drawer .ig-hero { min-height: 180px; }
  body.has-map-shell .parcel-drawer .parcel-hero-canvas { min-height: 180px; }
}

@media (max-width: 360px) {
  .parcel-drawer .drawer-change-parcel { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .parcel-drawer .ig-metric-list { grid-template-columns: 1fr; }
  .parcel-drawer .ig-hero,
  .parcel-drawer .parcel-hero-canvas { min-height: 158px; }
  .parcel-drawer #reportShare .share-btn { font-size: 11px; }
}

/* Content, ranking and account use the same quiet data-product surfaces. */
body.ig-ranking,
body.ig-gmina,
body.static-site { color: var(--atlas-ink); background: var(--atlas-page) !important; }
body.ig-ranking .rk-wrap,
body.ig-gmina .gm-wrap,
body.static-site .poradnik-wrap,
body.static-site .landing-wrap { max-width: 1280px; }
body.ig-ranking :is(.rk-pulse, .rk-tablewrap, .rk-foot, .rk-article),
body.ig-gmina :is(.gm-hero, .gm-sec, .gm20-card, .gm-chart-box, .gm-cta),
body.static-site :is(.landing-hero, .landing-card, .explainer, .value-card, .source-row, .article-card) {
  background: var(--atlas-surface) !important;
  border-color: var(--atlas-line) !important;
  box-shadow: none !important;
}
body.ig-ranking :is(.rk-search, .rk-controls select, .rk-chk),
body.ig-gmina :is(.gm-chart-group button, .gm-waste-sel select, .gm-prose-more),
body.static-site :is(.por-search, .por-search .clear, .por-cta .secondary) {
  border-color: var(--atlas-line-strong) !important;
  border-radius: var(--atlas-radius-control) !important;
  box-shadow: none !important;
}
body.ig-ranking .rk-head h1,
body.ig-gmina .gm-hero h1,
body.static-site :is(.por-hero h1, .landing-hero h1, .legal-content h1) { color: var(--atlas-ink) !important; letter-spacing: -.035em; text-wrap: balance; }
body.ig-ranking :is(.rk-head p, .rk-meta, .rk-article p),
body.ig-gmina :is(.gm-loc, .gm-hint, .gm-sec p),
body.static-site :is(.por-hero p, .landing-hero p, .legal-content p, .legal-content li, .article-card .desc) { color: var(--atlas-muted) !important; }
body.ig-ranking .rk-tablewrap { overflow-x: auto; border: 1px solid var(--atlas-line); border-radius: var(--atlas-radius-card); }
body.ig-ranking .rk { background: var(--atlas-surface); }
body.ig-ranking .rk :is(th, td) { border-color: var(--atlas-line) !important; }
body.ig-ranking .rk th { color: var(--atlas-muted); background: #f7faf5 !important; }
body.ig-ranking .rk tbody tr:hover { background: #f4f9f2 !important; }
body.ig-ranking :is(.rk-pulse-title, .rk-pulse-tiles strong, .rk-article a, .rk-pager a) { color: var(--atlas-brand-mid) !important; }
body.ig-gmina .gm-hero { overflow: hidden; border-radius: var(--atlas-radius-card); }
body.ig-gmina .gm-hero-txt { background: var(--atlas-surface) !important; }
body.ig-gmina .gm-chip { color: var(--atlas-ink); background: #f3f8f1; border-color: var(--atlas-line); }
body.ig-gmina :is(.gm20-card, .gm-chart-box, .gm-neighbors a) { border-color: var(--atlas-line); border-radius: 12px; }

body.static-site .landing-page,
body.static-site .poradnik-page { background: transparent !important; }
body.static-site .por-nav { display: none !important; }
body.static-site .breadcrumb,
body.static-site .crumbs { color: var(--atlas-muted); background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
body.static-site .article-card { border-radius: var(--atlas-radius-card) !important; }
body.static-site .article-card:hover { transform: translateY(-2px) !important; border-color: var(--atlas-line-strong) !important; box-shadow: 0 6px 12px rgba(13,58,38,.08) !important; }
body.static-site .por-cta { color: #fff; background: var(--atlas-brand) !important; border-radius: var(--atlas-radius-card); box-shadow: none !important; }
body.static-site .por-cta h2 { color: #fff !important; }
body.static-site .por-cta .primary { color: var(--atlas-brand-strong) !important; background: var(--atlas-accent) !important; border-radius: var(--atlas-radius-control); }
body.static-site .legal-content :is(h2, h3),
body.static-site .value-card b,
body.static-site .source-row b { color: var(--atlas-ink) !important; }

/* Blog keeps the parcel-data visual language while becoming a clear, bounded
   editorial list on narrow screens. */
.ig-blog{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:34px 0 28px}
.ig-blog-head{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr);align-items:center;gap:44px}.ig-blog-head>div h1{margin:0;color:var(--atlas-ink);font-size:clamp(2.25rem,5vw,3.1rem);letter-spacing:-.04em}.ig-blog-head>div p{max-width:32ch;margin:10px 0 0;color:var(--atlas-muted);line-height:1.55}.ig-blog-featured{display:grid;grid-template-columns:minmax(280px,.56fr) minmax(0,.44fr);overflow:hidden;color:var(--atlas-ink);background:var(--atlas-surface);border:1px solid var(--atlas-line);border-radius:var(--atlas-radius-card);text-decoration:none}.ig-blog-featured img{width:100%;height:190px;object-fit:cover}.ig-blog-featured div{padding:18px 20px}.ig-blog :is(small,.ig-blog-grid span,.ig-blog-featured span){color:var(--atlas-brand-mid);font-size:.75rem;font-weight:750}.ig-blog :is(.ig-blog-featured h2,.ig-blog-grid h2){color:var(--atlas-ink);overflow-wrap:anywhere}.ig-blog-featured h2{margin:7px 0 9px;font-size:1.2rem;line-height:1.2;letter-spacing:-.02em}.ig-blog-featured p,.ig-blog-grid p{color:var(--atlas-muted);line-height:1.5}.ig-blog-featured p{margin:0 0 15px;font-size:.84rem}.ig-blog-categories{display:flex;gap:8px;max-width:100%;margin:28px 0 18px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.ig-blog-categories a{flex:0 0 auto;padding:8px 14px;color:var(--atlas-muted);background:var(--atlas-surface);border:1px solid var(--atlas-line);border-radius:999px;font-size:.82rem;text-decoration:none}.ig-blog-categories a.active{color:#fff;background:var(--atlas-brand-mid);border-color:var(--atlas-brand-mid)}.ig-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px}.ig-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ig-blog-grid>a{display:block;min-width:0;overflow:hidden;color:var(--atlas-ink);background:var(--atlas-surface);border:1px solid var(--atlas-line);border-radius:var(--atlas-radius-card);text-decoration:none!important}.ig-blog-grid img{display:block;width:100%;height:132px;object-fit:cover}.ig-blog-grid div{min-width:0;padding:13px 14px 14px}.ig-blog-grid h2{margin:7px 0;font-size:.94rem;line-height:1.28}.ig-blog-grid p{margin:0 0 13px;font-size:.78rem}.ig-blog-aside{display:grid;gap:14px}.ig-blog-aside section{padding:17px;background:var(--atlas-surface);border:1px solid var(--atlas-line);border-radius:var(--atlas-radius-card)}.ig-blog-aside h2{margin:0 0 10px;color:var(--atlas-ink);font-size:1rem}.ig-blog-aside ol{margin:0;padding:0;list-style:none;counter-reset:blog}.ig-blog-aside li{position:relative;padding:10px 0 10px 28px;border-top:1px solid var(--atlas-line);counter-increment:blog}.ig-blog-aside li::before{content:counter(blog);position:absolute;top:11px;left:0;display:grid;width:19px;height:19px;place-items:center;color:var(--atlas-brand-mid);background:#e8f3e5;border-radius:50%;font-size:.68rem;font-weight:800}.ig-blog-aside li a{color:var(--atlas-ink);font-size:.82rem;font-weight:700;line-height:1.35;text-decoration:none}.ig-blog-aside li small{display:block;margin-top:3px}.ig-blog-aside section>p{color:var(--atlas-muted);font-size:.86rem;line-height:1.5}.ig-blog-cta{display:block;padding:11px 13px;color:#fff;background:var(--atlas-brand-mid);border-radius:var(--atlas-radius-control);font-size:.84rem;font-weight:750;text-align:center;text-decoration:none}

.ig-footer {
  margin-top: 52px !important;
  padding: 30px max(16px, calc((100% - 1280px) / 2)) calc(32px + env(safe-area-inset-bottom)) !important;
  color: #dce9df !important;
  background: linear-gradient(118deg, var(--atlas-brand-strong), var(--atlas-brand-mid)) !important;
  border-top: 1px solid rgba(191,244,91,.28) !important;
  text-align: left !important;
  box-shadow: none !important;
}
.ig-footer__links { justify-content: flex-start !important; max-width: 1280px; margin-inline: auto; }
.ig-footer__links a { color: var(--atlas-accent) !important; font-weight: 720 !important; }.ig-footer__links a:hover{color:#fff!important}.ig-footer__sep{color:#92bba0!important}.ig-footer__langs{border-left-color:rgba(220,233,223,.35)!important}.ig-footer__langs a{color:#dce9df!important}.ig-footer__langs a.active{color:var(--atlas-brand-strong)!important;background:var(--atlas-accent)!important}
.ig-footer__note,
.ig-footer__sources { max-width: 780px; margin-inline: auto; color: #adc4b4 !important; }.ig-footer__note{color:#c8d9cd!important}
@media (max-width: 860px) {
  body.ig-ranking .rk-wrap,
  body.ig-gmina .gm-wrap,
  body.static-site .poradnik-wrap,
  body.static-site .landing-wrap { padding-bottom: 32px; }
  body.ig-ranking .rk-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.ig-ranking .rk-search,
  body.ig-ranking .rk-chk { grid-column: 1 / -1; }
  body.static-site .article-card { box-shadow: none !important; }
  .ig-footer { margin-bottom: calc(62px + env(safe-area-inset-bottom)); padding-inline: 16px !important; text-align: center !important; }
  .ig-footer__links { justify-content: center !important; }
  .ig-blog{width:100%;min-width:0;overflow-x:clip;padding:24px 14px calc(28px + var(--ig-mobile-nav-height))}.ig-blog-head{display:block}.ig-blog-head>div p{margin-bottom:18px}.ig-blog-featured{display:block}.ig-blog-featured img{height:185px}.ig-blog-layout{display:block}.ig-blog-grid{grid-template-columns:1fr;gap:12px}.ig-blog-grid>a{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:126px}.ig-blog-grid img{min-width:0;height:100%;min-height:126px}.ig-blog-grid div{display:flex;flex-direction:column;justify-content:center}.ig-blog-grid p{display:none}.ig-blog-aside{margin-top:16px}
}

/* Atlas 2.1 — finalna kaskada nad historycznymi, agresywnymi warstwami mobilnymi.
   Zachowuje realny formularz wyszukiwania i menu, ale przywraca czytelny, jasny shell
   zatwierdzony w referencjach. */
.topbar.compact-topbar.ig-topbar {
  color: var(--atlas-ink) !important;
  background: rgba(255,255,255,.97) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--atlas-line) !important;
  box-shadow: 0 3px 18px rgba(21,40,28,.08) !important;
}
.topbar.compact-topbar.ig-topbar .brand { color: var(--atlas-ink) !important; }
.topbar.compact-topbar.ig-topbar .brand-text strong { color: var(--atlas-ink) !important; }
.topbar.compact-topbar.ig-topbar .brand-text > span { color: var(--atlas-muted) !important; }
.topbar.compact-topbar.ig-topbar :is(.lang-toggle,.menu-toggle,.account-toggle) {
  color: var(--atlas-ink) !important;
  background: #fff !important;
  border: 1px solid var(--atlas-line) !important;
  box-shadow: none !important;
}
.topbar.compact-topbar.ig-topbar .lang-code { color: var(--atlas-ink) !important; }
.topbar.compact-topbar.ig-topbar .ig-header-cta {
  display: inline-flex !important;
  min-height: 40px !important;
  color: #fff !important;
  background: var(--atlas-brand) !important;
  border: 1px solid var(--atlas-brand) !important;
  box-shadow: none !important;
}

/* Realny hero raportu: karta identyfikacyjna wykorzystuje wyłącznie canvas obrysu
   oraz pola zwrócone przez raport. */
body.has-map-shell .report-content .parcel-decision-hero {
  display: grid !important;
  grid-template-columns: minmax(190px,.76fr) minmax(0,1fr) !important;
  gap: 0 !important;
  margin: 0 0 12px !important;
  overflow: hidden;
  border: 1px solid var(--atlas-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.has-map-shell .report-content .parcel-visual {
  position: relative;
  min-height: 232px;
  overflow: hidden;
  background: #e7efe6;
}
body.has-map-shell .report-content .parcel-hero-canvas { display: block; width: 100%; min-height: 232px; }
body.has-map-shell .report-content .parcel-visual-caption {
  position: absolute;
  right: 8px;
  bottom: 8px;
  max-width: calc(100% - 16px);
  padding: 5px 7px;
  border-radius: 7px;
  color: #fff;
  background: rgba(7,29,18,.74);
  font-size: 10px;
  line-height: 1.25;
}
body.has-map-shell .report-content .parcel-decision-main { min-width: 0; padding: 16px; }
body.has-map-shell .report-content .parcel-id-block > span,
body.has-map-shell .report-content .parcel-full-id span,
body.has-map-shell .report-content .parcel-fact > span {
  color: var(--atlas-muted) !important;
  font-size: 10px !important;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.has-map-shell .report-content .parcel-id-block h3 { margin: 3px 0 5px; color: var(--atlas-ink); font-size: 22px; letter-spacing: -.035em; }
body.has-map-shell .report-content .parcel-id-block p { margin: 0; color: var(--atlas-muted); font-size: 12px; }
body.has-map-shell .report-content .parcel-copy-btn { min-height: 34px; margin-top: 8px; padding: 6px 9px; border: 1px solid var(--atlas-line); border-radius: 8px; color: var(--atlas-brand); background: #fff; font-size: 11px; font-weight: 760; }
body.has-map-shell .report-content .parcel-score-summary { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 10px; align-items: center; margin: 13px 0; padding: 10px; border-radius: 10px; background: var(--atlas-surface-soft); }
body.has-map-shell .report-content .parcel-score-ring { display: grid; width: 58px; height: 58px; place-content: center; border: 3px solid var(--atlas-brand); border-radius: 50%; text-align: center; }
body.has-map-shell .report-content .parcel-score-ring strong { color: var(--atlas-ink); font-size: 19px; line-height: 1; }
body.has-map-shell .report-content .parcel-score-ring span { color: var(--atlas-muted); font-size: 9px; }
body.has-map-shell .report-content .parcel-score-summary h4,
body.has-map-shell .report-content .parcel-signal-grid h4 { margin: 0 0 3px; color: var(--atlas-ink); font-size: 12px; }
body.has-map-shell .report-content .parcel-score-summary p,
body.has-map-shell .report-content .parcel-score-summary small { margin: 0; color: var(--atlas-muted); font-size: 11px; line-height: 1.35; }
body.has-map-shell .report-content .parcel-facts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
body.has-map-shell .report-content .parcel-fact { min-width: 0; padding: 8px; border: 1px solid var(--atlas-line); border-radius: 9px; background: #fff; }
body.has-map-shell .report-content .parcel-fact strong { display: block; margin-top: 3px; color: var(--atlas-ink); font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
body.has-map-shell .report-content .parcel-fact small { display: block; margin-top: 3px; color: var(--atlas-muted); font-size: 10px; line-height: 1.25; }
body.has-map-shell .report-content .parcel-fact.warn { background: #fff8f5; border-color: #ebc5bc; }
body.has-map-shell .report-content .parcel-fact.ok { background: #f4faf3; border-color: #bfdac1; }
body.has-map-shell .report-content .parcel-signal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 9px; }
body.has-map-shell .report-content .parcel-signal-grid > div { padding: 9px; border-radius: 9px; background: var(--atlas-surface-soft); }
body.has-map-shell .report-content .parcel-signal-grid ul { margin: 4px 0 0; padding-left: 15px; }
body.has-map-shell .report-content .parcel-signal-grid li { color: var(--atlas-muted); font-size: 11px; line-height: 1.35; }
body.has-map-shell .report-content .parcel-missing-strip { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin-top: 9px; color: #785019; font-size: 10px; }
body.has-map-shell .report-content .parcel-missing-strip span { padding: 3px 6px; border-radius: 99px; background: #fff8e6; }
body.has-map-shell .report-content .parcel-full-id { margin: 9px 0 0; color: var(--atlas-muted); font-size: 10px; overflow-wrap: anywhere; }

@media (max-width: 860px) {
  body.has-map-shell .topbar.compact-topbar.ig-topbar {
    grid-template-rows: 48px 54px !important;
    min-height: 116px !important;
    background: rgba(255,255,255,.98) !important;
  }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .topbar-right { gap: 6px !important; }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .ig-header-cta { min-height: 36px !important; padding-inline: 10px !important; border-radius: 8px !important; font-size: 11px !important; }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .lang-toggle { display: none !important; }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .menu-toggle { width: 38px !important; min-width: 38px !important; height: 38px !important; }
  body.has-map-shell .report-content .parcel-decision-hero { grid-template-columns: 1fr !important; border-radius: 12px !important; }
  body.has-map-shell .report-content .parcel-visual,
  body.has-map-shell .report-content .parcel-hero-canvas { min-height: 174px !important; }
  body.has-map-shell .report-content .parcel-decision-main { padding: 13px; }
}

@media (max-width: 340px) {
  body.has-map-shell .topbar.compact-topbar.ig-topbar .brand-text > span { display: none !important; }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .brand-text strong { font-size: 16px !important; }
  body.has-map-shell .topbar.compact-topbar.ig-topbar .ig-header-cta { padding-inline: 7px !important; font-size: 10px !important; }
  body.has-map-shell .report-content .parcel-facts-grid,
  body.has-map-shell .report-content .parcel-signal-grid { grid-template-columns: 1fr !important; }
}

/* Final specificity bridge for the legacy compact-map selectors. */
body.has-map-shell .topbar.compact-topbar.ig-topbar .brand,
body.has-map-shell .topbar.compact-topbar.ig-topbar .brand-text strong { color: var(--atlas-ink) !important; }
body.has-map-shell .topbar.compact-topbar.ig-topbar .brand-text > span { color: var(--atlas-muted) !important; }
body.has-map-shell .topbar.compact-topbar.ig-topbar .ig-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: var(--atlas-brand) !important;
}

/* Domyślne `minmax(300px, 1fr)` FAQ home nie mieści się w realnej szerokości
   treści 320 px (wewnętrzne paddingi). Na telefonie karta jest jedną kolumną. */
@media (max-width: 640px) {
  body.has-map-shell .ig-hc-faq {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.has-map-shell .ig-hc-faq > div {
    min-width: 0 !important;
  }
}

/* 2026-07-25 — mobilny raport działki wg zaakceptowanego mockupu InfoGrunt-mockup-30.
   Ta warstwa wyłącznie porządkuje istniejące, źródłowe dane raportu. */
.parcel-drawer .drawer-report-brand { display:none;min-width:0;align-items:center;gap:8px }
.parcel-drawer .drawer-report-brand img { flex:0 0 auto }
.parcel-drawer .drawer-report-brand>span { display:grid;min-width:0 }
.parcel-drawer .drawer-report-brand strong { color:var(--atlas-ink);font-size:14px;line-height:1.15 }
.parcel-drawer .drawer-report-brand small { color:var(--atlas-muted);font-size:10px;line-height:1.25 }
.parcel-drawer .ig-report-reference { gap:12px }
.parcel-drawer .ig-report-reference .ig-hero { position:relative;min-height:360px;border:0;border-radius:16px }
.parcel-drawer .ig-report-reference .parcel-hero-canvas { min-height:360px }
.parcel-drawer .ig-hero-change {
  position:absolute;z-index:3;top:12px;right:12px;min-height:34px;padding:7px 11px;
  color:#fff;background:rgba(6,31,20,.72);border:1px solid rgba(255,255,255,.22);
  border-radius:999px;backdrop-filter:blur(8px);font-size:11px;font-weight:760
}
.parcel-drawer .ig-report-reference .ig-visual-footer {
  position:absolute;z-index:2;right:14px;bottom:14px;left:14px;display:grid;
  grid-template-columns:.9fr 1.1fr;gap:16px;padding:15px 16px;
  background:rgba(8,45,29,.80)!important;border:1px solid rgba(255,255,255,.18);
  border-radius:14px;backdrop-filter:blur(12px)
}
.parcel-drawer .ig-report-reference .ig-vf-left,
.parcel-drawer .ig-report-reference .ig-vf-right { display:grid;align-content:start;min-width:0 }
.parcel-drawer .ig-report-reference .ig-vf-right { padding-left:14px;border-left:1px solid rgba(255,255,255,.22) }
.parcel-drawer .ig-report-reference .ig-vf-loclabel {
  color:rgba(255,255,255,.68)!important;font-size:9px;font-weight:780;
  letter-spacing:.08em;text-transform:uppercase
}
.parcel-drawer .ig-report-reference .ig-vf-area-label { margin-top:9px }
.parcel-drawer .ig-report-reference .ig-visual-footer__main { margin-top:3px;color:#fff;font-size:23px;line-height:1.05 }
.parcel-drawer .ig-report-reference .ig-visual-footer__area { margin-top:2px;color:#fff;font-size:18px;line-height:1.15 }
.parcel-drawer .ig-report-reference .ig-vf-addr { display:block;margin-top:4px;color:#fff;font-size:15px;line-height:1.2 }
.parcel-drawer .ig-report-reference .ig-vf-admin { margin-top:3px;color:rgba(255,255,255,.74);font-size:10px;line-height:1.35 }
.parcel-drawer .ig-vf-maplink {
  justify-self:start;margin-top:9px;padding:7px 9px;color:#d8ffb2;background:rgba(84,176,80,.22);
  border-radius:9px;font-size:10px;font-weight:760;text-decoration:none
}
.parcel-drawer .ig-report-reference .ig-main-card { display:grid;gap:12px;padding:0;background:transparent;border:0 }
.parcel-drawer .ig-report-primary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px }
.parcel-drawer .ig-report-primary>.ig-metric { min-height:116px;background:#fffdf7 }
.parcel-drawer .ig-report-primary>.ig-metric:nth-child(2) { background:#f5fbf3 }
body.has-map-shell .parcel-drawer .ig-report-primary>details.ig-metric,
body.has-map-shell .parcel-drawer .ig-report-metric-grid>details.ig-metric {
  display:block!important;grid-template-columns:none!important;padding:0!important;align-items:stretch!important
}
.parcel-drawer .ig-report-primary .ig-metric__summary,
.parcel-drawer .ig-report-primary>.ig-metric { align-items:flex-start;padding:13px }
.parcel-drawer .ig-report-primary .ig-metric__summary {
  position:relative!important;display:block!important;width:100%!important;box-sizing:border-box!important;
  padding:13px 46px 13px 13px!important
}
.parcel-drawer .ig-report-primary .ig-metric__body {
  display:grid!important;width:auto!important;min-width:0!important;gap:4px!important
}
.parcel-drawer .ig-report-primary .ig-metric__icon {
  position:absolute;top:12px;right:10px;width:34px;height:34px
}
.parcel-drawer .ig-report-primary .ig-metric__caret { position:absolute;right:12px;bottom:9px }
.parcel-drawer .ig-report-primary .ig-metric__val { font-size:14px;line-height:1.25 }
.parcel-drawer .ig-report-metric-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px }
.parcel-drawer .ig-report-metric-grid>.ig-metric { min-height:112px;background:#fff }
.parcel-drawer .ig-report-metric-grid .ig-metric__summary,
.parcel-drawer .ig-report-metric-grid>.ig-metric {
  display:grid;justify-items:center;align-content:start;gap:6px;padding:10px 6px;text-align:center
}
.parcel-drawer .ig-report-metric-grid .ig-metric__summary {
  width:100%!important;box-sizing:border-box!important;grid-template-columns:1fr!important
}
.parcel-drawer .ig-report-metric-grid .ig-metric__body {
  display:grid!important;width:auto!important;min-width:0!important;justify-items:center;gap:3px
}
.parcel-drawer .ig-report-metric-grid .ig-metric__icon { width:34px;height:34px }
.parcel-drawer .ig-report-metric-grid .ig-metric__lbl { font-size:8px;line-height:1.2;letter-spacing:.045em;text-transform:uppercase }
.parcel-drawer .ig-report-metric-grid .ig-metric__val { font-size:12px;line-height:1.2 }
.parcel-drawer .ig-report-metric-grid .ig-metric__caret { position:absolute;right:5px;bottom:5px;font-size:9px }
.parcel-drawer .ig-report-metric-grid .ig-metric__details { grid-column:1/-1;text-align:left }
.parcel-drawer .ig-report-nearby { padding:13px;background:#fff;border:1px solid var(--atlas-line);border-radius:13px }
.parcel-drawer .ig-report-nearby>h3 {
  margin:0 0 8px;color:var(--atlas-ink);font-size:12px;letter-spacing:.045em;text-transform:uppercase
}
.parcel-drawer .ig-report-nearby .ig-rwdz-row {
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid var(--atlas-line)
}
.parcel-drawer .ig-report-nearby .ig-rwdz-row__d { color:var(--atlas-muted);font-size:10px }
.parcel-drawer .ig-report-nearby .ig-rwdz-row__b { display:grid;min-width:0 }
.parcel-drawer .ig-report-nearby .ig-rwdz-what { color:var(--atlas-ink);font-size:11px;line-height:1.35 }
.parcel-drawer .ig-report-nearby .ig-detail-tip { margin-bottom:0 }
.parcel-drawer .ig-report-more { overflow:hidden;background:#fff;border:1px solid var(--atlas-line);border-radius:12px }
.parcel-drawer .ig-report-more>summary { min-height:48px;padding:14px;color:var(--atlas-ink);font-size:12px;font-weight:780;cursor:pointer }
.parcel-drawer .ig-report-more-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px }
.parcel-drawer .ig-report-more .ig-tech-details {
  margin:0 10px 10px;padding:10px;color:var(--atlas-muted);background:var(--atlas-surface-soft);
  border-radius:9px;font-size:10px;line-height:1.45
}
.parcel-drawer .ig-report-compact-notice {
  margin:0!important;padding:9px 11px!important;border-radius:10px!important;
  font-size:10px!important;line-height:1.4!important
}

@media (max-width:860px) {
  body.has-map-shell.report-open header.topbar.compact-topbar.ig-topbar { display:none!important }
  body.has-map-shell.report-open #detailsPanel.parcel-drawer,
  body.has-map-shell.report-open .right-panel.parcel-drawer,
  body.has-map-shell .parcel-drawer.is-open,
  body.has-map-shell #detailsPanel.parcel-drawer.is-open {
    top:0!important;bottom:calc(76px + env(safe-area-inset-bottom, 0px))!important;z-index:2500!important;width:100%!important;
    height:auto!important;max-height:none!important;border:0!important;border-radius:0!important
  }
  body.has-map-shell .right-panel.parcel-drawer .drawer-titlebar {
    position:sticky;z-index:8;top:0;min-height:64px!important;padding:8px 12px!important
  }
  body.has-map-shell .parcel-drawer .drawer-change-parcel {
    display:grid;width:40px;min-width:40px!important;height:40px;padding:0!important;
    place-items:center;font-size:28px!important;line-height:1
  }
  body.has-map-shell .parcel-drawer .drawer-change-label { display:none }
  body.has-map-shell .parcel-drawer .drawer-report-brand { display:flex;flex:1 1 auto }
  body.has-map-shell .parcel-drawer .report-guard-btn { display:none!important }
  body.has-map-shell .right-panel.parcel-drawer .report-head { display:none!important }
  body.has-map-shell .right-panel.parcel-drawer .report-content { padding:0 12px 94px!important;background:#fff!important }
  body.has-map-shell .parcel-drawer .report-accordion,
  body.has-map-shell .parcel-drawer .report-acc-body--solo,
  body.has-map-shell .parcel-drawer .report-acc-section {
    display:block!important;overflow:visible!important;margin:0!important;padding:0!important;
    background:transparent!important;border:0!important;border-radius:0!important
  }
  body.has-map-shell .parcel-drawer .ig-report-reference .ig-hero,
  body.has-map-shell .parcel-drawer .ig-report-reference .parcel-hero-canvas { min-height:392px!important }
  body.has-map-shell .parcel-drawer .ig-report-reference .ig-hero { margin-inline:-12px;border-radius:0 0 16px 16px }
  body.has-map-shell .parcel-drawer #reportShare:not([hidden]) {
    position:fixed!important;z-index:2500!important;right:0;bottom:calc(76px + env(safe-area-inset-bottom, 0px))!important;left:0;
    padding:9px 12px!important;background:rgba(255,255,255,.96)!important;
    box-shadow:0 -7px 24px rgba(7,40,25,.10);backdrop-filter:blur(10px)
  }
  body.has-map-shell .parcel-drawer #reportShare .share-btn { min-height:46px!important;font-size:12px!important }
  body.has-map-shell .parcel-drawer .ig-report-primary { margin-top:12px }
  body.has-map-shell .parcel-drawer .ig-report-nearby .ig-rich-detail { padding:0 }
  body.has-map-shell .parcel-drawer .ig-report-nearby .ig-detail-tip { font-size:9px!important }
}

@media (max-width:350px) {
  .parcel-drawer .ig-report-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .parcel-drawer .ig-report-more-grid { grid-template-columns:1fr }
  .parcel-drawer .ig-report-reference .ig-visual-footer { gap:10px;padding-inline:12px }
  .parcel-drawer .ig-report-reference .ig-visual-footer__main { font-size:19px }
  .parcel-drawer .ig-report-reference .ig-visual-footer__area { font-size:15px }
}

/* P0 2026-08-02: report-first map hierarchy and fail-closed point state. */
body.has-map-shell .parcel-drawer .ig-parcel-c--point > .ig-parcel-approximate {
  display: none !important;
}
body.has-map-shell .parcel-drawer .ig-parcel-c--point {
  display: grid !important;
  gap: 10px !important;
}
body.has-map-shell .parcel-drawer .ig-parcel-c--point .ig-hero,
body.has-map-shell .parcel-drawer .ig-parcel-c--point .parcel-hero-canvas,
body.has-map-shell .parcel-drawer .ig-parcel-c > .ig-hero {
  min-height: 252px !important;
}
body.has-map-shell .parcel-drawer .ig-hero {
  position: relative;
  overflow: hidden;
  background: #10251a !important;
  border-radius: 14px !important;
}
body.has-map-shell .parcel-drawer .parcel-hero-canvas {
  display: block;
  width: 100%;
  height: 252px;
  min-height: 252px !important;
}
body.has-map-shell .parcel-drawer .ig-hero__attribution {
  position: absolute;
  top: 9px;
  right: 9px;
  z-index: 3;
  max-width: min(78%, 340px);
  padding: 4px 7px;
  border-radius: 6px;
  color: rgba(255,255,255,.9);
  background: rgba(7,29,18,.72);
  font-size: 9px;
  line-height: 1.25;
  text-align: right;
}
body.has-map-shell .parcel-drawer .ig-hero__tile-status {
  position: absolute;
  top: 9px;
  left: 9px;
  z-index: 4;
  max-width: 62%;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 7px;
  color: #fff;
  background: rgba(7,29,18,.78);
  font-size: 10px;
  line-height: 1.25;
}
body.has-map-shell .parcel-drawer .ig-hero__tile-status[data-state="failed"] {
  color: #fff5e6;
  background: rgba(126,49,24,.92);
  border-color: rgba(255,224,179,.48);
}
body.has-map-shell .parcel-drawer .ig-hero__tile-status button {
  min-height: 32px;
  margin-left: 5px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 6px;
  color: #10251a;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
}
body.has-map-shell .parcel-drawer .ig-hero__tile-count { opacity: .72; white-space: nowrap; }
body.has-map-shell .parcel-drawer .ig-hero__point-footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 34px 13px 11px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(7,29,18,.92));
}
body.has-map-shell .parcel-drawer .ig-hero__point-footer > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}
body.has-map-shell .parcel-drawer .ig-hero__point-footer .ig-visual-footer__label {
  color: #a7ff45;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.has-map-shell .parcel-drawer .ig-hero__point-footer strong { font-size: 15px; line-height: 1.2; }
body.has-map-shell .parcel-drawer .ig-hero__point-footer .ig-hero__attribution {
  position: static;
  flex: 0 1 45%;
  padding: 0;
  background: transparent;
  font-size: 9px;
}
body.has-map-shell .parcel-drawer .ig-point-context {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 4px 12px;
  align-items: start;
  padding: 11px 12px;
  border: 1px solid #ead9ad;
  border-left: 3px solid #b77b18;
  border-radius: 11px;
  color: #3d3829;
  background: #fffaf0;
  font-size: 12px;
  line-height: 1.42;
}
body.has-map-shell .parcel-drawer .ig-point-context > :not(.ig-point-context__cta) { grid-column: 1; }
body.has-map-shell .parcel-drawer .ig-point-context > strong { color: #63460a; font-size: 12px; }
body.has-map-shell .parcel-drawer .ig-point-context > span { color: #554c3a; }
body.has-map-shell .parcel-drawer .ig-point-context > small { color: #756b57; font-size: 10.5px; }
body.has-map-shell .parcel-drawer .ig-point-coordinates { margin: 0; font-size: 11px; }
body.has-map-shell .parcel-drawer .ig-point-context__cta {
  grid-column: 2;
  grid-row: 1 / span 4;
  align-self: center;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid #1b7148;
  border-radius: 9px;
  color: #fff;
  background: #1c8553;
  font-size: 12px;
  font-weight: 800;
}
body.has-map-shell .parcel-drawer .ig-point-facts {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 12px !important;
  background: var(--atlas-surface) !important;
  box-shadow: none !important;
}
body.has-map-shell .parcel-drawer .ig-point-facts .ig-main-card__title { margin: 0 0 8px; }

@media (max-width: 760px) {
  body.has-map-shell .parcel-drawer .ig-parcel-c--point .ig-hero,
  body.has-map-shell .parcel-drawer .ig-parcel-c--point .parcel-hero-canvas,
  body.has-map-shell .parcel-drawer .ig-parcel-c > .ig-hero { min-height: 260px !important; }
  body.has-map-shell .parcel-drawer .parcel-hero-canvas { height: 260px !important; }
  body.has-map-shell .parcel-drawer .ig-hero__id.ig-visual-footer {
    inset: auto 8px 8px !important;
    gap: 8px !important;
    padding: 10px 11px !important;
    background: rgba(20,33,24,.58) !important;
  }
  body.has-map-shell .parcel-drawer .ig-hero__id .ig-visual-footer__main { font-size: 13px !important; line-height: 1.2 !important; }
  body.has-map-shell .parcel-drawer .ig-hero__id .ig-visual-footer__id { font-size: 9px !important; line-height: 1.15 !important; }
  body.has-map-shell .parcel-drawer .ig-hero__id .ig-vf-addr { font-size: 11px !important; line-height: 1.15 !important; }
  body.has-map-shell .parcel-drawer .ig-hero__id .ig-vf-admin { font-size: 9.5px !important; line-height: 1.15 !important; }
  body.has-map-shell .parcel-drawer .ig-hero__id .ig-vf-right { min-width: 110px !important; padding-left: 8px !important; }
  body.has-map-shell .parcel-drawer .ig-hero__id .ig-vf-maplink { margin-top: 5px !important; padding: 5px 7px !important; }
  body.has-map-shell .parcel-drawer .ig-hero__point-footer { gap: 8px; padding-inline: 11px; }
  body.has-map-shell .parcel-drawer .ig-hero__point-footer .ig-hero__attribution { max-width: 42%; }
}
@media (max-width: 420px) {
  body.has-map-shell .parcel-drawer .ig-point-context { grid-template-columns: 1fr; }
  body.has-map-shell .parcel-drawer .ig-point-context > :not(.ig-point-context__cta) { grid-column: 1; }
  body.has-map-shell .parcel-drawer .ig-point-context__cta { grid-column: 1; grid-row: auto; justify-self: start; order: 5; }
  body.has-map-shell .parcel-drawer .ig-hero__point-footer .ig-hero__attribution { display: none; }
}
@media (max-width: 360px) {
  body.has-map-shell .parcel-drawer .ig-parcel-c--point .ig-hero,
  body.has-map-shell .parcel-drawer .ig-parcel-c--point .parcel-hero-canvas,
  body.has-map-shell .parcel-drawer .ig-parcel-c > .ig-hero { min-height: 240px !important; }
  body.has-map-shell .parcel-drawer .parcel-hero-canvas {
    height: 240px !important;
    min-height: 240px !important;
  }
}
/* P0 MOBILE REPAIR PASS 2026-08-03: final mobile report and state
   contract. Desktop/tablet selectors are intentionally excluded. */
#igScrollHint[hidden],
#igScrollHint.is-dismissed {
  display: none !important;
  pointer-events: none !important;
}

.loading-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  margin: 0 0 10px;
}
.loading-brand__mark {
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: #a7ff45;
  background: #103221;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
}
.loading-brand__copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.loading-brand__copy strong {
  color: var(--atlas-ink);
  font-size: 15px;
  line-height: 1.05;
}
.loading-brand__copy small {
  color: var(--atlas-muted);
  font-size: 10px;
  line-height: 1.15;
}
.loading-spinner {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-left: auto;
  border: 2px solid #cfe5ce;
  border-top-color: var(--atlas-brand-strong);
  border-radius: 50%;
  animation: ig-p0-spin .8s linear infinite;
}
.loading-intro {
  margin: 0 0 3px;
  color: var(--atlas-ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
}
.loading-wait {
  margin: 0 0 10px;
  color: var(--atlas-muted);
  font-size: 11px;
  line-height: 1.35;
}
/* The new identity copy is a mobile loading affordance; keep the existing
   desktop/tablet loading card visually unchanged. */
.loading-brand,
.loading-intro,
.loading-wait {
  display: none;
}
@keyframes ig-p0-spin {
  to { transform: rotate(360deg); }
}

/* Report loading v2: a compact 2 x 4 status board. The outer drawer is already
   the surface, so the loader does not add another decorative card around it. */
#detailsPanel .report-content .loading-card.v34.ig-loading-v2 {
  display: block !important;
  width: 100% !important;
  padding: 4px !important;
  color: var(--atlas-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#detailsPanel .report-content .ig-loading-v2 .loading-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  margin: 0 0 4px !important;
}
#detailsPanel .report-content .ig-loading-v2 .loading-title {
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--atlas-ink) !important;
  font-size: 20px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
}
#detailsPanel .report-content .ig-loading-v2 .loading-title__label {
  display: inline;
}
#detailsPanel .report-content .ig-loading-v2 .loading-parcel {
  display: inline-flex;
  max-width: 100%;
  margin: 4px 0 0 2px;
  padding: 3px 7px;
  overflow: hidden;
  color: var(--atlas-brand-strong);
  background: #e2efe0;
  border-radius: 7px;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  text-overflow: ellipsis;
  vertical-align: .12em;
  white-space: nowrap;
}
#detailsPanel .report-content .ig-loading-v2 .loading-parcel[hidden] {
  display: none !important;
}
#detailsPanel .report-content .ig-loading-v2 .loading-pct {
  min-width: 58px !important;
  padding: 7px 9px !important;
  color: var(--atlas-brand-strong) !important;
  background: var(--atlas-accent) !important;
  border-radius: 9px !important;
  font-size: 21px !important;
  font-variant-numeric: tabular-nums;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
}
#detailsPanel .report-content .ig-loading-v2 .loading-summary {
  min-height: 17px !important;
  margin: 0 0 9px !important;
  color: var(--atlas-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
#detailsPanel .report-content .loading-card.v34.ig-loading-v2 .loading-bar {
  height: 8px !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
  background: #dce7dc !important;
  border-radius: 999px !important;
}
#detailsPanel .report-content .ig-loading-v2 .loading-bar > i {
  display: block !important;
  width: 0;
  height: 100% !important;
  background: var(--atlas-signal) !important;
  border-radius: inherit !important;
  transition: width 220ms cubic-bezier(.22, 1, .36, 1) !important;
}
#detailsPanel .report-content .loading-card.v34.ig-loading-v2 .v34-steps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#detailsPanel .report-content .loading-card.v34.ig-loading-v2 .step-tile {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 17px !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 68px !important;
  padding: 9px !important;
  overflow: hidden !important;
  color: var(--atlas-ink) !important;
  background: #fff !important;
  border: 1px solid var(--atlas-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transition: border-color 180ms ease-out, background-color 180ms ease-out !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-tile::after {
  display: none !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-emoji {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: #edf4eb !important;
  font-size: 19px !important;
  line-height: 1 !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-copy {
  display: grid !important;
  min-width: 0 !important;
  gap: 3px !important;
}
#detailsPanel .report-content .loading-card.v34.ig-loading-v2 .step-label {
  min-width: 0 !important;
  overflow: visible !important;
  color: var(--atlas-ink) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-state {
  overflow: hidden !important;
  color: var(--atlas-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-tile.active {
  background: #f3faef !important;
  border-color: var(--atlas-signal) !important;
  animation: none !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-tile.active .step-emoji {
  background: #deefd9 !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-tile.ok {
  background: #fbfdf9 !important;
  border-color: #b8ceb9 !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-tile.warn {
  background: #fffaf0 !important;
  border-color: #dcc584 !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-tile.pending {
  opacity: .72 !important;
}
#detailsPanel .report-content .ig-loading-v2 .step-tile.pending .step-mark::after {
  animation: none !important;
}

/* loader-mobile-long-label-fit-20260825: preserve natural Polish word breaks
   in the two-column status board and reclaim enough width for the longest
   label without changing the accepted loader structure. */
@media (min-width: 361px) and (max-width: 420px) {
  #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .step-tile {
    grid-template-columns: 32px minmax(0, 1fr) 16px !important;
    padding: 8px !important;
  }

  #detailsPanel .report-content .ig-loading-v2 .step-emoji {
    width: 32px !important;
    height: 32px !important;
  }

  #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .step-label {
    font-size: 11px !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 360px) {
  #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .v34-steps { gap: 7px !important; }
  #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .step-tile {
    grid-template-columns: 26px minmax(0, 1fr) 14px !important;
    gap: 4px !important;
    min-height: 66px !important;
    padding: 6px !important;
  }
  #detailsPanel .report-content .ig-loading-v2 .step-emoji {
    width: 26px !important;
    height: 26px !important;
    font-size: 16px !important;
  }
  #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .step-label {
    font-size: 10.5px !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #detailsPanel .report-content .ig-loading-v2 .loading-bar > i,
  #detailsPanel .report-content .ig-loading-v2 .step-mark {
    animation: none !important;
    transition: none !important;
  }
}
.ig-report-retry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  margin-top: 8px;
  padding: 8px 13px;
  border: 1px solid #1b7148;
  border-radius: 9px;
  color: #fff;
  background: #1c8553;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.ig-report-retry:disabled {
  border-color: #4e6759;
  background: #4e6759;
  color: #fff;
  cursor: wait;
}
.ig-report-retry:focus-visible,
.ig-vf-maplink:focus-visible {
  outline: 3px solid #8ad6a7;
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .loading-brand { display: flex !important; }
  .loading-intro,
  .loading-wait { display: block !important; }

  /* The section heading is a row of the old desktop grid. Make it a
     full-width block, then lay out only its cards below it. */
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-primary,
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-group {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-primary > h3,
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-group > h3 {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-primary__items,
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-group__items {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-primary > h3 {
    grid-column: 1 / -1 !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-primary .ig-metric,
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-group .ig-metric {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__summary {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 78px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__icon {
    position: static !important;
    align-self: start !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    margin: 0 !important;
    flex: 0 0 34px !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__lbl,
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__val,
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__detail {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__lbl {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__val {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__caret {
    position: static !important;
    align-self: start !important;
    margin: 2px 0 0 !important;
    flex: 0 0 auto !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-metric__details {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  /* Keep satellite/hero and report action rows inside the drawer width. */
  html body.has-map-shell #detailsPanel.parcel-drawer
    :is(.ig-report-reference, .ig-main-card, .ig-hero, .parcel-hero-canvas,
        .ig-visual-footer, .drawer-titlebar, #reportShare) {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .parcel-hero-canvas {
    width: 100% !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-reference .ig-visual-footer {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-vf-left,
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-vf-right {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .ig-vf-maplink {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 100% !important;
    padding: 8px 10px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .drawer-titlebar {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .drawer-report-brand {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer .drawer-report-brand strong,
  html body.has-map-shell #detailsPanel.parcel-drawer .drawer-report-brand small {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer #reportShare:not([hidden]) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    gap: 8px !important;
  }
  html body.has-map-shell #detailsPanel.parcel-drawer #reportShare .share-btn {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  /* The drawer itself remains above the fixed nav; its scroll end receives a
     measured nav/safe-area buffer rather than a viewport-height constant. */
  html body.has-map-shell.report-open #detailsPanel.parcel-drawer .report-content {
    min-width: 0 !important;
    padding-bottom: calc(var(--ig-mobile-nav-height) + 24px) !important;
    overflow-x: hidden !important;
  }
  html body.has-map-shell.report-open .map-frame
    :is(.map-toggle-wrap, .zoom-controls, .report-bug-btn, .attribution) {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  html body.has-map-shell:not(.report-open) .map-frame .map-toggle-wrap {
    bottom: calc(var(--ig-mobile-nav-height) + 20px) !important;
  }

  /* A short viewport should prefer one readable column over compressed words. */
  @media (max-width: 380px) {
    html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-primary__items,
    html body.has-map-shell #detailsPanel.parcel-drawer .ig-report-group__items {
      grid-template-columns: minmax(0, 1fr) !important;
    }
  }
}


/* P0 toolbar contract: keep all four report actions reachable at every viewport. */
#detailsPanel .drawer-titlebar #btnChangeParcel {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 40px;
  min-height: 40px;
}
@media (max-width: 860px) {
  body.has-map-shell #detailsPanel .drawer-titlebar .report-guard-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  body.has-map-shell #detailsPanel .drawer-titlebar .drawer-report-brand {
    flex: 1 1 auto;
  }
}

@media (min-width: 761px) {
  body.has-map-shell .parcel-drawer .ig-parcel-c > .ig-hero,
  body.has-map-shell .parcel-drawer .ig-parcel-c > .ig-hero .parcel-hero-canvas {
    min-height: 280px !important;
  }
  body.has-map-shell .parcel-drawer .ig-parcel-c > .ig-hero .parcel-hero-canvas {
    height: 280px !important;
  }
}

@media (max-width: 760px) {
  body.has-map-shell .parcel-drawer .ig-hero__tile-status {
    max-width: 45% !important;
  }
  body.has-map-shell .parcel-drawer .ig-hero > .ig-hero__attribution {
    left: auto !important;
    right: 9px !important;
    max-width: 44% !important;
    font-size: 8px !important;
    overflow-wrap: anywhere !important;
  }
}

/* loader-desktop-fit-20260813: fit the report grid to the available desktop drawer width. */
@media (min-width: 861px) {
  body.has-map-shell #detailsPanel .report-content .loading-card.v34.ig-loading-v2 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.has-map-shell #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .v34-steps {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1280px) {
  body.has-map-shell #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .v34-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.has-map-shell #detailsPanel .report-content .loading-card.v34.ig-loading-v2 .step-tile {
    min-height: 86px !important;
    padding: 11px 12px !important;
  }
}

/* loader-panel-content-fit-20260813: keep the temporary desktop drawer only as tall as its content. */
@media (min-width: 861px) {
  body.has-map-shell.report-loading-state #detailsPanel.parcel-drawer:has(.loading-card.v34.ig-loading-v2) {
    bottom: auto !important;
    height: auto !important;
    max-height: calc(100dvh - 140px) !important;
  }

  body.has-map-shell.report-loading-state #detailsPanel.parcel-drawer:has(.loading-card.v34.ig-loading-v2) > #reportContent {
    display: block !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.has-map-shell.report-loading-state #detailsPanel .report-content .loading-card.v34.ig-loading-v2 {
    flex: none !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

/* report-full-width-category-list-20260813: finished-report facts are a
   readable sequence, not a dashboard of square cards. DOM order remains the
   category order; every expandable item owns the complete content width. */
html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer .ig-report-primary,
html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer .ig-report-group {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer .ig-report-primary > h3,
html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer .ig-report-group > h3 {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 10px !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer .ig-report-primary__items,
html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer .ig-report-group__items {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > .ig-metric {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > details.ig-metric {
  display: block !important;
  padding: 0 !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > div.ig-metric,
html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > details.ig-metric > .ig-metric__summary {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) 24px !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 72px !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > div.ig-metric {
  grid-template-columns: 40px minmax(0, 1fr) !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > .ig-metric .ig-metric__icon {
  position: static !important;
  align-self: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  margin: 0 !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > .ig-metric .ig-metric__body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: stretch !important;
  gap: 3px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  text-align: left !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > .ig-metric .ig-metric__caret {
  position: static !important;
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
}

html body.has-map-shell.report-terminal-state #detailsPanel.parcel-drawer
  :is(.ig-report-primary__items, .ig-report-group__items) > .ig-metric .ig-metric__details {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
