/* ═══════════════════════════════════════════════════════════════════════
   Raport kolejek NFZ — /raporty/kolejki-nfz/…
   Liczby to POMIARY: mono z cyframi tabelarycznymi, wyrównane do prawej.
   Paski w tabelach to jedyna grafika — bez biblioteki wykresów, tak jak
   „skala oczekiwania" na stronie głównej.
   ═══════════════════════════════════════════════════════════════════ */

.nfzr{padding-bottom:clamp(40px,6vw,80px)}
.nfzr__preview{margin-top:16px;padding:10px 14px;border:1px dashed var(--green);border-radius:8px;font-size:14px;color:var(--green);background:var(--white)}

.nfzr__head{padding:clamp(28px,5vw,64px) 0 clamp(20px,3vw,36px);border-bottom:1px solid var(--haze)}
.nfzr__head .eyebrow a{text-decoration:none}
.nfzr__title{font:600 clamp(30px,4.6vw,52px)/1.08 var(--serif);letter-spacing:-.01em;max-width:20ch}
.nfzr__lede{margin-top:18px;max-width:62ch;font-size:clamp(17px,1.6vw,19.5px);color:var(--ink-60)}

.nfzr__meta{display:flex;flex-wrap:wrap;gap:10px 34px;margin:26px 0 0;padding-block:14px;border-block:1px solid var(--haze);max-width:860px}
.nfzr__meta div{display:flex;flex-direction:column;gap:4px;font-size:14px}
.nfzr__meta dt{font:500 10.5px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-40)}
.nfzr__meta dd{margin:0}
.nfzr__meta a{color:var(--green)}

.nfzr__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.btn--line{border-color:var(--green);color:var(--green);background:transparent}
.btn--line:hover{background:var(--haze)}

/* ─── Trzy liczby ─── */
.nfzr__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(14px,2vw,24px);margin-top:clamp(24px,4vw,44px)}
.nfzr__fact{background:var(--white);border:1px solid var(--haze);border-radius:14px;padding:22px 22px 20px;font-size:15.5px;line-height:1.5;color:var(--ink-60)}
.nfzr__fact strong{color:var(--ink);font-weight:600}
.nfzr__big{font-size:clamp(30px,3.6vw,42px);line-height:1;font-weight:500;color:var(--green);margin-bottom:12px;letter-spacing:-.02em}

/* ─── Sekcje i tabele ─── */
.nfzr__sec{margin-top:clamp(36px,5vw,64px)}
.nfzr__h2{font:600 clamp(24px,2.6vw,32px)/1.15 var(--serif);margin-bottom:10px}
.nfzr__note{font-size:13.5px;color:var(--ink-40);line-height:1.5;margin:6px 0 14px;max-width:80ch}

.nfzr__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--haze);border-radius:12px;background:var(--white)}
.nfzr__table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.nfzr__table th,.nfzr__table td{padding:11px 14px;border-bottom:1px solid var(--haze);text-align:left;vertical-align:middle}
.nfzr__table thead th{font:500 11px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40);background:var(--paper);position:sticky;top:0}
.nfzr__table tbody tr:last-child > *{border-bottom:0}
.nfzr__table tbody th{font-weight:500}
.nfzr__table tbody th a{color:inherit;text-decoration:none;border-bottom:1px solid var(--haze)}
.nfzr__table tbody th a:hover{border-color:var(--green)}
.nfzr__table .num{text-align:right;white-space:nowrap}
.nfzr__table td.num{position:relative}

/* Pasek pod liczbą: długość = mediana / maksimum w tabeli. */
.nfzr__table td.num .nfzr__bar{display:inline-block;vertical-align:middle;width:clamp(40px,10vw,120px);height:6px;margin-right:10px;border-radius:3px;background:var(--haze);position:relative;overflow:hidden}
.nfzr__table td.num .nfzr__bar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w,0%);background:var(--green);border-radius:3px}

.nfzr__kind{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:var(--haze);font:500 10.5px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--deep);vertical-align:2px}

/* ─── Województwa ─── */
.nfzr__provs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:12px}
.nfzr__provs a{display:block;padding:11px 14px;border:1px solid var(--haze);border-radius:10px;background:var(--white);text-decoration:none;font-size:15px;transition:border-color .15s ease}
.nfzr__provs a:hover,.nfzr__provs a[aria-current]{border-color:var(--green);color:var(--green)}

/* ─── Świadczenia (rozwijane) ─── */
.nfzr__benefit{border:1px solid var(--haze);border-radius:12px;background:var(--white);margin-top:10px;scroll-margin-top:96px}
.nfzr__benefit > summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 18px;cursor:pointer;list-style:none}
.nfzr__benefit > summary::-webkit-details-marker{display:none}
.nfzr__benefit > summary::after{content:"+";font:400 22px/1 var(--mono);color:var(--green);margin-left:4px}
.nfzr__benefit[open] > summary::after{content:"−"}
.nfzr__bname{font-weight:500}
.nfzr__bnum{margin-left:auto;color:var(--ink-60);font-size:15px}
.nfzr__benefit > :not(summary){margin-inline:18px}
.nfzr__benefit > .nfzr__scroll{margin-bottom:14px}
.nfzr__cities{font-size:14px;color:var(--ink-60);line-height:1.8;margin-bottom:18px}
.nfzr__cities strong{color:var(--ink);font-weight:500}

/* ─── Metoda i cytowanie ─── */
.nfzr__method .prose{max-width:72ch}
.nfzr__cite{margin-top:28px;padding:22px;border-radius:14px;background:var(--white);border:1px solid var(--haze);max-width:860px;font-size:15.5px}
.nfzr__cite h3{font:600 20px/1.2 var(--serif);margin-bottom:8px}
.nfzr__cite p + p{margin-top:10px}
.nfzr__cite a{color:var(--green)}
.nfzr__citetext{padding:12px 14px;border-radius:8px;background:var(--paper);font-size:13px;line-height:1.55;overflow-wrap:anywhere;user-select:all}

@media (max-width:640px){
  .nfzr__table{font-size:14px}
  .nfzr__table th,.nfzr__table td{padding:9px 10px}
  .nfzr__table td.num .nfzr__bar{display:none}
}

/* Link z raportu do wyników wyszukiwarki (R1-T08) */
.nfzr__go{white-space:nowrap;text-align:right}
.nfzr__go a{display:inline-flex;align-items:center;min-height:44px;padding-inline:4px;font:500 13.5px var(--sans);
  color:var(--green);text-decoration:none;border-bottom:1px solid rgba(13,122,95,.35)}
.nfzr__go a:hover,.nfzr__go a:focus-visible{border-bottom-color:var(--mint)}
.nfzr__table .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
