/* Motyw paneli DNK w barwach OPTO-MED: niebieski ze znaku OM i grafit. */
:root {
  --accent: #137cbb; --accent-dark: #0f6499; --accent-soft: #e8f3fa; --amber: #137cbb;
  --red: #137cbb; --red-dark: #0f6499;
  --side: #232427; --side-2: #383a3f; --side-hover: #2e3034; --side-line: #36383c; --side-muted: #a2a4a9;
}
.pill.red { background: var(--accent-soft); border-color: #bfdcf0; color: #0b4f7a; }
.sidebar .logo.om-znak { background: #fff; padding: 3px; overflow: hidden; }
.om-znak img { width: 100%; height: 100%; object-fit: contain; display: block; }
.om-login-logo { text-align: center; margin-bottom: 22px; }
.om-login-logo img { width: 240px; max-width: 100%; }
.om-login-logo p { color: var(--muted); font-size: 14px; margin-top: 8px; }
.kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.grid2 > .box, .grid3 > .box { margin-bottom: 0; }
.grid2, .grid3 { margin-bottom: 20px; }
.box h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.box h2 a { font-size: 13px; }
.om-slupki { display: flex; align-items: stretch; gap: 8px; height: 170px; }
.om-slupek { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; min-width: 0; }
.om-slupek i { display: block; width: 100%; max-width: 44px; background: var(--accent); border-radius: 6px 6px 0 0; min-height: 2px; flex-shrink: 0; }
.om-slupek b { font-size: 13px; margin-bottom: 4px; }
.om-slupek span { font-size: 11px; color: var(--muted); margin-top: 6px; white-space: nowrap; }
.om-lista { list-style: none; padding: 0; margin: 0; }
.om-lista li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid #f0f0f0; font-size: 14px; line-height: 1.45; }
.om-lista li:last-child { border-bottom: 0; }
.om-lista small { color: var(--muted); font-size: 12.5px; }
.om-lista li > span:not(.pill) { flex-basis: 100%; }
.om-szukaj { display: flex; gap: 8px; }
.om-szukaj input { padding: 9px 12px; border: 1px solid #e0e0e0; border-radius: 9px; font: inherit; font-size: 14px; min-width: 260px; }
.data-table select, .om-zad select { font: inherit; font-size: 13px; padding: 6px 8px; border: 1px solid #e0e0e0; border-radius: 8px; background: #fff; max-width: 100%; }
.om-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.om-form label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; }
.om-form input, .om-form select, .om-form textarea { font: inherit; font-weight: 400; font-size: 14px; padding: 10px 12px; border: 1px solid #e0e0e0; border-radius: 9px; width: 100%; background: #fff; box-sizing: border-box; }
.om-form input:focus, .om-form select:focus, .om-form textarea:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: var(--accent); }
.om-form .om-cala { grid-column: 1 / -1; }
.om-form .btn { justify-self: start; }
.om-kolumny { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: start; margin-bottom: 20px; }
.om-kol { background: #eaeaea; border-radius: 14px; padding: 12px; }
.om-kol h2 { font-size: 14px; font-weight: 700; margin: 2px 4px 12px; display: flex; justify-content: space-between; }
.om-kol h2 b { background: #fff; border-radius: 20px; padding: 0 9px; font-size: 12.5px; }
.om-zad { background: #fff; border-radius: 11px; padding: 12px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 7px; font-size: 14px; }
.om-zad-g { display: flex; gap: 5px; flex-wrap: wrap; }
.om-zad .pill { font-size: 11.5px; padding: 2px 7px; }
.om-zad p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.om-zad small { color: var(--muted); font-size: 12px; }
.om-reki { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; }
.om-rek { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; display: flex; flex-direction: column; font-size: 13.5px; }
.om-rek img, .om-rek-brak { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #efefef; display: block; }
.om-rek > div:last-child { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.om-rek small { color: var(--muted); font-size: 12.5px; }
.om-akapit { margin: 14px 0 0; font-size: 15px; line-height: 1.55; max-width: 780px; }
.om-etapy { display: flex; flex-direction: column; }
.om-etap { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid #f0f0f0; }
.om-etap:last-child { border-bottom: 0; }
.om-etap > b { width: 30px; height: 30px; border-radius: 50%; background: var(--accent); color: #fff; display: grid; place-items: center; font-size: 13px; }
.om-etap p { margin: 2px 0 0; color: var(--muted); font-size: 13.5px; line-height: 1.4; }
.om-etap .pill { white-space: nowrap; }
.nowrap { white-space: nowrap; }
.om-leady { font-size: 13.5px; }
.om-leady th, .om-leady td { padding: 11px 7px; }
.om-leady select { min-width: 128px; }
.om-leady .om-l-gps { min-width: 140px; }
.om-leady td:nth-child(3) { max-width: 190px; overflow-wrap: anywhere; }
.table-wrap:has(.om-leady) { border: 0; }
.table-wrap { overflow-x: auto; }
@media (max-width: 1200px) { .om-kolumny { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grid3 { grid-template-columns: 1fr; } }
@media (max-width: 860px) {
  .main { padding: 20px 16px 40px; }
  .grid2, .grid3, .om-kolumny, .om-form { grid-template-columns: minmax(0, 1fr); }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpis .kpi .v { font-size: 22px; }
  .om-szukaj, .om-szukaj input { width: 100%; min-width: 0; }
  .om-etap { grid-template-columns: 34px 1fr; }
  .om-etap .pill { grid-column: 2; justify-self: start; }
  .om-slupki { gap: 3px; height: 140px; }
  .om-slupek span { font-size: 10px; }
  .om-slupek:nth-child(even) span { visibility: hidden; }
  .om-reki { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .om-leady, .om-leady tbody, .om-leady tr, .om-leady td { display: block; }
  .om-leady thead { display: none; }
  .om-leady tr { padding: 14px 0; border-bottom: 1px solid #ececec; }
  .om-leady tr:last-child { border-bottom: 0; }
  .om-leady td { padding: 3px 0; border: 0; white-space: normal; min-width: 0 !important; }
  .om-leady td[data-l]::before { content: attr(data-l) ": "; color: var(--muted); }
  .om-leady .om-l-data { color: var(--muted); font-size: 12.5px; }
  .om-leady td:empty { display: none; }
  .om-leady select { width: 100%; margin-top: 6px; padding: 10px; font-size: 14px; }
}
/* OPTO-MED: dodatki */
.pill.red { background: #fdeced; border-color: #f7c6c9; color: #a50008; }
.pill.blue { background: var(--accent-soft); border-color: #bfdcf0; color: #0b4f7a; }
.om-login-logo { text-align: center; margin-bottom: 22px; }
.om-login-logo img { width: 72px; display: block; margin: 0 auto 8px; }
.om-login-logo b { font-size: 22px; letter-spacing: .04em; color: var(--accent); }
.om-alarm { color: #a50008; font-weight: 700; }
.om-filtr-alarm.on, .om-filtr-alarm { color: #a50008; }
.om-nieod td:first-child { box-shadow: inset 3px 0 0 #d8000b; }
.om-filtry { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.om-filtry input, .om-filtry select { font: inherit; font-size: 13.5px; padding: 8px 10px; border: 1px solid #e0e0e0; border-radius: 9px; background: #fff; }
.om-filtry input[type=search] { min-width: 240px; flex: 1; }
.om-akcje { display: flex; gap: 8px; flex-wrap: wrap; }
.om-zadzwon { margin-top: 14px; display: inline-block; }
.om-salony td, .om-salony th { text-align: right; }
.om-salony td:first-child, .om-salony th:first-child { text-align: left; }
.om-godziny { height: 150px; }
.om-zap { font-size: 13.5px; }
.om-zap th, .om-zap td { padding: 11px 7px; }
.om-zap select { min-width: 118px; }
.table-wrap:has(.om-zap) { border: 0; }
@media (max-width: 860px) {
  .om-zap, .om-zap tbody, .om-zap tr, .om-zap td { display: block; }
  .om-zap thead { display: none; }
  .om-zap tr { padding: 14px 0; border-bottom: 1px solid #ececec; }
  .om-zap tr:last-child { border-bottom: 0; }
  .om-zap td { padding: 3px 0; border: 0; white-space: normal; min-width: 0 !important; }
  .om-zap td[data-l]::before { content: attr(data-l) ": "; color: var(--muted); }
  .om-zap .om-z-data { color: var(--muted); font-size: 12.5px; }
  .om-zap td:empty { display: none; }
  .om-zap select { width: 100%; margin-top: 6px; padding: 10px; font-size: 14px; }
  .om-nieod td:first-child { box-shadow: none; }
  .om-nieod { background: #fff7f7; }
  .om-filtry input[type=search] { width: 100%; }
}
.om-filtry input, .om-filtry select { width: auto; }
.om-filtry input[type=date] { width: auto; }
.om-slupki { margin-top: 12px; }
@media (max-width: 860px) { .om-filtry input, .om-filtry select { width: 100%; } }
.om-wiz { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.om-wiz > .box { margin-bottom: 0; }
.om-wiz .om-form { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.om-wiz .om-form input { padding: 8px 10px; }
.om-mies { font: inherit; font-size: 13.5px; padding: 8px 10px; border: 1px solid #e0e0e0; border-radius: 9px; background: #fff; }
@media (max-width: 1100px) { .om-wiz { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 860px) { .om-wiz .om-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
