:root { --tlo: #fafafa; --tekst: #1d1d1f; --akcent: #1f5fae; --blad: #b00020; --ok: #1b7f3b; --ramka: #d0d0d5; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, sans-serif; background: var(--tlo); color: var(--tekst); }
nav { display: flex; gap: 1rem; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid var(--ramka); background: #fff; }
nav a { color: var(--akcent); text-decoration: none; }
main { max-width: 960px; margin: 0 auto; padding: 1rem; }
footer { max-width: 960px; margin: 2rem auto; padding: 0 1rem; font-size: .85rem; color: #666; }
.baner { padding: .5rem 1rem; font-weight: 600; text-align: center; }
.baner-demo { background: #ffd54f; color: #222; }
.formularz { display: grid; gap: .75rem; max-width: 520px; }
.formularz label { display: grid; gap: .25rem; }
input, select { padding: .45rem; border: 1px solid var(--ramka); border-radius: 4px; font: inherit; }
button { padding: .5rem 1rem; background: var(--akcent); color: #fff; border: 0; border-radius: 4px; font: inherit; cursor: pointer; }
button.link { background: none; color: var(--akcent); padding: 0; }
form.inline { display: inline; margin-left: auto; }
.blad { color: var(--blad); font-weight: 600; }
.ok { color: var(--ok); font-weight: 600; }
table { border-collapse: collapse; width: 100%; }
td, th { padding: .4rem .6rem; border-bottom: 1px solid var(--ramka); text-align: left; }
td.kwota { text-align: right; font-variant-numeric: tabular-nums; }
.uwaga { background: #fff3cd; padding: .75rem; border-radius: 4px; }
.baner-prod { background: #c62828; color: #fff; }

/* Faktura dla czlowieka (podglad i wydruk) */
.faktura { background: #fff; border: 1px solid var(--ramka); padding: 1rem; margin: 1rem 0; max-width: 60rem; }
.faktura table { width: 100%; margin: .75rem 0; }
.faktura .strony td { vertical-align: top; width: 50%; }
.faktura .do-zaplaty { font-size: 1.15rem; }
@media print {
  nav, .nie-drukuj, .baner { display: none !important; }
  body { background: #fff; }
  .faktura { border: 0; padding: 0; margin: 0; max-width: none; }
}

/* Lista faktur: filtry i szeroka tabela */
.filtry { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: end; margin: 1rem 0; }
.filtry small { flex-basis: 100%; }
.przewijana { overflow-x: auto; }
tfoot th { border-top: 2px solid var(--ramka); }

/* Tabela danych (lista faktur): szeroki uklad, bez zawijania, kompaktowo */
main.szeroka, main.szeroka + footer { max-width: 1440px; }
.tabela { font-size: .875rem; background: #fff; border: 1px solid var(--ramka); border-radius: 6px; border-collapse: separate; border-spacing: 0; }
.tabela th, .tabela td { white-space: nowrap; padding: .45rem .65rem; vertical-align: middle; }
.tabela thead th { background: #f0f2f5; color: #555; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.tabela th.kwota { text-align: right; }
.tabela tbody tr:hover td { background: #f3f7fd; }
.tabela tbody tr:last-child td { border-bottom: 0; }
.tabela td.uwaga { white-space: normal; }
.tabela tfoot th { background: #f0f2f5; border-top: 2px solid var(--ramka); border-bottom: 0; }
.tabela .mocna, .mocna { font-weight: 600; }
.tabela a { color: var(--akcent); margin-right: .4rem; }
.tabela form.inline { margin-left: .4rem; }
.tabela input { padding: .2rem .35rem; font-size: .8rem; }
.tabela button { padding: .25rem .6rem; font-size: .8rem; }
.ksef { display: inline-block; max-width: 16ch; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; font-size: .8rem; color: #555; }
.etykieta { display: inline-block; padding: .1rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 600; background: #eceef1; color: #444; }
.etykieta-prod { background: #e0efe4; color: var(--ok); }
.etykieta-demo { background: #fff3cd; color: #7a5b00; }
.etykieta-ok { background: #e0efe4; color: var(--ok); }
.etykieta-czeka { background: #e7eefb; color: var(--akcent); }
.etykieta-blad { background: #fde7ea; color: var(--blad); }
