/* Mapa producentov biotransformovateľných odpadov — KPB2 */
:root{
  --bg:#fbfaf7; --panel:#ffffff; --ink:#1c1b18; --muted:#6b6862; --line:#e2ded5;
  --land:#eeeae1; --land-line:#cfc9bc; --accent:#3d6b4f; --accent-soft:#e8f0ea;
  --c1:#c96a2b; --c2:#3d6b4f; --c3:#4a6d94; --c4:#8a5a86; --c5:#b08a2e; --c6:#3f8b8b;
  --ok:#3d6b4f; --warn:#b08a2e; --no:#a8492f;
  --sh:0 1px 2px rgba(0,0,0,.05),0 6px 18px rgba(0,0,0,.06);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#16181a; --panel:#1e2124; --ink:#eceae5; --muted:#9a978f; --line:#31353a;
  --land:#262b30; --land-line:#3c434a; --accent:#7fb894; --accent-soft:#23302a;
  --c1:#e08b4e; --c2:#7fb894; --c3:#7ea3cc; --c4:#b58ab1; --c5:#d4b053; --c6:#63b3b3;
  --ok:#7fb894; --warn:#d4b053; --no:#e08469;
  --sh:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
}}
:root[data-theme="dark"]{
  --bg:#16181a; --panel:#1e2124; --ink:#eceae5; --muted:#9a978f; --line:#31353a;
  --land:#262b30; --land-line:#3c434a; --accent:#7fb894; --accent-soft:#23302a;
  --c1:#e08b4e; --c2:#7fb894; --c3:#7ea3cc; --c4:#b58ab1; --c5:#d4b053; --c6:#63b3b3;
  --ok:#7fb894; --warn:#d4b053; --no:#e08469;
  --sh:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
h1{font-size:1.35rem;margin:0 0 .15em;letter-spacing:-.01em}
h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);
  margin:1.4em 0 .5em;font-weight:600}
a{color:var(--accent)}
.wrap{max-width:1440px;margin:0 auto;padding:22px 20px 60px}
.lede{color:var(--muted);font-size:.92rem;margin:0 0 18px;max-width:70ch}
.stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;
  padding:9px 14px;min-width:104px;box-shadow:var(--sh)}
.stat b{display:block;font-size:1.42rem;line-height:1.15;font-variant-numeric:tabular-nums}
.stat span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.layout{display:grid;grid-template-columns:270px minmax(0,1fr) 300px;gap:16px;align-items:start}
@media (max-width:1150px){.layout{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:14px 15px;box-shadow:var(--sh)}
.card h2:first-child{margin-top:0}
label.f{display:block;font-size:.78rem;color:var(--muted);margin:0 0 4px}
select,input[type=search]{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;
  background:var(--bg);color:var(--ink);font:inherit;font-size:.88rem;margin-bottom:11px}
.chk{display:flex;align-items:center;gap:8px;font-size:.87rem;padding:3px 0;cursor:pointer}
.chk input{accent-color:var(--accent)}
.dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
button{font:inherit;font-size:.85rem;padding:7px 12px;border-radius:8px;border:1px solid var(--line);
  background:var(--bg);color:var(--ink);cursor:pointer}
button:hover{border-color:var(--accent);color:var(--accent)}
button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
button.primary:hover{opacity:.9;color:#fff}
.maphold{position:relative;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;overflow:hidden;box-shadow:var(--sh)}
svg#map{display:block;width:100%;height:auto;touch-action:none;cursor:grab}
svg#map.drag{cursor:grabbing}
.okres{fill:var(--land);stroke:var(--land-line);stroke-width:.35;stroke-linejoin:round}
.okres:hover{stroke:var(--accent);stroke-width:1}
.pt{stroke:var(--panel);stroke-width:.5;cursor:pointer}
.pt.sel{stroke:var(--ink);stroke-width:1.4}
.mapbar{position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap}
.mapbar button{background:var(--panel);box-shadow:var(--sh);padding:4px 9px;font-size:.8rem}
.tip{position:absolute;pointer-events:none;background:var(--panel);border:1px solid var(--line);
  border-radius:8px;padding:6px 9px;font-size:.8rem;box-shadow:var(--sh);opacity:0;transition:opacity .1s;
  max-width:250px;z-index:5}
.legend{display:flex;flex-wrap:wrap;gap:12px;padding:9px 14px;border-top:1px solid var(--line);
  font-size:.79rem;color:var(--muted);align-items:center}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.det{font-size:.88rem}
.det .nm{font-weight:600;font-size:1rem;line-height:1.3;margin-bottom:3px}
.det .meta{color:var(--muted);font-size:.8rem;margin-bottom:10px}
.det table{width:100%;border-collapse:collapse;margin-top:6px}
.det td{padding:4px 0;border-top:1px solid var(--line);vertical-align:top;font-size:.83rem}
.det td.k{color:var(--muted);white-space:nowrap;padding-right:10px;width:1%}
.kat{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--muted);white-space:nowrap}
.badge{display:inline-block;font-size:.7rem;padding:1px 7px;border-radius:99px;
  background:var(--accent-soft);color:var(--accent);border:1px solid var(--line)}
.list{max-height:340px;overflow:auto;margin:0 -6px}
.list .row{padding:6px 8px;border-radius:7px;cursor:pointer;font-size:.85rem;line-height:1.35}
.list .row:hover{background:var(--accent-soft)}
.list .row small{display:block;color:var(--muted);font-size:.75rem}
.note{font-size:.78rem;color:var(--muted);line-height:1.5}
.tblwrap{overflow-x:auto}
table.dt{width:100%;border-collapse:collapse;font-size:.83rem}
table.dt th{text-align:left;font-weight:600;color:var(--muted);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-bottom:1px solid var(--line)}
table.dt td{padding:5px 8px;border-bottom:1px solid var(--line)}
table.dt tbody tr:hover{background:var(--accent-soft)}

.perm{display:inline-block;font-size:.68rem;padding:1px 6px;border-radius:99px;margin:1px 3px 1px 0;
  border:1px solid transparent;white-space:nowrap}
.perm.p{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.perm.c{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}
.perm.z{background:color-mix(in srgb,var(--no) 14%,transparent);color:var(--no);border-color:color-mix(in srgb,var(--no) 32%,transparent)}
.drmeta{font-size:.76rem;color:var(--muted);line-height:1.45;margin:6px 0 0;
  padding:8px 10px;border-radius:8px;background:var(--accent-soft)}
.stat.hl b{color:var(--accent)}
