/* ===== MOTYW PROFESJONALNY — nadpisania ===== */
  :root{
    --blue:#1d5fb4; --blue-d:#123f7d; --blue-l:#3b82d6;
    --ink:#16202e; --muted:#64748b; --line:#e4e9f1; --line-2:#c9d6e6;
    --ok:#0f9d58; --warn:#b8860b; --bg:#eef2f8;
    --shadow:0 8px 24px rgba(20,44,84,.09); --shadow-sm:0 2px 10px rgba(20,44,84,.06);
  }
  body{ font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:radial-gradient(1100px 460px at 82% -12%, #e7eefb 0%, transparent 60%), var(--bg); color:var(--ink); }
  header.app{ background:linear-gradient(120deg,#123f7d 0%, #1d5fb4 55%, #2f7ad1 100%); padding:24px 26px; position:relative; overflow:hidden; }
  header.app::after{ content:""; position:absolute; right:-70px; top:-70px; width:240px; height:240px; border-radius:50%; background:rgba(255,255,255,.07); }
  header.app h1{ font-size:22px; font-weight:800; letter-spacing:-.3px; position:relative; }
  header.app p{ opacity:.9; font-size:13px; position:relative; }
  .wrap{ max-width:1160px; padding:22px; }
  nav.nav{ background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); padding:10px 22px; gap:6px; }
  .navbtn{ border-radius:999px; padding:9px 18px; font-weight:600; transition:.15s; }
  .navbtn:hover{ background:#eef3fb; color:var(--blue-d); }
  .navbtn.active{ background:linear-gradient(120deg,var(--blue),var(--blue-l)); color:#fff; box-shadow:0 5px 14px rgba(29,95,180,.35); }
  .card{ border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); padding:22px 24px; margin-bottom:18px; }
  .card h2{ font-size:16px; font-weight:800; letter-spacing:-.2px; gap:11px; margin-bottom:16px; }
  .step{ width:27px; height:27px; background:linear-gradient(120deg,var(--blue),var(--blue-l)); box-shadow:0 3px 9px rgba(29,95,180,.4); }
  .subhead{ font-size:11.5px; letter-spacing:.5px; color:var(--blue-d); border:0; border-left:3px solid var(--blue-l); padding:4px 0 4px 11px; margin:20px 0 12px; background:linear-gradient(90deg,#f1f6fd,transparent); border-radius:0 7px 7px 0; }
  label.fl{ font-size:11.5px; font-weight:600; color:#5c6b7e; margin-bottom:5px; line-height:1.35; }
  input,select{ padding:9px 11px; border:1px solid var(--line-2); border-radius:9px; font-size:13px; transition:.12s; }
  input:hover{ border-color:#a9bdd6; }
  input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(29,95,180,.16); }
  input.ocr{ background:#fffbeb; border-color:#efe1b3; }
  table.form input{ border-radius:7px; }
  table.form td{ border-bottom:1px solid #eef2f7; }
  .code{ background:linear-gradient(120deg,#e8f0fb,#d9e7f8); border:1px solid #cfe0f5; padding:2px 7px; }
  .btn{ border-radius:11px; padding:11px 20px; font-weight:700; background:linear-gradient(120deg,var(--blue),var(--blue-l)); box-shadow:0 5px 14px rgba(29,95,180,.28); transition:.15s; }
  .btn:hover{ transform:translateY(-1px); box-shadow:0 9px 20px rgba(29,95,180,.36); background:linear-gradient(120deg,var(--blue-d),var(--blue)); }
  .btn.sec{ background:#fff; color:var(--blue-d); border:1px solid var(--line-2); box-shadow:var(--shadow-sm); }
  .btn.sec:hover{ background:#f4f8fe; border-color:var(--blue-l); transform:translateY(-1px); }
  .btn.gray{ background:linear-gradient(120deg,#5a6b80,#78889d); box-shadow:0 5px 14px rgba(90,107,128,.28); }
  .drop{ border:2px dashed #b6c8e0; border-radius:13px; padding:26px; background:linear-gradient(180deg,#fbfdff,#f3f8fd); transition:.15s; }
  .drop:hover{ border-color:var(--blue-l); background:#edf4fe; }
  .drop.drag{ border-color:var(--blue); background:#e3effc; }
  #ocrStatus,#ocrStatus2,#ocrStatus3{ font-size:12px; color:var(--warn); margin-top:8px; min-height:16px; font-weight:500; }
  .tab{ border-radius:11px 11px 0 0; padding:9px 18px; border-color:var(--line-2); }
  .tab.active{ background:linear-gradient(120deg,var(--blue),var(--blue-l)); border-color:var(--blue); box-shadow:0 -2px 10px rgba(29,95,180,.2); }
  .hint{ font-size:11.5px; color:#7a8698; line-height:1.55; }
  .cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; flex-wrap:wrap; gap:8px; }
  .cal-head .cal-month{ font-size:16px; font-weight:800; color:var(--blue-d); text-transform:capitalize; letter-spacing:-.2px; }
  .cal-head .cal-wd{ font-size:11px; color:var(--blue-d); font-weight:700; background:linear-gradient(120deg,#eef3fb,#e4edfa); padding:5px 12px; border-radius:999px; }
  .cal-nav{ display:flex; align-items:center; gap:8px; }
  .cal-navbtn{ border:1px solid var(--line); background:#fff; border-radius:8px; padding:5px 11px; font-size:13px; font-weight:700; color:var(--blue-d); cursor:pointer; }
  .cal-navbtn:hover{ background:#eef3fb; border-color:var(--blue-l); }
  .cal-navbtn-today{ font-size:11px; padding:5px 10px; }
  .cal{ gap:8px; }
  .cal .dow{ font-size:10.5px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.5px; text-align:center; padding-bottom:4px; }
  /* Komórka dnia — układ w pełni normalny (bez position:absolute na treści), żeby nic nigdy nie mogło
     na siebie nachodzić: rząd nagłówka (numer + odznaki), pod nim znaczniki dat, każdy w swoim wierszu. */
  .cal .cell{ position:relative; display:flex; flex-direction:column; gap:6px; border:1px solid var(--line); border-radius:12px; min-height:56px; padding:8px 9px; box-shadow:var(--shadow-sm); transition:.12s; }
  .cal .cell:hover{ border-color:var(--blue-l); box-shadow:0 6px 16px rgba(29,95,180,.16); transform:translateY(-2px); }
  .cal .cell.we{ background:#f7f9fc; }
  .cal .cell.today{ box-shadow:0 0 0 3px var(--blue), 0 6px 16px rgba(29,95,180,.4); border-color:var(--blue); }
  .cal .cell.today::before{ content:''; position:absolute; inset:0; background:rgba(29,95,180,.16); border-radius:11px; pointer-events:none; z-index:0; }
  .cal .cell.today .cell-top,.cal .cell.today .datetags{ position:relative; z-index:1; }
  .cal .cell.today .dnum{ color:var(--blue-d); font-size:18px; font-weight:900; }
  .cal .cell.today .daytag{ background:var(--blue-d); box-shadow:0 2px 6px rgba(0,0,0,.35); }
  .cal .cell.sel{ background:linear-gradient(160deg,#eaf2fd,#dbeafb); border-color:var(--blue); box-shadow:0 4px 12px rgba(29,95,180,.2); }
  .cal .cell.has{ border-color:var(--ok); background:linear-gradient(160deg,#f0fbf4,#e6f7ed); }
  .cal .cell.holiday{ background:linear-gradient(160deg,#fdf1f1,#fbe4e4); border-color:#d96b6b; }
  .cal .cell.holiday .dnum{ color:#b93a3a; }
  .cal .cell.offday{ background:repeating-linear-gradient(135deg,#f2f2f2,#f2f2f2 6px,#e9e9e9 6px,#e9e9e9 12px); border-color:#b7b7b7; }
  .cal .cell.offday .dnum{ color:#777; text-decoration:line-through; }
  /* Dni kontekstowe z poprzedniego miesiąca (dociągnięte, żeby zawsze było widać 3 pełne tygodnie wstecz) —
     przygaszone tło i numer dnia, ale znaczniki (co się na ten dzień "łapie") zostają w pełnej czytelności. */
  .cal .cell.context{ background:#f3f5f8; border-style:dashed; opacity:.82; }
  .cal .cell.context .dnum{ color:#8a96a3; font-weight:600; }
  .cal .cell.context .dnum small{ font-weight:600; text-transform:uppercase; font-size:9px; margin-left:2px; }
  .cal .cell.context:hover{ opacity:1; }
  .cal .cell .cell-top{ display:flex; align-items:center; justify-content:space-between; gap:6px; }
  .cal .cell .dnum{ font-size:14px; font-weight:800; line-height:1; }
  .cal .cell .cell-badges{ display:flex; align-items:center; gap:3px; flex-wrap:wrap; justify-content:flex-end; }
  .cal .cell .badge{ background:linear-gradient(120deg,var(--ok),#28b76b); box-shadow:0 0 0 2px #fff,0 2px 6px rgba(15,157,88,.4); color:#fff; font-size:10px; border-radius:10px; padding:1px 6px; font-weight:700; line-height:1.4; }
  .cal .cell .rmark{ background:linear-gradient(120deg,var(--warn),#d6a53a); color:#fff; font-size:9px; font-weight:800; border-radius:6px; width:15px; height:15px; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px #fff,0 2px 6px rgba(184,134,11,.4); }
  .cal .cell .daytag{ background:var(--blue); color:#fff; font-size:8.5px; font-weight:800; text-transform:uppercase; letter-spacing:.3px; border-radius:5px; padding:2px 6px; line-height:1.4; }
  .cal .cell .holmark{ font-size:13px; line-height:1; }
  /* Znaczniki awizacji/zwrotów — cały tekst z konkretną datą widoczny wprost w komórce, każdy w osobnym
     wierszu, bez potrzeby najeżdżania myszką na ikonę. */
  .cal .cell .datetags{ display:flex; flex-direction:column; gap:3px; }
  .cal .cell .datetag{ font-size:9px; font-weight:700; line-height:1.35; color:#fff; padding:3px 6px; border-radius:6px; box-shadow:0 1px 3px rgba(0,0,0,.2); word-break:break-word; }
  .cal .cell .dt-awizo{ background:#c96412; }
  .cal .cell .dt-zwrot{ background:#a5281b; }
  .cal .cell .dt-today-awizo{ background:#6d4bb0; }
  .cal .cell .dt-today-zwrot{ background:#8d5524; }
  .cal .cell .dt-origin{ background:#1d6fa5; }
  .cal .cell .dt-origin-awizo{ background:#5146b8; }
  .cal .cell .dt-origin-general{ background:#a4490b; }
  .cal .cell .dt-origin-court{ background:#8b1f59; }
  .cal .cell .dt-holiday-name{ background:#b4232c; }
  .cal .cell .dt-offday-name{ background:#4b5563; }
  .cal-legend{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:11px; color:var(--muted); margin:2px 0 12px; }
  .cal-legend span{ display:inline-flex; align-items:center; gap:5px; }
  .cal-legend .lg-dot{ width:9px; height:9px; border-radius:50%; display:inline-block; }
  .cal-legend .lg-swatch{ width:13px; height:9px; border-radius:3px; display:inline-block; }
  .cal-legend .lg-today{ background:var(--blue); }
  .cal-legend .lg-has{ background:var(--ok); }
  .cal-legend .lg-holiday{ background:#d96b6b; }
  .cal-legend .dt-holiday-name{ background:#b4232c; }
  .cal-legend .dt-offday-name{ background:#4b5563; }
  .cal-legend .dt-origin-awizo{ background:#5146b8; }
  .cal-legend .dt-origin-general{ background:#a4490b; }
  .cal-legend .dt-origin-court{ background:#8b1f59; }
  /* Panel „Dziś” i zestawienie dla klikniętego dnia — oba pokazują terminy dokładnie dla wskazanej daty. */
  .dzis-panel{ border:2px solid var(--blue); border-radius:14px; padding:14px 18px; margin-bottom:14px; background:linear-gradient(160deg,#eef6ff,#e2eefc); }
  .dzis-panel.dzis-empty{ border-color:var(--line-2); background:#f8fafc; }
  .dzis-head{ font-size:14.5px; font-weight:800; color:var(--blue-d); margin-bottom:2px; }
  .dzis-list{ display:flex; flex-direction:column; gap:6px; margin-top:8px; }
  .dzis-item{ font-size:13px; font-weight:600; color:#1c2530; padding:9px 13px; border-radius:9px; background:#fff; border-left:5px solid var(--blue); box-shadow:var(--shadow-sm); }
  .dzis-item.dzis-zwrot{ border-left-color:#a5281b; }
  .dzis-item.dzis-awizo{ border-left-color:#6d4bb0; }
  .dzis-item.dzis-zalegle{ background:#fff6f6; box-shadow:0 0 0 1px #f2b8b5 inset,var(--shadow-sm); }
  .selected-day-panel{ margin:12px 0 4px; border-color:#7b8ca5; background:linear-gradient(160deg,#f7f9fc,#eef2f7); }
  .selected-day-terms small{ font-size:11px; color:var(--muted); font-weight:600; }
  button:disabled{ cursor:not-allowed; opacity:.55; transform:none!important; box-shadow:none!important; }
  table.doc-t .we td{ background:#fafbfc; }
  table.doc-t .tot td{ font-weight:800; background:#f0f4fa; }
  .editor{ border:1px solid var(--line); border-radius:13px; box-shadow:var(--shadow-sm); padding:15px 17px; background:linear-gradient(180deg,#fbfdff,#f4f9fe); }
  .ed-head{ font-size:14px; font-weight:700; color:var(--blue-d); border-bottom:1px solid var(--line); padding-bottom:9px; }
  .editor-sub{ font-size:10.5px; font-weight:800; color:var(--blue-d); text-transform:uppercase; letter-spacing:.5px; margin:16px 0 8px; }
  .editor-sub:first-of-type{ margin-top:12px; }
  .r-hint{ font-size:11px; color:var(--muted); margin:8px 0 0; line-height:1.5; }
  .stat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:10px; margin-top:10px; }
  .stat-card{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:11px 13px; box-shadow:var(--shadow-sm); }
  .stat-card .stat-label{ font-size:10px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.3px; line-height:1.35; margin-bottom:5px; min-height:26px; }
  .stat-card .stat-val{ font-size:19px; font-weight:800; color:var(--blue-d); }
  .stat-card .stat-val small{ font-size:10.5px; font-weight:700; color:var(--muted); text-transform:none; letter-spacing:0; margin-left:2px; }
  .stat-card.ctrl-ok{ border-color:#bfe3cd; background:linear-gradient(160deg,#f2fbf5,#e9f8ee); }
  .stat-card.ctrl-ok .stat-val small{ color:var(--ok); }
  .stat-card.ctrl-warn{ border-color:#f2d9a8; background:linear-gradient(160deg,#fff8ec,#fdf1da); }
  .stat-card.ctrl-warn .stat-val small{ color:var(--warn); }
  .doc{ border-radius:14px; box-shadow:var(--shadow); padding:34px 36px; }
  .fak-box,.fak-pay{ border-color:var(--line-2); border-radius:9px; }
  table.doc-t th{ background:#eef3fb; color:var(--blue-d); font-weight:700; }
  table.doc-t th,table.doc-t td{ border-color:#d5deea; }
  .tot td{ background:#eef4fb; }
  @media(max-width:720px){ .wrap{ padding:14px; } .doc{ padding:20px; } }
  /* Karta Ustawienia — tabela stawek */
  .rate-section{ margin-bottom:22px; }
  .rate-section h3{ font-size:14px; font-weight:800; color:var(--blue-d); margin:0 0 3px; display:flex; align-items:center; gap:8px; }
  .rate-section h3 .n{ background:linear-gradient(120deg,var(--blue),var(--blue-l)); color:#fff; width:22px; height:22px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; }
  .rate-section p.rs-desc{ font-size:11.5px; color:var(--muted); margin:0 0 10px; }
  table.rate-t{ width:100%; border-collapse:collapse; font-size:12.5px; background:#fff; border-radius:10px; overflow:hidden; box-shadow:var(--shadow-sm); }
  table.rate-t th{ background:linear-gradient(120deg,#eef3fb,#e4edfa); color:var(--blue-d); text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.4px; padding:9px 10px; border-bottom:2px solid var(--line-2); }
  table.rate-t td{ padding:8px 10px; border-bottom:1px solid #eef2f7; vertical-align:middle; }
  table.rate-t tr:last-child td{ border-bottom:0; }
  table.rate-t tr:nth-child(even) td{ background:#fafcff; }
  table.rate-t tr:hover td{ background:#f0f6fd; }
  table.rate-t td.rt-lp{ color:var(--muted); font-weight:700; width:34px; text-align:center; }
  table.rate-t .rt-formula{ color:#5c6b7e; font-size:11.5px; margin-top:2px; }
  table.rate-t td.rt-rate{ width:150px; }
  table.rate-t td.rt-edit{ width:104px; text-align:center; white-space:nowrap; }
  .rt-input-wrap{ display:flex; align-items:center; gap:6px; }
  .rt-input-wrap input{ width:88px; text-align:right; padding:6px 8px; font-weight:700; color:var(--blue-d); background:#fffbeb; border-color:#efe1b3; transition:background .15s,color .15s; }
  .rt-input-wrap input[readonly]{ background:#f2f4f7; color:#8a96a3; border-color:var(--line-2); cursor:not-allowed; }
  .rt-unit{ font-size:11.5px; color:var(--muted); font-weight:600; min-width:36px; }
  .rt-editbtn{ border:1px solid var(--line-2); background:#fff; border-radius:7px; padding:5px 9px; font-size:11px; font-weight:700; color:var(--blue-d); cursor:pointer; white-space:nowrap; }
  .rt-editbtn:hover{ background:#eef3fb; }
  .rt-editbtn.on{ background:#fdecea; border-color:#f2b8b5; color:#9c2b2b; }
  .rt-formula-btn{ min-width:118px; }
  .rt-rate-view{ display:inline-flex; align-items:center; min-height:30px; padding:6px 9px; border:1px solid #d9e2ec; border-radius:7px; background:#f7f9fc; color:var(--navy); font-size:12px; white-space:nowrap; }
  .formula-editor-row[hidden]{ display:none!important; }
  .formula-editor-row>td{ padding:0!important; background:#f5f8fc!important; }
  .formula-editor-card{ margin:8px 10px 12px; padding:14px; border:1px solid #b9cce2; border-left:4px solid var(--blue); border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); }
  .formula-editor-title{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:12px; }
  .formula-editor-title>div{ display:flex; flex-direction:column; gap:3px; }
  .formula-editor-title b{ color:var(--navy); font-size:13px; }
  .formula-editor-title span{ color:var(--muted); font-size:11px; }
  .rt-closebtn{ border:0; background:transparent; color:#667085; font-size:22px; line-height:1; cursor:pointer; }
  .formula-editor-grid{ display:grid; grid-template-columns:1.15fr 1.35fr .7fr; gap:10px; align-items:end; }
  .formula-editor-grid label{ display:flex; flex-direction:column; gap:5px; min-width:0; }
  .formula-editor-grid label>span:first-child{ color:#475467; font-size:10.5px; font-weight:800; }
  .formula-editor-grid input,.formula-editor-grid select{ width:100%; min-width:0; }
  .formula-editor-grid .rt-input-wrap{ width:100%; }
  .formula-editor-grid .rt-input-wrap input{ flex:1; width:auto; }
  .formula-preview{ margin-top:9px; padding:8px 10px; border-radius:7px; background:var(--blue-soft); color:var(--blue-d); font-size:11px; font-weight:700; }
  .formula-editor-actions{ margin-top:10px!important; }
  .rt-delbtn{ border:1px solid #f2b8b5; background:#fff; border-radius:7px; padding:5px 8px; font-size:11px; font-weight:700; color:#9c2b2b; cursor:pointer; margin-left:4px; }
  .rt-delbtn:hover{ background:#fdecea; }
  tr.rt-total td{ background:linear-gradient(120deg,#eef3fb,#e4edfa)!important; font-weight:800; color:var(--blue-d); }
  tr.rt-total td.rt-lp{ color:var(--blue-d); }
  .rt-addform{ background:#f8fafc; border:1px dashed var(--line-2); border-radius:12px; padding:14px; margin-top:10px; }
  .rt-addform select, .rt-addform input{ width:100%; }
  /* Karta Dane miesięczne — pełna tabela */
  table.dane-t td.rt-rate{ width:320px; }
  table.dane-t td.rt-rate input{ width:100%; text-align:left; font-weight:600; }
  table.dane-t td:first-child{ font-size:12.5px; color:#3a4658; }
  details.adv{ margin:4px 0 22px; }
  details.adv table.dane-t{ margin-top:8px; }

/* ===== SYSTEM INTERFEJSU 2026 ===== */
:root{
  --navy:#0b1f36; --navy-2:#173b63; --blue:#2563eb; --blue-d:#1849a9;
  --blue-soft:#eef4ff; --surface:#fff; --surface-2:#f7f9fc; --surface-3:#eef2f7;
  --ink:#172033; --muted:#667085; --line:#e3e8ef; --line-2:#cbd5e1;
  --ok:#14804a; --warn:#a96908; --danger:#b42318; --bg:#f3f6fa;
  --shadow-sm:0 1px 2px rgba(16,24,40,.04),0 5px 16px rgba(16,24,40,.04);
  --shadow:0 16px 36px rgba(16,24,40,.09);
}
body{
  background:linear-gradient(180deg,#eef3f9 0,#f7f9fc 340px,#f3f6fa 100%);
  color:var(--ink); font-size:14px;
}
header.app{
  min-height:92px; padding:20px max(24px,calc((100vw - 1240px)/2));
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  background:var(--navy); border-bottom:1px solid rgba(255,255,255,.12);
}
header.app::after{ display:none; }
.brand-lockup{ display:flex; align-items:center; gap:13px; position:relative; z-index:1; }
.brand-mark{
  width:43px; height:43px; display:grid; place-items:center; flex:0 0 auto;
  border:1px solid rgba(255,255,255,.28); border-radius:13px;
  background:rgba(255,255,255,.1); font-size:13px; font-weight:900; letter-spacing:.08em;
}
header.app h1{ font-size:19px; line-height:1.25; letter-spacing:-.25px; }
header.app p{ margin-top:3px; font-size:11px; font-weight:700; letter-spacing:.14em; opacity:.62; }
.app-status{
  position:relative; z-index:1; display:flex; align-items:center; gap:8px;
  color:#d6e4f7; border:1px solid rgba(255,255,255,.16); border-radius:999px;
  padding:7px 11px; font-size:11px; font-weight:700;
}
.app-status span{ width:7px; height:7px; border-radius:50%; background:#47d18c; box-shadow:0 0 0 4px rgba(71,209,140,.12); }
nav.nav{
  min-height:58px; padding:8px max(24px,calc((100vw - 1240px)/2)); gap:4px;
  background:rgba(255,255,255,.94); border-color:var(--line); box-shadow:0 3px 14px rgba(16,24,40,.04);
}
.navbtn{
  display:flex; align-items:center; gap:8px; padding:9px 14px; border-radius:10px;
  color:#526075; font-size:12.5px; font-weight:700; box-shadow:none;
}
.navbtn span{ color:#98a2b3; font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.navbtn:hover{ background:#f2f5f9; color:var(--navy); }
.navbtn.active{ background:var(--navy); color:#fff; box-shadow:none; }
.navbtn.active span{ color:#90baf2; }
.wrap{ max-width:1288px; padding:28px 24px 56px; }
.page-heading{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin:2px 2px 20px;
}
.page-heading .eyebrow{ display:block; margin-bottom:7px; color:var(--blue-d); font-size:10.5px; font-weight:800; letter-spacing:.13em; }
.page-heading h2{ margin:0; color:var(--navy); font-size:28px; line-height:1.15; letter-spacing:-.75px; }
.page-heading p{ margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.card{
  padding:20px; margin-bottom:16px; background:var(--surface); border:1px solid var(--line);
  border-radius:16px; box-shadow:var(--shadow-sm);
}
.btn{
  min-height:40px; padding:9px 16px; border-radius:10px; background:var(--navy);
  color:#fff; font-size:12.5px; font-weight:750; box-shadow:none; transform:none;
}
.btn:hover{ background:var(--navy-2); box-shadow:none; transform:none; }
.btn.quiet,.btn.sec{
  background:#fff; color:var(--navy); border:1px solid var(--line-2); box-shadow:none;
}
.btn.quiet:hover,.btn.sec:hover{ background:#f5f7fa; border-color:#98a2b3; box-shadow:none; transform:none; }
.action-bar{
  position:sticky; bottom:12px; z-index:5; display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin-top:18px; padding:12px; border:1px solid var(--line); border-radius:13px;
  background:rgba(255,255,255,.94); box-shadow:0 10px 30px rgba(16,24,40,.1); backdrop-filter:blur(10px);
}
.notice-line{
  margin-top:16px; padding:10px 12px; border-radius:9px; background:var(--surface-2);
  color:var(--muted); font-size:11.5px; line-height:1.45;
}
.table-scroll{ width:100%; overflow:auto; }
input,select{
  min-height:38px; padding:8px 10px; border:1px solid var(--line-2); border-radius:9px;
  color:var(--ink); background:#fff; font-size:12.5px;
}
input:focus,select:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
label.fl{ margin-bottom:6px; color:#536176; font-size:11px; font-weight:700; }
.field{ min-width:0; }

/* zwijane sekcje ograniczają ilość informacji na ekranie */
.section-details,.workspace-section,.compact-details,.monthly-report-details,.cal-key{
  border:1px solid var(--line); border-radius:12px; background:#fff;
}
.section-details>summary,.workspace-section>summary,.compact-details>summary,.monthly-report-details>summary,.cal-key>summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:13px 15px; color:var(--navy); font-size:12.5px; font-weight:800;
}
.section-details>summary::-webkit-details-marker,.workspace-section>summary::-webkit-details-marker,.compact-details>summary::-webkit-details-marker,.monthly-report-details>summary::-webkit-details-marker,.cal-key>summary::-webkit-details-marker{ display:none; }
.section-details>summary::after,.workspace-section>summary::after,.compact-details>summary::after,.monthly-report-details>summary::after,.cal-key>summary::after{
  content:'＋'; color:#8692a3; font-size:16px; font-weight:500;
}
.section-details[open]>summary::after,.workspace-section[open]>summary::after,.compact-details[open]>summary::after,.monthly-report-details[open]>summary::after,.cal-key[open]>summary::after{ content:'−'; }
.section-details[open]>summary,.workspace-section[open]>summary,.compact-details[open]>summary,.monthly-report-details[open]>summary{ border-bottom:1px solid var(--line); }
.section-details>.table-scroll,.workspace-section>.table-scroll{ padding-top:8px; }
.workspace-section{ margin:0 0 10px; overflow:hidden; }
.workspace-section>summary span{ flex:0 0 38%; }
.workspace-section>summary small,.monthly-report-details>summary small,.compact-details>summary small{
  flex:1; color:var(--muted); font-size:10.5px; font-weight:500; line-height:1.4;
}
.workspace-section>.table-scroll,.workspace-section>.grid,.workspace-section>.rt-addform{ padding:10px 12px 12px; }
.workspace-section>.btnrow,.workspace-section>div[id$="Form"]{ margin-left:12px!important; margin-right:12px!important; }

/* kalendarz */
.calendar-card{ padding:18px; background:linear-gradient(180deg,#fff 0,#fbfcfe 100%); }
.section-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.section-toolbar>p{ margin:0; color:var(--muted); font-size:11.5px; }
.cal-key{ position:relative; flex:0 0 auto; }
.cal-key>summary{ padding:8px 11px; font-size:10.5px; }
.cal-key[open] .cal-legend{
  position:absolute; right:0; top:calc(100% + 7px); z-index:10; width:290px; margin:0; padding:12px;
  border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:var(--shadow);
}
.cal-head{
  display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:13px;
  padding:12px 14px; border:1px solid #173f6b; border-radius:15px;
  background:linear-gradient(135deg,#0d2a49 0%,#174d82 100%); box-shadow:0 10px 24px rgba(13,42,73,.17);
}
.cal-nav{ display:flex; align-items:center; gap:7px; }
.cal-head .cal-month{
  min-width:190px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:4px 14px; border-inline:1px solid rgba(255,255,255,.22); color:#fff; text-transform:none;
}
.cal-head .cal-month small{ color:#b9cde1; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.cal-head .cal-month strong{ margin-top:1px; font-size:15px; letter-spacing:-.2px; }
.cal-navbtn{ min-height:34px; border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.1); color:#fff; box-shadow:none; }
.cal-navbtn:hover{ border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.18); }
.cal-nav-month{ display:flex; align-items:center; gap:7px; padding-inline:10px; }
.cal-nav-month span{ font-size:10px; font-weight:750; text-transform:capitalize; }
.cal-nav-month b{ color:#b9dbff; font-size:19px; line-height:1; }
.cal-navbtn-today{ margin-left:2px; border-color:#b9dbff; background:#fff; color:#174d82; }
.cal-head .cal-wd{ padding:7px 11px; border:1px solid rgba(187,247,208,.5); background:rgba(220,252,231,.96); color:#17633a; }
.cal{ gap:7px; padding:9px; border:1px solid #dbe3ec; border-radius:14px; background:#f1f5f9; }
.cal .dow{
  padding:5px 4px 7px; border-bottom:2px solid #d8e1eb; color:#475467;
  font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase;
}
.month-context-label{
  grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin:4px -1px 2px; padding:9px 11px; border-left:5px solid #516274; border-radius:8px;
  background:linear-gradient(90deg,#dde4ec,#edf1f5); color:#27364a; box-shadow:0 2px 6px rgba(16,24,40,.05);
}
.month-context-label span{ font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.month-context-label small{ color:#667085; font-size:9px; font-weight:650; }
.cal .cell{
  min-height:96px; padding:9px; gap:6px; border-radius:11px; border-color:#d6dee8;
  background:#fff; box-shadow:0 1px 2px rgba(16,24,40,.04); overflow:hidden;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.cal .cell:hover{ transform:translateY(-1px); border-color:#7e94ad; box-shadow:0 7px 16px rgba(16,24,40,.1); }
.cal .cell.we{ background:#f8fafc; }
.cal .cell.custom-day-color{
  border-top:4px solid var(--weekday-color);
  background:color-mix(in srgb,var(--weekday-color) 9%,white);
}
.cal .cell.custom-day-color .dnum{ color:var(--ink); }
.cal .cell.holiday{ border-color:#efb7b2!important; background:#fff3f2!important; }
.cal .cell.offday{ border-color:#c7cdd5!important; background:#f0f2f5!important; }
.cal .cell.context{ border-style:dashed; background:#e8edf3; opacity:.72; }
.cal .cell.context.source-for-selected{
  opacity:1; border:2px solid #6955c5!important; border-style:solid;
  background:#f5f3ff!important; box-shadow:0 0 0 2px rgba(105,85,197,.13);
}
.cal .cell.context.source-for-selected .dnum{ color:#31266d; }
.cal .cell.context .dnum small{
  margin-left:3px; padding:1px 4px; border-radius:999px; background:#dce2ea; color:#596579;
  font-size:7.5px; letter-spacing:.04em;
}
.cal .cell.month-start{ position:relative; border-left:4px solid var(--navy)!important; }
.cal .cell.context + .cell.month-start{ box-shadow:-8px 0 0 #fff; }
.month-start-label{
  margin:-1px -2px 0; padding:3px 5px; border-radius:5px; background:#e8edf4;
  color:#526075; font-size:7.5px; font-weight:850; letter-spacing:.06em; text-transform:uppercase;
}
.cal .cell.sel:not(.today){
  border:2px solid #e18a16!important; background:linear-gradient(145deg,#fff9ee,#fff2d7)!important;
  box-shadow:0 0 0 3px rgba(225,138,22,.17),0 9px 20px rgba(113,70,13,.14);
}
.cal .cell.today{
  border:2px solid var(--blue)!important; background:linear-gradient(145deg,#eff6ff,#e2edff)!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.2),0 10px 22px rgba(37,99,235,.18);
}
.cal .cell.today.sel{ box-shadow:0 0 0 3px rgba(37,99,235,.2),inset 0 0 0 2px #f2a735,0 8px 20px rgba(37,99,235,.16); }
.cal .cell.today::before{ display:none; }
.cal .cell.today .dnum,.cal .cell.sel:not(.today) .dnum{
  width:27px; height:27px; display:inline-grid; place-items:center; border-radius:8px; color:#fff;
}
.cal .cell.today .dnum{ background:var(--blue); }
.cal .cell.sel:not(.today) .dnum{ background:#d97706; }
.cal .cell .dnum{ font-size:13px; }
.cal .cell.today .dnum{ font-size:14px; }
.state-pill{ display:inline-flex; align-items:center; min-height:16px; padding:2px 5px; border-radius:999px; font-size:6.8px; font-weight:900; letter-spacing:.05em; }
.today-pill{ background:#dbeafe; color:#174ea6; }
.selected-pill{ background:#ffead0; color:#9a5200; }
.cal .cell.today .today-pill{ background:var(--blue); color:#fff; }
.cal .cell.today .selected-pill{ background:#f2a735; color:#382000; }
.cal .cell .datetags{ gap:3px; }
.cal .cell .datetag{
  max-width:100%; padding:3px 6px; border-radius:5px; font-size:8.3px; line-height:1.28;
  box-shadow:0 1px 1px rgba(16,24,40,.04); overflow:hidden; text-overflow:ellipsis;
}
.dt-custom-param{ border-left:3px solid var(--param-color)!important; background:color-mix(in srgb,var(--param-color) 10%,white)!important; color:#27364a!important; }
.dt-custom-param b{ color:color-mix(in srgb,var(--param-color) 70%,#172033); }
.dt-custom-more{ border:1px dashed #98a2b3!important; background:#f2f4f7!important; color:#475467!important; text-align:center; }
.cal .cell .daytag{ padding:2px 5px; font-size:7.5px; }
.cal .cell .badge{ padding:1px 5px; box-shadow:none; }
.dzis-panel{
  margin-bottom:16px; padding:16px; border:1px solid #b8cdf3; border-radius:15px;
  background:linear-gradient(135deg,#f6f9ff,#edf4ff); box-shadow:var(--shadow-sm);
}
.dzis-panel.dzis-empty{ border-color:var(--line); background:#fff; }
.dzis-head{ color:var(--navy); font-size:14px; }
.dzis-list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.dzis-item{ min-height:57px; padding:10px 11px; border:1px solid var(--line); border-left:3px solid var(--blue); border-radius:9px; box-shadow:none; font-size:11.5px; line-height:1.45; }
.schedule-note{ margin:10px 1px 0; padding-top:9px; border-top:1px solid #cbdaf2; color:#536176; font-size:10.5px; line-height:1.45; }
.selected-day-panel{ margin:0 0 14px; padding:13px; border-color:var(--line); background:var(--surface-2); }
.selected-day-panel .dzis-list{ margin-top:10px; }
.editor{ margin-top:14px; padding:16px; border-color:var(--line); border-radius:14px; background:#fff; box-shadow:none; }
.editor#calEditor{ border-top:4px solid #e18a16; }
.ed-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.ed-head>div:first-child{ display:flex; align-items:baseline; gap:10px; }
.editor-kicker{ color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ed-head b{ color:var(--navy); font-size:16px; }
.editor-badges{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.status-badge{ padding:4px 7px; border-radius:999px; background:#eef2f6; color:#475467; font-size:9px; font-weight:800; }
.status-badge.is-today{ background:#dbeafe; color:#1849a9; }
.status-badge.is-holiday{ background:#fee4e2; color:#912018; }
.editor-section{ padding:14px 0 8px; }
.editor-sub{ margin:0 0 9px; color:#536176; font-size:9.5px; }
.editor-footer{ display:grid; grid-template-columns:minmax(220px,.65fr) minmax(300px,1.35fr); gap:10px; margin-top:8px; }
.daily-entry-section{ margin-top:6px; padding:14px; border:1px solid #d8e1f1; border-radius:12px; background:#f8faff; }
.daily-entry-section .table-scroll{ border:1px solid #dbe3ed; border-radius:10px; background:#fff; }
.daily-entry-table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.daily-entry-table th{
  padding:9px 11px; border-bottom:1px solid #d5deea; background:#eaf0f7; color:#42526a;
  font-size:8.5px; font-weight:850; letter-spacing:.06em; text-align:left; text-transform:uppercase;
}
.daily-entry-table th:nth-child(1){ width:43%; }
.daily-entry-table th:nth-child(2){ width:20%; }
.daily-entry-table th:nth-child(3){ width:25%; }
.daily-entry-table th:nth-child(4){ width:12%; }
.daily-entry-table td{ padding:9px 11px; border-bottom:1px solid #e7ecf2; color:#475467; font-size:10.5px; vertical-align:middle; }
.daily-entry-table tr:last-child td{ border-bottom:0; }
.daily-entry-table tbody tr:hover td{ background:#f8fbff; }
.daily-entry-table td:first-child{ border-left:4px solid transparent; }
.daily-entry-table tr.custom-daily-field td:first-child{ border-left-color:var(--param-color); }
.daily-entry-table td b{ display:block; color:#24364d; font-size:10.5px; line-height:1.35; }
.daily-entry-table td small{ display:block; margin-top:2px; color:#8a94a4; font-size:8.5px; }
.daily-entry-table input{ width:100%; min-width:0; text-align:right; }
.daily-map-badge{ display:inline-flex; padding:4px 7px; border-radius:999px; background:#eef1f5; color:#667085; font-size:8.5px; font-weight:750; }
.daily-map-badge.is-mapped{ background:#e8f3ff; color:#17538a; }
.daily-table-empty{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; padding:9px 11px; border:1px dashed #b9c5d4; border-radius:9px; background:#fff; }
.daily-table-empty span{ color:#667085; font-size:9.5px; }
.daily-table-empty button{ border:0; background:transparent; color:var(--blue-d); font-size:9.5px; font-weight:800; cursor:pointer; }
.custom-daily-editor{ margin-top:6px; padding:14px; border:1px solid #d8e1f1; border-radius:12px; background:#f8faff; }
.daily-param-heading{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.daily-param-heading>div{ display:flex; flex-direction:column; gap:2px; }
.daily-param-heading .editor-sub{ margin:0; color:#344054; font-size:10px; }
.daily-param-heading small{ color:var(--muted); font-size:9.5px; }
.mini-btn{ min-height:30px; padding:6px 9px; font-size:9.5px; }
.custom-daily-grid{ gap:9px; }
.custom-daily-field{ padding:9px; border-left:4px solid var(--param-color); border-radius:9px; background:#fff; box-shadow:0 1px 4px rgba(16,24,40,.06); }
.custom-daily-field label small{ color:#7b8796; font-weight:600; }
.custom-daily-field input{ width:100%; border-color:color-mix(in srgb,var(--param-color) 38%,#d0d5dd); }
.custom-daily-empty{ display:flex; flex-direction:column; gap:3px; padding:13px; border:1px dashed #b9c5d4; border-radius:9px; background:#fff; }
.custom-daily-empty span{ color:#344054; font-size:10.5px; font-weight:750; }
.custom-daily-empty small{ color:var(--muted); font-size:9.5px; }
.custom-stat-card{ border-top:3px solid var(--param-color); background:color-mix(in srgb,var(--param-color) 5%,white); }
.settings-explainer{ display:flex; flex-direction:column; gap:3px; padding:12px 14px; border-bottom:1px solid var(--line); background:#f7f9fc; }
.settings-explainer b{ color:var(--navy); font-size:11px; }
.settings-explainer span{ color:var(--muted); font-size:10px; line-height:1.45; }
.daily-param-table input,.daily-param-table select{ width:100%; min-width:0; }
.daily-param-table input[type=color]{ width:48px; min-height:34px; padding:3px; }
.daily-param-table{ min-width:1040px; }
.daily-target-controls{ display:grid; grid-template-columns:minmax(125px,1fr) 96px; gap:6px; }
.daily-target-controls input:disabled,.daily-target-controls select:disabled{ background:#f2f4f7; color:#98a2b3; }
.daily-param-empty td{ padding:18px!important; color:var(--muted); text-align:center; }
.settings-actions{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 14px; border-top:1px solid var(--line); }
.settings-safe-note{ margin:0 14px 13px; padding:8px 10px; border-radius:8px; background:#f2f4f7; color:#667085; font-size:9.5px; }
.offday-toggle{
  display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 12px;
  border:1px solid var(--line); border-radius:11px; background:var(--surface-2); cursor:pointer;
}
.offday-toggle input{ width:17px; min-height:auto; height:17px; margin:0; }
.offday-toggle span{ display:flex; flex-direction:column; gap:2px; }
.offday-toggle b{ font-size:11.5px; }
.offday-toggle small{ color:var(--muted); font-size:9.5px; }
.editor-footer>.compact-details{ overflow:hidden; }
.editor-footer>.compact-details[open]{ grid-column:1/-1; }
.editor-footer>.compact-details>.grid{ padding:12px; }
.advanced-daily-footer{ grid-template-columns:minmax(210px,.35fr) minmax(560px,1.65fr); align-items:stretch; }
.r-code-card{ padding:12px; border:1px solid #cfdbea; border-radius:12px; background:linear-gradient(135deg,#f8fbff,#f1f6fc); }
.r-code-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.r-code-head>div{ display:flex; flex-direction:column; gap:2px; }
.r-code-head b{ color:var(--navy); font-size:11.5px; }
.r-code-head small{ color:var(--muted); font-size:9px; }
.r-scan-btn{ flex:0 0 auto; min-height:30px; padding:6px 9px; border-color:#9fc0e6; background:#fff; color:#174d82; font-size:9.5px; }
.r-code-flow{ display:grid; grid-template-columns:minmax(100px,.8fr) 18px minmax(170px,1.35fr) 18px minmax(110px,.85fr); align-items:center; gap:7px; }
.r-code-flow>div,.r-code-flow>label{ min-height:62px; display:flex; flex-direction:column; justify-content:center; gap:3px; padding:8px 10px; border:1px solid #d8e1eb; border-radius:9px; background:#fff; }
.r-code-flow>i{ color:#7c8da4; font-style:normal; font-size:16px; font-weight:800; text-align:center; }
.r-code-flow span{ color:#667085; font-size:8.5px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.r-code-flow strong{ color:#20354e; font:800 15px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; }
.r-code-flow small{ color:#98a2b3; font-size:8px; }
.r-code-flow input{ width:100%; min-height:32px; padding:6px 8px; font:750 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.r-result{ border-color:#b8d9c5!important; background:#effaf3!important; }
.r-result strong{ color:#17633a; font-size:20px; }
.r-scan-status{ margin-top:8px; color:#667085; font-size:8.8px; line-height:1.4; }
.r-scan-status.is-working{ color:#8a5504; }
.r-scan-status.is-ok{ color:#17633a; }
.r-scan-status.is-error{ color:#b42318; }
.totals-details{ margin-top:12px; padding:0; overflow:hidden; }
.totals-details>.stat-grid{ padding:12px; margin:0; }
.monthly-report-details{ padding:0; overflow:hidden; }
.monthly-report-details>summary{ padding:15px 17px; }
.monthly-report-details>summary>span:first-child{ display:flex; flex-direction:column; gap:2px; }
.monthly-report-details .summary-action{ color:var(--blue-d); font-size:10px; }
.monthly-report-content{ padding:14px; }
.report-actions{ justify-content:flex-end; margin-bottom:10px; }
.stat-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.stat-card{ padding:10px; border-radius:9px; box-shadow:none; }
.stat-card .stat-label{ min-height:auto; font-size:8.5px; }
.stat-card .stat-val{ font-size:16px; }

/* import dokumentów */
.upload-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.upload-panel{ position:relative; min-width:0; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface-2); }
.upload-number{ position:absolute; right:12px; top:12px; color:#98a2b3; font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.upload-panel .fl{ padding-right:30px; min-height:30px; color:var(--navy); }
.drop{ min-height:116px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:16px; border:1.5px dashed #a9b7c8; border-radius:10px; background:#fff; }
.drop:hover{ border-color:var(--blue); background:#f5f8ff; }
.drop b{ color:var(--navy); font-size:12px; }
.drop span{ color:var(--muted); font-size:10px; }
.section-details{ overflow:hidden; }
.section-details>summary{ padding:0 2px 14px; border:0!important; }
.section-details>.table-scroll{ border-top:1px solid var(--line); }
.ocr-section-row td{
  padding:12px 9px!important; border-top:2px solid #cbd5e1; border-bottom:1px solid #d9e1eb!important;
  background:#edf2f8!important; color:var(--navy)!important;
}
.ocr-section-row b{ display:block; font-size:11px; }
.ocr-section-row span{ display:block; margin-top:2px; color:#697586; font-size:9.5px; font-weight:500; }
.ocr-dynamic-row td{ background:#f7f3ff!important; }
.ocr-dynamic-row .op small{ display:block; margin-top:2px; color:#6955c5; font-size:9px; font-weight:700; }
.ocr-extra-notice{
  margin-top:9px; padding:9px 10px; border:1px solid #cfc7f4; border-radius:9px;
  background:#f7f5ff; color:#4c437b; font-size:10.5px; line-height:1.4;
}
.ocr-settings-section{ margin:0; background:#fff; box-shadow:var(--shadow-sm); }
.ocr-settings-intro{ display:flex; flex-direction:column; gap:3px; padding:13px 14px 4px; }
.ocr-settings-intro b{ color:var(--navy); font-size:12px; }
.ocr-settings-intro span{ color:var(--muted); font-size:10.5px; line-height:1.45; }
.client-map-table input,.client-map-table select,.client-unmatched-table input,.client-unmatched-table select{ width:100%; min-width:0; }
.ocr-settings-actions{ align-items:center; padding:2px 14px 14px; margin:0!important; }
.empty-map-cell{ padding:18px!important; color:var(--muted); text-align:center; }
.client-map-result{ padding:0; overflow:hidden; }
.client-map-result .section-details>summary{ padding:14px 16px; border-bottom:1px solid var(--line)!important; }
.client-map-result .table-scroll{ padding:0 14px 14px; border:0; }
.client-map-summary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:13px 14px; }
.client-map-summary span{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:10px 12px; border:1px solid #c9d8e8; border-radius:9px; background:#f5f8fc; color:#526174; font-size:10px; font-weight:700; }
.client-map-summary b{ color:var(--navy); font-size:18px; }
.client-map-result td small{ display:block; margin-top:3px; color:var(--muted); font-size:9px; }
.client-map-warning{ margin:0 14px 14px; padding:12px; border:1px solid #efd7a5; border-radius:10px; background:#fff9ec; }
.client-map-warning>b{ display:block; margin-bottom:9px; color:#8a5504; font-size:11px; }
.client-map-warning .table-scroll{ padding:0; }
.client-unmatched-table{ background:#fff; }
.client-unmatched-table td:last-child{ text-align:center; }
.rs-summary-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  margin-top:14px; padding:12px 2px 9px; border-top:2px solid var(--navy); color:var(--navy);
}
.rs-summary-head b{ font-size:12px; }
.rs-summary-head span{ color:var(--muted); font-size:9.5px; }
.rs-summary-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.rs-summary-field{
  display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0;
  padding:9px 10px; border:1px solid var(--line); border-radius:9px; background:#f8fafc;
}
.rs-summary-field>span:first-child{ color:#475467; font-size:9.5px; font-weight:700; line-height:1.35; }
.rs-summary-input{ display:flex; align-items:center; gap:5px; flex:0 0 116px; }
.rs-summary-input input{ min-width:0; text-align:right; }
.rs-summary-input small{ color:#667085; font-size:9px; font-weight:700; }

/* dane, ustawienia i dokumenty */
table.rate-t{ border-radius:0; box-shadow:none; }
table.rate-t th{ position:sticky; top:0; z-index:1; padding:9px 10px; background:#f1f4f8; color:#44546a; }
table.rate-t td{ padding:8px 10px; }
table.rate-t tr:hover td{ background:#f7f9fc; }
.rate-section{ margin-bottom:10px; }
.rate-section h3,.rate-section p.rs-desc{ display:none; }
.rt-editbtn,.rt-delbtn{ border-radius:7px; }
.primary-actions{ gap:8px; }
.action-card{ padding:12px; }
.tabs{ gap:4px; margin:0 0 10px; padding:4px; border:1px solid var(--line); border-radius:11px; background:#eef2f6; }
.tab{ flex:1; padding:9px 13px; border:0; border-radius:8px; background:transparent; color:#667085; font-size:11.5px; }
.tab.active{ background:#fff; color:var(--navy); border:0; box-shadow:0 1px 4px rgba(16,24,40,.1); }
.doc{ padding:32px; border:1px solid var(--line); box-shadow:var(--shadow-sm); }

@media(max-width:960px){
  .upload-grid,.dzis-list{ grid-template-columns:1fr; }
  .stat-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editor-footer{ grid-template-columns:1fr; }
  .advanced-daily-footer{ grid-template-columns:1fr; }
  .workspace-section>summary{ align-items:flex-start; flex-direction:column; gap:3px; }
  .workspace-section>summary span{ flex:auto; }
  .cal .cell{ min-height:82px; }
  .rs-summary-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .formula-editor-grid{ grid-template-columns:1fr 1fr; }
  .formula-editor-grid label:last-child{ grid-column:1/-1; }
  .client-map-table th:nth-child(3),.client-map-table td:nth-child(3){ min-width:280px; }
  .cal-head{ align-items:flex-start; flex-direction:column; }
  .cal-head .cal-wd{ align-self:flex-end; }
}
@media(max-width:680px){
  header.app{ min-height:76px; padding:15px 16px; }
  .app-status{ display:none; }
  header.app h1{ font-size:15px; }
  .brand-mark{ width:38px; height:38px; }
  nav.nav{ padding:7px 10px; }
  .navbtn{ padding:8px 10px; font-size:11px; }
  .navbtn span{ display:none; }
  .formula-editor-grid{ grid-template-columns:1fr; }
  .formula-editor-grid label:last-child{ grid-column:auto; }
  .client-map-summary{ grid-template-columns:1fr; }
  .wrap{ padding:20px 12px 40px; }
  .page-heading{ align-items:flex-start; flex-direction:column; margin-bottom:15px; }
  .page-heading h2{ font-size:23px; }
  .card{ padding:13px; border-radius:13px; }
  .g2,.g3,.g4{ grid-template-columns:1fr; }
  .rs-summary-grid{ grid-template-columns:1fr; }
  .rs-summary-head{ align-items:flex-start; flex-direction:column; gap:3px; }
  .cal-head{ padding:8px; }
  .cal-nav{ width:100%; justify-content:center; }
  .cal-head .cal-month{ min-width:138px; padding-inline:8px; }
  .cal-head .cal-month strong{ font-size:13px; }
  .cal-nav-month span{ display:none; }
  .cal-head .cal-wd{ align-self:center; }
  .month-context-label{ align-items:flex-start; flex-direction:column; gap:2px; padding:6px 8px; }
  .month-context-label small{ font-size:8px; }
  .cal{ gap:3px; padding:5px; }
  .cal .dow{ font-size:8px; }
  .cal .cell{ min-height:57px; padding:5px; border-radius:7px; }
  .cal .cell .datetag{ font-size:0; width:8px; height:8px; padding:0; border-radius:50%; }
  .cal .cell .datetags{ flex-direction:row; flex-wrap:wrap; }
  .state-pill{ width:7px; height:7px; min-height:7px; padding:0; font-size:0; }
  .month-start-label{ height:3px; padding:0; font-size:0; background:var(--navy); }
  .cal .cell.today .dnum,.cal .cell.sel:not(.today) .dnum{ width:23px; height:23px; }
  .cal-key[open] .cal-legend{ right:auto; left:0; width:min(290px,calc(100vw - 50px)); }
  .section-toolbar{ align-items:flex-start; flex-direction:column; }
  .daily-param-heading{ align-items:flex-start; flex-direction:column; }
  .daily-param-table{ min-width:1040px; }
  .daily-entry-section{ padding:10px; }
  .daily-entry-section .table-scroll{ overflow:visible; border:0; background:transparent; }
  .daily-entry-table,.daily-entry-table tbody,.daily-entry-table tr,.daily-entry-table td{ display:block; width:100%; }
  .daily-entry-table thead{ display:none; }
  .daily-entry-table tr{ margin-bottom:8px; border:1px solid #dbe3ed; border-left:4px solid #c5d0dc; border-radius:9px; background:#fff; overflow:hidden; }
  .daily-entry-table tr.custom-daily-field{ border-left-color:var(--param-color); }
  .daily-entry-table td,.daily-entry-table td:first-child{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 9px; border:0; border-bottom:1px solid #edf0f4; }
  .daily-entry-table td:last-child{ border-bottom:0; }
  .daily-entry-table td::before{ content:attr(data-label); flex:0 0 82px; color:#8a94a4; font-size:7.8px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .daily-entry-table td:first-child{ display:block; }
  .daily-entry-table td:first-child::before{ display:none; }
  .daily-entry-table input{ max-width:170px; }
  .r-code-head{ flex-direction:column; }
  .r-code-flow{ grid-template-columns:1fr; }
  .r-code-flow>i{ transform:rotate(90deg); height:14px; }
  .stat-grid{ grid-template-columns:1fr 1fr; }
  .doc{ padding:16px; overflow:auto; }
}
