/* ============================================================
   Pulpit recepcji — widok v2 (23.09). Źródło: makieta public/sandbox/pulpit-recepcji/.
   Działa TYLKO na .nh-kb.pr-v2 (tryb lejka + przełącznik); tryb klasyczny i inne widoki bez zmian.
   Tokeny w zakresie pulpitu (nie nadpisuje --nh-font-* / --icon-color globalnie). Zero !important:
   wygrywa specyficznością (.nh-kb--funnel.pr-v2 …) i kolejnością (ładowany PO kanban.css).
   Kolory — jedno znaczenie: granat = akcja/następny krok · czerwień = TYLKO po terminie/SLA ·
   bursztyn = brak/błąd danych · zieleń = tylko licznik sukcesu · morski/śliwkowy = TYLKO znaczniki stref.
   Lekkość (23.09 po): JEDNA warstwa ramek — karta. Strefa = nagłówek + cienka linia koloru (bez panelu),
   tor = odstęp (bez beżowego tła), etykiety bez obrysów. Akcja główna miękka; pełny granat TYLKO na karcie
   po terminie (.pr-btn-main--strong). Odłóż / ✓ pojawiają się po najechaniu (dotyk: zawsze widoczne).
   ============================================================ */
.nh-kb.pr-v2 {
  --pr-zone-new: #2E6E6A;   --pr-zone-new-tint: #E3EDEB;
  --pr-zone-stale: #5B5A8C;
  --pr-panel-bg: #FBFAF7;   --pr-panel-line: #E3DCD1;
  --pr-lane-bg: #ECE7DF;    --pr-card-bg: #FFFFFF;   --pr-card-line: #E6E0D6;
  --pr-day0-bar: #1F3B39;   --pr-day0-bar-text: #FFFFFF;
  --pr-text: #1E1E1E;       --pr-meta: #5E574F;      --pr-empty: #6B6258;
  --pr-next-bg: #E4EDF3;    --pr-next-tx: #1D4A68;
  --pr-late-bg: #FBE3DF;    --pr-late-tx: #9E2419;
  --pr-nodata-br: #BFAF93;  --pr-nodata-tx: #6B5A3A;
  --pr-ctx-br: #CFC6B8;     --pr-ctx-tx: #4A443D;
  --pr-warn-bg: #FBF1DC;    --pr-warn-tx: #6E4700;
  --pr-ok-tx: #3D5F4A;
  --pr-action: #2B5B7A;     --pr-action-hover: #234B65;  --pr-action-tx: #FFFFFF;
  --pr-ibtn-br: #D6CEC2;    --pr-focus: #2B5B7A;
  --pr-radius-zone: 16px;   --pr-radius-card: var(--radius-md, 12px);
  --pr-col-w: 232px;        --pr-col-min: 208px;       --pr-strip-w: 44px;
  font-family: var(--nh-font-body);
  color: var(--pr-text);
}

/* ── strefy ─────────────────────────────────────────────── */
.nh-kb.pr-v2 .pr-zone {
  position: relative; background: transparent; border: 0; border-radius: 0;
  padding: var(--space-4) 0 0; margin-bottom: var(--space-6); overflow: hidden;
}
.nh-kb.pr-v2 .pr-zone::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--pr-zc); opacity: .55; }
.nh-kb.pr-v2 .pr-zone--new { --pr-zc: var(--pr-zone-new); }
.nh-kb.pr-v2 .pr-zone--stale { --pr-zc: var(--pr-zone-stale); }
.nh-kb.pr-v2 .pr-zone-hd { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-4); }
.nh-kb.pr-v2 .pr-zone-mark { width: 12px; height: 12px; border-radius: 3px; background: var(--pr-zc); flex: none; }
.nh-kb.pr-v2 .pr-zone-title { font: 700 15px/1.2 var(--nh-font-head); letter-spacing: var(--nh-ls-head); text-transform: uppercase; margin: 0; color: var(--pr-text); }
.nh-kb.pr-v2 .pr-zone-sub { font-size: 13px; color: var(--pr-meta); }
.nh-kb.pr-v2 .pr-zone-sp { flex: 1; }
.nh-kb.pr-v2 .pr-zone-count { font: 600 13px var(--nh-font-body); color: var(--pr-text); }
.nh-kb.pr-v2 .pr-success { display: inline-flex; align-items: center; gap: 6px; font: 600 13px var(--nh-font-body); color: var(--pr-ok-tx); --icon-color: var(--pr-ok-tx); }

/* ── sekcje w strefie (mniejszy nagłówek niż strefa) ──── */
.nh-kb--funnel.pr-v2 .nh-kb-group.pr-sec { margin: 0; }
.nh-kb--funnel.pr-v2 .nh-kb-group.pr-sec + .nh-kb-group.pr-sec { margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--pr-panel-line); }
.nh-kb--funnel.pr-v2 .nh-kb-grouph.pr-sec-hd {
  display: flex; align-items: baseline; gap: var(--space-3); flex-wrap: wrap;
  margin: 0 0 var(--space-3); padding: 0; font: 600 14px/1.2 var(--nh-font-head); letter-spacing: 0; text-transform: none; color: var(--pr-text);
}
.nh-kb.pr-v2 .pr-sec-title { font: inherit; margin: 0; }
.nh-kb.pr-v2 .pr-sec-count { font: 400 13px var(--nh-font-body); color: var(--pr-meta); }
.nh-kb.pr-v2 .pr-sec-count b { font-weight: 600; color: var(--pr-text); }

/* ── kolumny = tory ─────────────────────────────────────── */
.nh-kb--funnel.pr-v2 .nh-kb-groupcols { display: flex; gap: var(--space-3); overflow-x: auto; padding-bottom: var(--space-2); align-items: flex-start; }
.nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-col,
.nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-col.is-main { flex: 1 1 var(--pr-col-w); min-width: var(--pr-col-min); max-width: 360px; background: transparent; padding: 0; }
.nh-kb--funnel.pr-v2 .pr-zone--stale .nh-kb-group .nh-kb-col { max-width: none; }
.nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-colh { display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-1); min-height: 0; flex-wrap: nowrap; }
.nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-colh .t { order: 0; flex-basis: auto; font: 600 13px/1.3 var(--nh-font-head); letter-spacing: 0; text-transform: none; color: var(--pr-text); }
.nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-colh .n.pr-pill { display: inline-flex; margin-left: 0; font: 600 12px/1 var(--nh-font-body); padding: 3px 8px; border-radius: var(--nh-r-pill); background: var(--pr-lane-bg); color: var(--pr-text); }
.nh-kb.pr-v2 .pr-col-sub { font-size: 12px; color: var(--pr-meta); padding: 3px var(--space-1) var(--space-2); }
.nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-list {
  background: transparent; border-radius: 0; padding: 0;
  gap: var(--space-2); max-height: none; overflow: visible; min-height: 0;
}
/* max 3 karty; reszta za „Pokaż wszystkie (N) →" (nth-of-type liczy <article>, nagłówki grup to <div>) */
.nh-kb--funnel.pr-v2 .nh-kb-list:not(.is-expanded) > .nh-kb-card:nth-of-type(n+4) { display: none; }
.nh-kb.pr-v2 .pr-more { align-self: flex-start; background: none; border: 0; padding: var(--space-1) var(--space-2); font: 600 12px var(--nh-font-body); color: var(--pr-action); cursor: pointer; }
.nh-kb.pr-v2 .pr-more:hover { text-decoration: underline; }
.nh-kb--funnel.pr-v2 .nh-kb-empty { border: 0; border-top: 1px solid var(--pr-card-line); border-radius: 0; background: none; color: var(--pr-empty); font: 400 13px var(--nh-font-body); font-style: normal; text-align: left; padding: var(--space-2) var(--space-1); }

/* Dzień 0 · kluczowy — bez wypełnionego bloku: jasna listwa w odcieniu strefy Nowi + napis w kolorze strefy */
.nh-kb--funnel.pr-v2 .nh-kb-day0 { background: transparent; flex: 2 1 auto; min-width: 0; margin-right: 0; border-radius: var(--pr-radius-card); overflow: hidden; }
.nh-kb--funnel.pr-v2 .nh-kb-day0-rail { flex-basis: 26px; background: var(--pr-zone-new-tint); border-radius: var(--pr-radius-card); }
.nh-kb--funnel.pr-v2 .nh-kb-day0-rail span { color: var(--pr-zone-new); font-weight: 700; }
.nh-kb--funnel.pr-v2 .nh-kb-day0 .nh-kb-day0cols { padding: 0 0 0 var(--space-3); }
.nh-kb--funnel.pr-v2 .nh-kb-day0 .nh-kb-day0cols .nh-kb-col { min-width: var(--pr-col-min); }
.nh-kb--funnel.pr-v2 .nh-kb-day0 .nh-kb-list { background: transparent; }

/* zwinięte paski Dzień 2 / Dzień 4 — wąskie (≈44 px), pionowy napis, ikona, dymek z nazwiskami */
.nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-col.nh-kb-col--strip { flex: 0 0 var(--pr-strip-w); min-width: var(--pr-strip-w); max-width: var(--pr-strip-w); background: transparent; border: 1px solid var(--pr-card-line); border-radius: var(--pr-radius-card); align-self: stretch; }
.nh-kb--funnel.pr-v2 .nh-kb-strip-lbl { color: var(--pr-text); font: 600 12px var(--nh-font-body); letter-spacing: 0; text-transform: none; }
.nh-kb--funnel.pr-v2 .nh-kb-strip-ic { color: var(--pr-meta); --icon-color: var(--pr-meta); }

/* grupy Nowi / Stali w kolejkach */
.nh-kb--funnel.pr-v2 .nh-kb-subhead.pr-grp {
  display: flex; align-items: center; gap: 6px; padding: 4px 2px 0; margin: 0; background: none; border: 0;
  font: 700 11px var(--nh-font-head); letter-spacing: var(--nh-ls-section); text-transform: uppercase; color: var(--pr-text);
}
.nh-kb--funnel.pr-v2 .nh-kb-subhead.pr-grp::after { content: ''; flex: 1; height: 1px; background: var(--pr-panel-line); }
.nh-kb.pr-v2 .pr-grp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pr-gc); flex: none; }
.nh-kb.pr-v2 .pr-grp--new { --pr-gc: var(--pr-zone-new); }
.nh-kb.pr-v2 .pr-grp--stale { --pr-gc: var(--pr-zone-stale); }
/* pozostałe podnagłówki (np. „+ N z otwartym zadaniem") — czytelna szarość metadanych, nie blada kursywa */
.nh-kb--funnel.pr-v2 .nh-kb-subhead:not(.pr-grp) { color: var(--pr-meta); font-style: normal; }

/* ── karta ──────────────────────────────────────────────── */
.nh-kb--funnel.pr-v2 .nh-kb-card.pr-card {
  background: var(--pr-card-bg); border: 1px solid var(--pr-card-line); border-radius: var(--pr-radius-card);
  box-shadow: none; padding: var(--space-3); min-height: 0; gap: var(--space-2); text-align: left; opacity: 1;
}
.nh-kb--funnel.pr-v2 .nh-kb-card.pr-card::before { display: none; }
.nh-kb--funnel.pr-v2 .nh-kb-card.pr-card.is-flash { outline: 2px solid var(--pr-focus); outline-offset: 2px; }
.nh-kb.pr-v2 .pr-card-hd { display: flex; align-items: flex-start; gap: var(--space-2); }
.nh-kb.pr-v2 .pr-name { flex: 1; margin: 0; font: 600 14px/1.3 var(--nh-font-body); color: var(--pr-text); overflow-wrap: anywhere; cursor: pointer; }
.nh-kb.pr-v2 .pr-name:hover { text-decoration: underline; }
.nh-kb.pr-v2 .pr-av { flex: none; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font: 600 11px var(--nh-font-body); background: var(--pr-next-bg); color: var(--pr-next-tx); }
.nh-kb.pr-v2 .pr-av--empty { background: transparent; border: 1.5px dashed var(--pr-meta); color: var(--pr-meta); --icon-color: var(--pr-meta); }
.nh-kb.pr-v2 .pr-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
/* następny krok = zwykły tekst z ikoną; tło (pigułka) TYLKO po terminie — jedyny „krzyk" na karcie */
.nh-kb.pr-v2 .pr-next { display: inline-flex; align-items: center; gap: 5px; font: 600 12px/1.3 var(--nh-font-body); padding: 0; border-radius: var(--nh-r-pill); }
.nh-kb.pr-v2 .pr-next--normal { background: none; color: var(--pr-next-tx); --icon-color: var(--pr-next-tx); }
.nh-kb.pr-v2 .pr-next--late { background: var(--pr-late-bg); color: var(--pr-late-tx); --icon-color: var(--pr-late-tx); padding: 4px 9px; margin-left: -2px; }
.nh-kb.pr-v2 .pr-next--nodata { background: none; color: var(--pr-nodata-tx); --icon-color: var(--pr-nodata-tx); }
/* kontekst = jedna linia szarego tekstu rozdzielona „·" (bez obrysów) */
.nh-kb.pr-v2 .pr-ctxrow { margin: 0; font: 400 12px/1.35 var(--nh-font-body); color: var(--pr-ctx-tx); }
.nh-kb.pr-v2 .pr-ctx + .pr-ctx::before { content: ' · '; color: var(--pr-meta); }
.nh-kb.pr-v2 .pr-note { margin: 0; font-size: 13px; line-height: 1.4; color: var(--pr-text); }
.nh-kb.pr-v2 .pr-warn { margin: 0; display: flex; gap: 6px; align-items: flex-start; font: 500 12px/1.35 var(--nh-font-body); background: var(--pr-warn-bg); color: var(--pr-warn-tx); --icon-color: var(--pr-warn-tx); padding: 6px 8px; border-radius: var(--radius-sm, 8px); }
.nh-kb.pr-v2 .pr-last { margin: 0; display: flex; align-items: flex-start; gap: 5px; font-size: 12px; color: var(--pr-meta); --icon-color: var(--pr-meta); }
.nh-kb.pr-v2 .pr-last > span:not(.pr-auto) { flex: 1; min-width: 0; }
.nh-kb.pr-v2 .pr-last .nh-icon { flex: none; margin-top: 1px; }
.nh-kb.pr-v2 .pr-auto { flex: none; display: inline-flex; align-items: center; gap: 2px; font-size: 11px; color: var(--pr-meta); cursor: help; }
.nh-kb.pr-v2 .pr-link { font: 600 12px var(--nh-font-body); color: var(--pr-action); text-decoration: none; }
.nh-kb.pr-v2 .pr-link:hover { text-decoration: underline; }
.nh-kb.pr-v2 .pr-hint { margin: 0; font-size: 12px; color: var(--pr-meta); }
.nh-kb.pr-v2 .pr-foot { display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.nh-kb.pr-v2 .pr-foot-sp { flex: 1; }
.nh-kb.pr-v2 .pr-ibtn { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid transparent; background: none; color: var(--pr-meta); --icon-color: var(--pr-meta); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.nh-kb.pr-v2 .pr-ibtn:hover { color: var(--pr-action); --icon-color: var(--pr-action); border-color: var(--pr-action); }
/* akcja główna miękka (granatowy tekst na jasnym tle); pełny granat tylko na karcie po terminie */
.nh-kb.pr-v2 .pr-btn-main { flex: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px; border: 0; border-radius: var(--nh-r-pill); background: var(--pr-next-bg); color: var(--pr-next-tx); --icon-color: var(--pr-next-tx); font: 600 12px var(--nh-font-btn); padding: 6px 12px; cursor: pointer; }
.nh-kb.pr-v2 .pr-btn-main:hover,
.nh-kb.pr-v2 .pr-btn-main--strong { background: var(--pr-action); color: var(--pr-action-tx); --icon-color: var(--pr-action-tx); }
.nh-kb.pr-v2 .pr-btn-main--strong:hover { background: var(--pr-action-hover); }
/* Odłóż / ✓ — schowane do najechania / fokusu (mysz); na dotyku zawsze widoczne */
@media (hover: hover) {
  .nh-kb.pr-v2 .pr-card .pr-ibtn { opacity: 0; transition: opacity .12s; }
  .nh-kb.pr-v2 .pr-card:hover .pr-ibtn, .nh-kb.pr-v2 .pr-card:focus-within .pr-ibtn { opacity: 1; }
}
.nh-kb.pr-v2 .pr-btn-add { white-space: nowrap; display: inline-flex; align-items: center; gap: 3px; border: 0; background: none; color: var(--pr-action); --icon-color: var(--pr-action); font: 600 12px var(--nh-font-body); padding: 4px 0; cursor: pointer; }
.nh-kb.pr-v2 button:focus-visible, .nh-kb.pr-v2 a:focus-visible, .nh-kb.pr-v2 .pr-auto:focus-visible, .nh-kb.pr-v2 .pr-name:focus-visible { outline: 2px solid var(--pr-focus); outline-offset: 2px; }

/* bezpiecznik wdrożenia */
.nh-kb.pr-v2 .pr-oldview { text-align: right; margin: calc(var(--space-4) * -1) 0 var(--space-4); }
.nh-kb.pr-v2 .pr-oldview button { background: none; border: 0; font: 500 12px var(--nh-font-body); color: var(--pr-meta); text-decoration: underline; cursor: pointer; }

/* ── telefon ────────────────────────────────────────────── */
@media (max-width: 640px) {
  .nh-kb.pr-v2 { --pr-col-w: 62vw; --pr-col-min: 62vw; }
  .nh-kb.pr-v2 .pr-zone { padding: var(--space-4) 0 0; }
  .nh-kb--funnel.pr-v2 .nh-kb-groupcols { scroll-snap-type: x mandatory; }
  .nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-col, .nh-kb--funnel.pr-v2 .nh-kb-day0 { scroll-snap-align: start; }
  .nh-kb--funnel.pr-v2 .nh-kb-day0 { flex: none; }
  /* stała szerokość toru na telefonie (ramka Dnia 0 ma szerokość treści → kolumny rosłyby do max-width) */
  .nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-col,
  .nh-kb--funnel.pr-v2 .nh-kb-group .nh-kb-col.is-main,
  .nh-kb--funnel.pr-v2 .nh-kb-day0 .nh-kb-day0cols .nh-kb-col { flex: 0 0 var(--pr-col-w); max-width: var(--pr-col-w); }
}
