:root{
  --primary:#1f6f4a;
  --primary-dark:#154d33;
  --bg:#f4f6f5;
  --card:#ffffff;
  --border:#dfe3e1;
  --text:#222;
  --muted:#6b7570;
  --danger:#c0392b;
  --white:#ffffff;
  --yellow:#fff3b0;
  --green:#c6f0c2;
  --blue:#bfe0f5;
}
*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);}
.container{max-width:1300px;margin:0 auto;padding:20px;}
a{color:var(--primary-dark);}
.topbar{background:var(--primary);color:#fff;}
.topbar-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:10px 20px;flex-wrap:wrap;}
.brand{color:#fff;font-weight:700;font-size:1.2rem;text-decoration:none;white-space:nowrap;}
.mainnav{display:flex;gap:4px;flex-wrap:wrap;flex:1;align-items:center;}
.mainnav a, .mainnav .nav-dropdown-toggle{color:#eafff0;text-decoration:none;font-size:.92rem;padding:7px 10px;border-radius:6px;
  border:none;background:none;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.mainnav a:hover, .mainnav .nav-dropdown-toggle:hover{background:rgba(255,255,255,.15);}
.mainnav a.active{background:rgba(255,255,255,.22);font-weight:600;}
.user-menu{display:flex;gap:10px;align-items:center;font-size:.9rem;}

/* Rozwijane menu (nawigacja + akcje w tabelach) */
.dropdown{position:relative;display:inline-block;}
.dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid var(--border);
  border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.15);min-width:190px;display:none;z-index:60;overflow:hidden;padding:4px;}
.dropdown-menu.open{display:block;}
.dropdown-menu a, .dropdown-menu button{display:block;width:100%;text-align:left;padding:7px 10px;border:none;
  background:none;cursor:pointer;font-size:.87rem;color:var(--text);border-radius:5px;text-decoration:none;font-family:inherit;}
.dropdown-menu a:hover, .dropdown-menu button:hover{background:#eef3f0;}
.dropdown-menu button.danger-item, .dropdown-menu a.danger-item{color:var(--danger);}
.mainnav .dropdown-menu{right:0;left:auto;}

/* Pasek zaznaczenia wierszy (checkboxy w tabelach) */
.entries-table col.col-check{width:44px;}
.entries-table td.col-check-cell, .entries-table th.col-check-cell{text-align:center;padding:0 !important;}
.check-cell-label{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  min-height:38px;cursor:pointer;padding:8px 4px;}
.check-cell-label input[type="checkbox"]{width:19px;height:19px;cursor:pointer;margin:0;accent-color:var(--primary);}
.sticky-select-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--primary-dark);color:#fff;
  padding:12px 20px;display:none;align-items:center;justify-content:space-between;gap:14px;
  box-shadow:0 -6px 16px rgba(0,0,0,.2);font-size:.92rem;
}
.sticky-select-bar.visible{display:flex;}
body.has-select-bar{padding-bottom:56px;}
.sticky-select-bar strong{font-weight:700;}
.sticky-select-bar .btn.secondary{background:rgba(255,255,255,.18);}
.sticky-select-bar .btn.secondary:hover{background:rgba(255,255,255,.3);}

/* Kompaktowe przyciski-ikony w akcjach tabeli (Edytuj/Kopiuj/Usuń) */
.row-actions{display:flex;gap:4px;align-items:center;}
.row-actions form{display:inline-flex;margin:0;}
/* Wysoka specyficzność (.row-actions .btn.icon-btn), żeby na pewno wygrać z .btn.small */
.row-actions .btn.icon-btn, .btn.icon-btn{
  width:30px !important;height:30px !important;min-width:30px;padding:0 !important;
  display:inline-flex !important;align-items:center;justify-content:center;
  font-size:15px !important;line-height:30px !important;border-radius:6px;flex-shrink:0;
  overflow:hidden;text-align:center;
}
.user-menu a{color:#fff;text-decoration:underline;}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:18px;}
h1,h2,h3{color:var(--primary-dark);}
table{width:100%;border-collapse:collapse;font-size:.92rem;}
table th,table td{border:1px solid var(--border);padding:6px 8px;text-align:left;}
table th{background:#eef3f0;position:sticky;top:0;}
.table-scroll{overflow-x:auto;}
.btn{display:inline-block;background:var(--primary);color:#fff;border:none;padding:8px 14px;border-radius:6px;cursor:pointer;text-decoration:none;font-size:.9rem;}
.btn:hover{background:var(--primary-dark);}
.btn.secondary{background:#6b7570;}
.btn.danger{background:var(--danger);}
.btn.small{padding:4px 9px;font-size:.8rem;}
input[type=text],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=email],select,textarea{
  padding:7px 9px;border:1px solid var(--border);border-radius:6px;font-size:.92rem;width:100%;background:#fff;
}
label{font-size:.85rem;color:var(--muted);display:block;margin-bottom:3px;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.field{margin-bottom:10px;}
.tabs{display:flex;gap:6px;margin-bottom:14px;border-bottom:2px solid var(--border);}
.tabs a{padding:8px 16px;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;}
.tabs a.active{color:var(--primary-dark);font-weight:600;border-color:var(--primary);}
.status-planowana{background:var(--white);}
.status-odwolana{background:var(--yellow);}
.status-zrealizowana{background:var(--green);}
.status-w_trakcie{background:var(--blue);}
.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;}
.summary-bar{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0;}
.summary-box{background:#eef3f0;border-radius:8px;padding:10px 16px;min-width:150px;}
.summary-box .label{font-size:.75rem;color:var(--muted);text-transform:uppercase;}
.summary-box .value{font-size:1.3rem;font-weight:700;color:var(--primary-dark);}
.alert{padding:10px 14px;border-radius:8px;margin-bottom:14px;}
.alert-error{background:#fdecea;color:#8a2117;border:1px solid #f5c6cb;}
.alert-success{background:#e6f6e6;color:#1e5c1e;border:1px solid #b7e3b7;}
.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.login-wrap{max-width:380px;margin:80px auto;}
.small-muted{color:var(--muted);font-size:.8rem;}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:flex-end;}
.filters .field{margin-bottom:0;min-width:170px;}
select[multiple]{min-height:70px;}
.pill-list{display:flex;flex-wrap:wrap;gap:6px;}

/* Tabela pozycji - węższe kolumny, kompaktowy wygląd */
.entries-table{font-size:.83rem;table-layout:fixed;width:100%;}
.entries-table th, .entries-table td{padding:5px 6px;overflow-wrap:break-word;vertical-align:top;}
.entries-table td.nowrap, .entries-table th.nowrap{white-space:nowrap;}
.entries-table col.col-date{width:80px;}
.entries-table col.col-client{width:220px;}
.entries-table col.col-small{width:70px;}
.entries-table col.col-num{width:85px;}
.entries-table col.col-actions{width:120px;}
.entries-table tr.row-hidden{display:none;}

/* Autocomplete klienta */
.autocomplete-wrap{position:relative;}
.autocomplete-results{position:absolute;z-index:50;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);
  border-top:none;max-height:260px;overflow-y:auto;box-shadow:0 6px 14px rgba(0,0,0,.12);border-radius:0 0 6px 6px;display:none;}
.autocomplete-results.open{display:block;}
.autocomplete-item{padding:7px 10px;cursor:pointer;font-size:.88rem;border-bottom:1px solid #f0f0f0;}
.autocomplete-item:hover, .autocomplete-item.active{background:#eef3f0;}
.autocomplete-item .ac-sub{color:var(--muted);font-size:.78rem;}
.autocomplete-clear{position:absolute;right:6px;top:6px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;}
