*{box-sizing:border-box}
html,body{margin:0;padding:0}
:root{--green:#0A7E49;--green-dark:#06693D;--bg:#EEF3F5;--card:#EAEAEA;--white:#FFFFFF;--ink:#1C1C1C;--muted:#7A7F87;--ring:#6BC09B;--border:#C7D4CF;--danger:#B91C1C;--radius:28px}
body{background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;line-height:1.45;font-size:16px}
.topbar{background:var(--green);color:#fff;position:sticky;top:0;z-index:50}.container{max-width:1120px;margin:0 auto;padding:0 24px}
.topbar .bar{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{text-decoration:none}.logo{font-family:"Rajdhani",system-ui,sans-serif;font-weight:700;font-size:28px;color:#fff}
.nav a{color:#fff;text-decoration:none;margin-left:20px;font-weight:600;opacity:.95}.nav a:hover{text-decoration:underline}
.main{padding:24px 24px 48px}.card{background:var(--card);border-radius:var(--radius);padding:24px;margin:28px auto 10px;max-width:940px}
.card h1,.card h2{margin:0 0 16px;font-family:"Rajdhani",system-ui,sans-serif}
.field{margin-bottom:14px;display:flex;flex-direction:column}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:2px solid #A8D0BF;background:#fff;border-radius:12px;font-size:16px;outline:0;transition:box-shadow .15s ease,border-color .15s ease}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px rgba(107,192,155,.25)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 16px;border-radius:10px;border:none;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:var(--green);color:#fff}
.btn:hover{background:var(--green-dark)}.actions{display:flex;gap:14px;margin-top:12px;flex-wrap:wrap}.actions.spaced{justify-content:space-between;align-items:center}#add_farmer{width:100%}
.farmers{display:flex;flex-direction:column;gap:12px;margin-top:12px}.farmer-row{display:grid;grid-template-columns:74px 1fr 260px 110px;gap:12px;align-items:center;background:#F7F7F7;border:1px solid #E6E6E6;border-radius:16px;padding:12px}
.row-index{display:flex;align-items:center;justify-content:center;height:40px;width:64px;border-radius:10px;background:#F0F3F2;border:1px solid #DADFE0;color:#6B7280;font-weight:700}
.col{display:flex;flex-direction:column;gap:6px}.muted{color:var(--muted)}.error-hint{min-height:18px;font-size:13px;color:#B91C1C}.has-error input.area{border-color:#B91C1C}
.strip{background:var(--green);color:#fff;border-radius:14px;padding:16px 20px;margin:-4px 0 14px 0}.table-wrap{overflow:auto}
table.result{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:16px}
table.result thead th{background:var(--green);color:#fff;font-weight:700;padding:16px 14px;text-align:left}
table.result td,table.result th{padding:16px 14px;border-bottom:1px solid #E7E7E7;white-space:nowrap}
table.result tbody tr:nth-child(odd){background:#F6F6F6}table.result tfoot th{font-weight:800;background:#fff;border-top:2px solid #E7E7E7}
.note{margin-top:14px;background:#fff;border-left:6px solid var(--green);padding:14px 16px;border-radius:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.footer{margin:34px 0;color:var(--muted);text-align:center}
/* ====== MOBILE FIXES (telefony) ====== */
@media (max-width: 640px) {
  .container{ padding:0 14px; }
  .card{ padding:16px; margin:16px auto; }
  .main{ padding:16px 0 32px; }

  /* pasek u góry i linki */
  .topbar .bar{ height:56px; }
  .logo{ font-size:24px; }
  .nav a{ margin-left:12px; font-weight:600; }

  /* przyciski */
  .btn{ width:100%; min-height:44px; }
  .btn.small{ min-height:36px; padding:10px 12px; font-size:14px; }
  .btn.danger{ background:#B91C1C; }
  .btn.danger:hover{ background:#991B1B; }
  .actions{ gap:10px; }
  .actions.spaced{ gap:10px; }
  #add_farmer{ width:100%; }

  /* formularz – pola */
  .field{ margin-bottom:10px; }
  .field input, .field select, .field textarea{
    font-size:16px; /* blokuje zoom na iOS */
    padding:12px 12px;
  }
  .grid-2{ grid-template-columns:1fr; gap:10px; }

  /* wiersz rolnika */
  .farmers{ gap:10px; }
  .farmer-row{
    display:flex;           /* zamiast grida na mobile */
    flex-direction:column;
    gap:10px;
    padding:12px;
  }
  .row-index{
    align-self:flex-start;
    width:auto; height:auto;
    padding:4px 10px;
    font-size:14px;
  }
  .col{ width:100%; gap:6px; }
  .farmer-row .remove{ align-self:stretch; width:100%; }

  .young{ display:flex; align-items:center; gap:8px; }
  .young input[type="checkbox"]{ transform:scale(1.1); }

  /* tabela wyników */
  .table-wrap{ overflow-x:auto; }
  table.result{ font-size:14px; min-width:640px; } /* przewijalna w poziomie */
  table.result thead th,
  table.result td,
  table.result th{
    padding:10px 8px;
    white-space:normal;   /* pozwól zawijać */
  }

  /* pasek z wynikiem */
  .strip{ padding:12px 14px; border-radius:12px; }
  .note{ padding:12px; font-size:14px; }
  .footer{ margin:24px 0; }
}

/* ====== TABLETY / wąskie laptopy ====== */
@media (min-width: 641px) and (max-width: 900px) {
  /* ciaśniejsze kolumny rzędu rolnika */
  .farmer-row{
    display:grid;
    grid-template-columns:60px 1fr 200px 110px;
    gap:12px;
  }
  table.result{ font-size:15px; }
}

/* doprecyzowania klas przycisków używanych w HTML */
.btn.small{ min-height:36px; padding:10px 12px; font-size:14px; }
.btn.danger{ background:#B91C1C; }
.btn.danger:hover{ background:#991B1B; }
