@font-face { font-family: "Poppins"; src: url("fonty/Poppins-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("fonty/Poppins-SemiBold.ttf") format("truetype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("fonty/Poppins-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }

:root {
  --granat: #1F1B3E;
  --akcent: #EA561F;
  --jasny: #F39232;
  --tlo: #FFFFFF;
  --karta: #F6F6F9;
  --szary: #757575;
  --linia: #E2E2EA;
  --zle: #B3261E;
  --gradient: linear-gradient(90deg, #E52A23, #F28C32 50%, #F39232);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: "Poppins", system-ui, sans-serif; font-size: 15px; line-height: 1.5;
       color: var(--granat); background: var(--tlo); }
a { color: var(--granat); }
h1 { font-size: 24px; font-weight: 700; margin: 0 0 16px; }
h2 { font-size: 18px; font-weight: 600; margin: 32px 0 8px; }
.pomoc { color: var(--szary); font-size: 13px; }

header { border-bottom: 1px solid var(--linia); background: var(--tlo); }
header::after { content: ""; display: block; height: 3px; background: var(--gradient); }
.pasek { max-width: 1440px; margin: 0 auto; padding: 8px 16px; display: flex; align-items: center;
         gap: 16px; flex-wrap: wrap; }
.pasek img { height: 34px; width: auto; display: block; }
nav { display: flex; gap: 16px; flex-wrap: wrap; flex: 1; }
nav a { text-decoration: none; font-weight: 600; font-size: 14px; padding: 4px 0; }
nav a.tu { border-bottom: 2px solid var(--akcent); }
.kto { font-size: 13px; color: var(--szary); display: flex; gap: 8px; align-items: center; }

main { max-width: 1440px; margin: 0 auto; padding: 24px 16px 55px; }

.karta { background: var(--karta); border-radius: 2px; padding: 16px; }
form.siatka { display: grid; grid-template-columns: repeat(auto-fill, minmax(144px, 1fr)); gap: 16px;
              align-items: end; }
label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
label span { font-weight: 400; color: var(--szary); font-size: 12px; }
input, select, textarea { font: inherit; font-size: 16px; padding: 8px; border: 1px solid #C9C9D6;
                          border-radius: 2px; background: #fff; color: var(--granat); width: 100%; }
input:focus, select:focus { outline: 2px solid var(--jasny); outline-offset: 0; }
button { font: inherit; font-weight: 600; font-size: 15px; padding: 8px 16px; border-radius: 2px;
         border: 1px solid var(--granat); background: #fff; color: var(--granat); cursor: pointer; }
button.glowny { background: var(--akcent); border-color: var(--akcent); color: #fff; }
button.maly { font-size: 13px; padding: 4px 8px; }
form.wiersz { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; }
form.wiersz input { width: auto; flex: 1 1 144px; }
input[type=file] { max-width: 100%; min-width: 0; }
td.data { white-space: nowrap; }

.tabela { overflow-x: auto; margin-top: 8px; border: 1px solid var(--linia); border-radius: 2px; }
table { border-collapse: collapse; width: 100%; font-size: 13px; }
th, td { padding: 8px; text-align: left; border-bottom: 1px solid var(--linia); vertical-align: top; }
th { background: var(--karta); font-weight: 600; white-space: nowrap; }
td.l, th.l { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
tr:last-child td { border-bottom: 0; }
td.razem { font-weight: 700; }
.ujemne { color: var(--zle); }
.flaga { display: inline-block; font-size: 11px; padding: 0 8px; margin: 2px 2px 0 0; border-radius: 2px;
         background: #FDE9E0; color: #8A2E0C; white-space: nowrap; }
.ok { background: #E8E8F0; color: var(--granat); }
.blad { background: #FBE3E1; color: var(--zle); }
.stare { text-decoration: line-through; color: var(--szary); }
.komunikat { padding: 8px 16px; background: var(--karta); border-left: 3px solid var(--akcent); margin: 0 0 16px; }

.kafle { display: grid; grid-template-columns: repeat(auto-fill, minmax(233px, 1fr)); gap: 16px; }
.kafle .karta h3 { margin: 0 0 4px; font-size: 15px; }
.kafle .karta p { margin: 0; font-size: 13px; }

.logowanie { max-width: 377px; margin: 55px auto; }
.logowanie img { height: 55px; display: block; margin: 0 auto 24px; }
.logowanie form { display: flex; flex-direction: column; gap: 16px; }

@media (max-width: 610px) {
  h1 { font-size: 20px; }
  .pasek img { height: 26px; }
  form.siatka { grid-template-columns: 1fr 1fr; }
  .karty-mobile { border: 0; overflow: visible; }
  .karty-mobile thead { display: none; }
  .karty-mobile table, .karty-mobile tbody, .karty-mobile tr { display: block; }
  .karty-mobile tr { border: 1px solid var(--linia); border-radius: 2px; margin-bottom: 8px; background: #fff; }
  .karty-mobile td { display: flex; justify-content: space-between; gap: 8px; padding: 4px 8px; border: 0; text-align: right; }
  .karty-mobile td::before { content: attr(data-label); color: var(--szary); font-weight: 400; text-align: left; }
  .karty-mobile td.naglowek { display: block; text-align: left; font-weight: 600; background: var(--karta); padding: 8px; }
  .karty-mobile td.naglowek::before { content: none; }
  .karty-mobile td.razem { border-top: 1px solid var(--linia); font-size: 15px; }
  .karty-mobile td:empty, .karty-mobile td[data-label="Uwagi"]:not(:has(span)) { display: none; }
}
