:root{
  --ink:#1c2b3a;
  --ink-soft:#4a5a6a;
  --accent:#6d8f3a;
  --accent-dark:#4a6428;
  --bg:#fafbfc;
  --card:#ffffff;
  --line:#e4e9ed;
  --good:#1e7a4c;
  --good-bg:#e7f5ec;
  --warn:#9a6b00;
  --warn-bg:#fff3d9;
  --bad:#a4222c;
  --bad-bg:#fbe9ea;
}
*{box-sizing:border-box;}
body{
  margin:0;font-family:"Segoe UI", Arial, sans-serif;color:var(--ink);
  background:var(--bg);line-height:1.55;
}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

header.nav{background:#fff;border-bottom:1px solid var(--line);}
.nav-inner{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;}
.brand .mark{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.85rem;}
.brand-logo{height:36px;width:auto;display:block;}
.nav-actions{display:flex;gap:10px;align-items:center;font-size:0.9rem;}
.nav-actions span{color:var(--ink-soft);}

main{padding:40px 0 60px;}
h1{font-size:1.7rem;margin:0 0 6px;}
h2{font-size:1.25rem;margin:0 0 14px;}
p.lead{color:var(--ink-soft);margin:0 0 28px;}

.btn{display:inline-block;padding:10px 18px;border-radius:8px;background:var(--accent);color:#fff;
  border:none;cursor:pointer;font-size:0.92rem;font-weight:600;text-decoration:none;}
.btn:hover{background:var(--accent-dark);text-decoration:none;}
.btn-outline{background:transparent;border:1.5px solid var(--accent);color:var(--accent);}
.btn-outline:hover{background:var(--accent);color:#fff;}
.btn-sm{padding:6px 12px;font-size:0.82rem;}
.btn-block{display:block;width:100%;text-align:center;}

.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px;}
.card h3{margin:0 0 12px;font-size:1.05rem;}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}
@media (max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr;}}

.cal-table{width:100%;border-collapse:collapse;font-size:0.82rem;}
.cal-table th{text-align:left;color:var(--ink-soft);font-weight:600;font-size:0.7rem;text-transform:uppercase;
   letter-spacing:0.2px;padding:6px 6px;border-bottom:1px solid var(--line);white-space:nowrap;}
.cal-table td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:middle;}
.cal-table input[type=number]{padding:5px 6px;font-size:0.82rem;width:64px;}
.cal-table input[type=text]{padding:5px 6px;font-size:0.82rem;}
.cal-table select{padding:5px 6px;font-size:0.78rem;}
.cal-num{font-variant-numeric:tabular-nums;text-align:right;}

table{width:100%;border-collapse:collapse;font-size:0.9rem;}
th{text-align:left;color:var(--ink-soft);font-weight:600;font-size:0.78rem;text-transform:uppercase;
   letter-spacing:0.4px;padding:10px 12px;border-bottom:1px solid var(--line);}
td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;}
tr:last-child td{border-bottom:none;}

.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:0.76rem;font-weight:700;letter-spacing:0.2px;}
.badge-nowe{background:#eef2f4;color:var(--ink-soft);}
.badge-przyjete{background:#e6f0f5;color:var(--accent-dark);}
.badge-wtrakcie{background:var(--warn-bg);color:var(--warn);}
.badge-gotowe{background:var(--good-bg);color:var(--good);}
.badge-wydane{background:#e9e9ee;color:#4a4a5a;}
.badge-overdue{background:var(--bad-bg);color:var(--bad);}
.badge-soon{background:var(--warn-bg);color:var(--warn);}
.badge-ok{background:var(--good-bg);color:var(--good);}

form .field{margin-bottom:16px;}
label{display:block;font-size:0.85rem;font-weight:600;margin-bottom:6px;color:var(--ink-soft);}
input, select, textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;
  font-family:inherit;font-size:0.92rem;background:#fcfdfd;
}
input:focus, select:focus, textarea:focus{outline:2px solid var(--accent);outline-offset:1px;}

.flash{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:0.9rem;}
.flash-success{background:var(--good-bg);color:var(--good);}
.flash-error{background:var(--bad-bg);color:var(--bad);}

.auth-wrap{max-width:420px;margin:40px auto;}
.muted{color:var(--ink-soft);font-size:0.85rem;}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px;}
.empty{color:var(--ink-soft);font-size:0.9rem;padding:20px 0;text-align:center;}

.header-actions{display:flex;gap:10px;flex-wrap:wrap;}
.header-actions form{display:inline;}

.print-sheet{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px;}

@media print{
  header.nav, .no-print, .flash{display:none !important;}
  body{background:#fff;}
  main{padding:0;}
  .print-sheet{border:none;padding:0;}
}
