/* ANALIZY CENY — tor C (27.09.2026): okno „Historia ceny” (C4).
   Okno ma zwykłą skórkę W1 (.modal, nagłówek, stopka z 05-komponenty); tabele biorą wygląd porównania wersji
   (.cost-version-compare-table z 11-kalkulator.css). Tu tylko to, czego tamte nie mają. Kolory wyłącznie z tokenów. */

.historia-ceny-modal { --okno-w: 920px; }
.historia-ceny-body { flex: 1 1 auto; min-height: 0; overflow: auto; display: grid; align-content: start; gap: var(--s-4); padding: 0 var(--s-5) var(--s-4); }
.historia-ceny-kafle { display: flex; flex-wrap: wrap; gap: var(--s-3); }
.historia-ceny-kafel { display: grid; gap: var(--s-1); flex: 1 1 140px; padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface-2); }
.historia-ceny-kafel span { color: var(--text-muted); font-size: var(--t-xs); font-weight: var(--w-medium); }
.historia-ceny-kafel strong { font-size: var(--t-md); font-variant-numeric: tabular-nums; }
.historia-ceny-sekcja { display: grid; gap: var(--s-2); min-width: 0; }
.historia-ceny-sekcja h3 { font-size: var(--t-base); font-weight: var(--w-bold); }
.historia-ceny-tabela :is(th, td) { text-align: left; font-variant-numeric: tabular-nums; }
.historia-ceny-tabela thead th { color: var(--text-muted); font-size: var(--t-xs); font-weight: var(--w-medium); }
.historia-ceny-tabela :is(th, td).kwota { text-align: right; }
.historia-ceny-tabela .historia-ceny-przyczyna { white-space: normal; min-width: 180px; }
.historia-ceny-roznica { font-weight: var(--w-bold); white-space: nowrap; }
.historia-ceny-roznica[data-kierunek="w-gore"] { color: var(--ok-strong); }
.historia-ceny-roznica[data-kierunek="w-dol"] { color: var(--danger); }
.historia-ceny-pusto, .historia-ceny-uwaga { font-size: var(--t-sm); }
.historia-ceny-numer { color: var(--text-muted); font-weight: var(--w-medium); }

/* Przyciski analiz ceny przy cenie klienta (okno projektu, panel „Cena dla klienta” okna Koszty). */
.analizy-ceny-przyciski { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-self: start; }

/* Rozliczenie projektu (C6) — koszt planowany a rzeczywisty. */
.rozliczenie-modal { --okno-w: 980px; }
.rozliczenie-body { flex: 1 1 auto; min-height: 0; overflow: auto; display: grid; align-content: start; gap: var(--s-3); padding: 0 var(--s-5) var(--s-4); }
.rozliczenie-body > * { min-width: 0; }
.rozliczenie-naj { font-size: var(--t-sm); }
.rozliczenie-godziny { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); }
.rozliczenie-godziny > span { font-weight: var(--w-medium); }
.rozliczenie-godziny input { width: 8rem; }
.rozliczenie-tabela :is(th, td) { text-align: left; font-variant-numeric: tabular-nums; vertical-align: middle; }
.rozliczenie-tabela thead th { color: var(--text-muted); font-size: var(--t-xs); font-weight: var(--w-medium); }
.rozliczenie-tabela :is(th, td).kwota { text-align: right; }
.rozliczenie-tabela td.kwota input { width: 9rem; text-align: right; }
.rozliczenie-tabela td input { width: 100%; min-width: 8rem; }
.rozliczenie-zrodlo { display: block; color: var(--text-muted); font-size: var(--t-xs); font-weight: var(--w-regular); white-space: normal; } /* POPR-n19: długi opis źródła łamie się — tabela nie wychodzi za okno */
.rozliczenie-roznica { display: block; font-size: var(--t-xs); font-weight: var(--w-bold); white-space: nowrap; }
.rozliczenie-roznica[data-kierunek="gorzej"] { color: var(--danger); }
.rozliczenie-roznica[data-kierunek="lepiej"] { color: var(--ok-strong); }
.rozliczenie-uwaga { padding: var(--s-2) var(--s-3); border-radius: var(--r); background: var(--warn-soft); color: var(--text); font-size: var(--t-sm); }
.rozliczenie-naj .rozliczenie-roznica { display: inline; font-size: var(--t-sm); }
/* POPR-n19: rozliczenie częściowe — ostrzeżenie nad kaflami, liczba „na dziś” szara, znacznik „częściowe (na dziś)”. */
.rozliczenie-czesciowe { display: grid; gap: var(--s-1); }
.rozliczenie-czesciowe p { margin: 0; }
.rozliczenie-kafel-glowa { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); }
.rozliczenie-czesciowe ul { margin: 0; padding-left: var(--s-5); list-style: disc; }
.rozliczenie-na-dzis, .rozliczenie-roznica[data-kierunek="na-dzis"] { color: var(--text-muted); }
.historia-ceny-kafel .rozliczenie-na-dzis { font-size: inherit; font-weight: inherit; }
.rozliczenie-znacznik { padding: 0 var(--s-2); border-radius: var(--r-pill); background: var(--warn-soft); color: var(--text); font-size: var(--t-xs); font-style: normal; font-weight: var(--w-bold); }

/* „Co jeśli” (C7) — kurs EUR/PLN i ceny stali a marża otwartych ofert. */
.co-jesli-modal { --okno-w: 1080px; }
.co-jesli-body { flex: 1 1 auto; min-height: 0; overflow: auto; display: grid; align-content: start; gap: var(--s-3); padding: 0 var(--s-5) var(--s-4); }
.co-jesli-body > * { min-width: 0; }
.co-jesli-suwaki { display: flex; flex-wrap: wrap; align-items: end; gap: var(--s-3) var(--s-5); padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface-2); }
.co-jesli-suwak { display: grid; grid-template-columns: minmax(8rem, 14rem) auto; align-items: center; gap: var(--s-1) var(--s-2); flex: 1 1 320px; }
.co-jesli-suwak > span:first-child { grid-column: 1 / -1; font-weight: var(--w-medium); }
.co-jesli-suwak input[type="number"] { width: 6.5rem; }
.co-jesli-suwak > small { grid-column: 1 / -1; }
.co-jesli-pole-procent { display: inline-flex; align-items: center; gap: var(--s-1); }
.co-jesli-wyniki { display: grid; gap: var(--s-3); }
.historia-ceny-kafel.co-jesli-alarm { border-color: var(--danger); background: var(--danger-soft); }
.historia-ceny-kafel.co-jesli-alarm strong { color: var(--danger); }
.co-jesli-tabela tr.co-jesli-ponizej .co-jesli-marza, .co-jesli-strata { color: var(--danger); }
.co-jesli-wyniki > * { min-width: 0; }
.co-jesli-tabela-ramka { overflow-x: auto; }
.co-jesli-tabela td:last-child { white-space: normal; min-width: 10rem; }
/* POPR-n20: kolumna „Projekt” do ok. 320 px, nazwa się zawija (pełna w dymku); „dziś → po” łamie się między częściami —
   cena, koszt, zysk, marża i minimum mieszczą się na 1440 bez przewijania w bok. */
.co-jesli-tabela th[scope="row"] { width: 20rem; min-width: 12rem; max-width: 20rem; white-space: normal; }
.co-jesli-tabela td.co-jesli-dzis-po { white-space: normal; }
.co-jesli-dzis-po > * { white-space: nowrap; }
/* POPR-n20: menu ⋮ paska listy Projekty — tylko telefon (przy otwartych filtrach przyciski stoją w szufladzie, ⋮ znika). */
.toolbar-menu-telefon { display: none; }
:root[data-ui="mobile"] [data-mobilne-filtry]:not(.is-filtry-otwarte) > .toolbar-menu-telefon { display: block; flex: none; }
:root[data-ui="mobile"] .toolbar-menu-telefon > summary { width: var(--h-control); height: var(--h-control); font-size: var(--t-lg); }
:root[data-ui="mobile"] .toolbar-menu-telefon .row-menu-panel { width: min(280px, calc(100vw / var(--skala-ui) - var(--s-5))); max-width: none; }
:root[data-ui="mobile"] .toolbar-menu-telefon .row-menu-panel .button { min-height: var(--h-control); }

/* DC11 (v15 b21) — okno projektu: tabela „Rabat w konstrukcjach” z polem kwoty przy każdej konstrukcji. Stałe kolumny i zawijanie
   tekstu, żeby zdanie o skutku dla prowizji nie rozpychało okna (tabele porównania mają napisy w jednej linii). */
.cost-version-compare-table.rabat-konstrukcji-pola { table-layout: fixed; }
.cost-version-compare-table.rabat-konstrukcji-pola :is(th, td) { white-space: normal; vertical-align: top; overflow-wrap: anywhere; }
.cost-version-compare-table.rabat-konstrukcji-pola thead th:first-child { text-align: left; }
.cost-version-compare-table.rabat-konstrukcji-pola th[scope="row"] { width: 42%; color: var(--text); }
.cost-version-compare-table.rabat-konstrukcji-pola :is(th, td) > small { display: block; margin-top: var(--s-1); font-size: var(--t-xs); font-weight: var(--w-medium); text-align: left; }
.cost-version-compare-table.rabat-konstrukcji-pola td > small { text-align: right; }
.cost-version-compare-table.rabat-konstrukcji-pola .currency-field { margin-left: auto; max-width: 220px; }
/* DC16d: suwak rabatu w oknie projektu — nad polem kwoty, na szerokość pola. */
.rabat-projektu-suwak { display: block; width: 100%; max-width: 220px; margin: 0 0 var(--s-1) auto; accent-color: var(--danger); }
:root:is([data-ui="tablet"], [data-ui="mobile"]) .modal input.rabat-projektu-suwak[type="range"]:not([type="checkbox"]):not([type="radio"]) { height: var(--h-control); } :root[data-ui="tablet"] .modal .co-jesli-suwak input[type="range"]:not([type="checkbox"]):not([type="radio"]) { height: var(--h-control); }   /* „Co jeśli”: suwaki 44 px na tablecie (było 12) */
