/* Estymacje - dodatki do stylu Kompasu (tokeny w baza.css). */
.e-karta { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; margin-bottom: 12px; border: 1px solid var(--k-ramka); border-radius: 14px; background: #fff; color: var(--k-atrament); }
a.e-karta:hover { border-color: var(--k-granat); }
.e-karta--zamknieta { background: var(--k-tlo-jasne); }
.e-karta__tytul { font-size: 17px; font-weight: 800; color: var(--k-granat); }
.e-karta__termin { font-weight: 700; color: var(--k-czerwony); }
.e-postep { display: flex; flex-direction: column; gap: 4px; color: var(--k-atrament); }
.e-za-sklep { padding: 10px 12px; border-radius: 10px; background: var(--k-krem); color: var(--k-atrament); font-size: 14px; margin-bottom: 12px; }
.e-zlozone { padding: 10px 12px; border-radius: 10px; background: var(--k-sukces-tlo); color: var(--k-sukces); font-weight: 600; margin: 4px 0 12px; }
.e-ok { color: var(--k-sukces); }
.e-przewijane { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
.e-przewijane .k-chip { flex: none; text-decoration: none; }
.e-kropka { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--k-czerwony); margin-left: 4px; }

.e-tabela-owijka { border: 1px solid var(--k-ramka); border-radius: 12px; }
.e-tabela { width: 100%; border-collapse: collapse; }
.e-tabela th { position: sticky; top: 0; background: var(--k-tlo-jasne); font-size: 12px; font-weight: 800; color: var(--k-szary-1); padding: 8px; text-align: left; }
.e-tabela td { padding: 8px; border-top: 1px solid var(--k-linia); vertical-align: middle; }
.e-tabela .e-kol { width: 96px; text-align: center; }
.e-producent td { background: var(--k-tlo-jasne); font-weight: 800; color: var(--k-granat); font-size: 13px; }
.e-ilosc { min-height: 44px; text-align: center; font-weight: 700; font-size: 1.05rem; padding: 4px; }
.e-ilosc:not(:placeholder-shown) { border-color: var(--k-granat); background: #F5F4FB; }
.e-ukryta { display: none; }
@media (min-width: 768px) { .e-dni { display: none; } }
@media (max-width: 767.98px) { .e-tabela thead { display: none; } }

/* widok „Dzień → produkty”: produkt z ofertami dostawców */
.e-tryb-aktywny { background: var(--k-granat); border-color: var(--k-granat); color: #fff; }
.e-produkt-karta { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border: 1px solid var(--k-ramka); border-radius: 14px; background: #fff; color: var(--k-atrament); }
.e-oferta { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; background: var(--k-tlo-jasne); }
.e-oferta--wybrana { background: #F5F4FB; box-shadow: inset 3px 0 0 var(--k-granat); }
.e-oferta .e-ilosc { width: 84px; flex: none; }
.e-cena { color: var(--k-atrament); font-size: 14px; }
.e-produkt-nazwa { font-size: 18px; font-weight: 800; color: var(--k-granat); line-height: 1.25; }
.e-najtansza { font-size: 11px; font-weight: 800; padding: 2px 6px; border-radius: 6px; background: var(--k-sukces-tlo); color: var(--k-sukces); white-space: nowrap; }
.e-zamowione { font-weight: 800; color: var(--k-granat); white-space: nowrap; }
.e-odliczanie--pilne { background: var(--k-czerwony); color: #fff; padding: 1px 6px; border-radius: 6px; }
#na-zywo { display: contents; }

/* załączniki estymacji (zdjęcia, PDF) */
.e-zalaczniki { display: flex; flex-wrap: wrap; gap: 8px; }
.e-zalacznik { position: relative; }
.e-zalacznik img { display: block; height: 120px; max-width: 220px; object-fit: cover; border-radius: 10px; border: 1px solid var(--k-ramka); background: var(--k-tlo-jasne); }
.e-zalacznik__plik { display: flex; align-items: center; gap: 6px; height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--k-ramka); background: #fff; color: var(--k-granat); font-weight: 600; font-size: 14px; }
.e-zalacznik__plik i { font-size: 20px; color: #B42318; }
.e-zalacznik__usun { position: absolute; top: 4px; right: 4px; min-height: 32px; background: #fff; }

/* Kompas: na wąskim ekranie przyciski w pasku centrali mają białe tło - czerwony przycisk miał biały tekst (niewidoczny). */
@media (max-width: 991.98px) { .kc-pasek__akcje .btn-kompas { --bs-btn-color: var(--k-czerwony); --bs-btn-hover-color: var(--k-czerwony-aktywny); color: var(--k-czerwony); } }
.e-podsumowanie { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; padding: 14px 16px; border-radius: 14px; border: 1px dashed var(--k-granat); background: #F5F4FB; color: var(--k-atrament); }

/* instrukcja (/pomoc/) */
.e-pomoc { max-width: 820px; display: flex; flex-direction: column; gap: 10px; color: var(--k-atrament); line-height: 1.55; }
.e-pomoc h2 { font-size: 22px; font-weight: 800; color: var(--k-granat); margin: 28px 0 4px; padding-top: 12px; border-top: 2px solid var(--k-ramka); scroll-margin-top: 70px; }
.e-pomoc ol { padding-left: 22px; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.e-pomoc img { display: block; border: 1px solid var(--k-ramka); border-radius: 14px; box-shadow: 0 4px 14px rgba(29, 26, 58, .10); height: auto; }
.e-pomoc__telefon { width: 100%; max-width: 300px; }
.e-pomoc__komputer { width: 100%; }

/* sortowane tabele (<table data-sortuj>, estymacje.js) */
.e-sortuj { cursor: pointer; user-select: none; white-space: nowrap; }
.e-sortuj::after { content: " \2195"; opacity: .35; }
.e-sortuj[aria-sort="ascending"]::after { content: " \25B2"; opacity: 1; }
.e-sortuj[aria-sort="descending"]::after { content: " \25BC"; opacity: 1; }

/* Czcionka: Source Sans 3 (static/css/fonts.css), baza 17 px - wygląda na mniejszą niż systemowa.
   baza.css (Kompas) ustawia body { font-size: 1rem }, więc rozmiar trzeba podać też dla body. */
:root { --bs-body-font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif; --bs-body-font-size: 1.0625rem; }
body { font-size: var(--bs-body-font-size); }
/* cyfry równej szerokości (kolumny liczb się nie rozjeżdżają); .kod - kody, w których 0 myli się z O (login) */
.num, .kc-tabela, .e-tabela, .e-ilosc, .e-cena, .e-zamowione, .k-licznik, .badge { font-variant-numeric: tabular-nums; }
.kod { font-family: var(--bs-font-monospace); }
/* link-przycisk btn-sm: Kompas wymusza 44 px wysokości - tekst w jednej linii ma być na środku, nie u góry */
a.btn-sm { display: inline-flex; align-items: center; justify-content: center; }
/* stały pasek „Sprawdź i wyślij” nad dolną nawigacją (formularz.html) */
.e-pasek { position: sticky; bottom: calc(72px + env(safe-area-inset-bottom)); z-index: 1025; display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 10px 12px; border-radius: 14px; background: var(--k-granat); color: #fff; box-shadow: 0 6px 18px rgba(29, 26, 58, .25); }
.e-pasek__stan { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; }
.e-pasek .btn { white-space: nowrap; }
@media (min-width: 992px) { .e-pasek { bottom: 16px; } }
