/* Senat: 100 okręgów */
.wrap.sn{max-width:1160px}
.sn{--gold:#e8c15c;--ln:rgba(255,255,255,.08);--pan:rgba(255,255,255,.025)}
.sn .card h2{margin:0}
.sn-head{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.sn-badge{display:inline-block;padding:3px 11px;border-radius:999px;background:rgba(227,191,104,.16);color:var(--gold);font-weight:800;font-size:.75rem;line-height:1.4}
.sn-badge.priv{background:#3a2a12;color:#ffcf7a;border:1px solid rgba(255,207,122,.35)}
h1.sn-h1{margin:2px 0 6px;font-size:clamp(1.8rem,5vw,2.7rem)}
.sn-lead{margin:0 0 16px;color:var(--mut);max-width:52em;line-height:1.6}
.sn-note{margin:8px 0 0;color:var(--mut);font-size:.86rem;line-height:1.55}

/* przełączniki */
.sn-ctl{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}
.sn-seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.sn-seg button{min-width:108px;padding:7px 14px;border:0;border-radius:10px;background:transparent;color:var(--mut);font:inherit;font-weight:800;font-size:1.02rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.2}
.sn-seg button small{font-weight:600;font-size:.7rem;opacity:.85}
.sn-seg button[aria-pressed=true]{background:var(--gold);color:#0b0e14}
.sn-seg button:disabled{opacity:.4;cursor:not-allowed}
.sn-seg button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sn-sw{position:relative;flex:1;min-width:240px;max-width:380px;margin-left:auto}
.sn-sw svg{position:absolute;left:14px;top:13px;width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:2.2;pointer-events:none}
.sn-sw input{width:100%;box-sizing:border-box;height:44px;padding:0 14px 0 42px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#121722;color:var(--fg);font:inherit;font-size:.95rem}
.sn-sw input:focus{outline:none;border-color:rgba(232,193,92,.7);box-shadow:0 0 0 3px rgba(232,193,92,.14)}
.sn-res{position:absolute;z-index:30;top:50px;left:0;right:0;margin:0;padding:6px;list-style:none;border-radius:12px;border:1px solid var(--line);background:#131826;box-shadow:0 20px 44px rgba(0,0,0,.6);max-height:360px;overflow:auto}
.sn-res[hidden]{display:none}
.sn-res li{padding:8px 11px;border-radius:8px;cursor:pointer}
.sn-res li em{font-style:normal;color:var(--gold);margin-left:8px;font-size:.84rem}
.sn-res li small{display:block;color:var(--mut);font-size:.76rem}
.sn-res li[aria-selected=true],.sn-res li:hover{background:rgba(232,193,92,.09)}
.sn-res li.brak{color:var(--mut);cursor:default}

/* scenariusz */
.sn-scen{margin:0 0 14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(232,193,92,.28);background:linear-gradient(180deg,rgba(232,193,92,.07),rgba(232,193,92,.02))}
.sn-scen[hidden]{display:none}
.sn-sl{margin:0 0 10px;font-size:.84rem;color:var(--mut);line-height:1.5}
.sn-opts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:12px}
.sn-tg{display:flex;align-items:center;gap:10px;font-size:.9rem;cursor:pointer;line-height:1.35}
.sn-tg input{position:absolute;opacity:0;pointer-events:none}
.sn-tg span{flex:none;width:38px;height:22px;border-radius:999px;background:rgba(255,255,255,.14);position:relative;transition:background .15s}
.sn-tg span::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.sn-tg input:checked+span{background:var(--gold)}
.sn-tg input:checked+span::after{transform:translateX(16px)}
.sn-tg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.sn-rng label{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-bottom:4px}
.sn-rng input{width:100%;max-width:520px;accent-color:var(--gold)}
.sn-rl{display:flex;justify-content:space-between;max-width:520px;font-size:.78rem;color:var(--mut)}
.sn-rl b{color:var(--fg);font-size:.86rem}

/* pasek mandatów */
.sn-sum{margin-bottom:14px}
.sn-bar{position:relative;display:flex;height:22px;border-radius:7px;overflow:hidden;background:rgba(255,255,255,.05)}
.sn-bar i{display:block;height:100%;transition:width .35s}
.sn-bar i+i{box-shadow:inset 1px 0 0 rgba(11,14,20,.6)}
.sn-bar .mid{position:absolute;left:50.5%;top:-3px;bottom:-3px;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.sn-sleg{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:9px;font-size:.88rem}
.sn-sleg i,.sn-leg i,.sn-sl2 i,.sn-close i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:0}
.sn-sleg b{margin-left:2px}

/* mapa + panel */
.sn-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px;align-items:start}
.sn-mapw{position:relative;border-radius:18px;background:rgba(0,0,0,.22);border:1px solid var(--ln);padding:10px}
#sn-map{display:block;width:100%;height:auto;touch-action:manipulation}
#sn-map path{stroke:#0b0e14;stroke-width:1.1;stroke-linejoin:round;cursor:pointer;transition:fill .3s,filter .15s}
#sn-map path:hover,#sn-map path:focus-visible{filter:brightness(1.3);outline:none}
#sn-map path.on{stroke:#fff;stroke-width:2.4}
#sn-map path.mia{stroke:#0b0e14;stroke-width:1.2}
#sn-map path.mia.on{stroke:#fff;stroke-width:2.4}
#sn-map .lb text{font:700 10px Inter,system-ui,sans-serif;fill:#fff;fill-opacity:.82;text-anchor:middle;paint-order:stroke;stroke:rgba(8,10,16,.75);stroke-width:2.4px;pointer-events:none}
.sn-tip{position:absolute;z-index:20;pointer-events:none;max-width:280px;padding:8px 11px;border-radius:10px;background:rgba(14,18,28,.97);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:.84rem;line-height:1.45}
.sn-tip .sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}
.sn-tip small{color:var(--mut)}
.sn-load{position:absolute;inset:0;display:grid;place-items:center;color:var(--mut)}
.sn-load[hidden]{display:none}
.sn-leg{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 4px 0;font-size:.78rem;color:var(--mut)}
.sn-leg .sc{margin-left:auto}
.sn-mia{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 4px 2px;font-size:.78rem;color:var(--mut)}
.sn-mg{display:inline-flex;align-items:center;gap:4px}
.sn-mg b{color:var(--fg);margin-right:2px;font-size:.8rem}
.sn-mg button{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 8px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--fg);font:inherit;font-weight:700;font-size:.78rem;cursor:pointer}
.sn-mg button i{display:inline-block;width:8px;height:8px;border-radius:2px}
.sn-mg button[aria-pressed=true]{border-color:#fff}

.sn-det{border-radius:18px;border:1px solid var(--ln);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));padding:16px 18px;min-height:200px}
.sn-ph h3{margin:0 0 6px;font-size:1.15rem}
.sn-ph p{margin:0 0 12px;color:var(--mut);font-size:.88rem;line-height:1.55}
.sn-th{margin:14px 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.sn-mini{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.sn-mini button,.sn-close button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:11px;border:1px solid var(--ln);background:var(--pan);transition:border-color .15s}
.sn-mini button:hover,.sn-close button:hover,.sn-mini button:focus-visible,.sn-close button:focus-visible{border-color:var(--gold)}
.sn-mini span:nth-child(2){display:flex;flex-direction:column;font-weight:700;font-size:.9rem;min-width:0}
.sn-mini small{font-weight:500;color:var(--mut);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sn-mini b{color:var(--gold);font-size:.86rem;white-space:nowrap}
.sn-nr{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 5px;border-radius:10px;background:rgba(232,193,92,.14);color:var(--gold);font:800 .92rem/1 Inter,system-ui,sans-serif;flex:none}
.sn-nr.s{min-width:28px;height:28px;font-size:.8rem;border-radius:8px}
.sn-dh{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.sn-dh>div{flex:1;min-width:0}
.sn-dh h3{margin:0;font-size:1.2rem}
.sn-dh p{margin:2px 0 0;color:var(--mut);font-size:.84rem;line-height:1.4}
.sn-x{flex:none;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--mut);font-size:1.2rem;cursor:pointer;line-height:1}
.sn-x:hover{color:var(--fg);border-color:var(--gold)}
.sn-kpi{display:flex;flex-wrap:wrap;gap:8px 22px;padding:10px 0 12px;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);margin-bottom:12px}
.sn-kpi div{display:flex;flex-direction:column}
.sn-kpi small{color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.sn-kpi b{font-size:1.2rem;font-variant-numeric:tabular-nums}
.sn-kpi em{font-style:normal;color:var(--mut);font-size:.74rem}
.sn-rows{display:grid;gap:9px}
.sn-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center}
.sn-row .nm{display:flex;align-items:center;gap:8px;min-width:0;font-size:.92rem}
.sn-row .nm>i{flex:none;width:10px;height:10px;border-radius:3px}
.sn-row .nm span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.sn-row .nm small{display:block;color:var(--mut);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sn-row.w .nm span{font-weight:800}
.sn-row>b{font-variant-numeric:tabular-nums}
.sn-row .bg{grid-column:1/-1;height:6px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden}
.sn-row .bg i{display:block;height:100%;border-radius:3px;transition:width .35s}
.sn-sec{margin-top:16px;padding-top:12px;border-top:1px solid var(--ln)}
.sn-sec h4{margin:0 0 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.sn-cmp{display:grid;gap:6px}
.sn-cmp button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;border:1px solid var(--ln);background:var(--pan);font-size:.86rem}
.sn-cmp button:hover,.sn-cmp button:focus-visible{border-color:var(--gold)}
.sn-cmp b i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}
.sn-cmp span{color:var(--mut);font-size:.8rem}
.sn-sbar{display:flex;height:12px;border-radius:4px;overflow:hidden}
.sn-sl2{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:7px;font-size:.8rem;color:var(--mut)}
.sn-sl2 b{color:var(--fg)}
.sn-src{margin:8px 0 0;color:var(--mut);font-size:.78rem;line-height:1.5}

/* najciaśniejsze */
.sn-close{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:8px}
.sn-close .t{display:flex;flex-direction:column;min-width:0}
.sn-close .t b{font-size:.95rem}
.sn-close .t small{color:var(--mut);font-size:.76rem;line-height:1.45}
.sn-close .t small i{width:8px;height:8px;margin:0 4px 0 2px;border-radius:2px}
.sn-close em{font-style:normal;font-weight:800;color:var(--gold);text-align:right;white-space:nowrap;display:flex;flex-direction:column}
.sn-close em small{font-weight:500;color:var(--mut);font-size:.72rem}
.sn-info ul{margin:10px 0 0;padding-left:1.1em;color:var(--mut);line-height:1.65;font-size:.93rem}
.sn-info b{color:var(--fg)}
.sn-info a{color:var(--gold)}

@media(max-width:899px){
  .sn-grid{grid-template-columns:minmax(0,1fr)}
  .sn-sw{margin-left:0;max-width:none}
}
@media(max-width:600px){
  .sn-ctl{flex-direction:column;align-items:stretch}
  .sn-seg{display:grid}
  .sn-seg button{min-width:0;padding:7px 4px}
  .sn-mapw{padding:4px;border-radius:14px}
  #sn-map .lb{display:none}
  .sn-leg .sc{margin-left:0}
  .sn-close{grid-template-columns:minmax(0,1fr)}
  .sn-det{padding:14px}
  .sn-scen{padding:12px}
}
/* telefon: wiersze listy bez pustych wysokości (siatka liczyła wysokość przy minimalnej szerokości) */
@media(max-width:600px){.sn-close button,.sn-mini button{display:flex;align-items:center;gap:10px}.sn-close .t,.sn-mini span:nth-child(2){flex:1;min-width:0}.sn-close em,.sn-mini b{flex:none}}
/* globalna reguła .t{aspect-ratio:5/6} z arkusza strony psuła wysokość wierszy */.sn-close .t,.sn-mini .t{aspect-ratio:auto}
