/* =====================================================================================
   siec.css v1 (7.10.2026): strona „Sprawdź sieć" (sprawdz-siec.html), lista i karta stacji.
   Z zatwierdzonej makiety ~/dev/toze-projekty/2026-10-05-sprawdz-siec (assets/siec.css, wersje 2, 3, 3a)
   i WYŁĄCZNIE to, czego wspólne arkusze assets/wyszukiwarka-rejestr.css i karta-jednostki.css nie mają.
   Żadnej nowej miary ani barwy: każda reguła niżej jest kopią istniejącej reguły z innym selektorem,
   źródło w komentarzu. Drobny druk najmniej 14 px (próg TOZE, tools/check_min_font.py).
   ===================================================================================== */

/* 1. Podpowiedzi pod polem z etykietą typu. Geometria jak lista podpowiedzi adresu
      (adres-podpowiedzi.js: top calc(100% + 4px), padding 4px, ramka 1px, promień 10px, ten sam cień,
      max-height 280px), barwy i krój z tokenów rejestru; pozycja jak wiersz listy (.rj-w). */
.rj .sn-pole{position:relative;flex:1;min-width:0;display:flex}
.rj .sn-pole input{width:100%}
.rj .sn-podp{position:absolute;left:-32px;right:0;top:calc(100% + 4px);z-index:60;margin:0;padding:4px;list-style:none;
  background:var(--rj-bialy);border:1px solid var(--rj-linia);border-radius:10px;box-shadow:0 18px 40px -22px rgba(17,48,46,.45);
  max-height:280px;overflow:auto}
.rj .sn-podp[hidden]{display:none}
.rj .sn-podp li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 10px;border-radius:7px;cursor:pointer;
  font:400 16px/1.35 var(--rj-font);color:var(--rj-ink)}
.rj .sn-podp li[aria-selected="true"]{background:var(--rj-hover)}
.rj .sn-podp li b{font-weight:600}
.rj .sn-podp li small{display:block;font-size:14px;color:var(--rj-slaby)}
/* etykieta typu: szara pigułka wzoru (.rj-pig.rj-szary) */
.rj .sn-podp .rj-pig{justify-self:auto;flex:none}

/* 2. Wybór warstwy mapy: kopia kontrolki „Sortuj" (.rj .rj-grupa .rj-sort, label i select). */
.rj .sn-warstwa{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.rj .sn-warstwa label{font-size:14px;font-weight:600;color:var(--rj-tekst)}
.rj .sn-warstwa select{flex:1;min-width:0;height:40px;border:1px solid var(--rj-ramka);border-radius:6px;padding:0 10px;
  font:500 14.4px var(--rj-font);background:var(--rj-bialy);color:var(--rj-ink)}
.rj .sn-warstwa select:focus-visible{outline:2px solid var(--rj-akcent);outline-offset:1px}

/* 3. Zasłona „•••" jako odnośnik do cennika. Regułę kłódki (.sn-klodka) niesie od pakietu P6 (7.10.2026)
      wspólny arkusz assets/wyszukiwarka-rejestr.css: jeden znak zasłony w całym serwisie (decyzja AL nr 29). */
.rj a.rj-zasl{text-decoration:none;color:var(--rj-zasl)}
.rj a.rj-zasl:focus-visible{outline:2px solid var(--rj-akcent);outline-offset:1px;border-radius:3px}

/* 4. Pas faktów karty stacji: ostatnie pole (pigułka „Elastyczność") bierze szerokość pigułki, a pozostałe
      dzielą resztę po równo; pigułka się nie łamie. Ta sama reguła co pas karty jednostki
      (karta-jednostki.css, sekcja 6). Karta bez wiersza wykazu ma mniej pól. */
.rj .rj-fakty.sn-fakty-7{grid-template-columns:repeat(6,minmax(0,1fr)) max-content}
.rj .rj-fakty.sn-fakty-6{grid-template-columns:repeat(5,minmax(0,1fr)) max-content}
.rj .rj-fakty.sn-fakty-5{grid-template-columns:repeat(4,minmax(0,1fr)) max-content}
.rj .rj-fakty.sn-fakty-4{grid-template-columns:repeat(3,minmax(0,1fr)) max-content}
.rj .rj-fakty[class*="sn-fakty-"] .rj-pig{white-space:nowrap}

/* 5. Odnośnik w komórce tabeli i w wierszu listy kart: wygląd odnośnika dostawcy w tabeli aukcji
      (karta-jednostki.css: .jw-tab-aukcje td[data-lab="Dostawca"] a). */
.rj .rj-tab td a.sn-link,.rj .rj-w-m a.sn-link{color:var(--rj-akcent);font-weight:600;text-decoration:none}
.rj .rj-tab td a.sn-link:hover,.rj .rj-w-m a.sn-link:hover{text-decoration:underline;text-underline-offset:3px}
.rj .rj-tab td a.sn-link:focus-visible{outline:2px solid var(--rj-akcent);outline-offset:2px;border-radius:3px}

/* 6. Dział „Zestawienia" pod siatką wyników: odstęp jak siatki od karty wyszukiwania (.rj .rj-split, 26 px). */
.rj .rj-split+.rj-sek{margin-top:26px}

/* 7. Licznik i źródło w nagłówku sekcji karty stoją po prawej (jak #przyklad .rj-sek-h em w dzialka-rejestr.css). */
.rj .sn-sek-zr{margin-left:auto;text-align:right}

/* 8. Najważniejsze filtry na wierzchu (AL 5.10.2026 po pokazie: „więcej opcji wyszukiwania"): te same pola .rj-f co
      w rozwijaku „Więcej filtrów", w odstępach rozwijaka (.rj-filtry: margin 14px 8px 0), w jednym rzędzie: liczba
      kolumn równa liczbie pól, jak wariant pasa liczb .rj-liczby.rj-5; selecty wyrównane do dołu, gdy etykieta się łamie. */
.rj .sn-wierzch{margin:14px 8px 0}
.rj .sn-wierzch .rj-siatka{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
/* wygaszone pole wyboru wygląda jak wygaszone pole liczby (.rj .rj-f input:disabled we wspólnym arkuszu) */
.rj .rj-f select:disabled{background:var(--rj-tlo);color:#8a8a8a;cursor:not-allowed}
.rj .rj-f select:disabled:hover{border-color:var(--rj-ramka)}
/* kontrolka „Promień" to ta sama .rj-sort co „Sortuj"; display:flex wzoru przebija hidden (jak .rj .rj-pg[hidden] w oferty-rejestr.css) */
.rj .rj-sort[hidden]{display:none}
/* select „Sortuj" i „Promień" w kolumnie listy: bez min-width:0 najdłuższa opcja („zapotrzebowanie na elastyczność")
   rozpychała kolumnę na telefonie (zmierzone 5.10.2026: scrollWidth 395 i 510 przy oknie 390) */
.rj .rj-split .rj-grupa .rj-sort select{min-width:0}
/* kopia reguły z oferty-rejestr.css: kolumna 1fr na telefonie ma minimum auto, więc treść ją rozpychała */
.rj .rj-split>.rj-wyniki,.rj .rj-split>.rj-prawa{min-width:0}
/* przycisk „Obserwuj stację" to .rj-b2 jako <button>: dziedziczy krój z .rj-b2, gwiazda wypełnia się po włączeniu */
.rj button.rj-b2{font:600 16px var(--rj-font)}
.rj #snObserwuj[aria-pressed="true"] svg{fill:currentColor}
/* stronicowanie i pas liczb w stanie awarii zbioru (kopia oferty-rejestr.css: .rj .rj-pg[hidden], .rj .rj-liczby[hidden]) */
.rj .rj-pg[hidden],.rj .rj-liczby[hidden]{display:none}
/* pas liczb przy „Szukaj w: jednostki”: jeden kafel na cala szerokosc (bez pustych kolumn), takze na telefonie */
.rj .rj-liczby.sn-1{grid-template-columns:minmax(0,1fr)}
/* lista warstw mapy nie dyktuje szerokosci kolumny: najdluzsza opcja („… (pelny dostep)”) rozpychala na telefonie
   kolumne listy o ok. 110 px przy „Szukaj w: jednostki” (pomiar 8.10.2026) */
.rj .rj-split .rj-sekcja{min-width:0}
.rj #warstwa{min-width:0;max-width:100%}

/* 9. Tabele karty: pogrubienie wartości, drobny dopisek pod wartością i kolumna „Źródło i data"
      (kopie z dzialka-rejestr.css: .rj .rj-tab td b, .rj .rj-tab td small, .rj .dz-zr, .rj .rj-sek>.rj-baton,
      .rj .rj-sek .rj-baton .rj-tab; makieta ładowała cały arkusz działki, strona bierze tylko te reguły). */
.rj .rj-tab td b{font-weight:700}
.rj .rj-tab td small{display:block;margin:2px 0 0;font-size:14px;line-height:1.45;color:var(--rj-slaby)}
.rj .sn-zr{white-space:normal!important;max-width:24em;font-size:14.4px;color:var(--rj-tekst)}
.rj .rj-sek>.rj-baton{margin:14px 0 0}
.rj .rj-sek .rj-baton .rj-tab{margin-top:6px}
/* rozwijak źródeł z klasą zastrzezenia bez kreski nad sobą (dzialka-rejestr.css i rejestr-ure.html) */
.rj details.rj-baton.zastrzezenia{border-top:0;padding-top:0}
.rj details.rj-baton.zastrzezenia>summary{min-height:0}

/* 10. Tryb karty (adres ?stacja=): wyszukiwarka, lista, mapa, zestawienia i noty listy schodzą, zostaje karta stacji.
       Klasę stawia skrypt zaraz za otwarciem main.rj, jak w rejestr-ure.html (.rj.rj-tryb-karty); karta stoi w #snKarta. */
.rj.rj-tryb-karty>.sn-tylko-lista{display:none}
/* #snKarta to <section>, a styl.css daje kazdej sekcji padding-block 8px; kontener karty makiety (div#karta) go nie mial */
.rj #snKarta{display:block;margin:0;padding:0}
.rj #snKarta[hidden]{display:none}
.rj #snKarta:focus,.rj #snKarta:focus-visible{outline:none}
/* ekran konta (assets/bramka-konta.css) w miejscu karty: kopia .rj #jwKarta .bk-gate z karta-jednostki.css */
.rj #snKarta .bk-gate{background:var(--rj-bialy);border:1px solid var(--rj-linia);border-radius:12px;padding:24px 24px 22px;font-family:var(--rj-font)}
.rj #snKarta .bk-gate h2{font:700 22px/1.3 var(--rj-font);letter-spacing:-.01em;color:var(--rj-ink)}
.rj #snKarta .bk-gate p,.rj #snKarta .bk-gate li{color:var(--rj-tekst)}
.rj #snKarta .bk-btn{border-radius:var(--rj-r);border-color:var(--rj-ramka);font:600 16px var(--rj-font);color:var(--rj-akcent-ciem)}
.rj #snKarta .bk-btn.primary{background:var(--rj-akcent);border-color:var(--rj-akcent);color:#fff}
.rj #snKarta .bk-btn.primary:hover{background:var(--rj-akcent-ciem);border-color:var(--rj-akcent-ciem)}
/* mapa położenia w sekcji karty: odstęp od tabeli jak siatki od karty (makieta: style margin-top 14px) */
.rj #stMapa{margin-top:14px}
/* druga lista ofert pod zdaniem (makieta: style margin-top 12px) */
.rj .rj-lista.sn-dalej{margin-top:12px}

@media (max-width:1100px){
  .rj .rj-fakty.sn-fakty-7{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px}
  .rj .rj-fakty.sn-fakty-4,.rj .rj-fakty.sn-fakty-5,.rj .rj-fakty.sn-fakty-6{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}
  .rj .rj-fakty.sn-fakty-5>div:nth-child(4),.rj .rj-fakty.sn-fakty-6>div:nth-child(4){border-left:0}
  .rj .rj-fakty.sn-fakty-5>div:nth-child(5),.rj .rj-fakty.sn-fakty-6>div:nth-child(5){border-left:1px solid var(--rj-linia)}
}
@media (max-width:980px){
  .rj .sn-wierzch .rj-siatka{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  /* telefon: ikona, nazwa i licznik w jednym rzędzie, źródło pod nimi, wcięte do nazwy (ikona 18 px + odstęp 10 px) */
  .rj .rj-sek-h:has(.sn-sek-zr){flex-wrap:wrap}
  .rj .rj-sek-h:has(.sn-sek-zr) h2{flex:1 1 0;min-width:0}
  .rj .sn-sek-zr{flex-basis:100%;margin-left:0;padding-left:28px;text-align:left}
  .rj .sn-zr{max-width:none}
}
@media (max-width:640px){
  .rj .sn-podp{left:-6px;right:-6px}
  /* telefon: rząd filtrów w dwóch kolumnach (wzór daje tu jedną kolumnę dla siatki w rozwijaku) */
  .rj .sn-wierzch{margin:12px 0 0}
  .rj .sn-wierzch .rj-siatka{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
  /* dwie kolumny po ok. 166 px: węższy margines wewnętrzny, żeby wartość domyślna z licznikiem („wszystkie (2 630)") mieściła się w polu */
  .rj .sn-wierzch .rj-f select{padding:0 2px 0 8px}
  /* pigułka „Elastyczność" (ostatnie pole pasa) na całą szerokość, jak pole rejestrów na karcie jednostki */
  .rj .rj-fakty[class*="sn-fakty-"]>div:last-child{grid-column:1/-1;border-left:0;padding-left:0}
  /* „Karta firmy operatora" na całą szerokość: ikona przy napisie, pośrodku (jak .rj #jwKarta .rj-b1) */
  .rj #snKarta .rj-b1,.rj #snKarta #snObserwuj{justify-content:center}
  .rj .rj-fakty.sn-fakty-4,.rj .rj-fakty.sn-fakty-5,.rj .rj-fakty.sn-fakty-6,.rj .rj-fakty.sn-fakty-7{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rj .rj-fakty.sn-fakty-5>div:nth-child(odd),.rj .rj-fakty.sn-fakty-6>div:nth-child(odd){border-left:0;padding-left:0}
  .rj .rj-fakty.sn-fakty-5>div:nth-child(even),.rj .rj-fakty.sn-fakty-6>div:nth-child(even){border-left:1px solid var(--rj-linia)}
  /* tabela jako pary „etykieta: wartość": pusta komórka nie zostawia samej etykiety (kopia .rj #jwKarta .rj-tab td:empty) */
  .rj #snKarta .rj-tab td:empty{display:none}
}

/* 9. Panel warstw NA mapie (AL 16.10.2026: „Warstwa” w zwiniętym polu była niewidoczna, ludzie nie wiedzieli o warstwach;
      wzór TAURON „Mapa energii”). Kafle są widokiem ukrytego pola #warstwa. Barwy i krój z tokenów rejestru, cień jak
      lista podpowiedzi (sekcja 1), promień jak mapa (12 px). Od 981 px panel leży w prawym górnym rogu mapy i zwija się
      do samych kwadratów; do 1279.98 px (mapa węższa niż ok. 800 px, panel zjadałby kadr: Polska schodziła do zoomu 5
      na 1000 i 1101 px, pomiar 16.10.2026) kafle stoją nad mapą, tak samo w jednej kolumnie telefonu. Ten sam próg
      co pełny pasek menu. */
.rj .sn-mapa-ramka{position:relative}
.rj .sn-warstwy{position:absolute;top:12px;right:12px;z-index:2;width:264px;padding:6px;background:var(--rj-bialy);
  border:1px solid var(--rj-linia);border-radius:12px;box-shadow:0 18px 40px -22px rgba(17,48,46,.45)}
.rj .sn-warstwy-h{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:0 2px 4px 10px}
.rj .sn-warstwy-h span{font:700 15px/1.2 var(--rj-font);color:var(--rj-ink)}
.rj .sn-warstwy-zwin{flex:none;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:none;
  color:var(--rj-slaby);cursor:pointer}
.rj .sn-warstwy-zwin:hover{background:var(--rj-szary-tlo);color:var(--rj-ink)}
.rj .sn-warstwy-zwin:focus-visible{outline:2px solid var(--rj-akcent);outline-offset:1px}
.rj .sn-warstwy-lista{display:flex;flex-direction:column;gap:2px}
.rj .sn-w{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;
  padding:6px 12px 6px 6px;border:1px solid transparent;border-radius:9px;background:none;text-align:left;cursor:pointer;
  font:500 15px/1.25 var(--rj-font);color:var(--rj-ink)}
.rj .sn-w:hover{background:var(--rj-hover)}
.rj .sn-w:focus-visible{outline:2px solid var(--rj-akcent);outline-offset:1px}
.rj .sn-w-ik{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--rj-akcent-tlo);color:var(--rj-akcent);
  transition:background-color .15s,color .15s}
.rj .sn-w-n .sn-klodka{margin-left:2px}
.rj .sn-w-l{font:600 14px/1 var(--rj-font);color:var(--rj-slaby);font-variant-numeric:tabular-nums;white-space:nowrap}
.rj .sn-w[aria-checked="true"]{background:var(--rj-akcent-tlo);border-color:#cfe6e4}
.rj .sn-w[aria-checked="true"] .sn-w-ik{background:var(--rj-akcent);color:var(--rj-bialy)}
.rj .sn-w[aria-checked="true"] .sn-w-n{font-weight:700}
.rj .sn-w[aria-checked="true"] .sn-w-l{color:var(--rj-akcent-ciem)}
.rj .sn-w[aria-disabled="true"]{cursor:not-allowed;opacity:.5}
.rj .sn-w[aria-disabled="true"]:hover{background:none}
/* zwinięty: kolumna samych kwadratów, nazwa zostaje w aria-label i dymku */
.rj .sn-warstwy.sn-zwiniete{width:auto}
.rj .sn-warstwy.sn-zwiniete .sn-warstwy-h{justify-content:center;padding:0 0 4px}
.rj .sn-warstwy.sn-zwiniete .sn-warstwy-h span,.rj .sn-warstwy.sn-zwiniete .sn-w-n,.rj .sn-warstwy.sn-zwiniete .sn-w-l{display:none}
.rj .sn-warstwy.sn-zwiniete .sn-w{grid-template-columns:40px;padding:5px;min-height:0}
.rj .sn-warstwy.sn-zwiniete .sn-warstwy-zwin svg{transform:rotate(180deg)}
/* pusty wybór (mapa ukryta): panel stoi nad komunikatem zamiast leżeć na nim */
.rj .sn-mapa-ramka:has(>#snMapa[hidden]) .sn-warstwy{position:static;width:auto;margin:0 0 12px;box-shadow:none}
@media (max-width:1279.98px){
  .rj .sn-warstwy{position:static;width:auto;margin:0 0 12px;padding:8px;box-shadow:none}
  .rj .sn-warstwy-zwin{display:none}
  .rj .sn-warstwy-h{padding:0 2px 6px 4px;min-height:0}
  .rj .sn-warstwy-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:6px}
  /* liczba pod nazwą: w połowie szerokości telefonu nazwa z kłódką nie mieści się obok liczby */
  .rj .sn-w{grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:2px;min-height:56px;
    padding:7px 10px 7px 7px;border-color:var(--rj-linia)}
  .rj .sn-w[data-w="fx"]{grid-column:1/-1}
  .rj .sn-w-ik{grid-row:1/3;width:36px;height:36px}
  .rj .sn-w-n{align-self:end}
  .rj .sn-w-l{grid-column:2;align-self:start;justify-self:start;font-weight:500}
  .rj .sn-warstwy.sn-zwiniete .sn-w-n,.rj .sn-warstwy.sn-zwiniete .sn-w-l,.rj .sn-warstwy.sn-zwiniete .sn-warstwy-h span{display:revert}
}
