/* PTX portal v6.6 clean CSS bundle. */

/* --- assets/css/app.css --- */
:root{--bg:#f4f7fb;--panel:#ffffff;--text:#1f2937;--muted:#667085;--line:#dbe3ee;--accent:#0b4078;--shadow:0 10px 28px rgba(31,41,55,.08);--radius:14px;}
    *{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font:10px/1.22 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
    .app{display:grid;grid-template-columns:262px minmax(0,1fr);height:100vh;overflow:hidden} aside{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border-right:1px solid var(--line);padding:6px;overflow:auto;z-index:2} aside::-webkit-scrollbar{width:10px} aside::-webkit-scrollbar-thumb{background:#d9e3ef;border-radius:999px;border:2px solid #f8fbff} main{position:relative;min-width:0}
    .brand{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:8px 10px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid #e5edf6;border-radius:14px;box-shadow:0 6px 18px rgba(15,23,42,.05)}.brand img{width:38px;height:auto;display:block;flex:0 0 auto}.brand-title{font-size:11px;font-weight:800;color:#0f172a;letter-spacing:-.01em}
    h1{font-size:16px;line-height:1.1;margin:0 0 4px;letter-spacing:-.02em}.sub{color:var(--muted);font-size:10px;margin-bottom:8px}label{display:block;font-size:9px;font-weight:700;color:#344054;margin:6px 0 3px;letter-spacing:.01em}
    select,input,button{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:5px 7px;font:inherit;color:var(--text)} input::placeholder{color:#98a2b3} button{cursor:pointer;background:#0b4078;color:#fff;border-color:#0b4078;font-weight:700} button.secondary{background:#fff;color:#1f2937;border-color:var(--line)} button.ghost{background:#f8fafc;color:#334155;border-color:#dbe3ee}
    .grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.card{border:1px solid #e6edf5;border-radius:10px;padding:5px;background:#fff;margin:5px 0;box-shadow:0 2px 10px rgba(15,23,42,.03)}.small{color:var(--muted);font-size:10px}
    .kpi{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kpi div{border:1px solid #e7ebf1;border-radius:11px;padding:7px;background:#fbfcfe;min-height:52px}.kpi span{display:block;color:var(--muted);font-size:9px}.kpi strong{display:block;font-size:14px;margin-top:2px}
    #map{height:100%;width:100%;background:#eef3f8}.legend{position:absolute;right:12px;bottom:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;box-shadow:var(--shadow);z-index:800;min-width:210px;max-width:260px}.legend h3{font-size:11px;margin:0 0 6px}.legend-row{display:flex;align-items:center;gap:7px;margin:2px 0;font-size:10px;color:#344054}.swatch{width:14px;height:9px;border-radius:4px;border:1px solid rgba(0,0,0,.12);flex:0 0 auto}
    .status{position:absolute;left:12px;top:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;box-shadow:var(--shadow);z-index:800;max-width:min(480px,calc(100vw - 290px))}.status strong{display:block;font-size:11px}.status small{color:var(--muted);font-size:10px}
    table{width:100%;border-collapse:collapse;font-size:10px;min-width:540px}th,td{border-bottom:1px solid #edf0f5;padding:5px 4px;text-align:left;vertical-align:top}th{position:sticky;top:0;background:#fff;z-index:1}.table-wrap{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:10px}
    .pill{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#f4f7fb;border:1px solid #e5ebf3;font-size:10px;color:#344054}.inline-check{display:flex;gap:7px;align-items:center;margin-top:6px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.inline-check input{width:auto;margin:0}.layer-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
    .note{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.25}.green-note{margin-top:5px;padding:6px 8px;border-radius:10px;background:#f0fdf4;border:1px solid #c7f0d8;font-size:10px;color:#14532d}.tool-note{margin-top:5px;padding:6px 8px;border-radius:10px;background:#f8fafc;border:1px solid #dbe3ee;font-size:10px;color:#334155}.section{margin:5px 0}.section summary{list-style:none;cursor:pointer;font-weight:800;font-size:10px;color:#0f172a;padding:6px 7px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px rgba(15,23,42,.03)}.section summary::-webkit-details-marker{display:none}.section[open] summary{border-bottom-left-radius:10px;border-bottom-right-radius:10px;background:#f5f8fc}.section summary::after{content:"+";font-size:15px;color:#64748b;line-height:1}.section[open] summary::after{content:"−"}.section .card{margin-top:6px}.slider-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.slider-row input[type=range]{padding:0;border:none;background:transparent}.slider-value{font-size:10px;color:#475569;min-width:34px;text-align:right}.section-card{margin-bottom:0}.btn-stack{display:grid;grid-template-columns:1fr 1fr;gap:6px}.muted-divider{height:1px;background:#e8edf4;margin:8px 0}.layer-list{display:grid;gap:3px;margin-top:3px}.layer-toggle{display:flex;align-items:center;gap:6px;margin:0;padding:4px 5px;border:1px solid #e6edf5;border-radius:8px;background:#fbfcfe;cursor:pointer}.layer-toggle input{width:auto;margin:0}.layer-toggle strong{display:block;font-size:9.5px;color:#0f172a}.layer-toggle span,.layer-simple-note{display:none}.layer-tab-title{font-weight:800;font-size:10px;color:#0f172a;margin-bottom:3px}.map-search{position:absolute;left:12px;top:56px;z-index:820;display:grid;grid-template-columns:minmax(180px,280px) 80px 28px;gap:5px;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--shadow)}.map-search input{height:30px}.map-search button{height:30px;padding:0 8px}.map-search .clear-place{padding:0;font-size:14px;background:#f8fafc;color:#334155;border-color:#dbe3ee}.hidden-internal{display:none!important}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:end;margin:0 0 8px}.mode-switch label{margin:0 0 4px}.section-data summary{border-left:4px solid #2563eb}.section-warstwy summary{border-left:4px solid #16a34a}.section-tools summary{border-left:4px solid #64748b}.section-analysis summary{border-left:4px solid #9333ea}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.result-card{border:1px solid #e7ebf1;border-radius:11px;padding:7px;background:#fbfcfe;min-height:52px}.result-card span{display:block;color:var(--muted);font-size:9px}.result-card strong{display:block;font-size:14px;margin-top:2px}.result-score{background:linear-gradient(180deg,#eef6ff 0%,#ffffff 100%);border-color:#cfe1f7}.result-score strong{font-size:20px}.simple-mode .adv-only{display:none!important}.simple-mode .section-tools{display:none!important}

    .area-title{font-size:12px;font-weight:850;color:#0f172a;margin-bottom:3px}.area-conclusion{margin-top:5px;padding:6px 7px;border-radius:9px;background:#f8fafc;border:1px solid #e6edf5;color:#334155;font-size:10px}.area-row{display:grid;grid-template-columns:1fr auto;gap:5px;margin:3px 0}.area-row span{color:#667085}.area-row strong{font-weight:800}.area-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.custom-point-summary{font-size:10px;color:#334155;background:#f8fafc;border:1px solid #dbe3ee;border-radius:9px;padding:6px;margin-top:5px;max-height:260px;overflow:auto}.user-point-active{outline:2px solid #22c55e;outline-offset:2px}.point-analysis-table{width:100%;min-width:0;border-collapse:collapse;font-size:9px;margin-top:5px}.point-analysis-table th,.point-analysis-table td{padding:3px;border-bottom:1px solid #e5eaf2;text-align:left}.point-analysis-table th{background:#eef2f7;color:#0f172a}.point-analysis-table td.num{text-align:right;font-variant-numeric:tabular-nums}

    .map-label-icon{background:transparent;border:none;box-shadow:none;pointer-events:none}.map-label{display:inline-block;transform:translate(-50%,-50%);white-space:nowrap;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid rgba(148,163,184,.55);box-shadow:0 4px 12px rgba(15,23,42,.10);font-size:10px;font-weight:700;color:#1f2937;letter-spacing:-.01em}.map-label-woj{font-size:11px;text-transform:uppercase}.map-label-gmina{font-size:9px;font-weight:650;background:rgba(255,255,255,.78)}

    .potential-wrap{display:grid;gap:8px}.potential-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.potential-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid transparent}.potential-high{background:#ecfdf3;border-color:#b7e4c7;color:#166534}.potential-mid{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.potential-low{background:#fef2f2;border-color:#fecaca;color:#991b1b}.potential-score{font-size:24px;font-weight:800;line-height:1}.potential-desc{font-size:10px;color:var(--muted)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mini-grid div{border:1px solid #e7ebf1;border-radius:10px;padding:7px;background:#fbfcfe}.mini-grid span{display:block;color:var(--muted);font-size:9px}.mini-grid strong{display:block;font-size:13px;margin-top:2px}
    @media (max-width: 1080px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}aside{border-right:none;border-bottom:1px solid var(--line);max-height:48vh}.section summary{font-size:10px;padding:7px 9px}.brand{position:relative}.brand img{width:48px}main{min-height:52vh}.status{max-width:calc(100vw - 24px)}}
  

    .mobile-menu-btn,.mobile-backdrop{display:none}
    @media (max-width: 760px){
      html,body{width:100%;height:100%;overflow:hidden}
      body{font-size:11px;-webkit-text-size-adjust:100%;touch-action:manipulation}
      .app{display:block;height:100dvh;width:100vw;overflow:hidden}
      main{height:100dvh;width:100vw;min-height:100dvh;position:relative}
      #map{height:100dvh;width:100vw}
      aside{position:fixed;top:0;left:0;bottom:0;width:min(88vw,340px);height:100dvh;max-height:none;padding:8px;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom));border-right:1px solid var(--line);border-bottom:0;box-shadow:18px 0 38px rgba(15,23,42,.20);transform:translateX(-105%);transition:transform .22s ease;z-index:2100;background:#fff;overflow:auto;-webkit-overflow-scrolling:touch}
      body.mobile-panel-open aside{transform:translateX(0)}
      .mobile-menu-btn{display:inline-flex;position:fixed;left:8px;top:calc(8px + env(safe-area-inset-top));z-index:2050;width:auto;min-width:82px;height:38px;align-items:center;justify-content:center;padding:0 12px;border-radius:999px;border:1px solid rgba(219,227,238,.95);background:rgba(255,255,255,.96);color:#0f172a;box-shadow:0 8px 24px rgba(15,23,42,.16);font-size:12px;font-weight:800}
      .mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.34);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:2090}
      body.mobile-panel-open .mobile-backdrop{opacity:1;pointer-events:auto}
      .brand{position:relative;top:auto;margin-bottom:6px;padding:7px 8px;border-radius:12px}.brand img{width:42px}.brand-title{font-size:11px}
      .mode-switch{grid-template-columns:1fr;gap:4px;margin-bottom:6px}.mode-switch label{font-size:9px}
      .section{margin:4px 0}.section summary{font-size:10px;padding:8px 9px;border-radius:10px}.section .card{margin-top:5px}.card{padding:6px;margin:5px 0;border-radius:10px}
      select,input,button{min-height:36px;padding:8px 9px;border-radius:10px;font-size:12px}.grid{grid-template-columns:1fr;gap:5px}.layer-list{gap:3px}.layer-toggle{padding:7px 8px;border-radius:10px}.layer-toggle strong{font-size:11px}.inline-check{padding:7px 8px}.area-actions{grid-template-columns:1fr;gap:5px}.result-grid,.mini-grid,.kpi{grid-template-columns:1fr 1fr;gap:5px}.result-card,.mini-grid div,.kpi div{padding:6px;min-height:46px}.result-score strong{font-size:18px}
      .map-search{left:8px;right:8px;top:calc(54px + env(safe-area-inset-top));grid-template-columns:1fr 70px 34px;gap:4px;padding:5px;border-radius:12px;z-index:800;max-width:none}.map-search input,.map-search button{height:36px;min-height:36px;font-size:12px}.map-search .clear-place{font-size:16px}
      .status{left:8px;right:8px;top:calc(100px + env(safe-area-inset-top));max-width:none;padding:7px 9px;border-radius:11px;z-index:790}.status strong{font-size:11px}.status small{font-size:10px}
      .legend{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));max-width:none;min-width:0;padding:7px 8px;border-radius:11px;max-height:30vh;overflow:auto;z-index:790}.legend h3{font-size:10px;margin-bottom:4px}.legend-row{font-size:9.5px;margin:1px 0}.swatch{width:13px;height:8px}
      table{font-size:9.5px;min-width:460px}th,td{padding:4px 3px}.table-wrap{max-height:160px}
      .leaflet-control-container .leaflet-top.leaflet-left{top:calc(148px + env(safe-area-inset-top));left:8px}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border-width:1px}.leaflet-touch .leaflet-bar a{width:32px;height:32px;line-height:32px}.leaflet-popup-content{font-size:11px;margin:10px 12px;max-width:240px}.map-label{font-size:9px;padding:1px 5px}.map-label-gmina{font-size:8px}
      body.mobile-panel-open .mobile-menu-btn{z-index:2110}
    }
    @media (max-width: 420px){
      .mobile-menu-btn{height:36px;min-width:76px;font-size:11px;padding:0 10px}
      .map-search{top:calc(50px + env(safe-area-inset-top));grid-template-columns:1fr 62px 32px}.status{top:calc(94px + env(safe-area-inset-top))}.status small{display:none}.legend{max-height:24vh}.result-grid,.mini-grid,.kpi{grid-template-columns:1fr}.area-row{grid-template-columns:1fr}.leaflet-control-container .leaflet-top.leaflet-left{top:calc(126px + env(safe-area-inset-top))}
    }

    .report-overlay-ui{position:fixed;inset:0;z-index:200000;background:#ffffff;display:none;flex-direction:column;color:#111827}
    .report-overlay-ui.active{display:flex}
    .report-overlay-toolbar{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid #dbe3ee;background:#f8fafc;box-shadow:0 2px 10px rgba(15,23,42,.08)}
    .report-overlay-toolbar strong{font-size:13px;margin-right:auto;color:#0f172a}
    .report-overlay-toolbar button{width:auto;min-height:36px;padding:7px 11px;border-radius:10px;font-size:12px}
    .report-overlay-frame{flex:1;width:100%;border:0;background:#ffffff}
    @media (max-width:760px){.report-overlay-toolbar{padding:8px;gap:6px;flex-wrap:wrap}.report-overlay-toolbar strong{flex:1 0 100%;font-size:12px}.report-overlay-toolbar button{flex:1 1 calc(50% - 6px);min-height:42px;font-size:12px}.report-overlay-frame{height:calc(100vh - 112px)}}
    @media print{.mobile-menu-btn,.mobile-backdrop{display:none!important}}

  

/* PTX compact colored sections + map measurement tools */
.section-data summary{background:linear-gradient(90deg,#eff6ff 0%,#ffffff 72%)!important;border-left:5px solid #2563eb!important;color:#0f3768!important}
.section-warstwy summary{background:linear-gradient(90deg,#ecfdf5 0%,#ffffff 72%)!important;border-left:5px solid #16a34a!important;color:#14532d!important}
.section-area summary{background:linear-gradient(90deg,#f5f3ff 0%,#ffffff 72%)!important;border-left:5px solid #7c3aed!important;color:#4c1d95!important}
.section-custom summary{background:linear-gradient(90deg,#fff7ed 0%,#ffffff 72%)!important;border-left:5px solid #f97316!important;color:#7c2d12!important}
.section-tools summary{background:linear-gradient(90deg,#f8fafc 0%,#ffffff 72%)!important;border-left:5px solid #64748b!important;color:#334155!important}
.layer-list .layer-toggle{padding:5px 6px!important;min-height:26px!important}.layer-list .layer-toggle strong{font-size:10px!important}
.leaflet-container.user-point-mode{cursor:crosshair!important}.leaflet-container.measure-tool-mode{cursor:crosshair!important}
.map-measure-control{background:#fff;border:1px solid #dbe3ee;border-radius:12px;box-shadow:0 10px 28px rgba(15,23,42,.12);padding:7px;width:214px;font:10px/1.25 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#1f2937}
.map-measure-control .mt-title{font-weight:850;color:#0f172a;margin:0 0 5px}.map-measure-control .mt-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.map-measure-control button{border:1px solid #dbe3ee;background:#f8fafc;color:#334155;border-radius:8px;padding:6px 5px;font:inherit;font-weight:750;cursor:pointer}.map-measure-control button.active{background:#0b4078;color:#fff;border-color:#0b4078}.map-measure-control input{width:100%;border:1px solid #dbe3ee;border-radius:8px;padding:6px 7px;font:inherit;margin-top:4px}.map-measure-control .mt-note{font-size:9px;color:#667085;margin-top:5px}.map-measure-label{display:inline-block;background:rgba(255,255,255,.92);border:1px solid #cbd5e1;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800;color:#0f172a;box-shadow:0 4px 10px rgba(15,23,42,.12)}
@media(max-width:760px){.map-measure-control{width:190px;padding:6px}.map-measure-control .mt-grid{grid-template-columns:1fr 1fr}.map-measure-control button{padding:5px 4px;font-size:9px}}


/* PTX final UI patch: status/search horizontal desktop layout */
@media (min-width: 901px){
  .status{left:58px!important;top:12px!important;width:330px!important;max-width:330px!important;right:auto!important;}
  .map-search{left:400px!important;top:12px!important;right:auto!important;grid-template-columns:minmax(180px,260px) 74px 28px!important;max-width:370px!important;}
  .leaflet-control-container .leaflet-top.leaflet-left{top:0!important;}
}
@media (max-width: 900px){
  .status{left:8px!important;right:8px!important;top:calc(100px + env(safe-area-inset-top))!important;width:auto!important;max-width:none!important;}
  .map-search{left:8px!important;right:8px!important;top:calc(54px + env(safe-area-inset-top))!important;max-width:none!important;}
}
.leaflet-container:not(.user-point-mode):not(.measure-tool-mode){cursor:grab;}


/* PTX Etap 1.5 — panel kontroli stabilności */
.section-stability summary{background:linear-gradient(90deg,#f0f9ff 0%,#ffffff 72%)!important;border-left:5px solid #0284c7!important;color:#075985!important}
.stability-panel{display:grid;gap:6px}
.stability-checks{display:grid;gap:3px;margin-top:6px;font-size:9.5px}
.stability-check{display:grid;grid-template-columns:18px 1fr;gap:5px;align-items:start;padding:4px 5px;border:1px solid #e5edf6;border-radius:8px;background:#fbfcfe}
.stability-check.ok{border-color:#bbf7d0;background:#f0fdf4}.stability-check.warn{border-color:#fed7aa;background:#fff7ed}.stability-check.fail{border-color:#fecaca;background:#fef2f2}
.stability-check b{font-size:10px}.stability-check span:first-child{font-weight:900;text-align:center}.stability-meta{font-size:9px;color:#64748b;line-height:1.3}.stability-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
@media(max-width:760px){.stability-actions{grid-template-columns:1fr}.stability-check{font-size:10px}}


/* PTX PSR 2020 — lekki moduł biogazu z odchodów zwierzęcych */
.section-biogas-model summary{background:linear-gradient(90deg,#eef2ff 0%,#ffffff 72%)!important;border-left:5px solid #4f46e5!important;color:#312e81!important}
.biogas-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.biogas-kpi-grid div{border:1px solid #e7ebf1;border-radius:10px;padding:7px;background:#fbfcfe}.biogas-kpi-grid span{display:block;color:#667085;font-size:9px}.biogas-kpi-grid strong{display:block;font-size:12px;margin-top:2px}.biogas-model-list{font-size:10px;color:#334155;margin:0;padding-left:16px}.biogas-model-list li{margin:2px 0}.biogas-note{margin-top:6px;padding:6px 8px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:10px;line-height:1.3}.biogas-zero-note{margin-top:6px;padding:6px 8px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;font-size:10px;line-height:1.3}
@media(max-width:760px){.biogas-kpi-grid{grid-template-columns:1fr}.biogas-kpi-grid div{padding:6px}.biogas-kpi-grid strong{font-size:11px}}



/* PTX Etap 3.1 — zakładki panelu bocznego */
.ptx-tabs{position:sticky;top:58px;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 7px;padding:4px;background:rgba(255,255,255,.96);border:1px solid #e5edf6;border-radius:12px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.ptx-tab-btn{min-height:30px;padding:5px 4px;border-radius:9px;border:1px solid #e5edf6;background:#f8fafc;color:#334155;font-size:9.5px;font-weight:850;line-height:1.1;white-space:nowrap}
.ptx-tab-btn.is-active{background:#0b4078;color:#fff;border-color:#0b4078}
.ptx-tab-panel{display:none}.ptx-tab-panel.is-active{display:block}
.section-report summary{background:linear-gradient(90deg,#fff7ed 0%,#ffffff 72%)!important;border-left:5px solid #ea580c!important;color:#7c2d12!important}
.simple-mode .section-stability,.simple-mode .section-biogas-model,.simple-mode .section-tools{display:none!important}
.simple-mode .ptx-tabs{top:58px}
@media(max-width:1080px){.ptx-tabs{top:0;position:relative}}
@media(max-width:760px){.ptx-tabs{position:sticky;top:0;grid-template-columns:repeat(4,1fr);padding:4px;margin-bottom:6px}.ptx-tab-btn{min-height:36px;font-size:10px;padding:6px 3px}.ptx-tab-panel .section:first-child{margin-top:0}}



/* PTX Etap 3.2 — nowa karta analizy */
.ptx-analysis-card{display:grid;gap:8px}
.ptx-analysis-hero{border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);padding:9px 10px;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.ptx-analysis-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px;color:#475569;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.ptx-analysis-code{font-weight:750;color:#64748b;text-transform:none;letter-spacing:0}
.ptx-analysis-title{font-size:15px;line-height:1.12;font-weight:900;color:#0f172a;letter-spacing:-.02em;margin:0 0 6px}
.ptx-analysis-subtitle{font-size:10px;color:#475569;line-height:1.35;margin-bottom:7px}
.ptx-status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:850;border:1px solid #bfdbfe;background:#ffffff;color:#1e3a8a}
.ptx-status-high{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.ptx-status-mid{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.ptx-status-low{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.ptx-score-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-top:6px}.ptx-score-big{font-size:25px;font-weight:950;line-height:1;color:#0b4078;letter-spacing:-.04em}.ptx-score-caption{font-size:9px;color:#64748b;font-weight:750}.ptx-score-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.ptx-score-fill{height:100%;border-radius:999px;background:#0b4078;width:0%}
.ptx-analysis-kpis{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ptx-analysis-kpi{border:1px solid #e7ebf1;border-radius:12px;padding:8px;background:#fff;min-height:56px}.ptx-analysis-kpi span{display:block;color:#64748b;font-size:9px;line-height:1.2}.ptx-analysis-kpi strong{display:block;font-size:13px;margin-top:3px;color:#0f172a;line-height:1.16}.ptx-analysis-kpi.primary{border-color:#bfdbfe;background:#eff6ff}.ptx-analysis-kpi.primary strong{font-size:16px;color:#0b4078}
.ptx-analysis-section{border:1px solid #e6edf5;border-radius:13px;background:#ffffff;padding:8px}.ptx-analysis-section h4{margin:0 0 6px;font-size:11px;color:#0f172a;letter-spacing:-.01em}.ptx-analysis-section .area-row{margin:4px 0}.ptx-analysis-note{border:1px solid #e5edf6;background:#f8fafc;border-radius:11px;padding:7px 8px;color:#334155;font-size:10px;line-height:1.35}.ptx-analysis-note strong{color:#0f172a}.ptx-analysis-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ptx-analysis-actions.three{grid-template-columns:1fr 1fr 1fr}.ptx-analysis-actions button{min-height:32px;padding:6px 7px}
.ptx-animal-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ptx-animal-grid .result-card{margin:0;min-height:47px;padding:6px}.ptx-analysis-empty{border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;padding:12px;text-align:left}.ptx-analysis-empty strong{display:block;font-size:13px;color:#0f172a;margin-bottom:5px}.ptx-analysis-empty .small{line-height:1.35}.ptx-biogas-method-mini{font-size:9px;color:#64748b;margin-top:6px;line-height:1.3}
@media(max-width:760px){.ptx-analysis-kpis,.ptx-animal-grid{grid-template-columns:1fr 1fr}.ptx-analysis-actions.three{grid-template-columns:1fr}.ptx-analysis-title{font-size:14px}.ptx-score-big{font-size:22px}.ptx-analysis-kpi{padding:7px}.ptx-analysis-kpi strong{font-size:12px}}
@media(max-width:420px){.ptx-analysis-kpis,.ptx-animal-grid{grid-template-columns:1fr}.ptx-score-row{grid-template-columns:1fr}.ptx-score-big{font-size:24px}.ptx-analysis-actions{grid-template-columns:1fr}}


/* PTX Etap 3.3 — mobilny bottom sheet i kompaktowe sterowanie */
.ptx-mobile-quickbar,.ptx-mobile-bottom-sheet{display:none}
.ptx-legend-toggle{display:none}
@media(max-width:760px){
  main{padding-bottom:74px}
  .ptx-mobile-quickbar{display:grid;position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:2060;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px;border:1px solid rgba(219,227,238,.96);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(15,23,42,.20);backdrop-filter:blur(8px)}
  .ptx-mobile-quickbar button{min-height:38px;border-radius:13px;padding:5px 4px;font-size:10px;font-weight:850;color:#0f172a;background:#f8fafc;border:1px solid #dbe3ee}
  .ptx-mobile-quickbar button.primary{background:#0b4078;color:#fff;border-color:#0b4078}
  .ptx-mobile-bottom-sheet{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:2045;max-height:72dvh;min-height:70px;flex-direction:column;background:#ffffff;border-radius:22px 22px 0 0;border:1px solid #dbe3ee;border-bottom:0;box-shadow:0 -16px 42px rgba(15,23,42,.24);transform:translateY(calc(100% - 70px));transition:transform .22s ease;overflow:hidden;padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .ptx-mobile-bottom-sheet.is-open{transform:translateY(0)}
  .ptx-mobile-bottom-sheet.is-hidden{transform:translateY(110%)}
  .ptx-mobile-sheet-handle{width:44px;height:5px;border-radius:999px;background:#cbd5e1;margin:8px auto 4px;flex:0 0 auto}
  .ptx-mobile-sheet-head{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:0 10px 7px;border-bottom:1px solid #e5edf6}
  .ptx-mobile-sheet-title{font-size:12px;font-weight:900;color:#0f172a;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ptx-mobile-sheet-head button{width:auto;min-height:32px;border-radius:999px;padding:5px 9px;font-size:10px;background:#f8fafc;color:#334155;border-color:#dbe3ee}
  .ptx-mobile-sheet-body{overflow:auto;-webkit-overflow-scrolling:touch;padding:9px 10px 12px;display:grid;gap:8px}
  .ptx-mobile-sheet-body .section,.ptx-mobile-sheet-body details{margin:0}
  .ptx-mobile-sheet-body .card{box-shadow:none}
  .ptx-mobile-sheet-body .ptx-analysis-kpis{grid-template-columns:1fr 1fr}
  .ptx-mobile-sheet-body .ptx-analysis-actions.three{grid-template-columns:1fr}
  .ptx-mobile-mini-title{font-size:10px;font-weight:900;color:#475569;text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px}
  body.ptx-mobile-sheet-open .legend{bottom:calc(86px + env(safe-area-inset-bottom))!important}
  .legend{bottom:calc(72px + env(safe-area-inset-bottom))!important;max-height:22vh!important}
  .ptx-legend-toggle{display:flex;width:100%;min-height:28px;align-items:center;justify-content:space-between;gap:6px;padding:4px 7px;margin:0 0 4px;border-radius:9px;background:#f8fafc;color:#334155;border:1px solid #dbe3ee;font-size:10px;font-weight:850}
  .legend.ptx-legend-collapsed{min-width:0!important;width:auto!important;right:8px!important;left:auto!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;padding:6px!important;max-height:none!important;overflow:hidden!important}
  .legend.ptx-legend-collapsed>*:not(.ptx-legend-toggle){display:none!important}
  body.mobile-panel-open .ptx-mobile-quickbar,body.mobile-panel-open .ptx-mobile-bottom-sheet{display:none!important}
  .mobile-menu-btn{min-width:72px}
  .map-search{bottom:auto!important}
}
@media(max-width:420px){
  .ptx-mobile-bottom-sheet{max-height:76dvh}.ptx-mobile-quickbar{gap:4px;padding:5px}.ptx-mobile-quickbar button{font-size:9.5px;min-height:36px}.ptx-mobile-sheet-body .ptx-analysis-kpis{grid-template-columns:1fr}
}



/* PTX Etap 4.0 — stabilizacja techniczna */
.ptx-version-badge{display:inline-flex;align-items:center;margin-top:3px;padding:2px 6px;border:1px solid #dbe3ee;border-radius:999px;background:#f8fafc;color:#475569;font-size:9px;font-weight:700}
.ptx-runtime-error{position:fixed;left:12px;right:12px;top:12px;z-index:250000;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px;color:#7c2d12;box-shadow:0 10px 28px rgba(15,23,42,.14);font:12px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.ptx-runtime-error strong{display:block;color:#7c2d12;margin-bottom:3px}.ptx-runtime-error code{font-size:11px;white-space:pre-wrap;word-break:break-word}.ptx-diagnostics-mini{font-size:9px;color:#64748b;line-height:1.35;margin-top:4px}

/* =====================================================================
   PTX v5 — nowy layout profesjonalny / stabilny shell
   ===================================================================== */
:root{
  --ptx-navy:#071b33;
  --ptx-navy-2:#0b2f57;
  --ptx-blue:#0f5ea8;
  --ptx-cyan:#12a4c8;
  --ptx-green:#16a34a;
  --ptx-bg:#eef3f8;
  --ptx-panel:#ffffff;
  --ptx-soft:#f6f9fd;
  --ptx-line:#d7e2ee;
  --ptx-text:#0f172a;
  --ptx-muted:#667085;
  --ptx-shadow:0 16px 38px rgba(7,27,51,.12);
  --ptx-shadow-soft:0 8px 22px rgba(7,27,51,.08);
}
html,body{height:100%;}
body{
  background:
    radial-gradient(circle at 12% 10%, rgba(18,164,200,.10), transparent 28%),
    radial-gradient(circle at 90% 0%, rgba(15,94,168,.10), transparent 25%),
    var(--ptx-bg);
  color:var(--ptx-text);
  font-size:11px;
}
.app{
  grid-template-columns:324px minmax(0,1fr);
  background:linear-gradient(180deg,rgba(255,255,255,.50),rgba(255,255,255,0));
}
aside{
  padding:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,253,.98));
  border-right:1px solid rgba(215,226,238,.95);
  box-shadow:10px 0 34px rgba(7,27,51,.06);
}
.brand{
  position:sticky;
  top:0;
  margin:0 0 10px;
  padding:10px;
  border:1px solid rgba(215,226,238,.95);
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);
  box-shadow:var(--ptx-shadow-soft);
}
.brand img{width:42px;border-radius:10px;}
.brand-title{
  color:var(--ptx-navy);
  font-size:12px;
  letter-spacing:-.02em;
}
.ptx-version-badge{
  background:#edf6ff;
  border-color:#cfe4fb;
  color:#0b4078;
}
.mode-switch{
  grid-template-columns:1fr auto;
  align-items:end;
  gap:8px;
  margin-bottom:10px;
}
.mode-switch button{width:auto;min-width:112px;}
.ptx-tabs{
  top:72px;
  gap:5px;
  padding:5px;
  margin-bottom:10px;
  border-radius:16px;
  background:#eef4fb;
  border:1px solid #d8e5f1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), var(--ptx-shadow-soft);
}
.ptx-tab-btn{
  min-height:34px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:#44546a;
  font-size:10px;
  font-weight:850;
}
.ptx-tab-btn.is-active{
  background:linear-gradient(135deg,var(--ptx-navy-2),var(--ptx-blue));
  color:#fff;
  border-color:rgba(255,255,255,.26);
  box-shadow:0 8px 20px rgba(15,94,168,.25);
}
.section{margin:7px 0;}
.section summary{
  min-height:34px;
  padding:8px 10px;
  border-radius:14px;
  background:#ffffff;
  border:1px solid var(--ptx-line);
  box-shadow:0 4px 14px rgba(7,27,51,.04);
  color:var(--ptx-navy);
  font-size:10.5px;
}
.section[open] summary{background:linear-gradient(180deg,#fff,#f7fbff);}
.card,.section-card,.ptx-analysis-section,.ptx-analysis-kpi,.result-card,.mini-grid div,.kpi div{
  border-radius:15px;
  border-color:#dfe8f2;
  box-shadow:0 4px 14px rgba(7,27,51,.035);
}
label{font-size:9.5px;color:#475467;margin:8px 0 4px;}
select,input,button{
  min-height:31px;
  border-radius:12px;
  border-color:#d7e2ee;
}
select:focus,input:focus,button:focus-visible{
  outline:2px solid rgba(18,164,200,.24);
  outline-offset:2px;
}
button{
  background:linear-gradient(135deg,var(--ptx-navy-2),var(--ptx-blue));
  border-color:var(--ptx-blue);
  color:#fff;
}
button.secondary,button.ghost{
  background:#fff;
  color:#25364b;
  border-color:#d8e4ef;
}
button.ghost:hover,button.secondary:hover{background:#f5f9fd;}
#map{
  background:#dfe9f4;
}
.map-search{
  left:16px;
  top:16px;
  grid-template-columns:minmax(220px,360px) 86px 34px;
  padding:7px;
  border-radius:16px;
  border-color:rgba(215,226,238,.95);
  box-shadow:var(--ptx-shadow);
}
.status{
  left:16px;
  top:72px;
  border-radius:16px;
  border-color:rgba(215,226,238,.95);
  box-shadow:var(--ptx-shadow);
}
.status strong{font-size:12px;color:var(--ptx-navy);}
.legend{
  right:16px;
  bottom:16px;
  border-radius:16px;
  border-color:rgba(215,226,238,.95);
  box-shadow:var(--ptx-shadow);
}
.ptx-analysis-hero{
  border-radius:18px;
  border-color:#cfe4fb;
  background:linear-gradient(180deg,#eef7ff 0%,#ffffff 100%);
}
.ptx-score-big,.potential-score{color:var(--ptx-blue);}
.ptx-score-fill{background:linear-gradient(90deg,var(--ptx-cyan),var(--ptx-blue));}
.layer-toggle{
  border-radius:12px;
  padding:7px 8px;
  background:#fff;
}
.layer-toggle:hover{background:#f7fbff;}
.table-wrap{border-radius:14px;border-color:#dfe8f2;}
th{background:#f8fbff;}
.ptx-runtime-error{
  border-radius:16px;
  box-shadow:var(--ptx-shadow);
}
@media(max-width:1080px){
  .app{grid-template-columns:1fr;}
  aside{max-height:48vh;padding:8px;}
  .ptx-tabs{top:0;}
  .status{max-width:calc(100vw - 32px);}
}
@media(max-width:760px){
  body{font-size:11px;}
  aside{display:none;}
  .map-search{left:8px;right:8px;top:8px;grid-template-columns:1fr 72px 34px;}
  .status{left:8px;right:8px;top:58px;}
  .legend{right:8px;left:8px;bottom:76px;}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}


/* --- assets/css/ptx-v6.css --- */
/* PTX v6 — dodatki layoutu dla modułów rozbudowy */
.section-v6-industrial .section-card,
.admin-v6-card{
  border-color: rgba(20,184,166,.25);
  background: linear-gradient(180deg, rgba(240,253,250,.72), rgba(255,255,255,.98));
}
.v6-category-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  margin:8px 0;
}
.v6-category-grid.admin{
  padding:6px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:12px;
  background:#fff;
}
.v6-category-grid .check,
.admin-v6-card .check{
  display:flex;
  align-items:flex-start;
  gap:7px;
  min-height:22px;
  padding:4px 5px;
  border-radius:8px;
}
.v6-category-grid .check:hover,
.admin-v6-card .check:hover{
  background:rgba(15,23,42,.04);
}
.v6-admin-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:8px;
}
.admin-v6-card input[type="text"],
.admin-v6-card input[type="file"]{
  width:100%;
  box-sizing:border-box;
}
.v6-mini-breakdown h2{
  font-size:12px;
  margin:8px 0 4px;
  padding-top:5px;
}
.v6-substrate-table{
  min-width:820px;
}
.point-analysis-table.v6-substrate-table th{
  font-size:10px;
  line-height:1.12;
}
.point-analysis-table.v6-substrate-table td{
  font-size:10px;
}
#ptxV6IndustrialSummary,
#ptxV6AdminSummary{
  line-height:1.35;
}
@media (min-width: 1100px){
  .v6-category-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 760px){
  .v6-admin-grid{
    grid-template-columns:1fr;
  }
  .v6-substrate-table{
    min-width:760px;
  }
}


/* --- assets/css/ptx-map-comfort.css --- */
/* PTX v6.2 — komfort Leaflet: drzewko warstw, klastry, pomiary */
.layer-list.ptx-layer-tree{display:grid;grid-template-columns:1fr;gap:7px}
.ptx-layer-tree-group{border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc;overflow:hidden}
.ptx-layer-tree-group>summary{list-style:none;cursor:pointer;padding:8px 10px;font-size:12px;font-weight:800;color:#0f172a;display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(180deg,#ffffff,#f8fafc)}
.ptx-layer-tree-group>summary::-webkit-details-marker{display:none}
.ptx-layer-tree-group>summary:after{content:'▾';font-size:11px;color:#64748b;transition:transform .16s ease}
.ptx-layer-tree-group:not([open])>summary:after{transform:rotate(-90deg)}
.ptx-layer-tree-items{padding:7px;display:grid;grid-template-columns:1fr;gap:5px}
.ptx-layer-tree-items .layer-toggle{margin:0;background:#fff;border-color:#e2e8f0}
.ptx-layer-tree-meta{font-size:10px;color:#64748b;font-weight:600;white-space:nowrap}
.ptx-map-comfort-note{font-size:11px;line-height:1.35;color:#475569;background:#f1f5f9;border:1px solid #dbe3ef;border-radius:11px;padding:7px 8px;margin-bottom:7px}
.map-measure-control.ptx-measure-enhanced{min-width:178px;box-shadow:0 10px 28px rgba(15,23,42,.16)}
.map-measure-control.ptx-measure-enhanced .mt-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.map-measure-control.ptx-measure-enhanced .mt-title:after{content:'plugin';font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;padding:2px 6px}
.map-measure-control button.active{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important}
.ptx-measure-help{font-size:10px;color:#475569;line-height:1.25;margin-top:5px;border-top:1px solid #e2e8f0;padding-top:5px}
.ptx-comfort-badge{position:absolute;z-index:705;right:12px;bottom:20px;background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.55);box-shadow:0 8px 24px rgba(15,23,42,.12);border-radius:999px;padding:5px 8px;font-size:10px;color:#334155;pointer-events:none;backdrop-filter:blur(6px)}
@media (max-width:760px){.ptx-comfort-badge{display:none}.map-measure-control.ptx-measure-enhanced{max-width:170px}.ptx-layer-tree-group>summary{padding:9px 10px}}


/* --- assets/css/ptx-v6-3-6.css --- */
/* PTX v6.3–v6.6 — stability, object card, PSG scoring, light/full mode. */
.ptx-work-mode-card .ptx-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 8px}
.ptx-work-mode-card button.primary{background:#0f172a;color:#fff;border-color:#0f172a}
.ptx-mode-light .adv-only{display:none!important}
.ptx-mode-full .adv-only{display:block}
.ptx-object-card-extra{margin-top:10px;padding-top:8px;border-top:1px solid #e2e8f0}
.ptx-gas-assessment{margin-top:8px;border:1px solid #dbeafe;border-radius:10px;background:#f8fafc;padding:8px}
.ptx-gas-score-box{border-radius:10px;padding:8px;background:#fff;border:1px solid #cbd5e1}
.ptx-gas-score-box.gas-high{border-color:#86efac;background:#f0fdf4}
.ptx-gas-score-box.gas-mid{border-color:#fde68a;background:#fffbeb}
.ptx-gas-score-box.gas-low{border-color:#fecaca;background:#fef2f2}
.ptx-gas-score-box .area-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(148,163,184,.35);padding:4px 0}
.ptx-gas-score-box .area-row:last-child{border-bottom:none}
.ptx-gas-score-box .area-row span{color:#64748b;font-size:11px}
.ptx-gas-score-box .area-row strong{text-align:right;font-size:11px;color:#0f172a}
.stability-check.ok span{color:#15803d}.stability-check.fail span{color:#dc2626}.stability-check.warn span{color:#ca8a04}
.stability-check{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;border:1px solid #e2e8f0;border-radius:8px;padding:6px 7px;margin:5px 0;background:#fff}
.stability-check.ok{background:#f0fdf4;border-color:#bbf7d0}.stability-check.fail{background:#fef2f2;border-color:#fecaca}.stability-check.warn{background:#fffbeb;border-color:#fde68a}
@media (max-width:760px){.ptx-work-mode-card .ptx-mode-grid{grid-template-columns:1fr}.ptx-object-card-extra .result-grid{grid-template-columns:1fr 1fr}}
.ptx-mode-light .section-stability.adv-only{display:block!important}
.ptx-mode-light .section-stability .adv-only{display:block!important}



/* PTX v6.8–v6.9 — raport inwestycyjny */
.ptx-v68-radius{min-width:940px}
.ptx-v68-radius th,.ptx-v68-radius td{white-space:nowrap}
.ptx-v69-decision{border:1px solid #bfdbfe;background:#eff6ff;border-left:7px solid #2563eb;border-radius:12px;padding:10px;margin:8px 0}
.ptx-v69-decision.good{border-left-color:#16a34a;background:#f0fdf4}
.ptx-v69-decision.mid{border-left-color:#f59e0b;background:#fffbeb}
.ptx-v69-decision.low{border-left-color:#dc2626;background:#fef2f2}
.ptx-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.ptx-report-grid .card h3{margin:0 0 4px;font-size:11px}
@media(max-width:760px){.ptx-report-grid{grid-template-columns:1fr}.ptx-v68-radius{min-width:900px}}

/* PTX v6.9.4 — przebudowany, kompaktowy lewy panel */
.app{grid-template-columns:292px minmax(0,1fr)!important;}
#sidebarPanel{padding:7px!important;background:#f7faff!important;}
#sidebarPanel .brand{margin:0 0 6px!important;padding:6px 7px!important;border-radius:12px!important;gap:7px!important;box-shadow:0 3px 10px rgba(7,27,51,.035)!important;}
#sidebarPanel .brand img{width:34px!important;border-radius:8px!important;}
#sidebarPanel .brand-title{font-size:10.5px!important;font-weight:850!important;}
#sidebarPanel .ptx-version-badge{display:none!important;}
#sidebarPanel .mode-switch{grid-template-columns:1fr auto!important;gap:5px!important;margin:0 0 6px!important;align-items:end!important;}
#sidebarPanel .mode-switch label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;}
#sidebarPanel .mode-switch button{min-width:84px!important;width:auto!important;}
#sidebarPanel .ptx-tabs{position:sticky!important;top:50px!important;grid-template-columns:repeat(auto-fit,minmax(46px,1fr))!important;gap:3px!important;padding:3px!important;margin:0 0 6px!important;border-radius:10px!important;box-shadow:none!important;background:#edf3fa!important;}
#sidebarPanel .ptx-tab-btn{min-height:27px!important;padding:4px 3px!important;border-radius:8px!important;font-size:9.5px!important;font-weight:850!important;}
#sidebarPanel .section{margin:4px 0!important;}
#sidebarPanel .section summary{min-height:27px!important;padding:5px 7px!important;border-radius:9px!important;font-size:9.8px!important;box-shadow:none!important;}
#sidebarPanel .section .card{margin-top:4px!important;}
#sidebarPanel .card,#sidebarPanel .section-card,#sidebarPanel .admin-v6-card{padding:6px!important;border-radius:9px!important;box-shadow:none!important;}
#sidebarPanel label{font-size:9px!important;margin:5px 0 2px!important;line-height:1.1!important;}
#sidebarPanel select,#sidebarPanel input,#sidebarPanel button{min-height:26px!important;padding:4px 7px!important;border-radius:8px!important;font-size:9.5px!important;}
#sidebarPanel input[type="range"]{min-height:18px!important;padding:0!important;}
#sidebarPanel input[type="checkbox"]{min-height:auto!important;padding:0!important;}
#sidebarPanel .grid,#sidebarPanel .area-actions,#sidebarPanel .layer-actions,#sidebarPanel .stability-actions,#sidebarPanel .v6-admin-grid,#sidebarPanel .ptx-mode-grid{gap:4px!important;}
#sidebarPanel .compact-grid-2{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:end;}
#sidebarPanel .compact-full{width:100%;margin-top:5px;}
#sidebarPanel .compact-align-end{align-self:end;white-space:nowrap;}
#sidebarPanel .compact-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;margin-top:5px!important;}
#sidebarPanel .compact-sources{grid-template-columns:1fr 1fr 1fr!important;}
#sidebarPanel .compact-group-title,#sidebarPanel .layer-tab-title{font-size:8.8px!important;text-transform:uppercase;letter-spacing:.045em;color:#64748b!important;font-weight:850!important;margin:6px 0 3px!important;}
#sidebarPanel .layer-list,#sidebarPanel .compact-layer-list{gap:2px!important;margin-top:0!important;}
#sidebarPanel .layer-toggle,#sidebarPanel .check,#sidebarPanel .compact-check{min-height:24px!important;padding:3px 5px!important;border-radius:7px!important;gap:5px!important;background:#fff!important;}
#sidebarPanel .layer-toggle strong,#sidebarPanel .check span,#sidebarPanel .compact-check span{font-size:9.5px!important;font-weight:760!important;color:#0f172a!important;line-height:1.15!important;}
#sidebarPanel .layer-toggle small,#sidebarPanel .layer-simple-note,#sidebarPanel .stability-meta,#sidebarPanel .ptx-gas-note,#sidebarPanel .ptx-gas-legend,#sidebarPanel .section-card > .small,#sidebarPanel .section-card > .tool-note:not(#measureSummary),#sidebarPanel .biogas-note{display:none!important;}
#sidebarPanel .biogas-model-list{display:none!important;}
#sidebarPanel .compact-kv{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:3px 0;border-bottom:1px solid #edf2f7;font-size:9.5px;}
#sidebarPanel .compact-kv:last-child{border-bottom:none;}
#sidebarPanel .compact-kv span{color:#64748b;}
#sidebarPanel .compact-kv strong{font-size:9.5px;color:#0f172a;}
#sidebarPanel .green-note,#sidebarPanel .tool-note,#sidebarPanel .custom-point-summary,#sidebarPanel .stability-checks,#sidebarPanel .ptx-diagnostics-mini{font-size:9px!important;line-height:1.2!important;padding:4px 5px!important;border-radius:7px!important;margin-top:4px!important;}
#sidebarPanel .muted-divider{margin:5px 0!important;}
#sidebarPanel .slider-row{gap:5px!important;}
#sidebarPanel .slider-value{font-size:8.8px!important;min-width:28px!important;}
#sidebarPanel .result-grid,#sidebarPanel .mini-grid,#sidebarPanel .kpi{gap:4px!important;}
#sidebarPanel .result-card,#sidebarPanel .mini-grid div,#sidebarPanel .kpi div{padding:5px!important;border-radius:8px!important;min-height:38px!important;}
#sidebarPanel .result-card span{font-size:8.4px!important;}
#sidebarPanel .result-card strong{font-size:11px!important;}
#sidebarPanel .result-score strong{font-size:16px!important;}
#selectedCard{font-size:10px!important;}
#selectedCard .area-row{padding:3px 0!important;}
#selectedCard .tool-note,#selectedCard .small{display:none!important;}
.ptx-mobile-quickbar{font-size:10px!important;}
/* v8.5.5.2: usunięto sprzeczne stare breakpointy 1080/760 blokujące panel mobilny. */

/* v6.9.5 — logo BIOPORTAL */
.brand{justify-content:center;padding:8px 8px;min-height:48px}
.brand img.bioportal-logo{width:172px;max-width:100%;height:auto;display:block;object-fit:contain}
@media(max-width:1080px){.brand img.bioportal-logo{width:180px}}
@media(max-width:760px){.brand{min-height:44px;padding:7px}.brand img.bioportal-logo{width:160px}}


/* v6.9.7 — poprawka wyświetlania logo BIOPORTAL w kompaktowym panelu */
#sidebarPanel .brand{justify-content:center!important;align-items:center!important;min-height:58px!important;padding:8px 10px!important;}
#sidebarPanel .brand img.bioportal-logo{width:172px!important;max-width:100%!important;height:auto!important;display:block!important;object-fit:contain!important;border-radius:0!important;flex:0 1 auto!important;}
@media (max-width:1080px){#sidebarPanel .brand img.bioportal-logo{width:164px!important;}}
@media (max-width:760px){#sidebarPanel .brand{min-height:50px!important;padding:7px 8px!important;}#sidebarPanel .brand img.bioportal-logo{width:150px!important;}}


/* v6.9.8 — logo osadzone w HTML i usunięcie warstw WMS z panelu */
#sidebarPanel .brand.brand-logo-only{display:flex!important;justify-content:center!important;align-items:center!important;min-height:68px!important;padding:8px 10px!important;overflow:visible!important;}
#sidebarPanel .brand.brand-logo-only img.bioportal-logo{width:188px!important;max-width:94%!important;height:auto!important;display:block!important;object-fit:contain!important;border-radius:0!important;opacity:1!important;visibility:visible!important;}
#sidebarPanel .brand .bioportal-logo-fallback{display:none;font-weight:900;letter-spacing:.08em;font-size:18px;color:#020617;}
#sidebarPanel .brand img.bioportal-logo:not([src]),#sidebarPanel .brand img.bioportal-logo[src=""]{display:none!important;}
#sidebarPanel .brand img.bioportal-logo:not([src]) + .bioportal-logo-fallback,#sidebarPanel .brand img.bioportal-logo[src=""] + .bioportal-logo-fallback{display:block!important;}
label[for="showGasWms"],label[for="showMpzpWms"],label[for="showPogWms"],label[for="wmsOpacity"],#wmsOpacity,#wmsOpacityValue,#openGasSourceBtn,#openMpzpSourceBtn,#openPogSourceBtn{display:none!important;}

/* v6.9.9 — kategorie zakładów jako kompaktowe chipy w zakładce Warstwy */
.section-v6-industrial{margin-top:6px}
.compact-filter-details{margin-top:6px;border:1px solid #dbe6f3;border-radius:10px;background:#fff}
.compact-filter-details>summary{cursor:pointer;padding:6px 8px;font-size:10px;font-weight:850;color:#0f2742;list-style:none}
.compact-filter-details>summary::-webkit-details-marker{display:none}
.compact-filter-details>summary::after{content:'+';float:right;color:#64748b;font-weight:900}
.compact-filter-details[open]>summary::after{content:'−'}
.v6-chip-grid{display:flex;flex-wrap:wrap;gap:5px;padding:0 7px 7px}
.v6-filter-chip{display:inline-flex;align-items:center;cursor:pointer;user-select:none}
.v6-filter-chip input{position:absolute;opacity:0;pointer-events:none}
.v6-filter-chip span{display:inline-flex;align-items:center;min-height:22px;padding:4px 7px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:9.6px;font-weight:760;line-height:1;white-space:nowrap}
.v6-filter-chip input:checked+span,.v6-filter-chip.is-on span{border-color:#0f5fa8;background:#e8f3ff;color:#083b6f;box-shadow:inset 0 0 0 1px rgba(15,95,168,.12)}
.compact-main-toggle{margin-bottom:5px!important}
.admin-v6-card .v6-category-grid,.admin-v6-card .ptx-v6-admin-cat{display:none!important}


/* v6.9.10 — w panelu Zakłady zostaje tylko warstwa Zakłady spożywcze */
.section-v6-industrial .compact-filter-details,
.section-v6-industrial .v6-chip-grid,
.section-v6-industrial .v6-filter-chip,
.section-v6-industrial .ptx-v6-cat{
  display:none!important;
}
.section-v6-industrial .compact-main-toggle{
  margin-bottom:6px!important;
}


/* v8.5.1 — Zakłady spożywcze widoczne jako pojedyncza warstwa */
#sidebarPanel .section-layer-biogas .layer-toggle:has(#showGiw),
#sidebarPanel label[for="showGiw"]{display:flex!important;}
#showGiw{display:inline-block!important;}
.giw-category-filter{display:none!important;}

[data-panel="layers"] .section,
[data-panel="layers"] details.section{
  margin-bottom:6px!important;
  border:1px solid #dbe6f3!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  overflow:hidden!important;
}
[data-panel="layers"] .section>summary,
[data-panel="layers"] details.section>summary{
  padding:7px 9px!important;
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  font-size:10.5px!important;
  font-weight:850!important;
  color:#0f2742!important;
  background:#f8fbff!important;
}
[data-panel="layers"] .section-card{
  margin:0!important;
  border:0!important;
  border-top:1px solid #e5edf6!important;
  border-radius:0!important;
  background:#fff!important;
  padding:7px!important;
}
[data-panel="layers"] .layer-toggle{
  min-height:26px!important;
  padding:5px 6px!important;
  border:1px solid #e1e9f3!important;
  border-radius:8px!important;
  background:#fff!important;
}
[data-panel="layers"] .layer-toggle strong{
  font-size:10.2px!important;
  line-height:1.15!important;
}
[data-panel="layers"] .compact-actions{
  gap:5px!important;
}
[data-panel="layers"] .compact-actions button{
  min-height:24px!important;
  padding:4px 7px!important;
  font-size:9.5px!important;
}
.section-v6-industrial{
  order:20;
}


/* v6.9.12 — finalny UX */
[data-panel="layers"] .section{margin-bottom:6px!important;border:1px solid #dbe6f3!important;border-radius:10px!important;background:#f8fbff!important;overflow:hidden!important}
[data-panel="layers"] .section>summary{padding:7px 9px!important;min-height:30px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;font-size:10.5px!important;font-weight:850!important;color:#0f2742!important;background:#f8fbff!important}
[data-panel="layers"] .section-card{margin:0!important;border:0!important;border-top:1px solid #e5edf6!important;border-radius:0!important;background:#fff!important;padding:7px!important}
.section-work-mode{display:none!important}.section-v6-industrial .layer-actions{display:none!important}.ptx-gas-card .gas-source-row .adv-only{display:none!important}
.section-location-result .section-card,.section-gmina-ranking .section-card{padding:7px!important}.ptx-object-card{font-size:10px}.ptx-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:6px}.ptx-card-head strong{font-size:12px;line-height:1.1}.ptx-card-head span{font-size:9px;color:#64748b;background:#f1f5f9;border:1px solid #dbe6f3;border-radius:999px;padding:2px 6px;white-space:nowrap}.ptx-ux-cardrows{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:6px 0}.ptx-ux-cardrows div{border:1px solid #e1e9f3;border-radius:8px;background:#fff;padding:5px;min-height:34px}.ptx-ux-cardrows span{display:block;font-size:8.4px;color:#64748b}.ptx-ux-cardrows strong{display:block;font-size:10.5px;color:#0f172a;line-height:1.15}.ptx-ranking-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ptx-ranking-head span{font-size:9px;color:#64748b}.ptx-mini-table{width:100%;border-collapse:collapse;font-size:9.4px}.ptx-mini-table td{border-bottom:1px solid #edf2f7;padding:4px 2px}.ptx-mini-table .num{text-align:right}.area-actions.compact-actions,.compact-actions{display:flex;gap:5px;flex-wrap:wrap}.section-report .adv-only{display:none!important}@media(max-width:760px){.ptx-ux-cardrows{grid-template-columns:1fr}}


/* v7.0 RC — wersja publiczna BIOPORTAL */
.bioportal-public [data-tab="admin"],
.bioportal-public #ptxV6AdminPanel,
.bioportal-public .section-stability,
.bioportal-public .stability-panel,
.bioportal-public #ptxRuntimeDiagnostics,
.bioportal-public #stabilityCheckSummary,
.bioportal-public .adv-only.technical-only{
  display:none!important;
}
.bioportal-public .ptx-tabs{
  grid-template-columns:repeat(4,1fr)!important;
}
.public-welcome{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(5,16,31,.46);
  backdrop-filter:blur(7px);
}
.public-welcome.is-hidden{display:none!important}
.public-welcome-card{
  width:min(640px,calc(100vw - 28px));
  border:1px solid #dbe6f3;
  border-radius:22px;
  background:#fff;
  box-shadow:0 28px 90px rgba(2,6,23,.26);
  padding:24px;
  position:relative;
}
.public-welcome-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #d6e3f1;
  background:#fff;
  color:#334155;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.public-welcome-kicker{
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#0f5fa8;
  margin-bottom:7px;
}
.public-welcome-card h1{
  margin:0 0 8px;
  color:#071b33;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.public-welcome-card p{
  color:#475569;
  font-size:13px;
  line-height:1.45;
  margin:0 0 14px;
}
.public-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:16px 0;
}
.public-steps div{
  border:1px solid #dbe6f3;
  border-radius:14px;
  padding:10px;
  background:#f8fbff;
}
.public-steps strong{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#0f5fa8;
  color:#fff;
  font-size:12px;
  margin-bottom:8px;
}
.public-steps span{
  display:block;
  color:#0f2742;
  font-size:12px;
  font-weight:750;
  line-height:1.25;
}
.public-welcome-note{
  border-left:4px solid #0f5fa8;
  padding:8px 10px!important;
  background:#f1f7ff;
  border-radius:10px;
}
.public-welcome-primary{
  width:100%;
  border:0;
  border-radius:14px;
  background:#071b33;
  color:#fff;
  padding:12px 14px;
  font-weight:850;
  cursor:pointer;
}
.public-footer{
  position:fixed;
  left:10px;
  right:10px;
  bottom:8px;
  z-index:410;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  font-size:10px;
  color:#64748b;
}
.public-footer span,
.public-footer a{
  pointer-events:auto;
  border:1px solid rgba(203,213,225,.9);
  background:rgba(255,255,255,.92);
  border-radius:999px;
  padding:4px 8px;
  color:#475569;
  text-decoration:none;
  box-shadow:0 3px 10px rgba(15,23,42,.04);
}
.public-footer a:hover{color:#0f5fa8}
@media(max-width:760px){
  .public-welcome-card{padding:18px;border-radius:18px}
  .public-welcome-card h1{font-size:22px}
  .public-steps{grid-template-columns:1fr}
  .public-footer{display:none}
}


/* BIOPORTAL v7.0.1 — publikacja bez okna powitalnego i bez raportu punktowego */
.public-welcome{display:none!important}
.section-custom{display:none!important}
#userPointReportPdfBtn,#userPointReportWordBtn,#addUserPointBtn,#clearUserPointsBtn,#userPointName,#userPointSummary{display:none!important}
.section-layer-biogas>summary::after{content:''}
.ptx-v7-industrial-toggle{margin-top:4px!important}
[data-panel="reports"] .compact-group-title:nth-of-type(2),
[data-panel="reports"] #userPointReportPdfBtn,
[data-panel="reports"] #userPointReportWordBtn{display:none!important}
.bioportal-public .public-footer{display:flex}


/* v7.0.2 — mały przycisk diagnostyczny */
.public-footer .public-diagnostics-link{
  opacity:.55;
  font-size:9px!important;
  padding:3px 6px!important;
}
.public-footer .public-diagnostics-link:hover{
  opacity:1;
}
@media(max-width:760px){
  .public-footer{display:flex!important;justify-content:flex-end;left:auto;right:8px;bottom:7px;max-width:44vw}
  .public-footer span,.public-footer a:not(.public-diagnostics-link){display:none!important}
  .public-footer .public-diagnostics-link{display:inline-flex!important;background:rgba(255,255,255,.88)!important}
}


/* BIOPORTAL v7.0.3 */
.gas-badge{display:inline-block;border-radius:999px;padding:3px 7px;font-weight:750;font-size:10px;line-height:1.25}
.gas-good{background:#dcfce7;color:#166534}.gas-mid{background:#fef9c3;color:#854d0e}.gas-low{background:#fee2e2;color:#991b1b}
.bioportal-public .section-custom{display:none!important}


/* BIOPORTAL v7.0.5 — korekta warstw i układu raportu gminy */
#ptxV6IndustrialPanel,.section-v6-industrial{display:none!important}
.section-layer-biogas .ptx-v7-industrial-toggle{display:flex!important}
.section-layer-biogas .ptx-v7-industrial-toggle strong{font-size:10.2px!important}
.section-layer-biogas .layer-toggle{margin-bottom:5px!important}
[data-panel="layers"] details.section:empty{display:none!important}
[data-panel="analysis"] .area-actions .ghost[onclick*="exportGminaReport"],
[data-panel="analysis"] .area-actions .ghost[onclick*="exportAreaReport"]{display:none!important}
.gas-potential-pill{display:inline-block;border-radius:999px;padding:2px 7px;font-weight:800;font-size:10px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155}
.gas-potential-pill.good{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.gas-potential-pill.mid{background:#fef9c3;color:#854d0e;border-color:#fde68a}
.gas-potential-pill.low{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.area-note-public{margin-top:6px;padding:7px;border:1px solid #dbe6f3;background:#f8fbff;border-radius:8px;color:#475569;font-size:10.5px;line-height:1.3}

/* v7.0.5 — usuwa zdublowany wynik w zakładce Analiza */
.section-area,
.hidden-public-selected-card,
#selectedCard.hidden-public-selected-card{
  display:none!important;
}
.section-location-result{
  margin-bottom:6px!important;
}

/* BIOPORTAL v7.0.6 — stabilizacja raportów i panelu gminy */
#selectedCard{display:none!important}
[data-panel="analysis"] .section-area{display:none!important}
.gas-potential-pill{display:inline-block;border-radius:999px;padding:3px 7px;font-weight:800;border:1px solid #cbd5e1;background:#f8fafc}
.gas-potential-pill.good{background:#dcfce7;color:#166534;border-color:#bbf7d0}.gas-potential-pill.mid{background:#fef9c3;color:#854d0e;border-color:#fde68a}.gas-potential-pill.low{background:#fee2e2;color:#991b1b;border-color:#fecaca}

/* BIOPORTAL v8.3.0 — lekkie kontrolki Leaflet narzędzi pomiarowych */
.ptx-leaflet-tools a{display:block;width:30px;height:30px;line-height:30px;text-align:center;background:#fff;color:#0f172a;text-decoration:none;font-weight:900;font-size:15px;border-bottom:1px solid #dbe3ee}.ptx-leaflet-tools a:hover{background:#eff6ff;color:#0b4078}.ptx-leaflet-tools a:last-child{border-bottom:0;color:#991b1b}.section-psg summary{border-left:4px solid #dc2626!important}


/* BIOPORTAL v8.4.1 */
.metric-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.metric-shortcuts button{border:1px solid rgba(15,94,168,.18);background:#f8fbff;border-radius:10px;padding:7px 8px;font-weight:700;color:#0f3559;cursor:pointer}
.metric-shortcuts button:hover{background:#eaf4ff;border-color:rgba(15,94,168,.35)}
.ptx-decision-box{border:1px solid rgba(14,165,233,.22);background:linear-gradient(180deg,#eff6ff,#fff);border-radius:14px;padding:10px 12px;margin:10px 0;display:flex;flex-direction:column;gap:3px}
.ptx-decision-box strong{font-size:12px;color:#0f3559}
.ptx-decision-box span{font-size:13px;color:#172033;font-weight:700}
.ptx-analysis-card.v841 .ptx-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptx-mini-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(148,163,184,.18);padding:5px 0;font-size:12px}
.ptx-mini-row:last-child{border-bottom:0}
@media (max-width:760px){.metric-shortcuts{grid-template-columns:1fr 1fr}.ptx-analysis-card.v841 .ptx-analysis-kpis{grid-template-columns:1fr}}

/* BIOPORTAL v8.5.1 */
.giw-category-filter{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(15,23,42,.10)}
.giw-category-filter .compact-group-title{grid-column:1/-1;margin:0 0 2px}
.giw-category-filter label{font-size:12px;display:flex;align-items:center;gap:6px;color:#334155}
.ptx-analysis-card .area-row strong{max-width:58%;text-align:right}
@media(max-width:760px){.giw-category-filter{grid-template-columns:1fr}.ptx-analysis-card .area-row strong{max-width:none;text-align:left}}

/* v8.5.1 — ukrycie wyboru kategorii zakładów; zostaje jeden przełącznik Zakłady spożywcze */
.giw-category-filter{display:none!important;}
#sidebarPanel .section-layer-biogas label[for="showGiw"],#sidebarPanel .section-layer-biogas .layer-toggle:has(#showGiw){display:flex!important;}
#sidebarPanel .section-layer-biogas #showGiw{display:inline-block!important;}


/* BIOPORTAL v8.5.4 — raport decyzyjny 40 km i walidacja */
.ptx-analysis-card.v854{display:grid;gap:9px}
.ptx-analysis-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ptx-analysis-flow>div{border:1px solid #e5edf6;background:#f8fbff;border-radius:11px;padding:7px 8px;min-height:44px}
.ptx-analysis-flow span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:850}
.ptx-analysis-flow strong{display:block;font-size:10.5px;color:#0f172a;line-height:1.15;margin-top:2px}
.ptx-primary-report-action{display:grid;grid-template-columns:1.7fr .8fr;gap:7px}
.ptx-primary-report-action button{min-height:36px;border-radius:12px;font-size:11px;font-weight:900}
.ptx-primary-report-action button:first-child{background:#0b4078;color:#fff;border-color:#0b4078}
.ptx-analysis-card.v854 .ptx-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptx-analysis-card.v854 .ptx-analysis-section{padding:9px}
.ptx-analysis-card.v854 .area-row{border-bottom:1px solid rgba(148,163,184,.18);padding:4px 0;margin:0}
.ptx-analysis-card.v854 .area-row:last-child{border-bottom:0}
@media(max-width:760px){.ptx-analysis-flow{grid-template-columns:1fr}.ptx-primary-report-action{grid-template-columns:1fr}.ptx-analysis-card.v854 .ptx-analysis-kpis{grid-template-columns:1fr}}


/* BIOPORTAL v8.5.5.2-p2a — zielona paleta wyników gmin, Propozycja 2 */
:root{
  --ptx-result-low:#eef7ef;
  --ptx-result-low-mid:#ccebd1;
  --ptx-result-mid:#8fd59d;
  --ptx-result-high-mid:#35b86a;
  --ptx-result-high:#05743b;
}
.ptx-analysis-hero{
  border-color:#ccebd1!important;
  background:linear-gradient(180deg,#eef7ef 0%,#ffffff 100%)!important;
}
.ptx-status-pill{
  border-color:#ccebd1!important;
  color:#05743b!important;
}
.ptx-score-big,.potential-score{
  color:#05743b!important;
}
.ptx-score-fill{
  background:linear-gradient(90deg,#ccebd1,#35b86a,#05743b)!important;
}
.ptx-analysis-kpi.primary{
  border-color:#ccebd1!important;
  background:#eef7ef!important;
}
.ptx-analysis-kpi.primary strong{
  color:#05743b!important;
}
.ptx-decision-box{
  border-color:rgba(5,116,59,.22)!important;
  background:linear-gradient(180deg,#eef7ef,#ffffff)!important;
}
.result-score{
  background:linear-gradient(180deg,#eef7ef 0%,#ffffff 100%)!important;
  border-color:#ccebd1!important;
}
.legend .swatch{
  border-color:rgba(5,116,59,.18)!important;
}

/* BIOPORTAL v8.5.5.2-p2a — naprawa układu mobile/desktop, panel mobilny i paleta zielona Propozycja 2 */
@media (min-width: 761px){
  html,body{height:100%!important;overflow:hidden!important;}
  .app{display:grid!important;grid-template-columns:292px minmax(0,1fr)!important;grid-template-rows:1fr!important;height:100vh!important;width:100vw!important;overflow:hidden!important;}
  #sidebarPanel{display:block!important;position:relative!important;inset:auto!important;transform:none!important;width:auto!important;height:100vh!important;max-height:none!important;overflow:auto!important;border-right:1px solid var(--line)!important;border-bottom:0!important;box-shadow:none!important;z-index:5!important;}
  main{height:100vh!important;min-height:0!important;min-width:0!important;position:relative!important;}
  #map{height:100%!important;width:100%!important;}
  .mobile-menu-btn,.mobile-backdrop{display:none!important;}
  .ptx-mobile-quickbar,.ptx-mobile-bottom-sheet{display:none!important;}
  .status{max-width:min(480px,calc(100vw - 326px))!important;}
}
@media (min-width: 761px) and (max-width: 1080px){
  .app{grid-template-columns:284px minmax(0,1fr)!important;}
  #sidebarPanel{padding:7px!important;}
  #sidebarPanel .brand.brand-logo-only{min-height:58px!important;}
  #sidebarPanel .brand.brand-logo-only img.bioportal-logo{width:164px!important;}
  main{height:100vh!important;min-height:0!important;}
  .map-search{left:12px!important;top:56px!important;right:auto!important;grid-template-columns:minmax(180px,260px) 74px 30px!important;}
  .status{left:12px!important;top:12px!important;max-width:calc(100vw - 320px)!important;}
  .legend{right:12px!important;bottom:12px!important;left:auto!important;max-width:250px!important;}
}
@media (max-width: 760px){
  html,body{height:100%!important;width:100%!important;overflow:hidden!important;}
  body{font-size:11px!important;-webkit-text-size-adjust:100%!important;}
  .app{display:block!important;height:100dvh!important;width:100vw!important;overflow:hidden!important;}
  main{height:100dvh!important;width:100vw!important;min-height:100dvh!important;overflow:hidden!important;}
  #map{height:100dvh!important;width:100vw!important;}
  #sidebarPanel{
    display:block!important;
    position:fixed!important;
    top:0!important;left:0!important;bottom:0!important;
    width:min(90vw,360px)!important;
    height:100dvh!important;
    max-height:none!important;
    padding:8px!important;
    padding-top:calc(8px + env(safe-area-inset-top))!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;
    border-right:1px solid var(--line)!important;
    border-bottom:0!important;
    background:#f7faff!important;
    box-shadow:18px 0 44px rgba(15,23,42,.24)!important;
    transform:translateX(-108%)!important;
    transition:transform .22s ease!important;
    z-index:2100!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  body.mobile-panel-open #sidebarPanel{transform:translateX(0)!important;}
  .mobile-menu-btn{
    display:inline-flex!important;
    position:fixed!important;
    left:8px!important;
    top:calc(8px + env(safe-area-inset-top))!important;
    z-index:2065!important;
    width:auto!important;
    min-width:82px!important;
    height:38px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 12px!important;
    border-radius:999px!important;
    border:1px solid rgba(219,227,238,.95)!important;
    background:rgba(255,255,255,.96)!important;
    color:#0f172a!important;
    box-shadow:0 8px 24px rgba(15,23,42,.16)!important;
    font-size:12px!important;
    font-weight:850!important;
  }
  body.mobile-panel-open .mobile-menu-btn{z-index:2115!important;left:calc(min(90vw,360px) - 96px)!important;background:#05743b!important;color:#fff!important;border-color:#05743b!important;}
  .mobile-backdrop{display:block!important;position:fixed!important;inset:0!important;background:rgba(15,23,42,.36)!important;opacity:0!important;pointer-events:none!important;transition:opacity .2s ease!important;z-index:2090!important;}
  body.mobile-panel-open .mobile-backdrop{opacity:1!important;pointer-events:auto!important;}
  #sidebarPanel .brand.brand-logo-only{min-height:54px!important;padding:6px 8px!important;margin:0 0 6px!important;}
  #sidebarPanel .brand.brand-logo-only img.bioportal-logo{width:154px!important;}
  #sidebarPanel .mode-switch{grid-template-columns:1fr auto!important;gap:5px!important;}
  #sidebarPanel .ptx-tabs{position:sticky!important;top:0!important;z-index:4!important;grid-template-columns:repeat(4,1fr)!important;margin:0 0 6px!important;background:#edf3fa!important;}
  #sidebarPanel .ptx-tab-btn{min-height:34px!important;font-size:10.2px!important;padding:6px 3px!important;}
  #sidebarPanel select,#sidebarPanel input,#sidebarPanel button{font-size:11px!important;min-height:34px!important;}
  #sidebarPanel .layer-toggle{min-height:34px!important;padding:7px 8px!important;}
  #sidebarPanel .layer-toggle strong{font-size:10.8px!important;}
  #sidebarPanel .section summary{min-height:34px!important;font-size:10.8px!important;padding:7px 9px!important;}
  .map-search{left:8px!important;right:8px!important;top:calc(54px + env(safe-area-inset-top))!important;grid-template-columns:1fr 68px 34px!important;gap:4px!important;padding:5px!important;z-index:800!important;}
  .map-search input,.map-search button{height:36px!important;min-height:36px!important;font-size:12px!important;}
  .status{left:8px!important;right:8px!important;top:calc(100px + env(safe-area-inset-top))!important;max-width:none!important;z-index:790!important;}
  .legend{left:8px!important;right:8px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;max-width:none!important;min-width:0!important;max-height:22vh!important;overflow:auto!important;z-index:790!important;}
  .leaflet-control-container .leaflet-top.leaflet-left{top:calc(148px + env(safe-area-inset-top))!important;left:8px!important;}
  .ptx-mobile-quickbar{display:grid!important;position:fixed!important;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;z-index:2060!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;padding:6px!important;border:1px solid rgba(219,227,238,.96)!important;border-radius:18px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 12px 34px rgba(15,23,42,.20)!important;backdrop-filter:blur(8px)!important;}
  .ptx-mobile-quickbar button{min-height:38px!important;border-radius:13px!important;padding:5px 4px!important;font-size:10px!important;font-weight:850!important;color:#0f172a!important;background:#f8fafc!important;border:1px solid #dbe3ee!important;}
  .ptx-mobile-quickbar button.primary{background:#05743b!important;color:#fff!important;border-color:#05743b!important;}
  body.mobile-panel-open .ptx-mobile-quickbar,body.mobile-panel-open .ptx-mobile-bottom-sheet{display:none!important;}
  .ptx-mobile-bottom-sheet{display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:2045!important;max-height:76dvh!important;min-height:70px!important;flex-direction:column!important;background:#fff!important;border-radius:22px 22px 0 0!important;border:1px solid #dbe3ee!important;border-bottom:0!important;box-shadow:0 -16px 42px rgba(15,23,42,.24)!important;transform:translateY(calc(100% - 70px))!important;transition:transform .22s ease!important;overflow:hidden!important;padding-bottom:calc(62px + env(safe-area-inset-bottom))!important;}
  .ptx-mobile-bottom-sheet.is-open{transform:translateY(0)!important;}
  .ptx-mobile-bottom-sheet.is-hidden{transform:translateY(110%)!important;}
  .ptx-mobile-sheet-body{overflow:auto!important;-webkit-overflow-scrolling:touch!important;padding:9px 10px 12px!important;}
}
@media (max-width: 420px){
  body.mobile-panel-open .mobile-menu-btn{left:calc(min(90vw,360px) - 88px)!important;min-width:76px!important;}
  .map-search{grid-template-columns:1fr 62px 32px!important;}
  .status small{display:none!important;}
  .ptx-mobile-quickbar{gap:4px!important;padding:5px!important;}
  .ptx-mobile-quickbar button{font-size:9.5px!important;min-height:36px!important;}
}


/* BIOPORTAL v8.5.5.2-p2a — produkcyjne utwardzenie mobile/desktop po testach */
*{box-sizing:border-box;}
@media (min-width: 761px){
  body.mobile-panel-open{overflow:hidden!important;}
  body.mobile-panel-open #sidebarPanel{transform:none!important;}
  #sidebarPanel{min-width:0!important;}
  main{overflow:hidden!important;}
}
@media (max-width: 760px){
  #sidebarPanel{display:block!important;will-change:transform!important;contain:layout paint!important;}
  body.mobile-panel-open{overflow:hidden!important;touch-action:none!important;}
  body.mobile-panel-open main{pointer-events:none!important;}
  body.mobile-panel-open #sidebarPanel,
  body.mobile-panel-open #mobileMenuBtn,
  body.mobile-panel-open #mobileBackdrop{pointer-events:auto!important;}
  body.mobile-panel-open .legend,
  body.mobile-panel-open .status,
  body.mobile-panel-open .map-search{visibility:hidden!important;}
  .ptx-mobile-bottom-sheet{will-change:transform!important;}
  .ptx-mobile-bottom-sheet.is-open{pointer-events:auto!important;}
  .ptx-mobile-bottom-sheet.is-hidden{pointer-events:none!important;}
  .ptx-mobile-sheet-body{max-height:calc(76dvh - 118px)!important;}
  .leaflet-container{touch-action:pan-x pan-y!important;}
}
@media (max-width: 420px){
  #sidebarPanel{width:min(92vw,360px)!important;}
  body.mobile-panel-open .mobile-menu-btn{left:calc(min(92vw,360px) - 88px)!important;}
}
