/* ══════════════════════════════════════════════════════════════════════
   koordynator-panel.css — moduł „Koordynator” w panelu (koordynator-panel.js)

   Przeniesione z zaakceptowanej makiety (`makiety/v10-koordynator.html`).
   Karty, siatka, kafle, przyciski i znaczniki priorytetu biorą klasy
   ekranu Dzisiaj (`d10-*`, dzisiaj.css) — jeden wygląd w całym panelu.
   Tu tylko to, czego Dzisiaj nie ma, z przedrostkiem `ko-` pod `.ko`.
   Kolory, kroje, rozmiary (`--fs-*`), promienie i odstępy: wyłącznie
   tokeny z paleta.css. Wagi 400/500/600.
   ══════════════════════════════════════════════════════════════════════ */
.ko [hidden]{display:none!important}
.ko a{color:inherit}
.ko-wstecz{margin:0 0 var(--s3);font-size:var(--fs-1)}
.ko-wstecz a{color:var(--gold-d);font-weight:600;text-decoration:none}
.ko-wstecz a:hover{text-decoration:underline;text-underline-offset:3px}
.ko-komunikat{margin:0 0 var(--s4)}
.ko-opis{margin:0 0 10px;color:var(--t2);font-size:var(--fs-1);line-height:1.5}
.ko code{font-size:var(--fs-0);overflow-wrap:anywhere;word-break:break-all}

/* ── górna linia i filtry ── */
.ko-gora{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);margin:0 0 var(--s4)}
.ko-filtry{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;min-width:0}
.ko-filtry label{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--t3)}
.ko-filtry .d10-kontrolka{text-transform:none;letter-spacing:0;max-width:220px}

/* ── moduł danych kontaktowych ── */
.ko-modul{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 var(--s4);padding:14px 18px;border-radius:var(--r-wewn);
  background:var(--karta);border:var(--bw) solid var(--line2)}
.ko-modul svg{width:20px;height:20px;flex:0 0 auto;color:var(--gold-d)}
.ko-modul p{flex:1 1 320px;margin:0;font-size:var(--fs-1);color:var(--t2);min-width:0}
.ko-modul p b{color:var(--t1);font-weight:600}

/* ── kolejka: nowe / w toku / komplet ── */
.ko-kolejka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.ko-kol{min-width:0;padding:12px;border-radius:var(--r-powierzchnia);background:var(--bok);border:var(--bw) solid var(--line)}
.ko .ko-kol-g{display:flex;align-items:center;gap:8px;margin:0;padding:2px 4px 12px;font-size:var(--fs-1);font-weight:600}
.ko-kol-g small{margin-left:auto;font-weight:500;color:var(--t3);font-size:var(--fs-0);text-align:right}
.ko-zn{width:10px;height:10px;border-radius:3px;flex:0 0 auto;background:var(--gold)}
.ko-zn.toku{background:var(--warn)}.ko-zn.komplet{background:var(--ok)}
.ko-karty{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ko-kp{position:relative;display:grid;gap:8px;min-width:0;padding:14px 14px 12px 16px;border-radius:var(--r-wewn);background:var(--white);
  border:var(--bw) solid var(--line);box-shadow:0 1px 2px rgba(35,32,27,.04)}
.ko-kp::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
.ko-kp.toku::before{background:var(--warn)}.ko-kp.komplet::before{background:var(--ok)}
.ko-kp p{margin:0;font-size:var(--fs-1);color:var(--t2);overflow-wrap:anywhere}
.ko-kp-g{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.ko-pseudonim{font-weight:600;white-space:nowrap;text-decoration:none}
.ko-pseudonim:hover{text-decoration:underline;text-underline-offset:3px}
.ko-kw{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.ko-zad{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--paper);font-size:var(--fs-1);min-width:0}
.ko-zad svg{width:14px;height:14px;flex:0 0 auto;color:var(--t3)}
.ko-zad span:first-of-type{min-width:0}
.ko-kiedy{margin-left:auto;font-weight:600;white-space:nowrap}
.ko-kiedy.pilne{color:var(--risk)}
.ko-kp-d{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:var(--fs-0);color:var(--t3)}
.ko-kontakt{margin-left:auto;display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 9px;border-radius:var(--r-kontrolka);
  border:var(--bw) dashed var(--line2);background:none;color:var(--t3);font:inherit;font-size:var(--fs-0);font-weight:600;cursor:not-allowed;text-decoration:none}
.ko-kontakt.wl{border-style:solid;color:var(--t1);cursor:pointer}
.ko-kontakt svg{width:12px;height:12px}
.ko-flagi{display:flex;flex-wrap:wrap;gap:6px}
.ko-flaga{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--r-pigulka);font-size:var(--fs-0);font-weight:600;
  color:var(--warn);background:rgba(138,97,21,.08);border:var(--bw) solid rgba(138,97,21,.24);overflow-wrap:anywhere}
.ko-pusto{margin:0;padding:16px;text-align:center;color:var(--t3);font-size:var(--fs-1)}
.ko-wiecej,.ko-zamkniete{margin-top:10px}
.ko-wiecej summary,.ko-zamkniete summary{cursor:pointer;padding:8px 2px;font-size:var(--fs-1);font-weight:600;color:var(--gold-d)}
.ko-zamkniete .ko-karty{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.d10-chip.ok{color:var(--ok);border-color:rgba(47,107,79,.3);background:rgba(47,107,79,.07)}

/* ── nowy przypadek i formularze ── */
.ko-nowy{margin:0 0 var(--s4)}
.ko-nowy:not([open]){margin:0}
.ko-nowy summary{list-style:none}
.ko-nowy summary::-webkit-details-marker{display:none}
.ko-nowy[open] .ko-form{padding:16px;border-radius:var(--r-wewn);background:var(--karta);border:var(--bw) solid var(--line)}
.ko-form h3{margin:0 0 6px}
.ko-pola{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;margin:0 0 10px}
.ko-pola label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:var(--fs-1);font-weight:500;color:var(--t2)}
.ko-pola .ko-szer{grid-column:1 / -1}
.ko-pola input:not([type=checkbox]),.ko-pola select,.ko-pola textarea{width:100%;min-width:0;min-height:38px;padding:7px 10px;
  border:var(--bw) solid var(--line2);border-radius:var(--r-kontrolka);background:var(--white);font:inherit;font-size:var(--fs-1);color:var(--t1)}
.ko-pola textarea{resize:vertical}
.ko-pola input:focus-visible,.ko-pola select:focus-visible,.ko-pola textarea:focus-visible{outline:2px solid var(--gold-d);outline-offset:1px}
.ko-pola .ko-check{flex-direction:row;align-items:center;gap:8px;min-height:38px;color:var(--t1)}
.ko-pola .ko-check input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--ink)}
.ko-akcje{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ko-dowod-opis{margin:0 0 10px;padding:10px 12px;border-radius:var(--r-wewn);background:var(--karta);border:var(--bw) solid var(--line);
  font-size:var(--fs-1);color:var(--t2);overflow-wrap:anywhere}
.ko-dowod-opis b{color:var(--t1);font-weight:600}

/* ── tabela zadań (na telefonie karty) ── */
.ko-tab{width:100%;border-collapse:collapse;font-size:var(--fs-1)}
.ko-tab th{text-align:left;font-size:var(--fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--t3);
  padding:0 10px 10px;border-bottom:var(--bw) solid var(--line)}
.ko-tab td{padding:12px 10px;border-bottom:var(--bw) solid var(--line);vertical-align:top}
.ko-tab tr:last-child td{border-bottom:0}
.ko-glowna b{display:block;font-weight:600}
.ko-glowna small{display:block;color:var(--t3);font-size:var(--fs-0);margin-top:2px}
.ko-tab td a{color:var(--t1);font-weight:600}
.ko-tab .d10-prio{margin:0}

/* ── plan przypomnień ── */
.ko-wylaczona,.ko-stan{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pigulka);white-space:nowrap;
  font-size:var(--fs-0);font-weight:600;color:var(--risk);background:rgba(165,63,63,.08);border:var(--bw) solid rgba(165,63,63,.22)}
.ko-stan.wl{color:var(--ok);background:rgba(47,107,79,.09);border-color:rgba(47,107,79,.25)}
.ko-plan{list-style:none;margin:0;padding:0}
.ko-plan li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.4fr);gap:4px 16px;padding:10px 0;border-top:var(--bw) solid var(--line);font-size:var(--fs-1)}
.ko-plan li:first-child{border-top:0}
.ko-plan-co a{font-weight:600;color:var(--t1)}
.ko-plan-kiedy{font-weight:600;font-variant-numeric:tabular-nums}
.ko-plan-kiedy.gotowe{color:var(--warn)}
.ko-plan-powod{color:var(--t3)}

/* ── przypadek ── */
.ko-glowa{border-left:3px solid var(--gold)}
.ko-glowa.toku{border-left-color:var(--warn)}.ko-glowa.komplet{border-left-color:var(--ok)}
.ko-glowa h2{margin:0}
.ko-glowa .ko-kp-g{margin-bottom:8px}
.ko-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 20px;margin:14px 0 0}
.ko-info div{min-width:0}
.ko-info dt{font-size:var(--fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--t3)}
.ko-info dd{margin:2px 0 0;font-size:var(--fs-1);color:var(--t1);overflow-wrap:anywhere}
.ko-glowa .ko-dowod-opis{margin-top:14px}
.ko-zadania{list-style:none;margin:0;padding:0}
.ko-zadania li{display:grid;gap:2px;padding:12px 0;border-top:var(--bw) solid var(--line)}
.ko-zadania li:first-child{border-top:0;padding-top:0}
.ko-zadania li.zamkniete{opacity:.65}
.ko-zadania small{color:var(--t3);font-size:var(--fs-0)}
.ko-historia{list-style:none;margin:0;padding:0}
.ko-historia li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 16px;padding:10px 0;border-top:var(--bw) solid var(--line);font-size:var(--fs-1)}
.ko-historia li:first-child{border-top:0;padding-top:0}
.ko-historia li.pominiete .ko-h-co b{text-decoration:line-through;text-decoration-color:var(--t3)}
.ko-h-kiedy{color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap}
.ko-h-co{min-width:0;overflow-wrap:anywhere}
.ko-h-co small{color:var(--t3);margin-left:4px}
.ko-h-co .ko-flaga{margin-left:6px}
.ko-dowod{display:block;margin-top:3px;font-size:var(--fs-0);color:var(--t2)}
.ko-kontakt-dane{margin:0 0 12px;font-size:var(--fs-2)}
.ko-tylko{color:var(--t3)}
.ko-dz .d10-chip{margin-right:6px}

@media (max-width:1180px){
  .ko-kolejka{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .ko-filtry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
  .ko-filtry .d10-kontrolka{width:100%;max-width:none}
  .ko-kol{padding:10px}
  .ko-tab thead{display:none}
  .ko-tab,.ko-tab tbody,.ko-tab tr,.ko-tab td{display:block;width:100%}
  .ko-tab tr{padding:12px 0;border-bottom:var(--bw) solid var(--line)}
  .ko-tab tr:last-child{border-bottom:0}
  .ko-tab td{padding:3px 0;border:0}
  .ko-tab td[data-et]{display:flex;gap:8px;justify-content:space-between;align-items:center}
  .ko-tab td[data-et]::before{content:attr(data-et);font-size:var(--fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--t3)}
  .ko-plan li{grid-template-columns:minmax(0,1fr)}
  .ko-historia li{grid-template-columns:minmax(0,1fr)}
  .ko-modul{padding:12px 14px}
  .ko-zamkniete .ko-karty{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:360px){
  .ko-filtry{grid-template-columns:minmax(0,1fr)}
}

/* ── Z3 (19.10.2026): zwarty ekran „Pacjenci i plany” ──
   Wskaźniki w czterech kolumnach (wcześniej cztery pełne wiersze bez układu),
   rzadziej używany plan przypomnień pod „Pokaż plan”, ciaśniejsza tabela zadań. */
.ko .d10-kafle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 10px}
.ko .d10-kafle>.d10-kafel{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px}
.ko .d10-kafel .d10-et{font-size:var(--fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--t3)}
.ko .d10-kafel .d10-w{font-size:var(--fs-5);font-weight:500;line-height:1.15;font-variant-numeric:tabular-nums}
.ko .d10-kafel .d10-w small{margin-left:4px;font-size:var(--fs-1);font-weight:400;color:var(--t3)}
.ko .d10-kafel .d10-por{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:var(--fs-1);color:var(--t2)}
.ko .d10-kafel .d10-delta{font-weight:600}
@media(max-width:1100px){.ko .d10-kafle{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ko .d10-kafle{grid-template-columns:minmax(0,1fr);gap:6px}}
.ko-plan-det>summary{cursor:pointer;padding:8px 0;font-size:var(--fs-1);font-weight:600;color:var(--gold-d)}
.ko-tab td{padding:7px 10px}

/* ── L1 (19.10.2026): „Pacjenci i plany” — wskaźniki i początek kolejki w pierwszym ekranie ──
   Kolejka to zwarta lista wierszy zamiast dużych kart (trzy grupy jedna pod drugą),
   przycisk „Kontakt” bez modułu danych kontaktowych (nieaktywny) nie powtarza się w każdym
   wierszu, a tabela zadań pokazuje trzy pierwsze, reszta pod „Pokaż wszystkie”.
   Przykładowy pas u góry strony zastępuje powtórzoną ramkę „Dane przykładowe”. */
body:has(.przyklad-pas:not([hidden])) .ko .d10-demo{display:none}
.ko-modul{margin:0 0 10px;padding:8px 14px;gap:10px}
.ko-gora{margin:0 0 10px}
.ko-kolejka{grid-template-columns:minmax(0,1fr);gap:8px}
.ko-kol{padding:6px 12px 4px}
.ko .ko-kol-g{padding:2px 0 6px}
.ko-karty{gap:0}
.ko-kp{gap:3px 10px;padding:6px 4px 6px 12px;border:0;border-top:var(--bw) solid var(--line);border-radius:0;background:none;box-shadow:none}
.ko-karty>.ko-kp:first-child{border-top:0}
.ko-kp::before{top:5px;bottom:5px}
.ko-zad{padding:3px 8px}
.ko-kp-d{gap:2px 10px}
.ko-kontakt[disabled]{display:none}
.ko-wiecej,.ko-zamkniete{margin-top:2px}
.ko-wiecej summary,.ko-zamkniete summary,.ko-zad-wiecej summary{padding:6px 2px}
.ko-zad-wiecej{margin-top:4px}
.ko-zad-wiecej summary{cursor:pointer;font-size:var(--fs-1);font-weight:600;color:var(--gold-d)}
.ko-zamkniete .ko-karty{grid-template-columns:minmax(0,1fr)}
.d10-przypis{margin:8px 0 0}
@media (min-width:1101px){
  /* wiersz: pseudonim i kwota | etap | następny krok | osoba i lekarz */
  .ko-kp{grid-template-columns:128px minmax(0,2.3fr) minmax(0,1.3fr) minmax(0,.9fr);align-items:center;column-gap:16px;row-gap:2px}
  .ko-kp>.ko-kp-g{grid-column:1;grid-row:1 / span 2}
  .ko-kp>p{grid-column:2;grid-row:1}
  .ko-kp>.ko-flagi{grid-column:2;grid-row:2}
  .ko-kp>.ko-zad{grid-column:3;grid-row:1 / span 2}
  .ko-kp>.ko-kp-d{grid-column:4;grid-row:1 / span 2}
  .ko-kp>.ko-kp-g .ko-kw{margin-left:auto}
}
@media (min-width:641px){
  .ko-tab{table-layout:fixed}
  .ko-tab th:nth-child(1),.ko-tab td:nth-child(1){width:46%}
  .ko-tab th:nth-child(2),.ko-tab td:nth-child(2){width:11%}
  .ko-tab th:nth-child(3),.ko-tab td:nth-child(3){width:14%}
  .ko-tab th:nth-child(4),.ko-tab td:nth-child(4){width:10%}
  .ko-tab th:nth-child(5),.ko-tab td:nth-child(5){width:19%}
}
@media (max-width:640px){
  .ko-kol{padding:4px 8px 2px}
  .ko-kp{padding:7px 2px 7px 10px}
}
@media (max-width:480px){
  /* wskaźniki po dwa w rzędzie */
  .ko .d10-kafle{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .ko .d10-kafle>.d10-kafel{padding:8px 10px}
}
/* lejek i powody utraty — niżej na stronie, obok siebie i bez powtórzonego opisu */
.ko [data-ko-sekcja="lejek"] .d10-k-opis,.ko [data-ko-sekcja="powody"] .d10-k-opis{display:none}
@media (min-width:1101px){
  .ko [data-ko-sekcja="lejek"],.ko [data-ko-sekcja="powody"]{grid-column:span 6}
}

/* ── T1 (19.10.2026): telefon — filtry i baner o pseudonimach w jednym wierszu ──
   Do 480 px filtry są zwinięte, gdy żaden nie jest aktywny (aktywny rozwija wiersz i
   pokazuje swoją wartość), a baner to wiersz „Pseudonimy pacjentów · Jak włączyć moduł”,
   pełny tekst pod przyciskiem z aria-expanded. Komputer bez zmian: wrapper nie tworzy
   pudełka, a przyciski zwijania są ukryte. */
.ko-filtry-obud{display:contents}
.ko-zwin{display:none}
@media (max-width:480px){
  .ko-gora{align-items:stretch}
  .ko-filtry-obud{display:block;width:100%}
  .ko-zwin{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 12px;border:var(--bw) solid var(--line2);border-radius:var(--r-wewn);
    background:none;color:var(--t1);font:inherit;font-size:var(--fs-2);font-weight:600;text-align:left;cursor:pointer}
  .ko-zwin::after{content:"▾";margin-left:auto;color:var(--t3)}
  .otw>.ko-zwin::after{content:"▴"}
  .ko-zwin-w{min-width:0;font-weight:400;color:var(--t2);overflow-wrap:anywhere}
  .ko-filtry-obud:not(.otw) .ko-filtry{display:none}
  .ko-filtry-obud.otw .ko-filtry{margin-top:8px}
  .ko-modul{gap:6px 8px;padding:6px 8px 6px 12px}
  .ko-modul>svg{display:none}
  .ko-modul>.ko-zwin{flex:1 1 150px;width:auto;border:0;padding:0}
  .ko-modul>p{display:none;order:3;flex:1 1 100%}
  .ko-modul.otw>p{display:block}
  .ko-modul>.d10-przycisk{min-height:44px;display:inline-flex;align-items:center}
}

/* Szansa akceptacji planu (G4): zwinięta statystyka w karcie powodów utraty */
.ko-szansa{margin-top:4px}
.ko-szansa summary{cursor:pointer;padding:6px 2px;font-size:var(--fs-1);font-weight:600;color:var(--gold-d)}
.ko-szansa-h{margin:12px 0 4px;font-size:var(--fs-1);font-weight:600}
.ko-szansa-l{list-style:none;margin:0;padding:0}
.ko-szansa-l li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:var(--bw) solid var(--line);font-size:var(--fs-1)}
.ko-szansa-brak,.ko-szansa-n,.ko-szansa-poza{color:var(--ink-3)}
.ko-szansa-poza{margin:8px 0 0;font-size:var(--fs-1)}
.ko-szansa-pyt{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ko-szansa-pyt label{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-1);flex:1 1 130px}
.ko-szansa-wynik{margin:8px 0 0;font-size:var(--fs-1);font-weight:600}
