/* ══════════════════════════════════════════════════════════════════════
   ŹRÓDŁA DANYCH (zrodla-danych.js) — lista źródeł, karta KSeF, mapowania,
   dziennik. Kolory wyłącznie z palety (paleta.css), wagi 400/500/600.
   ══════════════════════════════════════════════════════════════════════ */
.zd{max-width:1080px}
.zd .karta{margin-top:var(--s5)}
.zd h3{font-size:var(--fs-3);font-weight:600;margin:0 0 var(--s3)}
.zd-nazwa b{display:block;font-weight:600;color:var(--t1)}
.zd-co{display:block;font-size:var(--fs-1);color:var(--t3)}
.zd-lista td{vertical-align:top}
.zd-jak{font-size:var(--fs-1);color:var(--t2);min-width:16rem;max-width:26rem}
.zd-jak a{white-space:nowrap}

.zd-stan{display:inline-block;padding:2px 10px;border-radius:var(--r-pigulka);font-size:var(--fs-1);font-weight:500;
  border:var(--bw) solid var(--line2);color:var(--t2);background:var(--white);white-space:nowrap}
.zd-stan-ok{color:var(--ok);border-color:var(--ok)}
.zd-stan-uwaga{color:var(--risk);border-color:var(--risk);background:var(--risk-l)}
.zd-stan-plik{color:var(--t3)}

.zd-glowa{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-bottom:var(--s3)}
.zd-zdanie{margin:0;color:var(--t1)}
.zd-fakty{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--s3) var(--s5);margin:0 0 var(--s4)}
.zd-fakty div{min-width:0}
.zd-fakty dt{font-size:var(--fs-1);color:var(--t3)}
.zd-fakty dd{margin:2px 0 0;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.zd-kontrola{margin:0 0 var(--s3);font-size:var(--fs-2)}
.zd-kontrola.zd-uwaga,.zd-blad{color:var(--risk)}
.zd-blad{margin:0 0 var(--s3);font-size:var(--fs-1)}
.zd-akcje{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}
.zd-odlacz{color:var(--t2)}

.zd-form{margin-top:var(--s4);padding-top:var(--s4);border-top:var(--bw) solid var(--line2)}
.zd-kroki{margin:0 0 var(--s4);padding-left:1.3em;color:var(--t2);font-size:var(--fs-2)}
.zd-kroki li+li{margin-top:var(--s1)}
.zd-pola{display:grid;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr) minmax(9rem,12rem);gap:var(--s3)}
.zd-pole{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-1);color:var(--t2);min-width:0}
.zd-pole input,.zd-pole select{font:inherit;font-size:var(--fs-2);color:var(--t1);min-height:44px;padding:0 var(--s3);
  border:var(--bw) solid var(--line2);border-radius:var(--r-kontrolka);background:var(--white);width:100%;box-sizing:border-box}
.zd-pole input:focus-visible,.zd-pole select:focus-visible{outline:2px solid var(--gold-d);outline-offset:1px}

.zd-map select{font:inherit;min-height:36px;border:var(--bw) solid var(--line2);border-radius:var(--r-kontrolka);background:var(--white);color:var(--t1)}
.zd-propozycja{font-size:var(--fs-1);color:var(--t3)}
.wb-z-regul{margin:8px 0}.wb-z-regul summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.wb-z-regul-l{margin:4px 0 0;padding-left:18px}

.zd-dziennik{list-style:none;margin:0;padding:0;font-size:var(--fs-1)}
.zd-dziennik li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:var(--s3);padding:var(--s2) 0;border-top:var(--bw) solid var(--line)}
.zd-dziennik li:first-child{border-top:0}
.zd-dziennik time{color:var(--t3);font-variant-numeric:tabular-nums}
.zd-dziennik span{overflow-wrap:anywhere}
.zd-dziennik li.zd-p-blad span{color:var(--risk)}
.zd-dziennik li.zd-p-ostrzezenie span{color:var(--warn)}

@media (max-width:720px){
  .zd-pola{grid-template-columns:minmax(0,1fr)}
  .zd-dziennik li{grid-template-columns:minmax(0,1fr);gap:2px}
  .zd-jak{min-width:0;max-width:none}
  .zd-lista td.zd-jak{margin:var(--s2) 0 0}
}

/* API producentów (12.10.2026): kod połączenia pokazany raz, zgody gabinetu */
.zd-kod{margin:0 0 var(--s3);padding:var(--s3);border:var(--bw) solid var(--line);border-radius:var(--r-wewn);background:var(--paper)}
.zd-kod p{margin:0 0 var(--s2)}
.zd-kod-w{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-1);overflow-wrap:anywhere;user-select:all}
.zd-zgody{margin:0 0 var(--s3);padding-left:1.1rem}
.zd-zgody li{margin-bottom:var(--s2)}
.zd-zakres{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);margin:var(--s3) 0;padding:0;border:0}
.zd-zakres legend{width:100%;margin-bottom:var(--s2);font-weight:600}
.zd-zakres label{display:inline-flex;gap:6px;align-items:center;min-height:44px}

.wb-tytul{margin:4px 0}.wb-tytul summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.wb-tytul-pola{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.wb-tytul-pola label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.wb-tytul-pola input,.wb-tytul-pola select{min-height:44px;max-width:100%}
@media (max-width:760px),(pointer:coarse){.wb-reguly .btn.mini{min-height:44px}}
.wb-regula-nazwa{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px}
.wb-reguly select{max-width:100%;box-sizing:border-box}
.zd-token.zd-uwaga{color:var(--risk)}
.zd-token-info{margin:0 0 var(--s3);font-size:var(--fs-1);color:var(--t2)}
.zd-token-info>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.zd-token-info p{margin:0 0 var(--s2)}

/* ═══ M2 (20.10.2026): Połączenia na telefonie — karty KSeF i Wyciągu przed katalogiem źródeł ═══
   Pomiar 375×812: katalog źródeł (tabela kart, ok. 1500 px) stał przed kartami, więc „Wczytaj fakturę”
   zaczynało się 1810 px od góry, a wybór pliku wyciągu 2048 px. Tylko kolejność (CSS), treść bez zmian. */
@media (max-width:560px){
  .zd{display:flex;flex-direction:column}
  .zd>*{min-width:0}
  .zd>.zd-ksef{order:1}
  .zd>.wb{order:2}
  .zd>.scr{order:3}
  .zd>.karta:not(.zd-ksef):not(.wb){order:4}
}
