/* © PixelShark.eu */

/* Izolacja i stabilność box modelu */
.psl-table-wrap,
.psl-table-wrap * { box-sizing: border-box !important; }

/* Tabela */
.psl-table-wrap { --radius: 14px; --shadow: 0 10px 30px rgba(0,0,0,.06); }
.psl-table-wrap .psl-table-toolbar { margin: 0 0 10px !important; display:flex !important; justify-content: flex-end !important; }
.psl-table-wrap .psl-search { padding: 10px 12px !important; border:1px solid #e3e3e3 !important; border-radius: 10px !important; min-width: 260px !important; background:#fff !important; }
.psl-table-wrap .psl-table-scroll { overflow:auto !important; border:1px solid #eee !important; border-radius: var(--radius) !important; box-shadow: var(--shadow) !important; }
.psl-table-wrap table.psl-table { width:100% !important; border-collapse: collapse !important; font-size: 13px !important; background:#fff !important; }

/* Wyśrodkowanie */
.psl-table-wrap table.psl-table thead th,
.psl-table-wrap table.psl-table tbody td { text-align:center !important; }

/* Nagłówki – 2 linie max, balans, przyklejone tło */
.psl-table-wrap table.psl-table thead th {
  position: sticky !important; top: 0 !important; background:#fafafa !important;
  border-bottom:1px solid #eee !important; padding:12px !important; cursor:pointer !important;
  z-index: 1; /* nad body tabeli */
}
.psl-table-wrap table.psl-table thead th { white-space: normal !important; line-height: 1.2 !important; }
.psl-table-wrap table.psl-table thead th .psl-th {
  display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient: vertical !important;
  overflow:hidden !important; text-wrap: balance;
}
.psl-table-wrap table.psl-table th.sort-asc::after  { content: " ▲"; font-size: 12px; }
.psl-table-wrap table.psl-table th.sort-desc::after { content: " ▼"; font-size: 12px; }

/* Komórki – max 2 linie (bez ceny) */
.psl-table-wrap table.psl-table tbody td {
  border-top:1px solid #f3f3f3 !important; padding:12px !important; vertical-align: middle !important;
  line-height:1.35 !important; max-height:calc(1.35em * 2) !important; overflow:hidden !important; background:#fff !important; color:inherit !important;font-size:12px !important;
}

/* Cena w jednej kolumnie – pełna, nie ucinaj */
.psl-table-wrap table.psl-table td.psl-td-price { overflow: visible !important; max-height:none !important; }
.psl-table-wrap .psl-td-price .psl-price { display:inline-block !important; min-width: 140px !important; }
.psl-table-wrap .psl-price__total { font-weight: 600 !important; white-space: nowrap !important; }
.psl-table-wrap .psl-price__m2 { font-size: 12px !important; opacity: .85 !important; margin-top: 2px !important; }

/* Przycisk historii – mniejszy, profesjonalny */
.psl-table-wrap table.psl-table .psl-history-btn{
  padding:6px 10px !important; font-size:12px !important;
  border-radius: 999px !important; border:1px solid #c9dcff !important; background:#d7b166 !important; color:#0f296b !important; cursor:pointer !important;
  transition: box-shadow .15s ease, background .15s ease, border-color .15s ease !important; display:inline-block !important;
}
.psl-table-wrap table.psl-table .psl-history-btn:hover { box-shadow: 0 4px 10px rgba(0,0,0,.06) !important; background:#a3834d !important; border-color:#b9d0ff !important; color:#fff !important; }

/* Pobierz – badge w dwóch oddzielnych wierszach */
.psl-table-wrap td.psl-files .psl-badges { display:inline-block !important; text-align:center !important; }
.psl-table-wrap td.psl-files .psl-badge{
  display:block !important; margin:2px 0 !important;
  padding:6px 10px !important; font-size:12px !important; line-height:1 !important; border-radius:999px !important;
  background:#d7b166 !important; border:1px solid #dbe4ff !important; color:#0f296b !important; text-decoration:none !important; white-space: nowrap !important;
}
.psl-table-wrap td.psl-files .psl-badge:hover { background:#a3834d !important; border-color:#cfdcff !important; color:#fff !important; }

/* Modal */
.psl-table-wrap .psl-modal[hidden] { display:none !important; }
.psl-table-wrap .psl-modal { position: fixed !important; inset: 0 !important; z-index: 9999 !important; }
.psl-table-wrap .psl-modal__backdrop { position:absolute !important; inset:0 !important; background: rgba(0,0,0,.45) !important; }
.psl-table-wrap .psl-modal__dialog {
  position:relative !important; background:#fff !important; width:min(920px, 92vw) !important; margin: 6vh auto !important;
  border-radius: 16px !important; padding: 20px !important; box-shadow: 0 10px 40px rgba(0,0,0,.2) !important; z-index:1 !important;
  max-height: 84vh !important; overflow:auto !important; border: none !important;
}
.psl-table-wrap .psl-modal__close { position:absolute !important; right: 12px !important; top: 8px !important; border:0 !important; background:transparent !important; font-size: 24px !important; cursor:pointer !important; }

/* Nagłówek modala — przyklejony, wycentrowany, z tłem */
.psl-table-wrap .psl-modal__dialog h3{
  position: sticky !important; top: 0 !important; text-align:center !important; padding: 14px 16px !important;
  border-bottom: 1px solid #e2e8f0 !important; z-index: 2 !important;
}

.psl-table-wrap .psl-modal__table { width:100% !important; border-collapse: collapse !important; margin-top: 10px !important; }
.psl-table-wrap .psl-modal__table th,
.psl-table-wrap .psl-modal__table td { border:1px solid #eee !important; padding:10px !important; text-align:left !important; background:#fff !important; color: black; }

/* RWD */
@media (max-width: 800px){
  .psl-table-wrap table.psl-table thead th,
  .psl-table-wrap table.psl-table tbody td { padding:10px !important; }
  .psl-table-wrap .psl-search { min-width: 190px !important; width: 100% !important; }
  .psl-table-wrap .psl-table-toolbar { justify-content: stretch !important; }
}
/* rozmiar nagłówków tabeli (wymuszenie) */
.psl-table-wrap table.psl-table thead th { 
  font-size: 13px !important; 
  line-height: 1.2 !important;
}
.psl-table-wrap table.psl-table thead th .psl-th {
  font-size: inherit !important;
}

@media (max-width: 800px){
  .psl-table-wrap table.psl-table thead th { font-size: 12px !important; }
}