
/* Style pozostają bez zmian – identyczne jak w oryginalnej wersji 2.3 */
.favorite-order-view[data-v-69fb5e88] { padding: 24px; max-width: 720px; margin: 0 auto;
}
h2[data-v-69fb5e88] { margin-bottom: 24px; color: #2c3e50;
}
h3[data-v-69fb5e88] { margin: 24px 0 12px; color: #34495e; font-size: 1.1rem;
}
.setting-section[data-v-69fb5e88] { background: #f8f9fa; padding: 20px; border-radius: 12px; border: 1px solid #e9ecef;
}
.setting-row[data-v-69fb5e88] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.tiles-select[data-v-69fb5e88] { padding: 10px 16px; font-size: 15px; border: 2px solid #ced4da; border-radius: 8px; min-width: 160px;
}
.tiles-select[data-v-69fb5e88]:focus { border-color: #007bff; box-shadow: 0 0 0 3px rgba(0,123,255,0.15);
}
.btn-save[data-v-69fb5e88] { background: #28a745; color: white; border: none; padding: 10px 20px; border-radius: 8px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 8px;
}
.btn-save[data-v-69fb5e88]:hover:not(:disabled) { background: #218838; transform: translateY(-1px);
}
.btn-save[data-v-69fb5e88]:disabled { opacity: 0.6; cursor: not-allowed;
}
.screen-select-btn[data-v-69fb5e88] {
  border: 2px solid #ced4da;
  background: #fff;
  color: #212529;
  border-radius: 8px;
  padding: 10px 18px;
  cursor: pointer;
  font-weight: 700;
}
.screen-select-btn.active[data-v-69fb5e88] {
  background: #007bff;
  border-color: #007bff;
  color: white;
}
.hint[data-v-69fb5e88] { font-size: 0.85rem; color: #6c757d; margin-top: 8px;
}
.divider[data-v-69fb5e88] { margin: 32px 0; border: none; border-top: 1px solid #dee2e6;
}
.favorites-list[data-v-69fb5e88] { list-style: none; padding: 0; margin: 0;
}
.favorite-item[data-v-69fb5e88] { display: flex; align-items: center; justifyContent: space-between; margin-bottom: 8px; padding: 12px; background: #fff; border: 1px solid #dee2e6; border-radius: 10px;
}
.favorite-item[data-v-69fb5e88]:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.favorite-tile[data-v-69fb5e88] {
  width: 110px;
  height: 110px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #dee2e6;
}
.tile-text[data-v-69fb5e88] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 6px 8px;
  background: rgba(0, 0, 0, 0.65);
  color: white;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}
.controls[data-v-69fb5e88] { display: flex; gap: 8px;
}
.controls button[data-v-69fb5e88] { width: 42px; height: 42px; background: #007bff; color: white; border: none; border-radius: 8px; font-size: 16px; cursor: pointer;
}
.controls button[data-v-69fb5e88]:hover:not(:disabled) { background: #0056b3; transform: translateY(-1px);
}
.controls button[data-v-69fb5e88]:disabled { background: #adb5bd; cursor: not-allowed;
}
.success-message[data-v-69fb5e88] { background: #d4edda; color: #155724; padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-weight: 600;
}
.error-message[data-v-69fb5e88] { background: #f8d7da; color: #721c24; padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-weight: 600;
}
.loading-state[data-v-69fb5e88] { text-align: center; padding: 60px 20px; color: #6c757d; font-size: 18px;
}
.no-favorites[data-v-69fb5e88] { text-align: center; padding: 40px; color: #6c757d; font-style: italic;
}

/* Switch / checkbox */
.switch-label[data-v-69fb5e88] {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 600;
}
.switch-text[data-v-69fb5e88] {
  font-size: 15px;
  color: #495057;
}
input[type="checkbox"][data-v-69fb5e88] {
  width: 20px;
  height: 20px;
  accent-color: #28a745;
}

/* === CUSTOM COLOR PICKER FOR FAVORITES === */
.favorite-color-picker[data-v-69fb5e88] {
  position: relative;
  width: 100%;
}
.favorite-color-picker-trigger[data-v-69fb5e88] {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 2px solid #ced4da;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-size: 15px;
  font-weight: 500;
  color: #374151;
  transition: all 0.2s ease;
  text-align: left;
}
.favorite-color-picker-trigger[data-v-69fb5e88]:hover:not(:disabled) {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0,123,255,0.15);
}
.favorite-color-picker-trigger[data-v-69fb5e88]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.favorite-color-swatch-small[data-v-69fb5e88] {
  width: 24px;
  height: 24px;
  border-radius: 5px;
  border: 1px solid #e2e8f0;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.favorite-color-name[data-v-69fb5e88] {
  flex: 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.favorite-color-dropdown-popover[data-v-69fb5e88] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 6px;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  z-index: 10000;
  max-height: 280px;
  overflow-y: auto;
  padding: 6px 0;
}
.favorite-color-option[data-v-69fb5e88] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.favorite-color-option[data-v-69fb5e88]:hover {
  background: #f1f5f9;
}
.favorite-color-option-name[data-v-69fb5e88] {
  flex: 1;
  font-size: 15px;
  color: #374151;
}
.favorite-color-check[data-v-69fb5e88] {
  color: #28a745;
  font-size: 14px;
}

/* === Wszystkie Twoje oryginalne style (bez zmian) === */
.file-preview-overlay[data-v-b581d6e4] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.file-preview-modal[data-v-b581d6e4] {
  background: #fff;
  border-radius: 12px;
  width: 95%;
  max-width: 1200px;
  height: 94vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  overflow: hidden;
}
.file-preview-header[data-v-b581d6e4] {
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8f9fa;
  min-height: 52px;
  flex-shrink: 0;
}
.file-preview-header h3[data-v-b581d6e4] {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 75%;
}
.close-btn[data-v-b581d6e4] {
  background: #dc3545;
  color: white;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.file-preview-content[data-v-b581d6e4] {
  flex: 1;
  overflow: hidden;
  padding: 8px;
  background: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.image-container[data-v-b581d6e4] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
}
.image-container img[data-v-b581d6e4] {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.pdf-viewer[data-v-b581d6e4] {
  width: 100%;
  height: 100% !important;
  border: none;
  border-radius: 4px;
}
.text-viewer[data-v-b581d6e4],
.fallback-view[data-v-b581d6e4] {
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 20px;
  background: white;
  border-radius: 4px;
  white-space: pre-wrap;
  font-family: monospace;
}
.file-preview-footer[data-v-b581d6e4] {
  padding: 12px 16px;
  border-top: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f8f9fa;
  gap: 12px;
  flex-shrink: 0;
}
.rotate-controls[data-v-b581d6e4] {
  display: flex;
  gap: 8px;
}
.rotate-controls button[data-v-b581d6e4] {
  padding: 8px 16px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.95rem;
}
.footer-actions[data-v-b581d6e4] {
  display: flex;
  gap: 12px;
}
.download-btn[data-v-b581d6e4] {
  background: #28a745;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.download-btn[data-v-b581d6e4]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.close-btn-footer[data-v-b581d6e4] {
  background: #dc3545;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
}
@media (max-width: 576px) {
.file-preview-modal[data-v-b581d6e4] {
    width: 98%;
    height: 96vh;
}
}
/*!
 * Cropper.js v1.6.2
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2024-04-21T07:43:02.731Z
 */

.cropper-container {
  direction: ltr;
  font-size: 0;
  line-height: 0;
  position: relative;
  -ms-touch-action: none;
      touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.cropper-container img {
    backface-visibility: hidden;
    display: block;
    height: 100%;
    image-orientation: 0deg;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100%;
  }

.cropper-wrap-box,
.cropper-canvas,
.cropper-drag-box,
.cropper-crop-box,
.cropper-modal {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.cropper-wrap-box,
.cropper-canvas {
  overflow: hidden;
}

.cropper-drag-box {
  background-color: #fff;
  opacity: 0;
}

.cropper-modal {
  background-color: #000;
  opacity: 0.5;
}

.cropper-view-box {
  display: block;
  height: 100%;
  outline: 1px solid #39f;
  outline-color: rgba(51, 153, 255, 0.75);
  overflow: hidden;
  width: 100%;
}

.cropper-dashed {
  border: 0 dashed #eee;
  display: block;
  opacity: 0.5;
  position: absolute;
}

.cropper-dashed.dashed-h {
    border-bottom-width: 1px;
    border-top-width: 1px;
    height: calc(100% / 3);
    left: 0;
    top: calc(100% / 3);
    width: 100%;
  }

.cropper-dashed.dashed-v {
    border-left-width: 1px;
    border-right-width: 1px;
    height: 100%;
    left: calc(100% / 3);
    top: 0;
    width: calc(100% / 3);
  }

.cropper-center {
  display: block;
  height: 0;
  left: 50%;
  opacity: 0.75;
  position: absolute;
  top: 50%;
  width: 0;
}

.cropper-center::before,
  .cropper-center::after {
    background-color: #eee;
    content: ' ';
    display: block;
    position: absolute;
  }

.cropper-center::before {
    height: 1px;
    left: -3px;
    top: 0;
    width: 7px;
  }

.cropper-center::after {
    height: 7px;
    left: 0;
    top: -3px;
    width: 1px;
  }

.cropper-face,
.cropper-line,
.cropper-point {
  display: block;
  height: 100%;
  opacity: 0.1;
  position: absolute;
  width: 100%;
}

.cropper-face {
  background-color: #fff;
  left: 0;
  top: 0;
}

.cropper-line {
  background-color: #39f;
}

.cropper-line.line-e {
    cursor: ew-resize;
    right: -3px;
    top: 0;
    width: 5px;
  }

.cropper-line.line-n {
    cursor: ns-resize;
    height: 5px;
    left: 0;
    top: -3px;
  }

.cropper-line.line-w {
    cursor: ew-resize;
    left: -3px;
    top: 0;
    width: 5px;
  }

.cropper-line.line-s {
    bottom: -3px;
    cursor: ns-resize;
    height: 5px;
    left: 0;
  }

.cropper-point {
  background-color: #39f;
  height: 5px;
  opacity: 0.75;
  width: 5px;
}

.cropper-point.point-e {
    cursor: ew-resize;
    margin-top: -3px;
    right: -3px;
    top: 50%;
  }

.cropper-point.point-n {
    cursor: ns-resize;
    left: 50%;
    margin-left: -3px;
    top: -3px;
  }

.cropper-point.point-w {
    cursor: ew-resize;
    left: -3px;
    margin-top: -3px;
    top: 50%;
  }

.cropper-point.point-s {
    bottom: -3px;
    cursor: s-resize;
    left: 50%;
    margin-left: -3px;
  }

.cropper-point.point-ne {
    cursor: nesw-resize;
    right: -3px;
    top: -3px;
  }

.cropper-point.point-nw {
    cursor: nwse-resize;
    left: -3px;
    top: -3px;
  }

.cropper-point.point-sw {
    bottom: -3px;
    cursor: nesw-resize;
    left: -3px;
  }

.cropper-point.point-se {
    bottom: -3px;
    cursor: nwse-resize;
    height: 20px;
    opacity: 1;
    right: -3px;
    width: 20px;
  }

@media (min-width: 768px) {

.cropper-point.point-se {
      height: 15px;
      width: 15px;
  }
    }

@media (min-width: 992px) {

.cropper-point.point-se {
      height: 10px;
      width: 10px;
  }
    }

@media (min-width: 1200px) {

.cropper-point.point-se {
      height: 5px;
      opacity: 0.75;
      width: 5px;
  }
    }

.cropper-point.point-se::before {
    background-color: #39f;
    bottom: -50%;
    content: ' ';
    display: block;
    height: 200%;
    opacity: 0;
    position: absolute;
    right: -50%;
    width: 200%;
  }

.cropper-invisible {
  opacity: 0;
}

.cropper-bg {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');
}

.cropper-hide {
  display: block;
  height: 0;
  position: absolute;
  width: 0;
}

.cropper-hidden {
  display: none !important;
}

.cropper-move {
  cursor: move;
}

.cropper-crop {
  cursor: crosshair;
}

.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
  cursor: not-allowed;
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit[data-v-f24563b3] {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit[data-v-f24563b3]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close[data-v-f24563b3] {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close[data-v-f24563b3]:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header[data-v-f24563b3] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-f24563b3]:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save[data-v-f24563b3] {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save[data-v-f24563b3]:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel[data-v-f24563b3],
.gabito-btn-anuluj[data-v-f24563b3] {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel[data-v-f24563b3]:hover:not(:disabled),
.gabito-btn-anuluj[data-v-f24563b3]:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general[data-v-f24563b3] {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general[data-v-f24563b3]:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej[data-v-f24563b3] {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej[data-v-f24563b3]:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj[data-v-f24563b3] {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj[data-v-f24563b3]:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit[data-v-f24563b3],
  .gabito-btn-save[data-v-f24563b3],
  .gabito-btn-cancel[data-v-f24563b3],
  .gabito-btn-anuluj[data-v-f24563b3],
  .gabito-btn-edit-general[data-v-f24563b3],
  .gabito-form-btn-dalej[data-v-f24563b3],
  .gabito-form-btn-anuluj[data-v-f24563b3] {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close[data-v-f24563b3] {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-f24563b3] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary[data-v-f24563b3] {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary[data-v-f24563b3]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary[data-v-f24563b3]:visited {
  color: #ffffff;
}
.gabito-btn-primary[data-v-f24563b3]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.universal-file-modal-overlay[data-v-f24563b3] {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.universal-file-modal[data-v-f24563b3] {
  background: #fff;
  width: 94vw;
  max-width: 920px;
  height: 92vh;
  border-radius: 12px;
  box-shadow: 0 25px 70px rgba(0,0,0,0.4);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.modal-main-content[data-v-f24563b3] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 8px 16px;
  background: #fafafa;
}
/* DROPZONE – BARDZO MAŁY */
.dropzone-area[data-v-f24563b3] {
  padding: 16px 12px;
  text-align: center;
  border: 2px dashed #007bff;
  background: #f8fafc;
  border-radius: 8px;
  margin: 4px 0;
  flex-shrink: 0;
}
.dropzone-area.drag-over[data-v-f24563b3] {
  background: #e0f2fe;
  border-color: #0284c8;
}
.dropzone-area i[data-v-f24563b3] { margin-bottom: 6px;
}
.dropzone-area p[data-v-f24563b3] { font-size: 0.95rem; margin: 4px 0 8px 0;
}
/* LISTA PLIKÓW – MAKSYMALNIE DUŻA */
.files-list[data-v-f24563b3] {
  flex: 1;
  overflow-y: auto;
  padding: 4px;
  background: white;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
}
.file-item[data-v-f24563b3] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 8px;
  margin-bottom: 10px;
}
.file-item[data-v-f24563b3]:hover { background: #e9ecef;
}
.file-thumb[data-v-f24563b3], .file-icon[data-v-f24563b3] {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
}
.file-info[data-v-f24563b3] { flex: 1; min-width: 0;
}
.file-name[data-v-f24563b3] { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.file-size[data-v-f24563b3] { font-size: 0.9rem; color: #6c757d;
}
.file-actions[data-v-f24563b3] { display: flex; gap: 8px; flex-shrink: 0;
}
.crop-btn[data-v-f24563b3] {
  background: #ffc107;
  color: #212529;
  border: none;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
}
.remove-btn[data-v-f24563b3] {
  background: #dc3545;
  color: white;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
}
/* Crop mode */
.crop-mode[data-v-f24563b3] {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 12px;
}
.crop-container[data-v-f24563b3] {
  flex: 1;
  border: 2px solid #007bff;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f9fa;
  margin-bottom: 16px;
}
.crop-image[data-v-f24563b3] { max-width: 100%; max-height: 100%; display: block;
}
.crop-modal-footer[data-v-f24563b3] {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
/* Nagłówek i stopka */
.file-modal-header[data-v-f24563b3] {
  padding: 12px 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.file-modal-header h3[data-v-f24563b3] {
  margin: 0;
  font-size: 1.28rem;
  font-weight: 700;
}
.close-btn[data-v-f24563b3] {
  background: #dc3545;
  color: white;
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
}
.file-modal-footer[data-v-f24563b3] {
  padding: 12px 20px;
  background: #f8f9fa;
  border-top: 1px solid #e5e7eb;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-shrink: 0;
}
.upload-progress-container[data-v-f24563b3] {
  padding: 12px 20px;
  background: #f8f9fa;
  border-top: 1px solid #e5e7eb;
}
.upload-progress[data-v-f24563b3] {
  background: #e9ecef;
  border-radius: 9999px;
  height: 32px;
  position: relative;
  overflow: hidden;
}
.progress-bar[data-v-f24563b3] {
  height: 100%;
  background: linear-gradient(90deg, #0066ff, #00bfff, #0066ff);
  background-size: 200% 100%;
  animation: shimmer-f24563b3 2s linear infinite;
  transition: width 0.4s ease;
}
.progress-text[data-v-f24563b3] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #0f172a;
  text-shadow: 0 1px 2px white;
  z-index: 2;
}
@keyframes shimmer-f24563b3 {
0% { background-position: 200% 0;
}
100% { background-position: -200% 0;
}
}
/* Responsywność */
@media (max-width: 768px) {
.universal-file-modal[data-v-f24563b3] { width: 96vw; height: 94vh;
}
.modal-main-content[data-v-f24563b3] { padding: 6px 10px;
}
.dropzone-area[data-v-f24563b3] { padding: 12px 10px;
}
}
/* Dodatkowy badge dla kwadratu */
.square-badge[data-v-f24563b3] {
  font-size: 0.85rem;
  background: #10b981;
  color: white;
  padding: 2px 8px;
  border-radius: 9999px;
  margin-left: 8px;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-6634aeea],
.gabito-btn-voucher-save[data-v-6634aeea] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-6634aeea] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-6634aeea]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-6634aeea]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-6634aeea] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-6634aeea]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-6634aeea]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-6634aeea] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-6634aeea] { display: none;
}
}
.gabito-form-actions[data-v-6634aeea] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-6634aeea] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-6634aeea] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-6634aeea] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-6634aeea]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-6634aeea] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-6634aeea] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-6634aeea] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-6634aeea]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-6634aeea]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-6634aeea],
.calendar-settings-modal .gabito-form-btn[data-v-6634aeea],
.modal-footer .gabito-form-btn-cancel[data-v-6634aeea],
.modal-footer .gabito-form-btn-save[data-v-6634aeea] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-6634aeea] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-6634aeea],
  .calendar-settings-modal .gabito-form-btn[data-v-6634aeea] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-6634aeea] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-6634aeea] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-6634aeea]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-6634aeea] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-6634aeea]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit[data-v-6634aeea] {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit[data-v-6634aeea]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close[data-v-6634aeea] {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close[data-v-6634aeea]:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header[data-v-6634aeea] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-6634aeea]:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save[data-v-6634aeea] {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save[data-v-6634aeea]:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel[data-v-6634aeea],
.gabito-btn-anuluj[data-v-6634aeea] {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel[data-v-6634aeea]:hover:not(:disabled),
.gabito-btn-anuluj[data-v-6634aeea]:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general[data-v-6634aeea] {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general[data-v-6634aeea]:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej[data-v-6634aeea] {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej[data-v-6634aeea]:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj[data-v-6634aeea] {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj[data-v-6634aeea]:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit[data-v-6634aeea],
  .gabito-btn-save[data-v-6634aeea],
  .gabito-btn-cancel[data-v-6634aeea],
  .gabito-btn-anuluj[data-v-6634aeea],
  .gabito-btn-edit-general[data-v-6634aeea],
  .gabito-form-btn-dalej[data-v-6634aeea],
  .gabito-form-btn-anuluj[data-v-6634aeea] {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close[data-v-6634aeea] {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-6634aeea] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary[data-v-6634aeea] {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary[data-v-6634aeea]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary[data-v-6634aeea]:visited {
  color: #ffffff;
}
.gabito-btn-primary[data-v-6634aeea]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.ai-correction-overlay[data-v-6634aeea] {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.ai-correction-modal[data-v-6634aeea] {
  background: white;
  width: 95%;
  max-width: 1120px;
  max-height: 92vh;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.modal-header[data-v-6634aeea] {
  padding: 2px 16px;
  min-height: 44px;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.modal-header-left[data-v-6634aeea] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}
.modal-header h3[data-v-6634aeea] {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
  color: #333;
}
.page-context-badge[data-v-6634aeea] {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  line-height: 1.2;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-context-badge--ok[data-v-6634aeea] {
  background: #d4edda;
  color: #155724;
}
.page-context-badge--warn[data-v-6634aeea] {
  background: #fff3cd;
  color: #856404;
}
.page-context-badge--muted[data-v-6634aeea] {
  background: #e9ecef;
  color: #6c757d;
}
.header-right-group[data-v-6634aeea] { display: flex; align-items: center; gap: 18px;
}
.history-nav[data-v-6634aeea] {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f0f0f0;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.92rem;
}
.history-btn[data-v-6634aeea] {
  padding: 6px 14px;
  font-size: 0.9rem;
  background: #e9ecef;
  border: 1px solid #adb5bd;
  border-radius: 6px;
  color: #333;
  cursor: pointer;
}
.history-btn[data-v-6634aeea]:hover:not(:disabled) { background: #007bff; color: white; border-color: #007bff;
}
.history-btn[data-v-6634aeea]:disabled { opacity: 0.55; cursor: not-allowed;
}
.version-info[data-v-6634aeea] { font-weight: 600; white-space: nowrap; color: #555;
}
.prompt-selector[data-v-6634aeea] {
  padding: 6px 24px;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  gap: 12px;
}
/* === UJEDNOLICONA WYSOKOŚĆ PRZYCISKU (dokładnie jak w NoteForm.vue) === */
.gabito-btn-ai-edit[data-v-6634aeea] {
  height: 42px !important;
  padding: 0 20px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.text-areas[data-v-6634aeea] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 16px 24px;
  flex: 1;
  overflow: hidden;
  min-height: 0;
}
.textarea-group[data-v-6634aeea] {
  display: flex;
  flex-direction: column;
  height: 95%;
}
.form-textarea[data-v-6634aeea] {
  flex: 1;
  resize: vertical;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 15px;
  min-height: 280px;
  overflow-y: auto;
}
.loading[data-v-6634aeea] {
  padding: 16px;
  text-align: center;
  color: #007bff;
  font-weight: 700;
  flex-shrink: 0;
}
/* === RESPONSIVE – wysokość 40px na mobile (jak w gabito-common-buttons.css) === */
@media (max-width: 768px) {
.gabito-btn-ai-edit[data-v-6634aeea] {
    height: 40px !important;
    font-size: 14px !important;
    padding: 0 16px !important;
}
}
/* File: c:\Gabito_system\gabito_front\src\modules\notes\components\NoteForm.css */
/* Encoding: utf-8 */
/* Ujednolicona wersja + ULEPSZONY ZMIENIAJĄCY SIĘ PASEK POSTĘPU (shimmer animation) */
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Light i strong używają dokładnie tego samego koloru (pośredni odcień pomiędzy starymi wartościami) */
/* Ujednolicona paleta – spójna dla wszystkich komponentów */
.notes-info-light-quadrant-1[data-v-60060c35],
.notes-info-strong-quadrant-1[data-v-60060c35] {
    background: #ef4444;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-2[data-v-60060c35],
.notes-info-strong-quadrant-2[data-v-60060c35] {
    background: #22c55e;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-3[data-v-60060c35],
.notes-info-strong-quadrant-3[data-v-60060c35] {
    background: #eab308;
    color: #1f2937;
    box-shadow: none;
}
.notes-info-light-quadrant-4[data-v-60060c35],
.notes-info-strong-quadrant-4[data-v-60060c35] {
    background: #3b82f6;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-private[data-v-60060c35],
.notes-info-strong-visibility-private[data-v-60060c35] {
    background: #aabddb;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-public[data-v-60060c35],
.notes-info-strong-visibility-public[data-v-60060c35] {
    background: #475569;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-client[data-v-60060c35],
.notes-info-strong-visibility-client[data-v-60060c35] {
    background: #8b5cf6;
    color: #ffffff;
    box-shadow: none;
}
.note-form[data-v-60060c35] {
  border: 1px solid #ddd;
  padding: 20px;
  border-radius: 8px;
  background: white;
  max-width: 800px;
  margin: 0 auto;
}
@media (max-width: 768px) {
.note-form[data-v-60060c35] {
    border-width: 0.5px;
    padding: 10px;
}
}
/* ==================== NOWY ZMIENIAJĄCY SIĘ PASEK POSTĘPU ==================== */
.upload-progress-container[data-v-60060c35] {
  margin-bottom: 18px;
}
.upload-progress[data-v-60060c35] {
  background: #f1f3f5;
  border-radius: 9999px;
  height: 28px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.06);
}
.progress-bar[data-v-60060c35] {
  height: 100%;
  background: linear-gradient(90deg, #0066ff, #00bfff, #0066ff);
  background-size: 200% 100%;
  transition: width 0.42s cubic-bezier(0.34, 1.56, 0.64, 1);
  border-radius: 9999px;
  position: relative;
  box-shadow: 0 0 15px rgba(0, 102, 255, 0.6);
}
/* Efekt shimmer – pasek naprawdę się zmienia i błyszczy */
.progress-bar[data-v-60060c35]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.75),
    transparent
  );
  animation: shimmer-60060c35 1.6s linear infinite;
}
@keyframes shimmer-60060c35 {
0% { transform: translateX(-100%);
}
100% { transform: translateX(350%);
}
}
/* Stan ukończenia */
.progress-bar.complete[data-v-60060c35] {
  background: linear-gradient(90deg, #28a745, #34d058);
  box-shadow: 0 0 15px rgba(40, 167, 69, 0.6);
  animation: none;
}
.progress-text[data-v-60060c35] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 13.8px;
  font-weight: 700;
  color: #0f172a;
  text-shadow: 0 1px 2px rgba(255,255,255,0.9);
  z-index: 2;
  width: 100%;
  text-align: center;
  letter-spacing: 0.4px;
}
/* === Pozostałe style (bez zmian) === */
textarea[data-v-60060c35] {
  width: 100%;
  min-height: 128px;
  max-height: 650px;
  padding: 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  line-height: 1.58;
  font-size: 15.2px;
  font-family: inherit;
  resize: none;
  overflow-y: auto;
  background-color: #ffffff;
  transition: height 0.12s ease-out;
}
textarea[data-v-60060c35]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
  outline: none;
}
.content-view[data-v-60060c35] {
  width: 100%;
  min-height: 110px;
  max-height: 650px;
  padding: 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  white-space: pre-line;
  word-wrap: break-word;
  overflow-y: auto;
  line-height: 1.58;
  font-size: 15.2px;
  background-color: #fafafa;
}
.photos-preview[data-v-60060c35] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.photo-preview-container[data-v-60060c35] {
  position: relative;
}
.photo-preview[data-v-60060c35] {
  width: 150px;
  height: auto;
  border-radius: 8px;
  cursor: pointer;
}
.checkbox-label[data-v-60060c35] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
}
/* Modal obrazu i reszta stylów (bez zmian) */
.image-modal-overlay[data-v-60060c35] { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.9); display: flex; align-items: center; justify-content: center; z-index: 1000;
}
.image-modal-content[data-v-60060c35] { background: transparent; position: relative; width: 100vw; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.close-btn[data-v-60060c35] { position: absolute; top: 20px; right: 20px; font-size: 32px; color: white; cursor: pointer; z-index: 1;
}
.image-wrapper[data-v-60060c35] { flex: 1; display: flex; align-items: center; justify-content: center; width: 100%; height: calc(100vh - 60px); overflow: hidden;
}
.modal-image[data-v-60060c35] { max-width: 100vw; max-height: 100vh; transition: transform 0.3s ease; object-fit: contain;
}
.rotation-controls[data-v-60060c35] { position: absolute; bottom: 20px; left: 0; width: 100%; display: flex; justify-content: center; gap: 20px; z-index: 1;
}
.rotation-controls button[data-v-60060c35] { padding: 10px 20px; background: rgba(0, 123, 255, 0.8); color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;
}
.rotation-controls button[data-v-60060c35]:hover { background: rgba(0, 86, 179, 0.8);
}
.view-mode[data-v-60060c35] { max-width: none; width: 100%; margin: 0;
}
.eisenhower-grid[data-v-60060c35] { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto 1fr 1fr; gap: 10px; position: relative; max-width: 400px; margin: 0 auto;
}
.axis-label[data-v-60060c35] { position: absolute; font-size: 12px; color: #666; font-weight: bold;
}
.axis-top-left[data-v-60060c35] { top: -20px; left: 50px;
}
.axis-top-right[data-v-60060c35] { top: -20px; right: 50px;
}
.axis-left-top[data-v-60060c35] { left: -60px; top: 50px; transform: rotate(-90deg);
}
.axis-left-bottom[data-v-60060c35] { left: -60px; bottom: 50px; transform: rotate(-90deg);
}
.quadrant-cell[data-v-60060c35] { padding: 12px; border-radius: 8px; font-weight: 600; border: 1px solid #ccc; cursor: pointer; text-align: center; transition: transform 0.2s, box-shadow 0.2s;
}
.quadrant-cell[data-v-60060c35]:hover { transform: scale(1.05);
}
.quadrant-cell.active[data-v-60060c35] { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); transform: scale(1.02); border: 2px solid #000;
}
.visibility-toggle[data-v-60060c35] { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 10px; justify-content: center;
}
.visibility-item[data-v-60060c35] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 20px; font-weight: 600; border: 1px solid #ccc; cursor: pointer; transition: background 0.3s, transform 0.2s; width: 130px; text-align: center; box-sizing: border-box;
}
.visibility-item[data-v-60060c35]:hover { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.visibility-item.active[data-v-60060c35] { transform: scale(1.02); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); border: 2px solid #000;
}
.visibility-item i[data-v-60060c35] { font-size: 16px;
}
@media (max-width: 768px) {
.axis-label[data-v-60060c35] { display: none;
}
}
.media-panel[data-v-60060c35] { background: #f9f9f9; padding: 10px; border-radius: 4px; border: 1px solid #eee; margin-bottom: 20px;
}
/* ============================================= */
/* UNIKATOWE STYLE TYLKO DLA TEGO PRZYCISKU AI */
/* ============================================= */
.visit-history-ai-correction-btn[data-v-60060c35] {
  background: linear-gradient(135deg, #6f42c1, #00bfff);
  box-shadow: 0 3px 12px rgba(111, 66, 193, 0.45);
  position: relative;
  overflow: hidden;
  height: 24px;
  padding: 0 10px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 6px;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
}
.visit-history-ai-correction-btn[data-v-60060c35]:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a32a3, #0099cc);
  box-shadow: 0 5px 18px rgba(111, 66, 193, 0.6);
  transform: translateY(-2px);
}
.visit-history-ai-correction-btn i.fas.fa-magic[data-v-60060c35] {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.visit-history-ai-correction-btn:hover i.fas.fa-magic[data-v-60060c35] {
  transform: rotate(45deg) scale(1.25);
}
.visit-history-ai-correction-btn[data-v-60060c35]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.danger[data-v-60060c35] { background: #dc3545; color: white;
}
.attachment-item[data-v-60060c35] { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; position: relative;
}
.remove-photo-btn[data-v-60060c35] { position: absolute; top: 5px; right: 5px; background: red; color: white; border: none; border-radius: 50%; width: 20px; height: 20px; cursor: pointer;
}
.forced-private-info[data-v-60060c35] {
  background: #f8f9fa;
  padding: 14px 16px;
  border-radius: 8px;
  border-left: 5px solid #6c757d;
  color: #495057;
  font-weight: 600;
  margin: 8px 0;
}
.universal-preview-mode[data-v-60060c35] {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  max-width: none !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.content-label-row[data-v-60060c35] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.content-label-row label[data-v-60060c35] {
  margin: 0;
  font-weight: 700;
  color: #111827;
}
/* c:\Gabito_system\gabito_front\src\assets\css\action-buttons.css */

/* Ogólne style dla przycisków akcji (dropdown i standalone) - spójne z modułami jak users/buttons/lead-sources */

/* Kontener dla przycisków akcji (np. w nagłówku karty) */
.actions-wrapper[data-v-61051430] {
  position: relative;
  overflow: visible; /* DODANO: Aby dropdown mógł wychodzić poza rodzica bez obcinania */
}

/* Przycisk główny menu akcji (ellipsis) */
.action-btn[data-v-61051430] {
  background: #e9ecef;
  border: none;
  border-radius: 6px;
  padding: 8px;
  cursor: pointer;
  color: #666;
  transition: background 0.3s, border 0.3s;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 16px;
	height: 40px;
	width: 40px;
}

/* NOWE: Dodatkowy styl dla ikon wewnątrz .action-btn (obsługa Font Awesome) */
.action-btn i[data-v-61051430] {
  font-size: 16px; /* Spójny rozmiar z tekstem ellipsis */
  color: inherit; /* Dziedziczy kolor z .action-btn */
  transition: color 0.3s; /* Płynna zmiana na hover */
}
.action-btn:hover:not(:disabled) i[data-v-61051430] {
  color: #007bff; /* Niebieski na hover dla ikony */
}
.action-btn[data-v-61051430]:hover:not(:disabled) {
  background: #dee2e6;
}

/* UJEDNOLICONY STYL: Sygnalizacja historii zmian (przeniesiony z modułów clients/lead-sources) */
.action-btn.has-changes[data-v-61051430] {
  border: 2px solid #FFD700;
  background-color: #ffed4e;
  color: #000000;
  font-weight: 700;
}
.action-btn.has-changes[data-v-61051430]:hover {
  background-color: #f0d500;
}
.action-btn[data-v-61051430]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Dropdown menu akcji */
.action-dropdown[data-v-61051430] {
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 1001;
  min-width: 140px;
  margin-top: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.dropdown-item[data-v-61051430] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  color: #000000;
  transition: background 0.3s;
  border-bottom: 1px solid #f8f9fa;
  font-weight: 700;
}
.dropdown-item[data-v-61051430]:hover {
  background: #f8f9fa;
}
.dropdown-item[data-v-61051430]:last-child {
  border-bottom: none;
}
.dropdown-item.danger[data-v-61051430] {
  color: #dc3545;
}
.dropdown-item.danger[data-v-61051430]:hover {
  background: #f8d7da;
}
.dropdown-item i[data-v-61051430] {
  margin-right: 8px;
  width: 16px;
  text-align: center;
}

/* Specyficzne style dla typów akcji */

/* 'add' i 'create' - zielony */
.btn-add[data-v-61051430],
.btn-create[data-v-61051430],
.add-btn[data-v-61051430] {
  background: #28a745;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.btn-add[data-v-61051430]:hover,
.btn-create[data-v-61051430]:hover,
.add-btn[data-v-61051430]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}

/* 'edit' i 'view' - niebieski */
.btn-edit[data-v-61051430],
.btn-view[data-v-61051430] {
  background: #007bff;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.btn-edit[data-v-61051430]:hover,
.btn-view[data-v-61051430]:hover {
  background: #0056b3;
  transform: translateY(-1px);
}

/* 'delete' - czerwony */
.btn-delete[data-v-61051430] {
  background: #dc3545;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.btn-delete[data-v-61051430]:hover {
  background: #c82333;
  transform: translateY(-1px);
}

/* 'permission' - szary */
.btn-permission[data-v-61051430] {
  background: #6c757d;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.btn-permission[data-v-61051430]:hover {
  background: #5a6268;
  transform: translateY(-1px);
}

/* 'raport' i 'generate' - pomarańczowy */
.btn-raport[data-v-61051430],
.btn-generate[data-v-61051430] {
  background: #fd7e14;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.btn-raport[data-v-61051430]:hover,
.btn-generate[data-v-61051430]:hover {
  background: #e86209;
  transform: translateY(-1px);
}

/* 'history' - fioletowy */
.btn-history[data-v-61051430] {
  background: #6f42c1;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.btn-history[data-v-61051430]:hover {
  background: #5a32a3;
  transform: translateY(-1px);
}

/* Ogólne style dla wszystkich przycisków akcji (disabled, responsywność) */
.btn-action[data-v-61051430]:disabled,
.clear-btn[data-v-61051430] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.clear-btn[data-v-61051430] {
  background: #6c757d;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.clear-btn[data-v-61051430]:hover:not(:disabled) {
  background: #5a6268;
  transform: translateY(-1px);
}
.action-dropdown.dropdown-left[data-v-61051430] {
  right: auto;
  left: 0;
  transform: translateX(-100%);
}

/* Responsywność - mniejsze przyciski na mobile */
@media (max-width: 768px) {
.action-btn[data-v-61051430] {
    width: 32px;
    height: 32px;
    font-size: 14px;
}

  /* NOWE: Responsywność dla ikon w .action-btn */
.action-btn i[data-v-61051430] {
    font-size: 14px;
}
.dropdown-item[data-v-61051430] {
    padding: 12px 14px;
    font-size: 18px;
    font-weight: 700;
}
.btn-add[data-v-61051430],
  .btn-edit[data-v-61051430],
  .btn-delete[data-v-61051430],
  .btn-permission[data-v-61051430],
  .btn-raport[data-v-61051430],
  .btn-generate[data-v-61051430],
  .btn-create[data-v-61051430],
  .btn-view[data-v-61051430],
  .btn-history[data-v-61051430],
  .add-btn[data-v-61051430],
  .clear-btn[data-v-61051430] {
    padding: 10px 16px;
    font-size: 14px;
}
.action-dropdown[data-v-61051430] {
    right: auto;
    left: 0;
    transform: none;
    width: fit-content;
    min-width: 120px;
    max-width: calc(100vw - 24px);
}
.action-dropdown.dropdown-left[data-v-61051430] {
    right: 0;
    left: auto;
    transform: none;
}
}
.universal-action-menu[data-v-61051430] {
  position: relative;
  display: inline-block;
}

/* Globalne (nie-scoped) – dropdown jest teleportowany do body */
.uam-dropdown-portal {
  position: fixed;
  z-index: 9999;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  min-width: 180px;
  padding: 4px 0;
  list-style: none;
  margin: 0;
}
.uam-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  color: #212529;
  font-weight: 600;
  border-bottom: 1px solid #f1f3f5;
  transition: background 0.15s;
}
.uam-dropdown-item:last-child {
  border-bottom: none;
}
.uam-dropdown-item:hover:not(:disabled) {
  background: #f8f9fa;
}
.uam-dropdown-item:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.uam-dropdown-item.danger {
  color: #dc3545;
}
.uam-dropdown-item.danger:hover:not(:disabled) {
  background: #fff5f5;
}
.uam-dropdown-icon {
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}
.uam-dropdown-item-label {
  flex: 1;
  min-width: 0;
}
.uam-dropdown-item--group {
  font-weight: 700;
  background: #f8f9fa;
}
.uam-dropdown-item--group-open {
  background: #eef4ff;
}
.uam-dropdown-chevron {
  margin-left: auto;
  font-size: 12px;
  transition: transform 0.15s ease;
}
.uam-dropdown-chevron--open {
  transform: rotate(90deg);
}
.uam-dropdown-item--child {
  padding-left: 28px;
  font-weight: 500;
  background: #fbfcfe;
}

.view-mode-icon-toggle[data-v-5a304509] {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
.view-mode-icon-toggle__btn[data-v-5a304509] {
  flex: 1;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 88px;
  padding: 12px 14px;
  border: 2px solid #ced4da;
  border-radius: 10px;
  background: #fff;
  color: #495057;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}
.view-mode-icon-toggle__btn i[data-v-5a304509] {
  font-size: 1.65rem;
  color: #6c757d;
  transition: color 0.15s ease;
}
.view-mode-icon-toggle__btn[data-v-5a304509]:hover {
  border-color: #80bdff;
  background: #f0f7ff;
  color: #0d6efd;
}
.view-mode-icon-toggle__btn:hover i[data-v-5a304509] {
  color: #0d6efd;
}
.view-mode-icon-toggle__btn--active[data-v-5a304509] {
  border-color: #0d6efd;
  background: linear-gradient(180deg, #e7f1ff 0%, #d0e7ff 100%);
  color: #0a58ca;
  box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.25);
}
.view-mode-icon-toggle__btn--active i[data-v-5a304509] {
  color: #0d6efd;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */

/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */

/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */

/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell,
.gabito-btn-voucher-save {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}

/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell {
  margin-right: 12px;
}

.gabito-btn-voucher-sell:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}

/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}

/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */

/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}

.gabito-common-btn-secondary:hover:not(:disabled) {
  background: #5a6268;
}

.gabito-common-btn-secondary:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.btn-text { display: inline; }
@media (max-width: 768px) {
  .btn-text { display: none; }
}

.gabito-form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}

.gabito-form-btn {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}

/* === Kolory standardowe === */
.gabito-form-btn-save {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;

}

.gabito-form-btn-ok-save {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;

}

/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */

.gabito-form-btn-save:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}

.gabito-form-btn-no-cancel {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;

}


.gabito-form-btn-yes-cancel {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;

}

.gabito-form-btn-cancel {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;

}

.gabito-form-btn-cancel:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}

.gabito-form-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn,
.calendar-settings-modal .gabito-form-btn,
.modal-footer .gabito-form-btn-cancel,
.modal-footer .gabito-form-btn-save {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;

}

/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}

/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {

  .modal-footer .gabito-form-btn,
  .calendar-settings-modal .gabito-form-btn {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
  }
}

/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
  
}

.gabito-form-btn-visit-view {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
  
}


.gabito-form-btn-edit:hover:not(:disabled) {
  background-color: #0056b3;
}

.gabito-form-btn-delete {
  background-color: #dc3545;
  color: #ffffff;
}

.gabito-form-btn-delete:hover:not(:disabled) {
  background-color: #c82333;
}

.simple-confirmation-overlay[data-v-79f78f76] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 12000;
  backdrop-filter: blur(4px);
}
.simple-confirmation-modal[data-v-79f78f76] {
  background: white;
  padding: 28px 32px;
  border-radius: 16px;
  max-width: 420px;
  width: 92%;
  text-align: center;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.28);
  animation: modalPop-79f78f76 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  border: 1px solid #f1f5f9;
}
@keyframes modalPop-79f78f76 {
from {
    opacity: 0;
    transform: scale(0.92) translateY(15px);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}
.simple-confirmation-modal h2[data-v-79f78f76] {
  margin: 0 0 20px 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.message-box[data-v-79f78f76] {
  border: 1px solid #e2e8f0;
  background: linear-gradient(145deg, #f8fafc, #f1f5f9);
  border-radius: 12px;
  padding: 18px 22px;
  margin: 0 0 28px 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}
.message-box p[data-v-79f78f76] {
  margin: 0;
  color: #475569;
  font-size: 1rem;
  line-height: 1.65;
  text-align: left;
}
.buttons[data-v-79f78f76] {
  display: flex;
  gap: 14px;
  justify-content: center;
}

/* Wyrównanie szerokości przycisków z zewnętrznego pliku form-buttons.css */
.gabito-form-btn-yes-cancel[data-v-79f78f76],
.gabito-form-btn-no-cancel[data-v-79f78f76] {
  flex: 1;
  min-width: 0;
}

/* Wsparcie dla wariantu danger (czerwony przycisk) */
.gabito-form-btn-yes-cancel.danger[data-v-79f78f76] {
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
  color: white !important;
  box-shadow: 0 3px 12px rgba(239, 68, 68, 0.35) !important;
}
.gabito-form-btn-yes-cancel.danger[data-v-79f78f76]:hover {
  background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
  box-shadow: 0 6px 16px rgba(239, 68, 68, 0.45) !important;
}

/* Responsywność – przyciski pozostają w jednym wierszu tej samej szerokości */
@media (max-width: 480px) {
.simple-confirmation-modal[data-v-79f78f76] {
    padding: 22px 20px;
    max-width: 96%;
    border-radius: 14px;
}
.message-box[data-v-79f78f76] {
    padding: 14px 16px;
}
.message-box p[data-v-79f78f76] {
    font-size: 0.95rem;
}
.buttons[data-v-79f78f76] {
    gap: 10px;
}
.gabito-form-btn-yes-cancel[data-v-79f78f76],
  .gabito-form-btn-no-cancel[data-v-79f78f76] {
    padding: 13px 18px;
    font-size: 0.95rem;
    border-radius: 10px;
}
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit[data-v-eae78f12] {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit[data-v-eae78f12]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close[data-v-eae78f12] {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close[data-v-eae78f12]:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header[data-v-eae78f12] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-eae78f12]:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save[data-v-eae78f12] {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save[data-v-eae78f12]:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel[data-v-eae78f12],
.gabito-btn-anuluj[data-v-eae78f12] {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel[data-v-eae78f12]:hover:not(:disabled),
.gabito-btn-anuluj[data-v-eae78f12]:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general[data-v-eae78f12] {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general[data-v-eae78f12]:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej[data-v-eae78f12] {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej[data-v-eae78f12]:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj[data-v-eae78f12] {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj[data-v-eae78f12]:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit[data-v-eae78f12],
  .gabito-btn-save[data-v-eae78f12],
  .gabito-btn-cancel[data-v-eae78f12],
  .gabito-btn-anuluj[data-v-eae78f12],
  .gabito-btn-edit-general[data-v-eae78f12],
  .gabito-form-btn-dalej[data-v-eae78f12],
  .gabito-form-btn-anuluj[data-v-eae78f12] {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close[data-v-eae78f12] {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-eae78f12] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary[data-v-eae78f12] {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary[data-v-eae78f12]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary[data-v-eae78f12]:visited {
  color: #ffffff;
}
.gabito-btn-primary[data-v-eae78f12]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
/* Zamknij — wymiary z gabito-common-buttons.css (.gabito-btn-close--preview-header) */
.uep-header-actions .gabito-btn-close[data-v-eae78f12] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: #dc3545 !important;
  color: white !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.uep-header-actions .gabito-btn-close[data-v-eae78f12]:hover {
  background: #c82333 !important;
}
/* ==================== GŁÓWNE STYLE ==================== */
.uep-entity-preview[data-v-eae78f12] {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  background: #f8f9fa;
  overflow: hidden;
}
/* Inline `top` z :style nadpisuje górę; klasa dokumentuje intencję (portal klienta). */
.uep-entity-preview--below-fixed-header[data-v-eae78f12] {
  box-shadow: 0 -4px 24px rgba(15, 23, 42, 0.06);
}
.uep-header[data-v-eae78f12] { height: 52px; background: #fff; border-bottom: 1px solid #e0e0e0; box-shadow: 0 2px 12px rgba(0,0,0,0.08); flex-shrink: 0; z-index: 10;
}
.uep-header-inner[data-v-eae78f12] { height: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: space-between;
}
.uep-title-with-id[data-v-eae78f12] { margin: 0; font-size: 1.2rem; font-weight: 700; line-height: 1.2;
}
.uep-entity-subtitle[data-v-eae78f12] { font-size: 1.15rem; font-weight: 600; color: #2563eb; background: #eff6ff; padding: 4px 11px; border-radius: 6px; margin-left: 12px;
}
.uep-header-actions[data-v-eae78f12] { display: flex; align-items: center; gap: 8px;
}
/* Przyciski nagłówka (zapis / edytuj ikona): gabito-shared-ui.css */
.note-source-square[data-v-eae78f12] { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; font-size: 16px; color: #007bff; text-decoration: none; border: 1px solid #ddd; border-radius: 6px; cursor: pointer; transition: all 0.2s ease;
}
.note-source-square[data-v-eae78f12]:hover { background: #f0f0f0; color: #0056b3; border-color: #007bff;
}
.uep-content.client-view-style[data-v-eae78f12] {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 32px 26px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.07);
}
/* ==================== BARDZO MOCNY OVERRIDE CHECKBOXÓW W PODGLĄDZIE ==================== */
/* Wszystkie checkboxy w treści — SVG w tle na :checked (input::after na checkboxach jest nierzetelny w Chrome). */
.client-view-style[data-v-eae78f12] .permission-checkbox input[type="checkbox"],
.client-view-style[data-v-eae78f12] input[type="checkbox"] {
  width: 26px !important;
  height: 26px !important;
  border: 1px solid #111827 !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
  cursor: default !important;
  opacity: 1 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  position: relative;
}
/* Zaznaczony checkbox – niebieskie tło + ikona z tła (zamiast ::after na input). */
.client-view-style[data-v-eae78f12] .permission-checkbox input[type="checkbox"]:checked,
.client-view-style[data-v-eae78f12] input[type="checkbox"]:checked {
  background-color: #007bff !important;
  border-color: #007bff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 111.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
}
/* Nawet gdy disabled – nadal pełna widoczność */
.client-view-style[data-v-eae78f12] .permission-checkbox input[type="checkbox"]:disabled,
.client-view-style[data-v-eae78f12] input[type="checkbox"]:disabled {
  opacity: 1 !important;
  cursor: default !important;
}
/* Etykiety przy checkboxach – bardzo wyraźne */
.client-view-style[data-v-eae78f12] .permission-checkbox label,
.client-view-style[data-v-eae78f12] .checkbox-label {
  font-weight: 700 !important;
  color: #111827 !important;
  font-size: 15.5px !important;
}
/* -------------------------------------------------------------------------- */
/* Pola formularza w trybie podglądu (disabled) – bez „wyszarzenia” UA;        */
/* czytelność jak przy edycji (opacity / kolor / tło).                        */
/* -------------------------------------------------------------------------- */
.client-view-style[data-v-eae78f12] input:disabled:not([type="checkbox"]):not([type="radio"]),
.client-view-style[data-v-eae78f12] textarea:disabled,
.client-view-style[data-v-eae78f12] select:disabled {
  opacity: 1 !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-color: #ffffff !important;
  border-color: #94a3b8 !important;
  cursor: default !important;
  box-shadow: none !important;
}
.client-view-style[data-v-eae78f12] select:disabled {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}
.client-view-style[data-v-eae78f12] .form-group label,
.client-view-style[data-v-eae78f12] .form-section h3,
.client-view-style[data-v-eae78f12] .voucher-template-form-enhanced h2 {
  color: #0f172a !important;
  opacity: 1 !important;
}
.client-view-style[data-v-eae78f12] .form-hint {
  color: #1d4ed8 !important;
  opacity: 1 !important;
}
/* Responsywność */
@media (max-width: 768px) {
.uep-header[data-v-eae78f12] { height: 48px;
}
.uep-content.client-view-style[data-v-eae78f12] { padding: 20px 18px; border-radius: 0;
}
.uep-title-with-id[data-v-eae78f12] { font-size: 1.1rem;
}
}

.universal-form-modal-overlay[data-v-e4fbaa50] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
}
.universal-form-modal-overlay--align-top[data-v-e4fbaa50] {
  align-items: flex-start;
  justify-content: center;
  padding: clamp(20px, 7vh, 72px) 16px 28px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
.universal-form-modal-content[data-v-e4fbaa50] {
  background: #fff;
  border-radius: 14px;
  width: 95%;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}
.universal-form-modal-header[data-v-e4fbaa50] {
  flex-shrink: 0;
  padding: 10px 16px;
  min-height: 44px;
  border-bottom: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.universal-form-modal-title[data-v-e4fbaa50] {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
  flex: 1 1 auto;
  min-width: 0;
}
.universal-form-modal-header-right[data-v-e4fbaa50] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.universal-form-modal-header-actions[data-v-e4fbaa50] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.universal-form-modal-body[data-v-e4fbaa50] {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 20px 22px;
  scrollbar-gutter: stable;
}
.universal-form-modal-body.universal-form-modal-body--allow-overflow[data-v-e4fbaa50] {
  overflow: visible;
}
.universal-form-modal-footer[data-v-e4fbaa50] {
  flex-shrink: 0;
  border-top: 1px solid #eee;
  padding: 14px 22px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel,
.gabito-btn-anuluj {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel:hover:not(:disabled),
.gabito-btn-anuluj:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit,
  .gabito-btn-save,
  .gabito-btn-cancel,
  .gabito-btn-anuluj,
  .gabito-btn-edit-general,
  .gabito-form-btn-dalej,
  .gabito-form-btn-anuluj {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary:visited {
  color: #ffffff;
}
.gabito-btn-primary:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* === Treść audytu — te same reguły co wcześniej (bez warstwy .audit-modal / overlay) === */
.audit-modal-body[data-v-378ff51d] {
  flex: 1;
  overflow-y: auto;
  padding: 0px 0px;
  background: #fafafa;
}
.history-cards[data-v-378ff51d] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.history-card[data-v-378ff51d] {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  border: 1px solid #e5e7eb;
}
.card-header[data-v-378ff51d] {
  padding: 0px 18px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}
.card-title[data-v-378ff51d] {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.card-content[data-v-378ff51d] {
  padding: 16px 18px;
}
.card-description[data-v-378ff51d] {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px dashed #ddd;
  color: #444;
}
.changes-list li[data-v-378ff51d] {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f1f1f1;
}
.changes-list li[data-v-378ff51d]:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.json-pre[data-v-378ff51d] {
  background: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 14px;
  margin: 10px 0;
  font-family: monospace;
  font-size: 13.5px;
  line-height: 1.45;
  max-height: 420px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
}
.data-section[data-v-378ff51d] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #ccc;
}
.no-results[data-v-378ff51d],
.loading[data-v-378ff51d],
.no-changes[data-v-378ff51d] {
  text-align: center;
  padding: 50px 20px;
  color: #666;
  font-style: italic;
}
@media (max-width: 768px) {
.audit-modal-body[data-v-378ff51d] {
    padding: 12px 10px;
}
.card-content[data-v-378ff51d] {
    padding: 12px 6px !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0;
}
.history-card[data-v-378ff51d] {
    margin: 0 2px;
}
.changes-list li[data-v-378ff51d] {
    word-break: break-word;
    overflow-wrap: break-word;
}
.json-pre[data-v-378ff51d] {
    font-size: 12.5px;
    padding: 10px 8px;
    max-height: 320px;
}
}
.user-audit-link[data-v-378ff51d] {
  color: #007bff;
  text-decoration: underline;
  font-weight: 600;
  transition: color 0.2s ease;
}
.user-audit-link[data-v-378ff51d]:hover {
  color: #0056b3;
  text-decoration: none;
}
.event-created[data-v-378ff51d] { color: green;
}
.event-updated[data-v-378ff51d] { color: blue;
}
.event-deleted[data-v-378ff51d] { color: red;
}
.event-restored[data-v-378ff51d] { color: orange;
}
.event-default[data-v-378ff51d] { color: #333;
}

.universal-admin-modal-overlay[data-v-eea705b7] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1300;
  padding: 20px 16px;
  box-sizing: border-box;
  overflow-y: auto;
}
.universal-admin-modal[data-v-eea705b7] {
  background: #fff;
  border-radius: 12px;
  width: 90%;
  max-width: 520px;
  max-height: min(calc(100vh - 40px), 90vh);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: auto;
  flex-shrink: 0;
}
.universal-admin-modal.allow-popover-overflow[data-v-eea705b7] {
  overflow: visible;
}
.admin-modal-header[data-v-eea705b7] {
  padding: 8px 14px;
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.admin-modal-header h3[data-v-eea705b7] {
  margin: 0;
  flex: 1;
  min-width: 0;
  font-size: 1.05rem;
  line-height: 1.2;
}
.admin-modal-header-actions[data-v-eea705b7] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.admin-modal-body[data-v-eea705b7] {
  padding: 28px 24px;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.admin-modal-body.allow-popover-overflow[data-v-eea705b7] {
  overflow: visible;
}

.searchable-input-container[data-v-f022e80b] { position: relative; display: inline-block; width: 100%;
}
.searchable-input[data-v-f022e80b] { width: 100%; padding: 12px 40px 12px 16px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 14px; background: #fff; transition: border-color 0.3s, box-shadow 0.3s;
}
.searchable-input[data-v-f022e80b]:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.searchable-input[data-v-f022e80b]:disabled { background-color: #f8f9fa; cursor: not-allowed;
}
.arrow[data-v-f022e80b] { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: #6b7280; transition: transform 0.2s;
}
.searchable-dropdown[data-v-f022e80b] { position: absolute; top: 100%; left: 0; right: 0; max-height: min(220px, 45vh); overflow-y: auto; background: #fff; border: 1px solid #e0e0e0; border-top: none; border-radius: 0 0 8px 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); z-index: 50; display: none;
}
.searchable-dropdown.open[data-v-f022e80b] { display: block;
}
.searchable-dropdown ul[data-v-f022e80b] { list-style: none; margin: 0; padding: 0;
}
.searchable-option[data-v-f022e80b] { padding: 12px 16px; cursor: pointer; border-bottom: 1px solid #f0f0f0; font-size: 14px;
}
.searchable-option[data-v-f022e80b]:hover, .searchable-option.selected[data-v-f022e80b] { background-color: #f8f9fa; color: #007bff;
}
.searchable-option[data-v-f022e80b]:last-child { border-bottom: none;
}
.searchable-loading[data-v-f022e80b] { padding: 12px 16px; text-align: center; color: #666; font-style: italic;
}

.confirm-modal-overlay[data-v-f5cba4e2] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.confirm-modal[data-v-f5cba4e2] {
  background: #fff;
  padding: 24px;
  border-radius: 8px;
  max-width: 420px;
  width: 90%;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.confirm-modal h3[data-v-f5cba4e2] {
  margin-top: 0;
  color: #333;
}
.confirm-modal p[data-v-f5cba4e2] {
  margin: 16px 0;
  color: #555;
  line-height: 1.5;
}
.checkbox-label[data-v-f5cba4e2] {
  display: block;
  margin: 16px 0;
  font-weight: 500;
  cursor: pointer;
}
.confirm-buttons[data-v-f5cba4e2] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
.btn-confirm[data-v-f5cba4e2] {
  background: #e74c3c;
  color: white;
  padding: 10px 24px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.btn-confirm[data-v-f5cba4e2]:disabled {
  background: #ccc;
  cursor: not-allowed;
}
.btn-cancel[data-v-f5cba4e2] {
  background: #95a5a6;
  color: white;
  padding: 10px 24px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
/* File: c:\Gabito_system\gabito_front\src\modules\notes\components\NoteList.css */
/* Encoding: utf-8 */
/* POPRAWIONA WERSJA 2026 – RESPONSIVE AUTO-FILL + media queries */
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Light i strong używają dokładnie tego samego koloru (pośredni odcień pomiędzy starymi wartościami) */
/* Ujednolicona paleta – spójna dla wszystkich komponentów */
.notes-info-light-quadrant-1,
.notes-info-strong-quadrant-1 {
    background: #ef4444;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-2,
.notes-info-strong-quadrant-2 {
    background: #22c55e;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-3,
.notes-info-strong-quadrant-3 {
    background: #eab308;
    color: #1f2937;
    box-shadow: none;
}
.notes-info-light-quadrant-4,
.notes-info-strong-quadrant-4 {
    background: #3b82f6;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-private,
.notes-info-strong-visibility-private {
    background: #aabddb;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-public,
.notes-info-strong-visibility-public {
    background: #475569;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-client,
.notes-info-strong-visibility-client {
    background: #8b5cf6;
    color: #ffffff;
    box-shadow: none;
}
/* === GRID LISTY NOTATEK – NAPRAWIONY (auto-fill) === */
.notes-grid {
  display: grid;
  grid-template-columns: repeat(var(--cards-per-row, auto-fill), minmax(280px, 1fr));
  gap: 20px;
  align-items: stretch;
}
/* ==================== IKONY W NAGŁÓWKU KAFELKA (wszystkie w jednym rzędzie) ==================== */
.note-header-content {
  width: 100%;
}
.note-badges {
  display: flex;
  gap: 10px;
  margin-top: 6px;
  align-items: center;
  flex-wrap: wrap;
}
/* Badge ćwiartki + widoczności */
.quadrant-badge,
.visibility-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
  transition: transform 0.15s ease;
}
.quadrant-badge:hover,
.visibility-badge:hover {
  transform: scale(1.1);
}
.visibility-badge {
  width: 28px;
}
.visibility-badge i {
  font-size: 14px;
}
/* === IKONY MULTIMEDIÓW – teraz w tym samym rzędzie co ćwiartka, widoczność i źródło === */
.media-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  font-size: 15px;
  color: #007bff;
  background: #e3f2fd;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  transition: all 0.15s ease;
  cursor: default;
}
.media-icon:hover {
  background: #bbdefb;
  transform: scale(1.08);
  box-shadow: 0 2px 5px rgba(0,123,255,0.3);
}
/* Ikona linku do źródła notatki */
.note-source-square {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #007bff;
  text-decoration: none;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 4px;
}
.note-source-square:hover {
  background: #f0f0f0;
  color: #0056b3;
  border-color: #007bff;
  transform: scale(1.05);
}
/* === WSZYSTKIE POZOSTAŁE STYLE (bez żadnych zmian) === */
.filters-section {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.eisenhower-filters {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  flex: 1;
  min-width: 400px;
}
.visibility-filters,
.active-filters-container {
  display: flex;
  gap: 10px;
  justify-content: space-around;
}
.filter-label {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filter-label input {
  margin-right: 8px;
}
.active-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
}
.active-filter-label:hover {
  background: #e9ecef;
}
.active-filter-label input {
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  accent-color: #007bff;
}
.dropdown-left {
  right: auto;
  left: 0;
}
.confirm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.confirm-modal {
  background: white;
  padding: 20px;
  border-radius: 8px;
  text-align: center;
  max-width: 400px;
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
}
.confirm-buttons {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
}
.btn-confirm {
  background: #dc3545;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.btn-cancel {
  background: #6c757d;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.inactive-note {
  opacity: 0.7;
  background-color: #f0f0f0;
}
.color-squares {
  display: flex;
  gap: 5px;
  align-items: center;
}
.color-square {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  display: inline-block;
}
.search-section {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.filter-group {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1;
  min-width: 170px;
}
.namespace-filter.filter-group select {
  width: 100%;
  padding: 6px 10px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.input-with-search {
  position: relative;
  flex: 1;
  min-width: 220px;
}
.input-with-search input {
  width: 100%;
  padding: 6px 12px;
  padding-right: 46px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.input-with-search input:focus {
  border-color: #007bff;
  outline: none;
}
.date-range-filters {
  display: flex;
  gap: 15px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.date-range-filters .filter-group {
  display: flex;
  flex-direction: column;
  min-width: 140px;
}
.date-range-filters label {
  font-size: 13px;
  color: #666;
  margin-bottom: 4px;
  font-weight: 600;
}
.gabito-common-list-date-input {
  width: 100%;
  padding: 6px 10px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: white;
  transition: border-color 0.2s;
}
.gabito-common-list-date-input:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
}
.return-close-btn {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #6c757d;
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.return-close-btn:hover {
  color: #dc3545;
  background: #f8f9fa;
}
.return-close-btn:active {
  transform: scale(0.95);
}
.actions-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}
.action-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 18px;
  color: #666;
  transition: all 0.2s ease;
}
.action-btn:hover {
  background: #f8f9fa;
  color: #333;
}
.action-btn.has-changes {
  color: #dc3545;
}
.content-preview {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.45;
  word-break: break-word;
}
/* ==================== NOWE MEDIA QUERIES DLA RESPONSIVE GRID ==================== */
@media (max-width: 768px) {
.notes-grid {
    gap: 15px;
}
.eisenhower-filters {
    min-width: 340px;
}
}
@media (max-width: 480px) {
.notes-grid {
    gap: 12px;
}
.filter-label {
    font-size: 13.5px;
    padding: 9px 12px;
}
.date-range-filters {
    flex-direction: column;
    gap: 10px;
}
}
@media (max-width: 768px) {
.search-section {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
}
.filter-group,
  .input-with-search {
    min-width: 0;
}
.input-with-search input {
    font-size: 15px;
}
.gabito-common-clear-filters-btn-v1 {
    width: 38px;
    height: 38px;
    font-size: 18px;
}
.date-range-filters {
    flex-direction: column;
    align-items: stretch;
}
}
/* Filtry listy notatek: globalny `.filter-label` (np. clients-top-container.css) */
/* ma taką samą specyficzność jak `.notes-info-light-*` — wygrywa kolejność bundla. */
/* Wyższa specyficzność tylko w `.note-list-filters` (zgodne z notes-info-colors.css). */
.note-list-filters .filter-label.notes-info-light-quadrant-1,
.note-list-filters .filter-label.notes-info-strong-quadrant-1 {
  background: #ef4444;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-quadrant-2,
.note-list-filters .filter-label.notes-info-strong-quadrant-2 {
  background: #22c55e;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-quadrant-3,
.note-list-filters .filter-label.notes-info-strong-quadrant-3 {
  background: #eab308;
  color: #1f2937;
  box-shadow: none;
  border-color: rgba(31, 41, 55, 0.2);
}
.note-list-filters .filter-label.notes-info-light-quadrant-4,
.note-list-filters .filter-label.notes-info-strong-quadrant-4 {
  background: #3b82f6;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-private,
.note-list-filters .filter-label.notes-info-strong-visibility-private {
  background: #aabddb;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-public,
.note-list-filters .filter-label.notes-info-strong-visibility-public {
  background: #475569;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-client,
.note-list-filters .filter-label.notes-info-strong-visibility-client {
  background: #8b5cf6;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Light i strong używają dokładnie tego samego koloru (pośredni odcień pomiędzy starymi wartościami) */
/* Ujednolicona paleta – spójna dla wszystkich komponentów */
.notes-info-light-quadrant-1[data-v-d4d98450],
.notes-info-strong-quadrant-1[data-v-d4d98450] {
    background: #ef4444;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-2[data-v-d4d98450],
.notes-info-strong-quadrant-2[data-v-d4d98450] {
    background: #22c55e;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-3[data-v-d4d98450],
.notes-info-strong-quadrant-3[data-v-d4d98450] {
    background: #eab308;
    color: #1f2937;
    box-shadow: none;
}
.notes-info-light-quadrant-4[data-v-d4d98450],
.notes-info-strong-quadrant-4[data-v-d4d98450] {
    background: #3b82f6;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-private[data-v-d4d98450],
.notes-info-strong-visibility-private[data-v-d4d98450] {
    background: #aabddb;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-public[data-v-d4d98450],
.notes-info-strong-visibility-public[data-v-d4d98450] {
    background: #475569;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-client[data-v-d4d98450],
.notes-info-strong-visibility-client[data-v-d4d98450] {
    background: #8b5cf6;
    color: #ffffff;
    box-shadow: none;
}
.universal-sticky-notes[data-v-d4d98450] {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 2px solid #e0e0e0;
}
.notes-header[data-v-d4d98450] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.notes-header h3[data-v-d4d98450] {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #000000;
}
.header-actions[data-v-d4d98450] {
  display: flex;
  gap: 12px;
}
.refresh-btn[data-v-d4d98450] {
  background: #6c757d;
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 18px;
  transition: all 0.2s ease;
}
.refresh-btn[data-v-d4d98450]:hover {
  background: #5a6268;
}
.add-note-btn[data-v-d4d98450] {
  background: #007bff;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  height: 40px;
}
.add-note-btn[data-v-d4d98450]:hover {
  background: #0056b3;
  transform: translateY(-1px);
}
.sticky-grid[data-v-d4d98450] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.sticky-note[data-v-d4d98450] {
  border: 2px solid #2c3e50;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 4px 4px 12px rgba(0,0,0,0.15);
  min-height: 180px;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sticky-note[data-v-d4d98450]:hover {
  transform: scale(1.04) rotate(1deg);
  box-shadow: 8px 8px 20px rgba(0,0,0,0.2);
}
.note-content[data-v-d4d98450] {
  flex: 1;
  font-size: 15px;
  line-height: 1.6;
  color: inherit;
  white-space: pre-wrap;
  word-break: break-word;
}
.note-meta[data-v-d4d98450] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: inherit;
  opacity: 0.9;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed currentColor;
}
.loading-state[data-v-d4d98450],
.no-notes[data-v-d4d98450],
.error-state[data-v-d4d98450] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  font-style: italic;
}
.error-state[data-v-d4d98450] {
  color: #dc3545;
}
/* src/assets/css/shared-card-styles.css */
/* Encoding: UTF-8 */
/* Shared styles for entity cards across modules */
/* === POPRAWIONA WERSJA Z WSPARCIEM DLA uniform-height === */
.shared-card[data-v-827db79f] {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  overflow: visible;

  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
}
.shared-card[data-v-827db79f]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}
.shared-card.menu-open[data-v-827db79f] {
  z-index: 10;
}
.shared-card.inactive[data-v-827db79f] {
  background: #fff5f5;
  border-color: #f8d7da;
}
.shared-card.inactive[data-v-827db79f]:hover {
  background: #fff0f0;
}
.shared-card-header[data-v-827db79f] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  min-width: 0;
}
.shared-card-header .header-left[data-v-827db79f] {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.shared-card-title[data-v-827db79f] {
  margin: 0;
  color: #000000;
  font-size: 18px;
  font-weight: 700;
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.shared-card-content[data-v-827db79f] {
  padding: 20px;
  flex: 0 1 auto !important;
  min-height: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.shared-card-description[data-v-827db79f] {
  margin: 0 0 0;
  color: #000000;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.shared-card-description strong[data-v-827db79f] {
  font-weight: 700;
  color: #000000;
}
.shared-card-meta[data-v-827db79f] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.shared-card-meta-item[data-v-827db79f] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #000000;
  font-size: 14px;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.shared-card-meta-item i[data-v-827db79f] {
  color: #007bff;
}
/* ==================== NOWE: UNIFORM HEIGHT (fix dla notatek i wszystkich modułów) ==================== */
.shared-card.uniform-height[data-v-827db79f] {
  height: 100% !important;
  align-self: stretch !important;
  min-height: 0 !important;
}
.shared-card.uniform-height .shared-card-content[data-v-827db79f] {
  flex: 1 1 auto !important; /* treść się rozciąga równo */
}
.shared-card.uniform-height .footer-wrapper[data-v-827db79f] {
  flex-shrink: 0;
  margin-top: auto;
}
/* Responsiveness */
@media (max-width: 768px) {
.shared-card-header[data-v-827db79f],
  .shared-card-content[data-v-827db79f] {
    padding: 16px;
}
.shared-card-title[data-v-827db79f] {
    font-size: 16px;
}
}
@media (max-width: 480px) {
.shared-card-header[data-v-827db79f],
  .shared-card-content[data-v-827db79f] {
    padding: 12px;
}
}
.header-right[data-v-827db79f] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.card-avatar[data-v-827db79f] {
  width: 70px;
  height: 70px;
  border-radius: 15%;
  object-fit: cover;
  border: 3px solid #fff;
  margin-right: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.header-left[data-v-827db79f] {
  min-width: 0 !important;
  flex: 1 1 auto;
  width: 100%;
}
.header-left h3[data-v-827db79f],
.header-left .shared-card-title[data-v-827db79f],
.header-left .card-title[data-v-827db79f],
.header-left .file-name[data-v-827db79f] {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  line-height: 1.38;
  margin-bottom: 6px;
}
.shared-card-header.is-clickable-header[data-v-827db79f] {
  cursor: pointer;
}
/* File: c:\Gabito_system\gabito_front\src\modules\notes\components\NoteList.css */
/* Encoding: utf-8 */
/* POPRAWIONA WERSJA 2026 – RESPONSIVE AUTO-FILL + media queries */
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Light i strong używają dokładnie tego samego koloru (pośredni odcień pomiędzy starymi wartościami) */
/* Ujednolicona paleta – spójna dla wszystkich komponentów */
.notes-info-light-quadrant-1,
.notes-info-strong-quadrant-1 {
    background: #ef4444;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-2,
.notes-info-strong-quadrant-2 {
    background: #22c55e;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-3,
.notes-info-strong-quadrant-3 {
    background: #eab308;
    color: #1f2937;
    box-shadow: none;
}
.notes-info-light-quadrant-4,
.notes-info-strong-quadrant-4 {
    background: #3b82f6;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-private,
.notes-info-strong-visibility-private {
    background: #aabddb;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-public,
.notes-info-strong-visibility-public {
    background: #475569;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-client,
.notes-info-strong-visibility-client {
    background: #8b5cf6;
    color: #ffffff;
    box-shadow: none;
}
/* === GRID LISTY NOTATEK – NAPRAWIONY (auto-fill) === */
.notes-grid {
  display: grid;
  grid-template-columns: repeat(var(--cards-per-row, auto-fill), minmax(280px, 1fr));
  gap: 20px;
  align-items: stretch;
}
/* ==================== IKONY W NAGŁÓWKU KAFELKA (wszystkie w jednym rzędzie) ==================== */
.note-header-content {
  width: 100%;
}
.note-badges {
  display: flex;
  gap: 10px;
  margin-top: 6px;
  align-items: center;
  flex-wrap: wrap;
}
/* Badge ćwiartki + widoczności */
.quadrant-badge,
.visibility-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
  transition: transform 0.15s ease;
}
.quadrant-badge:hover,
.visibility-badge:hover {
  transform: scale(1.1);
}
.visibility-badge {
  width: 28px;
}
.visibility-badge i {
  font-size: 14px;
}
/* === IKONY MULTIMEDIÓW – teraz w tym samym rzędzie co ćwiartka, widoczność i źródło === */
.media-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  font-size: 15px;
  color: #007bff;
  background: #e3f2fd;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  transition: all 0.15s ease;
  cursor: default;
}
.media-icon:hover {
  background: #bbdefb;
  transform: scale(1.08);
  box-shadow: 0 2px 5px rgba(0,123,255,0.3);
}
/* Ikona linku do źródła notatki */
.note-source-square {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #007bff;
  text-decoration: none;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 4px;
}
.note-source-square:hover {
  background: #f0f0f0;
  color: #0056b3;
  border-color: #007bff;
  transform: scale(1.05);
}
/* === WSZYSTKIE POZOSTAŁE STYLE (bez żadnych zmian) === */
.filters-section {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.eisenhower-filters {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  flex: 1;
  min-width: 400px;
}
.visibility-filters,
.active-filters-container {
  display: flex;
  gap: 10px;
  justify-content: space-around;
}
.filter-label {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filter-label input {
  margin-right: 8px;
}
.active-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
}
.active-filter-label:hover {
  background: #e9ecef;
}
.active-filter-label input {
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  accent-color: #007bff;
}
.dropdown-left {
  right: auto;
  left: 0;
}
.confirm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.confirm-modal {
  background: white;
  padding: 20px;
  border-radius: 8px;
  text-align: center;
  max-width: 400px;
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
}
.confirm-buttons {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
}
.btn-confirm {
  background: #dc3545;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.btn-cancel {
  background: #6c757d;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.inactive-note {
  opacity: 0.7;
  background-color: #f0f0f0;
}
.color-squares {
  display: flex;
  gap: 5px;
  align-items: center;
}
.color-square {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  display: inline-block;
}
.search-section {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.filter-group {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1;
  min-width: 170px;
}
.namespace-filter.filter-group select {
  width: 100%;
  padding: 6px 10px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.input-with-search {
  position: relative;
  flex: 1;
  min-width: 220px;
}
.input-with-search input {
  width: 100%;
  padding: 6px 12px;
  padding-right: 46px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.input-with-search input:focus {
  border-color: #007bff;
  outline: none;
}
.date-range-filters {
  display: flex;
  gap: 15px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.date-range-filters .filter-group {
  display: flex;
  flex-direction: column;
  min-width: 140px;
}
.date-range-filters label {
  font-size: 13px;
  color: #666;
  margin-bottom: 4px;
  font-weight: 600;
}
.gabito-common-list-date-input {
  width: 100%;
  padding: 6px 10px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: white;
  transition: border-color 0.2s;
}
.gabito-common-list-date-input:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
}
.return-close-btn {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #6c757d;
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.return-close-btn:hover {
  color: #dc3545;
  background: #f8f9fa;
}
.return-close-btn:active {
  transform: scale(0.95);
}
.actions-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}
.action-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 18px;
  color: #666;
  transition: all 0.2s ease;
}
.action-btn:hover {
  background: #f8f9fa;
  color: #333;
}
.action-btn.has-changes {
  color: #dc3545;
}
.content-preview {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.45;
  word-break: break-word;
}
/* ==================== NOWE MEDIA QUERIES DLA RESPONSIVE GRID ==================== */
@media (max-width: 768px) {
.notes-grid {
    gap: 15px;
}
.eisenhower-filters {
    min-width: 340px;
}
}
@media (max-width: 480px) {
.notes-grid {
    gap: 12px;
}
.filter-label {
    font-size: 13.5px;
    padding: 9px 12px;
}
.date-range-filters {
    flex-direction: column;
    gap: 10px;
}
}
@media (max-width: 768px) {
.search-section {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
}
.filter-group,
  .input-with-search {
    min-width: 0;
}
.input-with-search input {
    font-size: 15px;
}
.gabito-common-clear-filters-btn-v1 {
    width: 38px;
    height: 38px;
    font-size: 18px;
}
.date-range-filters {
    flex-direction: column;
    align-items: stretch;
}
}
/* Filtry listy notatek: globalny `.filter-label` (np. clients-top-container.css) */
/* ma taką samą specyficzność jak `.notes-info-light-*` — wygrywa kolejność bundla. */
/* Wyższa specyficzność tylko w `.note-list-filters` (zgodne z notes-info-colors.css). */
.note-list-filters .filter-label.notes-info-light-quadrant-1,
.note-list-filters .filter-label.notes-info-strong-quadrant-1 {
  background: #ef4444;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-quadrant-2,
.note-list-filters .filter-label.notes-info-strong-quadrant-2 {
  background: #22c55e;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-quadrant-3,
.note-list-filters .filter-label.notes-info-strong-quadrant-3 {
  background: #eab308;
  color: #1f2937;
  box-shadow: none;
  border-color: rgba(31, 41, 55, 0.2);
}
.note-list-filters .filter-label.notes-info-light-quadrant-4,
.note-list-filters .filter-label.notes-info-strong-quadrant-4 {
  background: #3b82f6;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-private,
.note-list-filters .filter-label.notes-info-strong-visibility-private {
  background: #aabddb;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-public,
.note-list-filters .filter-label.notes-info-strong-visibility-public {
  background: #475569;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-client,
.note-list-filters .filter-label.notes-info-strong-visibility-client {
  background: #8b5cf6;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit[data-v-21ada58b] {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit[data-v-21ada58b]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close[data-v-21ada58b] {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close[data-v-21ada58b]:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header[data-v-21ada58b] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-21ada58b]:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save[data-v-21ada58b] {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save[data-v-21ada58b]:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel[data-v-21ada58b],
.gabito-btn-anuluj[data-v-21ada58b] {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel[data-v-21ada58b]:hover:not(:disabled),
.gabito-btn-anuluj[data-v-21ada58b]:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general[data-v-21ada58b] {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general[data-v-21ada58b]:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej[data-v-21ada58b] {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej[data-v-21ada58b]:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj[data-v-21ada58b] {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj[data-v-21ada58b]:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit[data-v-21ada58b],
  .gabito-btn-save[data-v-21ada58b],
  .gabito-btn-cancel[data-v-21ada58b],
  .gabito-btn-anuluj[data-v-21ada58b],
  .gabito-btn-edit-general[data-v-21ada58b],
  .gabito-form-btn-dalej[data-v-21ada58b],
  .gabito-form-btn-anuluj[data-v-21ada58b] {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close[data-v-21ada58b] {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-21ada58b] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary[data-v-21ada58b] {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary[data-v-21ada58b]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary[data-v-21ada58b]:visited {
  color: #ffffff;
}
.gabito-btn-primary[data-v-21ada58b]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* action-buttons: globalnie — scoped import dodałby data-v-* tylko do roota nagłówka
   i nie stylowałby przycisków ze slotu (np. zębatka w PromoCampaignCodesList). */
/* src/assets/css/gabito-common-action-buttons-v1.css */
/* Encoding: UTF-8 */
/* Uniwersalne przyciski + uniwersalny nagłówek list (clients, visit-history, lead-sources itp.) */
/**
 * Przycisk „dodaj” (zielony kwadrat, np. fa-plus): pełny wygląd jest tutaj.
 * W Vue często używa się class="gabito-common-add-btn-v1 icon-only" — klasa .icon-only
 * jest tylko znacznikiem semantycznym; wymiary 42×42 i padding 0 wynikają już z .gabito-common-add-btn-v1
 * (osobnych reguł .gabito-common-add-btn-v1.icon-only nie trzeba).
 */
.gabito-common-add-btn-v1,
.gabito-common-clear-filters-btn-v1,
.gabito-common-search-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
/* Secondary — tylko ikona: ten sam rozmiar co .gabito-common-add-btn-v1 / .gabito-common-admin-tools-btn-v1 */
.gabito-common-btn-secondary.icon-only {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
/* === UNIWERSALNY NAGŁÓWEK LISTY (przeniesiony i uogólniony) === */
.gabito-common-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.gabito-common-top-header {
  width: 100%;
  margin: 0 -10px 30px -10px;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}
.gabito-common-top-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
}
.gabito-common-title-row-1 {
  order: 1;
  flex: 0 1 auto;
}
.gabito-common-title-row-2 {
  order: 2;
  flex: 1 1 auto;
  min-width: 240px;
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}
.gabito-common-title-row-3 {
  order: 3;
  flex: 0 1 auto;
  margin-left: auto;
}
.gabito-common-title-with-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
  margin-left: 20px;
  flex-wrap: nowrap;
}
/* Tytuł listy + opcjonalna ikona (np. kontekst strony) w jednym rzędzie */
.gabito-common-title-heading-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 1 auto;
  min-width: 0;
}
.gabito-common-title-heading-group h2 {
  margin: 0;
}
.gabito-common-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  justify-content: flex-end;
  width: 100%;
}
/**
 * Przyciski w pasku akcji nagłówka list (.gabito-common-title-actions)
 * — slot „actions”, wbudowany przycisk admina (showAdminButton), zamknięcie (gabito-btn-close).
 * Wygląd klas:
 *   • .gabito-common-btn-secondary → src/assets/css/form-buttons.css (import w main.js)
 *   • .gabito-common-add-btn-v1, .gabito-common-admin-tools-btn-v1, .gabito-common-clear-filters-btn-v1,
 *     .gabito-common-filters-toggle → ten plik
 *   • .gabito-btn-close → src/assets/css/gabito-common-buttons.css (import w main.js)
 *
 * TYMCZASOWO (podczas dopracowania UI): obwódka jak .gabito-btn-close.gabito-btn-close--preview-header
 * (2px dashed #dc3545, offset 1px) — usuń ten blok po akceptacji. Zamknięcie wykluczone :not(.gabito-btn-close),
 * bo ma już ten sam outline w swojej klasie.
 */
.gabito-common-title-actions > button:not(.gabito-btn-close) {
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-common-list-error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}
/* Controls & Search */
.gabito-common-controls-section,
.gabito-common-search-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.gabito-common-search-section {
  width: 100%;
}
.gabito-common-search-wrapper {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.gabito-common-search-wrapper input {
  width: 100%;
  padding: 12px 16px;
  padding-right: 46px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-search-wrapper input:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
  outline: none;
}
.gabito-common-list-select-control {
  min-width: 260px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-list-select-control:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.gabito-common-checkbox-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gabito-common-filter-label,
.gabito-common-filter-label.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600;
}
.gabito-common-filter-label:hover,
.gabito-common-filter-label.active-filter-label:hover {
  background: #e9ecef;
}
.gabito-common-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  overflow: hidden;
  max-height: 500px;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease-out;
  opacity: 1;
  justify-content: space-around;
}
.gabito-common-filters-container.collapsed {
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin: 0;
}
/* PRZYCISK FILTRÓW – ZAWSZE NIEBIESKI */
.gabito-common-filters-toggle {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 6px;
  width: 44px;
  height: 44px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.gabito-common-filters-toggle:hover {
  background: #0056b3;
}
/* Responsywność całego nagłówka */
@media (max-width: 768px) {
.gabito-common-top-inner {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.gabito-common-title-row-1,
  .gabito-common-title-row-2,
  .gabito-common-title-row-3 {
    order: initial;
    flex: 1 1 50%;
    margin: 0;
    justify-content: center !important;
    text-align: center !important;
}
.gabito-common-title-row-3 {
    margin-left: 0;
    justify-content: flex-end;
}
.gabito-common-title-with-select {
    margin: 0;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    justify-content: left;
}
.gabito-common-title-actions {
    width: 100%;
    justify-content: flex-end;
    /* Reset względem rodzica .gabito-common-title-with-select (mobile: duży font) — ikony/przyciski jak na desktopie */
    font-size: 1rem;
    font-weight: 400;
    align-items: center;
}

  /* Przyciski w nagłówku (np. Odśwież) — bez rozciągania na całą szerokość kolumny przy layoutcie kolumnowym */
.gabito-common-title-actions > .gabito-common-btn-secondary:not(.icon-only),
  .gabito-common-title-actions > .gabito-common-admin-tools-btn-v1,
  .gabito-common-title-actions > .gabito-common-add-btn-v1,
  .gabito-common-title-actions > .gabito-common-clear-filters-btn-v1,
  .gabito-common-title-actions > .gabito-common-filters-toggle {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    align-self: center;
}
.gabito-common-filters-container,
  .gabito-common-search-section {
    flex-direction: column;
    width: 100%;
}
.gabito-common-search-wrapper {
    min-width: 100%;
}
}
/* === PRZYCISKI (istniejące + nowe) === */
.gabito-common-add-btn-v1 {
  background: #28a745 !important;
  color: white !important;
  font-size: 21px !important;
}
.gabito-common-add-btn-v1:hover {
  background: #218838 !important;
  transform: translateY(-1px) !important;
}
.gabito-common-clear-filters-btn-v1 {
  background-color: #dc3545 !important;
  color: white !important;
}
.gabito-common-clear-filters-btn-v1:hover {
  background-color: #5a6268 !important;
}
.gabito-common-clear-filters-btn-v1.active-filters {
  background-color: #dc3545 !important;
}
.gabito-common-search-btn-v1 {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #007bff;
  color: white;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
}
.gabito-common-search-btn-v1:hover {
  background-color: #0056b3;
}
/* Responsywność mobile */
@media (max-width: 768px) {
.gabito-common-add-btn-v1,
  .gabito-common-clear-filters-btn-v1,
  .gabito-common-filters-toggle,
  .gabito-common-btn-secondary.icon-only {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
}
}
/**
 * Przycisk ikonowy ustawień / narzędzi (fioletowy kwadrat 42×42, np. koło zębate w nagłówku list).
 * HTML: <button type="button" class="gabito-common-admin-tools-btn-v1" title="…"><i class="fas fa-cog"></i></button>
 * Style ładuj globalnie (main.js) lub przez niescoped <style>@import …</style> — nie importuj tego pliku
 * wewnątrz <style scoped> w komponentach ze slotami nagłówka (inaczej slot z rodzica nie dostanie wyglądu).
 */
.gabito-common-admin-tools-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #6f42c1 !important;
  color: white !important;
}
.gabito-common-admin-tools-btn-v1:hover {
  background: #5a32a3 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(111, 66, 193, 0.4);
}
/* Responsywność mobile */
@media (max-width: 768px) {
.gabito-common-admin-tools-btn-v1 {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
}
}
/* gabito-common-search-field.css
 * Style dla GabitoCommonSearchField.vue (pole + przycisk szukaj).
 * Importuj w komponencie lub w bundlu — klasy z prefiksem, bez kolizji z innymi .search-input.
 */

/* src/assets/css/gabito-common-action-buttons-v1.css */

/* Encoding: UTF-8 */

/* Uniwersalne przyciski + uniwersalny nagłówek list (clients, visit-history, lead-sources itp.) */

/**
 * Przycisk „dodaj” (zielony kwadrat, np. fa-plus): pełny wygląd jest tutaj.
 * W Vue często używa się class="gabito-common-add-btn-v1 icon-only" — klasa .icon-only
 * jest tylko znacznikiem semantycznym; wymiary 42×42 i padding 0 wynikają już z .gabito-common-add-btn-v1
 * (osobnych reguł .gabito-common-add-btn-v1.icon-only nie trzeba).
 */
.gabito-common-add-btn-v1,
.gabito-common-clear-filters-btn-v1,
.gabito-common-search-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* Secondary — tylko ikona: ten sam rozmiar co .gabito-common-add-btn-v1 / .gabito-common-admin-tools-btn-v1 */
.gabito-common-btn-secondary.icon-only {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

/* === UNIWERSALNY NAGŁÓWEK LISTY (przeniesiony i uogólniony) === */
.gabito-common-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.gabito-common-top-header {
  width: 100%;
  margin: 0 -10px 30px -10px;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}
.gabito-common-top-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
}
.gabito-common-title-row-1 {
  order: 1;
  flex: 0 1 auto;
}
.gabito-common-title-row-2 {
  order: 2;
  flex: 1 1 auto;
  min-width: 240px;
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}
.gabito-common-title-row-3 {
  order: 3;
  flex: 0 1 auto;
  margin-left: auto;
}
.gabito-common-title-with-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
  margin-left: 20px;
  flex-wrap: nowrap;
}

/* Tytuł listy + opcjonalna ikona (np. kontekst strony) w jednym rzędzie */
.gabito-common-title-heading-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 1 auto;
  min-width: 0;
}
.gabito-common-title-heading-group h2 {
  margin: 0;
}
.gabito-common-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  justify-content: flex-end;
  width: 100%;
}

/**
 * Przyciski w pasku akcji nagłówka list (.gabito-common-title-actions)
 * — slot „actions”, wbudowany przycisk admina (showAdminButton), zamknięcie (gabito-btn-close).
 * Wygląd klas:
 *   • .gabito-common-btn-secondary → src/assets/css/form-buttons.css (import w main.js)
 *   • .gabito-common-add-btn-v1, .gabito-common-admin-tools-btn-v1, .gabito-common-clear-filters-btn-v1,
 *     .gabito-common-filters-toggle → ten plik
 *   • .gabito-btn-close → src/assets/css/gabito-common-buttons.css (import w main.js)
 *
 * TYMCZASOWO (podczas dopracowania UI): obwódka jak .gabito-btn-close.gabito-btn-close--preview-header
 * (2px dashed #dc3545, offset 1px) — usuń ten blok po akceptacji. Zamknięcie wykluczone :not(.gabito-btn-close),
 * bo ma już ten sam outline w swojej klasie.
 */
.gabito-common-title-actions > button:not(.gabito-btn-close) {
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-common-list-error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}

/* Controls & Search */
.gabito-common-controls-section,
.gabito-common-search-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.gabito-common-search-section {
  width: 100%;
}
.gabito-common-search-wrapper {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.gabito-common-search-wrapper input {
  width: 100%;
  padding: 12px 16px;
  padding-right: 46px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-search-wrapper input:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
  outline: none;
}
.gabito-common-list-select-control {
  min-width: 260px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-list-select-control:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.gabito-common-checkbox-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gabito-common-filter-label,
.gabito-common-filter-label.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600;
}
.gabito-common-filter-label:hover,
.gabito-common-filter-label.active-filter-label:hover {
  background: #e9ecef;
}
.gabito-common-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  overflow: hidden;
  max-height: 500px;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease-out;
  opacity: 1;
  justify-content: space-around;
}
.gabito-common-filters-container.collapsed {
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin: 0;
}

/* PRZYCISK FILTRÓW – ZAWSZE NIEBIESKI */
.gabito-common-filters-toggle {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 6px;
  width: 44px;
  height: 44px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.gabito-common-filters-toggle:hover {
  background: #0056b3;
}

/* Responsywność całego nagłówka */
@media (max-width: 768px) {
.gabito-common-top-inner {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.gabito-common-title-row-1,
  .gabito-common-title-row-2,
  .gabito-common-title-row-3 {
    order: initial;
    flex: 1 1 50%;
    margin: 0;
    justify-content: center !important;
    text-align: center !important;
}
.gabito-common-title-row-3 {
    margin-left: 0;
    justify-content: flex-end;
}
.gabito-common-title-with-select {
    margin: 0;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    justify-content: left;
}
.gabito-common-title-actions {
    width: 100%;
    justify-content: flex-end;
    /* Reset względem rodzica .gabito-common-title-with-select (mobile: duży font) — ikony/przyciski jak na desktopie */
    font-size: 1rem;
    font-weight: 400;
    align-items: center;
}

  /* Przyciski w nagłówku (np. Odśwież) — bez rozciągania na całą szerokość kolumny przy layoutcie kolumnowym */
.gabito-common-title-actions > .gabito-common-btn-secondary:not(.icon-only),
  .gabito-common-title-actions > .gabito-common-admin-tools-btn-v1,
  .gabito-common-title-actions > .gabito-common-add-btn-v1,
  .gabito-common-title-actions > .gabito-common-clear-filters-btn-v1,
  .gabito-common-title-actions > .gabito-common-filters-toggle {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    align-self: center;
}
.gabito-common-filters-container,
  .gabito-common-search-section {
    flex-direction: column;
    width: 100%;
}
.gabito-common-search-wrapper {
    min-width: 100%;
}
}

/* === PRZYCISKI (istniejące + nowe) === */
.gabito-common-add-btn-v1 {
  background: #28a745 !important;
  color: white !important;
  font-size: 21px !important;
}
.gabito-common-add-btn-v1:hover {
  background: #218838 !important;
  transform: translateY(-1px) !important;
}
.gabito-common-clear-filters-btn-v1 {
  background-color: #dc3545 !important;
  color: white !important;
}
.gabito-common-clear-filters-btn-v1:hover {
  background-color: #5a6268 !important;
}
.gabito-common-clear-filters-btn-v1.active-filters {
  background-color: #dc3545 !important;
}
.gabito-common-search-btn-v1 {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #007bff;
  color: white;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
}
.gabito-common-search-btn-v1:hover {
  background-color: #0056b3;
}

/* Responsywność mobile */
@media (max-width: 768px) {
.gabito-common-add-btn-v1,
  .gabito-common-clear-filters-btn-v1,
  .gabito-common-filters-toggle,
  .gabito-common-btn-secondary.icon-only {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
}
}

/**
 * Przycisk ikonowy ustawień / narzędzi (fioletowy kwadrat 42×42, np. koło zębate w nagłówku list).
 * HTML: <button type="button" class="gabito-common-admin-tools-btn-v1" title="…"><i class="fas fa-cog"></i></button>
 * Style ładuj globalnie (main.js) lub przez niescoped <style>@import …</style> — nie importuj tego pliku
 * wewnątrz <style scoped> w komponentach ze slotami nagłówka (inaczej slot z rodzica nie dostanie wyglądu).
 */
.gabito-common-admin-tools-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #6f42c1 !important;
  color: white !important;
}
.gabito-common-admin-tools-btn-v1:hover {
  background: #5a32a3 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(111, 66, 193, 0.4);
}

/* Responsywność mobile */
@media (max-width: 768px) {
.gabito-common-admin-tools-btn-v1 {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
}
}
.gabito-common-search-field {
  width: 100%;
  /* Ta sama czerwona obwódka co przyciski w .gabito-common-title-actions (np. panel admina) */
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
  border-radius: 8px;
}
.gabito-common-search-field__container {
  position: relative;
  width: 100%;
  max-width: min(960px, 100%);
}
.gabito-common-search-field__input {
  width: 100%;
  padding: 12px 16px;
  padding-right: 50px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  box-sizing: border-box;
}
.gabito-common-search-field__input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.12);
}
.gabito-common-search-field__input:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  background: #f5f5f5;
}
/* gabito-common-list-operations.css
 * Opakowanie sekcji operacji listy (GabitoCommonListOperations.vue).
 */
.gabito-common-list-operations {
  margin-bottom: 20px;
}
/* File: c:\Gabito_system\gabito_front\src\modules\notes\components\NoteList.css */
/* Encoding: utf-8 */
/* POPRAWIONA WERSJA 2026 – RESPONSIVE AUTO-FILL + media queries */
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Light i strong używają dokładnie tego samego koloru (pośredni odcień pomiędzy starymi wartościami) */
/* Ujednolicona paleta – spójna dla wszystkich komponentów */
.notes-info-light-quadrant-1,
.notes-info-strong-quadrant-1 {
    background: #ef4444;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-2,
.notes-info-strong-quadrant-2 {
    background: #22c55e;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-3,
.notes-info-strong-quadrant-3 {
    background: #eab308;
    color: #1f2937;
    box-shadow: none;
}
.notes-info-light-quadrant-4,
.notes-info-strong-quadrant-4 {
    background: #3b82f6;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-private,
.notes-info-strong-visibility-private {
    background: #aabddb;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-public,
.notes-info-strong-visibility-public {
    background: #475569;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-client,
.notes-info-strong-visibility-client {
    background: #8b5cf6;
    color: #ffffff;
    box-shadow: none;
}
/* === GRID LISTY NOTATEK – NAPRAWIONY (auto-fill) === */
.notes-grid {
  display: grid;
  grid-template-columns: repeat(var(--cards-per-row, auto-fill), minmax(280px, 1fr));
  gap: 20px;
  align-items: stretch;
}
/* ==================== IKONY W NAGŁÓWKU KAFELKA (wszystkie w jednym rzędzie) ==================== */
.note-header-content {
  width: 100%;
}
.note-badges {
  display: flex;
  gap: 10px;
  margin-top: 6px;
  align-items: center;
  flex-wrap: wrap;
}
/* Badge ćwiartki + widoczności */
.quadrant-badge,
.visibility-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
  transition: transform 0.15s ease;
}
.quadrant-badge:hover,
.visibility-badge:hover {
  transform: scale(1.1);
}
.visibility-badge {
  width: 28px;
}
.visibility-badge i {
  font-size: 14px;
}
/* === IKONY MULTIMEDIÓW – teraz w tym samym rzędzie co ćwiartka, widoczność i źródło === */
.media-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  font-size: 15px;
  color: #007bff;
  background: #e3f2fd;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  transition: all 0.15s ease;
  cursor: default;
}
.media-icon:hover {
  background: #bbdefb;
  transform: scale(1.08);
  box-shadow: 0 2px 5px rgba(0,123,255,0.3);
}
/* Ikona linku do źródła notatki */
.note-source-square {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #007bff;
  text-decoration: none;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 4px;
}
.note-source-square:hover {
  background: #f0f0f0;
  color: #0056b3;
  border-color: #007bff;
  transform: scale(1.05);
}
/* === WSZYSTKIE POZOSTAŁE STYLE (bez żadnych zmian) === */
.filters-section {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.eisenhower-filters {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  flex: 1;
  min-width: 400px;
}
.visibility-filters,
.active-filters-container {
  display: flex;
  gap: 10px;
  justify-content: space-around;
}
.filter-label {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filter-label input {
  margin-right: 8px;
}
.active-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
}
.active-filter-label:hover {
  background: #e9ecef;
}
.active-filter-label input {
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  accent-color: #007bff;
}
.dropdown-left {
  right: auto;
  left: 0;
}
.confirm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.confirm-modal {
  background: white;
  padding: 20px;
  border-radius: 8px;
  text-align: center;
  max-width: 400px;
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
}
.confirm-buttons {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
}
.btn-confirm {
  background: #dc3545;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.btn-cancel {
  background: #6c757d;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.inactive-note {
  opacity: 0.7;
  background-color: #f0f0f0;
}
.color-squares {
  display: flex;
  gap: 5px;
  align-items: center;
}
.color-square {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  display: inline-block;
}
.search-section {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.filter-group {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1;
  min-width: 170px;
}
.namespace-filter.filter-group select {
  width: 100%;
  padding: 6px 10px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.input-with-search {
  position: relative;
  flex: 1;
  min-width: 220px;
}
.input-with-search input {
  width: 100%;
  padding: 6px 12px;
  padding-right: 46px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.input-with-search input:focus {
  border-color: #007bff;
  outline: none;
}
.date-range-filters {
  display: flex;
  gap: 15px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.date-range-filters .filter-group {
  display: flex;
  flex-direction: column;
  min-width: 140px;
}
.date-range-filters label {
  font-size: 13px;
  color: #666;
  margin-bottom: 4px;
  font-weight: 600;
}
.gabito-common-list-date-input {
  width: 100%;
  padding: 6px 10px;
  height: 36px;
  font-size: 14.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: white;
  transition: border-color 0.2s;
}
.gabito-common-list-date-input:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
}
.return-close-btn {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #6c757d;
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.return-close-btn:hover {
  color: #dc3545;
  background: #f8f9fa;
}
.return-close-btn:active {
  transform: scale(0.95);
}
.actions-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}
.action-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 18px;
  color: #666;
  transition: all 0.2s ease;
}
.action-btn:hover {
  background: #f8f9fa;
  color: #333;
}
.action-btn.has-changes {
  color: #dc3545;
}
.content-preview {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.45;
  word-break: break-word;
}
/* ==================== NOWE MEDIA QUERIES DLA RESPONSIVE GRID ==================== */
@media (max-width: 768px) {
.notes-grid {
    gap: 15px;
}
.eisenhower-filters {
    min-width: 340px;
}
}
@media (max-width: 480px) {
.notes-grid {
    gap: 12px;
}
.filter-label {
    font-size: 13.5px;
    padding: 9px 12px;
}
.date-range-filters {
    flex-direction: column;
    gap: 10px;
}
}
@media (max-width: 768px) {
.search-section {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
}
.filter-group,
  .input-with-search {
    min-width: 0;
}
.input-with-search input {
    font-size: 15px;
}
.gabito-common-clear-filters-btn-v1 {
    width: 38px;
    height: 38px;
    font-size: 18px;
}
.date-range-filters {
    flex-direction: column;
    align-items: stretch;
}
}
/* Filtry listy notatek: globalny `.filter-label` (np. clients-top-container.css) */
/* ma taką samą specyficzność jak `.notes-info-light-*` — wygrywa kolejność bundla. */
/* Wyższa specyficzność tylko w `.note-list-filters` (zgodne z notes-info-colors.css). */
.note-list-filters .filter-label.notes-info-light-quadrant-1,
.note-list-filters .filter-label.notes-info-strong-quadrant-1 {
  background: #ef4444;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-quadrant-2,
.note-list-filters .filter-label.notes-info-strong-quadrant-2 {
  background: #22c55e;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-quadrant-3,
.note-list-filters .filter-label.notes-info-strong-quadrant-3 {
  background: #eab308;
  color: #1f2937;
  box-shadow: none;
  border-color: rgba(31, 41, 55, 0.2);
}
.note-list-filters .filter-label.notes-info-light-quadrant-4,
.note-list-filters .filter-label.notes-info-strong-quadrant-4 {
  background: #3b82f6;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-private,
.note-list-filters .filter-label.notes-info-strong-visibility-private {
  background: #aabddb;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-public,
.note-list-filters .filter-label.notes-info-strong-visibility-public {
  background: #475569;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-filters .filter-label.notes-info-light-visibility-client,
.note-list-filters .filter-label.notes-info-strong-visibility-client {
  background: #8b5cf6;
  color: #ffffff;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.35);
}
.note-list-view-settings-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.note-list-view-settings-hint {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
/* src/modules/attachments/components/AttachmentList.css */
/* Encoding: utf-8 */
.attachments-grid[data-v-27ffc4a3] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 20px;
}
.media-card[data-v-27ffc4a3] {
  cursor: pointer;
  transition: all 0.25s ease;
  overflow: hidden;
  border-radius: 12px;
}
.media-card[data-v-27ffc4a3]:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 25px rgba(0, 123, 255, 0.15);
}
.thumbnail-container[data-v-27ffc4a3] {
  padding: 10px;
  background-color: #f8f9fa;
}
/* <<< ZMIENNA CSS – tutaj zmieniasz rozmiar w przyszłości >>> */
[data-v-27ffc4a3]:root {
  --thumbnail-height: 150px;
}
.media-thumbnail[data-v-27ffc4a3] {
  width: 100%;
  height: var(--thumbnail-height);
  object-fit: cover;
  border-radius: 8px;
  background-color: #f1f3f5;
  transition: transform 0.3s ease;
}
.media-card:hover .media-thumbnail[data-v-27ffc4a3] {
  transform: scale(1.03);
}
.media-icon[data-v-27ffc4a3] {
  font-size: 54px;
  color: #adb5bd;
  padding: 35px 0;
  display: block;
  width: 100%;
  text-align: center;
}
/* <<< POPRAWKA – zawijanie nazwy pliku (teraz działa dzięki zmianie w UniversalEntityCard) >>> */
.file-name[data-v-27ffc4a3] {
  font-weight: 600;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: 1.38;
}
/* Opcjonalnie: ogranicz do maksymalnie 3 linii (żeby kafelka nie była za wysoka) */
.file-name[data-v-27ffc4a3] {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.attachment-list-view-settings-label[data-v-27ffc4a3] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.attachment-list-view-settings-hint[data-v-27ffc4a3] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.attachment-admin-unit-wrap label[data-v-27ffc4a3] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}

.cleanup-panel[data-v-95df8001] { margin-top: 20px;
}
.buttons-row[data-v-95df8001] { display: flex; gap: 15px; margin-bottom: 30px; flex-wrap: wrap;
}
.test-btn[data-v-95df8001] { background: #28a745; color: white;
}
.danger-btn[data-v-95df8001] { background: #dc3545; color: white;
}
.result-box[data-v-95df8001], .error-box[data-v-95df8001] { padding: 20px; border-radius: 12px; margin-top: 20px;
}
.stats-grid[data-v-95df8001] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px;
}
.admin-only-message[data-v-95df8001] { color: #dc3545; font-size: 1.1em; text-align: center; padding: 40px;
}
.admin-badge[data-v-95df8001] { background: #ffc107; padding: 4px 10px; border-radius: 999px; font-size: 0.85em;
}
.app-list-pagination[data-v-efdf24da] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 16px;
  margin-top: 20px;
  padding: 12px 16px;
  font-size: 0.95rem;
  color: #212529;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
}
.app-list-pagination--loading[data-v-efdf24da] {
  opacity: 0.75;
  pointer-events: none;
}
.app-list-pagination__center[data-v-efdf24da] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
}
.app-list-pagination__info[data-v-efdf24da] {
  font-weight: 600;
}
.app-list-pagination__total[data-v-efdf24da] {
  color: #6c757d;
  font-size: 0.88rem;
}
.app-list-pagination__jump[data-v-efdf24da] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}
.app-list-pagination__jump-label[data-v-efdf24da] {
  font-size: 0.88rem;
  color: #495057;
  white-space: nowrap;
}
.app-list-pagination__jump-controls[data-v-efdf24da] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.app-list-pagination__select[data-v-efdf24da] {
  width: auto;
  min-width: 2.75rem;
  max-width: 4.5rem;
  padding: 6px 1.25rem 6px 6px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  text-align: center;
}
.app-list-pagination__input[data-v-efdf24da] {
  width: 3rem;
  min-width: 2.75rem;
  padding: 6px 6px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  text-align: center;
}
.app-list-pagination__btn[data-v-efdf24da] {
  padding: 8px 16px;
  background: #007bff;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
}
.app-list-pagination__btn[data-v-efdf24da]:hover:not(:disabled) {
  background: #0056b3;
}
.app-list-pagination__btn[data-v-efdf24da]:disabled {
  background: #dee2e6;
  color: #6c757d;
  cursor: not-allowed;
}
.app-list-pagination__btn--go[data-v-efdf24da] {
  padding: 6px 10px;
  font-weight: 500;
  flex-shrink: 0;
}
@media (max-width: 576px) {
.app-list-pagination[data-v-efdf24da] {
    flex-direction: column;
    align-items: stretch;
}
.app-list-pagination__btn--prev[data-v-efdf24da],
  .app-list-pagination__btn--next[data-v-efdf24da] {
    width: 100%;
}
}

.llm-log-list-view-settings-label[data-v-66bebb7a] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.llm-log-list-view-settings-hint[data-v-66bebb7a] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.llm-filter-select[data-v-66bebb7a] {
  min-width: 220px;
  padding: 8px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 15px;
}
.llm-admin-unit-field[data-v-66bebb7a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.llm-admin-unit-field label[data-v-66bebb7a] {
  font-weight: 600;
  color: #333;
}
.llm-admin-hint[data-v-66bebb7a] {
  margin: 0;
  color: #666;
  font-size: 0.95rem;
}
.conversation-table-wrap[data-v-66bebb7a] {
  width: 100%;
  overflow-x: auto;
  padding: 12px 0 20px;
}
.conversation-table[data-v-66bebb7a] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}
.conversation-table th[data-v-66bebb7a],
.conversation-table td[data-v-66bebb7a] {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
}
.conversation-table th[data-v-66bebb7a] {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.conversation-table tbody tr[data-v-66bebb7a]:hover {
  background: #f8fafc;
}
.conversation-table .num[data-v-66bebb7a] {
  text-align: right;
  white-space: nowrap;
}
.conversation-table .col-actions[data-v-66bebb7a] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.conversation-table-statuses[data-v-66bebb7a] {
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.conversation-table-id-btn[data-v-66bebb7a] {
  background: none;
  border: none;
  padding: 0;
  color: #0d6efd;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  font: inherit;
}
.conversation-table-id-btn[data-v-66bebb7a]:hover {
  color: #0a58ca;
}
.conversation-table-action-btn[data-v-66bebb7a] {
  background: #007bff;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
}
.conversation-grid[data-v-66bebb7a] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.conversation-card[data-v-66bebb7a] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
  background: #fff;
}
.card-header[data-v-66bebb7a] {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  margin-bottom: 12px;
}
.card-header--clickable[data-v-66bebb7a] {
  cursor: pointer;
  border-radius: 8px;
  margin: -4px -4px 8px;
  padding: 4px;
  transition: background 0.15s ease;
}
.card-header--clickable[data-v-66bebb7a]:hover {
  background: #f3f4f6;
}
.card-header--clickable[data-v-66bebb7a]:focus {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}
.card-body p[data-v-66bebb7a] {
  margin: 6px 0;
}
.card-body .conversation-card-dates[data-v-66bebb7a] {
  margin: 6px 0;
}
.card-body .conversation-card-dates p[data-v-66bebb7a] {
  margin: 0 0 4px 0;
}
.card-body .conversation-card-dates p[data-v-66bebb7a]:last-child {
  margin-bottom: 0;
}
.card-actions button[data-v-66bebb7a] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
}
.conversation-preview[data-v-66bebb7a] {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 10px 0;
}
.log-entry[data-v-66bebb7a] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.log-header[data-v-66bebb7a] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 0.95rem;
  align-items: center;
}
.log-index[data-v-66bebb7a] {
  font-weight: 700;
  color: #007bff;
}
.log-status[data-v-66bebb7a] {
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 600;
}
.log-status.success[data-v-66bebb7a] {
  background: #10b981;
  color: white;
}
.log-status.error[data-v-66bebb7a] {
  background: #ef4444;
  color: white;
}
.log-content[data-v-66bebb7a] {
  background: #f8f9fa;
  padding: 14px;
  border-radius: 8px;
  white-space: pre-wrap;
  font-family: ui-monospace, monospace;
  font-size: 14px;
  line-height: 1.5;
  max-height: 320px;
  overflow-y: auto;
}
.prompt-section[data-v-66bebb7a],
.response-section[data-v-66bebb7a],
.system-prompt-section[data-v-66bebb7a] {
  margin-bottom: 20px;
}
.error-section[data-v-66bebb7a] {
  color: #dc3545;
  background: #fef2f2;
  padding: 12px;
  border-radius: 8px;
  margin-top: 12px;
}
.loading[data-v-66bebb7a],
.error-message[data-v-66bebb7a] {
  text-align: center;
  padding: 40px;
  font-size: 1.1rem;
}
.loading-state[data-v-66bebb7a],
.empty-state[data-v-66bebb7a] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-66bebb7a] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.global-settings-content[data-v-6a05dd25] {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}
.form-group[data-v-6a05dd25] {
  margin-bottom: 20px;
}
label[data-v-6a05dd25] {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
  color: #111827;
}
input[type="number"][data-v-6a05dd25] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 16px;
}
.checkbox-label[data-v-6a05dd25] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 15px;
  font-weight: 600;
}
.error-message[data-v-6a05dd25] {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
}
.loading[data-v-6a05dd25] {
  text-align: center;
  padding: 40px;
  font-size: 1.1rem;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-393bff29],
.gabito-btn-voucher-save[data-v-393bff29] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-393bff29] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-393bff29]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-393bff29]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-393bff29] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-393bff29]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-393bff29]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-393bff29] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-393bff29] { display: none;
}
}
.gabito-form-actions[data-v-393bff29] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-393bff29] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-393bff29] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-393bff29] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-393bff29]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-393bff29] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-393bff29] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-393bff29] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-393bff29]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-393bff29]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-393bff29],
.calendar-settings-modal .gabito-form-btn[data-v-393bff29],
.modal-footer .gabito-form-btn-cancel[data-v-393bff29],
.modal-footer .gabito-form-btn-save[data-v-393bff29] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-393bff29] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-393bff29],
  .calendar-settings-modal .gabito-form-btn[data-v-393bff29] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-393bff29] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-393bff29] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-393bff29]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-393bff29] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-393bff29]:hover:not(:disabled) {
  background-color: #c82333;
}
.unit-settings-content[data-v-393bff29] {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}
.form-group[data-v-393bff29] {
  margin-bottom: 20px;
}
label[data-v-393bff29] {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
  color: #111827;
}
input[type="number"][data-v-393bff29] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 16px;
}
.error-message[data-v-393bff29] {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
}
.loading[data-v-393bff29] {
  text-align: center;
  padding: 40px;
  font-size: 1.1rem;
}

.stats-view[data-v-e449125c] {
  padding: 1rem 1.25rem 2.5rem;
  max-width: 1100px;
}
.stats-header-links--inline[data-v-e449125c] {
  display: inline-flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-left: 0.75rem;
  vertical-align: middle;
}
.stats-link[data-v-e449125c] {
  color: #0d6efd;
  text-decoration: none;
  font-weight: 600;
}
.stats-link[data-v-e449125c]:hover {
  text-decoration: underline;
}
.stats-info[data-v-e449125c] {
  font-size: 0.92rem;
  line-height: 1.5;
  color: #374151;
  margin-bottom: 1.25rem;
  padding: 0.85rem 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.stats-info p[data-v-e449125c] {
  margin: 0 0 0.65rem;
}
.stats-info p[data-v-e449125c]:last-child {
  margin-bottom: 0;
}
.stats-scope[data-v-e449125c] {
  margin-top: 0.5rem !important;
  font-size: 0.9rem;
}
.stats-filters[data-v-e449125c] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
  margin-bottom: 1.25rem;
}
.stats-field[data-v-e449125c] {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #334155;
}
.stats-field--grow[data-v-e449125c] {
  min-width: 220px;
  flex: 1;
}
.stats-field input[data-v-e449125c],
.stats-field select[data-v-e449125c] {
  padding: 0.45rem 0.55rem;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}
.stats-refresh[data-v-e449125c] {
  align-self: flex-end;
}
.stats-error[data-v-e449125c] {
  color: #b02a37;
  font-weight: 600;
}
.stats-loading[data-v-e449125c] {
  color: #64748b;
}
.stats-empty[data-v-e449125c] {
  padding: 1.5rem;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 8px;
  color: #78350f;
}
.stats-kpis[data-v-e449125c] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.stats-kpi[data-v-e449125c] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.stats-kpi--warn[data-v-e449125c] {
  border-color: #fecaca;
  background: #fef2f2;
}
.stats-kpi-label[data-v-e449125c] {
  display: block;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  margin-bottom: 0.35rem;
}
.stats-kpi-value[data-v-e449125c] {
  font-size: 1.45rem;
  font-weight: 700;
  color: #0f172a;
}
.stats-kpi-sub[data-v-e449125c] {
  display: block;
  font-size: 0.8rem;
  color: #64748b;
  margin-top: 0.25rem;
}
.stats-block[data-v-e449125c] {
  margin-bottom: 1.75rem;
}
.stats-block h2[data-v-e449125c] {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
}
.stats-muted[data-v-e449125c] {
  font-size: 0.88rem;
  color: #64748b;
  margin: 0 0 0.65rem;
}
.stats-table-wrap[data-v-e449125c] {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.stats-table-wrap--scroll[data-v-e449125c] {
  max-height: 360px;
  overflow: auto;
}
.stats-table[data-v-e449125c] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.stats-table th[data-v-e449125c],
.stats-table td[data-v-e449125c] {
  padding: 0.55rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
}
.stats-table th[data-v-e449125c] {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
}
.stats-table tr:last-child td[data-v-e449125c] {
  border-bottom: none;
}
.stats-table .num[data-v-e449125c] {
  text-align: right;
  white-space: nowrap;
}
.stats-view button.gabito-btn-primary[data-v-e449125c] {
  background-color: #0d6efd;
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
}
.stats-view button.gabito-btn-primary[data-v-e449125c]:hover:not(:disabled) {
  background-color: #0b5ed7;
}
.stats-view button.gabito-btn-primary[data-v-e449125c]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.llm-stats-list-view-settings-label[data-v-e449125c] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.llm-stats-list-view-settings-hint[data-v-e449125c] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.llm-stats-admin-unit-field[data-v-e449125c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.llm-stats-admin-unit-field label[data-v-e449125c] {
  font-weight: 600;
  color: #333;
}
.llm-stats-admin-unit-select[data-v-e449125c] {
  width: 100%;
  padding: 0.45rem 0.55rem;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}

/* Style pod UniversalEntityPreview */
.resource-configs-content[data-v-0f12330e] {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
}
.resource-group[data-v-0f12330e] {
  margin-bottom: 32px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 24px;
  background: #ffffff;
}
.resource-group h2[data-v-0f12330e] {
  margin: 0 0 20px 0;
  color: #111827;
  font-size: 1.35rem;
}
.level-group[data-v-0f12330e] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.level-group label[data-v-0f12330e] {
  font-weight: 700;
  min-width: 110px;
  color: #374151;
}
.level-group input[data-v-0f12330e] {
  padding: 12px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 15px;
  flex: 1;
  min-width: 180px;
}
.level-group input[data-v-0f12330e]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

/* Komunikaty stanu */
.loading-state[data-v-0f12330e], .error-state[data-v-0f12330e] {
  text-align: center;
  padding: 40px 20px;
  font-size: 1.1rem;
}
.error-state[data-v-0f12330e] {
  color: #dc3545;
  background: #f8d7da;
  border-radius: 8px;
}

/* Responsywność */
@media (max-width: 768px) {
.level-group[data-v-0f12330e] {
    flex-direction: column;
    align-items: stretch;
}
.level-group input[data-v-0f12330e] {
    min-width: auto;
}
}

.resource-states-view[data-v-2b192b80] { padding: 20px; max-width: 800px; margin: 0 auto;
}
.states-table[data-v-2b192b80] { width: 100%; border-collapse: collapse; margin-top: 20px;
}
th[data-v-2b192b80], td[data-v-2b192b80] { border: 1px solid #ccc; padding: 10px; text-align: left;
}
th[data-v-2b192b80] { background: #f8f9fa;
}
select[data-v-2b192b80] { padding: 5px; margin-bottom: 10px;
}

.webauthn-login[data-v-7e74546a] {
  max-width: 400px;
  margin: 0 auto;
  padding: 20px;
}
button[data-v-7e74546a] {
  width: 100%;
  padding: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
button[data-v-7e74546a]:disabled {
  background-color: #6c757d;
}
.error[data-v-7e74546a] {
  color: red;
  margin-top: 10px;
}

.webauthn-register[data-v-272a6284] {
  max-width: 400px;
  margin: 0 auto;
  padding: 20px;
  text-align: center;
}
button[data-v-272a6284] {
  width: 100%;
  padding: 10px;
  background-color: #28a745;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 10px;
}
button[data-v-272a6284]:disabled {
  background-color: #6c757d;
}
.success[data-v-272a6284] {
  color: green;
  margin-top: 10px;
}
.error[data-v-272a6284] {
  color: red;
  margin-top: 10px;
}

.confirmation-modal-overlay[data-v-f82f3e41] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 12050;
}
.confirmation-modal[data-v-f82f3e41] {
  background: white;
  padding: 24px;
  border-radius: 12px;
  max-width: 480px;
  width: 90%;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.confirmation-modal h2[data-v-f82f3e41] {
  margin-top: 0;
  color: #333;
}
.checkbox-label[data-v-f82f3e41] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 16px 0;
  font-size: 0.95rem;
  cursor: pointer;
}
.buttons[data-v-f82f3e41] {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
  gap: 12px;
}
.confirm-btn[data-v-f82f3e41] {
  background: #28a745;
  color: white;
  border: none;
  padding: 10px 24px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  flex: 1;
  max-width: 160px;
}
.confirm-btn[data-v-f82f3e41]:disabled {
  background: #ccc;
  cursor: not-allowed;
}
.cancel-btn[data-v-f82f3e41] {
  background: #6c757d;
  color: white;
  border: none;
  padding: 10px 24px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  flex: 1;
  max-width: 160px;
}

/* Style dla pola powodu */
.reason-input[data-v-f82f3e41] {
  margin: 16px 0;
  text-align: left;
}
.reason-input label[data-v-f82f3e41] {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: #495057;
  font-size: 0.9rem;
}
.reason-input textarea[data-v-f82f3e41] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
  resize: vertical;
  min-height: 70px;
  box-sizing: border-box;
}
.reason-input textarea[data-v-f82f3e41]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
  outline: none;
}
/* === NOWE STYLE DLA TRUNCACJI NAZWY W NAGŁÓWKU === */
.header-left[data-v-65ef2124] {
  flex: 1 1 auto !important;
  min-width: 0;               /* KLUCZOWE – pozwala na ellipsis w flex */
  overflow: hidden;
}
.shared-card-title.card-title[data-v-65ef2124] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  margin: 0;
}

/* Reszta stylów bez zmian */
.header-left-group[data-v-65ef2124] { 
  display: flex !important; 
  align-items: center !important; 
  gap: 12px !important; 
  flex-wrap: wrap !important; 
  flex: 1 1 auto !important;
}
.filters[data-v-65ef2124] { margin-bottom: 25px;
}
.filter-row[data-v-65ef2124] { display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.filter-group[data-v-65ef2124] { display: flex; align-items: center; gap: 5px; flex: 1; min-width: 170px;
}
.input-with-search[data-v-65ef2124] { position: relative; flex: 1; min-width: 220px;
}
.input-with-search input[data-v-65ef2124] { 
  width: 100%; padding: 6px 12px; padding-right: 46px; height: 36px; 
  font-size: 14.5px; border: 1px solid #ddd; border-radius: 6px;
}
.input-with-search input[data-v-65ef2124]:focus { border-color: #007bff; outline: none;
}

/* Style z EntityListTemplate */
.entity-list-template[data-v-65ef2124] { padding: 20px 15px;
}
.entity-content-wrapper[data-v-65ef2124] { max-width: 1380px; margin: 0 auto; width: 100%;
}
.list-header[data-v-65ef2124] { 
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  margin-bottom: 25px; 
  flex-wrap: wrap; 
  gap: 15px;
}
.list-header h2[data-v-65ef2124] { margin: 0; font-size: 1.8rem; font-weight: 700; color: #000;
}
.header-actions[data-v-65ef2124] { display: flex; gap: 12px; flex-wrap: wrap;
}
.filters-container[data-v-65ef2124] { margin-bottom: 25px;
}
.items-grid[data-v-65ef2124] { 
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
  gap: 20px; 
  padding-bottom: 240px; 
  overflow: visible; 
  align-items: start !important; 
  grid-auto-rows: minmax(min-content, max-content);
}
.loading-state[data-v-65ef2124],
.empty-state[data-v-65ef2124] { 
  text-align: center; 
  padding: 60px 20px; 
  color: #666; 
  font-size: 1.1rem;
}
@media (max-width: 768px) {
.entity-list-template[data-v-65ef2124] { padding: 15px 10px;
}
.list-header h2[data-v-65ef2124] { font-size: 1.5rem;
}
.items-grid[data-v-65ef2124] { padding-bottom: 220px; align-items: start;
}
.header-left-group[data-v-65ef2124] { flex: 1 1 auto !important;
}
.input-with-search[data-v-65ef2124] { min-width: 100%;
}
}

.visit-fields-list-view-settings-label[data-v-65ef2124] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.visit-fields-list-view-settings-hint[data-v-65ef2124] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}

/* style bez zmian */
.field-form[data-v-d49a7e2d] { max-width: 600px; margin: 0 auto; padding: 20px; background-color: #f9f9f9; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.form-group[data-v-d49a7e2d] { display: flex; flex-direction: column; margin-bottom: 15px;
}
label[data-v-d49a7e2d] { margin-bottom: 5px; font-weight: bold; color: #555;
}
input[data-v-d49a7e2d], select[data-v-d49a7e2d], textarea[data-v-d49a7e2d] { padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px;
}
.auto-resize-textarea[data-v-d49a7e2d] { resize: none; overflow-y: hidden; min-height: 80px; transition: height 0.2s ease;
}
.validation-section[data-v-d49a7e2d] { background: #f8f9fa; padding: 15px; border-radius: 6px; border: 1px solid #e9ecef;
}
.checkbox-label[data-v-d49a7e2d] { display: flex; align-items: center; gap: 8px; font-weight: 500; margin-bottom: 12px; cursor: pointer;
}
.min-max-grid[data-v-d49a7e2d] { display: grid; grid-template-columns: 1fr 1fr; gap: 15px;
}
.form-group-inline[data-v-d49a7e2d] { display: flex; flex-direction: column;
}
.option-row[data-v-d49a7e2d] { display: flex; gap: 8px; margin-bottom: 8px; align-items: flex-start;
}
.option-input-wrap[data-v-d49a7e2d] { flex: 1; min-width: 0;
}
.field-i18n-preview[data-v-d49a7e2d] { margin: 6px 0 0; font-size: 0.9rem; color: #475569; font-weight: normal;
}
.option-preview[data-v-d49a7e2d] { margin-top: 4px;
}
.field-name-readonly[data-v-d49a7e2d] { background: #fff; color: #111; cursor: default;
}
.label-sub[data-v-d49a7e2d] { margin-top: 10px; font-size: 0.85rem; font-weight: 600; color: #64748b;
}
.field-name-key-row .mono[data-v-d49a7e2d], .mono[data-v-d49a7e2d] { font-family: ui-monospace, monospace; font-size: 0.9rem;
}
.field-key-readonly[data-v-d49a7e2d] { margin: 8px 0 0; font-size: 0.9rem; color: #475569;
}
.field-key-readonly code[data-v-d49a7e2d] { word-break: break-all;
}
.remove-btn[data-v-d49a7e2d] { background: #dc3545; color: white; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer;
}
.add-option-row[data-v-d49a7e2d] { display: flex; gap: 8px;
}
.universal-content-only .field-form[data-v-d49a7e2d] { max-width: 100% !important; margin: 0 !important; padding: 0 !important; background-color: transparent !important; box-shadow: none !important; border-radius: 0 !important;
}
.unit-from-list-hint[data-v-d49a7e2d] {
  margin: 0 0 16px;
  padding: 10px 12px;
  background: #f0f7ff;
  border-radius: 6px;
  font-size: 0.95rem;
  color: #334155;
}
@media (max-width: 576px) {
.min-max-grid[data-v-d49a7e2d] { grid-template-columns: 1fr;
}
}
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Light i strong używają dokładnie tego samego koloru (pośredni odcień pomiędzy starymi wartościami) */
/* Ujednolicona paleta – spójna dla wszystkich komponentów */
.notes-info-light-quadrant-1[data-v-2055c6e8],
.notes-info-strong-quadrant-1[data-v-2055c6e8] {
    background: #ef4444;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-2[data-v-2055c6e8],
.notes-info-strong-quadrant-2[data-v-2055c6e8] {
    background: #22c55e;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-3[data-v-2055c6e8],
.notes-info-strong-quadrant-3[data-v-2055c6e8] {
    background: #eab308;
    color: #1f2937;
    box-shadow: none;
}
.notes-info-light-quadrant-4[data-v-2055c6e8],
.notes-info-strong-quadrant-4[data-v-2055c6e8] {
    background: #3b82f6;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-private[data-v-2055c6e8],
.notes-info-strong-visibility-private[data-v-2055c6e8] {
    background: #aabddb;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-public[data-v-2055c6e8],
.notes-info-strong-visibility-public[data-v-2055c6e8] {
    background: #475569;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-client[data-v-2055c6e8],
.notes-info-strong-visibility-client[data-v-2055c6e8] {
    background: #8b5cf6;
    color: #ffffff;
    box-shadow: none;
}
.client-notes-notification-container[data-v-2055c6e8] {
  all: unset;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e0e0e0;
  flex-wrap: wrap;
}
.client-notes-add-note-btn[data-v-2055c6e8] {
  all: unset;
  width: 55px;
  height: 55px;
  background: #007bff38;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: all 0.2s ease;
}
.client-notes-add-note-btn[data-v-2055c6e8]:hover {
  background: #0056b3;
}
.client-notes-quadrant-btns[data-v-2055c6e8] {
  display: grid;
  grid-template-columns: repeat(2, 25px);
  grid-template-rows: repeat(2, 25px);
  gap: 5px;
  width: 55px;
  height: 55px;
}
.client-notes-visibility-btns[data-v-2055c6e8] {
  display: flex;
  flex-direction: row;
  gap: 5px;
  height: 25px;
}
.client-notes-quadrant-btns button[data-v-2055c6e8],
.client-notes-visibility-btns button[data-v-2055c6e8] {
  width: 25px;
  height: 25px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  padding: 0;
  transition: transform 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
}
.client-notes-quadrant-btns button[data-v-2055c6e8]:hover:not(.inactive),
.client-notes-visibility-btns button[data-v-2055c6e8]:hover:not(.inactive) {
  transform: scale(1.1);
}
.client-notes-quadrant-btns button.inactive[data-v-2055c6e8],
.client-notes-visibility-btns button.inactive[data-v-2055c6e8] {
  visibility: hidden;
  pointer-events: none;
}
/* ==================== MOBILE ==================== */
@media (max-width: 768px) {
.client-notes-notification-container[data-v-2055c6e8] {
    gap: 8px;
}
.client-notes-add-note-btn[data-v-2055c6e8] {
    width: 79px;
    height: 79px;
    font-size: 32px;
}
.client-notes-quadrant-btns[data-v-2055c6e8] {
    grid-template-columns: repeat(2, 36px);
    grid-template-rows: repeat(2, 36px);
    gap: 7px;
    width: 79px;
    height: 79px;
}
.client-notes-visibility-btns[data-v-2055c6e8] {
    gap: 7px;
    height: 36px;
}
.client-notes-quadrant-btns button[data-v-2055c6e8],
  .client-notes-visibility-btns button[data-v-2055c6e8] {
    width: 36px;
    height: 36px;
    border-radius: 7px;
    font-size: 15px;
}
}
/* src/modules/VisitProfiles/components/ProfilesList.css */
/* Encoding: UTF-8 */
/* POPRAWIONE STYLE – toggle checkboxów + spójność z /clients */
/* src/assets/css/gabito-common-action-buttons-v1.css */
/* Encoding: UTF-8 */
/* Uniwersalne przyciski + uniwersalny nagłówek list (clients, visit-history, lead-sources itp.) */
/**
 * Przycisk „dodaj” (zielony kwadrat, np. fa-plus): pełny wygląd jest tutaj.
 * W Vue często używa się class="gabito-common-add-btn-v1 icon-only" — klasa .icon-only
 * jest tylko znacznikiem semantycznym; wymiary 42×42 i padding 0 wynikają już z .gabito-common-add-btn-v1
 * (osobnych reguł .gabito-common-add-btn-v1.icon-only nie trzeba).
 */
.gabito-common-add-btn-v1[data-v-bbafe1b3],
.gabito-common-clear-filters-btn-v1[data-v-bbafe1b3],
.gabito-common-search-btn-v1[data-v-bbafe1b3] {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
/* Secondary — tylko ikona: ten sam rozmiar co .gabito-common-add-btn-v1 / .gabito-common-admin-tools-btn-v1 */
.gabito-common-btn-secondary.icon-only[data-v-bbafe1b3] {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
/* === UNIWERSALNY NAGŁÓWEK LISTY (przeniesiony i uogólniony) === */
.gabito-common-list-container[data-v-bbafe1b3] {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.gabito-common-top-header[data-v-bbafe1b3] {
  width: 100%;
  margin: 0 -10px 30px -10px;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}
.gabito-common-top-inner[data-v-bbafe1b3] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
}
.gabito-common-title-row-1[data-v-bbafe1b3] {
  order: 1;
  flex: 0 1 auto;
}
.gabito-common-title-row-2[data-v-bbafe1b3] {
  order: 2;
  flex: 1 1 auto;
  min-width: 240px;
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}
.gabito-common-title-row-3[data-v-bbafe1b3] {
  order: 3;
  flex: 0 1 auto;
  margin-left: auto;
}
.gabito-common-title-with-select[data-v-bbafe1b3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
  margin-left: 20px;
  flex-wrap: nowrap;
}
/* Tytuł listy + opcjonalna ikona (np. kontekst strony) w jednym rzędzie */
.gabito-common-title-heading-group[data-v-bbafe1b3] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 1 auto;
  min-width: 0;
}
.gabito-common-title-heading-group h2[data-v-bbafe1b3] {
  margin: 0;
}
.gabito-common-title-actions[data-v-bbafe1b3] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  justify-content: flex-end;
  width: 100%;
}
/**
 * Przyciski w pasku akcji nagłówka list (.gabito-common-title-actions)
 * — slot „actions”, wbudowany przycisk admina (showAdminButton), zamknięcie (gabito-btn-close).
 * Wygląd klas:
 *   • .gabito-common-btn-secondary → src/assets/css/form-buttons.css (import w main.js)
 *   • .gabito-common-add-btn-v1, .gabito-common-admin-tools-btn-v1, .gabito-common-clear-filters-btn-v1,
 *     .gabito-common-filters-toggle → ten plik
 *   • .gabito-btn-close → src/assets/css/gabito-common-buttons.css (import w main.js)
 *
 * TYMCZASOWO (podczas dopracowania UI): obwódka jak .gabito-btn-close.gabito-btn-close--preview-header
 * (2px dashed #dc3545, offset 1px) — usuń ten blok po akceptacji. Zamknięcie wykluczone :not(.gabito-btn-close),
 * bo ma już ten sam outline w swojej klasie.
 */
.gabito-common-title-actions > button[data-v-bbafe1b3]:not(.gabito-btn-close) {
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-common-list-error-message[data-v-bbafe1b3] {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}
/* Controls & Search */
.gabito-common-controls-section[data-v-bbafe1b3],
.gabito-common-search-section[data-v-bbafe1b3] {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.gabito-common-search-section[data-v-bbafe1b3] {
  width: 100%;
}
.gabito-common-search-wrapper[data-v-bbafe1b3] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.gabito-common-search-wrapper input[data-v-bbafe1b3] {
  width: 100%;
  padding: 12px 16px;
  padding-right: 46px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-search-wrapper input[data-v-bbafe1b3]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
  outline: none;
}
.gabito-common-list-select-control[data-v-bbafe1b3] {
  min-width: 260px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-list-select-control[data-v-bbafe1b3]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.gabito-common-checkbox-filters-container[data-v-bbafe1b3] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gabito-common-filter-label[data-v-bbafe1b3],
.gabito-common-filter-label.active-filter-label[data-v-bbafe1b3] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600;
}
.gabito-common-filter-label[data-v-bbafe1b3]:hover,
.gabito-common-filter-label.active-filter-label[data-v-bbafe1b3]:hover {
  background: #e9ecef;
}
.gabito-common-filters-container[data-v-bbafe1b3] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  overflow: hidden;
  max-height: 500px;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease-out;
  opacity: 1;
  justify-content: space-around;
}
.gabito-common-filters-container.collapsed[data-v-bbafe1b3] {
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin: 0;
}
/* PRZYCISK FILTRÓW – ZAWSZE NIEBIESKI */
.gabito-common-filters-toggle[data-v-bbafe1b3] {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 6px;
  width: 44px;
  height: 44px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.gabito-common-filters-toggle[data-v-bbafe1b3]:hover {
  background: #0056b3;
}
/* Responsywność całego nagłówka */
@media (max-width: 768px) {
.gabito-common-top-inner[data-v-bbafe1b3] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.gabito-common-title-row-1[data-v-bbafe1b3],
  .gabito-common-title-row-2[data-v-bbafe1b3],
  .gabito-common-title-row-3[data-v-bbafe1b3] {
    order: initial;
    flex: 1 1 50%;
    margin: 0;
    justify-content: center !important;
    text-align: center !important;
}
.gabito-common-title-row-3[data-v-bbafe1b3] {
    margin-left: 0;
    justify-content: flex-end;
}
.gabito-common-title-with-select[data-v-bbafe1b3] {
    margin: 0;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    justify-content: left;
}
.gabito-common-title-actions[data-v-bbafe1b3] {
    width: 100%;
    justify-content: flex-end;
    /* Reset względem rodzica .gabito-common-title-with-select (mobile: duży font) — ikony/przyciski jak na desktopie */
    font-size: 1rem;
    font-weight: 400;
    align-items: center;
}

  /* Przyciski w nagłówku (np. Odśwież) — bez rozciągania na całą szerokość kolumny przy layoutcie kolumnowym */
.gabito-common-title-actions > .gabito-common-btn-secondary[data-v-bbafe1b3]:not(.icon-only),
  .gabito-common-title-actions > .gabito-common-admin-tools-btn-v1[data-v-bbafe1b3],
  .gabito-common-title-actions > .gabito-common-add-btn-v1[data-v-bbafe1b3],
  .gabito-common-title-actions > .gabito-common-clear-filters-btn-v1[data-v-bbafe1b3],
  .gabito-common-title-actions > .gabito-common-filters-toggle[data-v-bbafe1b3] {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    align-self: center;
}
.gabito-common-filters-container[data-v-bbafe1b3],
  .gabito-common-search-section[data-v-bbafe1b3] {
    flex-direction: column;
    width: 100%;
}
.gabito-common-search-wrapper[data-v-bbafe1b3] {
    min-width: 100%;
}
}
/* === PRZYCISKI (istniejące + nowe) === */
.gabito-common-add-btn-v1[data-v-bbafe1b3] {
  background: #28a745 !important;
  color: white !important;
  font-size: 21px !important;
}
.gabito-common-add-btn-v1[data-v-bbafe1b3]:hover {
  background: #218838 !important;
  transform: translateY(-1px) !important;
}
.gabito-common-clear-filters-btn-v1[data-v-bbafe1b3] {
  background-color: #dc3545 !important;
  color: white !important;
}
.gabito-common-clear-filters-btn-v1[data-v-bbafe1b3]:hover {
  background-color: #5a6268 !important;
}
.gabito-common-clear-filters-btn-v1.active-filters[data-v-bbafe1b3] {
  background-color: #dc3545 !important;
}
.gabito-common-search-btn-v1[data-v-bbafe1b3] {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #007bff;
  color: white;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
}
.gabito-common-search-btn-v1[data-v-bbafe1b3]:hover {
  background-color: #0056b3;
}
/* Responsywność mobile */
@media (max-width: 768px) {
.gabito-common-add-btn-v1[data-v-bbafe1b3],
  .gabito-common-clear-filters-btn-v1[data-v-bbafe1b3],
  .gabito-common-filters-toggle[data-v-bbafe1b3],
  .gabito-common-btn-secondary.icon-only[data-v-bbafe1b3] {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
}
}
/**
 * Przycisk ikonowy ustawień / narzędzi (fioletowy kwadrat 42×42, np. koło zębate w nagłówku list).
 * HTML: <button type="button" class="gabito-common-admin-tools-btn-v1" title="…"><i class="fas fa-cog"></i></button>
 * Style ładuj globalnie (main.js) lub przez niescoped <style>@import …</style> — nie importuj tego pliku
 * wewnątrz <style scoped> w komponentach ze slotami nagłówka (inaczej slot z rodzica nie dostanie wyglądu).
 */
.gabito-common-admin-tools-btn-v1[data-v-bbafe1b3] {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #6f42c1 !important;
  color: white !important;
}
.gabito-common-admin-tools-btn-v1[data-v-bbafe1b3]:hover {
  background: #5a32a3 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(111, 66, 193, 0.4);
}
/* Responsywność mobile */
@media (max-width: 768px) {
.gabito-common-admin-tools-btn-v1[data-v-bbafe1b3] {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
}
}
.profiles-filters-row[data-v-bbafe1b3] {
  margin-bottom: 12px;
}
.profiles-scope-select-wrap[data-v-bbafe1b3] {
  min-width: 220px;
  flex: 1 1 220px;
}
.profiles-admin-unit-field label[data-v-bbafe1b3] {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
}
.profiles-admin-hint[data-v-bbafe1b3] {
  font-size: 0.9rem;
  color: #666;
  margin-top: 10px;
  margin-bottom: 0;
}
.header-left-group[data-v-bbafe1b3] { 
  display: flex !important; 
  align-items: center !important; 
  gap: 12px !important; 
  flex-wrap: wrap !important; 
  flex: 1 1 auto !important;
}
.header-right-group[data-v-bbafe1b3] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
  margin-left: auto;
}
.gabito-common-filters-container[data-v-bbafe1b3] {
  transition: all 0.3s ease;
}
.gabito-common-filters-container.collapsed[data-v-bbafe1b3] {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.filters[data-v-bbafe1b3] { margin-bottom: 25px;
}
.filter-row[data-v-bbafe1b3] { display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.filter-group[data-v-bbafe1b3] { display: flex; align-items: center; gap: 5px; flex: 1; min-width: 170px;
}
.input-with-search[data-v-bbafe1b3] { position: relative; flex: 1; min-width: 220px;
}
.input-with-search input[data-v-bbafe1b3] { 
  width: 100%; padding: 6px 12px; padding-right: 46px; height: 36px; 
  font-size: 14.5px; border: 1px solid #ddd; border-radius: 6px;
}
.input-with-search input[data-v-bbafe1b3]:focus { border-color: #007bff; outline: none;
}
.checkbox-label[data-v-bbafe1b3] { 
  display: flex; align-items: center; gap: 7px; font-weight: 500; 
  cursor: pointer; margin: 0; font-size: 14.5px;
}
.checkbox-label input[data-v-bbafe1b3] { width: 17px; height: 17px; accent-color: #007bff;
}
.entity-list-template[data-v-bbafe1b3] { padding: 20px 15px;
}
.entity-content-wrapper[data-v-bbafe1b3] { max-width: 1380px; margin: 0 auto; width: 100%;
}
.list-header[data-v-bbafe1b3] { 
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  margin-bottom: 25px; 
  flex-wrap: wrap; 
  gap: 15px;
}
.list-header h2[data-v-bbafe1b3] { margin: 0; font-size: 1.8rem; font-weight: 700; color: #000;
}
.items-grid[data-v-bbafe1b3] { 
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
  gap: 20px; 
  padding-bottom: 240px; 
  overflow: visible; 
  align-items: start !important; 
  grid-auto-rows: minmax(min-content, max-content);
}
.loading-state[data-v-bbafe1b3], .empty-state[data-v-bbafe1b3] { text-align: center; padding: 60px 20px; color: #666; font-size: 1.1rem;
}
.field-line[data-v-bbafe1b3] {
  display: block;
  padding-left: 12px;
  margin-bottom: 1px;
  font-size: 0.94em;
  line-height: 1.35;
  color: #444;
}
.visibility-toggle[data-v-bbafe1b3] {
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.visibility-toggle .checkbox-label[data-v-bbafe1b3] {
  font-size: 0.95em;
  color: #555;
  cursor: pointer;
}
@media (max-width: 768px) {
.entity-list-template[data-v-bbafe1b3] { padding: 15px 10px;
}
.list-header h2[data-v-bbafe1b3] { font-size: 1.5rem;
}
.items-grid[data-v-bbafe1b3] { padding-bottom: 220px; align-items: start;
}
.header-left-group[data-v-bbafe1b3] { flex: 1 1 auto;
}
.header-right-group[data-v-bbafe1b3] { margin-left: auto;
}
}
.profiles-list-view-settings-label[data-v-bbafe1b3] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.profiles-list-view-settings-hint[data-v-bbafe1b3] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.profiles-table-visibility-label[data-v-bbafe1b3] {
  cursor: pointer;
  user-select: none;
}
/* src/modules/VisitProfiles/components/ProfileForm.css */
/* Encoding: UTF-8 */
/* Pełny, niezmieniony styl – dokładnie taki jak w oryginale */
.profile-form[data-v-a53c5a3e] {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.form-group[data-v-a53c5a3e] {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}
label[data-v-a53c5a3e] {
  margin-bottom: 5px;
  font-weight: bold;
  color: #555;
}
input[data-v-a53c5a3e], select[data-v-a53c5a3e], textarea[data-v-a53c5a3e] {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
input[data-v-a53c5a3e]:focus, select[data-v-a53c5a3e]:focus, textarea[data-v-a53c5a3e]:focus {
  border-color: #007bff;
  outline: none;
}
.add-field-row[data-v-a53c5a3e] {
  display: flex;
  gap: 10px;
}
.add-field-btn[data-v-a53c5a3e] {
  padding: 10px 15px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.selected-field[data-v-a53c5a3e] {
  margin-bottom: 20px;
  padding: 15px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.selected-field-header[data-v-a53c5a3e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  flex-wrap: wrap;
  gap: 10px;
}
.reorder-buttons[data-v-a53c5a3e] {
  display: flex;
  flex-direction: row;
  gap: 6px;
}
.reorder-btn[data-v-a53c5a3e] {
  width: 32px;
  height: 32px;
  font-size: 18px;
  font-weight: bold;
  color: #555;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.reorder-btn[data-v-a53c5a3e]:hover:not(:disabled) {
  background: #007bff;
  color: white;
  border-color: #007bff;
}
.reorder-btn[data-v-a53c5a3e]:disabled {
  color: #aaa;
  background: #f8f9fa;
  border-color: #ddd;
  opacity: 0.6;
  cursor: not-allowed;
}
.remove-field-btn[data-v-a53c5a3e] {
  background-color: #dc3545;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
}
.auto-resize-textarea[data-v-a53c5a3e] {
  width: 100%;
  min-height: 48px;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  resize: none;
  overflow-y: hidden;
  transition: height 0.2s ease;
}
.auto-resize-textarea[data-v-a53c5a3e]:focus {
  border-color: #007bff;
  outline: none;
}

/* Tryb UniversalEntityPreview */
.universal-content-only .profile-form[data-v-a53c5a3e] {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Responsywność */
@media (max-width: 576px) {
.selected-field-header[data-v-a53c5a3e] {
    flex-direction: column;
    align-items: flex-start;
}
.reorder-buttons[data-v-a53c5a3e] {
    width: 100%;
    justify-content: center;
}
.universal-content-only .profile-form[data-v-a53c5a3e] {
    padding: 0;
}
}
.no-units-warning[data-v-a53c5a3e] {
  color: #e67e22;
  font-weight: bold;
  margin-top: 8px;
  font-size: 0.95em;
}
.info-non-admin p[data-v-a53c5a3e] {
  color: #2c3e50;
  font-weight: 500;
  background: #f8f9fa;
  padding: 12px 15px;
  border-radius: 6px;
  border-left: 4px solid #3498db;
}
.profile-date-autofill[data-v-a53c5a3e] {
  margin-top: 8px;
  font-size: 0.9rem;
}
.profile-date-autofill .checkbox-label[data-v-a53c5a3e] {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  column-gap: 10px;
  row-gap: 0;
  font-weight: 500;
  cursor: pointer;
  line-height: 1.45;
}
.profile-date-autofill .checkbox-label-text[data-v-a53c5a3e] {
  min-width: 0;
}
.profile-date-autofill .param-code[data-v-a53c5a3e] {
  white-space: nowrap;
  font-size: 0.92em;
  padding: 1px 6px;
  border-radius: 4px;
  background: #eef2f7;
  font-family: ui-monospace, monospace;
}
.autofill-hint-view[data-v-a53c5a3e] {
  margin: 6px 0 0;
  color: #555;
  font-size: 0.88rem;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-fbf2c2f8],
.gabito-btn-voucher-save[data-v-fbf2c2f8] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-fbf2c2f8] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-fbf2c2f8]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-fbf2c2f8]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-fbf2c2f8] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-fbf2c2f8]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-fbf2c2f8]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-fbf2c2f8] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-fbf2c2f8] { display: none;
}
}
.gabito-form-actions[data-v-fbf2c2f8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-fbf2c2f8] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-fbf2c2f8] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-fbf2c2f8] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-fbf2c2f8]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-fbf2c2f8] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-fbf2c2f8] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-fbf2c2f8] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-fbf2c2f8]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-fbf2c2f8]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-fbf2c2f8],
.calendar-settings-modal .gabito-form-btn[data-v-fbf2c2f8],
.modal-footer .gabito-form-btn-cancel[data-v-fbf2c2f8],
.modal-footer .gabito-form-btn-save[data-v-fbf2c2f8] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-fbf2c2f8] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-fbf2c2f8],
  .calendar-settings-modal .gabito-form-btn[data-v-fbf2c2f8] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-fbf2c2f8] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-fbf2c2f8] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-fbf2c2f8]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-fbf2c2f8] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-fbf2c2f8]:hover:not(:disabled) {
  background-color: #c82333;
}

/* Styles extracted and adapted from VoucherForm.vue */
.client-recipient-group label[data-v-7be3f968] { font-weight: 600;
}
.required[data-v-7be3f968] { color: #dc3545; font-weight: bold;
}
.selected-client[data-v-7be3f968] {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #e8f4fd;
  border: 2px solid #007bff;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 8px;
}
.client-info[data-v-7be3f968] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.client-info i[data-v-7be3f968] {
  font-size: 1.4rem;
  color: #007bff;
}
.client-meta[data-v-7be3f968] {
  font-size: 0.85rem;
  color: #555;
  margin-top: 2px;
}
.client-name-row[data-v-7be3f968] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.blacklist-icon[data-v-7be3f968] {
  color: #dc2626;
  font-size: 0.85rem;
}
.client-info .blacklist-icon[data-v-7be3f968],
.client-result-main .blacklist-icon[data-v-7be3f968] {
  color: #dc2626;
}
.no-rodo-consent[data-v-7be3f968] {
  color: #dc2626;
  font-size: 0.85rem;
}
.client-info .no-rodo-consent[data-v-7be3f968],
.client-result-main .no-rodo-consent[data-v-7be3f968] {
  color: #dc2626;
}
.btn-change-client[data-v-7be3f968] {
  background: white;
  border: 1px solid #007bff;
  color: #007bff;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
}
.btn-change-client[data-v-7be3f968]:hover {
  background: #007bff;
  color: white;
}
.client-search[data-v-7be3f968] { position: relative;
}
.search-input-wrapper[data-v-7be3f968] { position: relative;
}
.search-icon[data-v-7be3f968] {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #888;
  font-size: 1rem;
}
.search-input-wrapper input[data-v-7be3f968] {
  padding-left: 42px;
  font-size: 1rem;
  width: 100%;
}
.client-results[data-v-7be3f968] {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
  z-index: 999;
  max-height: 260px;
  overflow-y: auto;
  margin-top: 2px;
}
.client-result[data-v-7be3f968] {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.1s;
}
.client-result[data-v-7be3f968]:last-child { border-bottom: none;
}
.client-result[data-v-7be3f968]:hover { background: #f0f7ff;
}
.client-result-main strong[data-v-7be3f968] { color: #222; font-size: 1rem;
}
.client-result-meta[data-v-7be3f968] {
  font-size: 0.85rem;
  color: #666;
  margin-top: 3px;
}
.client-result-content[data-v-7be3f968] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.client-avatar[data-v-7be3f968] {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}
.client-avatar-fallback[data-v-7be3f968] {
  font-size: 2.2rem;
  color: #007bff;
  flex-shrink: 0;
}
.client-avatar-small[data-v-7be3f968] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #ddd;
  flex-shrink: 0;
}
.client-avatar-fallback-small[data-v-7be3f968] {
  font-size: 1.6rem;
  color: #aaa;
  flex-shrink: 0;
  width: 32px;
  text-align: center;
}
.client-result-text[data-v-7be3f968] {
  flex: 1;
  min-width: 0;
}
.no-results[data-v-7be3f968] {
  padding: 12px 16px;
  color: #888;
  font-size: 0.9rem;
  text-align: center;
  background: #fafafa;
  border-radius: 8px;
}
.form-hint[data-v-7be3f968] {
  display: block;
  margin-top: 6px;
  color: #666;
  font-size: 0.82rem;
}

.new-history-setup[data-v-80cd5668] {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}
.form-group[data-v-80cd5668] {
  margin-bottom: 20px;
}
.client-select-wrap[data-v-80cd5668] .search-input-wrapper input {
  margin-top: 5px;
}
input[data-v-80cd5668], select[data-v-80cd5668] {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
.no-visible-profiles[data-v-80cd5668] {
  color: #e67e22;
  font-size: 0.95em;
  margin-top: 8px;
  font-weight: 500;
}
/* src/modules/VisitHistories/components/VisitHistoryList.css */
/* Encoding: UTF-8 */
/* Kompletna wersja z poprawionym układem przycisków */
.entity-list-template[data-v-aca0d190] { padding: 20px 15px;
}
.entity-content-wrapper[data-v-aca0d190] { max-width: 1380px; margin: 0 auto; width: 100%;
}
.list-header[data-v-aca0d190] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; flex-wrap: wrap; gap: 15px;
}
.list-header h2[data-v-aca0d190] { margin: 0; font-size: 1.8rem; font-weight: 700; color: #000; flex-shrink: 0;
}
.header-actions[data-v-aca0d190] { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; width: 100%; justify-content: space-between;
}
.header-left-group[data-v-aca0d190] { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; flex: 1 1 auto !important;
}
.header-checkboxes[data-v-aca0d190] { display: flex; align-items: center; gap: 26px; flex-wrap: wrap;
}
.header-right-group[data-v-aca0d190] { display: flex; align-items: center; gap: 12px; flex-shrink: 0;
}
.input-with-search[data-v-aca0d190] { position: relative; flex: 1; min-width: 220px;
}
.input-with-search input[data-v-aca0d190] { width: 100%; padding: 6px 12px; padding-right: 46px; height: 36px; font-size: 14.5px; border: 1px solid #ddd; border-radius: 6px;
}
.input-with-search input[data-v-aca0d190]:focus { border-color: #007bff; outline: none;
}
.date-range-visithistory[data-v-aca0d190] { display: flex; align-items: center; gap: 12px; flex-wrap: nowrap; flex: 0 0 auto;
}
.date-input-wrapper[data-v-aca0d190] { position: relative;
}
.date-input-wrapper input[type="date"][data-v-aca0d190] { padding-left: 45px;
}
.date-placeholder[data-v-aca0d190] { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #999; font-size: 14.5px; pointer-events: none; z-index: 2;
}
.date-copy-button[data-v-aca0d190] {
  width: 34px;
  height: 34px;
  border: 1px solid #0d6efd;
  border-radius: 8px;
  background: #eff6ff;
  color: #0d6efd;
  font-weight: 800;
  cursor: pointer;
  line-height: 1;
}
.date-copy-button[data-v-aca0d190]:hover:not(:disabled) {
  background: #0d6efd;
  color: #fff;
}
.date-copy-button[data-v-aca0d190]:disabled {
  border-color: #ced4da;
  background: #f8f9fa;
  color: #adb5bd;
  cursor: not-allowed;
}

/* Siatka identyczna jak VoucherList.css + miejsce na dolny pasek listy */
.vouchers-grid[data-v-aca0d190] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0 240px;
  overflow: visible;
  align-items: start !important;
  grid-auto-rows: minmax(min-content, max-content);
}
.voucher-info-row[data-v-aca0d190] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-aca0d190]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-aca0d190] { color: #222; font-weight: 600;
}
.loading-state[data-v-aca0d190], .empty-state[data-v-aca0d190] { text-align: center; padding: 60px 20px; color: #666; font-size: 1.1rem;
}
.pagination[data-v-aca0d190] { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 30px; font-weight: 500;
}
.pagination button[data-v-aca0d190] { padding: 10px 24px; border-radius: 6px; background: #007bff; color: white; border: none; cursor: pointer; font-weight: 500;
}
.pagination button[data-v-aca0d190]:disabled { background: #ccc; cursor: not-allowed;
}
@media (max-width: 768px) {
.entity-list-template[data-v-aca0d190] { padding: 15px 10px;
}
.list-header h2[data-v-aca0d190] { font-size: 1.5rem;
}
.vouchers-grid[data-v-aca0d190] { padding-bottom: 220px;
}
.input-with-search[data-v-aca0d190] { min-width: 100%;
}
.date-range-visithistory[data-v-aca0d190] { width: 100%; gap: 8px;
}
}
.visit-history-insight-flash[data-v-aca0d190] {
  margin: 0 0 12px;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.92rem;
  line-height: 1.4;
}
.visit-history-insight-flash--ok[data-v-aca0d190] {
  background: #d1e7dd;
  color: #0f5132;
  border: 1px solid #badbcc;
}
.visit-history-insight-flash--err[data-v-aca0d190] {
  background: #f8d7da;
  color: #842029;
  border: 1px solid #f5c2c7;
}
.visit-history-insight-retry-wrap[data-v-aca0d190] {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #eee;
}
.visit-history-insight-retry-btn[data-v-aca0d190] {
  display: inline-block;
  padding: 6px 14px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  background: #c82333;
  border: 1px solid #bd2130;
  border-radius: 6px;
  cursor: pointer;
}
.visit-history-insight-retry-btn[data-v-aca0d190]:hover:not(:disabled) {
  background: #bd2130;
}
.visit-history-insight-retry-btn[data-v-aca0d190]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.visit-history-list-view-settings-label[data-v-aca0d190] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.visit-history-list-view-settings-hint[data-v-aca0d190] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.visit-history-admin-unit-selector label[data-v-aca0d190] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.visit-history-admin-unit-hint[data-v-aca0d190] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit[data-v-0a2222ea] {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit[data-v-0a2222ea]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close[data-v-0a2222ea] {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close[data-v-0a2222ea]:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header[data-v-0a2222ea] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-0a2222ea]:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save[data-v-0a2222ea] {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save[data-v-0a2222ea]:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel[data-v-0a2222ea],
.gabito-btn-anuluj[data-v-0a2222ea] {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel[data-v-0a2222ea]:hover:not(:disabled),
.gabito-btn-anuluj[data-v-0a2222ea]:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general[data-v-0a2222ea] {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general[data-v-0a2222ea]:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej[data-v-0a2222ea] {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej[data-v-0a2222ea]:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj[data-v-0a2222ea] {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj[data-v-0a2222ea]:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit[data-v-0a2222ea],
  .gabito-btn-save[data-v-0a2222ea],
  .gabito-btn-cancel[data-v-0a2222ea],
  .gabito-btn-anuluj[data-v-0a2222ea],
  .gabito-btn-edit-general[data-v-0a2222ea],
  .gabito-form-btn-dalej[data-v-0a2222ea],
  .gabito-form-btn-anuluj[data-v-0a2222ea] {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close[data-v-0a2222ea] {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-0a2222ea] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary[data-v-0a2222ea] {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary[data-v-0a2222ea]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary[data-v-0a2222ea]:visited {
  color: #ffffff;
}
.gabito-btn-primary[data-v-0a2222ea]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.client-view-btn[data-v-0a2222ea] {
  background: #17a2b8 !important;
  color: white !important;
  border: none !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  font-size: 17px !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}
.client-view-btn[data-v-0a2222ea]:hover {
  background: #138496 !important;
  transform: translateY(-1px) !important;
}
@media (max-width: 768px) {
.client-view-btn[data-v-0a2222ea] {
    width: 41px !important;
    height: 41px !important;
}
}
/* ============================================= */
/* UNIKATOWE STYLE TYLKO DLA TEGO PRZYCISKU AI */
/* ============================================= */
.visit-history-ai-correction-btn[data-v-6c9cd16d] {
  background: linear-gradient(135deg, #6f42c1, #00bfff);
  box-shadow: 0 3px 12px rgba(111, 66, 193, 0.45);
  position: relative;
  overflow: hidden;
  height: 24px;
  padding: 0 10px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 6px;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
}
.visit-history-ai-correction-btn[data-v-6c9cd16d]:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a32a3, #0099cc);
  box-shadow: 0 5px 18px rgba(111, 66, 193, 0.6);
  transform: translateY(-2px);
}
.visit-history-ai-correction-btn i.fas.fa-magic[data-v-6c9cd16d] {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.visit-history-ai-correction-btn:hover i.fas.fa-magic[data-v-6c9cd16d] {
  transform: rotate(45deg) scale(1.25);
}
.visit-history-ai-correction-btn[data-v-6c9cd16d]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.profile-header[data-v-6c9cd16d] {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid #007bff;
}
.profile-header h3[data-v-6c9cd16d] {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 700;
  color: #007bff;
}
.soap-completion-panel[data-v-6c9cd16d] {
  margin-bottom: 20px;
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  background: #eff6ff;
}
.soap-completion-checkbox[data-v-6c9cd16d] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #1f2937;
  font-weight: 700;
  cursor: pointer;
}
.soap-completion-checkbox input[data-v-6c9cd16d] {
  width: 18px;
  height: 18px;
}
.soap-completion-panel p[data-v-6c9cd16d] {
  margin: 8px 0 0;
  color: #4b5563;
  font-size: 0.92rem;
  line-height: 1.4;
}
.soap-completion-badge[data-v-6c9cd16d] {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #4b5563;
  font-size: 0.9rem;
  font-weight: 700;
}
.soap-completion-badge.completed[data-v-6c9cd16d] {
  background: #dcfce7;
  color: #166534;
}
.files-preview[data-v-6c9cd16d] { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px;
}
.file-image[data-v-6c9cd16d] { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; cursor: pointer; transition: transform 0.2s ease;
}
.file-image[data-v-6c9cd16d]:hover { transform: scale(1.05);
}
.file-icon-container[data-v-6c9cd16d] { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; background: #f8f9fa; border: 2px dashed #ddd; border-radius: 8px; cursor: pointer;
}
.file-preview-wrapper[data-v-6c9cd16d] { position: relative;
}
.view-content[data-v-6c9cd16d] { padding-left: 36px !important;
}
.content-label-row[data-v-6c9cd16d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.content-label-row label[data-v-6c9cd16d] {
  margin: 0;
  font-weight: 700;
  color: #111827;
}
.visit-history-date-row[data-v-6c9cd16d] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.visit-history-date-row input[type='date'][data-v-6c9cd16d] {
  flex: 1;
  min-width: 160px;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
}
.visit-history-date-today-btn[data-v-6c9cd16d] {
  flex-shrink: 0;
  padding: 10px 14px;
  border: 1px solid #007bff;
  background: #fff;
  color: #007bff;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.visit-history-date-today-btn[data-v-6c9cd16d]:hover {
  background: #007bff;
  color: #fff;
}
@media (max-width: 768px) {
.visit-history-ai-correction-btn[data-v-6c9cd16d] {
    height: 40px;
    font-size: 14px;
    padding: 0 16px;
}
}
/* src/modules/VisitHistory/components/VisitHistoryForm.css */
/* Encoding: UTF-8 */
/* POPRAWIONA WERSJA – mniejsze miniaturki plików (96px) */
.visit-history-form[data-v-62e5e093] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
}
.fixed-header[data-v-62e5e093] {
  flex-shrink: 0;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  background: #fff;
  z-index: 100;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.09);
}
.header-content-VisitHistory[data-v-62e5e093] {
  padding: 0;
}
.desktop-header[data-v-62e5e093] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
}
.title-with-id[data-v-62e5e093] {
  margin: 0;
  font-size: 1.42rem;
  font-weight: 700;
  line-height: 1.3;
}
.visit-id[data-v-62e5e093] {
  font-size: 1.12rem;
  font-weight: 600;
  color: #2563eb;
  background: #eff6ff;
  padding: 3px 9px;
  border-radius: 6px;
}
.client-name[data-v-62e5e093] {
  font-size: 1.15rem;
  font-weight: 500;
  color: #2563eb;
  margin-left: 8px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.view-header-actions[data-v-62e5e093] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.edit-icon-btn[data-v-62e5e093],
.nav-icon-btn[data-v-62e5e093] {
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.nav-icon-btn[data-v-62e5e093] {
  background: #f1f3f5;
  color: #495057;
}
.nav-icon-btn[data-v-62e5e093]:hover:not(:disabled) {
  background: #e2e6ea;
  color: #007bff;
}
.edit-icon-btn[data-v-62e5e093] {
  background: #007bff;
  color: white;
}
.edit-icon-btn[data-v-62e5e093]:hover {
  background: #0056b3;
  transform: scale(1.05);
}
.mobile-header[data-v-62e5e093] {
  display: none;
}
@media (max-width: 768px) {
.desktop-header[data-v-62e5e093] { display: none !important;
}
.mobile-header[data-v-62e5e093] { display: block;
}
.row-1[data-v-62e5e093] { display: flex; justify-content: space-between; align-items: center; padding: 4px 12px 2px; background: #fff; border-bottom: 1px solid #eee;
}
.main-title[data-v-62e5e093] { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.2;
}
.row-2[data-v-62e5e093] { display: flex; align-items: center; gap: 8px; padding: 4px 12px; background: #f8f9fa; font-size: 1.07rem; border-bottom: 1px solid #eee;
}
.visit-id[data-v-62e5e093] { font-size: 1.08rem; padding: 2px 8px;
}
.client-name[data-v-62e5e093] { font-size: 1.08rem;
}
.row-3.view-header-actions[data-v-62e5e093] { display: flex; justify-content: space-between; padding: 6px 12px; gap: 7px; background: #fff;
}
.nav-icon-btn[data-v-62e5e093], .edit-icon-btn[data-v-62e5e093] { flex: 1; height: 41px; font-size: 17px; border-radius: 8px;
}
.edit-icon-btn[data-v-62e5e093] { flex: 1.35;
}
.info-container[data-v-62e5e093] { padding: 14px 14px 80px !important;
}
}
@media (min-width: 769px) {
.mobile-header[data-v-62e5e093] { display: none !important;
}
.desktop-header[data-v-62e5e093] { display: flex !important;
}
}
.info-container[data-v-62e5e093] {
  flex: 1;
  overflow-y: auto;
  background: #ffffff;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  padding: 22px 26px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
}
.form-group[data-v-62e5e093] {
  margin-bottom: 22px;
}
.auto-resize-textarea[data-v-62e5e093] {
  width: 100%;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  line-height: 1.45;
  resize: none;
  overflow-y: hidden;
  transition: height 0.2s ease;
  box-sizing: border-box;
}
.view-field[data-v-62e5e093] {
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  min-height: 48px;
  font-size: 16px;
}

/* === NOWA KLASA – LEKKIE PRZESUNIĘCIE TREŚCI W PRAWO === */
.view-content[data-v-62e5e093] {
  padding-left: 28px !important;
}
.view-textarea[data-v-62e5e093] {
  max-height: 95px;
  overflow: hidden;
  cursor: pointer;
  white-space: pre-wrap;
  word-break: break-word;
  transition: max-height 0.25s ease;
}
.view-textarea.expanded[data-v-62e5e093] {
  max-height: none;
  cursor: text;
}
.view-value[data-v-62e5e093] {
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
}
.error-alert[data-v-62e5e093] {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  padding: 12px 16px;
  border-radius: 6px;
  margin-top: 8px;
}
.info-container.swiping-left[data-v-62e5e093]  { transform: translateX(-18px);
}
.info-container.swiping-right[data-v-62e5e093] { transform: translateX(18px);
}
.info-container[data-v-62e5e093] {
  transition: transform 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.universal-content-only .info-container[data-v-62e5e093] {
  padding: 22px 26px;
  border: none;
  box-shadow: none;
}
.delete-cross[data-v-62e5e093] {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  background: #dc3545;
  color: white;
  border-radius: 50%;
  border: none;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gabito-form-actions[data-v-62e5e093] {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  justify-content: flex-end;
}
.gabito-form-btn[data-v-62e5e093] {
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  border: none;
}
.gabito-form-btn-save[data-v-62e5e093] {
  background: #007bff;
  color: white;
}
.gabito-form-btn-save[data-v-62e5e093]:hover:not(:disabled) {
  background: #0056b3;
}
.gabito-form-btn-cancel[data-v-62e5e093] {
  background: #6c757d;
  color: white;
}
.gabito-form-btn-cancel[data-v-62e5e093]:hover {
  background: #5a6268;
}
.gabito-form-btn[data-v-62e5e093]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}/* src/modules/VisitHistory/components/VisitHistoryForm.css */
/* Encoding: UTF-8 */
/* POPRAWIONA WERSJA – mniejsze miniaturki plików (96px) */
.visit-history-form[data-v-d4c2f7af] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
}
.fixed-header[data-v-d4c2f7af] {
  flex-shrink: 0;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  background: #fff;
  z-index: 100;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.09);
}
.header-content-VisitHistory[data-v-d4c2f7af] {
  padding: 0;
}
.desktop-header[data-v-d4c2f7af] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
}
.title-with-id[data-v-d4c2f7af] {
  margin: 0;
  font-size: 1.42rem;
  font-weight: 700;
  line-height: 1.3;
}
.visit-id[data-v-d4c2f7af] {
  font-size: 1.12rem;
  font-weight: 600;
  color: #2563eb;
  background: #eff6ff;
  padding: 3px 9px;
  border-radius: 6px;
}
.client-name[data-v-d4c2f7af] {
  font-size: 1.15rem;
  font-weight: 500;
  color: #2563eb;
  margin-left: 8px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.view-header-actions[data-v-d4c2f7af] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.edit-icon-btn[data-v-d4c2f7af],
.nav-icon-btn[data-v-d4c2f7af] {
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.nav-icon-btn[data-v-d4c2f7af] {
  background: #f1f3f5;
  color: #495057;
}
.nav-icon-btn[data-v-d4c2f7af]:hover:not(:disabled) {
  background: #e2e6ea;
  color: #007bff;
}
.edit-icon-btn[data-v-d4c2f7af] {
  background: #007bff;
  color: white;
}
.edit-icon-btn[data-v-d4c2f7af]:hover {
  background: #0056b3;
  transform: scale(1.05);
}
.mobile-header[data-v-d4c2f7af] {
  display: none;
}
@media (max-width: 768px) {
.desktop-header[data-v-d4c2f7af] { display: none !important;
}
.mobile-header[data-v-d4c2f7af] { display: block;
}
.row-1[data-v-d4c2f7af] { display: flex; justify-content: space-between; align-items: center; padding: 4px 12px 2px; background: #fff; border-bottom: 1px solid #eee;
}
.main-title[data-v-d4c2f7af] { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.2;
}
.row-2[data-v-d4c2f7af] { display: flex; align-items: center; gap: 8px; padding: 4px 12px; background: #f8f9fa; font-size: 1.07rem; border-bottom: 1px solid #eee;
}
.visit-id[data-v-d4c2f7af] { font-size: 1.08rem; padding: 2px 8px;
}
.client-name[data-v-d4c2f7af] { font-size: 1.08rem;
}
.row-3.view-header-actions[data-v-d4c2f7af] { display: flex; justify-content: space-between; padding: 6px 12px; gap: 7px; background: #fff;
}
.nav-icon-btn[data-v-d4c2f7af], .edit-icon-btn[data-v-d4c2f7af] { flex: 1; height: 41px; font-size: 17px; border-radius: 8px;
}
.edit-icon-btn[data-v-d4c2f7af] { flex: 1.35;
}
.info-container[data-v-d4c2f7af] { padding: 14px 14px 80px !important;
}
}
@media (min-width: 769px) {
.mobile-header[data-v-d4c2f7af] { display: none !important;
}
.desktop-header[data-v-d4c2f7af] { display: flex !important;
}
}
.info-container[data-v-d4c2f7af] {
  flex: 1;
  overflow-y: auto;
  background: #ffffff;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  padding: 22px 26px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
}
.form-group[data-v-d4c2f7af] {
  margin-bottom: 22px;
}
.auto-resize-textarea[data-v-d4c2f7af] {
  width: 100%;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  line-height: 1.45;
  resize: none;
  overflow-y: hidden;
  transition: height 0.2s ease;
  box-sizing: border-box;
}
.view-field[data-v-d4c2f7af] {
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  min-height: 48px;
  font-size: 16px;
}
/* === NOWA KLASA – LEKKIE PRZESUNIĘCIE TREŚCI W PRAWO === */
.view-content[data-v-d4c2f7af] {
  padding-left: 28px !important;
}
.view-textarea[data-v-d4c2f7af] {
  max-height: 95px;
  overflow: hidden;
  cursor: pointer;
  white-space: pre-wrap;
  word-break: break-word;
  transition: max-height 0.25s ease;
}
.view-textarea.expanded[data-v-d4c2f7af] {
  max-height: none;
  cursor: text;
}
.view-value[data-v-d4c2f7af] {
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
}
.error-alert[data-v-d4c2f7af] {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  padding: 12px 16px;
  border-radius: 6px;
  margin-top: 8px;
}
.info-container.swiping-left[data-v-d4c2f7af]  { transform: translateX(-18px);
}
.info-container.swiping-right[data-v-d4c2f7af] { transform: translateX(18px);
}
.info-container[data-v-d4c2f7af] {
  transition: transform 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.universal-content-only .info-container[data-v-d4c2f7af] {
  padding: 22px 26px;
  border: none;
  box-shadow: none;
}
.delete-cross[data-v-d4c2f7af] {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  background: #dc3545;
  color: white;
  border-radius: 50%;
  border: none;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gabito-form-actions[data-v-d4c2f7af] {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  justify-content: flex-end;
}
.gabito-form-btn[data-v-d4c2f7af] {
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  border: none;
}
.gabito-form-btn-save[data-v-d4c2f7af] {
  background: #007bff;
  color: white;
}
.gabito-form-btn-save[data-v-d4c2f7af]:hover:not(:disabled) {
  background: #0056b3;
}
.gabito-form-btn-cancel[data-v-d4c2f7af] {
  background: #6c757d;
  color: white;
}
.gabito-form-btn-cancel[data-v-d4c2f7af]:hover {
  background: #5a6268;
}
.gabito-form-btn[data-v-d4c2f7af]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.edit-header-actions[data-v-d4c2f7af] {
  display: flex;
  align-items: center;
  gap: 6px;
}

.descriptions-stack[data-v-22a4bbd7] {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-bottom: 60px;
}
.loading-state[data-v-22a4bbd7],
.empty-state[data-v-22a4bbd7] {
  text-align: center;
  padding: 80px 20px;
  color: #666;
  font-size: 1.2rem;
}

.vh-raport-list[data-v-c38cbbc9] {
  padding: 1rem 1.25rem 2rem;
}
.vh-admin-unit-field[data-v-c38cbbc9] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.vh-admin-unit-field label[data-v-c38cbbc9] {
  font-weight: 600;
  color: #333;
}
.vh-admin-select[data-v-c38cbbc9] {
  width: 100%;
  max-width: 100%;
  padding: 0.5rem 0.65rem;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 1rem;
}
.vh-admin-hint[data-v-c38cbbc9] {
  margin: 0.25rem 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.tabs[data-v-c38cbbc9] {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.tabs button[data-v-c38cbbc9] {
  padding: 0.4rem 0.85rem;
  border: 1px solid #ccc;
  background: #fff;
  color: #212529;
  border-radius: 6px;
  cursor: pointer;
}
.tabs button.active[data-v-c38cbbc9] {
  background: #0d6efd;
  color: #fff;
  border-color: #0d6efd;
}
.vh-client-search-wrap[data-v-c38cbbc9] {
  position: relative;
  margin-bottom: 1rem;
  max-width: 520px;
}
.vh-recent-clients[data-v-c38cbbc9] {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 0.25rem);
  z-index: 40;
  margin-top: 4px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.vh-recent-clients-title[data-v-c38cbbc9] {
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #64748b;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.vh-recent-clients-list[data-v-c38cbbc9] {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 280px;
  overflow-y: auto;
}
.vh-recent-clients-item[data-v-c38cbbc9] {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: none;
  border-bottom: 1px solid #f1f5f9;
  background: #fff;
  cursor: pointer;
  text-align: left;
  font-size: 0.95rem;
  color: #0f172a;
}
.vh-recent-clients-item[data-v-c38cbbc9]:hover {
  background: #f1f5f9;
}
.vh-recent-clients-item[data-v-c38cbbc9]:last-child {
  border-bottom: none;
}
.vh-recent-clients-name[data-v-c38cbbc9] {
  font-weight: 600;
}
.vh-recent-clients-date[data-v-c38cbbc9] {
  font-size: 0.8rem;
  color: #64748b;
  white-space: nowrap;
}
.vh-recent-clients-empty[data-v-c38cbbc9] {
  margin: 0;
  padding: 0.75rem;
  font-size: 0.9rem;
  color: #64748b;
}
.vh-client-search-hint[data-v-c38cbbc9] {
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
  color: #6c757d;
  max-width: 520px;
}
.report-cards[data-v-c38cbbc9] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.report-card[data-v-c38cbbc9] {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 0.9rem 1rem;
  margin-bottom: 0.75rem;
  background: #fff;
}
.report-card-title[data-v-c38cbbc9] {
  font-weight: 700;
  color: #0d6efd;
  text-decoration: none;
}
.report-card-title[data-v-c38cbbc9]:hover {
  text-decoration: underline;
}
.report-card-meta[data-v-c38cbbc9] {
  font-size: 0.85rem;
  color: #666;
  margin-top: 0.25rem;
}
.report-card-client-link[data-v-c38cbbc9] {
  color: #0d6efd;
  font-weight: 600;
  text-decoration: none;
}
.report-card-client-link[data-v-c38cbbc9]:hover {
  text-decoration: underline;
}
.report-card-flags[data-v-c38cbbc9] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-top: 0.55rem;
  padding-top: 0.55rem;
  border-top: 1px solid #f1f3f5;
}
.report-card-flag[data-v-c38cbbc9] {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.86rem;
  color: #334155;
  cursor: pointer;
}
.report-card-flag input[data-v-c38cbbc9] {
  width: 16px;
  height: 16px;
}
.report-snippet[data-v-c38cbbc9] {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: #333;
}
.vh-error[data-v-c38cbbc9] {
  color: #b02a37;
}
.vh-empty[data-v-c38cbbc9] {
  color: #666;
  margin: 1rem 0;
}
.pagination[data-v-c38cbbc9] {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
}
.pagination button[data-v-c38cbbc9] {
  padding: 0.35rem 0.75rem;
  color: #212529;
  background: #f8f9fa;
  border: 1px solid #ced4da;
  border-radius: 6px;
  cursor: pointer;
}
.pagination button[data-v-c38cbbc9]:hover:not(:disabled) {
  background: #e9ecef;
}
.pagination button[data-v-c38cbbc9]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.vh-raport-ai-generate[data-v-eeae2ca2] {
  padding: 1rem 1.25rem 2rem;
  max-width: 720px;
}
.vh-raport-ai-header[data-v-eeae2ca2] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.vh-raport-back-btn[data-v-eeae2ca2] {
  text-decoration: none;
  color: #fff !important;
  margin-right: 0;
  white-space: nowrap;
}
.vh-raport-ai-link[data-v-eeae2ca2] {
  color: #0d6efd;
  text-decoration: none;
  white-space: nowrap;
}
.vh-raport-ai-link[data-v-eeae2ca2]:hover {
  text-decoration: underline;
}
.form-group[data-v-eeae2ca2] {
  margin-bottom: 1rem;
}
.form-group label[data-v-eeae2ca2] {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 600;
}
.date-range[data-v-eeae2ca2] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.vh-input[data-v-eeae2ca2] {
  min-width: 200px;
  padding: 0.4rem 0.5rem;
}
.vh-checkbox-row label[data-v-eeae2ca2] {
  font-weight: normal;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.vh-pre[data-v-eeae2ca2] {
  white-space: pre-wrap;
  background: #f4f6f8;
  padding: 1rem;
  border-radius: 6px;
  max-height: 420px;
  overflow: auto;
  font-size: 0.9rem;
}
.vh-hint[data-v-eeae2ca2] {
  font-size: 0.9rem;
  color: #555;
  margin: 0.5rem 0 1rem;
}

.vh-raport-detail-inner[data-v-39b5761e] {
  padding: 0.25rem 0 2rem;
  max-width: 900px;
}
.vh-client-ref[data-v-39b5761e] {
  margin: 0 0 1rem;
  font-size: 0.95rem;
}
.vh-report-flags[data-v-39b5761e] {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.vh-report-flags label[data-v-39b5761e] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: #334155;
  cursor: pointer;
}
.vh-report-flags input[data-v-39b5761e] {
  width: 17px;
  height: 17px;
}
.vh-report-overview[data-v-39b5761e] {
  margin: 1.25rem 0 0.75rem;
  padding: 0.85rem 1rem;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #334155;
}
.meta-box[data-v-39b5761e] {
  margin: 1rem 0;
}
.vh-pre[data-v-39b5761e] {
  white-space: pre-wrap;
  background: #f4f6f8;
  padding: 1rem;
  border-radius: 6px;
  max-height: 60vh;
  overflow: auto;
}
.vh-pre-small[data-v-39b5761e] {
  white-space: pre-wrap;
  background: #fff;
  padding: 0.5rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 0.85rem;
}
.vh-error[data-v-39b5761e] {
  color: #b02a37;
}
.vh-sources[data-v-39b5761e] {
  margin: 1.25rem 0;
  padding: 1rem;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.vh-sources h4[data-v-39b5761e] {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}
.vh-sources-lead[data-v-39b5761e] {
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.4;
}
.vh-sources-empty[data-v-39b5761e] {
  margin: 0;
  font-size: 0.9rem;
  color: #64748b;
  line-height: 1.45;
}
.vh-sources-list[data-v-39b5761e] {
  margin: 0;
  padding-left: 1.25rem;
}
.vh-sources-list li[data-v-39b5761e] {
  margin-bottom: 0.35rem;
}
.vh-source-link[data-v-39b5761e] {
  color: #0d6efd;
  text-decoration: none;
}
.vh-source-link[data-v-39b5761e]:hover {
  text-decoration: underline;
}
h4[data-v-39b5761e] {
  margin: 1.25rem 0 0.5rem;
  font-size: 1.05rem;
}

.vh-insight-view[data-v-b7b6b85d] {
  padding: 1rem 1.25rem 2rem;
  max-width: 800px;
}
.vh-insight-view--wide[data-v-b7b6b85d] {
  max-width: 1200px;
}
.vh-link[data-v-b7b6b85d] {
  color: #0d6efd;
  text-decoration: none;
}
.vh-link[data-v-b7b6b85d]:hover {
  text-decoration: underline;
}
.vh-insight-view-settings-label[data-v-b7b6b85d] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.vh-insight-view-settings-hint[data-v-b7b6b85d] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.vh-insight-admin-unit-field label[data-v-b7b6b85d] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.vh-insight-admin-unit-hint[data-v-b7b6b85d] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.vh-loading[data-v-b7b6b85d] {
  margin: 1rem 0;
  color: #555;
}
.vh-loading i[data-v-b7b6b85d] {
  margin-right: 0.5rem;
}
.vh-td-meta[data-v-b7b6b85d] {
  font-size: 0.88rem;
  white-space: nowrap;
}
.vh-link-back[data-v-b7b6b85d] {
  display: inline-block;
  margin-bottom: 0.75rem;
}
.vh-hint[data-v-b7b6b85d] {
  font-size: 0.9rem;
  color: #555;
  margin-bottom: 1rem;
}
.vh-hint code[data-v-b7b6b85d] {
  font-size: 0.85em;
}
.vh-insight-toolbar[data-v-b7b6b85d] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin-bottom: 0.5rem;
}
.vh-source-toolbar-link[data-v-b7b6b85d] {
  font-weight: 600;
}
.vh-source-toolbar-link i[data-v-b7b6b85d] {
  margin-right: 0.35rem;
}
.vh-insight-form label[data-v-b7b6b85d] {
  display: block;
  font-weight: 600;
  margin-bottom: 0.35rem;
}
.vh-insight-row[data-v-b7b6b85d] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 1rem;
}
.vh-input[data-v-b7b6b85d] {
  min-width: 140px;
  padding: 0.45rem 0.55rem;
}
.vh-error[data-v-b7b6b85d] {
  color: #b02a37;
  margin: 0.5rem 0;
}
.vh-info-banner[data-v-b7b6b85d] {
  margin: 0.5rem 0;
  padding: 0.5rem 0.65rem;
  border-radius: 6px;
  background: #d1e7dd;
  color: #0f5132;
  border: 1px solid #badbcc;
  font-size: 0.92rem;
}
.vh-btn-rescan-suggestions[data-v-b7b6b85d] {
  padding: 0.35rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  background: #6c757d;
  border: 1px solid #5c636a;
  border-radius: 6px;
  cursor: pointer;
}
.vh-btn-rescan-suggestions[data-v-b7b6b85d]:hover:not(:disabled) {
  background: #5c636a;
}
.vh-btn-rescan-suggestions[data-v-b7b6b85d]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.vh-error-inline[data-v-b7b6b85d] {
  color: #b02a37;
}
.vh-empty[data-v-b7b6b85d] {
  color: #666;
  margin: 1rem 0;
}
.vh-tile-grid[data-v-b7b6b85d] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}
.vh-tile[data-v-b7b6b85d] {
  display: flex;
  flex-direction: column;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  overflow: hidden;
}
.vh-tile[data-v-b7b6b85d]:hover {
  border-color: #0d6efd;
  box-shadow: 0 4px 12px rgba(13, 110, 253, 0.12);
}
.vh-tile-body[data-v-b7b6b85d] {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 1rem;
  text-decoration: none;
  color: inherit;
}
.vh-tile-body:hover .vh-tile-id[data-v-b7b6b85d] {
  color: #0d6efd;
}
.vh-tile-source[data-v-b7b6b85d] {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0d6efd;
  text-decoration: none;
  background: #f8fafc;
  border-top: 1px solid #e9ecef;
}
.vh-tile-source[data-v-b7b6b85d]:hover {
  background: #e7f1ff;
  text-decoration: underline;
}
.vh-tile-source i[data-v-b7b6b85d] {
  font-size: 0.9rem;
  opacity: 0.85;
}
.vh-tile-top[data-v-b7b6b85d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.vh-tile-id[data-v-b7b6b85d] {
  font-weight: 700;
  color: #212529;
}
.vh-tile-summary[data-v-b7b6b85d] {
  font-size: 0.9rem;
  color: #444;
  margin: 0 0 0.65rem;
  line-height: 1.35;
  flex: 1;
}
.vh-tile-meta[data-v-b7b6b85d] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  font-size: 0.8rem;
  color: #666;
  margin-bottom: 0.5rem;
}
.vh-tile-tags[data-v-b7b6b85d] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
}
.vh-tag[data-v-b7b6b85d] {
  font-size: 0.72rem;
  padding: 0.15rem 0.45rem;
  background: #f1f3f5;
  border-radius: 4px;
  color: #495057;
}
.vh-tile-footer[data-v-b7b6b85d] {
  font-size: 0.75rem;
  color: #868e96;
  margin-top: auto;
  padding-top: 0.35rem;
  border-top: 1px solid #f1f3f5;
}
.vh-pagination[data-v-b7b6b85d] {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
}
.vh-pagination button[data-v-b7b6b85d] {
  padding: 0.35rem 0.75rem;
  color: #212529;
  background: #f8f9fa;
  border: 1px solid #ced4da;
  border-radius: 6px;
  cursor: pointer;
}
.vh-pagination button[data-v-b7b6b85d]:hover:not(:disabled) {
  background: #e9ecef;
}
.vh-pagination button[data-v-b7b6b85d]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.vh-insight-card[data-v-b7b6b85d] {
  margin-top: 1rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 1rem 1.1rem;
  background: #fff;
}
.vh-dl[data-v-b7b6b85d] {
  display: grid;
  grid-template-columns: minmax(140px, 200px) 1fr;
  gap: 0.5rem 1rem;
  margin: 0 0 1rem;
  font-size: 0.95rem;
}
.vh-dl dt[data-v-b7b6b85d] {
  font-weight: 600;
  color: #444;
}
.vh-dl dd[data-v-b7b6b85d] {
  margin: 0;
}
.vh-badge[data-v-b7b6b85d] {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  background: #e9ecef;
  font-size: 0.85rem;
}
.vh-badge--ok[data-v-b7b6b85d] {
  background: #d1e7dd;
  color: #0f5132;
}
.vh-badge--pending[data-v-b7b6b85d] {
  background: #fff3cd;
  color: #664d03;
}
.vh-badge--err[data-v-b7b6b85d] {
  background: #f8d7da;
  color: #842029;
}
.vh-ul[data-v-b7b6b85d] {
  margin: 0;
  padding-left: 1.25rem;
}
.vh-sub[data-v-b7b6b85d] {
  font-size: 1rem;
  margin: 1rem 0 0.5rem;
}
.vh-pre[data-v-b7b6b85d] {
  white-space: pre-wrap;
  background: #f4f6f8;
  padding: 0.75rem;
  border-radius: 6px;
  font-size: 0.85rem;
  max-height: 280px;
  overflow: auto;
}
.vh-pre-json[data-v-b7b6b85d] {
  max-height: 360px;
}
.vh-resolve-table[data-v-b7b6b85d] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
.vh-resolve-table th[data-v-b7b6b85d],
.vh-resolve-table td[data-v-b7b6b85d] {
  border: 1px solid #e8e8e8;
  padding: 0.35rem 0.5rem;
  text-align: left;
  vertical-align: top;
}
.vh-resolve-table th[data-v-b7b6b85d] {
  background: #f4f6f8;
  font-weight: 600;
}
.vh-match[data-v-b7b6b85d] {
  text-transform: lowercase;
  font-size: 0.8rem;
  color: #495057;
}
.vh-muted[data-v-b7b6b85d] {
  color: #868e96;
  font-size: 0.9rem;
}

.vh-dict-view[data-v-4e9018f3] {
  padding: 1rem 1.25rem 2rem;
  max-width: 1280px;
}
.vh-dict-view-settings-label[data-v-4e9018f3] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.vh-dict-view-settings-hint[data-v-4e9018f3] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.vh-dict-admin-unit-field label[data-v-4e9018f3] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.vh-dict-admin-unit-hint[data-v-4e9018f3] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.unit-page-context-hint-btn[data-v-4e9018f3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #e7f3ff;
  color: #0d6efd;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 15px;
  transition: background 0.2s ease;
}
.unit-page-context-hint-btn[data-v-4e9018f3]:hover:not(:disabled) {
  background: #cfe2ff;
}
.unit-page-context-hint-btn[data-v-4e9018f3]:disabled {
  opacity: 0.55;
  cursor: default;
}
.unit-page-context-preview-inner[data-v-4e9018f3] {
  max-width: 780px;
  margin: 0 auto;
}
.unit-page-context-preview-loading[data-v-4e9018f3] {
  text-align: center;
  color: #555;
  padding: 24px;
  font-size: 1rem;
}
.unit-page-context-preview-title[data-v-4e9018f3] {
  margin: 0 0 16px;
  color: #1f2937;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
}
.unit-page-context-preview-description[data-v-4e9018f3] {
  white-space: pre-wrap;
  line-height: 1.65;
  font-size: 1rem;
  color: #212529;
}
.vh-loading[data-v-4e9018f3] {
  margin: 1rem 0;
  color: #555;
}
.vh-loading i[data-v-4e9018f3] {
  margin-right: 0.5rem;
}
.vh-dict-cards-grid[data-v-4e9018f3],
.vh-queue-cards-grid[data-v-4e9018f3] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
  gap: 1rem;
  margin-top: 0.25rem;
}
.vh-dict-card-row[data-v-4e9018f3] {
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  line-height: 1.4;
}
.vh-dict-card-row strong[data-v-4e9018f3] {
  display: block;
  margin-bottom: 0.2rem;
  color: #444;
}
.vh-dict-card-section[data-v-4e9018f3] {
  margin: 0.65rem 0;
}
.vh-dict-card-section > strong[data-v-4e9018f3] {
  display: block;
  margin-bottom: 0.35rem;
}
.vh-add-alias--card[data-v-4e9018f3] {
  width: 100%;
  margin-top: 0.5rem;
}
.vh-select--block[data-v-4e9018f3],
.vh-input--block[data-v-4e9018f3] {
  width: 100%;
  max-width: 100%;
  margin-top: 0.25rem;
}
.vh-queue-actions--card[data-v-4e9018f3] {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.vh-hint[data-v-4e9018f3] {
  font-size: 0.9rem;
  color: #555;
  margin: 0 0 1rem;
  line-height: 1.45;
}
.vh-tabs[data-v-4e9018f3] {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.vh-tabs button[data-v-4e9018f3] {
  padding: 0.4rem 0.9rem;
  border: 1px solid #ccc;
  background: #fff;
  color: #212529;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.95rem;
}
.vh-tabs button.active[data-v-4e9018f3] {
  background: #0d6efd;
  color: #fff;
  border-color: #0d6efd;
}
.vh-subh[data-v-4e9018f3] {
  font-size: 1rem;
  margin: 0 0 0.5rem;
  font-weight: 600;
}
.vh-new-canon[data-v-4e9018f3] {
  margin-bottom: 1.25rem;
  padding: 0.75rem 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.vh-new-canon-row[data-v-4e9018f3] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.vh-input[data-v-4e9018f3] {
  padding: 0.45rem 0.6rem;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
  min-width: 12rem;
}
.vh-input--narrow[data-v-4e9018f3] {
  width: 8rem;
  min-width: 0;
}
.vh-input--sm[data-v-4e9018f3] {
  min-width: 0;
  flex: 1;
  font-size: 0.85rem;
}
.vh-select[data-v-4e9018f3] {
  padding: 0.4rem 0.5rem;
  border-radius: 6px;
  border: 1px solid #ced4da;
  font-size: 0.9rem;
}
.vh-select--wide[data-v-4e9018f3] {
  min-width: 12rem;
  max-width: 16rem;
}
.vh-dict-toolbar[data-v-4e9018f3] {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.vh-dict-check[data-v-4e9018f3] {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.95rem;
  cursor: pointer;
  user-select: none;
}
.vh-inline-check[data-v-4e9018f3] {
  cursor: pointer;
}
.vh-dict-refresh[data-v-4e9018f3] {
  padding: 0.4rem 0.85rem;
  border-radius: 6px;
}

/* Jawny kontrast — w tym widoku globalne .gabito-btn-primary mogą tracić tło (biały tekst na białym). */
.vh-dict-view button.gabito-btn-primary[data-v-4e9018f3] {
  background-color: #0d6efd;
  color: #fff;
  border: none;
}
.vh-dict-view button.gabito-btn-primary[data-v-4e9018f3]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #fff;
}
.vh-dict-view button.gabito-btn-primary[data-v-4e9018f3]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.vh-error[data-v-4e9018f3] {
  color: #b02a37;
  margin: 0.5rem 0 1rem;
}
.vh-empty[data-v-4e9018f3] {
  color: #666;
  margin: 1rem 0;
}
.vh-dict-table-wrap[data-v-4e9018f3] {
  overflow-x: auto;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fff;
}
.vh-dict-table[data-v-4e9018f3] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.vh-queue-table[data-v-4e9018f3] {
  font-size: 0.85rem;
}
.vh-dict-table th[data-v-4e9018f3],
.vh-dict-table td[data-v-4e9018f3] {
  padding: 0.65rem 0.75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #eee;
}
.vh-dict-table th[data-v-4e9018f3] {
  background: #f4f6f8;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}
.vh-dict-table tr:last-child td[data-v-4e9018f3] {
  border-bottom: none;
}
.vh-num[data-v-4e9018f3] {
  white-space: nowrap;
  color: #666;
  width: 4rem;
}
.vh-label[data-v-4e9018f3] {
  font-weight: 600;
  color: #212529;
  min-width: 8rem;
}
.vh-codes[data-v-4e9018f3] {
  font-size: 0.82rem;
  min-width: 7rem;
}
.vh-code[data-v-4e9018f3] {
  display: block;
  color: #495057;
}
.vh-muted[data-v-4e9018f3] {
  color: #868e96;
}
.vh-alias-list[data-v-4e9018f3] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.vh-alias-item[data-v-4e9018f3] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
}
.vh-alias-text[data-v-4e9018f3] {
  color: #212529;
}
.vh-alias-norm[data-v-4e9018f3] {
  font-size: 0.75rem;
  background: #f1f3f5;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  color: #495057;
}
.vh-add-alias[data-v-4e9018f3] {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 10rem;
}
.vh-btn-sm[data-v-4e9018f3] {
  padding: 0.25rem 0.55rem;
  font-size: 0.8rem;
}
.vh-btn-mini[data-v-4e9018f3] {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  color: #6c757d;
  padding: 0 0.25rem;
}
.vh-btn-mini--danger[data-v-4e9018f3]:hover {
  color: #b02a37;
}
.vh-btn-secondary[data-v-4e9018f3] {
  padding: 0.25rem 0.55rem;
  font-size: 0.8rem;
  border: 1px solid #ced4da;
  background: #fff;
  color: #212529;
  border-radius: 6px;
  cursor: pointer;
}
.vh-queue-actions[data-v-4e9018f3] {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-start;
}
.vh-pagination[data-v-4e9018f3] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}
.vh-pagination button[data-v-4e9018f3] {
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  border: 1px solid #ccc;
  background: #fff;
  color: #212529;
  cursor: pointer;
}
.vh-pagination button[data-v-4e9018f3]:hover:not(:disabled) {
  background: #f1f3f5;
}
.badge[data-v-0054e855] {
  background: #007bff;
  color: white;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 600;
  float: right;
  margin-bottom: 8px;
}
.badge-clickable[data-v-0054e855] {
  cursor: pointer;
  transition: all 0.2s ease;
}
.badge-clickable[data-v-0054e855]:hover {
  background: #0056b3;
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(0, 86, 179, 0.3);
}
.shared-card-title[data-v-0054e855] {
  margin: 0 0 8px 0;
  font-size: 1.1rem;
}
mark[data-v-0054e855] {
  background-color: #ffee00 !important;
  color: #000 !important;
  font-weight: 600;
  padding: 2px 4px;
  border-radius: 3px;
}
.shared-card[data-v-0054e855] {
  user-select: text;
}
/* NOWE STYLE FILTRÓW */
.filters-row[data-v-0054e855] {
  display: flex;
  gap: 2rem;
  margin-top: 1rem;
  flex-wrap: wrap;
  align-items: end;
}
.date-filters[data-v-0054e855] {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.type-filters[data-v-0054e855] {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.checkbox-group[data-v-0054e855] {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.badge-deleted[data-v-0054e855] { background: #dc3545 !important;
}
.badge-cancelled[data-v-0054e855] { background: #fd7e14 !important;
}
.badge-read[data-v-0054e855] { background: #6c757d !important;
}
.status-text[data-v-0054e855] {
  font-size: 10px;
  margin-left: 4px;
  opacity: 0.9;
  font-weight: 600;
}

/* Istniejące style bez zmian */
.login-form[data-v-3552b983] { max-width: 400px; margin: 0 auto; padding: 20px;
}
.form-group[data-v-3552b983] { margin-bottom: 15px;
}
label[data-v-3552b983] { display: block; margin-bottom: 5px;
}
input[data-v-3552b983], select[data-v-3552b983] { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px;
}
button[data-v-3552b983] { width: 100%; padding: 10px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;
}
button[data-v-3552b983]:disabled { background-color: #6c757d; cursor: not-allowed;
}
.demo-login-button[data-v-3552b983] { margin-top: 10px; background-color: #0f766e;
}
.demo-login-button[data-v-3552b983]:hover:not(:disabled) { background-color: #115e59;
}
.demo-language-wrapper[data-v-3552b983] {
  padding: 12px;
  border: 1px solid #99f6e4;
  border-radius: 8px;
  background: #f0fdfa;
}
.demo-language-title[data-v-3552b983] {
  margin: 0 0 10px;
  font-weight: 600;
  color: #0f766e;
}
.demo-language-wrapper small[data-v-3552b983] {
  display: block;
  margin-top: 6px;
  color: #475569;
}
.demo-login-confirm[data-v-3552b983] {
  margin-top: 12px;
}
.demo-cancel-button[data-v-3552b983] {
  margin-top: 8px;
  background-color: #64748b;
}
.demo-cancel-button[data-v-3552b983]:hover:not(:disabled) {
  background-color: #475569;
}
.role-selection-box[data-v-3552b983] { padding: 12px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff;
}
.role-selection-box small[data-v-3552b983] { display: block; margin-top: 6px; color: #475569;
}
.two-factor-box[data-v-3552b983] { margin-top: 14px; padding: 12px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff;
}
.remember-device-label[data-v-3552b983] { display: flex; align-items: center; gap: 8px; margin: 8px 0;
}
.remember-device-label input[data-v-3552b983] { width: auto;
}
.error[data-v-3552b983] { color: red; margin-top: 10px;
}
.login-progress[data-v-3552b983] { margin-top: 12px;
}
.login-progress-bar[data-v-3552b983] { width: 100%; height: 8px; background: #e9ecef; border-radius: 999px; overflow: hidden;
}
.login-progress-fill[data-v-3552b983] { height: 100%; background: linear-gradient(90deg, #007bff, #28a745); transition: width 0.25s ease;
}
.login-progress-text[data-v-3552b983] { margin: 6px 0 0; color: #495057; font-size: 13px; text-align: center;
}
.forgot-password[data-v-3552b983] { margin-top: 10px; text-align: center;
}
.forgot-password-link[data-v-3552b983] { color: #007bff; text-decoration: none;
}
.forgot-password-link[data-v-3552b983]:hover { text-decoration: underline;
}
.biometric-section[data-v-3552b983] { margin-top: 15px; text-align: center;
}
.biometric-button[data-v-3552b983] { width: 100%; padding: 10px; background-color: #28a745; color: white; border: none; border-radius: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.biometric-button i[data-v-3552b983] { margin-right: 8px; font-size: 18px;
}
.biometric-button[data-v-3552b983]:disabled { background-color: #6c757d;
}
.biometric-unsupported[data-v-3552b983] { color: #ffc107; margin-top: 10px; text-align: center; font-style: italic;
}
/* DODANO: Style dla przycisku testowego */

.login-view[data-v-946389b1] {
  display: flex;
  justify-content: center;
  align-items: flex-start; /* Zmieniono z center na flex-start, aby podnieść elementy do góry */
  height: 100vh;
  background-color: #f8f9fa;
}

.reset-password-request-form[data-v-c9dd155c] {
  max-width: 400px;
  margin: 0 auto;
  padding: 20px;
}
.form-group[data-v-c9dd155c] {
  margin-bottom: 15px;
}
.method-toggle[data-v-c9dd155c] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 16px;
}
.method-button[data-v-c9dd155c] {
  background: #e9ecef;
  color: #1f2937;
}
.method-button.active[data-v-c9dd155c] {
  background: #007bff;
  color: white;
}
.method-hint[data-v-c9dd155c] {
  margin: 0 0 14px;
  color: #475569;
  font-size: 0.92rem;
  line-height: 1.4;
}
label[data-v-c9dd155c] {
  display: block;
  margin-bottom: 5px;
}
input[data-v-c9dd155c] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
button[data-v-c9dd155c] {
  width: 100%;
  padding: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
button[data-v-c9dd155c]:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}
.error[data-v-c9dd155c] {
  color: red;
  margin-top: 10px;
}
.success[data-v-c9dd155c] {
  color: green;
  margin-top: 10px;
}
.dev-reset-link-box[data-v-c9dd155c] {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #93c5fd;
  border-radius: 6px;
  background: #eff6ff;
  color: #1e3a8a;
  word-break: break-word;
}
.dev-reset-link-box a[data-v-c9dd155c] {
  color: #1d4ed8;
  font-weight: 700;
}
.dev-mail-error[data-v-c9dd155c] {
  margin: 8px 0 0;
  color: #92400e;
  font-size: 0.9rem;
}
.back-to-login[data-v-c9dd155c] {
  margin-top: 10px;
  text-align: center;
}
.back-to-login a[data-v-c9dd155c] {
  color: #007bff;
  text-decoration: none;
}
.back-to-login a[data-v-c9dd155c]:hover {
  text-decoration: underline;
}

.reset-password-request-view[data-v-8070928f] {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #f8f9fa;
}

.reset-password-form[data-v-5f076fe9] {
  max-width: 400px;
  margin: 0 auto;
  padding: 20px;
}
.form-group[data-v-5f076fe9] {
  margin-bottom: 15px;
}
label[data-v-5f076fe9] {
  display: block;
  margin-bottom: 5px;
}
input[data-v-5f076fe9] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
button[data-v-5f076fe9] {
  width: 100%;
  padding: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
button[data-v-5f076fe9]:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}
.error[data-v-5f076fe9] {
  color: red;
  margin-top: 10px;
}
.success[data-v-5f076fe9] {
  color: green;
  margin-top: 10px;
}
.back-to-login[data-v-5f076fe9] {
  margin-top: 10px;
  text-align: center;
}
.back-to-login a[data-v-5f076fe9] {
  color: #007bff;
  text-decoration: none;
}
.back-to-login a[data-v-5f076fe9]:hover {
  text-decoration: underline;
}

.reset-password-view[data-v-c104c488] {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #f8f9fa;
}

.reset-password-sms-view[data-v-b89e2905] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
  padding: 20px;
}
.reset-password-sms-card[data-v-b89e2905] {
  max-width: 420px;
  width: 100%;
  padding: 20px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}
.hint[data-v-b89e2905] {
  color: #64748b;
  font-size: 0.95rem;
  margin-bottom: 16px;
}
.form-group[data-v-b89e2905] {
  margin-bottom: 15px;
}
label[data-v-b89e2905] {
  display: block;
  margin-bottom: 5px;
}
input[data-v-b89e2905] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
button[data-v-b89e2905] {
  width: 100%;
  padding: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
button[data-v-b89e2905]:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}
.password-form[data-v-b89e2905] {
  margin-top: 16px;
}
.error[data-v-b89e2905] {
  color: red;
  margin-top: 10px;
}
.success[data-v-b89e2905] {
  color: green;
  margin-top: 10px;
}
.back-to-login[data-v-b89e2905] {
  margin-top: 10px;
  text-align: center;
}
.back-to-login a[data-v-b89e2905] {
  color: #007bff;
  text-decoration: none;
}
.back-to-login a[data-v-b89e2905]:hover {
  text-decoration: underline;
}

.dashboard-notes-notification-container[data-v-d22e7963] {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 15px;        /* <-- zmniejszone z 20px */
  padding: 12px;              /* <-- zmniejszone z 15px */
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  flex-wrap: wrap;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 16px;
  color: #000000;
}
.dashboard-notes-add-note-btn[data-v-d22e7963] {
  width: 28px;                /* <-- zmniejszone z 30px */
  height: 28px;               /* <-- zmniejszone z 30px */
  padding: 0;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;            /* <-- zmniejszone z 20px */
  flex-shrink: 0;
}
.dashboard-notes-add-note-btn[data-v-d22e7963]:hover {
  background: #0056b3;
}
.dashboard-notes-actions-stack[data-v-d22e7963] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.dashboard-notes-open-list-btn[data-v-d22e7963] {
  background: #495057;
}
.dashboard-notes-open-list-btn[data-v-d22e7963]:hover {
  background: #343a40;
}
.dashboard-notes-tiles[data-v-d22e7963] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex: 1;
}
.note-tile[data-v-d22e7963] {
  width: auto;
  min-width: 100px;
  height: 26px;               /* <-- ZMNIEJSZONA z 30px */
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  font-size: 11px;            /* <-- nieco mniejszy tekst */
  cursor: pointer;
  padding: 4px;               /* <-- zmniejszone z 5px */
  overflow: hidden;
  gap: 5px;
}
.note-tile-text[data-v-d22e7963] {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  flex-grow: 1;
  max-width: 150px;
  color: inherit;
}
.note-tile-icon[data-v-d22e7963] {
  font-size: 13px;
  color: #007bff;
  margin-left: 5px;
  flex-shrink: 0;
}
.note-tile[data-v-d22e7963]:hover {
  opacity: 0.85;
}

/* Kwadrat widoczności – dopasowany do nowej wysokości */
.visibility-square[data-v-d22e7963] {
  width: 26px;                /* <-- zmniejszone z 30px */
  height: 26px;               /* <-- zmniejszone z 30px */
  min-width: 26px;
  border-radius: 4px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;            /* <-- nieco mniejsza ikona */
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
/* src/assets/css/notes-info-colors.css */
/* Encoding: utf-8 */
/* Light i strong używają dokładnie tego samego koloru (pośredni odcień pomiędzy starymi wartościami) */
/* Ujednolicona paleta – spójna dla wszystkich komponentów */
.notes-info-light-quadrant-1,
.notes-info-strong-quadrant-1 {
    background: #ef4444;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-2,
.notes-info-strong-quadrant-2 {
    background: #22c55e;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-quadrant-3,
.notes-info-strong-quadrant-3 {
    background: #eab308;
    color: #1f2937;
    box-shadow: none;
}
.notes-info-light-quadrant-4,
.notes-info-strong-quadrant-4 {
    background: #3b82f6;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-private,
.notes-info-strong-visibility-private {
    background: #aabddb;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-public,
.notes-info-strong-visibility-public {
    background: #475569;
    color: #ffffff;
    box-shadow: none;
}
.notes-info-light-visibility-client,
.notes-info-strong-visibility-client {
    background: #8b5cf6;
    color: #ffffff;
    box-shadow: none;
}
/* src/modules/dashboard/views/DashboardView.css */
/* Style widoku dashboardu (importowane z DashboardView.vue) */
/* === STYLE ULUBIONYCH (oryginalne) === */
.dashboard-view[data-v-97384ef0] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}
.dashboard-header[data-v-97384ef0] {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  margin-bottom: 0px;
}
.dashboard-header h2[data-v-97384ef0] {
  margin: 0;
}
.dashboard-nav[data-v-97384ef0] {
  background-color: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}
.no-favorites[data-v-97384ef0] {
  color: #888;
  font-style: italic;
  text-align: center;
  padding: 40px 0;
}
.loading-message[data-v-97384ef0] {
  text-align: center;
  color: #666;
  font-style: italic;
  padding: 40px 0;
}
.favorites-grid[data-v-97384ef0] {
  display: grid;
  gap: 20px;
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  /* Mały symetryczny odstęp na bardzo wąskich ekranach (<760px), patrz media query */
  --favorites-grid-side-fallback: clamp(10px, 2.5vw, 20px);
}
.favorite-tile[data-v-97384ef0] {
  position: relative;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  animation: favorite-tile-intro-pulse-97384ef0 420ms ease var(--favorite-tile-intro-delay, 0ms);
}
.favorite-tile[data-v-97384ef0]:hover {
  transform: scale(1.04);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
@keyframes favorite-tile-intro-pulse-97384ef0 {
0%, 100% {
    transform: scale(1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
45% {
    transform: scale(1.04);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
}
@media (prefers-reduced-motion: reduce) {
.favorite-tile[data-v-97384ef0] {
    animation: none;
}
}
.tile-text[data-v-97384ef0] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 10px;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
}
.favorite-tile[style*="background-color: #f0f0f0"] .tile-text[data-v-97384ef0] {
  position: static;
  background: transparent;
  color: #333;
  font-weight: 600;
}
.favorites-grid.margin-level-0[data-v-97384ef0] { padding-left: 0; padding-right: 0;
}
.favorites-grid.margin-level-1[data-v-97384ef0] { padding-left: 40px; padding-right: 40px;
}
.favorites-grid.margin-level-2[data-v-97384ef0] { padding-left: 80px; padding-right: 80px;
}
.favorites-grid.margin-level-3[data-v-97384ef0] { padding-left: 140px; padding-right: 140px;
}
/* === STATYSTYKI BONÓW === */
.voucher-stats-section[data-v-97384ef0] {
  margin-top: 30px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  padding: 24px;
  border: 1px solid #e9ecef;
}
.section-header[data-v-97384ef0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.section-header h3[data-v-97384ef0] {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a73e8;
  display: flex;
  align-items: center;
  gap: 10px;
}
.btn-view-all[data-v-97384ef0] {
  background: #28a745;
  color: white;
  border: none;
  padding: 8px 18px;
  border-radius: 6px;
  font-size: 0.95rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
}
.btn-view-all[data-v-97384ef0]:hover {
  background: #218838;
  transform: translateY(-1px);
}
.voucher-stats-grid[data-v-97384ef0] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}
.stat-card[data-v-97384ef0] {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  border: 1px solid #dee2e6;
  transition: transform 0.2s, box-shadow 0.2s;
}
.stat-card[data-v-97384ef0]:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}
.stat-card.highlight[data-v-97384ef0] {
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  border-color: #4caf50;
}
.stat-value[data-v-97384ef0] {
  font-size: 1.85rem;
  font-weight: 800;
  color: #1a73e8;
  margin-bottom: 6px;
}
.stat-label[data-v-97384ef0] {
  font-size: 0.95rem;
  color: #555;
  font-weight: 600;
}
/* Mobile */
@media (max-width: 768px) {
.favorites-grid[data-v-97384ef0] {
    grid-template-columns: 1fr !important;
    gap: 12px;
    padding-left: 8px !important;
    padding-right: 8px !important;
}
.favorite-tile[data-v-97384ef0] {
    height: 110px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    border-radius: 8px;
}
.tile-text[data-v-97384ef0] {
    font-size: 13px;
    padding: 10px 8px;
}
.voucher-stats-grid[data-v-97384ef0] {
    grid-template-columns: 1fr 1fr;
}
.stat-value[data-v-97384ef0] {
    font-size: 1.5rem;
}
}
/* Szerokość <760px: wymuszony mały margines po bokach (m.in. margin-level-0 z seeda, duże side_margin) */
@media (max-width: 759px) {
.favorites-grid[data-v-97384ef0] {
    padding-left: var(--favorites-grid-side-fallback) !important;
    padding-right: var(--favorites-grid-side-fallback) !important;
}
}
/* src/modules/buttons/components/ButtonList.css */
/* Wszystkie style z ButtonList.vue – przeniesione i gotowe do scoped */
.button-list-table-wrapper[data-v-3ff0d657] {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.button-list-table-wrapper[data-v-3ff0d657]::-webkit-scrollbar {
  display: none;
}
.button-list-table[data-v-3ff0d657] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-top: 20px;
}
.button-list-table th[data-v-3ff0d657],
.button-list-table td[data-v-3ff0d657] {
  padding: 8px 6px;
  border: 1px solid #ccc;
  text-align: center;
  overflow: hidden;
}
.button-list-table th[data-v-3ff0d657] {
  background-color: #f4f4f4;
  font-weight: bold;
}
/* Kolumna Opis z ellipsis */
.description-cell[data-v-3ff0d657] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  max-width: 0;
}
.button-list-table tr[data-v-3ff0d657]:hover {
  background-color: #f1f1f1;
}
.button-list-table button[data-v-3ff0d657] {
  padding: 6px 10px;
  margin-right: 5px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  background-color: #28a745;
  color: white;
  font-size: 12px;
}
.button-list-table .delete-button[data-v-3ff0d657] {
  background-color: #dc3545;
}
.button-list-table button[data-v-3ff0d657]:hover,
.button-list-table .delete-button[data-v-3ff0d657]:hover {
  opacity: 0.9;
}
.button-list-table input[type="checkbox"][data-v-3ff0d657] {
  transform: scale(1.1);
  margin: 0;
}
.error[data-v-3ff0d657] {
  color: red;
  margin-bottom: 12px;
}
.no-data[data-v-3ff0d657],
.loading[data-v-3ff0d657] {
  text-align: center;
  color: #666;
  padding: 20px;
}

.button-list-view[data-v-11d99290] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}
.button-form[data-v-b0fb2f1e] {
  max-width: 500px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.form-group[data-v-b0fb2f1e] {
  margin-bottom: 15px;
}
label[data-v-b0fb2f1e] {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
input[data-v-b0fb2f1e],
select[data-v-b0fb2f1e],
textarea[data-v-b0fb2f1e] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
select[data-v-b0fb2f1e] {
  appearance: none;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 10px center;
  background-size: 12px;
}
textarea[data-v-b0fb2f1e] {
  min-height: 100px;
}
/* NOWE: Style dla sekcji ról */
.roles-section[data-v-b0fb2f1e] {
  background: #e9ecef;
  padding: 10px;
  border-radius: 4px;
}
.checkbox-group[data-v-b0fb2f1e] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.checkbox-label[data-v-b0fb2f1e] {
  display: flex;
  align-items: center;
  font-size: 14px;
}
.checkbox-label input[data-v-b0fb2f1e] {
  width: auto;
  margin-right: 8px;
}
.form-buttons[data-v-b0fb2f1e] {
  display: flex;
  gap: 10px;
}
button[data-v-b0fb2f1e] {
  padding: 10px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
button[data-v-b0fb2f1e]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.cancel-button[data-v-b0fb2f1e] {
  background: #dc3545;
}
.cancel-button[data-v-b0fb2f1e]:hover {
  background: #c82333;
}
.error[data-v-b0fb2f1e] {
  color: red;
  margin-top: 10px;
}
/* c:\Gabito_system\gabito_front\src\modules\units\components\UnitList.css */
/* UTF-8 | Pełny plik po dodaniu created_at_display i updated_at_display w kafelkach */
/* Ulepszona sekcja .card-meta + separacja wizualna dat */

.unit-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.header-section h2 {
  margin: 0;
  color: #000000;
  font-size: 28px;
  font-weight: 700;
}

.error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}

.controls-section,
.search-section,
.filter-section,
.view-mode-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}

.select-control,
.search-input {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  min-width: 200px;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.select-control:focus,
.search-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
}

.search-container {
  position: relative;
  flex: 1;
  min-width: 300px;
}

button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.units-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.unit-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
}

.unit-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.unit-card.inactive-unit {
  background: #fff5f5;
  border-color: #f8d7da;
}

.unit-card.inactive-unit:hover {
  background: #fff0f0;
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}

.card-title {
  margin: 0;
  color: #000000;
  font-size: 18px;
  font-weight: 700;
  flex: 1;
}

.card-content {
  padding: 20px;
}

.card-description {
  margin: 0 0 16px;
  color: #000000;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
}

.card-description strong {
  font-weight: 700;
  color: #000000;
}

.card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}

.meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #000000;
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.meta-item i {
  color: #007bff;
}

.loading-state,
.empty-state,
.no-results {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}

.loading-state i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #007bff;
}

.empty-state i,
.no-results i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #dee2e6;
}

.empty-state p,
.no-results p {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #000000;
}

.unit-card.menu-open {
  z-index: 10;
}

.notes-notification-footer-wrapper {
  padding: 20px;
  border-top: 1px solid #e9ecef;
  background: #f8f9fa;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.loading {
  text-align: center;
  padding: 20px;
  color: #666;
}

/* ============================================= */
/* RESPONSywność */
@media (max-width: 768px) {
  .unit-list-container {
    padding: 5px;
  }

  .header-section {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .controls-section,
  .search-section,
  .filter-section,
  .view-mode-section {
    flex-direction: column;
    width: 100%;
  }

  .units-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .card-header {
    padding: 16px;
  }

  .card-content {
    padding: 16px;
  }

  .notes-notification-footer-wrapper {
    padding: 16px;
  }

  .card-meta {
    gap: 8px;
  }

  .meta-item {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .units-grid {
    gap: 0;
  }

  .card-header,
  .card-content {
    padding: 12px;
  }

  .notes-notification-footer-wrapper {
    padding: 12px;
  }
}

/* Filtry listy jednostek — panel administratora (modal) */
.unit-list-admin-filters {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 280px;
}
.unit-list-admin-filters__lbl {
  font-weight: 600;
  font-size: 0.95rem;
  color: #1e293b;
}
.unit-list-admin-filters .select-control {
  width: 100%;
  box-sizing: border-box;
}
.unit-page-context-hint-btn[data-v-ca66db96] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #e7f3ff;
  color: #0d6efd;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 15px;
  transition: background 0.2s ease;
}
.unit-page-context-hint-btn[data-v-ca66db96]:hover:not(:disabled) {
  background: #cfe2ff;
}
.unit-page-context-hint-btn[data-v-ca66db96]:disabled {
  opacity: 0.55;
  cursor: default;
}
.unit-page-context-preview-inner[data-v-ca66db96] {
  max-width: 720px;
  margin: 0 auto;
}
.unit-page-context-preview-loading[data-v-ca66db96] {
  text-align: center;
  color: #555;
  padding: 24px;
  font-size: 1rem;
}
.unit-page-context-preview-description[data-v-ca66db96] {
  white-space: pre-wrap;
  line-height: 1.65;
  font-size: 1rem;
  color: #212529;
}
.unit-card .footer-wrapper[data-v-ca66db96],
.unit-card .notes-footer-wrapper[data-v-ca66db96] {
  padding: 10px 20px !important;
  margin-top: auto !important;
  width: 100% !important;
}
.unit-list-view-settings-label[data-v-ca66db96] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.unit-list-view-settings-hint[data-v-ca66db96] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.unit-table-wrap[data-v-ca66db96] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 20px;
}
.unit-table[data-v-ca66db96] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
}
.unit-table th[data-v-ca66db96],
.unit-table td[data-v-ca66db96] {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}
.unit-table th[data-v-ca66db96] {
  background: #f8f9fa;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}
.unit-table tbody tr[data-v-ca66db96]:hover:not(.unit-row-inactive) {
  background: #fafafa;
}
.unit-col-logo[data-v-ca66db96] {
  width: 48px;
  text-align: center;
}
.unit-table-logo[data-v-ca66db96] {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  vertical-align: middle;
}
.unit-table-logo-placeholder[data-v-ca66db96] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: #f1f3f5;
  color: #868e96;
  font-size: 0.95rem;
}
.unit-name-link[data-v-ca66db96] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
}
.unit-name-link[data-v-ca66db96]:hover {
  color: #0a58ca;
}
.unit-cell-ellipsis[data-v-ca66db96] {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.unit-col-notes[data-v-ca66db96] {
  min-width: 140px;
  max-width: 200px;
  vertical-align: middle;
}
.unit-col-actions[data-v-ca66db96] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.unit-row-inactive[data-v-ca66db96] {
  opacity: 0.75;
  background: #f8f9fa;
}

.unit-list-container[data-v-a28410a7] {
  max-width: 100%;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  overflow-x: auto;
  box-sizing: border-box;
}

.opening-hours-editor[data-v-2aba831e] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.day-block[data-v-2aba831e] {
  padding: 12px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
}
.day-head[data-v-2aba831e] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.day-label[data-v-2aba831e] {
  font-weight: 700;
  color: #212529;
}
.closed-toggle[data-v-2aba831e] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  user-select: none;
}
.intervals[data-v-2aba831e] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.interval-row[data-v-2aba831e] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.interval-row input[type='time'][data-v-2aba831e] {
  width: auto;
  min-width: 7rem;
}
.dash[data-v-2aba831e] {
  color: #6c757d;
}
.btn-icon[data-v-2aba831e] {
  border: none;
  background: #f1f3f5;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.2rem;
  line-height: 1;
  color: #c92a2a;
}
.btn-icon[data-v-2aba831e]:hover {
  background: #ffe3e3;
}
.btn-add[data-v-2aba831e] {
  align-self: flex-start;
  margin-top: 4px;
  padding: 6px 12px;
  font-size: 0.85rem;
  border: 1px dashed #868e96;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  color: #495057;
}
.btn-add[data-v-2aba831e]:hover {
  border-color: #495057;
  background: #e9ecef;
}

.unit-form[data-v-814b9a57] { max-width: 640px; margin: 20px auto; padding: 20px; background: #f8f9fa; border-radius: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.opening-hours-help[data-v-814b9a57] { font-size: 0.85rem; color: #495057; margin: 0 0 10px; line-height: 1.45;
}
.opening-hours-help code[data-v-814b9a57] { font-size: 0.8rem; background: #e9ecef; padding: 2px 6px; border-radius: 4px;
}
.opening-hours-readonly[data-v-814b9a57] {
  margin: 0;
  padding: 12px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  font-size: 0.9rem;
  white-space: pre-wrap;
  font-family: system-ui, sans-serif;
}
.form-group[data-v-814b9a57] { margin-bottom: 15px;
}
label[data-v-814b9a57] { display: block; margin-bottom: 5px; font-weight: bold;
}
input[data-v-814b9a57], select[data-v-814b9a57] { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px;
}
input[data-v-814b9a57]:disabled { background-color: #e9ecef; cursor: not-allowed;
}
.logo-upload-btn[data-v-814b9a57] { width: 100%; margin: 8px 0; padding: 14px; font-size: 1.1rem; font-weight: 700;
}
.logo-preview-container[data-v-814b9a57] { position: relative; display: inline-block; margin-bottom: 10px;
}
.logo-preview[data-v-814b9a57] { max-width: 180px; max-height: 180px; border-radius: 8px; border: 3px solid #fff; box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.remove-logo-btn[data-v-814b9a57] { position: absolute; top: -8px; right: -8px; background: #dc3545; color: white; border: none; width: 28px; height: 28px; border-radius: 50%; font-size: 18px; cursor: pointer;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-de2bc37e],
.gabito-btn-voucher-save[data-v-de2bc37e] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-de2bc37e] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-de2bc37e]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-de2bc37e]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-de2bc37e] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-de2bc37e]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-de2bc37e]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-de2bc37e] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-de2bc37e] { display: none;
}
}
.gabito-form-actions[data-v-de2bc37e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-de2bc37e] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-de2bc37e] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-de2bc37e] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-de2bc37e]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-de2bc37e] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-de2bc37e] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-de2bc37e] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-de2bc37e]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-de2bc37e]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-de2bc37e],
.calendar-settings-modal .gabito-form-btn[data-v-de2bc37e],
.modal-footer .gabito-form-btn-cancel[data-v-de2bc37e],
.modal-footer .gabito-form-btn-save[data-v-de2bc37e] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-de2bc37e] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-de2bc37e],
  .calendar-settings-modal .gabito-form-btn[data-v-de2bc37e] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-de2bc37e] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-de2bc37e] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-de2bc37e]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-de2bc37e] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-de2bc37e]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-79671392],
.gabito-btn-voucher-save[data-v-79671392] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-79671392] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-79671392]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-79671392]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-79671392] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-79671392]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-79671392]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-79671392] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-79671392] { display: none;
}
}
.gabito-form-actions[data-v-79671392] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-79671392] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-79671392] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-79671392] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-79671392]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-79671392] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-79671392] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-79671392] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-79671392]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-79671392]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-79671392],
.calendar-settings-modal .gabito-form-btn[data-v-79671392],
.modal-footer .gabito-form-btn-cancel[data-v-79671392],
.modal-footer .gabito-form-btn-save[data-v-79671392] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-79671392] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-79671392],
  .calendar-settings-modal .gabito-form-btn[data-v-79671392] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-79671392] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-79671392] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-79671392]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-79671392] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-79671392]:hover:not(:disabled) {
  background-color: #c82333;
}
.error[data-v-79671392] { color: red; font-size: 1.2em;
}

.loading-state[data-v-1c056535] { 
  padding: 40px; 
  text-align: center; 
  font-size: 1.1em; 
  color: #666;
}
/* src/modules/modules/components/ModuleList.style.css */
.module-list-container {
  max-width: 1200px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.module-controls {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}

.module-controls-row {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.view-mode-controls {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.module-controls button,
.view-mode-controls button {
  padding: 10px 15px;
  background: #007bff;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}

.module-controls button:hover,
.view-mode-controls button:hover {
  background: #0056b3;
}

.view-mode-controls button.active {
  background: #28a745;
}

.view-mode-controls button.active:hover {
  background: #218838;
}

.module-controls-row input,
.module-controls-row select {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  flex: 1;
  min-width: 200px;
  font-size: 14px;
}

.module-list-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.module-list-table {
  width: 100%;
  border-collapse: collapse;
}

.module-list-table th,
.module-list-table td {
  padding: 12px;
  border: 1px solid #ddd;
  text-align: left;
  font-size: 14px;
}

.module-list-table th {
  background-color: #f4f4f4;
  font-weight: bold;
  color: #333;
}

.module-list-table tr:hover {
  background-color: #f1f1f1;
}

.parent-module {
  background-color: #ffffff;
}

.child-module {
  background-color: #f0f0f0;
}

.child-level-1 {
  background-color: #e8ecef;
}

.child-level-2 {
  background-color: #d3d9df;
}

.child-level-3 {
  background-color: #bec5cc;
}

.module-inactive {
  background-color: #ffe6e6 !important;
}

.error {
  color: red;
  margin-bottom: 20px;
  padding: 10px;
  background-color: #f8d7da;
  border-radius: 4px;
  text-align: center;
}

.module-list-table button {
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  background-color: #28a745;
  color: white;
  font-size: 14px;
  transition: background 0.3s;
}

.module-list-table button:hover {
  background-color: #218838;
}

.color-box {
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  display: inline-block;
  vertical-align: middle;
}

input[type="checkbox"] {
  cursor: pointer;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.loading-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

@keyframes spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}

/* Responsywność: Przekształcenie tabeli w kafelki na małych ekranach */
@media screen and (max-width: 768px) {
  .module-list-container {
    padding: 15px;
  }

  .module-controls-row {
    flex-direction: column;
  }

  .module-controls-row input,
  .module-controls-row select,
  .module-controls button {
    width: 100%;
    min-width: auto;
  }

  .view-mode-controls {
    justify-content: center;
  }

  .module-list-table {
    border: 0;
  }

  .module-list-table thead {
    display: none;
  }

  .module-list-table tbody tr {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
  }

  .module-list-table td {
    display: block;
    text-align: right;
    border: none;
    padding: 8px 0;
    position: relative;
    font-size: 14px;
  }

  .module-list-table td:before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    width: 45%;
    padding-right: 10px;
    font-weight: bold;
    text-align: left;
    color: #333;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .module-list-table td:last-child {
    text-align: center;
  }

  .module-list-table tr.module-inactive {
    background-color: #ffe6e6;
  }

  .module-list-table button {
    width: 100%;
  }

  /* Dodatkowe dostosowanie dla checkboxów i color-box, aby nie nachodziły */
  .module-list-table td input[type="checkbox"],
  .module-list-table td .color-box {
    float: right; /* Ustaw na prawo, aby nie nachodził na label */
    margin-left: 10px; /* Dodatkowy odstęp */
  }
}
.module-list-container[data-v-88684e00] {
  max-width: 100%;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  overflow-x: auto;
  box-sizing: border-box;
}
.module-form[data-v-e47ba064] {
  max-width: 500px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.form-group[data-v-e47ba064] {
  margin-bottom: 15px;
}
label[data-v-e47ba064] {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.form-group input[type="checkbox"][data-v-e47ba064]:not(.role-checkboxes input[type="checkbox"]) {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: middle;
}
.form-group > label[data-v-e47ba064]:has(+ input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 0;
}
select option[data-v-e47ba064] {
  padding-left: 10px;
}
.form-buttons[data-v-e47ba064] {
  display: flex;
  gap: 10px;
}
button[data-v-e47ba064] {
  padding: 10px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
button[data-v-e47ba064]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.cancel-button[data-v-e47ba064] {
  background: #dc3545;
}
.cancel-button[data-v-e47ba064]:hover {
  background: #c82333;
}
.error[data-v-e47ba064] {
  color: red;
  margin-top: 10px;
}
.role-checkboxes[data-v-e47ba064] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
}
.role-checkboxes label[data-v-e47ba064] {
  display: flex;
  align-items: center;
  cursor: pointer;
  width: 100%;
  margin: 0;
  padding: 2px 0;
}
.role-checkboxes input[type="checkbox"][data-v-e47ba064] {
  margin-right: 8px;
  margin-left: 0;
  width: 16px;
  height: 16px;
}
.color-group[data-v-e47ba064] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.color-inputs[data-v-e47ba064] {
  display: flex;
  gap: 10px;
  align-items: center;
}
.color-picker[data-v-e47ba064] {
  width: 50px;
  height: 30px;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
}
.hex-input[data-v-e47ba064] {
  width: 100px;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.error-input[data-v-e47ba064] {
  border-color: red;
}
/* c:\Gabito_system\gabito_front\src\modules\users\components\UserList.css */
/* Encoding: UTF-8 */
/* POPRAWIONA I KOMPLETNA WERSJA 2026-04-13 – kółko koloru tej samej wielkości co przycisk menu + wyśrodkowane pionowo */
.user-list-container[data-v-a51481fb] {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Nagłówek */
.header-section[data-v-a51481fb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.header-section h2[data-v-a51481fb] {
  margin: 0;
  color: #000000;
  font-size: 28px;
  font-weight: 700;
}
.error-message[data-v-a51481fb] {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}

/* Filtry */
.filters-container[data-v-a51481fb] {
  margin-bottom: 25px;
}
.input-with-search[data-v-a51481fb] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.input-with-search input[data-v-a51481fb] {
  width: 100%;
  padding: 12px 16px;
  padding-right: 52px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
  height: 48px;
  box-sizing: border-box;
}
.input-with-search input[data-v-a51481fb]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.gabito-common-search-btn-v1[data-v-a51481fb] {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: #007bff;
  color: white;
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 2;
}
.gabito-common-search-btn-v1[data-v-a51481fb]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-50%) scale(1.05);
}
.gabito-common-search-btn-v1 i[data-v-a51481fb] {
  font-size: 17px;
}
.activity-filters-container[data-v-a51481fb] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.activity-filter-label[data-v-a51481fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600;
}
.activity-filter-label[data-v-a51481fb]:hover {
  background: #e9ecef;
}
.activity-filter-label input[type="checkbox"][data-v-a51481fb] {
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff;
}
.activity-filter-label input[type="checkbox"][data-v-a51481fb]:checked {
  background-color: #007bff;
  border-color: #007bff;
}

/* Grid kart */
.users-grid[data-v-a51481fb] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.user-card.menu-open[data-v-a51481fb] {
  z-index: 10;
}
.user-card.inactive-user[data-v-a51481fb] {
  background: #fff5f5;
  border-color: #f8d7da;
}
.user-card.inactive-user[data-v-a51481fb]:hover {
  background: #fff0f0;
}

/* === KÓŁKO KOLORU PRACOWNIKA – tej samej wielkości co przycisk menu + wyśrodkowane pionowo === */
.user-color-badge[data-v-a51481fb] {
  position: absolute;
  top: 50%;
  right: 64px;           /* 20px (przycisk) + 36px (szerokość przycisku) + 8px (odstęp) */
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 3;
  transition: transform 0.2s ease;
}
.user-card:hover .user-color-badge[data-v-a51481fb] {
  transform: scale(1.1);
}

/* Responsywność kółka */
@media (max-width: 480px) {
.user-color-badge[data-v-a51481fb] {
    width: 34px;
    height: 34px;
    right: 54px;         /* dostosowane na telefonie (mniejszy odstęp) */
}
}

/* Style kart (pozostałe) */
.card-header[data-v-a51481fb] {
  position: relative;
}
.header-right[data-v-a51481fb] {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  z-index: 1;
}
.header-left[data-v-a51481fb] {
  padding-right: 50px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-title a[data-v-a51481fb] {
  color: #007bff;
  text-decoration: underline;
  cursor: pointer;
  transition: color 0.2s;
}
.card-title a[data-v-a51481fb]:hover {
  color: #0056b3;
  text-decoration: none;
}

/* Stany specjalne */
.loading-state[data-v-a51481fb],
.empty-state[data-v-a51481fb],
.no-results[data-v-a51481fb] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}
.loading-state i[data-v-a51481fb] {
  font-size: 48px;
  margin-bottom: 16px;
  color: #007bff;
}
.empty-state i[data-v-a51481fb],
.no-results i[data-v-a51481fb] {
  font-size: 48px;
  margin-bottom: 16px;
  color: #dee2e6;
}
.empty-state p[data-v-a51481fb],
.no-results p[data-v-a51481fb] {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #000000;
}
.loading[data-v-a51481fb] {
  text-align: center;
  padding: 20px;
  color: #666;
}

/* Avatar */
.user-avatar[data-v-a51481fb] {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  margin-bottom: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.clickable-avatar[data-v-a51481fb] {
  cursor: pointer;
}
.clickable-avatar[data-v-a51481fb]:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 20px rgba(0, 123, 255, 0.4);
}

/* Responsywność ogólna */
@media (max-width: 768px) {
.user-list-container[data-v-a51481fb] {
    padding: 5px;
}
.user-avatar[data-v-a51481fb] {
    width: 70px;
    height: 70px;
}
.header-section[data-v-a51481fb] {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.input-with-search[data-v-a51481fb] {
    min-width: 100%;
}
.activity-filters-container[data-v-a51481fb] {
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.activity-filter-label[data-v-a51481fb] {
    justify-content: center;
    padding: 12px;
    font-size: 14px;
}
.activity-filter-label input[type="checkbox"][data-v-a51481fb] {
    width: 16px;
    height: 16px;
}
.users-grid[data-v-a51481fb] {
    grid-template-columns: 1fr;
    gap: 0;
}
.header-right[data-v-a51481fb] {
    right: 16px;
}
.header-left[data-v-a51481fb] {
    padding-right: 40px;
}
}
@media (max-width: 480px) {
.users-grid[data-v-a51481fb] {
    gap: 0;
}
.card-header[data-v-a51481fb],
  .card-content[data-v-a51481fb] {
    padding: 12px;
}
.header-right[data-v-a51481fb] {
    right: 12px;
}
.header-left[data-v-a51481fb] {
    padding-right: 36px;
}
}
.users-list-view-settings-label[data-v-a51481fb] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.users-list-view-settings-hint[data-v-a51481fb] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.users-table-wrap[data-v-a51481fb] {
  width: 100%;
  overflow-x: auto;
  margin-top: 20px;
  padding-bottom: 8px;
}
.users-table[data-v-a51481fb] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
}
.users-table th[data-v-a51481fb],
.users-table td[data-v-a51481fb] {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.users-table th[data-v-a51481fb] {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.users-table tbody tr[data-v-a51481fb]:hover {
  background: #fafafa;
}
.users-table-row-inactive[data-v-a51481fb] {
  background: #fff5f5 !important;
}
.users-row-recent[data-v-a51481fb] {
  box-shadow: inset 3px 0 0 #0d6efd;
}
.users-table-col-photo[data-v-a51481fb] {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}
.users-table-avatar-btn[data-v-a51481fb] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
  vertical-align: middle;
}
.users-table-avatar-btn[data-v-a51481fb]:disabled {
  cursor: default;
  opacity: 0.85;
}
.users-table-avatar-img[data-v-a51481fb] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #e2e8f0;
  display: block;
}
.users-table-name-cell[data-v-a51481fb] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.users-table-color-dot[data-v-a51481fb] {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #cbd5e1;
}
.users-table-name-link[data-v-a51481fb] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-decoration: underline;
  text-align: left;
}
.users-table-name-link[data-v-a51481fb]:hover {
  color: #0a58ca;
}
.users-table-name-text[data-v-a51481fb] {
  font-weight: 600;
  color: #1f2937;
}
.users-table-ellipsis[data-v-a51481fb] {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.users-table-col-notes[data-v-a51481fb] {
  min-width: 130px;
  max-width: 220px;
  vertical-align: middle;
}
.users-table-col-actions[data-v-a51481fb] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}

.user-list-view[data-v-e1cfa88a] {
  min-height: 100vh;
  box-sizing: border-box;
}

/* style identyczne jak wcześniej – bez zmian */
.language-input-container[data-v-9beb04ec] { position: relative; display: inline-block; width: 100%;
}
.language-input[data-v-9beb04ec] { width: 100%; padding: 12px 40px 12px 16px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 14px; background: #fff;
}
.language-input[data-v-9beb04ec]:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0,123,255,0.1);
}
.language-arrow[data-v-9beb04ec] { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #6b7280;
}
.language-dropdown[data-v-9beb04ec] { position: absolute; top: 100%; left: 0; right: 0; max-height: 200px; overflow-y: auto; background: #fff; border: 1px solid #e0e0e0; border-top: none; border-radius: 0 0 8px 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); z-index: 10; display: none;
}
.language-dropdown.open[data-v-9beb04ec] { display: block;
}
.language-option[data-v-9beb04ec] { padding: 12px 16px; cursor: pointer; border-bottom: 1px solid #f0f0f0;
}
.language-option[data-v-9beb04ec]:hover, .language-option.selected[data-v-9beb04ec] { background: #f8f9fa; color: #007bff;
}
.language-loading[data-v-9beb04ec] { padding: 12px 16px; text-align: center; color: #666;
}

.photo-upload-group[data-v-88b1428c] { margin: 20px 0;
}
.photo-preview-container[data-v-88b1428c] { position: relative; display: inline-block; margin-bottom: 12px;
}
.photo-preview[data-v-88b1428c] { width: 180px; height: 180px; object-fit: cover; border-radius: 12px; border: 3px solid #e0e0e0; box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.remove-photo-btn[data-v-88b1428c] { 
  position: absolute; top: -10px; right: -10px; 
  background: #dc3545; color: #fff; border: none; 
  border-radius: 50%; width: 32px; height: 32px; 
  font-size: 20px; cursor: pointer;
}
.change-photo-btn[data-v-88b1428c] {
  background: #007bff;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  transition: all 0.2s ease;
}
.change-photo-btn[data-v-88b1428c]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.help-text[data-v-88b1428c] { color: #666; font-size: 13px; display: block; margin-top: 6px;
}

.color-select-wrapper[data-v-b24189a9] {
  position: relative;
  width: 100%;
}
.color-dropdown-trigger[data-v-b24189a9] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.3s, box-shadow 0.3s;
  min-height: 50px;
}
.color-dropdown-trigger[data-v-b24189a9]:hover:not(.disabled) {
  border-color: #007bff;
}
.color-dropdown-trigger.disabled[data-v-b24189a9] {
  opacity: 0.6;
  cursor: not-allowed;
}
.dropdown-arrow[data-v-b24189a9] {
  transition: transform 0.2s;
}
.color-dropdown-list[data-v-b24189a9] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 280px;
  overflow-y: auto;
  z-index: 20;
  margin-top: 4px;
}
.color-option[data-v-b24189a9] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
}
.color-option[data-v-b24189a9]:last-child {
  border-bottom: none;
}
.color-option[data-v-b24189a9]:hover,
.color-option.selected[data-v-b24189a9] {
  background-color: #f8f9fa;
}
.color-swatch[data-v-b24189a9] {
  display: inline-block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}
.empty-swatch[data-v-b24189a9] {
  background: #e5e7eb;
  border: 2px dashed #9ca3af;
}
.color-name[data-v-b24189a9] {
  font-weight: 600;
  color: #111827;
}
.selected-color-preview[data-v-b24189a9] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}
.selected-color-preview.empty[data-v-b24189a9] {
  color: #6b7280;
}
.color-preview-view[data-v-b24189a9] {
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}

/* Responsywność */
@media (max-width: 768px) {
.color-dropdown-list[data-v-b24189a9] {
    max-height: 220px;
}
}

.gc-card[data-v-19ae70c3] { margin-top: 20px; padding: 14px; border: 1px solid #d9e1ec; border-radius: 10px; background: #fafcff; color: #1f2937;
}
.gc-card h3[data-v-19ae70c3], .gc-card h4[data-v-19ae70c3] { color: #111827; margin: 0 0 8px;
}
.gc-muted[data-v-19ae70c3] { color: #5a6575; margin: 6px 0 12px;
}
.gc-status[data-v-19ae70c3] { margin-bottom: 12px; color: #1f2937;
}
.gc-actions[data-v-19ae70c3] { display: flex; gap: 10px; margin-bottom: 14px;
}
.gc-btn[data-v-19ae70c3] { border: 1px solid #c6d0dd; background: #fff; color: #1f2937; border-radius: 8px; padding: 7px 12px; cursor: pointer;
}
.gc-btn-primary[data-v-19ae70c3] { background: #2f6fed; color: #fff; border-color: #2f6fed;
}
.gc-btn-danger[data-v-19ae70c3] { background: #d73b52; color: #fff; border-color: #d73b52;
}
.gc-share-row[data-v-19ae70c3] { display: flex; gap: 8px; margin-bottom: 10px;
}
.gc-share-row select[data-v-19ae70c3],
.gc-share-row input[data-v-19ae70c3] {
  flex: 1;
  min-height: 34px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  color: #111827;
  padding: 6px 10px;
}
.gc-share-list[data-v-19ae70c3] { padding-left: 16px; margin: 0;
}
.gc-share-list li[data-v-19ae70c3] { display: flex; justify-content: space-between; margin-bottom: 6px; color: #1f2937;
}
.gc-link-danger[data-v-19ae70c3] { background: none; border: none; color: #b02a37; cursor: pointer;
}
.gc-msg[data-v-19ae70c3] { color: #0d6832; margin-top: 8px;
}
.gc-error[data-v-19ae70c3] { color: #b02a37; margin-top: 8px;
}
.gc-ical-block[data-v-19ae70c3] { margin: 14px 0; padding-top: 10px; border-top: 1px dashed #d1d5db;
}
.gc-subscriptions[data-v-19ae70c3] { display: grid; gap: 6px; margin: 10px 0; max-height: 220px; overflow: auto; padding: 8px; border: 1px solid #dbe3ef; border-radius: 8px; background: #fff;
}
.gc-sub-item[data-v-19ae70c3] { display: flex; gap: 8px; align-items: center; color: #1f2937; font-size: 14px;
}
/* c:\Gabito_system\gabito_front\src\modules\users\components\UserForm.css */
.user-form {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

h2 {
  margin: 0 0 20px;
  color: #000000; /* Bardziej czarny */
  font-size: 24px;
  font-weight: 700; /* Wytłuszczony */
}

.form-row {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}

.form-row.checkboxes {
  flex-direction: column;
  gap: 12px;
}

.form-group {
  flex: 1;
  margin-bottom: 15px;
  position: relative; /* Dla pozycjonowania dropdown */
}

label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700; /* Wytłuszczony */
  color: #000000; /* Bardziej czarny */
  font-size: 16px; /* Większy dla czytelności */
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600; /* Wytłuszczony tekst obok checkboxa */
  cursor: pointer;
  color: #000000; /* Bardziej czarny */
  font-size: 16px; /* Większy dla czytelności */
}

input[type="checkbox"] {
  width: 18px; /* Większy rozmiar */
  height: 18px;
  border: 2px solid #000000; /* Czarna ramka dla czytelności */
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease; /* Płynna animacja */
  accent-color: #007bff; /* Kolor wypełnienia gdy zaznaczony */
}

input[type="checkbox"]:checked {
  background-color: #007bff; /* Niebieskie tło */
  border-color: #007bff; /* Pasująca ramka */
}

input[type="checkbox"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

input,
select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}

input:focus,
select:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

input[readonly],
select[readonly] {
  background-color: #f8f9fa;
  color: #000000; /* Bardziej czarny tekst */
  cursor: text; /* Pozwala na zaznaczanie tekstu */
  opacity: 0.9;
  font-weight: 500; /* Lekko wytłuszczony */
}

input:disabled,
select:disabled {
  background-color: #f8f9fa;
  color: #000000; /* Bardziej czarny tekst */
  cursor: not-allowed;
  opacity: 0.9;
  font-weight: 500; /* Lekko wytłuszczony */
}

/* NOWE: Style dla custom input języków (analogiczne do UnitSettingsForm.css) */
.language-input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}

.language-input {
  width: 100%;
  padding: 12px 40px 12px 16px; /* Miejsce na strzałkę */
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.language-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.language-input:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}

.language-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6b7280;
  transition: transform 0.2s;
}

.language-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 10;
  display: none;
}

.language-dropdown.open {
  display: block;
}

.language-option {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}

.language-option:hover,
.language-option.selected {
  background-color: #f8f9fa;
  color: #007bff;
}

.language-option:last-child {
  border-bottom: none;
}

.language-loading {
  padding: 12px 16px;
  text-align: center;
  color: #666;
  font-style: italic;
}

.form-buttons {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

button {
  padding: 12px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700; /* Wytłuszczony */
  transition: background 0.3s, transform 0.2s;
}

button:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}

button:disabled {
  background: #6c757d;
  cursor: not-allowed;
  transform: none;
  opacity: 0.6;
}

.cancel-button {
  background: #dc3545;
}

.cancel-button:hover {
  background: #c82333;
}

.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
  font-weight: 600; /* Wytłuszczony błąd */
}

.loading-text {
  font-style: italic;
  color: #666;
  font-size: 12px;
}

@media (max-width: 768px) {
  .user-form {
    padding: 16px;
    margin: 16px;
  }

  .form-row {
    flex-direction: column;
    gap: 12px;
  }

  .form-buttons {
    flex-direction: column;
  }

  button {
    width: 100%;
  }

  input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }

  .checkbox-label {
    font-size: 14px;
  }

  .audit-modal {
    width: 95%;
    max-width: none;
  }

  /* NOWE: Responsywność dla language dropdown */
  .language-dropdown {
    max-height: 150px;
  }

  .language-option {
    padding: 10px 12px;
    font-size: 13px;
  }
}/* c:\Gabito_system\gabito_front\src\modules\users\components\UserForm.css */
.user-form[data-v-5176d3ce] {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
h2[data-v-5176d3ce] {
  margin: 0 0 20px;
  color: #000000; /* Bardziej czarny */
  font-size: 24px;
  font-weight: 700; /* Wytłuszczony */
}
.form-row[data-v-5176d3ce] {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}
.form-row.checkboxes[data-v-5176d3ce] {
  flex-direction: column;
  gap: 12px;
}
.form-group[data-v-5176d3ce] {
  flex: 1;
  margin-bottom: 15px;
  position: relative; /* Dla pozycjonowania dropdown */
}
label[data-v-5176d3ce] {
  display: block;
  margin-bottom: 6px;
  font-weight: 700; /* Wytłuszczony */
  color: #000000; /* Bardziej czarny */
  font-size: 16px; /* Większy dla czytelności */
}
.checkbox-label[data-v-5176d3ce] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600; /* Wytłuszczony tekst obok checkboxa */
  cursor: pointer;
  color: #000000; /* Bardziej czarny */
  font-size: 16px; /* Większy dla czytelności */
}
input[type="checkbox"][data-v-5176d3ce] {
  width: 18px; /* Większy rozmiar */
  height: 18px;
  border: 2px solid #000000; /* Czarna ramka dla czytelności */
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease; /* Płynna animacja */
  accent-color: #007bff; /* Kolor wypełnienia gdy zaznaczony */
}
input[type="checkbox"][data-v-5176d3ce]:checked {
  background-color: #007bff; /* Niebieskie tło */
  border-color: #007bff; /* Pasująca ramka */
}
input[type="checkbox"][data-v-5176d3ce]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
input[data-v-5176d3ce],
select[data-v-5176d3ce] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}
input[data-v-5176d3ce]:focus,
select[data-v-5176d3ce]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
input[readonly][data-v-5176d3ce],
select[readonly][data-v-5176d3ce] {
  background-color: #f8f9fa;
  color: #000000; /* Bardziej czarny tekst */
  cursor: text; /* Pozwala na zaznaczanie tekstu */
  opacity: 0.9;
  font-weight: 500; /* Lekko wytłuszczony */
}
input[data-v-5176d3ce]:disabled,
select[data-v-5176d3ce]:disabled {
  background-color: #f8f9fa;
  color: #000000; /* Bardziej czarny tekst */
  cursor: not-allowed;
  opacity: 0.9;
  font-weight: 500; /* Lekko wytłuszczony */
}
/* NOWE: Style dla custom input języków (analogiczne do UnitSettingsForm.css) */
.language-input-container[data-v-5176d3ce] {
  position: relative;
  display: inline-block;
  width: 100%;
}
.language-input[data-v-5176d3ce] {
  width: 100%;
  padding: 12px 40px 12px 16px; /* Miejsce na strzałkę */
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.language-input[data-v-5176d3ce]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.language-input[data-v-5176d3ce]:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}
.language-arrow[data-v-5176d3ce] {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6b7280;
  transition: transform 0.2s;
}
.language-dropdown[data-v-5176d3ce] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 10;
  display: none;
}
.language-dropdown.open[data-v-5176d3ce] {
  display: block;
}
.language-option[data-v-5176d3ce] {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}
.language-option[data-v-5176d3ce]:hover,
.language-option.selected[data-v-5176d3ce] {
  background-color: #f8f9fa;
  color: #007bff;
}
.language-option[data-v-5176d3ce]:last-child {
  border-bottom: none;
}
.language-loading[data-v-5176d3ce] {
  padding: 12px 16px;
  text-align: center;
  color: #666;
  font-style: italic;
}
.form-buttons[data-v-5176d3ce] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
button[data-v-5176d3ce] {
  padding: 12px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700; /* Wytłuszczony */
  transition: background 0.3s, transform 0.2s;
}
button[data-v-5176d3ce]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
button[data-v-5176d3ce]:disabled {
  background: #6c757d;
  cursor: not-allowed;
  transform: none;
  opacity: 0.6;
}
.cancel-button[data-v-5176d3ce] {
  background: #dc3545;
}
.cancel-button[data-v-5176d3ce]:hover {
  background: #c82333;
}
.error[data-v-5176d3ce] {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
  font-weight: 600; /* Wytłuszczony błąd */
}
.loading-text[data-v-5176d3ce] {
  font-style: italic;
  color: #666;
  font-size: 12px;
}
@media (max-width: 768px) {
.user-form[data-v-5176d3ce] {
    padding: 16px;
    margin: 16px;
}
.form-row[data-v-5176d3ce] {
    flex-direction: column;
    gap: 12px;
}
.form-buttons[data-v-5176d3ce] {
    flex-direction: column;
}
button[data-v-5176d3ce] {
    width: 100%;
}
input[type="checkbox"][data-v-5176d3ce] {
    width: 16px;
    height: 16px;
}
.checkbox-label[data-v-5176d3ce] {
    font-size: 14px;
}
.audit-modal[data-v-5176d3ce] {
    width: 95%;
    max-width: none;
}

  /* NOWE: Responsywność dla language dropdown */
.language-dropdown[data-v-5176d3ce] {
    max-height: 150px;
}
.language-option[data-v-5176d3ce] {
    padding: 10px 12px;
    font-size: 13px;
}
}
.universal-preview-mode[data-v-5176d3ce] {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  max-width: none !important;
  margin: 0 !important;
  box-shadow: none !important;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-d7221e8b],
.gabito-btn-voucher-save[data-v-d7221e8b] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-d7221e8b] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-d7221e8b]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-d7221e8b]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-d7221e8b] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-d7221e8b]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-d7221e8b]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-d7221e8b] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-d7221e8b] { display: none;
}
}
.gabito-form-actions[data-v-d7221e8b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-d7221e8b] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-d7221e8b] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-d7221e8b] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-d7221e8b]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-d7221e8b] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-d7221e8b] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-d7221e8b] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-d7221e8b]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-d7221e8b]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-d7221e8b],
.calendar-settings-modal .gabito-form-btn[data-v-d7221e8b],
.modal-footer .gabito-form-btn-cancel[data-v-d7221e8b],
.modal-footer .gabito-form-btn-save[data-v-d7221e8b] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-d7221e8b] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-d7221e8b],
  .calendar-settings-modal .gabito-form-btn[data-v-d7221e8b] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-d7221e8b] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-d7221e8b] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-d7221e8b]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-d7221e8b] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-d7221e8b]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-a5ef1bc6],
.gabito-btn-voucher-save[data-v-a5ef1bc6] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-a5ef1bc6] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-a5ef1bc6]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-a5ef1bc6]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-a5ef1bc6] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-a5ef1bc6]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-a5ef1bc6]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-a5ef1bc6] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-a5ef1bc6] { display: none;
}
}
.gabito-form-actions[data-v-a5ef1bc6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-a5ef1bc6] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-a5ef1bc6] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-a5ef1bc6] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-a5ef1bc6]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-a5ef1bc6] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-a5ef1bc6] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-a5ef1bc6] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-a5ef1bc6]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-a5ef1bc6]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-a5ef1bc6],
.calendar-settings-modal .gabito-form-btn[data-v-a5ef1bc6],
.modal-footer .gabito-form-btn-cancel[data-v-a5ef1bc6],
.modal-footer .gabito-form-btn-save[data-v-a5ef1bc6] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-a5ef1bc6] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-a5ef1bc6],
  .calendar-settings-modal .gabito-form-btn[data-v-a5ef1bc6] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-a5ef1bc6] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-a5ef1bc6] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-a5ef1bc6]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-a5ef1bc6] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-a5ef1bc6]:hover:not(:disabled) {
  background-color: #c82333;
}
.loading-text[data-v-a5ef1bc6] { text-align: center; padding: 40px; font-size: 1.1rem; color: #666;
}
/* src/modules/unit-modules/components/UnitModuleList.css */
/* UTF-8 | USUNIĘTO WSZYSTKIE STYLE ZWIĄZANE Z SEKCJĄ KONTROLEK (.unit-module-controls, .table-toggle itd.) */
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;

}
.gabito-btn-save:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel,
.gabito-btn-anuluj {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel:hover:not(:disabled),
.gabito-btn-anuluj:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {

  .gabito-btn-edit,
  .gabito-btn-save,
  .gabito-btn-cancel,
  .gabito-btn-anuluj,
  .gabito-btn-edit-general,
  .gabito-form-btn-dalej,
  .gabito-form-btn-anuluj {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
  }

  .gabito-btn-close {
    height: 40px;
    width: 40px;
    font-size: 22px;
  }

  .gabito-btn-close.gabito-btn-close--preview-header {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
  }
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary:visited {
  color: #ffffff;
}
.gabito-btn-primary:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.gabito-common-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
h2 {
  margin: 0 0 24px;
  color: #333;
  font-size: 28px;
  font-weight: 600;
}
.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-bottom: 20px;
  text-align: center;
  font-size: 14px;
}
.unit-module-list-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid #e9ecef;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  background: #fff;
}
.unit-module-list-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.unit-module-list-table th,
.unit-module-list-table td {
  padding: 16px;
  border: 1px solid #e9ecef;
  text-align: left;
  vertical-align: top;
}
.unit-module-list-table th {
  background-color: #f8f9fa;
  font-weight: 500;
  color: #333;
  position: sticky;
  top: 0;
  z-index: 10;
}
.unit-module-list-table tr:hover {
  background-color: #f8f9fa;
}
.parent-module {
  background-color: #ffffff;
  font-weight: 600;
}
.child-module {
  background-color: #f8f9fa;
}
.child-level-1 {
  background-color: #e9ecef;
}
.child-level-2 {
  background-color: #dee2e6;
}
.child-level-3 {
  background-color: #d6dbdf;
}
.module-inactive {
  background-color: #fff5f5 !important;
  border-left: 4px solid #dc3545;
}
.expired {
  color: #dc3545;
  font-weight: bold;
}
.no-results {
  padding: 20px;
  color: #999;
  font-style: italic;
  text-align: center;
  background: #f8f9fa;
}
input[type="checkbox"] {
  cursor: pointer;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  accent-color: #007bff;
}
input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.loading-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #007bff;
  animation: spin 1s ease-in-out infinite;
  margin-left: 8px;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* ================================================ */
/* Responsywność */
/* ================================================ */
@media screen and (max-width: 768px) {
  .gabito-common-list-container {
    padding: 5px;
  }

  .unit-module-list-table-wrapper {
    border-radius: 8px;
  }

  .unit-module-list-table thead {
    display: none;
  }

  .unit-module-list-table tbody tr {
    display: block;
    margin-bottom: 16px;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
    padding: 16px;
  }

  .unit-module-list-table td {
    display: block;
    text-align: right;
    border: none;
    padding: 12px 0;
    position: relative;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
  }

  .unit-module-list-table td:before {
    content: attr(data-label) ": ";
    position: absolute;
    left: 0;
    font-weight: 500;
    text-align: left;
    color: #333;
    width: 120px;
  }

  .unit-module-list-table td:last-child {
    text-align: center;
    border-bottom: none;
  }

  .unit-module-list-table tr.module-inactive {
    background-color: #fff5f5;
  }

  .unit-module-list-table td[data-label="Nazwa modułu"] {
    padding-left: calc(20px + 1rem);
  }
}
/* ================================================ */
/* Table Toggle (przełącznik General / Roles)       */
/* ================================================ */
.table-toggle {
  display: flex;
  gap: 8px;
  margin: 16px 0 20px 0;
  background: #5a5a5a;
  padding: 6px;
  border-radius: 10px;
  width: fit-content;
  border: 1px solid #e9ecef;
}
.table-toggle button {
  padding: 10px 20px;
  border: none;
  background: transparent;
  border-radius: 8px;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}
.table-toggle button.active {
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  font-weight: 600;
  color: #007bff;
}
.table-toggle button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.unit-module-list-view-settings-label[data-v-c4b63093] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.unit-module-list-view-settings-hint[data-v-c4b63093] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.unit-module-cards-wrapper[data-v-c4b63093] {
  width: 100%;
}
.unit-module-cards-empty[data-v-c4b63093] {
  padding: 24px;
  text-align: center;
  color: #64748b;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
}
.unit-module-card-title[data-v-c4b63093] {
  display: inline-block;
  min-width: 0;
}
.unit-module-card-roles[data-v-c4b63093] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 6px;
}
.unit-module-card-role-chip[data-v-c4b63093] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
  user-select: none;
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state, .empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed { display: none;
}
.gabito-common-checkbox-filters-container { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row:last-child { margin-bottom: 0;
}
.voucher-info-row strong { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending { background: #fff3cd; color: #856404;
}
.voucher-status-active { background: #d4edda; color: #155724;
}
.voucher-status-partially-used { background: #cce5ff; color: #004085;
}
.voucher-status-used { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty { font-weight: 800; color: #111827;
}
.voucher-services-unit { font-weight: 700; color: #374151;
}
.voucher-balance-value { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.unit-module-list-view[data-v-cbc54a97] {
  padding: 20px;
  background-color: #f8f9fa;
  min-height: 100vh;
}
/* src/modules/unit-modules/components/UnitModuleForm.css */
/* UTF-8 | Usunięto style przycisków (przeniesione do gabito-common-buttons.css) */

.unit-module-form {
  max-width: 500px;
  margin: 20px auto;
  padding: 24px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

h2 {
  margin: 0 0 24px;
  color: #333;
  font-size: 24px;
  font-weight: 600;
}

.form-group {
  margin-bottom: 20px;
}

label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

.form-label {
  padding: 12px 16px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  color: #666;
  font-size: 14px;
}

input,
select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
  box-sizing: border-box;
}

input:focus,
select:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

input:disabled,
select:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
  opacity: 0.6;
}

input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: middle;
  cursor: pointer;
}

.form-group > label:has(+ input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 0;
  font-weight: normal;
  color: #333;
  font-size: 14px;
}

.role-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
}

.role-checkboxes label {
  display: flex;
  align-items: center;
  cursor: pointer;
  width: 100%;
  margin: 0;
  padding: 8px 0;
  font-weight: normal;
  color: #333;
  font-size: 14px;
}

.role-checkboxes input[type="checkbox"] {
  margin-right: 8px;
  margin-left: 0;
  width: 16px;
  height: 16px;
}

.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
  font-size: 14px;
}

@media (max-width: 768px) {
  .unit-module-form {
    padding: 16px;
    margin: 16px;
  }

  .role-checkboxes {
    gap: 10px;
  }
}
.loading[data-v-df3773c2],
.error[data-v-df3773c2] {
  text-align: center;
  padding: 40px;
  font-size: 1.1rem;
  color: #666;
}
.error[data-v-df3773c2] {
  color: #dc3545;
}

.price-list-container[data-v-141f22b7] {
  max-width: 1200px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.price-controls[data-v-141f22b7] {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}
.price-controls-row[data-v-141f22b7] {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
.view-mode-controls[data-v-141f22b7] {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
.price-controls button[data-v-141f22b7],
.view-mode-controls button[data-v-141f22b7] {
  padding: 10px 15px;
  background: #007bff;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}
.price-controls button[data-v-141f22b7]:hover,
.view-mode-controls button[data-v-141f22b7]:hover {
  background: #0056b3;
}
.view-mode-controls button.active[data-v-141f22b7] {
  background: #28a745;
}
.view-mode-controls button.active[data-v-141f22b7]:hover {
  background: #218838;
}
.price-controls-row input[data-v-141f22b7],
.price-controls-row select[data-v-141f22b7],
.group-select[data-v-141f22b7] {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  flex: 1;
  min-width: 200px;
  font-size: 16px;
}
.price-list-table-wrapper[data-v-141f22b7],
.package-list-table-wrapper[data-v-141f22b7] {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
  border: 1px solid #ddd;
  margin-bottom: 40px;
}
.price-list-table[data-v-141f22b7] {
  width: 100%;
  border-collapse: collapse;
}
.price-list-table th[data-v-141f22b7],
.price-list-table td[data-v-141f22b7] {
  padding: 12px;
  border: 1px solid #ddd;
  text-align: left;
  font-size: 18px;
}
.price-list-table th[data-v-141f22b7] {
  background-color: #f4f4f4;
  font-weight: bold;
  color: #333;
}
.price-list-table tr[data-v-141f22b7]:hover {
  background-color: #f1f1f1;
}
.description-list[data-v-141f22b7] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.description-list li[data-v-141f22b7] {
  margin-bottom: 5px;
}
.error[data-v-141f22b7] {
  color: red;
  margin-bottom: 20px;
  padding: 10px;
  background-color: #f8d7da;
  border-radius: 4px;
  text-align: center;
}
.price-list-table button[data-v-141f22b7] {
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  background-color: #28a745;
  color: white;
  font-size: 14px;
  transition: background 0.3s;
  margin-right: 5px;
}
.price-list-table button[data-v-141f22b7]:hover {
  background-color: #218838;
}
.price-list-table .delete-button[data-v-141f22b7] {
  background-color: #dc3545;
}
.price-list-table .delete-button[data-v-141f22b7]:hover {
  background-color: #c82333;
}
@media screen and (max-width: 768px) {
.price-list-container[data-v-141f22b7] {
    padding: 15px;
}
.price-controls-row[data-v-141f22b7] {
    flex-direction: column;
}
.price-controls-row input[data-v-141f22b7],
  .price-controls-row select[data-v-141f22b7],
  .price-controls button[data-v-141f22b7],
  .group-select[data-v-141f22b7] {
    width: 100%;
    min-width: auto;
}
.view-mode-controls[data-v-141f22b7] {
    justify-content: center;
}
.price-list-table[data-v-141f22b7] {
    border: 0;
}
.price-list-table thead[data-v-141f22b7] {
    display: none;
}
.price-list-table tbody tr[data-v-141f22b7] {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
}
.price-list-table td[data-v-141f22b7] {
    display: block;
    text-align: right;
    border: none;
    padding: 8px 0;
    position: relative;
    font-size: 18px;
}
.price-list-table td[data-v-141f22b7]:before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    font-weight: bold;
    text-align: left;
    color: #333;
}
.price-list-table td[data-v-141f22b7]:last-child {
    text-align: center;
}
.price-list-table button[data-v-141f22b7] {
    width: 100%;
    margin: 5px 0;
}
}

.price-list-view[data-v-6652586b] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}

.price-form[data-v-283fa6f2] {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.form-row[data-v-283fa6f2] {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
}
.form-group[data-v-283fa6f2] {
  flex: 1;
  margin-bottom: 15px;
}
label[data-v-283fa6f2] {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #333;
}
input[data-v-283fa6f2],
select[data-v-283fa6f2] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
select[data-v-283fa6f2] {
  appearance: none;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 10px center;
  background-size: 12px;
}
.description-row[data-v-283fa6f2] {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.description-row input[data-v-283fa6f2] {
  flex: 1;
}
.no-description[data-v-283fa6f2] {
  color: #888;
  font-style: italic;
  margin-bottom: 10px;
}
.add-description[data-v-283fa6f2] {
  background: #28a745;
  color: white;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}
.add-description[data-v-283fa6f2]:hover {
  background: #218838;
}
.add-description[data-v-283fa6f2]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.remove-description[data-v-283fa6f2] {
  background: #dc3545;
  color: white;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}
.remove-description[data-v-283fa6f2]:hover {
  background: #c82333;
}
.form-buttons[data-v-283fa6f2] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
button[data-v-283fa6f2] {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s;
}
button[data-v-283fa6f2]:hover {
  background: #0056b3;
}
button[data-v-283fa6f2]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.cancel-button[data-v-283fa6f2] {
  background: #dc3545;
}
.cancel-button[data-v-283fa6f2]:hover {
  background: #c82333;
}
.error[data-v-283fa6f2] {
  color: red;
  margin-top: 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
.price-form[data-v-283fa6f2] {
    max-width: 100%;
    padding: 15px;
}
.form-row[data-v-283fa6f2] {
    flex-direction: column;
    gap: 0;
}
.form-group[data-v-283fa6f2] {
    margin-bottom: 15px;
}
.form-buttons[data-v-283fa6f2] {
    flex-direction: column;
    gap: 10px;
}
button[data-v-283fa6f2] {
    width: 100%;
}
}

.price-add-view[data-v-a94f6ba4] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}

.price-edit-view[data-v-c15c2aca] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}
.error[data-v-c15c2aca] {
  color: red;
  font-size: 1.2em;
}

.package-form[data-v-70a3ce65] {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.form-row[data-v-70a3ce65] {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
}
.form-group[data-v-70a3ce65] {
  flex: 1;
  margin-bottom: 15px;
}
label[data-v-70a3ce65] {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #333;
}
input[data-v-70a3ce65],
select[data-v-70a3ce65] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
select[data-v-70a3ce65] {
  appearance: none;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 10px center;
  background-size: 12px;
}
.custom-group-input[data-v-70a3ce65] {
  margin-top: 10px;
}
.item-row[data-v-70a3ce65] {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.description-row[data-v-70a3ce65] {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.description-row input[data-v-70a3ce65] {
  flex: 1;
}
.no-description[data-v-70a3ce65] {
  color: #888;
  font-style: italic;
  margin-bottom: 10px;
}
.remove-item[data-v-70a3ce65],
.remove-description[data-v-70a3ce65] {
  background: #dc3545;
  color: white;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}
.remove-item[data-v-70a3ce65]:hover,
.remove-description[data-v-70a3ce65]:hover {
  background: #c82333;
}
.add-item[data-v-70a3ce65],
.add-description[data-v-70a3ce65] {
  background: #28a745;
  color: white;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}
.add-item[data-v-70a3ce65]:hover,
.add-description[data-v-70a3ce65]:hover {
  background: #218838;
}
.add-description[data-v-70a3ce65]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.form-buttons[data-v-70a3ce65] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
button[data-v-70a3ce65] {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s;
}
button[data-v-70a3ce65]:hover {
  background: #0056b3;
}
button[data-v-70a3ce65]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.cancel-button[data-v-70a3ce65] {
  background: #dc3545;
}
.cancel-button[data-v-70a3ce65]:hover {
  background: #c82333;
}
.error[data-v-70a3ce65] {
  color: red;
  margin-top: 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
.package-form[data-v-70a3ce65] {
    max-width: 100%;
    padding: 15px;
}
.form-row[data-v-70a3ce65] {
    flex-direction: column;
    gap: 0;
}
.form-group[data-v-70a3ce65] {
    margin-bottom: 15px;
}
.item-row[data-v-70a3ce65] {
    flex-direction: column;
    gap: 10px;
}
.description-row[data-v-70a3ce65] {
    flex-direction: column;
    gap: 10px;
}
.form-buttons[data-v-70a3ce65] {
    flex-direction: column;
    gap: 10px;
}
button[data-v-70a3ce65] {
    width: 100%;
}
}

.package-add-view[data-v-3bc50004] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}

.package-edit-view[data-v-ea4e8a6d] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}
.error[data-v-ea4e8a6d] {
  color: red;
  font-size: 1.2em;
}

.communication-test-form[data-v-a8ca20be] {
  max-width: 500px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.form-section[data-v-a8ca20be] {
  margin-bottom: 30px;
}
.form-group[data-v-a8ca20be] {
  margin-bottom: 15px;
}
label[data-v-a8ca20be] {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
input[data-v-a8ca20be] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
button[data-v-a8ca20be] {
  width: 100%;
  padding: 10px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
button[data-v-a8ca20be]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.error[data-v-a8ca20be] {
  color: red;
  margin-top: 10px;
}
.error-link[data-v-a8ca20be] {
  color: #007bff;
  text-decoration: underline;
  margin-left: 10px;
}
.success[data-v-a8ca20be] {
  color: green;
  margin-top: 10px;
}

.communication-test-view[data-v-c2382958] {
  max-width: 1200px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.communication-sections[data-v-c2382958] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* src/modules/notifications/components/NotificationList.css */
/* Uproszczone style, spójne z VoucherList */
.gabito-common-filters-container.collapsed[data-v-d596d7e6] { display: none;
}
.search-container[data-v-d596d7e6] {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.gabito-common-search-btn-v1[data-v-d596d7e6] {
  background: #007bff;
  color: white;
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 6px;
  cursor: pointer;
}
.notifications-grid[data-v-d596d7e6] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
  align-items: start;
}
.notification-card[data-v-d596d7e6] {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}
.header-left[data-v-d596d7e6] {
  flex: 1 1 auto !important;
  min-width: 0;
  overflow: hidden;
}
.shared-card-title.card-title[data-v-d596d7e6] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  margin: 0;
}
.loading-state[data-v-d596d7e6],
.empty-state[data-v-d596d7e6],
.no-results[data-v-d596d7e6] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}
@media (max-width: 768px) {
.notifications-grid[data-v-d596d7e6] { grid-template-columns: 1fr; gap: 15px;
}
}
.notification-list-view-settings-label[data-v-d596d7e6] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.notification-list-view-settings-hint[data-v-d596d7e6] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.notification-list-admin-unit-field[data-v-d596d7e6] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.notification-list-admin-unit-field label[data-v-d596d7e6] {
  font-weight: 600;
  color: #333;
}
.notification-list-admin-unit-hint[data-v-d596d7e6] {
  margin: 0;
  font-size: 0.85rem;
  color: #6c757d;
  line-height: 1.4;
}
.notification-list-table-notes[data-v-d596d7e6] {
  vertical-align: top;
  min-width: 120px;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
/* Shared compact list tables (sales, clients, campaigns, vouchers). Import globally from main.js. */
.gabito-common-list-table-scroll {
  overflow-x: auto;
  margin-bottom: 16px;
}
table.gabito-common-list-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
}
table.gabito-common-list-table th,
table.gabito-common-list-table td {
  border: 1px solid #dee2e6;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}
table.gabito-common-list-table thead th {
  background: #f8f9fa;
  font-weight: 600;
  color: #212529;
}
table.gabito-common-list-table tbody tr:nth-child(even) {
  background: #fcfcfc;
}
table.gabito-common-list-table tbody tr.is-inactive td {
  opacity: 0.85;
}
table.gabito-common-list-table .gabito-common-list-table__num {
  text-align: right;
  white-space: nowrap;
}
table.gabito-common-list-table .gabito-common-list-table__actions {
  width: 1%;
  white-space: nowrap;
}
table.gabito-common-list-table button.gabito-common-list-table__link {
  display: inline;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: #0d6efd;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}
table.gabito-common-list-table button.gabito-common-list-table__link:hover {
  color: #0a58ca;
}

.notification-form[data-v-55ba296a] {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
h2[data-v-55ba296a] {
  margin: 0 0 20px;
  color: #333;
  font-size: 24px;
  font-weight: 600;
}
.form-row[data-v-55ba296a] {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}
.form-group[data-v-55ba296a] {
  flex: 1;
}
label[data-v-55ba296a] {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #333;
  font-size: 14px;
}
input[data-v-55ba296a],
textarea[data-v-55ba296a],
select[data-v-55ba296a] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}
input[data-v-55ba296a]:focus,
select[data-v-55ba296a]:focus,
textarea[data-v-55ba296a]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
textarea[data-v-55ba296a] {
  min-height: 100px;
  resize: vertical;
}
input[data-v-55ba296a]:disabled,
select[data-v-55ba296a]:disabled,
textarea[data-v-55ba296a]:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
  opacity: 0.6;
}
.form-buttons[data-v-55ba296a] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
button[data-v-55ba296a] {
  padding: 12px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
}
button[data-v-55ba296a]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
button[data-v-55ba296a]:disabled {
  background: #6c757d;
  cursor: not-allowed;
  transform: none;
  opacity: 0.6;
}
.cancel-button[data-v-55ba296a] {
  background: #dc3545;
}
.cancel-button[data-v-55ba296a]:hover {
  background: #c82333;
}
.error[data-v-55ba296a] {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
}
@media (max-width: 768px) {
.notification-form[data-v-55ba296a] {
    padding: 16px;
    margin: 16px;
}
.form-row[data-v-55ba296a] {
    flex-direction: column;
    gap: 12px;
}
.form-buttons[data-v-55ba296a] {
    flex-direction: column;
}
button[data-v-55ba296a] {
    width: 100%;
}
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-384b1709],
.gabito-btn-voucher-save[data-v-384b1709] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-384b1709] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-384b1709]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-384b1709]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-384b1709] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-384b1709]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-384b1709]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-384b1709] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-384b1709] { display: none;
}
}
.gabito-form-actions[data-v-384b1709] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-384b1709] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-384b1709] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-384b1709] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-384b1709]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-384b1709] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-384b1709] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-384b1709] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-384b1709]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-384b1709]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-384b1709],
.calendar-settings-modal .gabito-form-btn[data-v-384b1709],
.modal-footer .gabito-form-btn-cancel[data-v-384b1709],
.modal-footer .gabito-form-btn-save[data-v-384b1709] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-384b1709] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-384b1709],
  .calendar-settings-modal .gabito-form-btn[data-v-384b1709] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-384b1709] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-384b1709] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-384b1709]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-384b1709] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-384b1709]:hover:not(:disabled) {
  background-color: #c82333;
}

.notification-detail-content[data-v-903ad1ef] { max-width: 860px; margin: 0 auto;
}
.notification-details p[data-v-903ad1ef] { margin-bottom: 14px; font-size: 15.5px;
}
.message-content[data-v-903ad1ef] { background: #f8f9fa; padding: 28px; border-radius: 10px; border-left: 6px solid #007bff; line-height: 1.7; font-size: 15.5px; white-space: pre-wrap;
}

.confirmation-details-content[data-v-2271961c] {
  max-width: 1100px;
  margin: 0 auto;
}
.details-grid[data-v-2271961c] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
}
.detail-card[data-v-2271961c] {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border: 1px solid #e9ecef;
}
.detail-card.confirmation-read[data-v-2271961c] {
  border-left: 5px solid #28a745;
}
.detail-header h4[data-v-2271961c] {
  margin: 0 0 12px 0;
  color: #000000;
  font-weight: 700;
}
.detail-content p[data-v-2271961c] {
  margin: 6px 0;
  font-size: 15px;
}
.loading-state[data-v-2271961c], .no-results[data-v-2271961c] {
  text-align: center;
  padding: 80px 20px;
  color: #666;
  font-size: 18px;
}
/* src/modules/ai/components/AiModelList.style.css */
.ai-model-list-container {
  max-width: 1200px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.ai-model-controls {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}

.ai-model-controls-row {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.ai-model-controls button {
  padding: 10px 15px;
  background: #007bff;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.3s;
}

.ai-model-controls button:hover {
  background: #0056b3;
}

/* NOWE: Styl dla przycisku testowego (niebieski, jak inne przyciski akcji) */
.ai-model-controls button:nth-last-child(2) { /* Przycisk "Test domyślnego modelu" */
  background: #17a2b8; /* Info color dla wyróżnienia */
}

.ai-model-controls button:nth-last-child(2):hover {
  background: #138496;
}

.ai-model-controls input {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  flex: 1;
  min-width: 200px;
  font-size: 14px;
}

.ai-model-list-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.ai-model-list-table {
  width: 100%;
  border-collapse: collapse;
}

.ai-model-list-table th,
.ai-model-list-table td {
  padding: 12px;
  border: 1px solid #ddd;
  text-align: left;
  font-size: 14px;
}

.ai-model-list-table th {
  background-color: #f4f4f4;
  font-weight: bold;
  color: #333;
}

.ai-model-list-table tr:hover {
  background-color: #f1f1f1;
}

.col-model {
  width: 150px;
}

.col-url-api-chat-llm {
  width: 200px;
}

.col-temperature {
  width: 80px;
}

.col-max-tokens {
  width: 80px;
}

.col-top-p {
  width: 80px;
}

.col-is-default {
  width: 80px;
  text-align: center;
}

.col-is-active {
  width: 80px;
  text-align: center;
}

.col-actions {
  width: 120px;
}

.model-inactive {
  background-color: #ffe6e6;
}

.error {
  color: red;
  margin-bottom: 20px;
  padding: 10px;
  background-color: #f8d7da;
  border-radius: 4px;
  text-align: center;
}

button {
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  background-color: #28a745;
  color: white;
  font-size: 14px;
  transition: background 0.3s;
}

button:hover {
  background-color: #218838;
}

button.delete {
  background-color: #dc3545;
}

button.delete:hover {
  background-color: #c82333;
}

/* NOWE: Styl dla przycisku czyszczącego odpowiedź testową */
.clear-test-button {
  background-color: #6c757d;
  margin-top: 10px;
  padding: 8px 16px;
}

.clear-test-button:hover {
  background-color: #5a6268;
}

input[type="checkbox"] {
  cursor: pointer;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.loading-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

/* NOWE: Styl dla sekcji odpowiedzi testowej (spójny z .response w AiPromptForm) */
.test-response {
  margin: 20px 0;
  padding: 15px;
  background: #e9ecef;
  border-radius: 4px;
  border-left: 4px solid #17a2b8;
}

.test-response h3 {
  margin-top: 0;
  color: #333;
}

.test-response pre {
  background: #fff;
  padding: 10px;
  border-radius: 4px;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-size: 14px;
  overflow-x: auto;
}

@keyframes spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}

@media screen and (max-width: 768px) {
  .ai-model-list-container {
    padding: 15px;
  }

  .ai-model-controls-row {
    flex-direction: column;
  }

  .ai-model-controls input,
  .ai-model-controls button {
    width: 100%;
    min-width: unset;
  }

  .ai-model-list-table {
    border: 0;
  }

  .ai-model-list-table thead {
    display: none;
  }

  .ai-model-list-table tbody tr {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
  }

  .ai-model-list-table td {
    display: block;
    text-align: right;
    border: none;
    padding: 8px 0;
    position: relative;
    font-size: 14px;
  }

  .ai-model-list-table td:before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    font-weight: bold;
    text-align: left;
    color: #333;
  }

  .ai-model-list-table td:last-child {
    text-align: center;
  }

  .ai-model-list-table tr.model-inactive {
    background-color: #ffe6e6;
  }

  .ai-model-list-table button {
    width: 100%;
  }

  /* NOWE: Responsywność dla test-response */
  .test-response {
    padding: 10px;
  }

  .test-response pre {
    font-size: 12px;
  }
}
.ai-model-list-view[data-v-b8130a2f] {
  min-height: 100vh;
  background-color: #f8f9fa;
  padding: 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
.ai-model-list-view[data-v-b8130a2f] {
    padding: 10px;
}
}

.ai-model-form[data-v-0bf302e6] {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.form-row[data-v-0bf302e6] {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
}
.form-group[data-v-0bf302e6] {
  flex: 1;
  margin-bottom: 15px;
}
label[data-v-0bf302e6] {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #333;
}
input[data-v-0bf302e6],
select[data-v-0bf302e6] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
input[type="checkbox"][data-v-0bf302e6] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  vertical-align: middle;
}
.form-group > label[data-v-0bf302e6]:has(+ input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 0;
}
input[data-v-0bf302e6]:disabled,
select[data-v-0bf302e6]:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
}
.form-buttons[data-v-0bf302e6] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
button[data-v-0bf302e6] {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s;
}
button[data-v-0bf302e6]:hover {
  background: #0056b3;
}
button[data-v-0bf302e6]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.cancel-button[data-v-0bf302e6] {
  background: #dc3545;
}
.cancel-button[data-v-0bf302e6]:hover {
  background: #c82333;
}
.error[data-v-0bf302e6] {
  color: red;
  margin-top: 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
.ai-model-form[data-v-0bf302e6] {
    max-width: 100%;
    padding: 15px;
}
.form-row[data-v-0bf302e6] {
    flex-direction: column;
    gap: 0;
}
.form-group[data-v-0bf302e6] {
    margin-bottom: 15px;
}
.form-buttons[data-v-0bf302e6] {
    flex-direction: column;
    gap: 10px;
}
button[data-v-0bf302e6] {
    width: 100%;
}
}

.error[data-v-005c098d] { color: red; text-align: center; padding: 20px;
}

.ai-prompt-form[data-v-8dd8b465] {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.form-row[data-v-8dd8b465] {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
}
.form-group[data-v-8dd8b465] {
  flex: 1;
  margin-bottom: 15px;
}
label[data-v-8dd8b465] {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #333;
}
textarea[data-v-8dd8b465],
input[data-v-8dd8b465],
select[data-v-8dd8b465] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
textarea[data-v-8dd8b465] {
  resize: vertical;
}
input[data-v-8dd8b465]:disabled,
select[data-v-8dd8b465]:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
}
.form-buttons[data-v-8dd8b465] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
button[data-v-8dd8b465] {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s;
}
button[data-v-8dd8b465]:hover {
  background: #0056b3;
}
button[data-v-8dd8b465]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.cancel-button[data-v-8dd8b465] {
  background: #dc3545;
}
.cancel-button[data-v-8dd8b465]:hover {
  background: #c82333;
}
.error[data-v-8dd8b465] {
  color: red;
  margin-top: 10px;
  text-align: center;
}
.response[data-v-8dd8b465] {
  margin-top: 20px;
}
.response pre[data-v-8dd8b465] {
  background: #e9ecef;
  padding: 10px;
  border-radius: 4px;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
.ai-prompt-form[data-v-8dd8b465] {
    max-width: 100%;
    padding: 15px;
}
.form-row[data-v-8dd8b465] {
    flex-direction: column;
    gap: 0;
}
.form-group[data-v-8dd8b465] {
    margin-bottom: 15px;
}
.form-buttons[data-v-8dd8b465] {
    flex-direction: column;
    gap: 10px;
}
button[data-v-8dd8b465] {
    width: 100%;
}
}

.ai-prompt-view[data-v-1b121fc8] {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
  background-color: #f8f9fa;
  padding: 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
.ai-prompt-view[data-v-1b121fc8] {
    padding: 10px;
}
}

/* style bez zmian */
.visit-history-actions-overlay[data-v-c831e211] {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 13000;
}
.visit-history-actions-modal[data-v-c831e211] {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 460px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  overflow: hidden;
}
.visit-history-actions-header[data-v-c831e211] {
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.visit-history-actions-header h3[data-v-c831e211] {
  margin: 0;
  font-weight: 700;
  color: #1e2937;
}
.close-button[data-v-c831e211] {
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: #666;
}
.visit-history-actions-body[data-v-c831e211] {
  padding: 40px 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.action-btn-large[data-v-c831e211] {
  width: 100%;
  padding: 22px;
  font-size: 18px;
  font-weight: 700;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.show-history-btn[data-v-c831e211] { background: #17a2b8; color: white;
}
.create-description-btn[data-v-c831e211] { background: #28a745; color: white;
}
.action-btn-large[data-v-c831e211]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

/* Style bez zmian – identyczne jak wcześniej */
.modal-overlay[data-v-05bb9d23] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 13000;
}
.modal-content[data-v-05bb9d23] {
  background: white;
  width: 90%;
  max-width: 560px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}
.modal-header[data-v-05bb9d23] {
  padding: 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h3[data-v-05bb9d23] {
  margin: 0;
  font-weight: 700;
  color: #1e2937;
}
.modal-body[data-v-05bb9d23] {
  padding: 20px;
}
.search-input[data-v-05bb9d23] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 15px;
}
.profiles-list[data-v-05bb9d23] {
  max-height: 420px;
  overflow-y: auto;
}
.profile-item[data-v-05bb9d23] {
  padding: 14px 18px;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.profile-item[data-v-05bb9d23]:hover {
  background: #f8fafc;
}
.profile-main strong[data-v-05bb9d23] {
  display: block;
  color: #1e2937;
  font-size: 15px;
}
.profile-desc[data-v-05bb9d23] {
  display: block;
  color: #64748b;
  font-size: 13px;
  margin-top: 2px;
}
.profile-date[data-v-05bb9d23] {
  font-size: 12.5px;
  color: #94a3b8;
  white-space: nowrap;
}
.loading-state[data-v-05bb9d23],
.empty-state[data-v-05bb9d23] {
  text-align: center;
  padding: 40px 20px;
  color: #64748b;
}
.modal-footer-extra[data-v-05bb9d23] {
  padding: 16px 20px;
  background: #f8f9fa;
  border-top: 1px solid #e2e8f0;
  text-align: center;
}

/* === STYLOWANIE Z WYSOKIM Z-INDEX === */
.rodo-modal-overlay[data-v-44a327c2] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.6) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 13000 !important;
}
.rodo-modal[data-v-44a327c2] {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 520px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  z-index: 13001 !important;
}
.rodo-modal-header[data-v-44a327c2] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
}
.rodo-modal-header h3[data-v-44a327c2] {
  margin: 0;
  color: #000000;
  font-weight: 700;
}
.close-button[data-v-44a327c2] {
  background: none;
  border: none;
  font-size: 1.5em;
  cursor: pointer;
  color: #666;
}
.rodo-modal-body[data-v-44a327c2] {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.rodo-search-input[data-v-44a327c2] {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
}
.rodo-list[data-v-44a327c2] {
  max-height: 300px;
  overflow-y: auto;
}
.rodo-option[data-v-44a327c2] {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  transition: background 0.2s;
}
.rodo-option[data-v-44a327c2]:hover {
  background: #f8f9fa;
}
.rodo-option-name[data-v-44a327c2] {
  font-weight: 600;
  color: #000000;
}
.rodo-option-details[data-v-44a327c2] {
  font-size: 12px;
  color: #666;
}
.consent-type-badge[data-v-44a327c2] {
  margin-left: 8px;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
}
.consent-type-badge.electronic[data-v-44a327c2] { background: #e8f5e8; color: #28a745;
}
.consent-type-badge.paper[data-v-44a327c2] { background: #f8f9fa; color: #6c757d;
}
.loading-text[data-v-44a327c2] {
  text-align: center;
  color: #666;
}
.no-consents[data-v-44a327c2] {
  text-align: center;
  color: #dc3545;
  font-style: italic;
}

.list-cards-per-row-settings[data-v-4a07ee8b] {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}
.list-cards-per-row-settings__field[data-v-4a07ee8b] {
  display: grid;
  gap: 6px;
  color: #333;
  font-weight: 600;
}
.list-cards-per-row-settings__buttons[data-v-4a07ee8b] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.list-cards-per-row-settings__button[data-v-4a07ee8b] {
  min-width: 38px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  padding: 8px 12px;
  font: inherit;
  background: #fff;
  color: #333;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.list-cards-per-row-settings__button[data-v-4a07ee8b]:hover {
  border-color: #8ab4f8;
  background: #f4f8ff;
}
.list-cards-per-row-settings__button[data-v-4a07ee8b]:disabled {
  cursor: wait;
  opacity: 0.75;
}
.list-cards-per-row-settings__button.is-active[data-v-4a07ee8b] {
  border-color: #007bff;
  background: #007bff;
  color: #fff;
}
/* ============================================= */
/* ClientList.css – TYLKO STYLE LISTY I KART     */
/* POPRAWIONA WERSJA 2026 – zewnętrzny scrollbar body */
/* Encoding: UTF-8                               */
/* ============================================= */
/* === ZEWNĘTRZNY SCROLLBAR (body) – usunięto lokalny scroll === */
.gabito-common-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;                    /* zamiast fixed height */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  
  /* Usunięto overflow-y: auto – teraz scrolluje całe okno przeglądarki */
  overflow-y: visible !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
/* reszta stylów bez zmian */
.clients-grid {
  display: grid;
  grid-template-columns: repeat(var(--client-cards-per-row, 3), minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.client-card.inactive-client {
  background: #fff5f5;
  border-color: #f8d7da;
}
.client-card.inactive-client:hover {
  background: #fff0f0;
}
.no-rodo-consent {
  color: #dc3545;
}
/* Stany ładowania / pusta lista */
.loading-state,
.empty-state,
.no-results {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}
.loading-state i,
.empty-state i,
.no-results i {
  font-size: 48px;
  margin-bottom: 16px;
}
.empty-state p,
.no-results p {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #000000;
}
/* Modal potwierdzenia deaktywacji/aktywacji */
.confirm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
}
.confirm-modal {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}
.confirm-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
}
.confirm-modal-header h3 {
  margin: 0;
  color: #000000;
  font-weight: 700;
}
.confirm-modal-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.confirm-modal-body p {
  margin: 0;
  color: #000000;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
}
.confirm-modal-footer {
  padding: 20px;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  border-top: 1px solid #e9ecef;
}
/* Avatar i ikony zgód */
.client-avatar {
  width: 80px;
  height: 80px;
  border-radius: 15%;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 12px;
  display: block;
  cursor: pointer;
}
.photo-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.blacklist-icon,
.consent-icon {
  font-size: 24px;
}
/* Nagłówek karty – klikalny tytuł (podgląd klienta) */
.client-card .card-title a,
.client-card .shared-card-title a,
.client-card-title-link {
  cursor: pointer;
  color: inherit;
  text-decoration: none;
}
.client-card .card-title a:hover,
.client-card .shared-card-title a:hover,
.client-card-title-link:hover {
  text-decoration: underline;
}
/* Nagłówek karty – przycisk historii + menu akcji */
.header-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.visit-history-header-btn {
  width: 36px !important;
  height: 36px !important;
  background: #17a2b8;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}
.visit-history-header-btn:hover {
  background: #138496;
  transform: translateY(-1px);
}
/* Stopka karty */
.footer-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  margin-top: auto !important;
  width: 100% !important;
  padding-right: 4px;
}
.footer-wrapper .heart-btn {
  margin-left: 0 !important;
}
.shared-card-content {
  display: flex;
  flex-direction: column;
  min-height: 280px;
}
.shared-card-description {
  flex: 1 1 auto;
  margin-bottom: 16px;
  word-break: break-word;
}
.client-card,
.shared-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 380px !important;
  box-sizing: border-box !important;
}
.shared-card-content,
.client-card .shared-card-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 20px 26px 24px 20px !important;
  box-sizing: border-box !important;
}
.shared-card-description,
.client-card .shared-card-description {
  flex: 1 1 auto !important;
  width: 100% !important;
  margin-bottom: 24px !important;
  padding-right: 12px !important;
  line-height: 1.65 !important;
}
.footer-wrapper,
.client-card .footer-wrapper {
  margin-top: auto !important;
  width: 100% !important;
}
.client-notes-notification-container {
  width: 100% !important;
}
/* Paginacja */
.pagination-section {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}
.btn-prev,
.btn-next {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s;
}
.btn-prev:disabled,
.btn-next:disabled {
  background: #dee2e6;
  cursor: not-allowed;
}
/* ============================================= */
/* RESPONSywNOŚĆ – tylko karty i grid            */
/* ============================================= */
@media (max-width: 768px) {
.gabito-common-list-container {
    min-height: calc(100vh - 60px);   /* nadal wypełnia ekran */
    padding: 5px;
}
.clients-grid {
    grid-template-columns: repeat(var(--client-cards-per-row-narrow, 1), minmax(0, 1fr));
    gap: 0;
}
.footer-wrapper {
    gap: 8px;
}
.visit-history-header-btn,
  .heart-btn {
    width: 36px;
    height: 36px;
    font-size: 16px;
}
}
.voucher-client-btn {
  background: #28a745 !important;   /* zielony */
  color: white !important;
}
.voucher-client-btn:hover {
  background: #218838 !important;
  transform: translateY(-1px);
}
.client-view-settings-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.client-view-settings-hint {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.client-table-flag {
  font-size: 0.9em;
}

.client-list-view[data-v-9bf20542] {
  /*padding: 10px; */
  background-color: #f8f9fa;
  min-height: 100vh;
}

/* === NOWE STYLE Z WYSOKIM Z-INDEX === */
.rodo-modal-overlay[data-v-28622f13] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.6) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 13000 !important;           /* <<< KLUCZOWA ZMIANA */
}
.rodo-modal[data-v-28622f13] {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 520px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  z-index: 13001 !important;
}

/* reszta stylów bez zmian */
.rodo-modal-header[data-v-28622f13] { padding: 20px; border-bottom: 1px solid #e9ecef; display: flex; justify-content: space-between; align-items: center;
}
.rodo-modal-header h3[data-v-28622f13] { margin: 0; color: #000; font-weight: 700;
}
.close-button[data-v-28622f13] { background: none; border: none; font-size: 28px; cursor: pointer; color: #666;
}
.close-button[data-v-28622f13]:hover { color: #dc3545;
}
.rodo-modal-body[data-v-28622f13] { padding: 20px;
}
.rodo-search-input[data-v-28622f13] { width: 100%; padding: 12px 16px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 15px;
}
.rodo-list[data-v-28622f13] { max-height: 340px; overflow-y: auto;
}
.rodo-option[data-v-28622f13] { padding: 14px; border-bottom: 1px solid #f0f0f0; cursor: pointer;
}
.rodo-option[data-v-28622f13]:hover { background: #f8f9fa;
}
.rodo-option-name[data-v-28622f13] { font-weight: 600;
}
.inactive-badge[data-v-28622f13] { color: #dc3545; font-size: 0.85em;
}
.rodo-option-details[data-v-28622f13] { font-size: 13px; color: #666; margin-top: 4px;
}
.loading-text[data-v-28622f13], .no-consents[data-v-28622f13] { text-align: center; padding: 40px 20px; color: #666; font-style: italic;
}
.no-consents[data-v-28622f13] { color: #dc3545;
}

.source-container[data-v-4ae12a43] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.btn-edit-source[data-v-4ae12a43],
.btn-add-source[data-v-4ae12a43] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  min-width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-edit-source[data-v-4ae12a43]:hover,
.btn-add-source[data-v-4ae12a43]:hover {
  background: #0056b3;
}
.btn-edit-source[data-v-4ae12a43]:disabled,
.btn-add-source[data-v-4ae12a43]:disabled {
  background: #ccc;
  cursor: not-allowed;
}
.view-value[data-v-4ae12a43] {
  background-color: #f8f9fa !important;
  border: 1px solid #d1d5db !important;
  color: #111827 !important;
  font-weight: 500;
  padding: 12px 16px;
  border-radius: 8px;
  width: 100%;
}

.groups-buttons-container[data-v-b5555493] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.rodo-add-button[data-v-b5555493] {
  flex: 1;
}
.btn-add-source[data-v-b5555493] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  min-width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-add-source[data-v-b5555493]:hover:not(:disabled) {
  background: #0056b3;
}
.btn-add-source[data-v-b5555493]:disabled {
  background: #ccc;
  cursor: not-allowed;
}
/*
File: src/modules/clients/components/ClientForm.css
Encoding: utf-8
Wersja ostateczna – 16.03.2026
Główna poprawka: z-index modalu crop = 2147483647 (najwyższa możliwa wartość w CSS)
*/

.client-form {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
h2 {
  margin: 0 0 20px;
  color: #000000;
  font-size: 24px;
  font-weight: 700;
}

/* Przycisk "Dodaj z listy RODO" */
.rodo-add-button-container {
  margin-bottom: 20px;
  text-align: center;
}
.rodo-add-button {
  /* Dziedziczy z action-buttons.css */
}
.form-row {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}
.form-row.checkboxes,
.form-row.rodo-section {
  flex-direction: column;
  gap: 12px;
}
.form-group {
  flex: 1;
}

/* === STYLE ZDJĘCIA PROFILOWEGO === */
.photo-upload-group {
  margin-bottom: 24px;
  text-align: center;
}
.photo-preview-container {
  position: relative;
  display: inline-block;
  margin: 16px 0;
}
.photo-preview {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  object-fit: cover;
  border: 5px solid #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  background: #f0f0f0;
}
.remove-photo-btn {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  background: #dc3545;
  color: #fff;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  line-height: 36px;
  cursor: pointer;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.remove-photo-btn:hover {
  background: #c82333;
}
.photo-input {
  display: block;
  margin: 0 auto;
}
.help-text {
  color: #666;
  font-size: 13px;
  margin-top: 8px;
}

/* === STYLE FORMULARZA === */
label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
  color: #000000;
  font-size: 16px;
}
input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff;
}
input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}
input[type="checkbox"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
input,
textarea,
select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.error-field {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1) !important;
  background-color: #fff5f5;
}
.error-field:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.2) !important;
}
input[readonly],
textarea[readonly] {
  background-color: #f8f9fa;
  color: #000000;
  cursor: text;
  opacity: 0.9;
  font-weight: 500;
}
textarea {
  min-height: 100px;
  resize: vertical;
}
input:disabled,
select:disabled,
textarea:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
  opacity: 0.6;
}
.consent-search-input {
  position: relative;
}
.consent-dropdown {
  background: white;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  max-height: 200px;
  overflow-y: auto;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  width: 100%;
}
.consent-option {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #000000;
  transition: background-color 0.2s;
}
.consent-option:hover {
  background-color: #f8f9fa;
}
.selected-consent-label {
  margin-top: 8px;
  padding: 8px;
  background: #e8f5e8;
  border: 1px solid #c3e6c3;
  border-radius: 4px;
  font-size: 12px;
  color: #000000;
  font-weight: 600;
}
.rodo-link-container {
  margin-top: 8px;
}
.rodo-link-button {
  width: 100%;
  justify-content: center;
  font-size: 12px;
}

.rodo-match-picker-intro {
  margin: 0 0 14px;
  font-size: 0.92rem;
  color: #475569;
  line-height: 1.45;
}
.rodo-match-picker-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: min(55vh, 360px);
  overflow-y: auto;
}
.rodo-match-picker-item {
  margin: 0;
}
.rodo-match-picker-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font: inherit;
}
.rodo-match-picker-btn:hover {
  border-color: #0d9488;
  background: #f0fdfa;
}
.rodo-match-picker-main {
  font-weight: 600;
  color: #0f172a;
}
.rodo-match-picker-sub {
  font-size: 0.82rem;
  color: #64748b;
}
.no-consents {
  color: #666666;
  font-style: italic;
  font-size: 12px;
  margin-top: 4px;
}
.form-buttons {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
  font-weight: 600;
}
.loading-text {
  font-style: italic;
  color: #666;
  font-size: 12px;
}

/* ============================================= */
/* MODAL CROP – OSTATECZNA WERSJA Z NAJWYŻSZYM Z-INDEX */
/* ============================================= */
.crop-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.85) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 2147483647 !important;   /* najwyższa możliwa wartość w CSS */
}
.crop-modal {
  background: #fff !important;
  border-radius: 12px !important;
  width: 90% !important;
  max-width: 600px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4) !important;
  z-index: 2147483648 !important;
}
.crop-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
}
.crop-modal-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #000;
}
.close-button {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
}
.close-button:hover {
  color: #000;
}
.crop-modal-body {
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  overflow: hidden;
}
.crop-container {
  width: 100%;
  height: 400px;
  max-height: 60vh;
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 8px;
}
.crop-image {
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.crop-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #e9ecef;
}
.crop-button {
  background: #28a745;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.crop-button:hover {
  background: #218838;
}
.cancel-button {
  background: #dc3545;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.cancel-button:hover {
  background: #c82333;
}

/* Responsywność modalu crop */
@media (max-width: 768px) {
  .crop-modal {
    width: 95%;
    height: 90vh;
  }
  .crop-container {
    height: 300px;
  }
  .crop-modal-footer {
    flex-direction: column;
    gap: 8px;
  }
  .crop-button,
  .cancel-button {
    width: 100%;
    padding: 12px;
  }
}

/* Pozostałe style (grupy klientów, ikony zgód, tryb podglądu) */
.selected-groups {
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.selected-group-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 14px;
  color: #000000;
}
.remove-group-btn {
  background: #dc3545;
  color: #fff;
  border: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 14px;
  line-height: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.remove-group-btn:hover {
  background: #c82333;
}
.consent-icon {
  color: #28a745;
  font-size: 24px;
}
.blacklist-icon {
  color: #dc3545;
  font-size: 24px;
}
.no-rodo-consent {
  color: #dc3545;
  font-size: 24px;
}
@media (max-width: 768px) {
  .consent-icon,
  .blacklist-icon,
  .no-rodo-consent {
    font-size: 20px;
  }
}

/* Wyraźny tryb podglądu */
.client-form.view-mode input:disabled,
.client-form.view-mode select:disabled,
.client-form.view-mode textarea:disabled {
  opacity: 1 !important;
  background-color: #ffffff !important;
  color: #111827 !important;
  cursor: default !important;
  border-color: #d1d5db !important;
  font-weight: 500;
}
.client-form.view-mode label,
.client-form.view-mode .checkbox-label {
  color: #000000 !important;
  opacity: 1 !important;
  font-weight: 700;
}
.client-form.view-mode {
  background: #fafbfc;
}
.rodo-add-button-container[data-v-18628411] { margin-bottom: 24px; text-align: center;
}

.client-create-view[data-v-a16ada13] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}

.client-edit-view[data-v-f620b00b] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #f8f9fa;
}
/* ============================================= */
/* FIX SCROLL LIST – lokalne przewijanie przy zablokowanym pull-to-refresh */
/* Naprawia przewijanie list we wszystkich modułach (clients, users, notes itd.) */
/* Zastosowano dla /profilesbuttonspermissions – marzec 2026 */
/* ============================================= */
.gabito-common-list-container {
  height: calc(100vh - 60px) !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* c:\Gabito_system\gabito_front\src\modules\profilesButtonsPermissions\components\ProfileList.css */
/* UTF-8 – luty 2026 */
/* Poprawiona wersja – przyciski identyczne jak w module clients (gabito-common) */

.gabito-common-top-header {
  width: 100%;
  margin: 0 -10px 30px -10px;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}

.gabito-common-title-with-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
}

.gabito-common-title-row-3 {
  flex: 0 1 auto;
  margin-left: auto;
}

.gabito-common-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  justify-content: flex-end;
}

.gabito-common-add-btn-v1 {
  background: #007bff;
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 123, 255, 0.2);
  white-space: nowrap;
}

.gabito-common-add-btn-v1:hover {
  background: #0056b3;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.gabito-common-add-btn-v1:disabled {
  background: #6c757d;
  cursor: not-allowed;
  transform: none;
}

.gabito-common-clear-filters-btn-v1.icon-only {
  background: #6c757d;
  color: white;
  border: none;
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  min-width: 44px;
  height: 44px;
}

.gabito-common-clear-filters-btn-v1.icon-only:hover {
  background: #5a6268;
}

.gabito-common-list-error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}

/* ============================================= */
/* ORYGINALNE STYLE MODUŁU (zachowane w 100%)   */
/* ============================================= */

.profile-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.header-section h2 {
  margin: 0;
  color: #000000;
  font-size: 28px;
  font-weight: 700;
}

.error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}

.controls-section,
.search-section,
.action-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}

.select-control,
.search-input {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  min-width: 200px;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.select-control:focus,
.search-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.search-container {
  position: relative;
  flex: 1;
  min-width: 300px;
}

.profiles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
  align-items: start !important;
  align-content: start !important;
  grid-auto-rows: min-content !important;
  justify-content: start;
}

.profiles-grid .shared-card,
.profiles-grid .profile-card {
  height: auto !important;
  min-height: auto !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.profile-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: visible;
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  position: relative;
  z-index: 1;
}

.profile-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}

.profile-card.menu-open {
  z-index: 10;
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  position: relative;
}

.card-title {
  margin: 0;
  color: #000000;
  font-size: 18px;
  font-weight: 700;
  flex: 1;
}

.action-btn.has-changes {
  border: 2px solid #FFD700;
  background-color: #ffed4e;
  color: #000000;
  font-weight: 700;
}

.action-btn.has-changes:hover {
  background-color: #f0d500;
}

.card-content {
  padding: 20px;
}

.card-description {
  margin: 0 0 16px;
  color: #000000;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
}

.card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #000000;
  font-size: 14px;
  font-weight: 600;
}

.meta-item i {
  color: #007bff;
}

.loading-state,
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}

.loading-state i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #007bff;
}

.empty-state i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #dee2e6;
}

.empty-state p {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #000000;
}

.confirm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
}

.confirm-modal {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}

.confirm-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
}

.confirm-modal-header h3 {
  margin: 0;
  color: #000000;
  font-weight: 700;
}

.confirm-modal-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.confirm-modal-body p {
  margin: 0;
  color: #000000;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
  color: #000000;
  font-size: 16px;
}

.checkbox-label input[type="checkbox"] {
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff;
}

.confirm-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px;
  border-top: 1px solid #e9ecef;
}

.close-button {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #999;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.3s, background 0.3s;
}

.close-button:hover {
  color: #333;
  background: #f8f9fa;
}

.template-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
}

.template-modal {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}

.audit-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.audit-modal {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 1200px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}

.audit-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
  flex-shrink: 0;
}

.audit-modal-header h3 {
  margin: 0;
  color: #000000;
  font-size: 1.2em;
  font-weight: 700;
}

.audit-modal-body {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}

.loading {
  text-align: center;
  padding: 20px;
  color: #666;
}

.no-results {
  text-align: center;
  padding: 40px;
  color: #666;
  font-style: italic;
}

.small-text {
  font-size: 12px;
  color: #666;
  margin-top: 10px;
  font-style: italic;
}

.history-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.history-card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  overflow: visible;
}

.history-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}

.event-created { color: #28a745; font-weight: 600; }
.event-updated { color: #007bff; font-weight: 600; }
.event-deleted, .event-deactivated { color: #dc3545; font-weight: 600; }
.event-restored { color: #ffc107; font-weight: 600; }
.event-default { color: #6c757d; font-weight: 600; }

.notes-footer-wrapper {
  padding: 10px 20px;
  margin-top: auto;
}

/* ============================================= */
/* RESPONSywNOŚĆ */
/* ============================================= */
@media (max-width: 768px) {
  .profile-list-container {
    padding: 5px;
  }

  .profiles-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .card-header {
    padding: 16px;
  }

  .card-title {
    font-size: 16px;
  }

  .card-content {
    padding: 16px;
  }

  .confirm-modal,
  .template-modal,
  .audit-modal {
    width: 95%;
  }

  .notes-footer-wrapper {
    padding: 10px 16px;
  }
}

@media (max-width: 480px) {
  .gabito-common-add-btn-v1 {
    padding: 10px 16px;
    font-size: 14px;
  }
}
/* === FIX STOPKI NOTATEK === */
.profile-card .footer-wrapper[data-v-197efe24],
.profile-card .notes-footer-wrapper[data-v-197efe24] {
  padding: 10px 20px !important;
  margin-top: auto !important;
  width: 100% !important;
}

.profile-list-view[data-v-16e5a034] {
  /*padding: 20px;*/
  background-color: #f8f9fa;
  min-height: 100vh;
}
/* c:\Gabito_system\gabito_front\src\modules\profilesButtonsPermissions\components\ProfileForm.css */
/* Kontener formularza – spójny z ClientForm.css */
.profile-form {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.profile-form h2 {
  margin: 0 0 20px;
  color: #000000;
  font-size: 24px;
  font-weight: 700;
}

.form-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group label {
  font-weight: 600;
  color: #000000;
  font-size: 14px;
}

.form-input {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
  min-height: 40px;
  box-sizing: border-box;
}

.form-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.form-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.form-buttons {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

/* Usunięto lokalne style button i .cancel-button – dziedziczą z action-buttons.css (.btn-add, .btn-delete) */

.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
  font-weight: 600;
}

/* Responsywność – spójna z clients */
@media (max-width: 768px) {
  .profile-form {
    padding: 16px;
    margin: 16px;
  }

  .form-buttons {
    flex-direction: column;
  }
}/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-5ae7f237],
.gabito-btn-voucher-save[data-v-5ae7f237] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-5ae7f237] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-5ae7f237]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-5ae7f237]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-5ae7f237] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-5ae7f237]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-5ae7f237]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-5ae7f237] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-5ae7f237] { display: none;
}
}
.gabito-form-actions[data-v-5ae7f237] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-5ae7f237] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-5ae7f237] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-5ae7f237] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-5ae7f237]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-5ae7f237] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-5ae7f237] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-5ae7f237] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-5ae7f237]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-5ae7f237]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-5ae7f237],
.calendar-settings-modal .gabito-form-btn[data-v-5ae7f237],
.modal-footer .gabito-form-btn-cancel[data-v-5ae7f237],
.modal-footer .gabito-form-btn-save[data-v-5ae7f237] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-5ae7f237] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-5ae7f237],
  .calendar-settings-modal .gabito-form-btn[data-v-5ae7f237] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-5ae7f237] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-5ae7f237] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-5ae7f237]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-5ae7f237] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-5ae7f237]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-5bd68013],
.gabito-btn-voucher-save[data-v-5bd68013] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-5bd68013] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-5bd68013]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-5bd68013]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-5bd68013] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-5bd68013]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-5bd68013]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-5bd68013] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-5bd68013] { display: none;
}
}
.gabito-form-actions[data-v-5bd68013] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-5bd68013] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-5bd68013] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-5bd68013] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-5bd68013]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-5bd68013] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-5bd68013] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-5bd68013] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-5bd68013]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-5bd68013]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-5bd68013],
.calendar-settings-modal .gabito-form-btn[data-v-5bd68013],
.modal-footer .gabito-form-btn-cancel[data-v-5bd68013],
.modal-footer .gabito-form-btn-save[data-v-5bd68013] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-5bd68013] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-5bd68013],
  .calendar-settings-modal .gabito-form-btn[data-v-5bd68013] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-5bd68013] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-5bd68013] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-5bd68013]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-5bd68013] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-5bd68013]:hover:not(:disabled) {
  background-color: #c82333;
}
/* c:\Gabito_system\gabito_front\src\modules\profilesButtonsPermissions\components\PermissionsForm.css */

/* Kontener główny – spójny z ClientForm.css */
.permissions-form {
  max-width: 1200px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  width: 100%;
  box-sizing: border-box;
}

.permissions-form h2 {
  margin: 0 0 20px;
  color: #000000; /* Bardziej czarny */
  font-size: 24px;
  font-weight: 700; /* Wytłuszczony */
}

/* Sekcja przycisków globalnych – spójna z controls-section w clients */
.global-toggle-section {
  display: flex;
  gap: 15px;
  justify-content: flex-start;
  margin-bottom: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  flex-wrap: wrap;
}

/* Usunięto lokalne style .toggle-btn – dziedziczy z action-buttons.css (.btn-add, .btn-delete) */

.modules-container {
  margin-top: 20px;
  width: 100%;
  box-sizing: border-box;
}

.module-section {
  margin-bottom: 10px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.3s ease;
}

.module-section:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.module-header {
  padding: 15px 20px;
  background: #f8f9fa;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  transition: background 0.3s ease;
  border-bottom: 1px solid #e9ecef;
}

.module-header:hover {
  background: #e9ecef;
}

.module-title {
  margin: 0;
  color: #000000; /* Bardziej czarny */
  font-size: 16px;
  font-weight: 700; /* Wytłuszczony */
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.module-title i {
  color: #007bff;
  transition: transform 0.3s ease;
  font-size: 12px;
}

.module-count {
  font-size: 12px;
  color: #666;
  background: #e9ecef;
  padding: 4px 8px;
  border-radius: 12px;
  font-weight: 600;
}

.module-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, padding 0.3s ease-out;
  padding: 0 20px;
}

.module-content.expanded {
  max-height: 2000px;
  padding: 20px;
}

.buttons-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.button-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.button-item:last-child {
  border-bottom: none;
}

.button-code {
  min-width: 80px;
  font-family: monospace;
  font-size: 12px;
  color: #666;
  text-align: center;
  font-weight: 600;
}

.button-description {
  flex: 1;
  color: #000000; /* Bardziej czarny */
  font-size: 14px;
  cursor: default;
  transition: color 0.3s ease, background-color 0.3s ease;
  font-weight: 500;
}

.button-description.clickable {
  cursor: pointer;
  color: #0056b3;
  padding: 4px 8px;
  border-radius: 4px;
}

.button-description.clickable:hover {
  color: #007bff;
  background-color: rgba(0, 123, 255, 0.1);
}

.permission-checkbox {
  display: flex;
  justify-content: center;
  align-items: center;
}

.permission-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  margin: 0;
  transition: all 0.3s ease;
  border: 2px solid #000000;
  border-radius: 4px;
  accent-color: #007bff;
}

.permission-checkbox input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.form-buttons {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

/* Usunięto lokalne style button i .cancel-button – dziedziczą z action-buttons.css (.btn-add, .btn-delete) */

.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
  font-weight: 600;
}

/* Responsywność – spójna z clients */
@media (max-width: 768px) {
  .permissions-form {
    padding: 16px;
    margin: 16px;
  }

  .global-toggle-section {
    flex-direction: column;
    gap: 12px;
  }

  .module-header {
    padding: 12px 16px;
  }

  .module-content.expanded {
    padding: 16px;
  }

  .button-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 0;
  }

  .button-code {
    min-width: auto;
    align-self: flex-end;
  }

  .permission-checkbox {
    align-self: flex-end;
  }

  .form-buttons {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .button-item {
    gap: 6px;
    padding: 8px 0;
  }

  .permission-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }
}/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-f546073f],
.gabito-btn-voucher-save[data-v-f546073f] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-f546073f] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-f546073f]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-f546073f]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-f546073f] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-f546073f]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-f546073f]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-f546073f] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-f546073f] { display: none;
}
}
.gabito-form-actions[data-v-f546073f] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-f546073f] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-f546073f] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-f546073f] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-f546073f]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-f546073f] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-f546073f] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-f546073f] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-f546073f]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-f546073f]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-f546073f],
.calendar-settings-modal .gabito-form-btn[data-v-f546073f],
.modal-footer .gabito-form-btn-cancel[data-v-f546073f],
.modal-footer .gabito-form-btn-save[data-v-f546073f] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-f546073f] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-f546073f],
  .calendar-settings-modal .gabito-form-btn[data-v-f546073f] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-f546073f] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-f546073f] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-f546073f]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-f546073f] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-f546073f]:hover:not(:disabled) {
  background-color: #c82333;
}
/* c:\Gabito_system\gabito_front\src\modules\lead-sources\components\LeadSourceList.css */
/* Encoding: UTF-8 */
/* Usunięto duplikaty stylów .audit-modal-* i .confirm-modal-* (teraz używane globalne AuditModal i ConfirmationModal) */

.lead-source-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.header-section h2 {
  margin: 0;
  color: #000000;
  font-size: 28px;
  font-weight: 700;
}

.error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}

.controls-section,
.search-section,
.action-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}

.status-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.status-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600;
}

.status-filter-label:hover {
  background: #e9ecef;
}

.status-filter-label input[type="checkbox"] {
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff;
}

.status-filter-label input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}

.select-control,
.search-input {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  min-width: 200px;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.select-control:focus,
.search-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
}

.search-container {
  position: relative;
  flex: 1;
  min-width: 300px;
}

.lead-sources-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.loading-state,
.empty-state,
.no-results {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}

.loading-state i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #007bff;
}

.empty-state i,
.no-results i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #dee2e6;
}

.empty-state p,
.no-results p {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #000000;
}

.view-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.view-modal {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 900px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}

.view-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
  flex-shrink: 0;
}

.view-modal-header h3 {
  margin: 0;
  color: #000000;
  font-size: 1.2em;
  font-weight: 700;
}

.close-button {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #999;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.3s, background 0.3s;
}

.close-button:hover {
  color: #333;
  background: #f8f9fa;
}

.view-modal-body {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}

/* Usunięto duplikaty .audit-modal-overlay, .audit-modal, .confirm-modal-overlay, .confirm-modal */

/* Pozostałe style (history-cards zachowane dla kompatybilności z innymi modułami) */
.history-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.history-card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  overflow: visible;
}

.history-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}

.pagination-section {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}

.btn-prev, .btn-next {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s;
}

.btn-prev:disabled, .btn-next:disabled {
  background: #dee2e6;
  cursor: not-allowed;
}

.btn-prev:hover:not(:disabled), .btn-next:hover:not(:disabled) {
  background: #0056b3;
}

@media (max-width: 768px) {
  .lead-source-list-container {
    padding: 5px;
  }

  .header-section {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .controls-section,
  .search-section,
  .action-section {
    flex-direction: column;
    width: 100%;
  }

  .status-filters {
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }

  .status-filter-label {
    justify-content: center;
    padding: 12px;
    font-size: 14px;
  }

  .status-filter-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }

  .lead-sources-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .view-modal {
    width: 95%;
    max-width: none;
  }

  .checkbox-label {
    font-size: 14px;
  }

  .checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }
  
  .uep-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: stretch;
  justify-content: center;
  z-index: 1200;
  padding: 0;
}
}

/* c:\Gabito_system\gabito_front\src\modules\lead-sources\components\LeadSourceList.css */
/* Encoding: UTF-8 */
/* Usunięto duplikaty stylów .audit-modal-* i .confirm-modal-* (teraz używane globalne AuditModal i ConfirmationModal) */
.lead-source-list-container[data-v-f93fc4b5] {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.header-section[data-v-f93fc4b5] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.header-section h2[data-v-f93fc4b5] {
  margin: 0;
  color: #000000;
  font-size: 28px;
  font-weight: 700;
}
.error-message[data-v-f93fc4b5] {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}
.controls-section[data-v-f93fc4b5],
.search-section[data-v-f93fc4b5],
.action-section[data-v-f93fc4b5] {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.status-filters[data-v-f93fc4b5] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.status-filter-label[data-v-f93fc4b5] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600;
}
.status-filter-label[data-v-f93fc4b5]:hover {
  background: #e9ecef;
}
.status-filter-label input[type="checkbox"][data-v-f93fc4b5] {
  margin: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff;
}
.status-filter-label input[type="checkbox"][data-v-f93fc4b5]:checked {
  background-color: #007bff;
  border-color: #007bff;
}
.select-control[data-v-f93fc4b5],
.search-input[data-v-f93fc4b5] {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  min-width: 200px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.select-control[data-v-f93fc4b5]:focus,
.search-input[data-v-f93fc4b5]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.search-icon[data-v-f93fc4b5] {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
}
.search-container[data-v-f93fc4b5] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.lead-sources-grid[data-v-f93fc4b5] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.loading-state[data-v-f93fc4b5],
.empty-state[data-v-f93fc4b5],
.no-results[data-v-f93fc4b5] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}
.loading-state i[data-v-f93fc4b5] {
  font-size: 48px;
  margin-bottom: 16px;
  color: #007bff;
}
.empty-state i[data-v-f93fc4b5],
.no-results i[data-v-f93fc4b5] {
  font-size: 48px;
  margin-bottom: 16px;
  color: #dee2e6;
}
.empty-state p[data-v-f93fc4b5],
.no-results p[data-v-f93fc4b5] {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #000000;
}
.view-modal-overlay[data-v-f93fc4b5] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.view-modal[data-v-f93fc4b5] {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 900px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}
.view-modal-header[data-v-f93fc4b5] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
  flex-shrink: 0;
}
.view-modal-header h3[data-v-f93fc4b5] {
  margin: 0;
  color: #000000;
  font-size: 1.2em;
  font-weight: 700;
}
.close-button[data-v-f93fc4b5] {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #999;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.3s, background 0.3s;
}
.close-button[data-v-f93fc4b5]:hover {
  color: #333;
  background: #f8f9fa;
}
.view-modal-body[data-v-f93fc4b5] {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}
/* Usunięto duplikaty .audit-modal-overlay, .audit-modal, .confirm-modal-overlay, .confirm-modal */
/* Pozostałe style (history-cards zachowane dla kompatybilności z innymi modułami) */
.history-cards[data-v-f93fc4b5] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.history-card[data-v-f93fc4b5] {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  overflow: visible;
}
.history-card[data-v-f93fc4b5]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}
.pagination-section[data-v-f93fc4b5] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}
.btn-prev[data-v-f93fc4b5], .btn-next[data-v-f93fc4b5] {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s;
}
.btn-prev[data-v-f93fc4b5]:disabled, .btn-next[data-v-f93fc4b5]:disabled {
  background: #dee2e6;
  cursor: not-allowed;
}
.btn-prev[data-v-f93fc4b5]:hover:not(:disabled), .btn-next[data-v-f93fc4b5]:hover:not(:disabled) {
  background: #0056b3;
}
@media (max-width: 768px) {
.lead-source-list-container[data-v-f93fc4b5] {
    padding: 5px;
}
.header-section[data-v-f93fc4b5] {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.controls-section[data-v-f93fc4b5],
  .search-section[data-v-f93fc4b5],
  .action-section[data-v-f93fc4b5] {
    flex-direction: column;
    width: 100%;
}
.status-filters[data-v-f93fc4b5] {
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.status-filter-label[data-v-f93fc4b5] {
    justify-content: center;
    padding: 12px;
    font-size: 14px;
}
.status-filter-label input[type="checkbox"][data-v-f93fc4b5] {
    width: 16px;
    height: 16px;
}
.lead-sources-grid[data-v-f93fc4b5] {
    grid-template-columns: 1fr;
    gap: 0;
}
.view-modal[data-v-f93fc4b5] {
    width: 95%;
    max-width: none;
}
.checkbox-label[data-v-f93fc4b5] {
    font-size: 14px;
}
.checkbox-label input[type="checkbox"][data-v-f93fc4b5] {
    width: 16px;
    height: 16px;
}
.uep-overlay[data-v-f93fc4b5] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: stretch;
  justify-content: center;
  z-index: 1200;
  padding: 0;
}
}

.lead-sources-list-view-settings-label[data-v-f93fc4b5] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.lead-sources-list-view-settings-hint[data-v-f93fc4b5] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.lead-sources-table-wrap[data-v-f93fc4b5] {
  width: 100%;
  overflow-x: auto;
  margin-top: 16px;
  padding-bottom: 8px;
}
.lead-sources-table[data-v-f93fc4b5] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
}
.lead-sources-table th[data-v-f93fc4b5],
.lead-sources-table td[data-v-f93fc4b5] {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.lead-sources-table th[data-v-f93fc4b5] {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.lead-sources-table tbody tr[data-v-f93fc4b5]:hover {
  background: #fafafa;
}
.lead-sources-table .num[data-v-f93fc4b5] {
  text-align: right;
  white-space: nowrap;
  width: 1%;
}
.lead-sources-table-title-link[data-v-f93fc4b5] {
  display: inline;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-decoration: underline;
  text-align: left;
}
.lead-sources-table-title-link[data-v-f93fc4b5]:hover {
  color: #0a58ca;
}
.lead-sources-table-ellipsis[data-v-f93fc4b5] {
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lead-sources-col-notes[data-v-f93fc4b5] {
  min-width: 130px;
  max-width: 220px;
  vertical-align: middle;
}
.lead-sources-col-actions[data-v-f93fc4b5] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.lead-sources-row-inactive[data-v-f93fc4b5] {
  background: #fff5f5 !important;
}
.lead-sources-row-recent[data-v-f93fc4b5] {
  box-shadow: inset 3px 0 0 #0d6efd;
}

.lead-source-list-view[data-v-23bf4d3f] {
  min-height: 100vh;
  background-color: #f8f9fa;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
.lead-source-list-view[data-v-23bf4d3f] {
}
}
/* c:\Gabito_system\gabito_front\src\modules\lead-sources\components\LeadSourceForm.css */
.lead-source-form {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

h2 {
  margin: 0 0 20px;
  color: #000000;
  font-size: 24px;
  font-weight: 700;
}

.form-row {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}

.form-row.checkboxes,
.form-row.status-section {
  flex-direction: column;
  gap: 12px;
}

.form-group {
  flex: 1;
}

label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
  color: #000000;
  font-size: 16px;
}

input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff;
}

input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}

input[type="checkbox"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

input,
textarea,
select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.error-field {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1) !important;
  background-color: #fff5f5;
}

.error-field:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.2) !important;
}

input[readonly],
textarea[readonly] {
  background-color: #f8f9fa;
  color: #000000;
  cursor: text;
  opacity: 0.9;
  font-weight: 500;
}

textarea {
  min-height: 100px;
  resize: vertical;
}

input:disabled,
select:disabled,
textarea:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
  opacity: 0.6;
}

.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  text-align: center;
  font-weight: 600;
}

.loading-text {
  font-style: italic;
  color: #666;
  font-size: 12px;
}

@media (max-width: 768px) {
  .lead-source-form {
    padding: 16px;
    margin: 16px;
  }

  .form-row {
    flex-direction: column;
    gap: 12px;
  }

  input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }

  .checkbox-label {
    font-size: 14px;
  }
}/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-e6e753c3],
.gabito-btn-voucher-save[data-v-e6e753c3] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-e6e753c3] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-e6e753c3]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-e6e753c3]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-e6e753c3] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-e6e753c3]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-e6e753c3]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-e6e753c3] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-e6e753c3] { display: none;
}
}
.gabito-form-actions[data-v-e6e753c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-e6e753c3] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-e6e753c3] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-e6e753c3] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-e6e753c3]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-e6e753c3] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-e6e753c3] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-e6e753c3] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-e6e753c3]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-e6e753c3]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-e6e753c3],
.calendar-settings-modal .gabito-form-btn[data-v-e6e753c3],
.modal-footer .gabito-form-btn-cancel[data-v-e6e753c3],
.modal-footer .gabito-form-btn-save[data-v-e6e753c3] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-e6e753c3] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-e6e753c3],
  .calendar-settings-modal .gabito-form-btn[data-v-e6e753c3] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-e6e753c3] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-e6e753c3] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-e6e753c3]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-e6e753c3] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-e6e753c3]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-a0b32823],
.gabito-btn-voucher-save[data-v-a0b32823] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-a0b32823] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-a0b32823]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-a0b32823]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-a0b32823] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-a0b32823]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-a0b32823]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-a0b32823] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-a0b32823] { display: none;
}
}
.gabito-form-actions[data-v-a0b32823] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-a0b32823] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-a0b32823] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-a0b32823] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-a0b32823]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-a0b32823] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-a0b32823] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-a0b32823] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-a0b32823]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-a0b32823]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-a0b32823],
.calendar-settings-modal .gabito-form-btn[data-v-a0b32823],
.modal-footer .gabito-form-btn-cancel[data-v-a0b32823],
.modal-footer .gabito-form-btn-save[data-v-a0b32823] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-a0b32823] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-a0b32823],
  .calendar-settings-modal .gabito-form-btn[data-v-a0b32823] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-a0b32823] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-a0b32823] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-a0b32823]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-a0b32823] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-a0b32823]:hover:not(:disabled) {
  background-color: #c82333;
}

.current-logo-container[data-v-8f188054] {
  margin-bottom: 12px;
}
.logo-preview[data-v-8f188054] {
  width: 200px;
  height: 100px;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
}
.current-logo[data-v-8f188054] {
  font-size: 13px;
  color: #666;
  margin-top: 4px;
}
/* c:\Gabito_system\gabito_front\src\modules\unitManagement\components\UnitSettingsForm.css */
/* Style formularza - dostosowane do ClientForm.css */
/* ZMIANY: Przywrócono wszystkie oryginalne style dropdownów (language, currency, timezone) – dropdowny nie są już zepsute.
   Dodano style dla nowego komponentu SearchableSelect.vue (identyczny wygląd). Plik jest teraz w 100% kompatybilny. */

.unit-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.form-row {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}

.form-group {
  flex: 1;
  position: relative; /* Dla pozycjonowania dropdown */
}

label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
}

input,
select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}

input:focus,
select:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* === STARE STYLE (przywrócone w całości) === */
.language-input-container,
.currency-input-container,
.timezone-input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}

.language-input,
.currency-input,
.timezone-input {
  width: 100%;
  padding: 12px 40px 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.language-input:focus,
.currency-input:focus,
.timezone-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.language-input:disabled,
.currency-input:disabled,
.timezone-input:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}

.language-arrow,
.currency-arrow,
.timezone-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6b7280;
  transition: transform 0.2s;
}

.language-dropdown,
.currency-dropdown,
.timezone-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 10;
  display: none;
}

.language-dropdown.open,
.currency-dropdown.open,
.timezone-dropdown.open {
  display: block;
}

.language-option,
.currency-option,
.timezone-option {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}

.language-option:hover,
.language-option.selected,
.currency-option:hover,
.currency-option.selected,
.timezone-option:hover,
.timezone-option.selected {
  background-color: #f8f9fa;
  color: #007bff;
}

.language-option:last-child,
.currency-option:last-child,
.timezone-option:last-child {
  border-bottom: none;
}

.language-loading,
.currency-loading,
.timezone-loading {
  padding: 12px 16px;
  text-align: center;
  color: #666;
  font-style: italic;
}

/* === NOWE STYLE DLA SearchableSelect.vue === */
.searchable-input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}

.searchable-input {
  width: 100%;
  padding: 12px 40px 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.searchable-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.searchable-input:disabled {
  background-color: #f8f9fa;
  cursor: not-allowed;
}

.arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6b7280;
  transition: transform 0.2s;
}

.searchable-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 10;
  display: none;
}

.searchable-dropdown.open {
  display: block;
}

.searchable-option {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}

.searchable-option:hover,
.searchable-option.selected {
  background-color: #f8f9fa;
  color: #007bff;
}

.searchable-option:last-child {
  border-bottom: none;
}

.searchable-loading {
  padding: 12px 16px;
  text-align: center;
  color: #666;
  font-style: italic;
}

/* Pozostałe style (niezmienione) */
input[type="file"] {
  padding: 8px;
}

.logo-preview {
  width: 200px;
  height: 100px;
  object-fit: contain;
  margin-top: 10px;
  border-radius: 4px;
}

.current-logo {
  font-size: 12px;
  color: #666;
  margin-top: 5px;
}

.form-buttons {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

.error {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  font-weight: 600;
}

.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}

@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
    gap: 12px;
  }

  .form-buttons {
    flex-direction: column;
  }
}
ul[data-v-cf572d9c] { list-style: none; margin: 0; padding: 0;
}
.field-error[data-v-cf572d9c] { color: #dc3545; font-size: 12px; margin-top: 4px;
}
/* c:\Gabito_system\gabito_front\src\modules\unitManagement\views\UnitSettingsView.css */
/* Style dla widoku ustawień jednostki - dostosowane do UnitList.css i UnitSettingsForm.css */

.unit-settings-view {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.view-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.view-header h1 {
  margin: 0;
  color: #000000;
  font-size: 28px;
  font-weight: 700;
}

.unit-selection-section {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.unit-selection-section h3 {
  margin-top: 0;
  color: #000000;
  font-size: 20px;
  font-weight: 700;
}

label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
}

.select-control {
  width: 100%;
  max-width: 400px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.select-control:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.select-control:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
}

.info-message {
  background: #d4edda;
  color: #155724;
  padding: 12px;
  border-radius: 6px;
  border-left: 4px solid #28a745;
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.info-message i {
  font-size: 16px;
}

.loading-state {
  text-align: center;
  padding: 40px;
  color: #666;
}

.error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 12px 16px;
  border-radius: 8px;
  border-left: 4px solid #dc3545;
  margin-top: 16px;
  font-weight: 600;
}

@media (max-width: 768px) {
  .unit-settings-view {
    padding: 10px;
  }

  .select-control {
    max-width: 100%;
  }
}/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-0dc17c70],
.gabito-btn-voucher-save[data-v-0dc17c70] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-0dc17c70] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-0dc17c70]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-0dc17c70]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-0dc17c70] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-0dc17c70]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-0dc17c70]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-0dc17c70] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-0dc17c70] { display: none;
}
}
.gabito-form-actions[data-v-0dc17c70] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-0dc17c70] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-0dc17c70] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-0dc17c70] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-0dc17c70]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-0dc17c70] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-0dc17c70] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-0dc17c70] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-0dc17c70]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-0dc17c70]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-0dc17c70],
.calendar-settings-modal .gabito-form-btn[data-v-0dc17c70],
.modal-footer .gabito-form-btn-cancel[data-v-0dc17c70],
.modal-footer .gabito-form-btn-save[data-v-0dc17c70] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-0dc17c70] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-0dc17c70],
  .calendar-settings-modal .gabito-form-btn[data-v-0dc17c70] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-0dc17c70] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-0dc17c70] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-0dc17c70]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-0dc17c70] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-0dc17c70]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-fe41230e] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-fe41230e] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-fe41230e] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-fe41230e], .empty-state[data-v-fe41230e] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-fe41230e] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-fe41230e] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-fe41230e] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-fe41230e] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-fe41230e] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-fe41230e] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-fe41230e]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-fe41230e] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-fe41230e] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-fe41230e] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-fe41230e] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-fe41230e] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-fe41230e] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-fe41230e] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-fe41230e] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-fe41230e] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-fe41230e] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-fe41230e] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-fe41230e] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-fe41230e] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-fe41230e] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-fe41230e] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-fe41230e] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-fe41230e] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-fe41230e] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-fe41230e] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-fe41230e] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-fe41230e]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.translation-filters[data-v-fe41230e] {
  align-items: center;
  gap: 10px;
}
.translation-language-filter[data-v-fe41230e] {
  flex: 1 0 620px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 8px 10px;
  border-left: 3px solid #007bff;
  border-radius: 6px;
  background: #e8f4fd;
  color: #333;
  font-weight: 700;
}
.translation-language-filter > span[data-v-fe41230e] {
  flex: 0 0 auto;
  white-space: nowrap;
}
.translation-language-select[data-v-fe41230e] {
  flex: 1 0 420px;
  min-width: 420px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  padding: 7px 10px;
  background: #fff;
}
.translation-translated-only-filter[data-v-fe41230e] {
  flex: 0 0 auto;
  white-space: nowrap;
}
.translation-action-btn[data-v-fe41230e] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  border: 1px solid #0d6efd !important;
  background: linear-gradient(180deg, #0d6efd 0%, #0a58ca 100%) !important;
  color: #fff !important;
  box-shadow: 0 2px 6px rgba(13, 110, 253, 0.24);
  white-space: nowrap;
}
.translation-action-btn[data-v-fe41230e]:hover:not(:disabled) {
  border-color: #084298 !important;
  background: linear-gradient(180deg, #0b5ed7 0%, #084298 100%) !important;
  color: #fff !important;
}
.translation-action-btn[data-v-fe41230e]:disabled {
  border-color: #7ab6ff !important;
  background: #e7f1ff !important;
  color: #084298 !important;
  opacity: 1 !important;
  box-shadow: inset 0 0 0 1px rgba(13, 110, 253, 0.12);
}
.translation-action-btn--danger[data-v-fe41230e] {
  border-color: #dc3545 !important;
  background: #dc3545 !important;
  color: #fff !important;
}
.translation-action-btn--danger[data-v-fe41230e]:hover:not(:disabled) {
  border-color: #b02a37 !important;
  background: #b02a37 !important;
  color: #fff !important;
}
.translation-action-btn--danger[data-v-fe41230e]:disabled {
  border-color: #f1aeb5 !important;
  background: #f8d7da !important;
  color: #842029 !important;
}
.translation-action-btn--warning[data-v-fe41230e] {
  border-color: #ffc107 !important;
  background: #ffc107 !important;
  color: #332701 !important;
}
.translation-action-btn--warning[data-v-fe41230e]:hover:not(:disabled) {
  border-color: #cc9a06 !important;
  background: #e0a800 !important;
  color: #241c01 !important;
}
.translation-action-btn--warning[data-v-fe41230e]:disabled {
  border-color: #ffda6a !important;
  background: #fff3cd !important;
  color: #664d03 !important;
}
.translation-progress-section[data-v-fe41230e] {
  margin: 16px 0 20px;
  padding: 14px 16px;
  border: 1px solid #e9ecef;
  border-radius: 10px;
  background: #fff;
}
.translation-progress-label[data-v-fe41230e] {
  margin: 0 0 8px;
  font-weight: 600;
}
.translation-progress-bar-container[data-v-fe41230e] {
  width: 100%;
  height: 28px;
  overflow: hidden;
  border-radius: 8px;
  background: #e9ecef;
}
.translation-progress-bar[data-v-fe41230e] {
  height: 100%;
  background: #007bff;
  transition: width 0.7s ease;
}
.translation-progress-bar.complete[data-v-fe41230e] {
  background: #28a745;
}
.translation-progress-text[data-v-fe41230e] {
  margin: 8px 0 0;
  color: #333;
  font-weight: 700;
  text-align: center;
}
.translation-system-key[data-v-fe41230e] {
  max-width: 360px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
  font-size: 0.88rem;
  overflow-wrap: anywhere;
}
.translation-text-cell[data-v-fe41230e] {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.translations-list[data-v-fe41230e] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 12px 0;
}
.translation-list-card__title[data-v-fe41230e] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
  font-size: 0.95rem;
  overflow-wrap: anywhere;
}
.translation-list-card__field[data-v-fe41230e] {
  display: grid;
  gap: 6px;
}
.translation-list-card__label[data-v-fe41230e] {
  color: #6c757d;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
}
.translation-list-card__value[data-v-fe41230e] {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.translation-view-settings[data-v-fe41230e] {
  display: grid;
  gap: 10px;
}
.translation-view-settings-label[data-v-fe41230e] {
  color: #343a40;
  font-weight: 700;
}
.translation-view-settings-hint[data-v-fe41230e] {
  margin: 0;
  color: #6c757d;
  font-size: 0.9rem;
}
.translation-alert[data-v-fe41230e] {
  margin: 10px 0 16px;
  padding: 12px;
  border-radius: 6px;
}
.translation-alert--success[data-v-fe41230e] {
  border: 1px solid #c3e6cb;
  background: #d4edda;
  color: #155724;
}
.translation-alert--error[data-v-fe41230e] {
  border: 1px solid #f5c6cb;
  background: #f8d7da;
  color: #721c24;
}
.loading-state[data-v-fe41230e],
.empty-state[data-v-fe41230e] {
  padding: 48px 16px;
  color: #666;
  text-align: center;
}
.modal-overlay[data-v-fe41230e] {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
}
.modal-content[data-v-fe41230e] {
  width: 90%;
  max-width: 620px;
  padding: 20px;
  border-radius: 8px;
  background: #fff;
}
.form-group[data-v-fe41230e] {
  margin-bottom: 14px;
}
.form-group label[data-v-fe41230e] {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
}
.form-input[data-v-fe41230e],
.form-textarea[data-v-fe41230e] {
  width: 100%;
  border: 1px solid #ced4da;
  border-radius: 6px;
  padding: 9px 10px;
  font: inherit;
}
.form-textarea[data-v-fe41230e] {
  resize: vertical;
}
.modal-actions[data-v-fe41230e] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
}
.save-button[data-v-fe41230e],
.cancel-button[data-v-fe41230e] {
  border: none;
  border-radius: 6px;
  padding: 9px 16px;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
}
.save-button[data-v-fe41230e] {
  background: #28a745;
}
.cancel-button[data-v-fe41230e] {
  background: #6c757d;
}
@media (max-width: 768px) {
.translation-filters[data-v-fe41230e],
  .translation-language-filter[data-v-fe41230e],
  .translation-action-btn[data-v-fe41230e] {
    width: 100%;
}
.translation-language-filter[data-v-fe41230e] {
    align-items: stretch;
    flex-direction: column;
    flex-basis: 100%;
}
.translation-language-select[data-v-fe41230e] {
    flex-basis: auto;
    min-width: 0;
    width: 100%;
}
.translations-list[data-v-fe41230e] {
    grid-template-columns: 1fr;
}
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
/* MyProfilePreview.css */
/* Encoding: UTF-8 */
/* ZAKTUALIZOWANY 13.04.2026 – dodano kolor pracownika (badge) + poprawki responsywności */
.myprofile-preview[data-v-7abefb3d] {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background-color: #f8f9fa;
  padding: 20px;
  height: auto !important;
  min-height: 0;
  overflow-y: visible !important;
}
.preview-card[data-v-7abefb3d] {
  background: white;
  max-width: 980px;
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  padding: 40px 30px;
  text-align: left;
}
.profile-tabs[data-v-7abefb3d] {
  display: flex;
  gap: 8px;
  margin: 16px 0 20px;
}
.profile-tabs-side[data-v-7abefb3d] {
  margin: 0;
  flex-direction: column;
  align-items: flex-start;
}
.profile-tab-btn[data-v-7abefb3d] {
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 8px;
  padding: 8px 14px;
  min-width: 120px;
  font-weight: 600;
  cursor: pointer;
  color: #1e293b;
  text-align: center;
}
.profile-tab-btn.active[data-v-7abefb3d] {
  background: #e0e7ff;
  border-color: #818cf8;
  color: #312e81;
}
.profile-top-row[data-v-7abefb3d] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}

/* Zdjęcie profilowe */
.profile-photo-large[data-v-7abefb3d] {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 50%;
  border: 5px solid #e0e0e0;
  margin-bottom: 24px;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.profile-photo-large[data-v-7abefb3d]:hover {
  transform: scale(1.08);
  box-shadow: 0 0 25px rgba(0, 123, 255, 0.6);
}
.no-photo-placeholder[data-v-7abefb3d] {
  font-size: 100px;
  color: #ccc;
}
.profile-info[data-v-7abefb3d] {
  text-align: left;
  margin: 12px 0 20px;
  font-size: 15px;
  line-height: 1.45;
}
.reviews-summary[data-v-7abefb3d] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 20px;
}
.kpi-grid[data-v-7abefb3d] {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 10px;
}
.kpi-tile[data-v-7abefb3d] {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px;
  background: #f8fafc;
}
.kpi-label[data-v-7abefb3d] {
  color: #475569;
  font-size: 0.85rem;
  margin-bottom: 4px;
}
.kpi-value[data-v-7abefb3d] {
  font-size: 1.2rem;
  font-weight: 700;
}
.trend-box[data-v-7abefb3d],
.weak-area-box[data-v-7abefb3d] {
  margin-top: 12px;
  font-size: 0.95rem;
}
.best-comments[data-v-7abefb3d] {
  margin-top: 14px;
}
.best-comments ul[data-v-7abefb3d] {
  margin: 8px 0 0;
  padding-left: 18px;
}
.best-comments li[data-v-7abefb3d] {
  margin-bottom: 8px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.comment-rating[data-v-7abefb3d] {
  display: inline-block;
  min-width: 40px;
  font-weight: 700;
  color: #0f766e;
}
.comment-text-btn[data-v-7abefb3d] {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  border: none;
  background: transparent;
  color: #334155;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  padding: 0;
  flex: 1;
  text-align: left;
}
.comment-text-btn[data-v-7abefb3d]:hover {
  color: #2563eb;
  text-decoration: underline;
}
.team-summary[data-v-7abefb3d] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 20px;
}
.password-section[data-v-7abefb3d] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px;
  margin: 18px 0 22px;
  background: #f8fafc;
}
.password-section h3[data-v-7abefb3d] {
  margin: 0 0 8px;
  color: #1e293b;
}
.password-section-hint[data-v-7abefb3d] {
  margin: 0 0 16px;
  color: #64748b;
  font-size: 0.95rem;
}
.team-table-wrapper[data-v-7abefb3d] {
  overflow-x: auto;
}
.team-table[data-v-7abefb3d] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.team-table th[data-v-7abefb3d],
.team-table td[data-v-7abefb3d] {
  border-bottom: 1px solid #e2e8f0;
  padding: 8px 10px;
  text-align: left;
}
.loading-inline[data-v-7abefb3d],
.no-comments[data-v-7abefb3d] {
  color: #64748b;
  font-size: 0.92rem;
}
.trend-up[data-v-7abefb3d] {
  color: #166534;
  font-weight: 700;
}
.trend-down[data-v-7abefb3d] {
  color: #991b1b;
  font-weight: 700;
}
.trend-flat[data-v-7abefb3d] {
  color: #475569;
  font-weight: 600;
}
.info-row[data-v-7abefb3d] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}
.info-row strong[data-v-7abefb3d] {
  display: inline-block;
  width: 76px;
  color: #555;
  font-weight: 700;
}

/* ==================== KOLOR PRACOWNIKA ==================== */
.color-row[data-v-7abefb3d] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.color-badge-preview[data-v-7abefb3d] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}

/* ==================== USTAWIENIA BIOMETRYCZNE ==================== */
.settings-section[data-v-7abefb3d] {
  margin: 30px 0;
  text-align: left;
}
.settings-section h3[data-v-7abefb3d] {
  font-size: 18px;
  margin-bottom: 15px;
  color: #333;
}
.switch-container[data-v-7abefb3d] {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.switch-container span[data-v-7abefb3d] {
  margin-left: 10px;
  font-size: 15px;
  color: #555;
}
.switch[data-v-7abefb3d] {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
}
.switch input[data-v-7abefb3d] {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider[data-v-7abefb3d] {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 24px;
}
.slider[data-v-7abefb3d]:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}
input:checked + .slider[data-v-7abefb3d] {
  background-color: #007bff;
}
input:checked + .slider[data-v-7abefb3d]:before {
  transform: translateX(26px);
}
input:disabled + .slider[data-v-7abefb3d] {
  opacity: 0.6;
  cursor: not-allowed;
}
.biometric-button[data-v-7abefb3d] {
  background: #28a745;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  width: 100%;
}
.biometric-button[data-v-7abefb3d]:hover {
  background: #218838;
}
.preview-buttons[data-v-7abefb3d] {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 20px;
}
.edit-button[data-v-7abefb3d] {
  background: #007bff;
  color: white;
  font-weight: 700;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.secondary-button[data-v-7abefb3d] {
  background: #6c757d;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.danger-button[data-v-7abefb3d] {
  background: #dc3545;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.two-factor-section[data-v-7abefb3d] {
  padding: 18px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fafc;
}
.two-factor-status[data-v-7abefb3d],
.two-factor-secret[data-v-7abefb3d] {
  margin: 10px 0;
}
.two-factor-setup[data-v-7abefb3d] {
  display: grid;
  gap: 10px;
}
.two-factor-qr[data-v-7abefb3d] {
  width: 180px;
  height: 180px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}
.two-factor-code-input[data-v-7abefb3d] {
  max-width: 220px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
}
.two-factor-recovery[data-v-7abefb3d] {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #facc15;
  border-radius: 8px;
  background: #fef9c3;
}
.two-factor-recovery ul[data-v-7abefb3d] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 6px;
  margin: 10px 0 0;
  padding-left: 18px;
}
.two-factor-actions[data-v-7abefb3d] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.success[data-v-7abefb3d] {
  color: #15803d;
  margin-top: 10px;
  font-weight: 700;
}

/* Loading i błędy */
.loading-spinner[data-v-7abefb3d] {
  font-size: 18px;
  color: #007bff;
  text-align: center;
}
.error[data-v-7abefb3d] {
  color: red;
  margin-top: 10px;
  text-align: center;
}

/* Responsywność */
@media (max-width: 768px) {
.myprofile-preview[data-v-7abefb3d] { padding: 16px;
}
.preview-card[data-v-7abefb3d] { padding: 30px 20px;
}
.profile-photo-large[data-v-7abefb3d] { width: 140px; height: 140px;
}
.info-row strong[data-v-7abefb3d] { width: 100px;
}
.color-badge-preview[data-v-7abefb3d] { width: 26px; height: 26px;
}
.kpi-grid[data-v-7abefb3d] { grid-template-columns: repeat(2, minmax(120px, 1fr));
}
.profile-top-row[data-v-7abefb3d] { align-items: flex-start;
}
.profile-tabs-side[data-v-7abefb3d] { margin-top: 6px;
}
}
@media (max-width: 480px) {
.preview-card[data-v-7abefb3d] { padding: 25px 15px;
}
.color-badge-preview[data-v-7abefb3d] { width: 24px; height: 24px;
}
}
/* Style language przeniesione z MyProfileForm.css */
.language-input-container[data-v-0ac38dbd] { position: relative; display: inline-block; width: 100%;
}
.language-input[data-v-0ac38dbd] { width: 100%; padding: 12px 40px 12px 16px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 14px; background: #fff;
}
.language-input[data-v-0ac38dbd]:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0,123,255,0.1);
}
.language-arrow[data-v-0ac38dbd] { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: #6b7280;
}
.language-dropdown[data-v-0ac38dbd] { position: absolute; top: 100%; left: 0; right: 0; max-height: 200px; overflow-y: auto; background: #fff; border: 1px solid #e0e0e0; border-top: none; border-radius: 0 0 8px 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); z-index: 10; display: none;
}
.language-dropdown.open[data-v-0ac38dbd] { display: block;
}
.language-option[data-v-0ac38dbd] { padding: 12px 16px; cursor: pointer; border-bottom: 1px solid #f0f0f0;
}
.language-option[data-v-0ac38dbd]:hover, .language-option.selected[data-v-0ac38dbd] { background-color: #f8f9fa; color: #007bff;
}
.language-loading[data-v-0ac38dbd] { padding: 12px 16px; text-align: center; color: #666; font-style: italic;
}

.photo-upload-group[data-v-3a4eea3c] { margin-bottom: 20px;
}
.photo-preview-container[data-v-3a4eea3c] { position: relative; display: inline-block; margin-bottom: 12px;
}
.photo-preview[data-v-3a4eea3c] { width: 180px; height: 180px; object-fit: cover; border-radius: 12px; border: 3px solid #e0e0e0; box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.remove-photo-btn[data-v-3a4eea3c] { position: absolute; top: -10px; right: -10px; background: #dc3545; color: #fff; border: none; border-radius: 50%; width: 32px; height: 32px; font-size: 20px; cursor: pointer;
}
.change-photo-btn[data-v-3a4eea3c] { background: #007bff; color: white; border: none; padding: 12px 24px; border-radius: 8px; cursor: pointer; font-weight: 600; display: flex; align-items: center; gap: 8px;
}
.change-photo-btn[data-v-3a4eea3c]:hover:not(:disabled) { background: #0056b3; transform: translateY(-1px);
}
.help-text[data-v-3a4eea3c] { color: #666; font-size: 13px; display: block; margin-top: 6px;
}
/* src\modules\myProfile\components\MyProfileForm.css */
/* Encoding: UTF-8 */
/* Usunięto wszystkie style związane ze starym uploaderem + crop (przeniesione do nowego ProfilePhotoUploader.vue) */

.myprofile-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

.form-row {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}
.form-group {
  flex: 1;
  margin-bottom: 15px;
  position: relative;
}
label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #000000;
  font-size: 16px;
}
input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
}
input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
input:disabled {
  background-color: #f8f9fa;
  color: #000000;
  cursor: not-allowed;
  opacity: 0.9;
  font-weight: 500;
}

/* Responsywność */
@media (max-width: 768px) {
  .myprofile-form { padding: 16px; }
  .form-row { flex-direction: column; gap: 12px; }
}
.change-password-form[data-v-a3f7f5eb] {
  max-width: 420px;
}
.form-group[data-v-a3f7f5eb] {
  margin-bottom: 14px;
}
label[data-v-a3f7f5eb] {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  color: #334155;
}
input[data-v-a3f7f5eb] {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
}
input[data-v-a3f7f5eb]:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.12);
}
.visually-hidden[data-v-a3f7f5eb] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.change-password-button[data-v-a3f7f5eb] {
  padding: 10px 16px;
  background: #007bff;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
}
.change-password-button[data-v-a3f7f5eb]:disabled {
  background: #94a3b8;
  cursor: not-allowed;
}
.success[data-v-a3f7f5eb] {
  color: #166534;
  margin-top: 10px;
}
.error[data-v-a3f7f5eb] {
  color: #b91c1c;
  margin-top: 10px;
}
/* MyProfilePreview.css */
/* Encoding: UTF-8 */
/* ZAKTUALIZOWANY 13.04.2026 – dodano kolor pracownika (badge) + poprawki responsywności */
.myprofile-preview[data-v-2e1580f6] {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background-color: #f8f9fa;
  padding: 20px;
  height: auto !important;
  min-height: 0;
  overflow-y: visible !important;
}
.preview-card[data-v-2e1580f6] {
  background: white;
  max-width: 980px;
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  padding: 40px 30px;
  text-align: left;
}
.profile-tabs[data-v-2e1580f6] {
  display: flex;
  gap: 8px;
  margin: 16px 0 20px;
}
.profile-tabs-side[data-v-2e1580f6] {
  margin: 0;
  flex-direction: column;
  align-items: flex-start;
}
.profile-tab-btn[data-v-2e1580f6] {
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 8px;
  padding: 8px 14px;
  min-width: 120px;
  font-weight: 600;
  cursor: pointer;
  color: #1e293b;
  text-align: center;
}
.profile-tab-btn.active[data-v-2e1580f6] {
  background: #e0e7ff;
  border-color: #818cf8;
  color: #312e81;
}
.profile-top-row[data-v-2e1580f6] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}

/* Zdjęcie profilowe */
.profile-photo-large[data-v-2e1580f6] {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 50%;
  border: 5px solid #e0e0e0;
  margin-bottom: 24px;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.profile-photo-large[data-v-2e1580f6]:hover {
  transform: scale(1.08);
  box-shadow: 0 0 25px rgba(0, 123, 255, 0.6);
}
.no-photo-placeholder[data-v-2e1580f6] {
  font-size: 100px;
  color: #ccc;
}
.profile-info[data-v-2e1580f6] {
  text-align: left;
  margin: 12px 0 20px;
  font-size: 15px;
  line-height: 1.45;
}
.reviews-summary[data-v-2e1580f6] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 20px;
}
.kpi-grid[data-v-2e1580f6] {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 10px;
}
.kpi-tile[data-v-2e1580f6] {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px;
  background: #f8fafc;
}
.kpi-label[data-v-2e1580f6] {
  color: #475569;
  font-size: 0.85rem;
  margin-bottom: 4px;
}
.kpi-value[data-v-2e1580f6] {
  font-size: 1.2rem;
  font-weight: 700;
}
.trend-box[data-v-2e1580f6],
.weak-area-box[data-v-2e1580f6] {
  margin-top: 12px;
  font-size: 0.95rem;
}
.best-comments[data-v-2e1580f6] {
  margin-top: 14px;
}
.best-comments ul[data-v-2e1580f6] {
  margin: 8px 0 0;
  padding-left: 18px;
}
.best-comments li[data-v-2e1580f6] {
  margin-bottom: 8px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.comment-rating[data-v-2e1580f6] {
  display: inline-block;
  min-width: 40px;
  font-weight: 700;
  color: #0f766e;
}
.comment-text-btn[data-v-2e1580f6] {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  border: none;
  background: transparent;
  color: #334155;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  padding: 0;
  flex: 1;
  text-align: left;
}
.comment-text-btn[data-v-2e1580f6]:hover {
  color: #2563eb;
  text-decoration: underline;
}
.team-summary[data-v-2e1580f6] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 20px;
}
.password-section[data-v-2e1580f6] {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px;
  margin: 18px 0 22px;
  background: #f8fafc;
}
.password-section h3[data-v-2e1580f6] {
  margin: 0 0 8px;
  color: #1e293b;
}
.password-section-hint[data-v-2e1580f6] {
  margin: 0 0 16px;
  color: #64748b;
  font-size: 0.95rem;
}
.team-table-wrapper[data-v-2e1580f6] {
  overflow-x: auto;
}
.team-table[data-v-2e1580f6] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.team-table th[data-v-2e1580f6],
.team-table td[data-v-2e1580f6] {
  border-bottom: 1px solid #e2e8f0;
  padding: 8px 10px;
  text-align: left;
}
.loading-inline[data-v-2e1580f6],
.no-comments[data-v-2e1580f6] {
  color: #64748b;
  font-size: 0.92rem;
}
.trend-up[data-v-2e1580f6] {
  color: #166534;
  font-weight: 700;
}
.trend-down[data-v-2e1580f6] {
  color: #991b1b;
  font-weight: 700;
}
.trend-flat[data-v-2e1580f6] {
  color: #475569;
  font-weight: 600;
}
.info-row[data-v-2e1580f6] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}
.info-row strong[data-v-2e1580f6] {
  display: inline-block;
  width: 76px;
  color: #555;
  font-weight: 700;
}

/* ==================== KOLOR PRACOWNIKA ==================== */
.color-row[data-v-2e1580f6] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.color-badge-preview[data-v-2e1580f6] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}

/* ==================== USTAWIENIA BIOMETRYCZNE ==================== */
.settings-section[data-v-2e1580f6] {
  margin: 30px 0;
  text-align: left;
}
.settings-section h3[data-v-2e1580f6] {
  font-size: 18px;
  margin-bottom: 15px;
  color: #333;
}
.switch-container[data-v-2e1580f6] {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.switch-container span[data-v-2e1580f6] {
  margin-left: 10px;
  font-size: 15px;
  color: #555;
}
.switch[data-v-2e1580f6] {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
}
.switch input[data-v-2e1580f6] {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider[data-v-2e1580f6] {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 24px;
}
.slider[data-v-2e1580f6]:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}
input:checked + .slider[data-v-2e1580f6] {
  background-color: #007bff;
}
input:checked + .slider[data-v-2e1580f6]:before {
  transform: translateX(26px);
}
input:disabled + .slider[data-v-2e1580f6] {
  opacity: 0.6;
  cursor: not-allowed;
}
.biometric-button[data-v-2e1580f6] {
  background: #28a745;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  width: 100%;
}
.biometric-button[data-v-2e1580f6]:hover {
  background: #218838;
}
.preview-buttons[data-v-2e1580f6] {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 20px;
}
.edit-button[data-v-2e1580f6] {
  background: #007bff;
  color: white;
  font-weight: 700;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.secondary-button[data-v-2e1580f6] {
  background: #6c757d;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.danger-button[data-v-2e1580f6] {
  background: #dc3545;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.two-factor-section[data-v-2e1580f6] {
  padding: 18px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fafc;
}
.two-factor-status[data-v-2e1580f6],
.two-factor-secret[data-v-2e1580f6] {
  margin: 10px 0;
}
.two-factor-setup[data-v-2e1580f6] {
  display: grid;
  gap: 10px;
}
.two-factor-qr[data-v-2e1580f6] {
  width: 180px;
  height: 180px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}
.two-factor-code-input[data-v-2e1580f6] {
  max-width: 220px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
}
.two-factor-recovery[data-v-2e1580f6] {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #facc15;
  border-radius: 8px;
  background: #fef9c3;
}
.two-factor-recovery ul[data-v-2e1580f6] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 6px;
  margin: 10px 0 0;
  padding-left: 18px;
}
.two-factor-actions[data-v-2e1580f6] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.success[data-v-2e1580f6] {
  color: #15803d;
  margin-top: 10px;
  font-weight: 700;
}

/* Loading i błędy */
.loading-spinner[data-v-2e1580f6] {
  font-size: 18px;
  color: #007bff;
  text-align: center;
}
.error[data-v-2e1580f6] {
  color: red;
  margin-top: 10px;
  text-align: center;
}

/* Responsywność */
@media (max-width: 768px) {
.myprofile-preview[data-v-2e1580f6] { padding: 16px;
}
.preview-card[data-v-2e1580f6] { padding: 30px 20px;
}
.profile-photo-large[data-v-2e1580f6] { width: 140px; height: 140px;
}
.info-row strong[data-v-2e1580f6] { width: 100px;
}
.color-badge-preview[data-v-2e1580f6] { width: 26px; height: 26px;
}
.kpi-grid[data-v-2e1580f6] { grid-template-columns: repeat(2, minmax(120px, 1fr));
}
.profile-top-row[data-v-2e1580f6] { align-items: flex-start;
}
.profile-tabs-side[data-v-2e1580f6] { margin-top: 6px;
}
}
@media (max-width: 480px) {
.preview-card[data-v-2e1580f6] { padding: 25px 15px;
}
.color-badge-preview[data-v-2e1580f6] { width: 24px; height: 24px;
}
}
.payments-view[data-v-3e7046b7] {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 20px;
}
.payments-hero[data-v-3e7046b7] {
  margin-bottom: 28px;
  padding: 28px;
  border-radius: 18px;
  background: #f7fbff;
  border: 1px solid #d9e8f7;
  text-align: center;
}
.status-active[data-v-3e7046b7] {
  color: #18794e;
  font-weight: 600;
}
.status-expired[data-v-3e7046b7] {
  color: #9a3412;
  font-weight: 600;
}
.pricing-section[data-v-3e7046b7] {
  margin-top: 28px;
}
.pricing-grid[data-v-3e7046b7] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.pricing-card[data-v-3e7046b7] {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  border: 1px solid #dce6f1;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.pricing-card.highlighted[data-v-3e7046b7] {
  border-color: #2563eb;
  box-shadow: 0 10px 28px rgba(37, 99, 235, 0.16);
}
.package-group[data-v-3e7046b7],
.period[data-v-3e7046b7] {
  color: #64748b;
}
.price[data-v-3e7046b7] {
  margin: 16px 0 8px;
  font-size: 2rem;
  font-weight: 700;
  color: #0f172a;
}
.description-list[data-v-3e7046b7] {
  margin: 16px 0;
  padding-left: 18px;
  text-align: left;
}
.primary-button[data-v-3e7046b7] {
  border: none;
  border-radius: 10px;
  padding: 12px 16px;
  background: #2563eb;
  color: #ffffff;
  font-weight: 700;
  cursor: pointer;
}
.primary-button[data-v-3e7046b7]:disabled {
  cursor: wait;
  opacity: 0.65;
}
.error-message[data-v-3e7046b7] {
  margin: 16px 0;
  padding: 12px 16px;
  border-radius: 10px;
  background: #fee2e2;
  color: #991b1b;
}
.loading[data-v-3e7046b7] {
  text-align: center;
  color: #64748b;
}
/* src/modules/ClientGroups/components/ClientGroupList.css */
/* Encoding: utf-8 */
/* Module-specific styles only – shared card styles moved to shared-card-styles.css */
/* Main container – minimalist background, more space */
.client-group-list-container {
  max-width: 100vw; /* Full viewport width for minimal free space */
  margin: 0; /* No auto to use full width */
  padding: 10px; /* Minimal side padding */
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Header */
.header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.header-section h2 {
  margin: 0;
  color: #000000; /* Blacker */
  font-size: 28px;
  font-weight: 700; /* Bold */
}
.error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600; /* Bold error */
}
/* Controls sections – responsive */
.controls-section,
.search-section,
.action-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.select-control,
.search-input {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  min-width: 200px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.select-control:focus,
.search-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
/* NEW: Container for active/inactive checkboxes */
.active-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
/* Styles for active/inactive checkbox - readable and colorful */
.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px; /* Larger for readability */
  color: #000000; /* Blacker */
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600; /* Bold */
}
.active-filter-label:hover {
  background: #e9ecef;
}
.active-filter-label input[type="checkbox"] {
  margin: 0;
  width: 18px; /* Larger size */
  height: 18px;
  border: 2px solid #000000; /* Black border for readability */
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease; /* Smooth animation */
  accent-color: #007bff; /* Fill color when checked */
}
.active-filter-label input[type="checkbox"]:checked {
  background-color: #007bff; /* Blue background */
  border-color: #007bff; /* Matching border */
}
.search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
}
.search-container {
  position: relative;
  flex: 1;
  min-width: 300px;
}
/* REMOVED: Styles for .clear-btn, .add-btn – inherit from action-buttons.css */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
/* Grid for cards – main layout */
.client-groups-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Min 300px to prevent overflow <350px */
  gap: 20px;
  margin-top: 20px;
}
/* Specific styles for client-group-card (e.g., inactive) */
.client-group-card {
  /* Any group-specific tweaks here */
}
.client-group-card.inactive-group {
  background: #fff5f5;
  border-color: #f8d7da;
}
.client-group-card.inactive-group:hover {
  background: #fff0f0;
}
/* Special states */
.loading-state,
.empty-state,
.no-results {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}
.loading-state i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #007bff;
}
.empty-state i,
.no-results i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #dee2e6;
}
.empty-state p,
.no-results p {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600; /* Bold */
  color: #000000; /* Blacker */
}
/* REMOVED: Styles for .empty-action-btn – inherit from action-buttons.css (.btn-add) */
.loading {
  text-align: center;
  padding: 20px;
  color: #666;
}
/* New styles for confirmation modal */
.confirm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
}
.confirm-modal {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}
.confirm-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
}
.confirm-modal-header h3 {
  margin: 0;
  color: #000000; /* Blacker */
  font-weight: 700; /* Bold */
}
.confirm-modal-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.confirm-modal-body p {
  margin: 0;
  color: #000000; /* Blacker */
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500; /* Semi-bold */
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600; /* Bold */
  cursor: pointer;
  color: #000000; /* Blacker */
  font-size: 16px; /* Larger for readability */
}
.checkbox-label input[type="checkbox"] {
  margin: 0;
  width: 18px; /* Larger size */
  height: 18px;
  border: 2px solid #000000; /* Black border */
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff; /* Color when checked */
}
.checkbox-label input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}
.confirm-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px;
  border-top: 1px solid #e9ecef;
}
/* REMOVED: Styles for .confirm-button, .cancel-button – inherit from action-buttons.css (.btn-add, .btn-delete) */
/* Style dla menu rozwijanego z dynamicznym kierunkiem */
.action-dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  min-width: 160px;
  z-index: 100;
  padding: 8px 0;
}


/* Responsiveness */
@media (max-width: 768px) {
  .client-group-list-container {
    padding: 5px; /* Even smaller padding for narrow screens */
  }
  .header-section {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .controls-section,
  .search-section,
  .action-section {
    flex-direction: column;
    width: 100%;
  }
  .active-filters-container {
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }
  .active-filter-label {
    justify-content: center;
    padding: 12px;
    font-size: 14px;
  }
  .active-filter-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }
  .client-groups-grid {
    grid-template-columns: 1fr;
    gap: 0; /* Zero gap on mobile for full width tiles */
  }
  .card-header {
    padding: 16px;
  }
  .header-right {
    right: 16px; /* Adjust padding on mobile */
  }
  .header-left {
    padding-right: 40px; /* Smaller padding on mobile for button */
  }
  .card-title {
    font-size: 16px;
  }
  .confirm-modal {
    width: 95%;
  }
  .checkbox-label {
    font-size: 14px;
  }
  .checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }

}
@media (max-width: 480px) {
  .client-groups-grid {
    gap: 0; /* Ensure zero gap on very small screens */
  }
  .card-header,
  .card-content {
    padding: 12px;
  }
  .header-right {
    right: 12px;
  }
  .header-left {
    padding-right: 36px; /* Match button size ~32px on small screens */
  }
}
/* Dodane style dla historii zmian, aby dopasować do modułu lead-sources */
.history-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.history-card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  overflow: visible;
}
.history-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}
.event-created { color: #28a745; font-weight: 600; }
.event-updated { color: #007bff; font-weight: 600; }
.event-deleted, .event-deactivated { color: #dc3545; font-weight: 600; }
.event-restored { color: #ffc107; font-weight: 600; }
.event-default { color: #6c757d; font-weight: 600; }

/* ============================================= */
/* NOWY STYL PRZYCISKU ZARZĄDZANIA KLIENTAMI     */
/* (przeniesiony do #content – kompaktowa wersja) */
/* ============================================= */
.client-group-clients-btn {
  width: 100% !important;
  min-width: auto !important;           /* nie wymuszamy 420 px */
  height: 50px !important;
  padding: 0 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: linear-gradient(90deg, #007bff, #00aaff) !important;
  color: white !important;
  border: none !important;
  border-radius: 10px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3) !important;
  transition: all 0.3s ease !important;
  margin-top: 16px !important;
}

.client-group-clients-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 123, 255, 0.4) !important;
  background: linear-gradient(90deg, #0056b3, #007bff) !important;
}

.client-group-clients-btn i {
  font-size: 18px;
}

.count-badge {
  background: rgba(255,255,255,0.3);
  padding: 2px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}/* src/modules/ClientGroups/components/ClientGroupList.css */
/* Encoding: utf-8 */
/* Module-specific styles only – shared card styles moved to shared-card-styles.css */
/* Main container – minimalist background, more space */
.client-group-list-container {
  max-width: 100vw; /* Full viewport width for minimal free space */
  margin: 0; /* No auto to use full width */
  padding: 10px; /* Minimal side padding */
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Header */
.header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.header-section h2 {
  margin: 0;
  color: #000000; /* Blacker */
  font-size: 28px;
  font-weight: 700; /* Bold */
}
.error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600; /* Bold error */
}
/* Controls sections – responsive */
.controls-section,
.search-section,
.action-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.select-control,
.search-input {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  min-width: 200px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.select-control:focus,
.search-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
/* NEW: Container for active/inactive checkboxes */
.active-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
/* Styles for active/inactive checkbox - readable and colorful */
.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px; /* Larger for readability */
  color: #000000; /* Blacker */
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600; /* Bold */
}
.active-filter-label:hover {
  background: #e9ecef;
}
.active-filter-label input[type="checkbox"] {
  margin: 0;
  width: 18px; /* Larger size */
  height: 18px;
  border: 2px solid #000000; /* Black border for readability */
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease; /* Smooth animation */
  accent-color: #007bff; /* Fill color when checked */
}
.active-filter-label input[type="checkbox"]:checked {
  background-color: #007bff; /* Blue background */
  border-color: #007bff; /* Matching border */
}
.search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  pointer-events: none;
}
.search-container {
  position: relative;
  flex: 1;
  min-width: 300px;
}
/* REMOVED: Styles for .clear-btn, .add-btn – inherit from action-buttons.css */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
/* Grid for cards – main layout */
.client-groups-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Min 300px to prevent overflow <350px */
  gap: 20px;
  margin-top: 20px;
}
/* Specific styles for client-group-card (e.g., inactive) */
.client-group-card {
  /* Any group-specific tweaks here */
}
.client-group-card.inactive-group {
  background: #fff5f5;
  border-color: #f8d7da;
}
.client-group-card.inactive-group:hover {
  background: #fff0f0;
}
/* Special states */
.loading-state,
.empty-state,
.no-results {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}
.loading-state i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #007bff;
}
.empty-state i,
.no-results i {
  font-size: 48px;
  margin-bottom: 16px;
  color: #dee2e6;
}
.empty-state p,
.no-results p {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 600; /* Bold */
  color: #000000; /* Blacker */
}
/* REMOVED: Styles for .empty-action-btn – inherit from action-buttons.css (.btn-add) */
.loading {
  text-align: center;
  padding: 20px;
  color: #666;
}
/* New styles for confirmation modal */
.confirm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
}
.confirm-modal {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}
.confirm-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #e9ecef;
}
.confirm-modal-header h3 {
  margin: 0;
  color: #000000; /* Blacker */
  font-weight: 700; /* Bold */
}
.confirm-modal-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.confirm-modal-body p {
  margin: 0;
  color: #000000; /* Blacker */
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500; /* Semi-bold */
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600; /* Bold */
  cursor: pointer;
  color: #000000; /* Blacker */
  font-size: 16px; /* Larger for readability */
}
.checkbox-label input[type="checkbox"] {
  margin: 0;
  width: 18px; /* Larger size */
  height: 18px;
  border: 2px solid #000000; /* Black border */
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  accent-color: #007bff; /* Color when checked */
}
.checkbox-label input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}
.confirm-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px;
  border-top: 1px solid #e9ecef;
}
/* REMOVED: Styles for .confirm-button, .cancel-button – inherit from action-buttons.css (.btn-add, .btn-delete) */
/* Style dla menu rozwijanego z dynamicznym kierunkiem */
.action-dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  min-width: 160px;
  z-index: 100;
  padding: 8px 0;
}
/* Responsiveness */
@media (max-width: 768px) {
.client-group-list-container {
    padding: 5px; /* Even smaller padding for narrow screens */
}
.header-section {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.controls-section,
  .search-section,
  .action-section {
    flex-direction: column;
    width: 100%;
}
.active-filters-container {
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.active-filter-label {
    justify-content: center;
    padding: 12px;
    font-size: 14px;
}
.active-filter-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
}
.client-groups-grid {
    grid-template-columns: 1fr;
    gap: 0; /* Zero gap on mobile for full width tiles */
}
.card-header {
    padding: 16px;
}
.header-right {
    right: 16px; /* Adjust padding on mobile */
}
.header-left {
    padding-right: 40px; /* Smaller padding on mobile for button */
}
.card-title {
    font-size: 16px;
}
.confirm-modal {
    width: 95%;
}
.checkbox-label {
    font-size: 14px;
}
.checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
}
}
@media (max-width: 480px) {
.client-groups-grid {
    gap: 0; /* Ensure zero gap on very small screens */
}
.card-header,
  .card-content {
    padding: 12px;
}
.header-right {
    right: 12px;
}
.header-left {
    padding-right: 36px; /* Match button size ~32px on small screens */
}
}
/* Dodane style dla historii zmian, aby dopasować do modułu lead-sources */
.history-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.history-card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  overflow: visible;
}
.history-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}
.event-created { color: #28a745; font-weight: 600;
}
.event-updated { color: #007bff; font-weight: 600;
}
.event-deleted, .event-deactivated { color: #dc3545; font-weight: 600;
}
.event-restored { color: #ffc107; font-weight: 600;
}
.event-default { color: #6c757d; font-weight: 600;
}
/* ============================================= */
/* NOWY STYL PRZYCISKU ZARZĄDZANIA KLIENTAMI     */
/* (przeniesiony do #content – kompaktowa wersja) */
/* ============================================= */
.client-group-clients-btn {
  width: 100% !important;
  min-width: auto !important;           /* nie wymuszamy 420 px */
  height: 50px !important;
  padding: 0 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: linear-gradient(90deg, #007bff, #00aaff) !important;
  color: white !important;
  border: none !important;
  border-radius: 10px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3) !important;
  transition: all 0.3s ease !important;
  margin-top: 16px !important;
}
.client-group-clients-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 123, 255, 0.4) !important;
  background: linear-gradient(90deg, #0056b3, #007bff) !important;
}
.client-group-clients-btn i {
  font-size: 18px;
}
.count-badge {
  background: rgba(255,255,255,0.3);
  padding: 2px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.client-groups-list-view-settings-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.client-groups-list-view-settings-hint {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.client-groups-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin-top: 16px;
  padding-bottom: 8px;
}
.client-groups-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
}
.client-groups-table th,
.client-groups-table td {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.client-groups-table th {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.client-groups-table tbody tr:hover {
  background: #fafafa;
}
.client-groups-table .num {
  text-align: right;
  white-space: nowrap;
  width: 1%;
}
.client-groups-table-title-link {
  display: inline;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-decoration: underline;
  text-align: left;
}
.client-groups-table-title-link:hover {
  color: #0a58ca;
}
.client-groups-table-ellipsis {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.client-groups-col-notes {
  min-width: 130px;
  max-width: 220px;
  vertical-align: middle;
}
.client-groups-col-actions {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.client-groups-row-inactive {
  background: #fff5f5 !important;
}
.client-groups-row-recent {
  box-shadow: inset 3px 0 0 #0d6efd;
}
.client-group-clients-btn--table {
  margin-top: 0;
}

.client-group-list-view[data-v-3a85aae7] {
  background-color: #f8f9fa;
  min-height: 100vh;
}
/* src/modules/ClientGroups/components/ClientGroupForm.css */
/* Encoding: utf-8 */
/* Uproszczony – tylko content (header + container przeniesione do UniversalEntityPreview) */

.client-group-form-content {
  max-width: 880px;
  margin: 0 auto;
  width: 100%;
  padding: 32px 26px;
}

.form-row { display: flex; gap: 15px; margin-bottom: 20px; }
.form-group { flex: 1; }
label { display: block; margin-bottom: 6px; font-weight: 700; color: #000000; font-size: 16px; }
input, textarea, select {
  width: 100%; padding: 12px 16px; border: 1px solid #e0e0e0; border-radius: 8px;
  font-size: 14px; background: #fff; transition: border-color 0.3s, box-shadow 0.3s;
}
input:focus, select:focus, textarea:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0,123,255,0.1); }

.view-value {
  padding: 14px 18px;
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  min-height: 52px;
  color: #111827;
}

.error { color: #dc3545; background: #f8d7da; padding: 12px 16px; border-radius: 8px; border-left: 4px solid #dc3545; margin-top: 16px; text-align: center; font-weight: 600; }
textarea { min-height: 100px; resize: vertical; }
input:disabled, select:disabled, textarea:disabled { background: #f8f9fa; cursor: not-allowed; opacity: 0.6; }

/* Responsywność */
@media (max-width: 768px) {
  .client-group-form-content { padding: 20px 18px; }
  .form-row { flex-direction: column; gap: 12px; }
}/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-4246bcb8],
.gabito-btn-voucher-save[data-v-4246bcb8] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-4246bcb8] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-4246bcb8]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-4246bcb8]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-4246bcb8] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-4246bcb8]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-4246bcb8]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-4246bcb8] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-4246bcb8] { display: none;
}
}
.gabito-form-actions[data-v-4246bcb8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-4246bcb8] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-4246bcb8] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-4246bcb8] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-4246bcb8]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-4246bcb8] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-4246bcb8] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-4246bcb8] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-4246bcb8]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-4246bcb8]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-4246bcb8],
.calendar-settings-modal .gabito-form-btn[data-v-4246bcb8],
.modal-footer .gabito-form-btn-cancel[data-v-4246bcb8],
.modal-footer .gabito-form-btn-save[data-v-4246bcb8] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-4246bcb8] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-4246bcb8],
  .calendar-settings-modal .gabito-form-btn[data-v-4246bcb8] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-4246bcb8] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-4246bcb8] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-4246bcb8]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-4246bcb8] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-4246bcb8]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-da153b45],
.gabito-btn-voucher-save[data-v-da153b45] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-da153b45] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-da153b45]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-da153b45]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-da153b45] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-da153b45]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-da153b45]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-da153b45] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-da153b45] { display: none;
}
}
.gabito-form-actions[data-v-da153b45] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-da153b45] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-da153b45] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-da153b45] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-da153b45]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-da153b45] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-da153b45] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-da153b45] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-da153b45]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-da153b45]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-da153b45],
.calendar-settings-modal .gabito-form-btn[data-v-da153b45],
.modal-footer .gabito-form-btn-cancel[data-v-da153b45],
.modal-footer .gabito-form-btn-save[data-v-da153b45] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-da153b45] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-da153b45],
  .calendar-settings-modal .gabito-form-btn[data-v-da153b45] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-da153b45] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-da153b45] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-da153b45]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-da153b45] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-da153b45]:hover:not(:disabled) {
  background-color: #c82333;
}

.client-group-preview-content[data-v-06e92121] {
  max-width: 820px;
  margin: 0 auto;
  padding: 20px 0;
}
.preview-row[data-v-06e92121] {
  margin-bottom: 28px;
}
.preview-row label[data-v-06e92121] {
  display: block;
  font-weight: 700;
  color: #000;
  margin-bottom: 8px;
  font-size: 16px;
}
.preview-value[data-v-06e92121] {
  padding: 14px 18px;
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  min-height: 52px;
}
.preview-meta[data-v-06e92121] {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
  color: #555;
  font-size: 15px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.search-status[data-v-65194551] {
  text-align: center;
  padding: 24px 20px;
  color: #007bff;
  font-weight: 700;
  font-size: 15px;
}
.search-results-grid[data-v-65194551],
.current-clients-grid[data-v-65194551] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 20px;
  margin-top: 16px;
}
h4[data-v-65194551] {
  margin: 28px 0 14px 0;
  color: #1f2937;
  font-weight: 700;
}

/* ============================================= */
/* NOWE STYLE DLA PRZYCISKU „USUŃ” – CZERWONY   */
/* ============================================= */
.gabito-btn-delete[data-v-65194551] {
  background-color: #dc3545 !important;
  color: white !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(220, 53, 69, 0.3) !important;
}
.gabito-btn-delete[data-v-65194551]:hover {
  background-color: #c82333 !important;
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.4) !important;
  transform: translateY(-1px);
}
.gabito-btn-delete.small[data-v-65194551] {
  padding: 6px 14px !important;
  font-size: 13px !important;
}

.prompt-template-filters[data-v-2922fa6e] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 8px 0 12px;
  align-items: center;
}
.scope-badge[data-v-2922fa6e] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 600;
  vertical-align: middle;
}
.scope-badge--global[data-v-2922fa6e] {
  background: #e7f1ff;
  color: #0b5ed7;
}
.scope-badge--unit[data-v-2922fa6e] {
  background: #eef8f0;
  color: #198754;
}
.unit-selection .admin-hint[data-v-2922fa6e] {
  margin-top: 10px;
  font-size: 0.85rem;
  color: #555;
}
.loading-state[data-v-2922fa6e] {
  padding: 24px;
  text-align: center;
}

.prompt-template-list-view[data-v-c0b8f2c7] {
  background-color: #f8f9fa;
  min-height: 100vh;
}

.prompt-form-content[data-v-f371bdb2] {
  max-width: 880px;
  margin: 0 auto;
  padding: 20px;
}
.form-group[data-v-f371bdb2] {
  margin-bottom: 20px;
}
label[data-v-f371bdb2] {
  font-weight: 700;
}
.checkbox-label[data-v-f371bdb2] {
  font-weight: 600;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
textarea[data-v-f371bdb2] {
  width: 100%;
  font-family: monospace;
}
.hint[data-v-f371bdb2] {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 0.85rem;
}

.preview-content[data-v-12948db2] { max-width: 900px; margin: 0 auto; padding: 20px;
}
.preview-row[data-v-12948db2] { margin-bottom: 24px;
}
label[data-v-12948db2] { font-weight: 700; display: block; margin-bottom: 6px;
}
.preview-value[data-v-12948db2] { padding: 14px 18px; background: #f8f9fa; border: 1px solid #ddd; border-radius: 8px;
}
.prompt-preview[data-v-12948db2] { background: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: monospace; white-space: pre-wrap;
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-f0845ffd] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-f0845ffd] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-f0845ffd] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-f0845ffd], .empty-state[data-v-f0845ffd] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-f0845ffd] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-f0845ffd] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-f0845ffd] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-f0845ffd] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-f0845ffd] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-f0845ffd] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-f0845ffd]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-f0845ffd] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-f0845ffd] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-f0845ffd] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-f0845ffd] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-f0845ffd] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-f0845ffd] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-f0845ffd] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-f0845ffd] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-f0845ffd] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-f0845ffd] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-f0845ffd] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-f0845ffd] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-f0845ffd] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-f0845ffd] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-f0845ffd] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-f0845ffd] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-f0845ffd] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-f0845ffd] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-f0845ffd] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-f0845ffd] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-f0845ffd]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.page-contexts-grid[data-v-f0845ffd] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.page-ctx-title-row[data-v-f0845ffd] {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  width: 100%;
}
.page-ctx-title[data-v-f0845ffd] {
  font-family: ui-monospace, monospace;
  font-size: 0.95rem;
  word-break: break-all;
  flex: 1 1 auto;
  min-width: 0;
}
.page-ctx-param-info-wrap[data-v-f0845ffd] {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  margin-top: 1px;
}
.page-ctx-param-info-btn[data-v-f0845ffd] {
  border: none;
  background: transparent;
  padding: 2px 4px;
  margin: 0;
  cursor: pointer;
  color: #0d6efd;
  line-height: 1;
  font-size: 0.95rem;
  border-radius: 4px;
}
.page-ctx-param-info-btn[data-v-f0845ffd]:hover,
.page-ctx-param-info-btn[data-v-f0845ffd]:focus-visible {
  color: #0a58ca;
  background: rgba(13, 110, 253, 0.08);
  outline: none;
}
.page-ctx-param-info-tip[data-v-f0845ffd]::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 10px;
}
.page-ctx-param-info-tip[data-v-f0845ffd] {
  display: none;
  position: absolute;
  z-index: 20;
  left: auto;
  right: 0;
  top: calc(100% + 6px);
  min-width: min(220px, calc(100vw - 24px));
  max-width: min(360px, calc(100vw - 16px));
  padding: 10px 12px;
  background: #1f2937;
  color: #f9fafb;
  font-size: 0.78rem;
  line-height: 1.45;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  white-space: pre-wrap;
  word-break: break-word;
  pointer-events: none;
}
.page-ctx-param-info-wrap:hover .page-ctx-param-info-tip[data-v-f0845ffd],
.page-ctx-param-info-wrap:focus-within .page-ctx-param-info-tip[data-v-f0845ffd] {
  display: block;
}
.page-ctx-param-info-tip-inner[data-v-f0845ffd] {
  display: block;
  max-height: 220px;
  overflow-y: auto;
}
.page-ctx-param-modal-body[data-v-f0845ffd] {
  padding: 4px 2px 12px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #333;
}
.page-ctx-param-modal-lead[data-v-f0845ffd] {
  margin: 0 0 14px;
}
.page-ctx-param-modal-lead code[data-v-f0845ffd] {
  font-size: 0.86em;
}
.page-ctx-param-dl[data-v-f0845ffd] {
  margin: 0;
}
.page-ctx-param-dl dt[data-v-f0845ffd] {
  font-weight: 700;
  margin-top: 12px;
  color: #111;
}
.page-ctx-param-dl dt[data-v-f0845ffd]:first-child {
  margin-top: 0;
}
.page-ctx-param-dd[data-v-f0845ffd] {
  margin: 4px 0 0;
  white-space: pre-wrap;
}
.page-ctx-row[data-v-f0845ffd] {
  margin-bottom: 6px;
  font-size: 0.92rem;
}
.page-ctx-preview[data-v-f0845ffd] {
  font-size: 0.88rem;
  color: #444;
  line-height: 1.45;
  margin: 8px 0;
}
.page-ctx-meta[data-v-f0845ffd] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.badge[data-v-f0845ffd] {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}
.badge-on[data-v-f0845ffd] {
  background: #d4edda;
  color: #155724;
}
.badge-off[data-v-f0845ffd] {
  background: #f8d7da;
  color: #721c24;
}
.prio[data-v-f0845ffd] {
  font-size: 0.82rem;
  color: #666;
}
.page-ctx-filter[data-v-f0845ffd] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-right: 8px;
}
.loading-state[data-v-f0845ffd],
.empty-state[data-v-f0845ffd] {
  text-align: center;
  padding: 48px 16px;
  color: #666;
}
.pagination[data-v-f0845ffd] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin: 24px 0;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.page-context-list-view[data-v-afcb83cf] {
  background-color: #f8f9fa;
  min-height: 100vh;
}

.page-ctx-inner[data-v-cf27ace4] {
  max-width: 800px;
  margin: 0 auto;
}
.page-ctx-hint[data-v-cf27ace4] {
  margin: 0 0 20px;
  font-size: 0.9rem;
  color: #555;
  line-height: 1.5;
}
.page-ctx-form[data-v-cf27ace4] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.page-ctx-field[data-v-cf27ace4] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.9rem;
}
.page-ctx-field--full[data-v-cf27ace4] {
  width: 100%;
}
.page-ctx-field input[data-v-cf27ace4],
.page-ctx-field textarea[data-v-cf27ace4] {
  padding: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}
.page-ctx-check[data-v-cf27ace4] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}
.page-ctx-label-row[data-v-cf27ace4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.page-ctx-param-info-wrap[data-v-cf27ace4] {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}
.page-ctx-param-info-btn[data-v-cf27ace4] {
  border: none;
  background: transparent;
  padding: 2px 4px;
  margin: 0;
  cursor: pointer;
  color: #0d6efd;
  line-height: 1;
  font-size: 1rem;
  border-radius: 4px;
}
.page-ctx-param-info-btn[data-v-cf27ace4]:hover,
.page-ctx-param-info-btn[data-v-cf27ace4]:focus-visible {
  color: #0a58ca;
  background: rgba(13, 110, 253, 0.08);
  outline: none;
}
.page-ctx-param-info-tip[data-v-cf27ace4]::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 10px;
}
.page-ctx-param-info-tip[data-v-cf27ace4] {
  display: none;
  position: absolute;
  z-index: 20;
  right: 0;
  top: calc(100% + 6px);
  min-width: 220px;
  max-width: min(360px, 85vw);
  padding: 10px 12px;
  background: #1f2937;
  color: #f9fafb;
  font-size: 0.78rem;
  line-height: 1.45;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  white-space: pre-wrap;
  word-break: break-word;
  pointer-events: none;
}
.page-ctx-param-info-wrap:hover .page-ctx-param-info-tip[data-v-cf27ace4],
.page-ctx-param-info-wrap:focus-within .page-ctx-param-info-tip[data-v-cf27ace4] {
  display: block;
}
.page-ctx-param-info-tip-inner[data-v-cf27ace4] {
  display: block;
  max-height: 220px;
  overflow-y: auto;
}
.page-ctx-param-docs[data-v-cf27ace4] {
  margin: 0 0 10px;
  padding: 10px 12px;
  background: #f1f5f9;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #334155;
}
.page-ctx-param-docs-title[data-v-cf27ace4] {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 0.88rem;
  color: #1e293b;
}
.page-ctx-param-dl[data-v-cf27ace4] {
  margin: 0;
}
.page-ctx-param-dl dt[data-v-cf27ace4] {
  font-weight: 700;
  margin-top: 10px;
  color: #0f172a;
}
.page-ctx-param-dl dt[data-v-cf27ace4]:first-child {
  margin-top: 0;
}
.page-ctx-param-dd[data-v-cf27ace4] {
  margin: 4px 0 0;
  white-space: pre-wrap;
}
.page-ctx-param-modal-body[data-v-cf27ace4] {
  padding: 4px 2px 12px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #333;
}
.page-ctx-param-modal-lead[data-v-cf27ace4] {
  margin: 0 0 14px;
}
.page-ctx-param-modal-lead code[data-v-cf27ace4] {
  font-size: 0.86em;
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-0f8503c2] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-0f8503c2] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-0f8503c2] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-0f8503c2], .empty-state[data-v-0f8503c2] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-0f8503c2] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-0f8503c2] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-0f8503c2] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-0f8503c2] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-0f8503c2] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-0f8503c2] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-0f8503c2]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-0f8503c2] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-0f8503c2] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-0f8503c2] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-0f8503c2] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-0f8503c2] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-0f8503c2] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-0f8503c2] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-0f8503c2] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-0f8503c2] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-0f8503c2] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-0f8503c2] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-0f8503c2] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-0f8503c2] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-0f8503c2] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-0f8503c2] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-0f8503c2] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-0f8503c2] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-0f8503c2] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-0f8503c2] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-0f8503c2] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-0f8503c2]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.page-context-descriptions-grid[data-v-0f8503c2] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.page-context-card-title[data-v-0f8503c2],
.page-context-route-link[data-v-0f8503c2] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
  word-break: break-word;
}
.page-context-info-row[data-v-0f8503c2] {
  margin-bottom: 8px;
  font-size: 0.92rem;
}
.page-context-preview[data-v-0f8503c2] {
  color: #444;
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 8px 0;
}
.page-context-meta[data-v-0f8503c2] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.page-context-status[data-v-0f8503c2] {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}
.page-context-status.is-active[data-v-0f8503c2] {
  background: #d4edda;
  color: #155724;
}
.page-context-status.is-disabled[data-v-0f8503c2] {
  background: #f8d7da;
  color: #721c24;
}
.page-context-priority[data-v-0f8503c2] {
  color: #666;
  font-size: 0.82rem;
}
.page-context-filter-label[data-v-0f8503c2] {
  background: #e8f4fd;
  border-left: 3px solid #007bff;
}
.page-context-view-settings-label[data-v-0f8503c2] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.page-context-view-settings-hint[data-v-0f8503c2] {
  margin: 12px 0 0;
  color: #6c757d;
  font-size: 0.85rem;
}
.loading-state[data-v-0f8503c2],
.empty-state[data-v-0f8503c2] {
  padding: 48px 16px;
  color: #666;
  text-align: center;
}
.pagination[data-v-0f8503c2] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 24px 0;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.page-context-edit-inner[data-v-9c380ef8] {
  max-width: 900px;
  margin: 0 auto;
}
.page-context-edit-hint[data-v-9c380ef8] {
  margin: 0 0 20px;
  color: #555;
  font-size: 0.9rem;
  line-height: 1.5;
}
.page-context-edit-loading[data-v-9c380ef8] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 180px;
  color: #666;
}
.page-context-edit-form[data-v-9c380ef8] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.page-context-field[data-v-9c380ef8] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.page-context-field span[data-v-9c380ef8] {
  color: #333;
  font-weight: 700;
}
.page-context-field input[data-v-9c380ef8],
.page-context-field textarea[data-v-9c380ef8] {
  width: 100%;
  border: 1px solid #d8dee4;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: #222;
  font: inherit;
}
.page-context-field input[readonly][data-v-9c380ef8] {
  background: #f8f9fa;
  color: #555;
}
.page-context-field textarea[data-v-9c380ef8] {
  resize: vertical;
  line-height: 1.5;
}
.page-context-readonly-meta[data-v-9c380ef8] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 10px 12px;
  border: 1px solid #edf0f2;
  border-radius: 8px;
  background: #f8f9fa;
  color: #555;
  font-size: 0.9rem;
}

.email-list-view[data-v-a960df34] {
  padding: 1rem;
}
.filters[data-v-a960df34] {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.filters input[data-v-a960df34],
.filters select[data-v-a960df34] {
  padding: 0.5rem;
  font-size: 1rem;
  min-width: 220px;
}
.filters button[data-v-a960df34] {
  padding: 0.5rem 1rem;
  background: #2196f3;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
.email-grid[data-v-a960df34] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
}
.email-card[data-v-a960df34] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 1rem;
  background: white;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  transition: all 0.15s;
}
.email-card[data-v-a960df34]:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.card-header[data-v-a960df34] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
  font-size: 0.9rem;
  color: #555;
}
.status[data-v-a960df34] {
  padding: 0.25rem 0.6rem;
  border-radius: 1rem;
  font-weight: 500;
  font-size: 0.85rem;
}
.success[data-v-a960df34] { background: #4caf50; color: white;
}
.error[data-v-a960df34]   { background: #f44336; color: white;
}
.pending[data-v-a960df34] { background: #ff9800; color: white;
}
.warning[data-v-a960df34] { background: #9c27b0; color: white;
}
.card-body h3[data-v-a960df34] {
  margin: 0.25rem 0 0.75rem;
  font-size: 1.1rem;
}
.card-actions[data-v-a960df34] {
  margin-top: 1rem;
  display: flex;
  gap: 0.75rem;
}
.card-actions button[data-v-a960df34] {
  padding: 0.5rem 1rem;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}
.card-actions button[data-v-a960df34]:first-child {
  background: #2196f3;
  color: white;
}
.card-actions button[data-v-a960df34]:last-child {
  background: #4caf50;
  color: white;
}
.details[data-v-a960df34] {
  margin-top: 1rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 6px;
  font-size: 0.95rem;
}
pre[data-v-a960df34] {
  white-space: pre-wrap;
  word-break: break-word;
  background: #f0f0f0;
  padding: 0.75rem;
  border-radius: 4px;
  margin: 0.5rem 0;
}
.loading[data-v-a960df34], .no-data[data-v-a960df34], .error-message[data-v-a960df34] {
  text-align: center;
  padding: 3rem 1rem;
  color: #666;
}
.error-message[data-v-a960df34] {
  color: #d32f2f;
  font-weight: 500;
}
.pagination[data-v-a960df34] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
.pagination button[data-v-a960df34] {
  background: #2196f3;
  color: white;
}
.pagination button[data-v-a960df34]:disabled {
  background: #ccc;
  cursor: not-allowed;
}

/* === WYSZUKIWANIE – RESPONSIVE === */
.search-container[data-v-a960df34] {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex: 1;
  min-width: 280px;
}
.search-actions[data-v-a960df34] {
  display: flex;
  gap: 0.5rem;
}
.clear-button[data-v-a960df34] {
  background: #6c757d;
  color: white;
}
.clear-button[data-v-a960df34]:hover {
  background: #5a6268;
}

/* Szerokie ekrany – przyciski po prawej od inputa */
@media (min-width: 769px) {
.search-container[data-v-a960df34] {
    flex-direction: row;
}
}

/* Wąskie ekrany – przyciski POD polem wyszukiwania */
@media (max-width: 768px) {
.search-container[data-v-a960df34] {
    flex-direction: column;
    align-items: stretch;
}
.search-actions[data-v-a960df34] {
    justify-content: flex-start;
}
.search-container input[data-v-a960df34] {
    width: 100%;
}
.filters[data-v-a960df34] {
    flex-direction: column;
    align-items: stretch;
}
}
.email-log-list-view-settings-label[data-v-a960df34] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.email-log-list-view-settings-hint[data-v-a960df34] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.email-refresh-button[data-v-a960df34] {
  background: #6c757d;
  color: white;
}
.email-refresh-button[data-v-a960df34]:hover:not(:disabled) {
  background: #5a6268;
}
.email-table-wrap[data-v-a960df34] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 16px;
}
.email-table[data-v-a960df34] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}
.email-table th[data-v-a960df34],
.email-table td[data-v-a960df34] {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: top;
}
.email-table th[data-v-a960df34] {
  background: #f5f5f5;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}
.email-table tbody tr[data-v-a960df34]:not(.email-table-details-row):hover {
  background: #fafafa;
}
.email-table-subject[data-v-a960df34] {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.email-table-error[data-v-a960df34] {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.88rem;
  color: #c62828;
}
.email-table-col-actions[data-v-a960df34] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.email-table-btn[data-v-a960df34] {
  padding: 6px 12px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  margin-left: 6px;
}
.email-table-btn[data-v-a960df34]:first-of-type {
  margin-left: 0;
}
.email-table-btn--secondary[data-v-a960df34] {
  background: #2196f3;
  color: #fff;
}
.email-table-btn--primary[data-v-a960df34] {
  background: #4caf50;
  color: #fff;
}
.email-table-btn[data-v-a960df34]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.email-table-details-row td[data-v-a960df34] {
  border-bottom: 1px solid #e0e0e0;
  padding: 0;
  background: #f8f9fa;
}
.email-table-details-inner[data-v-a960df34] {
  margin: 12px;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit[data-v-04ec299e] {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit[data-v-04ec299e]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close[data-v-04ec299e] {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close[data-v-04ec299e]:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header[data-v-04ec299e] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-04ec299e]:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save[data-v-04ec299e] {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save[data-v-04ec299e]:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel[data-v-04ec299e],
.gabito-btn-anuluj[data-v-04ec299e] {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel[data-v-04ec299e]:hover:not(:disabled),
.gabito-btn-anuluj[data-v-04ec299e]:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general[data-v-04ec299e] {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general[data-v-04ec299e]:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej[data-v-04ec299e] {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej[data-v-04ec299e]:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj[data-v-04ec299e] {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj[data-v-04ec299e]:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit[data-v-04ec299e],
  .gabito-btn-save[data-v-04ec299e],
  .gabito-btn-cancel[data-v-04ec299e],
  .gabito-btn-anuluj[data-v-04ec299e],
  .gabito-btn-edit-general[data-v-04ec299e],
  .gabito-form-btn-dalej[data-v-04ec299e],
  .gabito-form-btn-anuluj[data-v-04ec299e] {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close[data-v-04ec299e] {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-04ec299e] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary[data-v-04ec299e] {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary[data-v-04ec299e]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary[data-v-04ec299e]:visited {
  color: #ffffff;
}
.gabito-btn-primary[data-v-04ec299e]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
/* Styl formularza – spójny z UnitSettingsView.vue i profilami uprawnień */
.settings-form[data-v-04ec299e] {
  max-width: 800px;
  margin: 0 auto;
}
.form-group[data-v-04ec299e] {
  margin-bottom: 1.5rem;
}
.form-group label[data-v-04ec299e] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #111827;
  font-size: 15px;
}
.form-group input[data-v-04ec299e] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 15px;
  background: #ffffff;
}
.form-group input[data-v-04ec299e]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-ae070c08],
.gabito-btn-voucher-save[data-v-ae070c08] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-ae070c08] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-ae070c08]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-ae070c08]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-ae070c08] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-ae070c08]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-ae070c08]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-ae070c08] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-ae070c08] { display: none;
}
}
.gabito-form-actions[data-v-ae070c08] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-ae070c08] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-ae070c08] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-ae070c08] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-ae070c08]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-ae070c08] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-ae070c08] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-ae070c08] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-ae070c08]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-ae070c08]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-ae070c08],
.calendar-settings-modal .gabito-form-btn[data-v-ae070c08],
.modal-footer .gabito-form-btn-cancel[data-v-ae070c08],
.modal-footer .gabito-form-btn-save[data-v-ae070c08] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-ae070c08] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-ae070c08],
  .calendar-settings-modal .gabito-form-btn[data-v-ae070c08] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-ae070c08] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-ae070c08] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-ae070c08]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-ae070c08] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-ae070c08]:hover:not(:disabled) {
  background-color: #c82333;
}
.smtp-section[data-v-ae070c08] {
  background: #f8f9fa;
  padding: 1rem;
  border: 1px dashed #aaa;
  border-radius: 8px;
  margin-top: 0.5rem;
}
.checkbox[data-v-ae070c08] {
  margin: 0.75rem 0;
}

.stats-view-root[data-v-38c37c06] {
  padding: 0 1rem 1.5rem;
}
.stats-hint[data-v-38c37c06] {
  font-size: 0.9rem;
  color: #444;
  margin: 0 0 1rem;
  max-width: 52rem;
  line-height: 1.45;
}
.filters[data-v-38c37c06] {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  align-items: center;
}
.filters label[data-v-38c37c06] {
  font-weight: bold;
}
.filters input[data-v-38c37c06],
.filters select[data-v-38c37c06] {
  padding: 0.5rem;
  font-size: 1rem;
}
table[data-v-38c37c06] {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
th[data-v-38c37c06], td[data-v-38c37c06] {
  border: 1px solid #ddd;
  padding: 0.75rem;
  text-align: left;
}
th[data-v-38c37c06] {
  background: #f4f4f4;
}
.admin-unit-selector label[data-v-38c37c06] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.admin-unit-select[data-v-38c37c06] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}
.email-stats-list-view-settings-label[data-v-38c37c06] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.email-stats-list-view-settings-hint[data-v-38c37c06] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.filters-row[data-v-d9a64320] {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.filters-row input[data-v-d9a64320] {
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 15px;
}
.status-badge[data-v-d9a64320] {
  background: #dc3545;
  color: white;
  padding: 2px 8px;
  border-radius: 9999px;
  font-size: 0.75rem;
  margin-left: 8px;
}
.url-text[data-v-d9a64320] {
  font-family: monospace;
  word-break: break-all;
  font-size: 0.9rem;
}

.error-log-list-view[data-v-d8ad4cb8] {
  background-color: #f8f9fa;
  min-height: 100vh;
}

.preview-content[data-v-5c6b3589] { max-width: 1100px; margin: 0 auto; padding: 20px;
}
.preview-row[data-v-5c6b3589] { margin-bottom: 24px;
}
label[data-v-5c6b3589] { font-weight: 700; display: block; margin-bottom: 6px;
}
.preview-value[data-v-5c6b3589] { padding: 14px 18px; background: #f8f9fa; border: 1px solid #ddd; border-radius: 8px;
}
pre[data-v-5c6b3589] { background: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 8px; font-family: monospace; white-space: pre-wrap; overflow-x: auto;
}
.full-width pre[data-v-5c6b3589] { width: 100%;
}
.message-preview[data-v-5c6b3589] { font-size: 1.05rem;
}
.stack-preview[data-v-5c6b3589] { max-height: 420px;
}
.json-preview[data-v-5c6b3589] { max-height: 380px;
}

.items-grid[data-v-4247a997] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px;
}
.color-card .color-swatch[data-v-4247a997] {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  margin-right: 12px;
}
.colors-list-view-settings-label[data-v-4247a997] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.colors-list-view-settings-hint[data-v-4247a997] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.colors-table-wrap[data-v-4247a997] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 20px;
}
.colors-table[data-v-4247a997] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
}
.colors-table th[data-v-4247a997],
.colors-table td[data-v-4247a997] {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}
.colors-table th[data-v-4247a997] {
  background: #f8f9fa;
  font-weight: 600;
  color: #333;
}
.colors-table tbody tr[data-v-4247a997]:hover {
  background: #fafafa;
}
.colors-col-swatch[data-v-4247a997] {
  width: 56px;
  text-align: center;
}
.colors-table-swatch[data-v-4247a997] {
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  vertical-align: middle;
}
.colors-col-actions[data-v-4247a997] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.colors-name-link[data-v-4247a997] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
}
.colors-name-link[data-v-4247a997]:hover {
  color: #0a58ca;
}
.colors-hex-code[data-v-4247a997] {
  font-size: 0.9rem;
  background: #f1f3f5;
  padding: 2px 8px;
  border-radius: 4px;
}
.colors-row-recent[data-v-4247a997] {
  box-shadow: inset 3px 0 0 #0d6efd;
}

.hex-row[data-v-28fe693c] { display: flex; align-items: center;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-899afc35],
.gabito-btn-voucher-save[data-v-899afc35] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-899afc35] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-899afc35]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-899afc35]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-899afc35] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-899afc35]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-899afc35]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-899afc35] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-899afc35] { display: none;
}
}
.gabito-form-actions[data-v-899afc35] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-899afc35] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-899afc35] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-899afc35] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-899afc35]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-899afc35] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-899afc35] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-899afc35] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-899afc35]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-899afc35]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-899afc35],
.calendar-settings-modal .gabito-form-btn[data-v-899afc35],
.modal-footer .gabito-form-btn-cancel[data-v-899afc35],
.modal-footer .gabito-form-btn-save[data-v-899afc35] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-899afc35] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-899afc35],
  .calendar-settings-modal .gabito-form-btn[data-v-899afc35] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-899afc35] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-899afc35] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-899afc35]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-899afc35] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-899afc35]:hover:not(:disabled) {
  background-color: #c82333;
}
.color-edit-view[data-v-899afc35] { display: contents;
}
/* nie wpływa na układ */
/* src/modules/ServiceCategories/components/ServiceCategoryList.css */
/* Encoding: UTF-8 */
/* Stylizacja listy kategorii – w pełni zgodna z VisitHistoryList.css */
.entity-list-template[data-v-d474f273] { padding: 20px 15px;
}
.entity-content-wrapper[data-v-d474f273] { max-width: 1380px; margin: 0 auto; width: 100%;
}
.list-header[data-v-d474f273] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; flex-wrap: wrap; gap: 15px;
}
.list-header h2[data-v-d474f273] { margin: 0; font-size: 1.8rem; font-weight: 700; color: #000; flex-shrink: 0;
}
.header-actions[data-v-d474f273] { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; width: 100%; justify-content: space-between;
}
.header-left-group[data-v-d474f273] { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; flex: 1 1 auto !important;
}
.input-with-search[data-v-d474f273] { position: relative; flex: 1; min-width: 220px;
}
.input-with-search input[data-v-d474f273] { width: 100%; padding: 6px 12px; padding-right: 46px; height: 36px; font-size: 14.5px; border: 1px solid #ddd; border-radius: 6px;
}
.input-with-search input[data-v-d474f273]:focus { border-color: #007bff; outline: none;
}
.category-card[data-v-d474f273] { 
  cursor: pointer; 
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); 
  border: 1px solid #e5e7eb; 
  display: flex; 
  flex-direction: column; 
  min-height: 0; 
  height: auto;
}
.category-card.deleted[data-v-d474f273] { 
  background-color: #fef2f2; 
  border-left: 6px solid #f87171;
}
.category-card[data-v-d474f273]:hover { 
  transform: translateY(-3px); 
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1); 
  border-color: #d1d5db;
}
.items-grid[data-v-d474f273] { 
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
  gap: 20px; 
  padding-bottom: 240px; 
  overflow: visible; 
  align-items: start !important; 
  grid-auto-rows: minmax(min-content, max-content);
}
.loading-state[data-v-d474f273], .empty-state[data-v-d474f273] { 
  text-align: center; 
  padding: 60px 20px; 
  color: #666; 
  font-size: 1.1rem;
}
.pagination[data-v-d474f273] { 
  display: flex; 
  justify-content: center; 
  align-items: center; 
  gap: 16px; 
  margin-top: 30px; 
  font-weight: 500;
}
.pagination button[data-v-d474f273] { 
  padding: 10px 24px; 
  border-radius: 6px; 
  background: #007bff; 
  color: white; 
  border: none; 
  cursor: pointer; 
  font-weight: 500;
}
.pagination button[data-v-d474f273]:disabled { 
  background: #ccc; 
  cursor: not-allowed;
}
@media (max-width: 768px) {
.entity-list-template[data-v-d474f273] { padding: 15px 10px;
}
.list-header h2[data-v-d474f273] { font-size: 1.5rem;
}
.items-grid[data-v-d474f273] { padding-bottom: 220px;
}
.input-with-search[data-v-d474f273] { min-width: 100%;
}
}


/* ============================================= */
/* NOWY PRZYCISK ZARZĄDZANIA USŁUGAMI W KATEGORII */
/* ============================================= */
.service-category-services-btn[data-v-d474f273] {
  width: 100% !important;
  min-width: auto !important;
  height: 50px !important;
  padding: 0 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: linear-gradient(90deg, #007bff, #00aaff) !important;
  color: white !important;
  border: none !important;
  border-radius: 10px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3) !important;
  transition: all 0.3s ease !important;
  margin-top: 16px !important;
}
.service-category-services-btn[data-v-d474f273]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 123, 255, 0.4) !important;
  background: linear-gradient(90deg, #0056b3, #007bff) !important;
}
.service-category-services-btn i[data-v-d474f273] {
  font-size: 18px;
}
.count-badge[data-v-d474f273] {
  background: rgba(255,255,255,0.3);
  padding: 2px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}
.svc-cat-list-view-settings-label[data-v-d474f273] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.svc-cat-list-view-settings-hint[data-v-d474f273] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.svc-cat-table-wrap[data-v-d474f273] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 20px;
}
.svc-cat-table[data-v-d474f273] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
}
.svc-cat-table th[data-v-d474f273],
.svc-cat-table td[data-v-d474f273] {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}
.svc-cat-table th[data-v-d474f273] {
  background: #f8f9fa;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}
.svc-cat-table tbody tr[data-v-d474f273]:hover:not(.svc-cat-row-deleted) {
  background: #fafafa;
}
.svc-cat-table .num[data-v-d474f273] {
  text-align: right;
  white-space: nowrap;
}
.svc-cat-desc-cell[data-v-d474f273] {
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #555;
}
.svc-cat-col-actions[data-v-d474f273] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.svc-cat-name-link[data-v-d474f273] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
}
.svc-cat-name-link[data-v-d474f273]:hover {
  color: #0a58ca;
}
.svc-cat-services-link[data-v-d474f273] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-decoration: underline;
}
.svc-cat-services-link[data-v-d474f273]:hover {
  color: #0a58ca;
}
.svc-cat-row-deleted[data-v-d474f273] {
  opacity: 0.75;
  background: #f8f9fa;
}
.svc-cat-row-recent[data-v-d474f273]:not(.svc-cat-row-deleted) {
  box-shadow: inset 3px 0 0 #0d6efd;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-fb73048e],
.gabito-btn-voucher-save[data-v-fb73048e] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-fb73048e] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-fb73048e]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-fb73048e]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-fb73048e] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-fb73048e]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-fb73048e]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-fb73048e] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-fb73048e] { display: none;
}
}
.gabito-form-actions[data-v-fb73048e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-fb73048e] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-fb73048e] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-fb73048e] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-fb73048e]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-fb73048e] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-fb73048e] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-fb73048e] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-fb73048e]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-fb73048e]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-fb73048e],
.calendar-settings-modal .gabito-form-btn[data-v-fb73048e],
.modal-footer .gabito-form-btn-cancel[data-v-fb73048e],
.modal-footer .gabito-form-btn-save[data-v-fb73048e] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-fb73048e] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-fb73048e],
  .calendar-settings-modal .gabito-form-btn[data-v-fb73048e] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-fb73048e] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-fb73048e] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-fb73048e]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-fb73048e] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-fb73048e]:hover:not(:disabled) {
  background-color: #c82333;
}
.info-container[data-v-fb73048e] { padding: 22px 26px;
}
.form-group[data-v-fb73048e] { margin-bottom: 22px;
}
input[data-v-fb73048e], textarea[data-v-fb73048e], select[data-v-fb73048e] { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px;
}
.form-select[data-v-fb73048e] { height: 42px;
}
.text-danger[data-v-fb73048e] { color: #dc3545;
}
/* (styl bez zmian – zostawiamy dokładnie tak samo) */
.search-status[data-v-d17b78bb] { text-align: center; padding: 24px 20px; color: #007bff; font-weight: 700; font-size: 15px;
}
.search-results-grid[data-v-d17b78bb], .current-services-grid[data-v-d17b78bb] { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; margin-top: 16px;
}
h4[data-v-d17b78bb] { margin: 28px 0 14px 0; color: #1f2937; font-weight: 700;
}
/* Styl przycisku Usuń (czerwony) */
.gabito-btn-delete[data-v-d17b78bb] { background-color: #dc3545 !important; color: white !important; border: none !important; border-radius: 8px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer; transition: all 0.2s ease !important; box-shadow: 0 2px 6px rgba(220, 53, 69, 0.3) !important;
}
.gabito-btn-delete[data-v-d17b78bb]:hover { background-color: #c82333 !important; box-shadow: 0 4px 12px rgba(220, 53, 69, 0.4) !important; transform: translateY(-1px);
}
.gabito-btn-delete.small[data-v-d17b78bb] { padding: 6px 14px !important; font-size: 13px !important;
}/* src/modules/VatRates/components/VatRateList.css */
/* Encoding: UTF-8 */
.entity-list-template[data-v-5cef1b5c] { padding: 20px 15px;
}
.entity-content-wrapper[data-v-5cef1b5c] { max-width: 1380px; margin: 0 auto; width: 100%;
}
.items-grid[data-v-5cef1b5c] { 
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); 
  gap: 20px; 
  padding-bottom: 240px;
}
.vat-rate-card[data-v-5cef1b5c] {
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid #e5e7eb;
}
.vat-rate-card[data-v-5cef1b5c]:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  border-color: #d1d5db;
}
.vat-rate-card.inactive[data-v-5cef1b5c] {
  background-color: #fef2f2;
  border-left: 6px solid #f87171;
}
.loading-state[data-v-5cef1b5c], .empty-state[data-v-5cef1b5c] { 
  text-align: center; 
  padding: 80px 20px; 
  color: #666; 
  font-size: 1.1rem;
}
.pagination[data-v-5cef1b5c] { 
  display: flex; 
  justify-content: center; 
  align-items: center; 
  gap: 16px; 
  margin-top: 30px; 
  font-weight: 500;
}
.pagination button[data-v-5cef1b5c] { 
  padding: 10px 24px; 
  border-radius: 6px; 
  background: #007bff; 
  color: white; 
  border: none; 
  cursor: pointer;
}
.pagination button[data-v-5cef1b5c]:disabled { 
  background: #ccc; 
  cursor: not-allowed;
}
@media (max-width: 768px) {
.items-grid[data-v-5cef1b5c] { padding-bottom: 200px;
}
}
.vat-rate-list-view-settings-label[data-v-5cef1b5c] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.vat-rate-list-view-settings-hint[data-v-5cef1b5c] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.vat-rate-table-wrap[data-v-5cef1b5c] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 20px;
}
.vat-rate-table[data-v-5cef1b5c] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
}
.vat-rate-table th[data-v-5cef1b5c],
.vat-rate-table td[data-v-5cef1b5c] {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}
.vat-rate-table th[data-v-5cef1b5c] {
  background: #f8f9fa;
  font-weight: 600;
  color: #333;
}
.vat-rate-table tbody tr[data-v-5cef1b5c]:hover:not(.vat-rate-row-inactive) {
  background: #fafafa;
}
.vat-rate-table .num[data-v-5cef1b5c] {
  text-align: right;
  white-space: nowrap;
}
.vat-rate-col-actions[data-v-5cef1b5c] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.vat-rate-name-link[data-v-5cef1b5c] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
}
.vat-rate-name-link[data-v-5cef1b5c]:hover {
  color: #0a58ca;
}
.vat-rate-row-inactive[data-v-5cef1b5c] {
  opacity: 0.72;
  background: #f8f9fa;
}
.vat-rate-row-recent[data-v-5cef1b5c]:not(.vat-rate-row-inactive) {
  box-shadow: inset 3px 0 0 #0d6efd;
}

/* Możesz dodać style z VisitHistoryHeader jeśli chcesz – na razie podstawowe */
.title-with-id[data-v-2ec8aa97] { font-size: 1.45rem; font-weight: 700;
}
.vat-id[data-v-2ec8aa97] { font-size: 1.15rem; color: #2563eb; background: #eff6ff; padding: 4px 10px; border-radius: 6px; margin-left: 12px;
}
.close-btn[data-v-2ec8aa97] { font-size: 32px; background: none; border: none; color: #999; cursor: pointer;
}
.close-btn[data-v-2ec8aa97]:hover { color: #dc3545;
}
.error-alert[data-v-2ec8aa97] { background: #f8d7da; color: #721c24; padding: 12px; border-radius: 6px; margin: 10px 20px;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-66991184],
.gabito-btn-voucher-save[data-v-66991184] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-66991184] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-66991184]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-66991184]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-66991184] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-66991184]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-66991184]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-66991184] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-66991184] { display: none;
}
}
.gabito-form-actions[data-v-66991184] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-66991184] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-66991184] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-66991184] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-66991184]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-66991184] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-66991184] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-66991184] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-66991184]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-66991184]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-66991184],
.calendar-settings-modal .gabito-form-btn[data-v-66991184],
.modal-footer .gabito-form-btn-cancel[data-v-66991184],
.modal-footer .gabito-form-btn-save[data-v-66991184] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-66991184] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-66991184],
  .calendar-settings-modal .gabito-form-btn[data-v-66991184] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-66991184] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-66991184] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-66991184]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-66991184] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-66991184]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-72477da9],
.gabito-btn-voucher-save[data-v-72477da9] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-72477da9] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-72477da9]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-72477da9]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-72477da9] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-72477da9]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-72477da9]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-72477da9] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-72477da9] { display: none;
}
}
.gabito-form-actions[data-v-72477da9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-72477da9] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-72477da9] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-72477da9] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-72477da9]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-72477da9] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-72477da9] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-72477da9] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-72477da9]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-72477da9]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-72477da9],
.calendar-settings-modal .gabito-form-btn[data-v-72477da9],
.modal-footer .gabito-form-btn-cancel[data-v-72477da9],
.modal-footer .gabito-form-btn-save[data-v-72477da9] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-72477da9] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-72477da9],
  .calendar-settings-modal .gabito-form-btn[data-v-72477da9] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-72477da9] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-72477da9] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-72477da9]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-72477da9] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-72477da9]:hover:not(:disabled) {
  background-color: #c82333;
}

.gabito-common-filters-container[data-v-9cdd3f06] {
  display: inline-flex;
  align-items: center;
  background-color: #f0f7ff;           /* <<< NOWY KOLOR TŁA – delikatny niebieski */
  border: 1px solid #bae6fd;
  border-radius: 8px;
  padding: 8px 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.gabito-common-filters-container[data-v-9cdd3f06]:hover {
  background-color: #e0f2fe;
  border-color: #7dd3fc;
  box-shadow: 0 2px 6px rgba(14, 165, 233, 0.15);
}
.gabito-common-checkbox-filters-container[data-v-9cdd3f06] {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.checkbox-label[data-v-9cdd3f06] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14.5px;
  font-weight: 500;
  color: #1e2937;
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
}
.gabito-common-filters-container.collapsed[data-v-9cdd3f06] {
  display: none;
}

/* Responsywność */
@media (max-width: 768px) {
.gabito-common-filters-container[data-v-9cdd3f06] {
    padding: 8px 12px;
    gap: 12px;
}
.gabito-common-checkbox-filters-container[data-v-9cdd3f06] {
    gap: 16px;
}
}
/* src/modules/ServiceCatalog/components/ServiceList.css */
/* Encoding: UTF-8 */
/* POPRAWIONA: kółko koloru jest teraz tuż z lewej strony przycisku menu */
.entity-list-template[data-v-25555c15] { padding: 20px 15px;
}
.entity-content-wrapper[data-v-25555c15] { max-width: 1380px; margin: 0 auto; width: 100%;
}
.items-grid[data-v-25555c15] { 
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); 
  gap: 20px; 
  padding-bottom: 240px;
}
.service-card[data-v-25555c15] { 
  cursor: pointer; 
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Lżejsze obramowanie / odstępy treści kafelka (tylko katalog usług) */
.service-card.shared-card[data-v-25555c15] {
  border: 1px solid #e8ecf0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.055);
}
.service-card .shared-card-header.card-header[data-v-25555c15],
.service-card .shared-card-header[data-v-25555c15] {
  padding: 12px 14px;
  border-bottom: 1px solid #eceff3;
}
.service-card .shared-card-content.card-content[data-v-25555c15],
.service-card .shared-card-content[data-v-25555c15] {
  padding: 10px 12px;
}
.service-card .service-card-content[data-v-25555c15] {
  gap: 10px;
  padding: 2px 0;
}
.service-card .service-thumb-container[data-v-25555c15] {
  border: 1px solid #e4e9ef;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.service-card .service-color-dot[data-v-25555c15] {
  box-shadow: 0 0 0 1px #ffffff, 0 1px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #f1f5f9;
}

/* === NOWY LAYOUT NAGŁÓWKA – kółko po prawej (tuż przed menu) === */
.service-header-with-dot[data-v-25555c15] {
  display: flex;
  align-items: center;
  justify-content: space-between;   /* tytuł po lewej, kółko po prawej */
  width: 100%;
  gap: 12px;
}
.service-color-dot[data-v-25555c15] {
  width: 28px;          /* dokładnie taki sam rozmiar jak przycisk menu */
  height: 28px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 2px 6px rgba(0, 0, 0, 0.12);
  border: 2px solid #f8fafc;
}

/* Dane tekstowe (niezmienione) */
.service-card-data[data-v-25555c15] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2px;
  flex: 1;
  min-width: 0;
}
.service-card-data p[data-v-25555c15] {
  margin: 0 !important;
  padding: 0;
  font-size: 14px;
  line-height: 1.35;
  color: #333;
}
.service-card-data p[data-v-25555c15]:last-child {
  margin-bottom: 0 !important;
}

/* Reszta stylów bez zmian */
.service-card-content[data-v-25555c15] {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 4px 0;
}
.service-thumb-container[data-v-25555c15] {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #f8fafc;
  border: 2px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.service-thumb[data-v-25555c15] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.service-thumb-placeholder[data-v-25555c15] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f5f9;
}
.service-thumb-placeholder i[data-v-25555c15] {
  font-size: 28px;
  color: #94a3b8;
}
.loading-state[data-v-25555c15], .empty-state[data-v-25555c15] { 
  text-align: center; 
  padding: 60px 20px; 
  color: #666; 
  font-size: 1.1rem;
}
.pagination[data-v-25555c15] { 
  display: flex; 
  justify-content: center; 
  align-items: center; 
  gap: 16px; 
  margin-top: 30px; 
  font-weight: 500;
}
.pagination button[data-v-25555c15] { 
  padding: 10px 24px; 
  border-radius: 6px; 
  background: #007bff; 
  color: white; 
  border: none; 
  cursor: pointer;
}
.services-list-view-settings-label[data-v-25555c15] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.services-list-view-settings-hint[data-v-25555c15] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.service-table-wrap[data-v-25555c15] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 20px;
}
.service-table[data-v-25555c15] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
}
.service-table th[data-v-25555c15],
.service-table td[data-v-25555c15] {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
}
.service-table th[data-v-25555c15] {
  background: #f8f9fa;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}
.service-table tbody tr[data-v-25555c15]:hover:not(.service-row-inactive) {
  background: #fafafa;
}
.service-table .num[data-v-25555c15] {
  text-align: right;
  white-space: nowrap;
}
.service-table-col-color[data-v-25555c15] {
  width: 36px;
  text-align: center;
}
.service-table-col-thumb[data-v-25555c15] {
  width: 52px;
  text-align: center;
}
.service-table-color-dot[data-v-25555c15] {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.08);
  vertical-align: middle;
}
.service-table-thumb-btn[data-v-25555c15] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  overflow: hidden;
}
.service-table-thumb-btn[data-v-25555c15]:hover {
  border-color: #0d6efd;
}
.service-table-thumb-img[data-v-25555c15] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-table-thumb-placeholder[data-v-25555c15] {
  color: #94a3b8;
  font-size: 1rem;
}
.service-table-name-link[data-v-25555c15] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
}
.service-table-name-link[data-v-25555c15]:hover {
  color: #0a58ca;
}
.service-table-col-notes[data-v-25555c15] {
  min-width: 120px;
  max-width: 200px;
  vertical-align: middle;
}
.service-table-col-actions[data-v-25555c15] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.service-row-inactive[data-v-25555c15] {
  opacity: 0.75;
  background: #f8f9fa;
}
.service-row-recent[data-v-25555c15]:not(.service-row-inactive) {
  box-shadow: inset 3px 0 0 #0d6efd;
}

/* Style identyczne jak w GroupsSection.vue + nowe style dla layoutu */
.label-with-actions[data-v-f44df91c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}
.selected-groups[data-v-f44df91c] { margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px;
}
.selected-group-item[data-v-f44df91c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 14px;
}
.remove-group-btn[data-v-f44df91c] {
  background: #dc3545;
  color: #fff;
  border: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 14px;
  line-height: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.remove-group-btn[data-v-f44df91c]:hover { background: #c82333;
}
.groups-buttons-container[data-v-f44df91c] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.rodo-add-button[data-v-f44df91c] {
  flex: none;                /* kluczowa zmiana – wąski przycisk */
  padding: 8px 18px;
  font-size: 14px;
  white-space: nowrap;
  min-width: 220px;          /* ta sama szerokość na desktop i mobile */
}
.btn-add-source[data-v-f44df91c] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  min-width: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-add-source[data-v-f44df91c]:hover:not(:disabled) { background: #0056b3;
}
.btn-add-source[data-v-f44df91c]:disabled { background: #ccc; cursor: not-allowed;
}

/* Responsywność – przyciski nadal tej samej szerokości */
@media (max-width: 768px) {
.label-with-actions[data-v-f44df91c] {
    flex-direction: column;
    align-items: flex-start;
}
.rodo-add-button[data-v-f44df91c] {
    min-width: 220px;        /* nie zmienia się – ta sama szerokość co na desktop */
}
}

/* Identyczne style jak ClientGroupSelector.vue – działają od razu */
.rodo-modal-overlay[data-v-83c0f41f] { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background-color: rgba(0,0,0,0.6) !important; display: flex !important; justify-content: center !important; align-items: center !important; z-index: 13000 !important;
}
.rodo-modal[data-v-83c0f41f] { background-color: white; border-radius: 12px; width: 90%; max-width: 520px; box-shadow: 0 8px 30px rgba(0,0,0,0.25); overflow: hidden; z-index: 13001 !important;
}
.rodo-modal-header[data-v-83c0f41f] { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #e9ecef;
}
.rodo-modal-header h3[data-v-83c0f41f] { margin: 0; color: #000; font-weight: 700;
}
.close-button[data-v-83c0f41f] { background: none; border: none; font-size: 28px; cursor: pointer; color: #666;
}
.rodo-modal-body[data-v-83c0f41f] { padding: 20px;
}
.rodo-search-input[data-v-83c0f41f] { width: 100%; padding: 12px 16px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 15px;
}
.rodo-list[data-v-83c0f41f] { max-height: 340px; overflow-y: auto;
}
.rodo-option[data-v-83c0f41f] { padding: 14px; border-bottom: 1px solid #f0f0f0; cursor: pointer;
}
.rodo-option[data-v-83c0f41f]:hover { background: #f8f9fa;
}
.rodo-option-name[data-v-83c0f41f] { font-weight: 600;
}
.inactive-badge[data-v-83c0f41f] { color: #dc3545; font-size: 0.85em;
}
.rodo-option-details[data-v-83c0f41f] { font-size: 13px; color: #666; margin-top: 4px;
}
.loading-text[data-v-83c0f41f], .no-consents[data-v-83c0f41f] { text-align: center; padding: 40px 20px; color: #666; font-style: italic;
}
.no-consents[data-v-83c0f41f] { color: #dc3545;
}

/* Style identyczne jak w ServiceCategoriesSection.vue + nowe style dla layoutu */
.label-with-actions[data-v-f58c2d1c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}
.selected-groups[data-v-f58c2d1c] { margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px;
}
.selected-group-item[data-v-f58c2d1c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 14px;
}
.remove-group-btn[data-v-f58c2d1c] {
  background: #dc3545;
  color: #fff;
  border: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 14px;
  line-height: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.remove-group-btn[data-v-f58c2d1c]:hover { background: #c82333;
}
.groups-buttons-container[data-v-f58c2d1c] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.rodo-add-button[data-v-f58c2d1c] {
  flex: none;
  padding: 8px 18px;
  font-size: 14px;
  white-space: nowrap;
  min-width: 220px;          /* ta sama szerokość co w sekcji kategorii */
}

/* Responsywność – przyciski nadal tej samej szerokości */
@media (max-width: 768px) {
.label-with-actions[data-v-f58c2d1c] {
    flex-direction: column;
    align-items: flex-start;
}
.rodo-add-button[data-v-f58c2d1c] {
    min-width: 220px;
}
}

/* Identyczne style jak ServiceCategorySelector.vue */
.rodo-modal-overlay[data-v-b9fdb0d7] { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background-color: rgba(0,0,0,0.6) !important; display: flex !important; justify-content: center !important; align-items: center !important; z-index: 13000 !important;
}
.rodo-modal[data-v-b9fdb0d7] { background-color: white; border-radius: 12px; width: 90%; max-width: 520px; box-shadow: 0 8px 30px rgba(0,0,0,0.25); overflow: hidden; z-index: 13001 !important;
}
.rodo-modal-header[data-v-b9fdb0d7] { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #e9ecef;
}
.rodo-modal-header h3[data-v-b9fdb0d7] { margin: 0; color: #000; font-weight: 700;
}
.close-button[data-v-b9fdb0d7] { background: none; border: none; font-size: 28px; cursor: pointer; color: #666;
}
.rodo-modal-body[data-v-b9fdb0d7] { padding: 20px;
}
.rodo-search-input[data-v-b9fdb0d7] { width: 100%; padding: 12px 16px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 15px;
}
.rodo-list[data-v-b9fdb0d7] { max-height: 340px; overflow-y: auto;
}
.rodo-option[data-v-b9fdb0d7] { padding: 14px; border-bottom: 1px solid #f0f0f0; cursor: pointer;
}
.rodo-option[data-v-b9fdb0d7]:hover { background: #f8f9fa;
}
.rodo-option-name[data-v-b9fdb0d7] { font-weight: 600;
}
.no-consents[data-v-b9fdb0d7] { text-align: center; padding: 40px 20px; color: #dc3545; font-style: italic;
}

.custom-color-selector[data-v-6b349461] {
  position: relative;
  width: 100%;
}
.color-trigger[data-v-6b349461] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background-color: #fff;
  cursor: pointer;
  font-size: 14px;
  min-height: 42px;
}
.color-trigger[data-v-6b349461]:hover {
  border-color: #9ca3af;
}
.selected-swatch[data-v-6b349461] {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  border: 2px solid #e5e7eb;
  flex-shrink: 0;
}
.selected-name[data-v-6b349461] {
  color: #111827;
  font-weight: 500;
}
.placeholder[data-v-6b349461] {
  color: #9ca3af;
}
.color-dropdown[data-v-6b349461] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  max-height: 320px;
  overflow-y: auto;
  z-index: 50;
  padding: 4px;
}
.color-option[data-v-6b349461] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
}
.color-option[data-v-6b349461]:hover {
  background-color: #f3f4f6;
}
.color-option.selected[data-v-6b349461] {
  background-color: #e0f2f1;
}
.option-swatch[data-v-6b349461] {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  border: 2px solid #e5e7eb;
  flex-shrink: 0;
}
.option-name[data-v-6b349461] {
  font-size: 14px;
  color: #111827;
}

/* === WYRÓŻNIENIE CAŁEJ SEKCJI PROMOCJI === */
.promotion-section[data-v-7bec27a5] {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  margin-bottom: 22px;
}

/* Stan aktywny – lekkie wyróżnienie (dokładnie tak jak prosiłeś) */
.promotion-section.promotion-active[data-v-7bec27a5] {
  background: #fff7ed;
  border: 2px solid #fed7aa;
  border-radius: 8px;
  padding: 18px 20px;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.08);
}

/* Nagłówek z checkboxem */
.promotion-header[data-v-7bec27a5] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 16px;
  cursor: pointer;
  color: #111827;
}

/* Pola wewnątrz wyróżnionej sekcji */
.promotion-fields[data-v-7bec27a5] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Spójność z resztą formularza */
.form-row[data-v-7bec27a5] {
  display: flex;
  gap: 16px;
}
.form-group[data-v-7bec27a5] {
  flex: 1;
}
.promotion-section label[data-v-7bec27a5] {
  font-weight: 500;
  color: #374151;
}

/* === IMPORT STYLU PRZYCISKU AI (dokładnie ten plik, o który prosiłeś) === */
/* ============================================= */
/* UNIKATOWE STYLE TYLKO DLA TEGO PRZYCISKU AI */
/* ============================================= */
.visit-history-ai-correction-btn[data-v-8e76d3ef] {
  background: linear-gradient(135deg, #6f42c1, #00bfff);
  box-shadow: 0 3px 12px rgba(111, 66, 193, 0.45);
  position: relative;
  overflow: hidden;
  height: 24px;
  padding: 0 10px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 6px;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
}
.visit-history-ai-correction-btn[data-v-8e76d3ef]:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a32a3, #0099cc);
  box-shadow: 0 5px 18px rgba(111, 66, 193, 0.6);
  transform: translateY(-2px);
}
.visit-history-ai-correction-btn i.fas.fa-magic[data-v-8e76d3ef] {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.visit-history-ai-correction-btn:hover i.fas.fa-magic[data-v-8e76d3ef] {
  transform: rotate(45deg) scale(1.25);
}
.visit-history-ai-correction-btn[data-v-8e76d3ef]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* Layout label + przycisk obok siebie (identycznie jak w VisitHistory) */
.content-label-row[data-v-8e76d3ef] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}
.content-label-row label[data-v-8e76d3ef] {
  margin-bottom: 0;
  font-weight: 600;
  color: #111827;
  font-size: 15px;
}
/* Styl textarea (zachowany spójny z resztą formularza) */
.auto-resize-textarea[data-v-8e76d3ef] {
  width: 100%;
  min-height: 140px;
  padding: 13px 16px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  resize: vertical;
  line-height: 1.5;
}



.photo-section[data-v-309c3257] { margin-bottom: 24px;
}
.photo-preview-container[data-v-309c3257] { width: 220px; height: 220px; border: 3px solid #e5e7eb; border-radius: 12px; overflow: hidden; margin-bottom: 12px;
}
.photo-thumb[data-v-309c3257] { width: 100%; height: 100%; object-fit: cover;
}
.no-photo-placeholder[data-v-309c3257] { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #f8f9fa; color: #9ca3af;
}
.photo-actions[data-v-309c3257] { display: flex; gap: 12px;
}

.view-value.price.price-struck[data-v-25a8263f] {
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  color: #64748b;
  font-weight: 500;
}
/* === TRYB PODGLĄDU – pełne style (dodane) === */
.service-view-mode[data-v-25a8263f] {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.view-section[data-v-25a8263f] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 22px 26px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.section-title[data-v-25a8263f] {
  margin: 0 0 18px 0;
  font-size: 1.15rem;
  color: #111827;
  font-weight: 600;
  border-bottom: 2px solid #f3f4f6;
  padding-bottom: 10px;
}
.view-grid[data-v-25a8263f] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.view-field[data-v-25a8263f] {
  display: flex;
  flex-direction: column;
}
.view-field label[data-v-25a8263f] {
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.view-value[data-v-25a8263f] {
  padding: 12px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 15.5px;
  color: #111827;
  min-height: 48px;
  display: flex;
  align-items: center;
}
.price[data-v-25a8263f] {
  font-weight: 600;
  color: #166534;
}

/* Katalogowa brutto — przekreślona, gdy poniżej pokazana jest cena promocyjna */
.view-value.price.price-struck[data-v-25a8263f] {
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  color: #64748b;
  font-weight: 500;
}

/* Kolor */
.color-view .color-display[data-v-25a8263f] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.color-swatch-large[data-v-25a8263f] {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px #e5e7eb;
  flex-shrink: 0;
}
.color-name[data-v-25a8263f] {
  font-weight: 500;
}

/* Promocja */
.promotion-view-active[data-v-25a8263f] {
  background: #fff7ed;
  border: 2px solid #fed7aa;
  border-radius: 10px;
  padding: 20px;
  margin-top: 16px;
}
.promotion-view-active h4[data-v-25a8263f] {
  color: #c2410f;
  margin-bottom: 14px;
  font-size: 1.05rem;
}

/* Statusy */
.status-list[data-v-25a8263f] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.status-item[data-v-25a8263f] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #f8fafc;
  border-radius: 8px;
  font-size: 15px;
}
.status-item.active[data-v-25a8263f] {
  background: #ecfdf5;
  color: #10b981;
}
.status-item i[data-v-25a8263f] {
  font-size: 18px;
}

/* Opis */
.view-description[data-v-25a8263f] {
  padding: 18px 22px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  line-height: 1.65;
  white-space: pre-wrap;
  min-height: 160px;
}
.photo-display img[data-v-25a8263f] {
  max-width: 100%;
  max-height: 420px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.no-photo[data-v-25a8263f] { color: #9ca3af; font-style: italic;
}

/* Responsywność */
@media (max-width: 768px) {
.view-grid[data-v-25a8263f] {
    grid-template-columns: 1fr;
}
}
/* src/modules/ServiceCatalog/components/ServiceForm.css */
/* Encoding: UTF-8 */
.service-form[data-v-fefeb07b] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 0;
  overflow: hidden;
}
.info-container[data-v-fefeb07b] {
  flex: 1;
  overflow-y: auto;
  background: #ffffff;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  padding: 22px 26px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.06);
}
.form-group[data-v-fefeb07b] { margin-bottom: 22px;
}
.view-field[data-v-fefeb07b], .auto-resize-textarea[data-v-fefeb07b] {
  width: 100%;
  padding: 13px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
}
.gabito-form-actions[data-v-fefeb07b] {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  justify-content: flex-end;
}
.gabito-form-btn-save[data-v-fefeb07b] { background: #28a745; color: white;
}
.gabito-form-btn-cancel[data-v-fefeb07b] { background: #6c757d; color: white;
}

/* === DODANE STYLE DLA CUSTOM COLOR SELECTORA === */
.color-trigger[data-v-fefeb07b] {
  border: 1px solid #ddd;
  border-radius: 6px;
}
.color-dropdown[data-v-fefeb07b] {
  border: 1px solid #ddd;
  border-radius: 6px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-ac349279],
.gabito-btn-voucher-save[data-v-ac349279] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-ac349279] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-ac349279]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-ac349279]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-ac349279] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-ac349279]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-ac349279]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-ac349279] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-ac349279] { display: none;
}
}
.gabito-form-actions[data-v-ac349279] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-ac349279] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-ac349279] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-ac349279] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-ac349279]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-ac349279] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-ac349279] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-ac349279] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-ac349279]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-ac349279]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-ac349279],
.calendar-settings-modal .gabito-form-btn[data-v-ac349279],
.modal-footer .gabito-form-btn-cancel[data-v-ac349279],
.modal-footer .gabito-form-btn-save[data-v-ac349279] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-ac349279] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-ac349279],
  .calendar-settings-modal .gabito-form-btn[data-v-ac349279] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-ac349279] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-ac349279] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-ac349279]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-ac349279] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-ac349279]:hover:not(:disabled) {
  background-color: #c82333;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-ba4e5c80],
.gabito-btn-voucher-save[data-v-ba4e5c80] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-ba4e5c80] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-ba4e5c80]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-ba4e5c80]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-ba4e5c80] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-ba4e5c80]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-ba4e5c80]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-ba4e5c80] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-ba4e5c80] { display: none;
}
}
.gabito-form-actions[data-v-ba4e5c80] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-ba4e5c80] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-ba4e5c80] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-ba4e5c80] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-ba4e5c80]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-ba4e5c80] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-ba4e5c80] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-ba4e5c80] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-ba4e5c80]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-ba4e5c80]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-ba4e5c80],
.calendar-settings-modal .gabito-form-btn[data-v-ba4e5c80],
.modal-footer .gabito-form-btn-cancel[data-v-ba4e5c80],
.modal-footer .gabito-form-btn-save[data-v-ba4e5c80] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-ba4e5c80] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-ba4e5c80],
  .calendar-settings-modal .gabito-form-btn[data-v-ba4e5c80] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-ba4e5c80] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-ba4e5c80] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-ba4e5c80]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-ba4e5c80] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-ba4e5c80]:hover:not(:disabled) {
  background-color: #c82333;
}

.confirm-modal-overlay[data-v-4ff001eb] {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.confirm-modal[data-v-4ff001eb] {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 420px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.confirm-modal-header[data-v-4ff001eb] {
  padding: 20px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.confirm-modal-header h3[data-v-4ff001eb] {
  margin: 0;
  font-size: 1.1rem;
  color: #222;
}
.close-button[data-v-4ff001eb] {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
}
.confirm-modal-body[data-v-4ff001eb] {
  padding: 20px;
  color: #444;
  line-height: 1.5;
}
.checkbox-label[data-v-4ff001eb] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
}
.confirm-modal-footer[data-v-4ff001eb] {
  padding: 16px 20px;
  border-top: 1px solid #eee;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.btn-cancel[data-v-4ff001eb] {
  padding: 10px 20px;
  background: #f1f1f1;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
.btn-confirm[data-v-4ff001eb] {
  padding: 10px 20px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
.btn-confirm.danger[data-v-4ff001eb] {
  background: #dc3545;
}
.btn-confirm[data-v-4ff001eb]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.print-modal-overlay[data-v-f9a5c4ea] {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 10001;
}
.print-modal[data-v-f9a5c4ea] {
  background: white; border-radius: 16px; width: 95%; max-width: 520px; max-height: 92vh; overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.modal-header[data-v-f9a5c4ea] { padding: 20px 24px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center;
}
.modal-header h3[data-v-f9a5c4ea] { margin: 0; font-size: 1.25rem; color: #222;
}
.close-btn[data-v-f9a5c4ea] { font-size: 2rem; background: none; border: none; cursor: pointer; color: #888;
}
.modal-body[data-v-f9a5c4ea] { padding: 24px;
}
.form-group[data-v-f9a5c4ea] { margin-bottom: 20px;
}
label[data-v-f9a5c4ea] { display: block; font-weight: 600; margin-bottom: 8px; color: #333;
}
.input[data-v-f9a5c4ea] { width: 100%; padding: 12px; border: 1px solid #ced4da; border-radius: 8px; font-size: 0.95rem;
}
.shortcodes-grid[data-v-f9a5c4ea] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; max-height: 220px; overflow: auto; border: 1px solid #edf2f7; border-radius: 8px; padding: 8px;
}
.shortcode-item[data-v-f9a5c4ea] { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 0; font-weight: 500; font-size: 0.9rem;
}
.hint[data-v-f9a5c4ea] { color: #666; font-size: 0.8rem; display: block; margin-top: 4px;
}
.modal-footer[data-v-f9a5c4ea] { padding: 16px 24px; border-top: 1px solid #eee; display: flex; gap: 12px; justify-content: flex-end;
}
.btn-primary[data-v-f9a5c4ea] { background: #007bff; color: white; padding: 11px 28px; border: none; border-radius: 8px; font-weight: 600; cursor: pointer;
}
.btn-primary[data-v-f9a5c4ea]:disabled { opacity: 0.6; cursor: not-allowed;
}
.btn-secondary[data-v-f9a5c4ea] { background: #6c757d; color: white; padding: 11px 22px; border: none; border-radius: 8px; cursor: pointer;
}
.error[data-v-f9a5c4ea] { color: #dc3545; text-align: center; margin-top: 12px; font-weight: 600;
}
/* src/assets/css/ServiceCombobox.css */
/* Encoding: UTF-8 */
/* UNIWERSALNY STYL – PRZENIESIONY Z MODUŁU APPOINTMENTS (2026-04-27) */
/* Używany przez globalny komponent ServiceCombobox.vue */
.combobox-wrapper[data-v-2c573e2b] {
  position: relative;
}

/* Input wyszukiwania */
.combobox-input[data-v-2c573e2b] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 15px;
  background: #fff;
  transition: all 0.2s ease;
}
.combobox-input[data-v-2c573e2b]:focus {
  outline: none;
  border-color: #4f46e5;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}

/* Dropdown lista */
.combobox-dropdown[data-v-2c573e2b] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: 4px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
              0 4px 6px -4px rgb(0 0 0 / 0.1);
  max-height: 280px;
  overflow-y: auto;
  z-index: 99999;
  list-style: none;
  padding: 6px 0;
  scrollbar-width: thin;
  scrollbar-color: #64748b #f1f5f9;
}
.combobox-dropdown li[data-v-2c573e2b] {
  padding: 12px 16px;
  font-size: 15px;
  color: #1e2937;
  cursor: pointer;
  transition: background 0.15s ease;
}
.combobox-dropdown li[data-v-2c573e2b]:hover {
  background: #f1f5f9;
}
.combobox-no-results[data-v-2c573e2b] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: 4px;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  color: #64748b;
  font-size: 14.5px;
  text-align: center;
  z-index: 99999;
}

/* === WYBRANA USŁUGA – blok z kolorem === */
.selected-service-block[data-v-2c573e2b] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 2px solid #bae6fd;
  background: #f0f9ff;
  border-radius: 8px;
  cursor: pointer;
  position: relative;
}
.selected-service-color[data-v-2c573e2b] {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.selected-color-dot[data-v-2c573e2b] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.6);
}
.selected-service-info[data-v-2c573e2b] {
  flex: 1;
  min-width: 0;
}
.selected-service-name[data-v-2c573e2b] {
  font-weight: 700;
  font-size: 15px;
  color: #1e2937;
}
.selected-service-details[data-v-2c573e2b] {
  font-size: 13px;
  color: #64748b;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.clear-selection-btn[data-v-2c573e2b] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #e2e8f0;
  color: #64748b;
  border: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Styl wiersza w dropdownie */
.service-row[data-v-2c573e2b] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.service-color-dot-wrapper[data-v-2c573e2b] {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-color-dot[data-v-2c573e2b] {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.6);
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.service-text[data-v-2c573e2b] {
  flex: 1;
  min-width: 0;
}
.service-name[data-v-2c573e2b] {
  font-weight: 600;
  color: #1e2937;
  display: block;
  line-height: 1.2;
}
.service-details[data-v-2c573e2b] {
  color: #64748b;
  font-size: 12.5px;
  display: block;
  margin-top: 1px;
}

.modal-overlay[data-v-d8b77b03] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.modal-content[data-v-d8b77b03] {
  background: white;
  width: 90%;
  max-width: 920px;
  border-radius: 12px;
  overflow: hidden;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}
.modal-header[data-v-d8b77b03] {
  padding: 0 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.modal-header-left[data-v-d8b77b03] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.modal-header-left h3[data-v-d8b77b03] {
  margin: 0;
  line-height: 1;
}
.header-empty-slot-toggle[data-v-d8b77b03] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  background: #ffffff;
  color: #1e2937;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  position: relative;
  top: 1px;
}
.header-empty-slot-toggle input[type='checkbox'][data-v-d8b77b03] {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #4f46e5;
  cursor: pointer;
}
.modal-body[data-v-d8b77b03] {
  padding: 24px;
  flex: 1;
  overflow-y: auto;
  max-height: calc(100vh - 140px);
  scrollbar-width: thin;
  scrollbar-color: #888 #f0f0f0;
  position: relative;
}
.checkbox-label[data-v-d8b77b03] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #1e2937;
  cursor: pointer;
  user-select: none;
}
.checkbox-label input[type='checkbox'][data-v-d8b77b03] {
  width: 20px;
  height: 20px;
  accent-color: #4f46e5;
  margin-top: 2px;
  flex-shrink: 0;
  cursor: pointer;
}
.checkbox-label span[data-v-d8b77b03] {
  line-height: 1.35;
}
.notes-textarea[data-v-d8b77b03] {
  background: var(--notes-bg-color, #f8fafc) !important;
  border: 2px solid var(--notes-bg-color, #e2e8f0) !important;
  border-radius: 8px;
  padding: 12px;
  font-size: 15px;
  color: #374151;
  transition: all 0.2s ease;
}
.notes-textarea[data-v-d8b77b03]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
  border-color: var(--notes-bg-color, #4f46e5) !important;
}
.form-group[data-v-d8b77b03] {
  margin-bottom: 20px;
}
label[data-v-d8b77b03] {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}
input[data-v-d8b77b03],
select[data-v-d8b77b03],
textarea[data-v-d8b77b03] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.modal-footer[data-v-d8b77b03] {
  padding: 10px 20px;
  background: #f8f9fa;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-shrink: 0;
}
.client-with-add[data-v-d8b77b03] {
  margin-bottom: 20px;
}
.client-label-row[data-v-d8b77b03] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.client-label-row label[data-v-d8b77b03] {
  margin-bottom: 0;
  font-weight: 600;
  color: #374151;
}
.add-client-btn[data-v-d8b77b03] {
  background: #4f46e5;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(79, 70, 229, 0.2);
}
.add-client-btn[data-v-d8b77b03]:hover {
  background: #4338ca;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(79, 70, 229, 0.3);
}
.add-client-btn[data-v-d8b77b03]:active {
  transform: scale(0.95);
}
.notes-info-placeholder[data-v-d8b77b03] {
  margin-top: 24px;
  padding: 20px;
  background: #f8fafc;
  border: 2px dashed #94a3b8;
  border-radius: 10px;
  text-align: center;
  color: #475569;
}
.notes-info-placeholder i[data-v-d8b77b03] {
  font-size: 1.8rem;
  margin-bottom: 8px;
  color: #64748b;
}
.notes-info-placeholder p[data-v-d8b77b03] {
  margin: 8px 0 4px 0;
  font-weight: 600;
}
.notes-info-placeholder small[data-v-d8b77b03] {
  display: block;
  font-size: 0.9rem;
  color: #64748b;
}
.notifications-section[data-v-d8b77b03] {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.blacklisted-client-warning[data-v-d8b77b03] {
  margin-bottom: 14px;
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
}
.notifications-section h4[data-v-d8b77b03] {
  margin: 0 0 8px;
  font-size: 14px;
  color: #1e293b;
}
.notifications-grid[data-v-d8b77b03] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.checkbox-label.compact[data-v-d8b77b03] {
  align-items: center;
  font-size: 14px;
  font-weight: 600;
}
.service-with-promo[data-v-d8b77b03] {
  margin-bottom: 20px;
}
.service-label-row label[data-v-d8b77b03] {
  margin-bottom: 0;
}
.appointment-promo-picked[data-v-d8b77b03] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  padding: 8px 10px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  font-size: 0.9rem;
}
.appointment-promo-picked-label[data-v-d8b77b03] {
  font-weight: 600;
  color: #166534;
}
.appointment-promo-code[data-v-d8b77b03] {
  background: #dcfce7;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 700;
  color: #14532d;
}
.appointment-promo-code-link[data-v-d8b77b03] {
  align-self: flex-start;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  border-radius: 6px;
}
.appointment-promo-code-link:hover .appointment-promo-code[data-v-d8b77b03] {
  background: #bbf7d0;
  text-decoration: underline;
}
.appointment-promo-code--static[data-v-d8b77b03] {
  align-self: flex-start;
}
.appointment-promo-clear[data-v-d8b77b03] {
  margin-left: auto;
  border: none;
  background: #e2e8f0;
  color: #475569;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.appointment-promo-clear[data-v-d8b77b03]:hover {
  background: #cbd5e1;
}
.add-client-btn[data-v-d8b77b03]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.promo-picker-hint[data-v-d8b77b03] {
  margin: 0 0 14px;
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.45;
}
.promo-picker-status[data-v-d8b77b03] {
  margin: 0;
  padding: 12px 0;
  color: #64748b;
  font-size: 0.9rem;
}
.promo-picker-list[data-v-d8b77b03] {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  max-height: 48vh;
  overflow-y: auto;
}
.promo-picker-item[data-v-d8b77b03] {
  padding: 12px 14px;
  cursor: pointer;
  border-bottom: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.promo-picker-item[data-v-d8b77b03]:last-child {
  border-bottom: none;
}
.promo-picker-item[data-v-d8b77b03]:hover {
  background: #eff6ff;
}
.promo-picker-code[data-v-d8b77b03] {
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
}
.promo-picker-campaign[data-v-d8b77b03] {
  font-size: 0.8rem;
  color: #64748b;
}

.form-group[data-v-a69a7b8b] {
  margin-bottom: 16px;
}
.form-group label[data-v-a69a7b8b] {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}
.input[data-v-a69a7b8b] {
  width: 100%;
  border: 1px solid #ced4da;
  border-radius: 8px;
  padding: 10px 12px;
}
.preview-box[data-v-a69a7b8b] {
  border: 1px solid #e8ecf3;
  border-radius: 10px;
  margin-bottom: 16px;
  padding: 8px;
  background: #fafbfd;
}
.preview-label[data-v-a69a7b8b] {
  font-weight: 600;
  margin: 4px 6px 10px;
  font-size: 0.9rem;
  color: #334155;
}
.preview-frame[data-v-a69a7b8b] {
  width: 100%;
  height: 260px;
  border: none;
  border-radius: 8px;
  background: #fff;
}
.btn-primary[data-v-a69a7b8b],
.btn-secondary[data-v-a69a7b8b] {
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  cursor: pointer;
  font-weight: 600;
}
.btn-primary[data-v-a69a7b8b] {
  background: #007bff;
  color: #fff;
}
.btn-primary[data-v-a69a7b8b]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-secondary[data-v-a69a7b8b] {
  background: #6c757d;
  color: #fff;
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-e9ec30c7] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-e9ec30c7] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-e9ec30c7] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-e9ec30c7], .empty-state[data-v-e9ec30c7] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-e9ec30c7] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-e9ec30c7] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-e9ec30c7] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-e9ec30c7] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-e9ec30c7] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-e9ec30c7] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-e9ec30c7]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-e9ec30c7] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-e9ec30c7] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-e9ec30c7] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-e9ec30c7] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-e9ec30c7] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-e9ec30c7] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-e9ec30c7] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-e9ec30c7] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-e9ec30c7] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-e9ec30c7] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-e9ec30c7] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-e9ec30c7] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-e9ec30c7] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-e9ec30c7] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-e9ec30c7] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-e9ec30c7] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-e9ec30c7] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-e9ec30c7] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-e9ec30c7] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-e9ec30c7] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-e9ec30c7]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.voucher-list-view-settings-label[data-v-e9ec30c7] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.voucher-list-view-settings-hint[data-v-e9ec30c7] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* ========================================================= */
/* IZOLACJA STYLÓW – zapobiega wpływowi stylów nadrzędnych   */
/* ========================================================= */

/* 1. Główny reset + wysoka specyficzność dla całego komponentu */
.crs-client-recipient-selector[data-v-1ef51abc] {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  color: #212529;
  box-sizing: border-box;
}

/* 2. Reset kluczowych elementów formularza (blokuje globalne style rodzica) */
.crs-client-recipient-selector input[data-v-1ef51abc],
.crs-client-recipient-selector button[data-v-1ef51abc],
.crs-client-recipient-selector select[data-v-1ef51abc],
.crs-client-recipient-selector textarea[data-v-1ef51abc],
.crs-client-recipient-selector label[data-v-1ef51abc] {
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

/* ========================================================= */
/* STARY STYL KOMPONENTU – teraz z maksymalną specyficznością */
/* ========================================================= */
.crs-client-recipient-selector .crs-recipient-mode-selector[data-v-1ef51abc] {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: 8px;
}
.crs-client-recipient-selector .crs-mode-btn[data-v-1ef51abc] {
  flex: 1;
  min-width: 0;
  padding: 10px 16px;
  border: 2px solid #dee2e6;
  background: white;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.crs-client-recipient-selector .crs-mode-btn--active[data-v-1ef51abc] {
  border-color: #007bff;
  background: #e8f4fd;
  color: #007bff;
}
.crs-client-recipient-selector .crs-mode-btn[data-v-1ef51abc]:hover:not(.crs-mode-btn--active) {
  border-color: #adb5bd;
}
.crs-client-recipient-selector .crs-manual-recipient-group[data-v-1ef51abc] {
  background: #fff9e6;
  border: 2px solid #ffc107;
  border-radius: 10px;
  padding: 16px;
  margin-top: 12px;
  margin-bottom: 18px;
}
.crs-client-recipient-selector .crs-manual-recipient-group .crs-form-group[data-v-1ef51abc] {
  margin-bottom: 12px;
}
.crs-client-recipient-selector .crs-form-row[data-v-1ef51abc] {
  display: flex;
  gap: 12px;
}
.crs-client-recipient-selector .crs-form-row .crs-form-group[data-v-1ef51abc] {
  flex: 1;
}
.crs-client-recipient-selector .crs-required[data-v-1ef51abc] {
  color: #dc3545;
  font-weight: bold;
}
.crs-client-recipient-selector .crs-form-hint[data-v-1ef51abc] {
  display: block;
  margin-top: 6px;
  color: #666;
  font-size: 0.82rem;
}
/* src/modules/Vouchers/components/VoucherServicesTable.css */
/* WERSJA FINALNA 2026-05-03 – NAPRAWIONA SIATKA (6 kolumn, perfect alignment) */
.services-table-wrapper[data-v-2b01d511] {
  margin-bottom: 24px;
}

/* === GŁÓWNY KONTENER TABELI === */
.services-table[data-v-2b01d511] {
  display: grid;
  grid-template-columns: 2.4fr 1fr 1.2fr 1fr 1fr 1.2fr;   /* dokładnie 6 kolumn */
  gap: 1px;
  background: #dee2e6;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  margin-bottom: 16px;
}

/* Nagłówek i wiersze – każdy jest osobną siatką 6-kolumnową */
.table-header[data-v-2b01d511],
.table-row[data-v-2b01d511] {
  display: grid;
  grid-template-columns: 2.4fr 1fr 1.2fr 1fr 1fr 1.2fr;   /* DUPLIKUJEMY – działa w każdym przeglądarce */
  grid-column: 1 / -1;
}

/* Komórki nagłówka */
.table-header > div[data-v-2b01d511] {
  background: #2c3e50;
  color: #fff;
  padding: 12px 10px;
  font-weight: 700;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  white-space: nowrap;
}

/* Komórki wierszy danych */
.table-row > div[data-v-2b01d511] {
  background: #fff;
  padding: 14px 10px;
  font-size: 0.92rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #f1f3f5;
}
.table-row:last-child > div[data-v-2b01d511] {
  border-bottom: none;
}
.table-row:hover > div[data-v-2b01d511] {
  background: #f8fafc;
}
.text-center[data-v-2b01d511] {
  justify-content: center;
  text-align: center;
}
.service-name[data-v-2b01d511] {
  font-weight: 700;
  color: #1f2937;
  padding-left: 8px;
}
.price[data-v-2b01d511],
.value[data-v-2b01d511] {
  font-family: 'Courier New', monospace;
  color: #374151;
  font-weight: 600;
}
.used[data-v-2b01d511] {
  font-weight: 700;
  color: #dc2626;
}
.remaining[data-v-2b01d511] {
  font-weight: 700;
  color: #059669;
}
.remaining.low[data-v-2b01d511] {
  color: #dc2626;
  animation: pulse-2b01d511 2s infinite;
}
@keyframes pulse-2b01d511 {
0%, 100% { opacity: 1;
}
50% { opacity: 0.65;
}
}

/* === PODSUMOWANIE === */
.usage-summary[data-v-2b01d511] {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 16px;
}
.summary-row[data-v-2b01d511] {
  display: flex;
  justify-content: space-between;
  padding: 7px 0;
  font-size: 0.95rem;
  border-bottom: 1px dashed #e2e8f0;
}
.summary-row[data-v-2b01d511]:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-top: 4px;
  font-weight: 700;
}
.summary-row strong[data-v-2b01d511] {
  font-weight: 800;
  font-size: 1.02rem;
}
.used-total[data-v-2b01d511] { color: #dc2626;
}
.remaining-total[data-v-2b01d511] { color: #059669;
}

/* === HISTORIA REALIZACJI === */
.redemption-history[data-v-2b01d511] {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  background: white;
}
.history-header[data-v-2b01d511] {
  background: #f1f5f9;
  padding: 12px 16px;
  font-weight: 700;
  color: #334155;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  user-select: none;
  transition: background 0.1s;
}
.history-header[data-v-2b01d511]:hover {
  background: #e0e7ff;
}
.history-header i[data-v-2b01d511] {
  color: #64748b;
}
.history-list[data-v-2b01d511] {
  max-height: 280px;
  overflow-y: auto;
  padding: 4px 0;
}
.history-row[data-v-2b01d511] {
  display: grid;
  grid-template-columns: 1.6fr 2.2fr 1.1fr 1.8fr 1.6fr;
  gap: 8px;
  padding: 10px 16px;
  font-size: 0.86rem;
  border-bottom: 1px solid #f1e7ff;
  align-items: center;
}
.history-row[data-v-2b01d511]:last-child {
  border-bottom: none;
}
.history-date[data-v-2b01d511] {
  color: #64748b;
  font-family: 'Courier New', monospace;
  font-size: 0.82rem;
}
.history-service[data-v-2b01d511] {
  font-weight: 600;
  color: #1e2937;
}
.history-amount[data-v-2b01d511] {
  font-family: 'Courier New', monospace;
  font-weight: 700;
  color: #059669;
  text-align: right;
}
.history-employee[data-v-2b01d511] {
  color: #475569;
  font-size: 0.82rem;
}
.history-link[data-v-2b01d511] {
  font-size: 0.78rem;
  color: #6366f1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.history-inline-link[data-v-2b01d511] {
  color: inherit;
  text-decoration: none;
}
.history-inline-link[data-v-2b01d511]:hover {
  text-decoration: underline;
}
.text-danger[data-v-2b01d511] {
  color: #dc2626 !important;
  font-weight: 800;
}
.reload-section[data-v-a6d89ba9] { 
  margin: 20px 0; 
  padding: 16px; 
  background: #e8f4fd; 
  border-radius: 8px; 
  border-left: 4px solid #007bff;
}
.reload-section h4[data-v-a6d89ba9] { margin-top: 0; color: #0056b3;
}
.success[data-v-a6d89ba9] { color: #28a745; font-weight: 500; margin-top: 8px;
}
.error[data-v-a6d89ba9] { color: #dc3545; margin-top: 8px;
}
/* src/modules/Vouchers/components/VoucherViewMode.css */
/* Ulepszona wersja – czytelniejsza, z ikonami, lepszym układem i dodatkowymi informacjami */
.view-mode-content[data-v-107ab235] { padding-top: 10px;
}
.info-grid[data-v-107ab235] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}
.info-item label[data-v-107ab235] {
  font-size: 0.78rem;
  color: #666;
  margin-bottom: 3px;
}
.info-item .value[data-v-107ab235] {
  font-size: 1.05rem;
  font-weight: 600;
  color: #222;
}
.info-item .code[data-v-107ab235] {
  font-family: 'Courier New', monospace;
  color: #007bff;
  font-size: 1.15rem;
}
.info-item .balance[data-v-107ab235] {
  color: #28a745;
  font-weight: 700;
}
.client-link[data-v-107ab235] {
  color: #2563eb;
  text-decoration: none;
  font-weight: 600;
}
.client-link[data-v-107ab235]:hover {
  text-decoration: underline;
}
.buyer-info[data-v-107ab235] {
  background: #e8f4fd;
  border: 1px solid #007bff;
  border-radius: 12px;
  padding: 22px;
  margin-bottom: 24px;
}
.services-section[data-v-107ab235] {
  background: #f8f9fa;
  border: 1px solid #e6e9ee;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 16px;
}
.section-title[data-v-107ab235] {
  margin: 0 0 10px;
  font-size: 1.2rem;
  color: #222;
  display: flex;
  align-items: center;
  gap: 10px;
}
.amount-notice[data-v-107ab235] {
  background: #fff3cd;
  padding: 18px;
  border-radius: 8px;
  text-align: center;
  color: #856404;
  margin: 20px 0;
}
.redemption-history[data-v-107ab235] {
  margin-top: 30px;
}
.history-list[data-v-107ab235] {
  margin-top: 12px;
}
.history-item[data-v-107ab235] {
  display: flex;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  font-size: 0.9rem;
}
.history-item .date[data-v-107ab235] {
  color: #666;
  min-width: 140px;
}
.history-item .amount[data-v-107ab235] {
  font-weight: 600;
  color: #28a745;
}
/* src/modules/Vouchers/components/VoucherForm.css */
/* Style przeniesione z VoucherForm.vue – scoped */
.voucher-form[data-v-7bb185ec] { max-width: 860px; margin: 0 auto; padding: 00px;
}
.form-header h2[data-v-7bb185ec] { display: flex; align-items: center; gap: 10px;
}
.flow-tooltip[data-v-7bb185ec] { color: #007bff; cursor: help;
}
.required[data-v-7bb185ec] { color: #dc3545;
}
.form-group[data-v-7bb185ec] { margin-bottom: 18px;
}
label[data-v-7bb185ec] { display: block; font-weight: 600; margin-bottom: 6px; color: #333;
}
input[data-v-7bb185ec], select[data-v-7bb185ec], textarea[data-v-7bb185ec] { width: 100%; padding: 10px 14px; border: 1px solid #ced4da; border-radius: 6px; font-size: 1rem;
}
.form-buttons[data-v-7bb185ec] { display: flex; gap: 12px; margin-top: 24px;
}
.cancel-button[data-v-7bb185ec] { background: #6c757d; color: white; padding: 10px 24px; border: none; border-radius: 6px; cursor: pointer;
}
.gabito-btn-primary[data-v-7bb185ec] { background: #007bff; color: white; padding: 10px 24px; border: none; border-radius: 6px; cursor: pointer;
}
.gabito-btn-primary[data-v-7bb185ec]:disabled { opacity: 0.6; cursor: not-allowed;
}

/* Style dla trybu tworzenia/edycji */
.calculated-value-box[data-v-7bb185ec] {
  background: #e8f4fd;
  border: 2px solid #007bff;
  border-radius: 8px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0056b3;
}
.badge[data-v-7bb185ec] {
  background: #007bff;
  color: white;
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 12px;
  font-weight: 600;
}
.form-hint[data-v-7bb185ec] {
  display: block;
  margin-top: 4px;
  color: #666;
  font-size: 0.82rem;
}
.services-preview[data-v-7bb185ec] {
  margin-top: 12px;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 12px 16px;
}
.services-preview h5[data-v-7bb185ec] {
  margin: 0 0 8px 0;
  font-size: 0.95rem;
  color: #333;
  font-weight: 600;
}
.services-list[data-v-7bb185ec] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.services-list li[data-v-7bb185ec] {
  padding: 4px 0;
  font-size: 0.9rem;
  color: #444;
  display: flex;
  align-items: center;
  gap: 6px;
}
.services-list .svc-calc[data-v-7bb185ec] {
  color: #555;
  font-size: 0.85rem;
  margin-left: auto;
  white-space: nowrap;
}
.services-list .line-total[data-v-7bb185ec] {
  color: #28a745;
  font-weight: 700;
}
.services-list .svc-discount[data-v-7bb185ec] {
  color: #dc3545;
  font-size: 0.8rem;
  font-weight: 600;
  margin-left: 4px;
}
.edit-notice[data-v-7bb185ec] {
  background: #fff3cd;
  border: 1px solid #ffc107;
  color: #856404;
  padding: 14px 18px;
  border-radius: 8px;
  margin-bottom: 22px;
  font-size: 0.95rem;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 2px 8px rgba(255, 193, 7, 0.15);
}
.edit-notice i[data-v-7bb185ec] {
  font-size: 1.5rem;
  color: #856404;
}
.edit-notice strong[data-v-7bb185ec] {
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-9beb101c] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-9beb101c] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-9beb101c] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-9beb101c], .empty-state[data-v-9beb101c] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-9beb101c] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-9beb101c] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-9beb101c] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-9beb101c] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-9beb101c] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-9beb101c] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-9beb101c]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-9beb101c] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-9beb101c] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-9beb101c] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-9beb101c] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-9beb101c] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-9beb101c] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-9beb101c] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-9beb101c] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-9beb101c] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-9beb101c] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-9beb101c] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-9beb101c] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-9beb101c] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-9beb101c] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-9beb101c] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-9beb101c] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-9beb101c] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-9beb101c] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-9beb101c] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-9beb101c] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-9beb101c]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.gabito-common-filters-container.collapsed[data-v-9beb101c] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-9beb101c] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-9beb101c] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-9beb101c] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.templates-grid[data-v-9beb101c] { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px;
}
.voucher-info-row[data-v-9beb101c] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-9beb101c]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-9beb101c] { color: #222; font-weight: 600;
}
.deleted[data-v-9beb101c] { color: #dc3545; font-weight: 600;
}
.text-success[data-v-9beb101c] { color: #28a745;
}
.text-danger[data-v-9beb101c] { color: #dc3545;
}
.voucher-template-list-view-settings-label[data-v-9beb101c] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.voucher-template-list-view-settings-hint[data-v-9beb101c] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}

/* === WSPÓLNE STYLE DLA WSZYSTKICH KAFELKÓW === */
.universal-editable-card[data-v-ec143528] {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
}
.universal-editable-card[data-v-ec143528]:hover:not(.disabled) {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  border-color: #007bff;
}
.universal-editable-card.disabled[data-v-ec143528] {
  opacity: 0.85;
  pointer-events: none;
}
.card-header[data-v-ec143528] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: linear-gradient(to right, #f8f9fa, #ffffff);
  border-bottom: 1px solid #e9ecef;
  gap: 10px;
}
.item-type-badge[data-v-ec143528] {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}
.item-name[data-v-ec143528] {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  color: #222;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.btn-remove[data-v-ec143528] {
  background: #dc3545;
  color: white;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.btn-remove[data-v-ec143528]:hover {
  background: #c82333;
  transform: scale(1.1);
}
.card-body[data-v-ec143528] {
  padding: 12px 14px;
  flex: 1;
}
.card-footer[data-v-ec143528] {
  padding: 8px 14px;
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
  font-size: 0.95rem;
  color: #28a745;
  font-weight: 600;
}

/* Dodatkowe klasy dla badge'ów (można rozszerzać) */
.item-type-badge.type-vouchertemplate[data-v-ec143528] { background: #e7f1ff; color: #007bff;
}
.item-type-badge.type-voucher[data-v-ec143528] { background: #d4edda; color: #155724;
}
.item-type-badge.type-service[data-v-ec143528] { background: #fff3cd; color: #856404;
}
.item-type-badge.type-product[data-v-ec143528] { background: #f8d7da; color: #721c24;
}
.item-type-badge.type-appointment[data-v-ec143528] { background: #cce5ff; color: #004085;
}
.services-config[data-v-878b6046] { 
  background: #f8f9fa; 
  padding: 18px; 
  border-radius: 12px; 
  margin-bottom: 20px;
  border: 1px solid #e9ecef;
}
.hint[data-v-878b6046] { 
  color: #666; 
  font-size: 0.85rem; 
  margin-bottom: 14px; 
  line-height: 1.4;
}

/* === NOWA SIATKA KAFELKÓW === */
.services-grid[data-v-878b6046] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.service-card[data-v-878b6046] {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
}
.service-card[data-v-878b6046]:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  border-color: #007bff;
}
.service-card.disabled-card[data-v-878b6046] {
  background: #f8f9fa;
  border-color: #ced4da;
  box-shadow: none;
}
.service-card.disabled-card[data-v-878b6046]:hover {
  transform: none;
  box-shadow: none;
}

/* Nagłówek kafli */
.card-header[data-v-878b6046] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: linear-gradient(to right, #f8f9fa, #ffffff);
  border-bottom: 1px solid #e9ecef;
  gap: 10px;
}
.service-name-wrapper[data-v-878b6046] {
  flex: 1;
  min-width: 0;
}
.service-name-wrapper[data-v-878b6046] .service-combobox {
  width: 100%;
}
.btn-remove[data-v-878b6046] {
  background: #dc3545;
  color: white;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.btn-remove[data-v-878b6046]:hover {
  background: #c82333;
  transform: scale(1.1);
}
.read-only-badge[data-v-878b6046] {
  font-size: 0.75rem;
  background: #e2e3e5;
  color: #6c757d;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 600;
  white-space: nowrap;
}

/* Ciało kafli */
.card-body[data-v-878b6046] {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.field-row[data-v-878b6046] {
  display: flex;
  gap: 12px;
}
.field-row .field-group[data-v-878b6046] {
  flex: 1;
  min-width: 0;
}
.qty-group .qty-input[data-v-878b6046] {
  max-width: 80px;
}
.price-group .price-input[data-v-878b6046] {
  max-width: 110px;
}
.field-group[data-v-878b6046] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.field-group label[data-v-878b6046] {
  font-size: 0.78rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 1px;
}
.input-with-unit[data-v-878b6046] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.input-with-unit input[data-v-878b6046] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  font-size: 0.95rem;
  transition: border-color 0.2s;
}
.input-with-unit input[data-v-878b6046]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
  outline: none;
}
.input-with-unit .unit[data-v-878b6046] {
  font-size: 0.9rem;
  color: #6c757d;
  font-weight: 500;
  min-width: 40px;
}


/* Zniżka: dropdown + input w jednym wierszu */
.discount-group .discount-controls[data-v-878b6046] {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap; /* na bardzo małych ekranach */
}
.discount-type[data-v-878b6046] {
  flex: 0 0 140px; /* stała szerokość dla selecta */
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  font-size: 0.9rem;
  background: white;
}
.discount-value-wrapper[data-v-878b6046] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 130px;
}
.discount-input[data-v-878b6046] {
  flex: 1;
  max-width: 90px;
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  font-size: 0.95rem;
}
.discount-input[data-v-878b6046]:focus {
  border-color: #28a745;
}

/* Stopka kafli */
.card-footer[data-v-878b6046] {
  padding: 8px 14px;
  background: #e8f4fd;
  border-top: 1px solid #dee2e6;
  margin-top: auto;
}
.item-total[data-v-878b6046] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
}
.item-total strong[data-v-878b6046] {
  color: #007bff;
  font-size: 1.05rem;
  font-weight: 700;
}

/* Pusty stan */
.empty-services[data-v-878b6046] {
  text-align: center;
  padding: 40px 20px;
  color: #6c757d;
  background: #fff;
  border: 2px dashed #dee2e6;
  border-radius: 12px;
  margin-bottom: 20px;
}
.empty-services i[data-v-878b6046] {
  color: #adb5bd;
  margin-bottom: 12px;
}
.empty-services p[data-v-878b6046] {
  margin: 0;
  font-size: 0.95rem;
}

/* Przycisk dodawania */
.btn-add-service[data-v-878b6046] { 
  background: #007bff; 
  color: white; 
  border: none; 
  padding: 10px 18px; 
  border-radius: 8px; 
  cursor: pointer; 
  font-weight: 600;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-bottom: 14px;
}
.btn-add-service[data-v-878b6046]:hover {
  background: #0056b3;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}
.btn-add-service i[data-v-878b6046] {
  font-size: 1.1rem;
}

/* Podsumowanie całkowite */
.calculated-value[data-v-878b6046] { 
  margin-top: 6px; 
  padding: 12px 16px; 
  background: linear-gradient(135deg, #e8f4fd 0%, #d4edff 100%);
  border: 2px solid #007bff;
  border-radius: 10px; 
  font-size: 1rem;
}
.total-row[data-v-878b6046] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
}
.total-amount[data-v-878b6046] {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0056b3;
}
.total-hint[data-v-878b6046] {
  display: block;
  margin-top: 6px;
  color: #495057;
  font-size: 0.8rem;
  text-align: right;
}

/* Responsywność */
@media (max-width: 768px) {
.services-grid[data-v-878b6046] {
    grid-template-columns: 1fr;
}
.card-body[data-v-878b6046] {
    padding: 14px;
}
}.voucher-template-form-enhanced[data-v-ade8bc76] {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.form-section[data-v-ade8bc76] { margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid #eee;
}
.form-row[data-v-ade8bc76] { display: flex; gap: 16px;
}
.form-row > .form-group[data-v-ade8bc76] { flex: 1;
}
.checkboxes[data-v-ade8bc76] { gap: 24px;
}
.form-buttons[data-v-ade8bc76] { display: flex; gap: 12px; margin-top: 24px;
}
button[type="submit"][data-v-ade8bc76] { background: #28a745; color: white; padding: 12px 28px; border: none; border-radius: 6px; font-weight: 600;
}
button[type="button"][data-v-ade8bc76] { background: #6c757d; color: white; padding: 12px 24px; border: none; border-radius: 6px;
}
.error[data-v-ade8bc76] { color: #dc3545; margin-top: 12px;
}
.form-hint[data-v-ade8bc76] { color: #007bff; font-size: 0.8rem; margin-top: 4px; display: block;
}/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */

.gabito-btn-edit {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}

.gabito-btn-edit:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}

.gabito-btn-close {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}

.gabito-btn-close:hover:not(:disabled) {
  background: #c82333;
}

/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}

.gabito-btn-close.gabito-btn-close--preview-header:hover:not(:disabled) {
  transform: scale(1.05);
}

/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;

}

.gabito-btn-save:hover:not(:disabled) {
  background: #218838;
}

.gabito-btn-cancel,
.gabito-btn-anuluj {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}

.gabito-btn-cancel:hover:not(:disabled),
.gabito-btn-anuluj:hover:not(:disabled) {
  background: #c82333;
}

.gabito-btn-edit-general {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}

.gabito-btn-edit-general:hover:not(:disabled) {
  background: #0056b3;
}

/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}

.gabito-form-btn-dalej:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}

.gabito-form-btn-anuluj {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}

.gabito-form-btn-anuluj:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}


/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {

  .gabito-btn-edit,
  .gabito-btn-save,
  .gabito-btn-cancel,
  .gabito-btn-anuluj,
  .gabito-btn-edit-general,
  .gabito-form-btn-dalej,
  .gabito-form-btn-anuluj {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
  }

  .gabito-btn-close {
    height: 40px;
    width: 40px;
    font-size: 22px;
  }

  .gabito-btn-close.gabito-btn-close--preview-header {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
  }
}

/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}

.gabito-btn-primary:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}

.gabito-btn-primary:visited {
  color: #ffffff;
}

.gabito-btn-primary:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.voucher-dashboard[data-v-185b7b2a] { padding: 20px; max-width: 1200px; margin: 0 auto;
}
.stats-grid[data-v-185b7b2a] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin: 20px 0;
}
.stat-card[data-v-185b7b2a] { background: #f8f9fa; padding: 20px; border-radius: 8px; text-align: center; box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.number[data-v-185b7b2a] { font-size: 2.2rem; font-weight: bold; color: #007bff; margin: 8px 0;
}
.reports-section[data-v-185b7b2a] { margin: 30px 0;
}
.report-cards[data-v-185b7b2a] { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px;
}
.report-card[data-v-185b7b2a] { background: white; border: 1px solid #ddd; padding: 16px; border-radius: 8px;
}
.report-card h4[data-v-185b7b2a] { margin-top: 0; color: #333;
}
.small-btn[data-v-185b7b2a] { background: #6c757d; color: white; border: none; padding: 6px 12px; border-radius: 4px; cursor: pointer; font-size: 0.85rem;
}
.quick-actions[data-v-185b7b2a] { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px;
}
.gabito-btn-primary[data-v-185b7b2a], .gabito-btn-secondary[data-v-185b7b2a] { padding: 12px 24px; border: none; border-radius: 6px; cursor: pointer; font-weight: 600;
}
.gabito-btn-primary[data-v-185b7b2a] { background: #007bff; color: white;
}
.gabito-btn-secondary[data-v-185b7b2a] { background: #6c757d; color: white;
}

.report-filters[data-v-a229971b] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.filters-row[data-v-a229971b] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}
.filter-group[data-v-a229971b] {
  display: flex;
  flex-direction: column;
  min-width: 140px;
}
.filter-group label[data-v-a229971b] {
  font-size: 0.75rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 4px;
}
.filter-input[data-v-a229971b] {
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: white;
}
.search-wrapper[data-v-a229971b] {
  position: relative;
}
.search-wrapper .search-icon[data-v-a229971b] {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  pointer-events: none;
}
.btn-reset[data-v-a229971b] {
  background: #6c757d;
  color: white;
  border: none;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  margin-top: 22px;
}
.btn-reset[data-v-a229971b]:hover {
  background: #5a6268;
}

.report-card[data-v-78836ae3] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 20px;
  margin-bottom: 20px;
}
.report-header[data-v-78836ae3] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 12px;
}
.report-header h3[data-v-78836ae3] {
  margin: 0;
  font-size: 1.25rem;
  color: #222;
}
.summary-grid[data-v-78836ae3] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.summary-item[data-v-78836ae3] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}
.summary-item.highlight[data-v-78836ae3] {
  background: #d4edda;
  border-color: #28a745;
}
.summary-item.warning[data-v-78836ae3] {
  background: #fff3cd;
  border-color: #ffc107;
}
.summary-item .label[data-v-78836ae3] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 8px;
}
.summary-item .value[data-v-78836ae3] {
  font-size: 1.6rem;
  font-weight: 700;
  color: #222;
}
.loading[data-v-78836ae3], .empty[data-v-78836ae3] {
  text-align: center;
  padding: 40px;
  color: #6c757d;
}

.report-table-wrapper[data-v-31fb826e] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  overflow: hidden;
}
.report-table[data-v-31fb826e] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.report-table th[data-v-31fb826e] {
  background: #007bff;
  color: white;
  padding: 12px 14px;
  text-align: left;
  font-weight: 600;
  border-bottom: 2px solid #0056b3;
}
.report-table td[data-v-31fb826e] {
  padding: 10px 14px;
  border-bottom: 1px solid #e9ecef;
  vertical-align: middle;
}
.report-table tr[data-v-31fb826e]:hover {
  background: #f8f9fa;
}
.text-right[data-v-31fb826e] {
  text-align: right;
}
.loading-state[data-v-31fb826e],
.error-state[data-v-31fb826e],
.empty-state[data-v-31fb826e] {
  padding: 60px 20px;
  text-align: center;
  color: #6c757d;
  font-size: 1rem;
}
.loading-state i[data-v-31fb826e],
.error-state i[data-v-31fb826e],
.empty-state i[data-v-31fb826e] {
  font-size: 2rem;
  margin-bottom: 12px;
  display: block;
}


/* style identyczny jak w SalesSummaryReport.vue */
.report-card[data-v-b614ea2d] { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; margin-bottom: 20px;
}
.report-header[data-v-b614ea2d] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.report-header h3[data-v-b614ea2d] { margin: 0; font-size: 1.25rem; color: #222;
}

.report-card[data-v-990773b9] { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; margin-bottom: 20px;
}
.report-header[data-v-990773b9] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.report-header h3[data-v-990773b9] { margin: 0; font-size: 1.25rem; color: #222;
}

.report-card[data-v-a0a5fb3f] { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; margin-bottom: 20px;
}
.report-header[data-v-a0a5fb3f] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.report-header h3[data-v-a0a5fb3f] { margin: 0; font-size: 1.25rem; color: #222;
}
.two-column[data-v-a0a5fb3f] { display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.section h4[data-v-a0a5fb3f] { margin: 0 0 12px 0; color: #007bff;
}
.stats[data-v-a0a5fb3f] { display: flex; flex-direction: column; gap: 8px;
}
.stat[data-v-a0a5fb3f] { display: flex; justify-content: space-between; font-size: 0.95rem;
}
.loading[data-v-a0a5fb3f] { text-align: center; padding: 40px;
}

.report-card[data-v-48bc0f0a] { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; margin-bottom: 20px;
}
.report-header[data-v-48bc0f0a] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.report-header h3[data-v-48bc0f0a] { margin: 0; font-size: 1.25rem; color: #222;
}

.report-card[data-v-1915f96d] { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; margin-bottom: 20px;
}
.report-header[data-v-1915f96d] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.report-header h3[data-v-1915f96d] { margin: 0; font-size: 1.25rem; color: #222;
}

.report-card[data-v-1b20340a] { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; margin-bottom: 20px;
}
.report-header[data-v-1b20340a] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.report-header h3[data-v-1b20340a] { margin: 0; font-size: 1.25rem; color: #222;
}
.utilization[data-v-1b20340a] { text-align: center;
}
.big-number[data-v-1b20340a] { margin: 20px 0;
}
.big-number .percent[data-v-1b20340a] { font-size: 4rem; font-weight: 800; color: #28a745;
}
.big-number .label[data-v-1b20340a] { display: block; font-size: 1.1rem; color: #6c757d;
}
.breakdown[data-v-1b20340a] { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-top: 20px;
}
.item[data-v-1b20340a] { background: #f8f9fa; padding: 12px; border-radius: 8px;
}
.item.completed[data-v-1b20340a] { background: #d4edda;
}
.item.no-show[data-v-1b20340a] { background: #fff3cd;
}
.item.cancelled[data-v-1b20340a] { background: #f8d7da;
}
.loading[data-v-1b20340a] { text-align: center; padding: 40px;
}

.report-card[data-v-b2b24a49] { 
  background: white; 
  border-radius: 12px; 
  box-shadow: 0 4px 12px rgba(0,0,0,0.08); 
  padding: 20px; 
  margin-bottom: 20px;
}
.report-header[data-v-b2b24a49] { 
  display: flex; 
  justify-content: space-between; 
  align-items: flex-start; 
  margin-bottom: 20px; 
  flex-wrap: wrap; 
  gap: 12px;
}
.report-header h3[data-v-b2b24a49] { 
  margin: 0; 
  font-size: 1.25rem; 
  color: #222;
}
.summary-bar[data-v-b2b24a49] {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.summary-item[data-v-b2b24a49] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f0f8ff;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 0.95rem;
  color: #007bff;
  border: 1px solid #b3d9ff;
}
.summary-item strong[data-v-b2b24a49] {
  font-size: 1.1rem;
}
.client-list[data-v-b2b24a49] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.client-item[data-v-b2b24a49] {
  border: 1px solid #dee2e6;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s ease;
}
.client-item.expanded[data-v-b2b24a49] {
  box-shadow: 0 3px 10px rgba(40, 167, 69, 0.15);
  border-color: #28a745;
}
.client-header[data-v-b2b24a49] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: #f8f9fa;
  cursor: pointer;
  transition: background 0.15s;
}
.client-header[data-v-b2b24a49]:hover {
  background: #e9ecef;
}
.client-info[data-v-b2b24a49] {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.client-name[data-v-b2b24a49] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 1.05rem;
  color: #222;
}
.client-name i[data-v-b2b24a49] {
  color: #28a745;
}
.client-total[data-v-b2b24a49] {
  font-size: 0.9rem;
  color: #6c757d;
  background: #fff;
  padding: 3px 10px;
  border-radius: 12px;
  border: 1px solid #dee2e6;
}
.header-actions[data-v-b2b24a49] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6c757d;
}
.status-count[data-v-b2b24a49] {
  font-size: 0.8rem;
  background: #fff;
  padding: 2px 9px;
  border-radius: 10px;
  border: 1px solid #ced4da;
}
.status-list-wrapper[data-v-b2b24a49] {
  background: #fff;
  border-top: 1px solid #dee2e6;
}
.status-list[data-v-b2b24a49] {
  padding: 12px 18px;
}
.status-row[data-v-b2b24a49] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  margin-bottom: 6px;
  border-radius: 8px;
  background: #f8f9fa;
}
.status-row[data-v-b2b24a49]:last-child {
  margin-bottom: 0;
}
.status-info[data-v-b2b24a49] {
  display: flex;
  align-items: center;
}
.status-badge[data-v-b2b24a49] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 13px;
  border-radius: 16px;
  font-weight: 600;
  font-size: 0.88rem;
  color: white;
}
.status-badge i[data-v-b2b24a49] {
  font-size: 0.95rem;
}
.status-completed[data-v-b2b24a49] { background: #28a745;
}
.status-cancelled[data-v-b2b24a49] { background: #dc3545;
}
.status-no-show[data-v-b2b24a49] { background: #ffc107; color: #212529;
}
.status-scheduled[data-v-b2b24a49] { background: #17a2b8;
}
.status-confirmed[data-v-b2b24a49] { background: #007bff;
}
.status-in-progress[data-v-b2b24a49] { background: #6c757d;
}
.status-count-value[data-v-b2b24a49] {
  font-size: 0.95rem;
  color: #495057;
  text-align: right;
}
.status-count-value strong[data-v-b2b24a49] {
  color: #222;
  font-size: 1.05rem;
}
.percent[data-v-b2b24a49] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-left: 6px;
}
.global-actions[data-v-b2b24a49] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid #eee;
}
.btn-action[data-v-b2b24a49] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  background: white;
  color: #495057;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-action[data-v-b2b24a49]:hover {
  background: #f8f9fa;
  border-color: #adb5bd;
}
.btn-action.expand[data-v-b2b24a49]:hover {
  border-color: #28a745;
  color: #28a745;
}
.btn-action.collapse[data-v-b2b24a49]:hover {
  border-color: #6c757d;
  color: #6c757d;
}
.loading[data-v-b2b24a49], .empty-state[data-v-b2b24a49], .error-state[data-v-b2b24a49] {
  text-align: center;
  padding: 50px 20px;
  color: #6c757d;
}
.loading i[data-v-b2b24a49], .empty-state i[data-v-b2b24a49], .error-state i[data-v-b2b24a49] {
  font-size: 2.2rem;
  margin-bottom: 12px;
  display: block;
}
.pagination-info[data-v-b2b24a49] {
  text-align: center;
  margin-top: 12px;
  font-size: 0.85rem;
  color: #6c757d;
}

.report-card[data-v-a92a226e] { 
  background: white; 
  border-radius: 12px; 
  box-shadow: 0 4px 12px rgba(0,0,0,0.08); 
  padding: 20px; 
  margin-bottom: 20px;
}
.report-header[data-v-a92a226e] { 
  display: flex; 
  justify-content: space-between; 
  align-items: flex-start; 
  margin-bottom: 20px; 
  flex-wrap: wrap; 
  gap: 12px;
}
.report-header h3[data-v-a92a226e] { 
  margin: 0; 
  font-size: 1.25rem; 
  color: #222;
}
.summary-bar[data-v-a92a226e] {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.summary-item[data-v-a92a226e] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f0f8ff;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 0.95rem;
  color: #007bff;
  border: 1px solid #b3d9ff;
}
.summary-item strong[data-v-a92a226e] {
  font-size: 1.1rem;
}
.client-list[data-v-a92a226e] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.client-item[data-v-a92a226e] {
  border: 1px solid #dee2e6;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s ease;
}
.client-item.expanded[data-v-a92a226e] {
  box-shadow: 0 3px 10px rgba(40, 167, 69, 0.15);
  border-color: #28a745;
}
.client-header[data-v-a92a226e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: #f8f9fa;
  cursor: pointer;
  transition: background 0.15s;
}
.client-header[data-v-a92a226e]:hover {
  background: #e9ecef;
}
.client-info[data-v-a92a226e] {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.client-name[data-v-a92a226e] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 1.05rem;
  color: #222;
}
.client-name i[data-v-a92a226e] {
  color: #28a745;
}
.client-total[data-v-a92a226e] {
  font-size: 0.9rem;
  color: #6c757d;
  background: #fff;
  padding: 3px 10px;
  border-radius: 12px;
  border: 1px solid #dee2e6;
}
.header-actions[data-v-a92a226e] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6c757d;
}
.status-count[data-v-a92a226e] {
  font-size: 0.8rem;
  background: #fff;
  padding: 2px 9px;
  border-radius: 10px;
  border: 1px solid #ced4da;
}
.status-list-wrapper[data-v-a92a226e] {
  background: #fff;
  border-top: 1px solid #dee2e6;
}
.status-list[data-v-a92a226e] {
  padding: 12px 18px;
}
.status-row[data-v-a92a226e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  margin-bottom: 6px;
  border-radius: 8px;
  background: #f8f9fa;
}
.status-row[data-v-a92a226e]:last-child {
  margin-bottom: 0;
}
.status-info[data-v-a92a226e] {
  display: flex;
  align-items: center;
}
.status-badge[data-v-a92a226e] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 13px;
  border-radius: 16px;
  font-weight: 600;
  font-size: 0.88rem;
  color: white;
}
.status-badge i[data-v-a92a226e] {
  font-size: 0.95rem;
}
.status-completed[data-v-a92a226e] { background: #28a745;
}
.status-cancelled[data-v-a92a226e] { background: #dc3545;
}
.status-no-show[data-v-a92a226e] { background: #ffc107; color: #212529;
}
.status-scheduled[data-v-a92a226e] { background: #17a2b8;
}
.status-confirmed[data-v-a92a226e] { background: #007bff;
}
.status-in-progress[data-v-a92a226e] { background: #6c757d;
}
.status-count-value[data-v-a92a226e] {
  font-size: 0.95rem;
  color: #495057;
  text-align: right;
}
.status-count-value strong[data-v-a92a226e] {
  color: #222;
  font-size: 1.05rem;
}
.percent[data-v-a92a226e] {
  font-size: 0.8rem;
  color: #6c757d;
  margin-left: 6px;
}
.global-actions[data-v-a92a226e] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid #eee;
}
.btn-action[data-v-a92a226e] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  background: white;
  color: #495057;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-action[data-v-a92a226e]:hover {
  background: #f8f9fa;
  border-color: #adb5bd;
}
.btn-action.expand[data-v-a92a226e]:hover {
  border-color: #28a745;
  color: #28a745;
}
.btn-action.collapse[data-v-a92a226e]:hover {
  border-color: #6c757d;
  color: #6c757d;
}
.loading[data-v-a92a226e], .empty-state[data-v-a92a226e], .error-state[data-v-a92a226e] {
  text-align: center;
  padding: 50px 20px;
  color: #6c757d;
}
.loading i[data-v-a92a226e], .empty-state i[data-v-a92a226e], .error-state i[data-v-a92a226e] {
  font-size: 2.2rem;
  margin-bottom: 12px;
  display: block;
}
.pagination-info[data-v-a92a226e] {
  text-align: center;
  margin-top: 12px;
  font-size: 0.85rem;
  color: #6c757d;
}

.report-card[data-v-94267dd8] { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px; margin-bottom: 20px;
}
.report-header[data-v-94267dd8] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.report-header h3[data-v-94267dd8] { margin: 0; font-size: 1.25rem; color: #222;
}
.high[data-v-94267dd8] { color: #28a745; font-weight: 700;
}
.medium[data-v-94267dd8] { color: #ffc107; font-weight: 700;
}
.low[data-v-94267dd8] { color: #dc3545; font-weight: 700;
}
/* src/modules/VoucherReports/views/ReportsMainView.css */
/* Style dopasowane do VoucherList.css */
.gabito-common-list-container[data-v-0e683b73] {
	background: #f8f9fa;
	padding-bottom: 40px;
}
.gabito-common-filters-container[data-v-0e683b73] {
	background: white;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 12px 16px;
	margin: 0 20px 16px;
}
.gabito-common-checkbox-filters-container[data-v-0e683b73] {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}
.gabito-common-filter-label[data-v-0e683b73] {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 6px;
	font-size: 0.85rem;
	cursor: pointer;
	user-select: none;
	transition: all 0.2s;
}
.gabito-common-filter-label[data-v-0e683b73]:hover {
	background: #e9ecef;
}
.gabito-common-filter-label input[type="checkbox"][data-v-0e683b73] {
	margin: 0;
}
.filter-separator[data-v-0e683b73] {
	color: #adb5bd;
	font-weight: 300;
	padding: 0 4px;
}
.gabito-common-clear-filters-btn-v1[data-v-0e683b73] {
	background: #6c757d;
	color: white;
	border: none;
	padding: 8px 12px;
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	transition: all 0.2s;
}
.gabito-common-clear-filters-btn-v1[data-v-0e683b73]:hover {
	background: #5a6268;
}
.gabito-common-clear-filters-btn-v1.active-filters[data-v-0e683b73] {
	background: #dc3545;
}
.gabito-common-filters-toggle[data-v-0e683b73] {
	background: #007bff;
	color: white;
	border: none;
	padding: 8px 12px;
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	transition: all 0.2s;
}
.gabito-common-filters-toggle.expanded[data-v-0e683b73] {
	background: #0056b3;
}
.gabito-common-add-btn-v1[data-v-0e683b73] {
	background: #28a745;
	color: white;
	border: none;
	padding: 8px 12px;
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	transition: all 0.2s;
}
.gabito-common-add-btn-v1[data-v-0e683b73]:hover {
	background: #218838;
}
.loading-state[data-v-0e683b73],
.error-state[data-v-0e683b73],
.empty-state[data-v-0e683b73] {
	padding: 80px 20px;
	text-align: center;
	color: #6c757d;
}
.loading-state i[data-v-0e683b73],
.error-state i[data-v-0e683b73],
.empty-state i[data-v-0e683b73] {
	font-size: 3rem;
	margin-bottom: 20px;
	display: block;
	color: #adb5bd;
}
.gabito-common-list-container[data-v-0e683b73] {
	min-height: 100vh !important;
	height: auto !important;
	overflow-y: visible !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}
.category-tabs[data-v-0e683b73] {
	display: flex;
	gap: 8px;
	margin: 16px 20px 24px;
	border-bottom: 2px solid #dee2e6;
	padding-bottom: 8px;
}
.tab-btn[data-v-0e683b73] {
	padding: 10px 20px;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	font-size: 1rem;
	font-weight: 600;
	color: #495057;
	cursor: pointer;
	transition: all 0.2s;
	display: flex;
	align-items: center;
	gap: 8px;
}
.tab-btn.active[data-v-0e683b73] {
	color: #007bff;
	border-bottom-color: #007bff;
	font-weight: 700;
}
.tab-btn[data-v-0e683b73]:hover:not(.active) {
	color: #007bff;
}
.category-section h2[data-v-0e683b73] {
	font-size: 1.5rem;
	color: #222;
	margin: 0 20px 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e9ecef;
}
.loading-state[data-v-0e683b73],
.error-state[data-v-0e683b73],
.empty-state[data-v-0e683b73] {
	padding: 60px 20px;
	text-align: center;
	color: #6c757d;
	font-size: 1.1rem;
}
.loading-state i[data-v-0e683b73],
.error-state i[data-v-0e683b73],
.empty-state i[data-v-0e683b73] {
	font-size: 2.5rem;
	margin-bottom: 16px;
	display: block;
}
.admin-unit-selector[data-v-0e683b73] {
	padding: 10px 0;
}
.admin-unit-select[data-v-0e683b73] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ced4da;
	border-radius: 6px;
	font-size: 0.95rem;
	margin-top: 8px;
}
.admin-hint[data-v-0e683b73] {
	font-size: 0.8rem;
	color: #6c757d;
	margin-top: 8px;
	font-style: italic;
}
.reports-list-view-settings-label[data-v-0e683b73] {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: #333;
}
.reports-list-view-settings-hint[data-v-0e683b73] {
	margin: 12px 0 0;
	font-size: 0.85rem;
	color: #6c757d;
}
/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked] > .ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked] > .ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor > *{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li > .ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked] > .ql-ui,.ql-editor li[data-list=unchecked] > .ql-ui{color:#777}.ql-editor li[data-list=bullet] > .ql-ui:before{content:'\2022'}.ql-editor li[data-list=checked] > .ql-ui:before{content:'\2611'}.ql-editor li[data-list=unchecked] > .ql-ui:before{content:'\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered] > .ql-ui:before{content:counter(list-0, decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1 > .ql-ui:before{content:counter(list-1, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2 > .ql-ui:before{content:counter(list-2, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3 > .ql-ui:before{content:counter(list-3, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4 > .ql-ui:before{content:counter(list-4, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5 > .ql-ui:before{content:counter(list-5, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6 > .ql-ui:before{content:counter(list-6, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7 > .ql-ui:before{content:counter(list-7, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8 > .ql-ui:before{content:counter(list-8, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9 > .ql-ui:before{content:counter(list-9, decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl > .ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,0.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:'';display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label::before,.ql-snow .ql-picker.ql-header .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label::before,.ql-snow .ql-picker.ql-font .ql-picker-item::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label::before,.ql-snow .ql-picker.ql-size .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue','Helvetica','Arial',sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,0.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow + .ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]::before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}

/*# sourceMappingURL=quill.snow.css.map*/
.editor[data-v-0e306e9b] {
  min-height: 320px;
  background: #fff;
}
.editor[data-v-0e306e9b] img {
  max-width: 100%;
  height: auto;
  cursor: pointer;
}
.editor[data-v-0e306e9b] .voucher-text-over-image {
  margin: 12px 0;
  box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.35);
}
.editor-layer-actions[data-v-0e306e9b] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.layer-action-btn[data-v-0e306e9b] {
  border: 1px solid #6366f1;
  background: #eef2ff;
  color: #312e81 !important;
  border-radius: 8px;
  padding: 8px 14px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}
.layer-action-btn[data-v-0e306e9b]:hover {
  background: #e0e7ff;
}
.editor-layer-hint[data-v-0e306e9b] {
  font-size: 12px;
  color: #475569;
  max-width: 520px;
  line-height: 1.35;
}
.image-size-toolbar[data-v-0e306e9b] {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: #1f2937;
}
.image-size-toolbar span[data-v-0e306e9b] {
  color: #111827;
  font-weight: 600;
}
.image-size-toolbar button[data-v-0e306e9b] {
  border: 1px solid #cbd5e1;
  background: #ffffff;
  border-radius: 6px;
  padding: 5px 10px;
  cursor: pointer;
  color: #111827 !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 600;
}
.image-size-toolbar button[data-v-0e306e9b]:hover {
  background: #eef2ff;
  border-color: #6366f1;
}

.voucher-print-templates-page[data-v-6fb1cb82] {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.templates-layout[data-v-6fb1cb82] {
  display: block;
}
.templates-list[data-v-6fb1cb82] {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 14px;
}
.templates-grid[data-v-6fb1cb82] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 12px;
}
.template-info-row[data-v-6fb1cb82] {
  margin-bottom: 6px;
  line-height: 1.4;
}
.editor-panel h3[data-v-6fb1cb82] {
  margin: 0 0 12px;
}
.editor-layout[data-v-6fb1cb82] {
  display: grid;
  grid-template-columns: minmax(540px, 1fr) 360px;
  gap: 16px;
  align-items: start;
}
.editor-input[data-v-6fb1cb82] {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 9px 10px;
  margin-bottom: 10px;
}
.editor-row[data-v-6fb1cb82] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.shortcodes[data-v-6fb1cb82] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0;
}
.chip[data-v-6fb1cb82] {
  border: 1px solid #ced4da;
  border-radius: 999px;
  padding: 2px 8px;
  cursor: pointer;
  font-size: 12px;
  background: #fff;
}
.loading-state[data-v-6fb1cb82],
.empty-state[data-v-6fb1cb82] {
  color: #6c757d;
  padding: 10px 0;
}
.admin-unit-selector label[data-v-6fb1cb82] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.admin-unit-select[data-v-6fb1cb82] {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 9px 10px;
}
.preview-panel[data-v-6fb1cb82] {
  position: sticky;
  top: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f8fafc;
  padding: 10px;
}
.preview-title[data-v-6fb1cb82] {
  font-weight: 700;
  font-size: 0.92rem;
  color: #374151;
}
.preview-title-row[data-v-6fb1cb82] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.preview-expand-btn[data-v-6fb1cb82] {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.preview-expand-btn[data-v-6fb1cb82]:hover {
  background: #eef2ff;
  border-color: #6366f1;
}
.preview-expand-btn i[data-v-6fb1cb82] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
}
.preview-paper[data-v-6fb1cb82] {
  height: 300px;
  overflow: hidden;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 8px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.preview-sheet[data-v-6fb1cb82] {
  width: min(100%, 220px);
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  position: relative;
}
.preview-render-content[data-v-6fb1cb82] {
  padding: 8px;
  font-size: 10px;
  line-height: 1.2;
  transform: scale(var(--v60ea5a70));
  transform-origin: top left;
  width: calc(100% / var(--v60ea5a70));
  height: calc(100% / var(--v60ea5a70));
  overflow: hidden;
}
.preview-render-content[data-v-6fb1cb82] img {
  max-width: 100%;
  height: auto;
}
.preview-render-content[data-v-6fb1cb82] .ql-align-left {
  text-align: left;
}
.preview-render-content[data-v-6fb1cb82] .ql-align-center {
  text-align: center;
}
.preview-render-content[data-v-6fb1cb82] .ql-align-right {
  text-align: right;
}
.preview-render-content[data-v-6fb1cb82] .ql-align-justify {
  text-align: justify;
}

/* Lista z [services_list] — jak wyśrodkowany nagłówek (Quill nie centruje zwykłego <ul>) */
.preview-render-content[data-v-6fb1cb82] ul.voucher-services-list {
  margin: 0.35em auto 0;
  padding: 0;
  list-style-position: inside;
  text-align: center;
  max-width: 100%;
}
.floating-preview[data-v-6fb1cb82] {
  position: fixed;
  width: 300px;
  height: 300px;
  z-index: 1400;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.28);
  overflow: hidden;
}
.floating-preview-header[data-v-6fb1cb82] {
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  background: #f3f4f6;
  border-bottom: 1px solid #e5e7eb;
  cursor: move;
  user-select: none;
  font-weight: 700;
  font-size: 0.86rem;
  color: #111827;
}
.floating-preview-actions[data-v-6fb1cb82] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.floating-preview-paper[data-v-6fb1cb82] {
  height: calc(100% - 38px);
  overflow: hidden;
  padding: 8px;
  background: #f1f5f9;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.floating-preview-paper .preview-sheet[data-v-6fb1cb82] {
  width: min(100%, 180px);
}
.full-preview-page[data-v-6fb1cb82] {
  margin: 0 auto;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.14);
  overflow: hidden;
}
.full-preview-content[data-v-6fb1cb82] {
  width: 100%;
  height: 100%;
  padding: 16px;
  overflow: auto;
}
.full-preview-content[data-v-6fb1cb82] img {
  max-width: 100%;
  height: auto;
}
.full-preview-content[data-v-6fb1cb82] .ql-align-left {
  text-align: left;
}
.full-preview-content[data-v-6fb1cb82] .ql-align-center {
  text-align: center;
}
.full-preview-content[data-v-6fb1cb82] .ql-align-right {
  text-align: right;
}
.full-preview-content[data-v-6fb1cb82] .ql-align-justify {
  text-align: justify;
}
.full-preview-content[data-v-6fb1cb82] ul.voucher-services-list {
  margin: 0.35em auto 0;
  padding: 0;
  list-style-position: inside;
  text-align: center;
  max-width: 100%;
}
@media (max-width: 1199px) {
.editor-layout[data-v-6fb1cb82] {
    grid-template-columns: 1fr;
}
}
.voucher-print-templates-view-settings-label[data-v-6fb1cb82] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.voucher-print-templates-view-settings-hint[data-v-6fb1cb82] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}

.card-like[data-v-cde9dfd6] {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 18px;
  margin-top: 20px;
  max-width: 960px;
}
.cps__title[data-v-cde9dfd6] {
  margin: 0 0 8px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #0f172a;
}
.cps__subtitle[data-v-cde9dfd6] {
  margin: 16px 0 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #334155;
}
.cps__subtitle--sm[data-v-cde9dfd6] {
  font-size: 0.95rem;
  margin-top: 14px;
}
.cps__hint[data-v-cde9dfd6] {
  margin: 0 0 12px;
  font-size: 0.88rem;
  color: #64748b;
}
.cps__muted[data-v-cde9dfd6] {
  color: #64748b;
  font-size: 0.9rem;
  margin: 8px 0;
}
.cps__err[data-v-cde9dfd6] {
  color: #b91c1c;
  font-size: 0.9rem;
}
.cps__ok[data-v-cde9dfd6] {
  color: #047857;
  font-size: 0.9rem;
}
.cps__loading[data-v-cde9dfd6] {
  color: #64748b;
}
.cps__table[data-v-cde9dfd6] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.cps__table th[data-v-cde9dfd6],
.cps__table td[data-v-cde9dfd6] {
  border: 1px solid #e2e8f0;
  padding: 8px 10px;
  text-align: left;
}
.cps__table th[data-v-cde9dfd6] {
  background: #f8fafc;
  font-weight: 600;
}
.cps__select[data-v-cde9dfd6] {
  min-width: 200px;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
}
.cps__checkbox-row[data-v-cde9dfd6] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 10px;
  font-size: 0.9rem;
  color: #334155;
  max-width: 52rem;
}
.cps__checkbox-row input[data-v-cde9dfd6] {
  margin-top: 3px;
  flex-shrink: 0;
}
.cps__block + .cps__block[data-v-cde9dfd6] {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px dashed #e2e8f0;
}

.system-parameters-page[data-v-75379009] {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.cards-container[data-v-75379009] {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 14px;
}
.sp-params-grid[data-v-75379009] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  align-items: stretch;
  gap: 20px;
  margin-top: 4px;
}
.sp-view-settings-label[data-v-75379009] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.sp-view-settings-hint[data-v-75379009] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.sp-table-title-cell[data-v-75379009] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.sp-table-title-link[data-v-75379009] {
  text-align: left;
}
.sp-param-info-btn--table[data-v-75379009] {
  flex: 0 0 auto;
  margin-top: 0;
}
.sp-table-code[data-v-75379009] {
  font-size: 0.8rem;
  word-break: break-all;
}
.sp-table-preview[data-v-75379009] {
  max-width: 28rem;
  font-size: 0.9rem;
  color: #444;
  line-height: 1.35;
  word-break: break-word;
}
.loading-state i[data-v-75379009] {
  margin-right: 8px;
}
.sp-param-card-anchor[data-v-75379009] {
  display: flex;
  min-width: 0;
}
.sp-param-card-anchor[data-v-75379009] .shared-card {
  width: 100%;
}
.sp-param-card-anchor[data-v-75379009] .shared-card-content {
  display: flex;
  flex-direction: column;
}
.sp-param-title-row[data-v-75379009] {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  width: 100%;
}
.sp-param-title-text[data-v-75379009] {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}
.sp-param-info-wrap[data-v-75379009] {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  margin-top: 1px;
}
.sp-param-info-btn[data-v-75379009] {
  border: none;
  background: transparent;
  padding: 2px 4px;
  margin: 0;
  cursor: pointer;
  color: #0d6efd;
  line-height: 1;
  font-size: 0.95rem;
  border-radius: 4px;
}
.sp-param-info-btn[data-v-75379009]:hover,
.sp-param-info-btn[data-v-75379009]:focus-visible {
  color: #0a58ca;
  background: rgba(13, 110, 253, 0.08);
  outline: none;
}
.sp-param-info-tip[data-v-75379009]::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 10px;
}
.sp-param-info-tip[data-v-75379009] {
  display: none;
  position: absolute;
  z-index: 30;
  /* Wyrównanie do prawej ikony — dymek rośnie w lewo, nie wychodzi za prawą krawędź okna przy kafelku przy marginesie. */
  left: auto;
  right: 0;
  top: calc(100% + 6px);
  min-width: min(220px, calc(100vw - 24px));
  max-width: min(380px, calc(100vw - 16px));
  padding: 10px 12px;
  background: #1f2937;
  color: #f9fafb;
  font-size: 0.78rem;
  line-height: 1.45;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  white-space: pre-wrap;
  word-break: break-word;
  pointer-events: none;
}
.sp-param-info-wrap:hover .sp-param-info-tip[data-v-75379009],
.sp-param-info-wrap:focus-within .sp-param-info-tip[data-v-75379009] {
  display: block;
}
.sp-param-info-tip-inner[data-v-75379009] {
  display: block;
  max-height: 240px;
  overflow-y: auto;
}
.sp-param-card-desc[data-v-75379009] {
  font-size: 0.86rem;
  color: #475569;
  line-height: 1.45;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sp-param-doc-block[data-v-75379009] {
  white-space: pre-wrap;
}
.sp-param-modal-doc[data-v-75379009] {
  padding: 4px 2px 12px;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #333;
  white-space: pre-wrap;
}
.loading-state[data-v-75379009],
.empty-state[data-v-75379009] {
  color: #6c757d;
  padding: 10px 0;
}
.row[data-v-75379009] {
  margin-bottom: 6px;
  line-height: 1.4;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.sp-param-visibility-row strong:first-of-type + span[data-v-75379009] {
  margin-left: 0.35em;
}
.sp-param-vis-val[data-v-75379009] {
  font-weight: 800;
  font-size: 1.02em;
  letter-spacing: 0.02em;
}
.sp-param-vis-yes[data-v-75379009] {
  color: #16a34a;
}
.sp-param-vis-no[data-v-75379009] {
  color: #dc2626;
}
.value-box[data-v-75379009] {
  margin-top: 4px;
  padding: 8px;
  background: #f8fafc;
  border-radius: 8px;
  white-space: pre-wrap;
  border: 1px solid #e2e8f0;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.sp-param-card-anchor .value-box[data-v-75379009] {
  max-height: 5.1em;
  overflow: hidden;
}
.admin-params-modal-body[data-v-75379009] {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.admin-scope-filters-title[data-v-75379009] {
  margin: 0 0 10px;
  font-weight: 600;
  font-size: 0.95rem;
  color: #374151;
}
.admin-scope-filters[data-v-75379009] {
  padding-top: 4px;
  border-top: 1px solid #e5e7eb;
}
.admin-scope-filters-label[data-v-75379009] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-weight: 500;
  cursor: pointer;
  user-select: none;
}
.admin-scope-filters-label[data-v-75379009]:last-of-type {
  margin-bottom: 0;
}
.admin-unit-selector label[data-v-75379009] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.admin-unit-select[data-v-75379009] {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 9px 10px;
}
.editor-content[data-v-75379009] {
  max-width: 900px;
  margin: 0 auto;
}
.parameter-preview-name-heading[data-v-75379009] {
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.editor-row[data-v-75379009] {
  margin-bottom: 8px;
}
.editor-label[data-v-75379009] {
  display: block;
  margin: 12px 0 6px;
  font-weight: 600;
}
.editor-checkbox[data-v-75379009] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 6px;
  font-weight: 600;
}
.editor-sms-token-bar[data-v-75379009] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin-bottom: 10px;
  padding: 10px 12px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.editor-sms-token-hint[data-v-75379009] {
  font-size: 0.88rem;
  color: #475569;
  margin-right: 4px;
}
.editor-sms-token-btn[data-v-75379009] {
  font-family: ui-monospace, monospace;
  font-size: 0.85rem;
  padding: 6px 10px;
  border: 1px solid #94a3b8;
  border-radius: 6px;
  background: #fff;
  color: #0f172a;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.editor-sms-token-btn[data-v-75379009]:hover {
  background: #e0e7ff;
  border-color: #6366f1;
}
.editor-textarea[data-v-75379009] {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px;
  font-family: inherit;
  font-size: 0.95rem;
  resize: vertical;
}
.editor-number-input[data-v-75379009] {
  width: 240px;
  max-width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px;
  font-family: inherit;
  font-size: 0.95rem;
}
.editor-text-input[data-v-75379009] {
  width: 100%;
  max-width: 520px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px;
  font-family: ui-monospace, monospace;
  font-size: 0.95rem;
}
.editor-secret-hint[data-v-75379009] {
  margin: 0 0 14px;
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.45;
}
.editor-secret-hint code[data-v-75379009] {
  font-size: 0.85em;
  padding: 2px 6px;
  background: #f1f5f9;
  border-radius: 4px;
}
.editor-hint-muted[data-v-75379009] {
  margin: 0 0 14px;
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.45;
}

/* Formularz opinii (parametry): wyrównane checkboxy i podsumowanie Tak/Nie */
.customer-review-public-form-checks[data-v-75379009] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 4px;
}
.customer-review-public-form-checks .cr-public-form-row[data-v-75379009] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  margin: 0;
  cursor: pointer;
  font-weight: 600;
}
.customer-review-public-form-checks .cr-public-form-label-text[data-v-75379009] {
  line-height: 1.45;
  min-width: 0;
}
.customer-review-public-form-summary[data-v-75379009] {
  margin-top: 2px;
  min-width: 0;
  max-width: 100%;
}
.cr-pf-summary-row[data-v-75379009] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  column-gap: 12px;
  align-items: baseline;
  margin-bottom: 8px;
  font-size: 0.95rem;
  line-height: 1.35;
  min-width: 0;
}
.cr-pf-summary-row[data-v-75379009]:last-child {
  margin-bottom: 0;
}
.cr-pf-summary-label[data-v-75379009] {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.cr-pf-summary-val[data-v-75379009] {
  font-weight: 700;
  text-align: right;
  justify-self: end;
  color: #0f172a;
}

.promo-card-title[data-v-712dffc7] {
  cursor: pointer;
  font-weight: 700;
}
.promo-card-row[data-v-712dffc7] {
  margin: 0 0 4px 0;
  font-size: 0.92rem;
  color: #444;
}
.promo-card-row strong[data-v-712dffc7] {
  color: #222;
}
/* src/modules/PromoCampaigns/assets/promo-campaigns.css — kafelki kampanii */

.promo-campaigns-page .promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 8px 0 32px;
}

/* Kolory obramowania statusu (UniversalEntityCard + customClass) */
.shared-card.promo-tile--active {
  border-top: 4px solid #28a745;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);
}

.shared-card.promo-tile--ended {
  border-top: 4px solid #fd7e14;
  box-shadow: 0 2px 8px rgba(253, 126, 20, 0.12);
}

.shared-card.promo-tile--archived {
  border-top: 4px solid #6c757d;
  opacity: 0.92;
}

.promo-dup-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9998;
}

.promo-dup-modal {
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  min-width: 320px;
  max-width: 90vw;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.promo-dup-modal h3 {
  margin: 0 0 12px;
}

.promo-dup-modal input {
  width: 100%;
  padding: 8px 10px;
  margin-bottom: 16px;
  border: 1px solid #ced4da;
  border-radius: 6px;
}

.promo-dup-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.promo-codes-table-wrap {
  overflow: visible;
  position: relative;
  margin-top: 16px;
}

.promo-codes-table-scroll {
  overflow-x: auto;
  overflow-y: visible;
}

.promo-codes-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.promo-codes-table th,
.promo-codes-table td {
  border: 1px solid #dee2e6;
  padding: 8px 10px;
  text-align: left;
}

.promo-codes-table th {
  background: #f8f9fa;
  font-weight: 600;
}

.promo-code-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.promo-code-actions button {
  padding: 4px 8px;
  font-size: 0.8rem;
  border-radius: 4px;
  border: 1px solid #ced4da;
  background: #fff;
  color: #212529;
  cursor: pointer;
  font-weight: 500;
}

.promo-code-actions button:hover:not(:disabled) {
  background: #f8f9fa;
}

.promo-code-actions button.danger {
  border-color: #dc3545;
  color: #dc3545;
}

.promo-code-actions button.danger:hover:not(:disabled) {
  background: #fff5f5;
}

/* Landing page — licznik (PromoCodeCountdown) */
.promo-landing-countdown {
  margin: 0 auto;
  max-width: 100%;
}

.promo-landing-countdown__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.promo-landing-countdown__cell {
  background: #0f172a;
  color: #f8fafc;
  border-radius: 12px;
  padding: 14px 8px;
  text-align: center;
  min-width: 0;
}

.promo-landing-countdown__num {
  display: block;
  font-size: clamp(1.35rem, 5vw, 1.85rem);
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.promo-landing-countdown__unit {
  display: block;
  margin-top: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.85;
}

.promo-landing-countdown__done {
  margin: 0;
  text-align: center;
  font-size: 1.05rem;
  font-weight: 700;
  color: #b91c1c;
  padding: 16px;
  background: #fef2f2;
  border-radius: 12px;
}

@media (max-width: 380px) {
  .promo-landing-countdown__grid {
    gap: 6px;
  }

  .promo-landing-countdown__cell {
    padding: 10px 4px;
  }
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-aff7e0bd] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-aff7e0bd] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-aff7e0bd] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-aff7e0bd], .empty-state[data-v-aff7e0bd] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-aff7e0bd] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-aff7e0bd] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-aff7e0bd] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-aff7e0bd] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-aff7e0bd] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-aff7e0bd] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-aff7e0bd]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-aff7e0bd] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-aff7e0bd] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-aff7e0bd] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-aff7e0bd] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-aff7e0bd] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-aff7e0bd] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-aff7e0bd] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-aff7e0bd] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-aff7e0bd] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-aff7e0bd] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-aff7e0bd] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-aff7e0bd] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-aff7e0bd] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-aff7e0bd] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-aff7e0bd] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-aff7e0bd] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-aff7e0bd] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-aff7e0bd] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-aff7e0bd] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-aff7e0bd] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-aff7e0bd]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.gabito-common-filters-container.collapsed[data-v-aff7e0bd] {
  display: none;
}
.gabito-common-checkbox-filters-container[data-v-aff7e0bd] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.gabito-common-filter-label[data-v-aff7e0bd] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9rem;
}
.pagination[data-v-aff7e0bd] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
}
.loading-state[data-v-aff7e0bd],
.empty-state[data-v-aff7e0bd] {
  padding: 24px;
  text-align: center;
  color: #6c757d;
}
.admin-unit-selector label[data-v-aff7e0bd] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.admin-unit-select[data-v-aff7e0bd] {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 9px 10px;
}
.promo-campaign-list-view-settings-label[data-v-aff7e0bd] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.promo-campaign-list-view-settings-hint[data-v-aff7e0bd] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}

.promo-shortcode-bar[data-v-16edc198] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 6px;
  padding: 8px 10px;
  background: linear-gradient(180deg, #f1f5f9 0%, #e8eef5 100%);
  border: 1px solid #cbd5e1;
  border-radius: 8px;
}
.promo-shortcode-chip[data-v-16edc198] {
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 5px 10px;
  border: 1px solid #94a3b8;
  border-radius: 6px;
  background: #fff;
  color: #0f172a;
  cursor: pointer;
  line-height: 1.2;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.promo-shortcode-chip[data-v-16edc198]:hover {
  background: #e0f2fe;
  border-color: #0284c7;
  color: #0c4a6e;
}
.promo-shortcode-chip[data-v-16edc198]:active {
  transform: scale(0.97);
}

.promo-notif-card[data-v-7978ed67] {
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  background: #fafbfc;
}
.promo-notif-card__head[data-v-7978ed67] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.promo-notif-field[data-v-7978ed67] {
  margin-bottom: 10px;
}
.promo-notif-field[data-v-7978ed67]:last-child {
  margin-bottom: 0;
}
.promo-notif-card__badge[data-v-7978ed67] {
  font-weight: 700;
  color: #495057;
}
.promo-input[data-v-7978ed67] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
}
.promo-input--sm[data-v-7978ed67] {
  width: auto;
  min-width: 160px;
}
.promo-input--xs[data-v-7978ed67] {
  width: 64px;
}
.promo-input--time[data-v-7978ed67] {
  width: auto;
}
.promo-textarea[data-v-7978ed67] {
  width: 100%;
  margin-top: 0;
  padding: 8px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  resize: vertical;
}
.promo-check[data-v-7978ed67] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.85rem;
  cursor: pointer;
}
.promo-muted[data-v-7978ed67] {
  font-size: 0.85rem;
  color: #6c757d;
}
.promo-icon-btn[data-v-7978ed67] {
  margin-left: auto;
  border: none;
  background: transparent;
  color: #dc3545;
  cursor: pointer;
  padding: 4px 8px;
}
/* ============================================= */
/* UNIKATOWE STYLE TYLKO DLA TEGO PRZYCISKU AI */
/* ============================================= */
.visit-history-ai-correction-btn {
  background: linear-gradient(135deg, #6f42c1, #00bfff);
  box-shadow: 0 3px 12px rgba(111, 66, 193, 0.45);
  position: relative;
  overflow: hidden;
  height: 24px;
  padding: 0 10px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 6px;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
}

.visit-history-ai-correction-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a32a3, #0099cc);
  box-shadow: 0 5px 18px rgba(111, 66, 193, 0.6);
  transform: translateY(-2px);
}

.visit-history-ai-correction-btn i.fas.fa-magic {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.visit-history-ai-correction-btn:hover i.fas.fa-magic {
  transform: rotate(45deg) scale(1.25);
}

.visit-history-ai-correction-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.promo-form[data-v-1841f2f0] {
  max-width: 960px;
}
.promo-tabs[data-v-1841f2f0] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 8px;
}
.promo-tab[data-v-1841f2f0] {
  padding: 8px 14px;
  border: 1px solid #ced4da;
  background: #fff;
  color: #212529;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.88rem;
}
.promo-tab.active[data-v-1841f2f0] {
  background: #0d6efd;
  color: #fff;
  border-color: #0d6efd;
}
.promo-tab-panel[data-v-1841f2f0] {
  padding: 8px 0 24px;
}
.promo-field-grid[data-v-1841f2f0] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
}
.promo-field[data-v-1841f2f0] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.9rem;
}
.promo-field--full[data-v-1841f2f0] {
  grid-column: 1 / -1;
}
.promo-field input[data-v-1841f2f0]:not(.gabito-form-checkbox-standard),
.promo-field select[data-v-1841f2f0],
.promo-field textarea[data-v-1841f2f0] {
  padding: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  color: #212529;
  background: #fff;
}
.promo-check-row[data-v-1841f2f0] {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.promo-pool-live[data-v-1841f2f0] {
  grid-column: 1 / -1;
  padding: 10px;
  background: #e7f1ff;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.promo-hint[data-v-1841f2f0] {
  font-size: 0.85rem;
  color: #6c757d;
  margin-bottom: 12px;
}
.promo-validity-hint[data-v-1841f2f0] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 8px 0 0;
  padding: 10px 14px;
  background: #e8f4fd;
  border-left: 3px solid #2563eb;
  border-radius: 6px;
  font-size: 0.88rem;
  color: #1e3a5f;
  line-height: 1.5;
}
.promo-validity-hint i[data-v-1841f2f0] {
  margin-top: 2px;
  color: #2563eb;
  flex-shrink: 0;
}
.promo-system-text-block[data-v-1841f2f0] {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e9ecef;
}
.promo-system-text-head[data-v-1841f2f0] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.promo-system-text-label[data-v-1841f2f0] {
  font-weight: 600;
  color: #212529;
}
.promo-system-text-actions[data-v-1841f2f0] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.promo-btn-ghost[data-v-1841f2f0] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.82rem;
  font-weight: 600;
  border: 1px solid #ced4da;
  border-radius: 6px;
  background: #fff;
  color: #495057;
  cursor: pointer;
}
.promo-btn-ghost[data-v-1841f2f0]:hover {
  background: #f8f9fa;
  border-color: #adb5bd;
}
.promo-subtitle[data-v-1841f2f0] {
  margin: 20px 0 10px;
  font-size: 1rem;
}
.promo-draggable .promo-dnd-row[data-v-1841f2f0] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
}
.drag-handle[data-v-1841f2f0] {
  cursor: grab;
  color: #adb5bd;
  padding: 4px;
}
.promo-inline-check[data-v-1841f2f0] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.promo-inline-check--required[data-v-1841f2f0] {
  font-size: 0.82rem;
  color: #6c757d;
  margin-left: 10px;
  font-style: italic;
}
.promo-custom-field[data-v-1841f2f0] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background: #f8f9fa;
  border-radius: 8px;
  margin-bottom: 8px;
}
.promo-custom-field input[data-v-1841f2f0]:not(.gabito-form-checkbox-standard),
.promo-custom-field select[data-v-1841f2f0] {
  padding: 6px 8px;
  border: 1px solid #ced4da;
  border-radius: 6px;
}
.promo-options-line[data-v-1841f2f0] {
  flex: 1 1 200px;
  min-width: 180px;
}
.promo-btn-remove[data-v-1841f2f0] {
  border: none;
  background: transparent;
  color: #dc3545;
  cursor: pointer;
}
.promo-btn-secondary[data-v-1841f2f0] {
  margin: 8px 0 16px;
  padding: 8px 14px;
  border-radius: 6px;
  border: 1px solid #ced4da;
  background: #fff;
  color: #212529;
  cursor: pointer;
  font-weight: 600;
}
.promo-notif-list .promo-notif-wrap[data-v-1841f2f0] {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.promo-notif-drag[data-v-1841f2f0] {
  margin-top: 14px;
}
.promo-link-btn[data-v-1841f2f0] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #198754;
  color: #fff !important;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
}
.promo-loading[data-v-1841f2f0] {
  padding: 24px;
  text-align: center;
}
.promo-discount-with-check[data-v-1841f2f0] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.promo-field-heading[data-v-1841f2f0] {
  font-size: 0.9rem;
  font-weight: 600;
}
.promo-discount-input-row[data-v-1841f2f0] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.promo-discount-number[data-v-1841f2f0] {
  min-width: 140px;
  max-width: 200px;
  padding: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
}
.promo-round-check[data-v-1841f2f0] {
  font-size: 0.85rem;
  color: #495057;
  white-space: nowrap;
}

.promo-view-loading[data-v-2b191064] {
  padding: 24px;
  text-align: center;
}
.promo-view-grid[data-v-2b191064] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}
.promo-view-grid strong[data-v-2b191064] {
  display: block;
  font-size: 0.8rem;
  color: #6c757d;
  margin-bottom: 4px;
}
.promo-view-notes[data-v-2b191064] {
  margin-top: 20px;
}
.promo-public-link-box[data-v-2b191064] {
  margin-bottom: 24px;
  padding: 18px 20px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.08);
}
.promo-public-link-title[data-v-2b191064] {
  margin: 0 0 12px;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e3a8a;
  display: flex;
  align-items: center;
  gap: 8px;
}
.promo-public-link-url[data-v-2b191064] {
  margin: 0 0 12px;
  font-size: 0.92rem;
  word-break: break-all;
  color: #0f172a;
  font-family: ui-monospace, monospace;
  background: #fff;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}
.promo-public-link-copy[data-v-2b191064] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-weight: 600;
  font-size: 0.9rem;
  color: #fff;
  background: #0d6efd;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.promo-public-link-copy[data-v-2b191064]:hover {
  background: #0b5ed7;
}
.promo-public-link-feedback[data-v-2b191064] {
  margin: 8px 0 0;
  font-size: 0.85rem;
  color: #198754;
  font-weight: 600;
}
.promo-public-link-help[data-v-2b191064] {
  margin: 14px 0 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #475569;
}

.promo-code-detail-backdrop[data-v-44f65392] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: 10050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 16px;
  overflow-y: auto;
}
.promo-code-detail-dialog[data-v-44f65392] {
  background: #fff;
  color: #212529;
  border-radius: 12px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}
.promo-code-detail-head[data-v-44f65392] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid #e9ecef;
}
.promo-code-detail-head h2[data-v-44f65392] {
  margin: 0;
  font-size: 1.1rem;
}
.promo-code-detail-close[data-v-44f65392] {
  border: none;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: #6c757d;
}
.promo-code-detail-body[data-v-44f65392] {
  padding: 18px;
  font-size: 0.95rem;
  line-height: 1.5;
}
.promo-code-detail-error[data-v-44f65392] {
  color: #842029;
}
.promo-code-detail-code[data-v-44f65392] {
  margin: 0 0 12px;
  font-size: 1.1rem;
}
.promo-code-detail-section[data-v-44f65392] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e9ecef;
}
.promo-code-detail-section h3[data-v-44f65392] {
  margin: 0 0 10px;
  font-size: 1rem;
}
.promo-code-detail-list[data-v-44f65392] {
  margin: 0;
  padding-left: 18px;
}
.promo-code-detail-list li[data-v-44f65392] {
  margin-bottom: 8px;
}
.promo-code-detail-ok[data-v-44f65392] {
  color: #166534;
  font-weight: 600;
}
.promo-code-detail-warn[data-v-44f65392] {
  color: #9a3412;
}
.promo-code-detail-actions[data-v-44f65392] {
  margin-top: 16px;
}
.promo-code-detail-btn[data-v-44f65392] {
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid #ced4da;
  background: #fff;
  color: #212529;
  font-weight: 600;
  cursor: pointer;
}
.promo-code-detail-btn[data-v-44f65392]:hover:not(:disabled) {
  background: #f8f9fa;
  color: #212529;
}
.promo-code-detail-btn[data-v-44f65392]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.promo-codes-header[data-v-be37ce3f] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 12px;
}
.gabito-common-filters-container.collapsed[data-v-be37ce3f] {
  display: none;
}
.promo-codes-toolbar[data-v-be37ce3f] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 12px 0;
}
.promo-codes-search[data-v-be37ce3f] {
  flex: 1 1 220px;
  padding: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
}
.promo-codes-status-filters[data-v-be37ce3f] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.promo-chip[data-v-be37ce3f] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.88rem;
  cursor: pointer;
}
.promo-muted[data-v-be37ce3f] {
  color: #6c757d;
  font-size: 0.85rem;
}
.promo-codes-expiry[data-v-be37ce3f] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
}
.promo-codes-expiry-input[data-v-be37ce3f] {
  width: 72px;
  padding: 6px;
  border: 1px solid #ced4da;
  border-radius: 6px;
}
.promo-codes-interest-filter[data-v-be37ce3f] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  user-select: none;
}
.promo-codes-export[data-v-be37ce3f] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.promo-codes-cards-grid[data-v-be37ce3f] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 12px;
  margin-top: 10px;
}
.promo-card-row[data-v-be37ce3f] {
  margin-bottom: 6px;
}
.promo-client-link-btn[data-v-be37ce3f] {
  margin-top: 6px;
  border: 0;
  border-radius: 6px;
  background: #198754;
  color: #fff;
  padding: 4px 8px;
  font-size: 0.8rem;
  cursor: pointer;
}
.promo-client-link-btn[data-v-be37ce3f]:hover {
  background: #157347;
}
.promo-client-link-btn--warn[data-v-be37ce3f] {
  background: #ffc107;
  color: #212529;
}
.promo-client-link-btn--warn[data-v-be37ce3f]:hover {
  background: #ffca2c;
}
.promo-contact-ambiguous[data-v-be37ce3f] {
  background: #fff7d6;
}
.promo-client-picker-overlay[data-v-be37ce3f] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1400;
}
.promo-client-picker-modal[data-v-be37ce3f] {
  width: min(640px, 92vw);
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.promo-client-picker-header[data-v-be37ce3f] {
  padding: 10px 14px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.promo-client-picker-header h3[data-v-be37ce3f] {
  margin: 0;
  font-size: 1rem;
}
.promo-client-picker-close[data-v-be37ce3f] {
  border: 0;
  background: #dc3545;
  color: #fff;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
}
.promo-client-picker-body[data-v-be37ce3f] {
  padding: 14px;
  display: grid;
  gap: 8px;
}
.promo-client-picker-item[data-v-be37ce3f] {
  text-align: left;
  border: 1px solid #ced4da;
  border-radius: 8px;
  background: #fff;
  color: #212529;
  padding: 10px;
  cursor: pointer;
  font-weight: 600;
}
.promo-client-picker-item[data-v-be37ce3f]:hover {
  background: #f8f9fa;
  color: #212529;
}
.promo-client-picker-item-title[data-v-be37ce3f] {
  font-weight: 700;
}
.promo-client-picker-item-meta[data-v-be37ce3f] {
  margin-top: 4px;
  font-size: 0.85rem;
  color: #495057;
}
.promo-view-settings-label[data-v-be37ce3f] {
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
}
.promo-rebind-btn[data-v-be37ce3f] {
  margin-top: 8px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 14px;
  border: 1px solid #0d6efd;
  border-radius: 8px;
  background: linear-gradient(180deg, #2f80ff 0%, #0d6efd 100%);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
  cursor: pointer;
  transition: transform 0.08s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.promo-rebind-btn[data-v-be37ce3f]:hover:not(:disabled) {
  background: linear-gradient(180deg, #2a74e6 0%, #0b5ed7 100%);
  box-shadow: 0 6px 16px rgba(13, 110, 253, 0.38);
  transform: translateY(-1px);
}
.promo-rebind-btn[data-v-be37ce3f]:active:not(:disabled) {
  transform: translateY(0);
}
.promo-rebind-btn[data-v-be37ce3f]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  box-shadow: none;
}
.pagination[data-v-be37ce3f] {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 16px 0;
}
.loading-state[data-v-be37ce3f] {
  padding: 20px;
  text-align: center;
}
.pagination button[data-v-be37ce3f] {
  padding: 8px 14px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  background: #fff;
  color: #212529;
  font-weight: 500;
  cursor: pointer;
}
.pagination button[data-v-be37ce3f]:hover:not(:disabled) {
  background: #f8f9fa;
}
.pagination button[data-v-be37ce3f]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.promo-th-sort[data-v-be37ce3f] {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.promo-th-sort[data-v-be37ce3f]:hover {
  color: #0d6efd;
}
.promo-th-narrow[data-v-be37ce3f] {
  width: 36px;
}
.promo-td-lead[data-v-be37ce3f] {
  text-align: center;
  vertical-align: middle;
}
.promo-lead-badge[data-v-be37ce3f] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #198754;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
}
.promo-row--interest[data-v-be37ce3f] {
  box-shadow: inset 3px 0 0 #198754;
}

.promo-public-page[data-v-d08cbb9a] {
  min-height: 100vh;
  margin: 0;
  padding: 24px 16px 48px;
  box-sizing: border-box;
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: #212529;
}
.promo-public-card[data-v-d08cbb9a] {
  max-width: 520px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  padding: 28px 24px 32px;
  box-sizing: border-box;
}
.promo-public-center[data-v-d08cbb9a] {
  text-align: center;
  padding: 48px 24px;
}
.promo-public-error[data-v-d08cbb9a] {
  border: 1px solid #f5c2c7;
  color: #842029;
  background: #f8d7da;
}
.promo-public-error .promo-public-title[data-v-d08cbb9a] {
  color: #842029;
}
.promo-public-header[data-v-d08cbb9a] {
  margin-bottom: 20px;
}
.promo-public-title[data-v-d08cbb9a] {
  margin: 0 0 12px;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0f172a;
}
.promo-public-desc[data-v-d08cbb9a] {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #475569;
}
.promo-public-form[data-v-d08cbb9a] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.promo-public-field[data-v-d08cbb9a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.promo-public-field label[data-v-d08cbb9a],
.promo-public-label-block[data-v-d08cbb9a] {
  font-size: 0.88rem;
  font-weight: 600;
  color: #334155;
}
.req[data-v-d08cbb9a] {
  color: #dc3545;
}
.promo-public-input[data-v-d08cbb9a] {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  font-size: 1rem;
  border: 1px solid #ced4da;
  border-radius: 8px;
  background: #fff;
  color: #212529;
}
.promo-public-input[data-v-d08cbb9a]:focus {
  outline: none;
  border-color: #0d6efd;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.2);
}
.promo-public-radio-group[data-v-d08cbb9a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.promo-public-radio[data-v-d08cbb9a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  cursor: pointer;
  color: #212529;
}
.promo-public-check[data-v-d08cbb9a] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500;
  cursor: pointer;
  color: #212529;
}
.promo-public-check input[data-v-d08cbb9a] {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.promo-public-check--rodo[data-v-d08cbb9a] {
  font-size: 0.9rem;
  line-height: 1.4;
}
.promo-public-submit-error[data-v-d08cbb9a] {
  margin: 0;
  padding: 10px 12px;
  background: #f8d7da;
  color: #842029;
  border-radius: 8px;
  font-size: 0.9rem;
}
.promo-public-btn[data-v-d08cbb9a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  margin-top: 8px;
}
.promo-public-btn[data-v-d08cbb9a]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.promo-public-btn--primary[data-v-d08cbb9a] {
  background: #0d6efd;
  color: #fff;
  width: 100%;
}
.promo-public-btn--primary[data-v-d08cbb9a]:hover:not(:disabled) {
  background: #0b5ed7;
}
.promo-public-btn--secondary[data-v-d08cbb9a] {
  background: #e9ecef;
  color: #212529;
  width: 100%;
}
.promo-public-btn--secondary[data-v-d08cbb9a]:hover {
  background: #dee2e6;
}
.promo-public-success .promo-public-title[data-v-d08cbb9a] {
  color: #198754;
}
.promo-public-code[data-v-d08cbb9a] {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 16px;
  margin: 16px 0;
  background: #f8f9fa;
  border: 2px dashed #198754;
  border-radius: 12px;
  color: #0f5132;
  word-break: break-all;
}
.promo-public-pay-notice[data-v-d08cbb9a] {
  margin-top: 20px;
  padding: 12px 14px;
  background: #fff3cd;
  border: 1px solid #ffecb5;
  border-radius: 8px;
  color: #664d03;
  font-size: 0.92rem;
  line-height: 1.45;
}
.promo-public-pay-notice i[data-v-d08cbb9a] {
  margin-right: 6px;
}
.promo-public-hint[data-v-d08cbb9a] {
  margin: 8px 0 0;
  font-size: 0.85rem;
  color: #198754;
  text-align: center;
}
.promo-public-muted[data-v-d08cbb9a] {
  color: #6c757d;
  font-size: 0.9rem;
}
.promo-public-foot[data-v-d08cbb9a] {
  margin-top: 24px;
  text-align: center;
}
@media (min-width: 400px) {
.promo-public-title[data-v-d08cbb9a] {
    font-size: 1.6rem;
}
}
/* src/modules/PromoCampaigns/assets/promo-campaigns.css — kafelki kampanii */
.promo-campaigns-page .promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 8px 0 32px;
}

/* Kolory obramowania statusu (UniversalEntityCard + customClass) */
.shared-card.promo-tile--active {
  border-top: 4px solid #28a745;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);
}
.shared-card.promo-tile--ended {
  border-top: 4px solid #fd7e14;
  box-shadow: 0 2px 8px rgba(253, 126, 20, 0.12);
}
.shared-card.promo-tile--archived {
  border-top: 4px solid #6c757d;
  opacity: 0.92;
}
.promo-dup-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9998;
}
.promo-dup-modal {
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  min-width: 320px;
  max-width: 90vw;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}
.promo-dup-modal h3 {
  margin: 0 0 12px;
}
.promo-dup-modal input {
  width: 100%;
  padding: 8px 10px;
  margin-bottom: 16px;
  border: 1px solid #ced4da;
  border-radius: 6px;
}
.promo-dup-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.promo-codes-table-wrap {
  overflow: visible;
  position: relative;
  margin-top: 16px;
}
.promo-codes-table-scroll {
  overflow-x: auto;
  overflow-y: visible;
}
.promo-codes-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.promo-codes-table th,
.promo-codes-table td {
  border: 1px solid #dee2e6;
  padding: 8px 10px;
  text-align: left;
}
.promo-codes-table th {
  background: #f8f9fa;
  font-weight: 600;
}
.promo-code-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.promo-code-actions button {
  padding: 4px 8px;
  font-size: 0.8rem;
  border-radius: 4px;
  border: 1px solid #ced4da;
  background: #fff;
  color: #212529;
  cursor: pointer;
  font-weight: 500;
}
.promo-code-actions button:hover:not(:disabled) {
  background: #f8f9fa;
}
.promo-code-actions button.danger {
  border-color: #dc3545;
  color: #dc3545;
}
.promo-code-actions button.danger:hover:not(:disabled) {
  background: #fff5f5;
}

/* Landing page — licznik (PromoCodeCountdown) */
.promo-landing-countdown {
  margin: 0 auto;
  max-width: 100%;
}
.promo-landing-countdown__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.promo-landing-countdown__cell {
  background: #0f172a;
  color: #f8fafc;
  border-radius: 12px;
  padding: 14px 8px;
  text-align: center;
  min-width: 0;
}
.promo-landing-countdown__num {
  display: block;
  font-size: clamp(1.35rem, 5vw, 1.85rem);
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.promo-landing-countdown__unit {
  display: block;
  margin-top: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.85;
}
.promo-landing-countdown__done {
  margin: 0;
  text-align: center;
  font-size: 1.05rem;
  font-weight: 700;
  color: #b91c1c;
  padding: 16px;
  background: #fef2f2;
  border-radius: 12px;
}
@media (max-width: 380px) {
.promo-landing-countdown__grid {
    gap: 6px;
}
.promo-landing-countdown__cell {
    padding: 10px 4px;
}
}
/* Style strony landing kodu — importowane z PromoCodeLandingView.vue (scoped) */
.promo-landing-page[data-v-58117bfd] {
  min-height: 100vh;
  margin: 0;
  padding: 32px 16px 48px;
  background: linear-gradient(180deg, #f0f4f8 0%, #e0e7ff 100%);
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: #1e2937;
}
.promo-landing-card[data-v-58117bfd] {
  max-width: 580px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 15px 40px -10px rgba(15, 23, 42, 0.1),
    0 8px 16px -6px rgba(15, 23, 42, 0.06);
  border: 1px solid #e2e8f0;
  padding: 36px 32px 40px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.promo-landing-card[data-v-58117bfd]:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px -12px rgba(15, 23, 42, 0.12);
}
.promo-landing-card--error[data-v-58117bfd] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #9f1239;
}
.promo-landing-center[data-v-58117bfd] {
  text-align: center;
  padding: 48px 24px;
}
.promo-landing-header[data-v-58117bfd] {
  text-align: center;
  margin-bottom: 24px;
}
.promo-landing-title[data-v-58117bfd] {
  margin: 0 0 8px;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
  color: #0f172a;
}
.promo-landing-sub[data-v-58117bfd] {
  margin: 0;
  font-size: 0.98rem;
  color: #64748b;
  line-height: 1.45;
}
.promo-landing-pricing[data-v-58117bfd] {
  margin: 22px 0 24px;
  padding: 18px 18px;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  text-align: center;
}
.promo-landing-pricing .promo-landing-section-title[data-v-58117bfd] {
  margin: 0 0 14px;
  font-size: 1.08rem;
  font-weight: 700;
  color: #0f172a;
}
.promo-price-line[data-v-58117bfd] {
  margin: 8px 0;
  font-size: 0.98rem;
  color: #334155;
}
.promo-strike[data-v-58117bfd] {
  color: #94a3b8;
  margin-left: 6px;
}
.promo-price-new strong[data-v-58117bfd] {
  color: #059669;
  font-size: 1.12rem;
  margin-left: 6px;
}
.promo-scope[data-v-58117bfd] {
  margin-top: 12px;
  font-size: 0.92rem;
  color: #475569;
  font-weight: 500;
}
.promo-landing-code-block[data-v-58117bfd] {
  text-align: center;
  margin-bottom: 22px;
}
.promo-landing-code-label[data-v-58117bfd] {
  font-size: 0.82rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}
.promo-landing-code[data-v-58117bfd] {
  margin: 0 0 14px;
  font-size: clamp(1.75rem, 6.5vw, 2.35rem);
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.1;
  padding: 18px 16px;
  background: #f8fafc;
  border: 2.5px dashed #64748b;
  border-radius: 16px;
  color: #1e2937;
  word-break: break-all;
}
.promo-landing-btn[data-v-58117bfd] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px;
  font-size: 0.98rem;
  font-weight: 600;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  box-shadow: 0 6px 16px -4px rgba(0, 0, 0, 0.1);
}
.promo-landing-btn[data-v-58117bfd]:hover {
  transform: translateY(-2px);
}
.promo-landing-btn--primary[data-v-58117bfd] {
  background: linear-gradient(135deg, #0ea47a, #059669);
  color: white;
  font-weight: 700;
}
.promo-landing-btn--primary[data-v-58117bfd]:hover {
  background: linear-gradient(135deg, #059669, #047857);
}
.promo-landing-btn--secondary[data-v-58117bfd] {
  background: #f1f5f9;
  color: #334155;
  font-weight: 600;
  border: 2px solid #cbd5e1;
}
.promo-landing-btn--secondary[data-v-58117bfd]:hover {
  background: #e0e7ff;
  border-color: #64748b;
}
.promo-landing-value-hint[data-v-58117bfd] {
  margin: 0 0 18px;
  padding: 12px 14px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 12px;
  color: #065f46;
  font-size: 0.95rem;
  line-height: 1.5;
  text-align: center;
}
.promo-landing-interest-banner[data-v-58117bfd] {
  margin: 0 0 18px;
  padding: 12px 14px;
  background: #f0fdf4;
  border-radius: 12px;
  color: #166534;
  font-weight: 600;
  font-size: 0.92rem;
  line-height: 1.45;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.promo-landing-cta-error[data-v-58117bfd] {
  margin: 0 0 12px;
  padding: 10px 12px;
  background: #fef2f2;
  color: #b91c1c;
  border-radius: 10px;
  font-size: 0.9rem;
}
.promo-landing-btn--primary[data-v-58117bfd]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
.promo-landing-status-row[data-v-58117bfd] {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}
.promo-landing-badge[data-v-58117bfd] {
  display: inline-flex;
  align-items: center;
  padding: 6px 18px;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.promo-landing-badge--reserved[data-v-58117bfd] {
  background: #fef3c7;
  color: #854d0e;
}
.promo-landing-badge--paid[data-v-58117bfd] {
  background: #dcfce7;
  color: #166534;
}
.promo-landing-badge--used[data-v-58117bfd] {
  background: #dbeafe;
  color: #1e40af;
}
.promo-landing-badge--bad[data-v-58117bfd] {
  background: #fee2e2;
  color: #b91c1c;
}
.promo-landing-badge--muted[data-v-58117bfd] {
  background: #f1f5f9;
  color: #475569;
}
.promo-landing-paid-msg[data-v-58117bfd] {
  text-align: center;
  margin: 0 0 18px;
  padding: 12px 18px;
  background: #f0fdf4;
  border-radius: 12px;
  color: #166534;
  font-weight: 600;
  font-size: 0.92rem;
}
.promo-landing-section[data-v-58117bfd] {
  margin-bottom: 20px;
}
.promo-landing-section-title[data-v-58117bfd] {
  margin: 0 0 12px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #475569;
  text-align: center;
}
.promo-landing-pool[data-v-58117bfd] {
  margin-bottom: 20px;
  padding: 12px 16px;
  background: #f8fafc;
  border-radius: 12px;
  text-align: center;
  font-size: 0.92rem;
  color: #334155;
  border: 1px solid #e2e8f0;
}
.promo-landing-desc[data-v-58117bfd] {
  margin-bottom: 22px;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #334155;
}
.promo-landing-html[data-v-58117bfd] p {
  margin: 0 0 0.75em;
}
.promo-landing-html[data-v-58117bfd] p:last-child {
  margin-bottom: 0;
}
.promo-landing-cta[data-v-58117bfd] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.promo-landing-contact[data-v-58117bfd] {
  text-align: center;
}
.promo-landing-contact-link[data-v-58117bfd] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #0ea47a;
  font-weight: 600;
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}
.promo-landing-contact-link[data-v-58117bfd]:hover {
  color: #059669;
  text-decoration: underline;
}
.promo-landing-footer[data-v-58117bfd] {
  border-top: 1px solid #e2e8f0;
  padding-top: 18px;
}
.promo-landing-muted[data-v-58117bfd] {
  margin: 0;
  font-size: 0.8rem;
  color: #64748b;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 480px) {
.promo-landing-card[data-v-58117bfd] {
    padding: 28px 24px 32px;
    border-radius: 20px;
}
.promo-landing-title[data-v-58117bfd] {
    font-size: 1.5rem;
}
.promo-landing-code[data-v-58117bfd] {
    font-size: 1.9rem;
    padding: 16px 14px;
}
}

.promo-short-redirect[data-v-e6388fa9] {
  min-height: 45vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  text-align: center;
  color: #334155;
}

.visit-notif-filters[data-v-d9ea40a6] {
  margin-top: 0;
}
.visit-notif-header-left[data-v-d9ea40a6] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}
.visit-notif-header-left .shared-card-title[data-v-d9ea40a6] {
  margin: 0;
  flex: 1;
  min-width: 0;
}
.visit-notif-title-link[data-v-d9ea40a6] {
  cursor: pointer;
}
.visit-notif-title-link[data-v-d9ea40a6]:hover {
  color: #007bff;
}
.gabito-common-filters-container.collapsed[data-v-d9ea40a6] {
  display: none;
}
.admin-unit-selector label[data-v-d9ea40a6] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.admin-unit-select[data-v-d9ea40a6] {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 9px 10px;
}
.admin-unit-hint[data-v-d9ea40a6] {
  margin: 12px 0 0;
  font-size: 0.88rem;
  color: #64748b;
  line-height: 1.45;
}
.admin-unit-empty[data-v-d9ea40a6] {
  color: #64748b;
  font-size: 0.95rem;
}
.visit-notif-empty-panel.visit-notif-empty-panel[data-v-d9ea40a6] {
  padding: 20px 16px;
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #fef2f2;
  color: #7f1d1d;
}
.visit-notif-empty-panel__title[data-v-d9ea40a6] {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  color: #991b1b;
}
.visit-notif-empty-panel__text[data-v-d9ea40a6] {
  margin: 0 0 10px;
  line-height: 1.45;
  font-size: 0.95rem;
}
.visit-notif-empty-panel__hint[data-v-d9ea40a6] {
  margin: 0;
  font-size: 0.88rem;
  color: #9a3412;
  line-height: 1.4;
}
.visit-notif-list-view-settings-label[data-v-d9ea40a6] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.visit-notif-list-view-settings-hint[data-v-d9ea40a6] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.visit-notif-table-wrap[data-v-d9ea40a6] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 16px;
}
.visit-notif-table[data-v-d9ea40a6] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
}
.visit-notif-table th[data-v-d9ea40a6],
.visit-notif-table td[data-v-d9ea40a6] {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
}
.visit-notif-table th[data-v-d9ea40a6] {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.visit-notif-table tbody tr[data-v-d9ea40a6]:hover {
  background: #fafafa;
}
.visit-notif-col-num[data-v-d9ea40a6] {
  text-align: right;
  white-space: nowrap;
  width: 1%;
}
.visit-notif-col-actions[data-v-d9ea40a6] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.visit-notif-table-title-link[data-v-d9ea40a6] {
  display: inline;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-decoration: underline;
  text-align: left;
}
.visit-notif-table-title-link[data-v-d9ea40a6]:hover {
  color: #0a58ca;
}
.visit-notif-table-ellipsis[data-v-d9ea40a6] {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.visit-notif-row-recent[data-v-d9ea40a6] {
  box-shadow: inset 3px 0 0 #0d6efd;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state, .empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed { display: none;
}
.gabito-common-checkbox-filters-container { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row:last-child { margin-bottom: 0;
}
.voucher-info-row strong { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending { background: #fff3cd; color: #856404;
}
.voucher-status-active { background: #d4edda; color: #155724;
}
.voucher-status-partially-used { background: #cce5ff; color: #004085;
}
.voucher-status-used { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty { font-weight: 800; color: #111827;
}
.voucher-services-unit { font-weight: 700; color: #374151;
}
.voucher-balance-value { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.view-loading[data-v-15ea8db3] {
  padding: 24px;
  text-align: center;
  color: #666;
}
.view-section[data-v-15ea8db3] {
  margin-top: 18px;
}
.view-pre[data-v-15ea8db3] {
  margin: 8px 0 0;
  padding: 12px 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.92rem;
  white-space: pre-wrap;
  word-break: break-word;
  color: #1f2937;
}
.voucher-info-row[data-v-15ea8db3] {
  margin: 0 0 8px 0;
  line-height: 1.35;
  font-size: 0.92rem;
  color: #444;
}
.voucher-info-row strong[data-v-15ea8db3] {
  color: #222;
  font-weight: 600;
}

.tpl-placeholder-token-bar[data-v-ee460637] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 7px;
  margin-bottom: 6px;
  padding: 6px 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.tpl-placeholder-token-bar__hint[data-v-ee460637] {
  font-size: 0.78rem;
  color: #64748b;
}
.tpl-placeholder-token-btn[data-v-ee460637] {
  font-family: ui-monospace, monospace;
  font-size: 0.72rem;
  padding: 3px 7px;
  border: 1px solid #94a3b8;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  color: #0f172a;
}
.tpl-placeholder-token-btn[data-v-ee460637]:hover {
  background: #e0e7ff;
  border-color: #6366f1;
}

.visit-notif-card[data-v-6c672f5d] {
  width: 100%;
}
.gabito-card-wrapper[data-v-6c672f5d] {
  border: 1px solid #dbe4ef;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  overflow: hidden;
}
.visit-notif-card__header[data-v-6c672f5d] {
  padding: 12px;
  border-bottom: 1px solid #edf1f4;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.visit-notif-card__timing-row[data-v-6c672f5d],
.visit-notif-card__controls-row[data-v-6c672f5d] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.visit-notif-card__controls-row[data-v-6c672f5d] {
  margin-top: 10px;
}
.visit-notif-card__controls-row--channels[data-v-6c672f5d] {
  align-items: flex-start;
}
.visit-notif-card__mediums-scroll[data-v-6c672f5d] {
  flex: 1 1 200px;
  min-width: 160px;
  max-width: 320px;
}
.visit-notif-card__mediums-table[data-v-6c672f5d] {
  font-size: 0.86rem;
}
.visit-notif-card__body[data-v-6c672f5d] {
  padding: 12px;
}
.visit-notif-card__field + .visit-notif-card__field[data-v-6c672f5d] {
  margin-top: 10px;
}
.visit-notif-card__index[data-v-6c672f5d] {
  font-weight: 700;
  color: #334155;
  background: #eef2ff;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 0.82rem;
}
.visit-notif-card__label[data-v-6c672f5d] {
  color: #334155;
  font-size: 0.9rem;
  font-weight: 600;
}
.gabito-input-sm[data-v-6c672f5d],
.gabito-time-input[data-v-6c672f5d],
.gabito-textarea[data-v-6c672f5d],
.gabito-input[data-v-6c672f5d] {
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #1f2937;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.gabito-input-sm[data-v-6c672f5d]:focus,
.gabito-time-input[data-v-6c672f5d]:focus,
.gabito-textarea[data-v-6c672f5d]:focus,
.gabito-input[data-v-6c672f5d]:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}
.gabito-input-sm[data-v-6c672f5d] {
  width: 64px;
  padding: 6px 8px;
}
.gabito-time-input[data-v-6c672f5d] {
  width: 122px;
  padding: 6px 8px;
}
.gabito-textarea[data-v-6c672f5d],
.gabito-input[data-v-6c672f5d] {
  width: 100%;
  padding: 8px 10px;
}
.voucher-info-row[data-v-6c672f5d] {
  margin: 0 0 4px 0;
  line-height: 1.35;
  font-size: 0.92rem;
  color: #475569;
}
.voucher-info-row strong[data-v-6c672f5d] {
  color: #1f2937;
  font-weight: 600;
}
.gabito-remove-btn[data-v-6c672f5d] {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: #dc3545;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
}
.gabito-remove-btn[data-v-6c672f5d]:hover {
  background: #fef2f2;
}
.visit-notif-card--embedded .visit-notif-card__header[data-v-6c672f5d] {
  padding: 0 0 10px;
  border-bottom: 1px solid #edf1f4;
  background: transparent;
}
.visit-notif-card--embedded .visit-notif-card__body[data-v-6c672f5d] {
  padding: 12px 0 0;
}

.edit-loading[data-v-a7b89554] {
  padding: 24px;
  text-align: center;
  color: #666;
}

.create-loading[data-v-1a483991] {
  padding: 24px;
  text-align: center;
  color: #666;
}
.create-hint[data-v-1a483991] {
  margin: 0 0 16px;
  font-size: 0.9rem;
  color: #64748b;
  line-height: 1.4;
}

.crm-edit-body[data-v-e406561b] {
  min-height: 120px;
}
.crm-edit-meta[data-v-e406561b] {
  margin: 0 0 14px;
  font-size: 0.9rem;
  color: #64748b;
}
.crm-label[data-v-e406561b] {
  display: block;
  font-weight: 600;
  margin-top: 12px;
  margin-bottom: 6px;
}
.crm-input[data-v-e406561b],
.crm-textarea[data-v-e406561b] {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  box-sizing: border-box;
}

/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-b013ea7f] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-b013ea7f] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-b013ea7f] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-b013ea7f], .empty-state[data-v-b013ea7f] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-b013ea7f] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-b013ea7f] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-b013ea7f] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-b013ea7f] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-b013ea7f] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-b013ea7f] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-b013ea7f]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-b013ea7f] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-b013ea7f] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-b013ea7f] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-b013ea7f] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-b013ea7f] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-b013ea7f] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-b013ea7f] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-b013ea7f] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-b013ea7f] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-b013ea7f] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-b013ea7f] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-b013ea7f] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-b013ea7f] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-b013ea7f] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-b013ea7f] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-b013ea7f] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-b013ea7f] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-b013ea7f] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-b013ea7f] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-b013ea7f] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-b013ea7f]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.customer-reviews-card-notes-footer[data-v-b013ea7f] {
  width: 100%;
  min-width: 0;
}
.customer-reviews-list-view-settings-label[data-v-b013ea7f] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.customer-reviews-list-view-settings-hint[data-v-b013ea7f] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.customer-reviews-table-wrap[data-v-b013ea7f] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 16px;
}
.customer-reviews-table[data-v-b013ea7f] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
}
.customer-reviews-table th[data-v-b013ea7f],
.customer-reviews-table td[data-v-b013ea7f] {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
}
.customer-reviews-table th[data-v-b013ea7f] {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.customer-reviews-table tbody tr[data-v-b013ea7f]:hover {
  background: #fafafa;
}
.customer-reviews-table .num[data-v-b013ea7f] {
  text-align: right;
  white-space: nowrap;
  width: 1%;
}
.cr-table-title-link[data-v-b013ea7f] {
  display: inline;
  background: none;
  border: none;
  padding: 0;
  margin: 0 6px 0 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-decoration: underline;
  text-align: left;
}
.cr-table-title-link[data-v-b013ea7f]:hover {
  color: #0a58ca;
}
.customer-reviews-table-ellipsis[data-v-b013ea7f] {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-reviews-table-snippet[data-v-b013ea7f] {
  max-width: 220px;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.customer-reviews-col-notes[data-v-b013ea7f] {
  min-width: 130px;
  max-width: 200px;
  vertical-align: middle;
}
.customer-reviews-col-actions[data-v-b013ea7f] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.customer-reviews-row-recent[data-v-b013ea7f] {
  box-shadow: inset 3px 0 0 #0d6efd;
}
.customer-review-settings-modal[data-v-b013ea7f] {
  padding-top: 4px;
}
.customer-review-settings-checkbox[data-v-b013ea7f] {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 600;
  margin-bottom: 12px;
}
.customer-review-settings-checkbox[data-v-b013ea7f]:last-child {
  margin-bottom: 0;
}
.customer-review-settings-section-title[data-v-b013ea7f] {
  margin: 18px 0 6px;
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
}
.customer-review-settings-hint[data-v-b013ea7f] {
  margin: 0 0 10px;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.4;
}
.review-opinion-snippet[data-v-b013ea7f] {
  font-size: 0.95rem;
  line-height: 1.45;
}
.review-preview-body[data-v-b013ea7f] {
  font-size: 0.98rem;
}
.review-preview-entity-link[data-v-b013ea7f] {
  color: #1e3a8a;
  text-decoration: underline;
  font-weight: 600;
}
.review-preview-entity-link[data-v-b013ea7f]:hover {
  color: #1d4ed8;
}
.review-preview-opinion[data-v-b013ea7f] {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed #e2e8f0;
}
.review-preview-opinion-text[data-v-b013ea7f] {
  margin: 8px 0 0;
  white-space: pre-wrap;
  line-height: 1.5;
  color: #334155;
}
.customer-reviews-filters[data-v-b013ea7f] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  width: 100%;
}
.customer-reviews-filter-select[data-v-b013ea7f],
.customer-reviews-filter-date[data-v-b013ea7f] {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  min-height: 36px;
  padding: 0 10px;
}
.customer-reviews-filter-check[data-v-b013ea7f] {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  min-height: 36px;
  padding: 0 10px;
  background: #fff;
  font-size: 0.92rem;
}
.gabito-common-filters-container.collapsed[data-v-b013ea7f] {
  display: none;
}
.review-badge[data-v-b013ea7f] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
}
.review-badge--public[data-v-b013ea7f] {
  color: #14532d;
  background: #dcfce7;
}
.review-badge--anon[data-v-b013ea7f] {
  color: #3730a3;
  background: #e0e7ff;
}
.review-preview-header-actions[data-v-b013ea7f] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.review-preview-header-btn[data-v-b013ea7f] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
}
.review-preview-header-btn--approve[data-v-b013ea7f] {
  background: #15803d;
  color: #fff;
  border-color: #15803d;
}
.review-preview-header-btn--approve[data-v-b013ea7f]:hover {
  background: #166534;
}
.review-preview-header-btn--reject[data-v-b013ea7f] {
  background: #fff;
  color: #b91c1c;
  border-color: #fecaca;
}
.review-preview-header-btn--reject[data-v-b013ea7f]:hover {
  background: #fef2f2;
}
.review-preview-header-btn--revert[data-v-b013ea7f] {
  background: #fff;
  color: #475569;
  border-color: #cbd5e1;
}
.review-preview-header-btn--revert[data-v-b013ea7f]:hover {
  background: #f8fafc;
  border-color: #94a3b8;
}
.gabito-common-list-container {
  min-height: 100vh !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Kafelek oczekujący na moderację (gdy włączone w ustawieniach) */
.review-card-awaiting-moderation.shared-card {
  background: #fffbeb;
  border-color: #facc15;
  box-shadow: 0 4px 14px rgba(250, 204, 21, 0.25);
}
.review-card-awaiting-moderation.shared-card:hover {
  background: #fef9c3;
}

.crlv[data-v-8c13da8b] {
  min-height: 100%;
}

.crt-body[data-v-d4ef10c1] {
  max-width: 900px;
  margin: 0 auto;
  padding: 16px 12px 40px;
}
.crt-section[data-v-d4ef10c1] {
  margin-top: 22px;
}
.crt-subheader[data-v-d4ef10c1] {
  margin-top: 16px;
}
.crt-section h3[data-v-d4ef10c1] {
  margin: 0 0 8px;
  font-size: 1rem;
}
.crt-hint[data-v-d4ef10c1] {
  margin: 0 0 12px;
  font-size: 0.875rem;
  color: #475569;
  line-height: 1.5;
}
.crt-hint strong[data-v-d4ef10c1] {
  color: #334155;
}
.crt-hint code[data-v-d4ef10c1] {
  font-size: 0.85em;
  padding: 1px 5px;
  background: #f1f5f9;
  border-radius: 4px;
}
.crt-hint--section-lead[data-v-d4ef10c1] {
  margin-bottom: 16px;
  padding: 10px 12px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}
.crt-error[data-v-d4ef10c1] {
  color: #b91c1c;
  margin-bottom: 10px;
}
.crt-panel[data-v-d4ef10c1] {
  border: 1px solid #dbeafe;
  border-radius: 12px;
  padding: 14px;
}
.crt-panel--sms[data-v-d4ef10c1] {
  background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
  border-color: #93c5fd;
  box-shadow: 0 1px 0 rgba(59, 130, 246, 0.1);
}
.crt-panel--email[data-v-d4ef10c1] {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border-color: #cbd5e1;
}

.pub-cr[data-v-2b6b3841] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: linear-gradient(160deg, #f1f5f9 0%, #e0e7ff 100%);
}
.pub-cr__card[data-v-2b6b3841] {
  width: 100%;
  max-width: 520px;
  background: #fff;
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 16px 50px rgba(15, 23, 42, 0.12);
}
.pub-cr__state[data-v-2b6b3841] {
  text-align: center;
  color: #475569;
}
.pub-cr__lead[data-v-2b6b3841] {
  color: #334155;
  line-height: 1.5;
}
.pub-cr__stars[data-v-2b6b3841] {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}
.pub-cr__stars--small[data-v-2b6b3841] {
  margin: 8px 0 12px;
}
.pub-cr__star[data-v-2b6b3841] {
  font-size: 2rem;
  line-height: 1;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #cbd5e1;
  padding: 0;
}
.pub-cr__star.active[data-v-2b6b3841] {
  color: #f59e0b;
}
.pub-cr__lbl[data-v-2b6b3841] {
  display: block;
  font-weight: 600;
  margin-top: 8px;
  color: #334155;
}
.pub-cr__check[data-v-2b6b3841] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  color: #334155;
}
.pub-cr__ta[data-v-2b6b3841] {
  width: 100%;
  margin-top: 6px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  padding: 10px;
  font: inherit;
  resize: vertical;
}
.pub-cr__submit[data-v-2b6b3841] {
  margin-top: 16px;
  width: 100%;
  border: none;
  border-radius: 10px;
  padding: 12px 16px;
  font-weight: 700;
  cursor: pointer;
  background: #4f46e5;
  color: #fff;
}
.pub-cr__submit[data-v-2b6b3841]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.pub-cr__err[data-v-2b6b3841] {
  color: #b91c1c;
  margin-top: 10px;
}
.pub-cr__thanks[data-v-2b6b3841] {
  font-size: 1.1rem;
  color: #334155;
  line-height: 1.6;
}

.upa-page[data-v-603a13aa] {
  min-height: 100vh;
  padding: 24px 16px 48px;
  max-width: 720px;
  margin: 0 auto;
  background: linear-gradient(165deg, #f8fafc 0%, #e0e7ff 45%, #f1f5f9 100%);
  box-sizing: border-box;
}
.upa-hero[data-v-603a13aa] {
  text-align: center;
  margin-bottom: 28px;
}
.upa-title[data-v-603a13aa] {
  margin: 0 0 10px;
  font-size: 1.65rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.upa-lead[data-v-603a13aa] {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.55;
  color: #475569;
  max-width: 540px;
  margin-inline: auto;
}
.upa-h2[data-v-603a13aa] {
  margin: 0 0 12px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1e293b;
}
.upa-card[data-v-603a13aa] {
  background: #fff;
  border-radius: 16px;
  padding: 20px 18px;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
  border: 1px solid #e2e8f0;
  margin-bottom: 16px;
}
.upa-code-card .upa-muted[data-v-603a13aa] {
  margin: 0 0 14px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #64748b;
}
.upa-code-card code[data-v-603a13aa] {
  font-size: 0.85em;
  padding: 2px 6px;
  background: #f1f5f9;
  border-radius: 4px;
}
.upa-code-row[data-v-603a13aa] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.upa-input[data-v-603a13aa] {
  flex: 1 1 200px;
  min-width: 160px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  font-size: 1rem;
}
.upa-btn[data-v-603a13aa] {
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #fff;
  font-weight: 600;
  cursor: pointer;
  color: #334155;
}
.upa-btn[data-v-603a13aa]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.upa-btn--primary[data-v-603a13aa] {
  background: #4f46e5;
  border-color: #4338ca;
  color: #fff;
}
.upa-btn--primary[data-v-603a13aa]:hover:not(:disabled) {
  background: #4338ca;
}
.upa-hint[data-v-603a13aa] {
  margin: 14px 0 0;
  font-size: 0.85rem;
  color: #64748b;
}
.upa-error[data-v-603a13aa] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
  font-weight: 500;
}
.upa-stats .upa-total[data-v-603a13aa] {
  margin: 0 0 16px;
  font-size: 1rem;
  color: #334155;
}
.upa-dim-grid[data-v-603a13aa] {
  display: grid;
  gap: 14px;
}
@media (min-width: 520px) {
.upa-dim-grid[data-v-603a13aa] {
    grid-template-columns: 1fr 1fr;
}
}
.upa-dim[data-v-603a13aa] {
  padding: 12px;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
}
.upa-dim-label[data-v-603a13aa] {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 6px;
}
.upa-dim-meta[data-v-603a13aa] {
  display: block;
  font-size: 0.78rem;
  color: #94a3b8;
  margin-top: 4px;
}
.upa-stars[data-v-603a13aa] {
  font-size: 1.05rem;
  letter-spacing: 2px;
  color: #f59e0b;
}
.upa-muted[data-v-603a13aa] {
  color: #94a3b8;
  font-size: 0.9rem;
}
.upa-review-list[data-v-603a13aa] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.upa-review-head[data-v-603a13aa] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.upa-review-name[data-v-603a13aa] {
  font-weight: 700;
  color: #0f172a;
}
.upa-review-date[data-v-603a13aa] {
  font-size: 0.85rem;
  color: #64748b;
}
.upa-review-meta[data-v-603a13aa] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 10px;
}
.upa-review-overall[data-v-603a13aa] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.upa-detail-grid[data-v-603a13aa] {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
@media (min-width: 480px) {
.upa-detail-grid[data-v-603a13aa] {
    grid-template-columns: 1fr 1fr;
}
}
.upa-detail[data-v-603a13aa] {
  font-size: 0.88rem;
}
.upa-detail-label[data-v-603a13aa] {
  display: block;
  color: #64748b;
  font-size: 0.78rem;
  margin-bottom: 2px;
}
.upa-opinion[data-v-603a13aa] {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 4px solid #c7d2fe;
  background: #f8fafc;
  border-radius: 0 10px 10px 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #334155;
  white-space: pre-wrap;
}
.upa-pagination[data-v-603a13aa] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.upa-page-info[data-v-603a13aa] {
  font-size: 0.9rem;
  color: #64748b;
}
.upa-state[data-v-603a13aa],
.upa-empty[data-v-603a13aa] {
  text-align: center;
  color: #64748b;
  padding: 24px;
}
.upa-sr-only[data-v-603a13aa] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.upa-page[data-v-9697215c] {
  min-height: 100vh;
  padding: 24px 16px 48px;
  max-width: 840px;
  margin: 0 auto;
  background: linear-gradient(165deg, #f8fafc 0%, #e0e7ff 45%, #f1f5f9 100%);
  box-sizing: border-box;
}
.upa-hero[data-v-9697215c] {
  text-align: center;
  margin-bottom: 28px;
}
.upa-title[data-v-9697215c] {
  margin: 0 0 10px;
  font-size: 1.65rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.upa-lead[data-v-9697215c] {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.55;
  color: #475569;
  max-width: 560px;
  margin-inline: auto;
}
.upa-category-toggle[data-v-9697215c] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0 0 4px;
  padding: 10px 4px;
  text-align: left;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 10px;
  color: #0f172a;
  transition: background 0.15s ease;
}
.upa-category-toggle[data-v-9697215c]:hover {
  background: #f1f5f9;
}
.upa-chevron[data-v-9697215c] {
  flex-shrink: 0;
  width: 1.25rem;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1;
}
.upa-category-toggle-text[data-v-9697215c] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
  min-width: 0;
}
.upa-category-title[data-v-9697215c] {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1e293b;
}
.upa-category-count[data-v-9697215c] {
  font-size: 0.82rem;
  font-weight: 600;
  color: #64748b;
}
.upa-category-body[data-v-9697215c] {
  padding-top: 4px;
}
.upa-card[data-v-9697215c] {
  background: #fff;
  border-radius: 16px;
  padding: 20px 18px;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
  border: 1px solid #e2e8f0;
  margin-bottom: 16px;
}
.upa-code-card .upa-muted[data-v-9697215c] {
  margin: 0 0 14px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #64748b;
}
.upa-code-card code[data-v-9697215c] {
  font-size: 0.85em;
  padding: 2px 6px;
  background: #f1f5f9;
  border-radius: 4px;
}
.upa-code-row[data-v-9697215c] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.upa-input[data-v-9697215c] {
  flex: 1 1 200px;
  min-width: 160px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  font-size: 1rem;
}
.upa-btn[data-v-9697215c] {
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #fff;
  font-weight: 600;
  cursor: pointer;
  color: #334155;
}
.upa-btn[data-v-9697215c]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.upa-btn--primary[data-v-9697215c] {
  background: #4f46e5;
  border-color: #4338ca;
  color: #fff;
}
.upa-btn--primary[data-v-9697215c]:hover:not(:disabled) {
  background: #4338ca;
}
.upa-hint[data-v-9697215c] {
  margin: 14px 0 0;
  font-size: 0.85rem;
  color: #64748b;
}
.upa-error[data-v-9697215c] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
  font-weight: 500;
}
.upa-state[data-v-9697215c],
.upa-empty[data-v-9697215c] {
  text-align: center;
  color: #64748b;
  padding: 24px;
}
.upa-group--ungrouped[data-v-9697215c] {
  border-color: #c7d2fe;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.upa-group-desc[data-v-9697215c] {
  margin: 0 0 16px;
  font-size: 0.9rem;
  color: #64748b;
  line-height: 1.45;
}
.upa-service-list[data-v-9697215c] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.upa-service[data-v-9697215c] {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
}
.upa-service--no-photo[data-v-9697215c] {
  gap: 0;
}
.upa-service-photo[data-v-9697215c] {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #e2e8f0;
}
.upa-service-photo-img[data-v-9697215c] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.upa-service-photo-placeholder[data-v-9697215c] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 2rem;
  background: linear-gradient(145deg, #f1f5f9 0%, #e2e8f0 100%);
}
.upa-service-body[data-v-9697215c] {
  min-width: 0;
  flex: 1;
}
.upa-service-name[data-v-9697215c] {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
}
.upa-service-code[data-v-9697215c] {
  margin: 0 0 8px;
  font-size: 0.82rem;
  color: #64748b;
}
.upa-service-desc[data-v-9697215c] {
  margin: 0 0 10px;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #475569;
  white-space: pre-wrap;
}
.upa-service-meta[data-v-9697215c] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.88rem;
  color: #334155;
}
.upa-service-meta-row[data-v-9697215c] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: baseline;
}
.upa-service-meta-promo[data-v-9697215c] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  padding-top: 2px;
}
.upa-price-line[data-v-9697215c] {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
}
.upa-price-struck[data-v-9697215c] {
  text-decoration: line-through;
  color: #64748b;
  font-weight: 500;
}
.upa-price-promo[data-v-9697215c] {
  color: #dc2626;
  font-weight: 700;
}
.upa-service-extra[data-v-9697215c]:empty {
  display: none;
}
.upa-service-extra-line[data-v-9697215c] {
  margin: 6px 0 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #475569;
}
.upa-rankings-panel[data-v-9697215c] {
  border-color: #c7d2fe;
  background: linear-gradient(135deg, #fafbff 0%, #fff 55%);
}
.upa-rankings-panel .upa-muted[data-v-9697215c] {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #64748b;
}
.upa-rankings-panel .upa-h2[data-v-9697215c] {
  margin: 0 0 8px;
  font-size: 1.2rem;
  font-weight: 800;
  color: #1e1b4b;
}
.upa-rankings-error[data-v-9697215c] {
  color: #b45309;
}
.upa-rankings-list[data-v-9697215c] {
  margin: 0;
  padding-left: 1.35rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #334155;
}
.upa-rankings-item[data-v-9697215c] {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 8px 10px;
  align-items: baseline;
  padding: 4px 0;
}
.upa-rankings-pos[data-v-9697215c] {
  font-weight: 700;
  color: #6366f1;
}
.upa-rankings-name[data-v-9697215c] {
  font-weight: 600;
  min-width: 0;
}

.upa-page[data-v-4ceb480f] {
  min-height: 100vh;
  padding: 24px 16px 48px;
  max-width: 720px;
  margin: 0 auto;
  background: linear-gradient(165deg, #f8fafc 0%, #e0e7ff 45%, #f1f5f9 100%);
  box-sizing: border-box;
}
.upa-hero[data-v-4ceb480f] {
  text-align: center;
  margin-bottom: 28px;
}
.upa-title[data-v-4ceb480f] {
  margin: 0 0 10px;
  font-size: 1.65rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.upa-card[data-v-4ceb480f] {
  background: #fff;
  border-radius: 16px;
  padding: 20px 18px;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
  border: 1px solid #e2e8f0;
  margin-bottom: 16px;
}
.upa-error[data-v-4ceb480f] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
  font-weight: 500;
}
.upa-hub-nav[data-v-4ceb480f] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.upa-hub-card[data-v-4ceb480f] {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 16px;
  padding: 20px 18px;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
  border: 1px solid #e2e8f0;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.upa-hub-card[data-v-4ceb480f]:hover {
  border-color: #a5b4fc;
  box-shadow: 0 12px 44px rgba(79, 70, 229, 0.12);
}
.upa-hub-card--accent[data-v-4ceb480f] {
  border-left: 4px solid #4f46e5;
}
.upa-hub-card-title[data-v-4ceb480f] {
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 6px;
}
.upa-hub-card-desc[data-v-4ceb480f] {
  display: block;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #64748b;
}
.upa-hub-card-desc code[data-v-4ceb480f] {
  font-size: 0.8em;
  padding: 1px 5px;
  background: #f1f5f9;
  border-radius: 4px;
}


.upa-page[data-v-272fcfc6] {
  min-height: 100vh;
  padding: 24px 16px 48px;
  max-width: 640px;
  margin: 0 auto;
  background: linear-gradient(165deg, #f8fafc 0%, #e0e7ff 45%, #f1f5f9 100%);
  box-sizing: border-box;
}
.upa-hero[data-v-272fcfc6] {
  text-align: center;
  margin-bottom: 24px;
}
.upa-title[data-v-272fcfc6] {
  margin: 0 0 10px;
  font-size: 1.65rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.upa-h2[data-v-272fcfc6] {
  margin: 0 0 14px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1e293b;
}
.upa-card[data-v-272fcfc6] {
  background: #fff;
  border-radius: 16px;
  padding: 20px 18px;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
  border: 1px solid #e2e8f0;
  margin-bottom: 16px;
}
.upa-code-card .upa-muted[data-v-272fcfc6] {
  margin: 0 0 14px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #64748b;
}
.upa-code-card code[data-v-272fcfc6] {
  font-size: 0.85em;
  padding: 2px 6px;
  background: #f1f5f9;
  border-radius: 4px;
}
.upa-code-row[data-v-272fcfc6] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.upa-input[data-v-272fcfc6] {
  flex: 1 1 200px;
  min-width: 160px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  font-size: 1rem;
}
.upa-btn[data-v-272fcfc6] {
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background: #fff;
  font-weight: 600;
  cursor: pointer;
  color: #334155;
}
.upa-btn--primary[data-v-272fcfc6] {
  background: #4f46e5;
  border-color: #4338ca;
  color: #fff;
}
.upa-btn--primary[data-v-272fcfc6]:hover:not(:disabled) {
  background: #4338ca;
}
.upa-hint[data-v-272fcfc6] {
  margin: 14px 0 0;
  font-size: 0.85rem;
  color: #64748b;
}
.upa-error[data-v-272fcfc6] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
  font-weight: 500;
}
.upa-state[data-v-272fcfc6],
.upa-empty[data-v-272fcfc6] {
  text-align: center;
  color: #64748b;
  padding: 24px;
}
.upa-muted[data-v-272fcfc6] {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #64748b;
}
.upa-logo-wrap[data-v-272fcfc6] {
  display: flex;
  justify-content: center;
  margin: 0 0 16px;
}
.upa-logo-img[data-v-272fcfc6] {
  max-width: 200px;
  max-height: 200px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.upa-dl[data-v-272fcfc6] {
  margin: 0;
  display: grid;
  gap: 10px 16px;
}
.upa-dl--after-logo[data-v-272fcfc6] {
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid #f1f5f9;
}
@media (min-width: 480px) {
.upa-dl[data-v-272fcfc6] {
    grid-template-columns: minmax(7rem, 9rem) 1fr;
}
}
.upa-dl dt[data-v-272fcfc6] {
  font-size: 0.82rem;
  font-weight: 600;
  color: #64748b;
  margin: 0;
}
.upa-dl dd[data-v-272fcfc6] {
  margin: 0;
  font-size: 0.95rem;
  color: #0f172a;
  word-break: break-word;
}
.upa-hours-pre[data-v-272fcfc6] {
  margin: 0;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.88rem;
  line-height: 1.55;
  white-space: pre-wrap;
  color: #334155;
  background: #f8fafc;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}
/* src/modules/vouchers/components/VoucherList.css */
/* Encoding: UTF-8 */
.vouchers-grid[data-v-bd2c9ff9] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.filter-label[data-v-bd2c9ff9] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
}
.status-filters[data-v-bd2c9ff9] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.loading-state[data-v-bd2c9ff9], .empty-state[data-v-bd2c9ff9] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-bd2c9ff9] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.gabito-common-filters-container.collapsed[data-v-bd2c9ff9] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-bd2c9ff9] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-bd2c9ff9] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-bd2c9ff9] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.voucher-info-row[data-v-bd2c9ff9] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.voucher-info-row[data-v-bd2c9ff9]:last-child { margin-bottom: 0;
}
.voucher-info-row strong[data-v-bd2c9ff9] { color: #222; font-weight: 600;
}
/* Status na kafelkach — wyróżniające tło, każdy status w innym kolorze */
.status-badge[data-v-bd2c9ff9] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.1;
  text-transform: none;
}
.voucher-status-pending[data-v-bd2c9ff9] { background: #fff3cd; color: #856404;
}
.voucher-status-active[data-v-bd2c9ff9] { background: #d4edda; color: #155724;
}
.voucher-status-partially-used[data-v-bd2c9ff9] { background: #cce5ff; color: #004085;
}
.voucher-status-used[data-v-bd2c9ff9] { background: #e2e3e5; color: #383d41;
}
.voucher-status-expired[data-v-bd2c9ff9] { background: #f8d7da; color: #721c24;
}
.voucher-status-refunded[data-v-bd2c9ff9] { background: #f8d7da; color: #721c24;
}
/* Wyróżnienie ilości dla „Dostępne usługi: X szt.” */
.voucher-services-qty[data-v-bd2c9ff9] { font-weight: 800; color: #111827;
}
.voucher-services-unit[data-v-bd2c9ff9] { font-weight: 700; color: #374151;
}
.voucher-balance-value[data-v-bd2c9ff9] { font-weight: 800;
}
/* Status na checkboxach filtrów — te same kolory co badge */
.filter-label-pending[data-v-bd2c9ff9] {
  background: #fff3cd;
  border-left: 3px solid #856404;
  color: #856404;
}
.filter-label-active[data-v-bd2c9ff9] {
  background: #d4edda;
  border-left: 3px solid #155724;
  color: #155724;
}
.filter-label-partially-used[data-v-bd2c9ff9] {
  background: #cce5ff;
  border-left: 3px solid #004085;
  color: #004085;
}
.filter-label-used[data-v-bd2c9ff9] {
  background: #e2e3e5;
  border-left: 3px solid #383d41;
  color: #383d41;
}
.filter-label-expired[data-v-bd2c9ff9] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.filter-label-refunded[data-v-bd2c9ff9] {
  background: #f8d7da;
  border-left: 3px solid #721c24;
  color: #721c24;
}
.voucher-template-filter-label[data-v-bd2c9ff9] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f0f4f8;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  font-weight: 600;
  font-size: 0.9rem;
  flex-wrap: wrap;
  flex: 1 1 320px;
  min-width: min(100%, 320px);
}
.voucher-template-filter-text[data-v-bd2c9ff9] {
  white-space: nowrap;
  color: #333;
}
.voucher-template-filter-select[data-v-bd2c9ff9] {
  flex: 1 1 240px;
  min-width: 260px;
  width: 100%;
  max-width: min(640px, 100%);
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
}
.voucher-template-filter-select[data-v-bd2c9ff9]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.upapi-hub-hint[data-v-bd2c9ff9] {
  margin: 0;
  font-size: 0.88rem;
  color: #64748b;
  line-height: 1.45;
}
.upapi-hub-list-view-settings-label[data-v-bd2c9ff9] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.upapi-hub-list-view-settings-hint[data-v-bd2c9ff9] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.upapi-hub-table-wrap[data-v-bd2c9ff9] {
  width: 100%;
  overflow-x: auto;
  padding: 8px 0 20px;
}
.upapi-hub-table[data-v-bd2c9ff9] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}
.upapi-hub-table th[data-v-bd2c9ff9],
.upapi-hub-table td[data-v-bd2c9ff9] {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.upapi-hub-table th[data-v-bd2c9ff9] {
  background: #f8fafc;
  font-weight: 600;
  color: #334155;
}
.upapi-hub-table tbody tr[data-v-bd2c9ff9]:hover {
  background: #fafafa;
}
.upapi-hub-desc-cell[data-v-bd2c9ff9] {
  max-width: 360px;
  color: #475569;
  line-height: 1.45;
}
.upapi-hub-col-actions[data-v-bd2c9ff9] {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}
.upapi-hub-title-link[data-v-bd2c9ff9] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #0d6efd;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
}
.upapi-hub-title-link[data-v-bd2c9ff9]:hover {
  color: #0a58ca;
}
.upapi-hub-title-static[data-v-bd2c9ff9] {
  font-weight: 600;
  color: #0f172a;
}
.upapi-hub-row-recent[data-v-bd2c9ff9] {
  box-shadow: inset 3px 0 0 #0d6efd;
}
.upapi-channel-status--table[data-v-bd2c9ff9] {
  display: inline-block;
}
.upapi-channel-row[data-v-bd2c9ff9] {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #c7d2fe;
  background: linear-gradient(160deg, #eef2ff 0%, #e0e7ff 55%, #f8fafc 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.upapi-channel-row-head[data-v-bd2c9ff9] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.upapi-channel-row-title[data-v-bd2c9ff9] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #3730a3;
}
.upapi-channel-row-title .fa-plug[data-v-bd2c9ff9] {
  font-size: 0.95rem;
  opacity: 0.9;
}
.upapi-channel-status[data-v-bd2c9ff9] {
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.upapi-channel-status--on[data-v-bd2c9ff9] {
  color: #14532d;
  background: #dcfce7;
  border-color: #86efac;
}
.upapi-channel-status--off[data-v-bd2c9ff9] {
  color: #7f1d1d;
  background: #fee2e2;
  border-color: #fecaca;
}

.upapi-preview-banners[data-v-7596485a] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 18px;
}
.upapi-preview-system-link[data-v-7596485a] {
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid #a7f3d0;
  background: linear-gradient(135deg, #ecfdf5 0%, #f8fafc 100%);
}
.upapi-preview-system-link__a[data-v-7596485a] {
  font-size: 0.92rem;
  font-weight: 700;
  color: #047857;
  text-decoration: none;
  line-height: 1.45;
}
.upapi-preview-system-link__a[data-v-7596485a]:hover {
  text-decoration: underline;
}
.upapi-preview-system-link__hint[data-v-7596485a] {
  margin: 10px 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #64748b;
}
.upapi-preview-system-link__hint code[data-v-7596485a] {
  font-size: 0.76rem;
  padding: 1px 4px;
  background: #e2e8f0;
  border-radius: 3px;
}
.upapi-preview-public-links[data-v-7596485a] {
  margin: 0;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid #c7d2fe;
  background: linear-gradient(135deg, #eef2ff 0%, #f8fafc 100%);
}
.upapi-preview-public-links__title[data-v-7596485a] {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
}
.upapi-preview-public-links__lead[data-v-7596485a] {
  margin: 0 0 12px;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #475569;
}
.upapi-preview-public-links__lead code[data-v-7596485a] {
  font-size: 0.78rem;
  padding: 1px 5px;
  background: #e2e8f0;
  border-radius: 4px;
}
.upapi-preview-public-links__list[data-v-7596485a] {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #334155;
}
.upapi-preview-public-links__list li[data-v-7596485a] {
  margin-bottom: 6px;
}
.upapi-preview-public-links__list a[data-v-7596485a] {
  font-weight: 600;
  color: #4338ca;
  text-decoration: none;
}
.upapi-preview-public-links__list a[data-v-7596485a]:hover {
  text-decoration: underline;
}
.upapi-preview-public-links__ep[data-v-7596485a] {
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  color: #64748b;
  margin-top: 2px;
  margin-left: 0;
}
.upapi-preview-public-links__hint[data-v-7596485a] {
  margin: 12px 0 0;
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.45;
}
.upapi-preview-public-links__hint code[data-v-7596485a] {
  font-size: 0.76rem;
  padding: 1px 4px;
  background: #e2e8f0;
  border-radius: 3px;
}
.upa-muted-warn[data-v-7596485a] {
  color: #b45309;
}
.upapi-full-url[data-v-7596485a] {
  display: block;
  margin-top: 6px;
  padding: 8px 10px;
  font-size: 0.72rem;
  line-height: 1.45;
  word-break: break-all;
  white-space: pre-wrap;
  color: #0f172a;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.upapi-preview-rest-title[data-v-7596485a] {
  margin: 14px 0 8px;
  font-size: 0.84rem;
  font-weight: 700;
  color: #1e293b;
}
.upapi-preview-rest-list[data-v-7596485a] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.upapi-preview-rest-list li[data-v-7596485a] {
  margin-bottom: 12px;
}
.upapi-preview-rest-label[data-v-7596485a] {
  display: block;
  font-size: 0.76rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 4px;
}

.upapi-channel-edit-block[data-v-1190ead8] {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #c7d2fe;
  background: linear-gradient(160deg, #eef2ff 0%, #e0e7ff 55%, #f8fafc 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.upapi-channel-edit-block-head[data-v-1190ead8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.upapi-channel-edit-block-title[data-v-1190ead8] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #3730a3;
}
.upapi-channel-edit-block-title .fa-plug[data-v-1190ead8] {
  font-size: 0.95rem;
  opacity: 0.9;
}
.upapi-channel-status[data-v-1190ead8] {
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.upapi-channel-status--on[data-v-1190ead8] {
  color: #14532d;
  background: #dcfce7;
  border-color: #86efac;
}
.upapi-channel-status--off[data-v-1190ead8] {
  color: #7f1d1d;
  background: #fee2e2;
  border-color: #fecaca;
}
.upapi-channel-edit-label[data-v-1190ead8] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.9rem;
  color: #1e293b;
  cursor: pointer;
  line-height: 1.45;
}
.upapi-channel-edit-label-text[data-v-1190ead8] {
  flex: 1;
  min-width: 0;
}
.upapi-channel-edit-hint[data-v-1190ead8] {
  margin: 10px 0 0;
  font-size: 0.82rem;
  color: #64748b;
  line-height: 1.4;
}

.upapi-disclosure-wrap[data-v-ca2ab9fd] {
  max-width: 960px;
  margin: 0 auto;
  padding: 12px 12px 32px;
}
.customer-review-settings-section-title[data-v-ca2ab9fd] {
  margin: 18px 0 10px;
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
}
.customer-review-settings-hint[data-v-ca2ab9fd] {
  margin: 0 0 10px;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.4;
}
.upapi-table-scroll[data-v-ca2ab9fd] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
.upapi-params-table[data-v-ca2ab9fd] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.upapi-params-table thead th[data-v-ca2ab9fd] {
  text-align: left;
  padding: 10px 12px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 700;
  border-bottom: 1px solid #e2e8f0;
}
.upapi-params-table-col-on[data-v-ca2ab9fd] {
  width: 140px;
  text-align: center;
}
.upapi-params-table tbody td[data-v-ca2ab9fd] {
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.upapi-params-table tbody tr:last-child td[data-v-ca2ab9fd] {
  border-bottom: none;
}
.upapi-params-table-label[data-v-ca2ab9fd] {
  color: #334155;
  line-height: 1.35;
}
.upapi-params-table-check[data-v-ca2ab9fd] {
  text-align: center;
}
.upapi-error[data-v-ca2ab9fd] {
  color: #b91c1c;
  margin-bottom: 12px;
}

.upapi-disclosure-wrap[data-v-7da1faee] {
  max-width: 960px;
  margin: 0 auto;
  padding: 12px 12px 32px;
}
.customer-review-settings-section-title[data-v-7da1faee] {
  margin: 18px 0 10px;
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
}
.customer-review-settings-hint[data-v-7da1faee] {
  margin: 0 0 10px;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.4;
}
.upapi-table-scroll[data-v-7da1faee] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
.upapi-params-table[data-v-7da1faee] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.upapi-params-table thead th[data-v-7da1faee] {
  text-align: left;
  padding: 10px 12px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 700;
  border-bottom: 1px solid #e2e8f0;
}
.upapi-params-table-col-on[data-v-7da1faee] {
  width: 140px;
  text-align: center;
}
.upapi-params-table tbody td[data-v-7da1faee] {
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.upapi-params-table tbody tr:last-child td[data-v-7da1faee] {
  border-bottom: none;
}
.upapi-params-table-label[data-v-7da1faee] {
  color: #334155;
  line-height: 1.35;
}
.upapi-params-table-check[data-v-7da1faee] {
  text-align: center;
}
.upapi-error[data-v-7da1faee] {
  color: #b91c1c;
  margin-bottom: 12px;
}

.upapi-disclosure-wrap[data-v-6f7f7e57] {
  max-width: 960px;
  margin: 0 auto;
  padding: 12px 12px 32px;
}
.upapi-unit-logo-block[data-v-6f7f7e57] {
  display: flex;
  justify-content: center;
  margin: 0 0 20px;
}
.upapi-unit-logo-img[data-v-6f7f7e57] {
  max-width: 160px;
  max-height: 160px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}
.customer-review-settings-section-title[data-v-6f7f7e57] {
  margin: 18px 0 10px;
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
}
.customer-review-settings-hint[data-v-6f7f7e57] {
  margin: 0 0 10px;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.45;
}
.customer-review-settings-hint code[data-v-6f7f7e57] {
  font-size: 0.78rem;
  background: #f1f5f9;
  padding: 2px 6px;
  border-radius: 4px;
}
.upapi-table-scroll[data-v-6f7f7e57] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
.upapi-params-table[data-v-6f7f7e57] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.upapi-params-table thead th[data-v-6f7f7e57] {
  text-align: left;
  padding: 10px 12px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 700;
  border-bottom: 1px solid #e2e8f0;
}
.upapi-params-table-col-on[data-v-6f7f7e57] {
  width: 140px;
  text-align: center;
}
.upapi-params-table tbody td[data-v-6f7f7e57] {
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.upapi-params-table tbody tr:last-child td[data-v-6f7f7e57] {
  border-bottom: none;
}
.upapi-params-table-label[data-v-6f7f7e57] {
  color: #334155;
  line-height: 1.35;
}
.upapi-params-table-check[data-v-6f7f7e57] {
  text-align: center;
}
.upapi-error[data-v-6f7f7e57] {
  color: #b91c1c;
  margin-bottom: 12px;
}

.upapi-disclosure-wrap[data-v-e44b2492] {
  max-width: 960px;
  margin: 0 auto;
  padding: 12px 12px 32px;
}
.customer-review-settings-section-title[data-v-e44b2492] {
  margin: 18px 0 10px;
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
}
.customer-review-settings-hint[data-v-e44b2492] {
  margin: 0 0 10px;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.4;
}
.upapi-table-scroll[data-v-e44b2492] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
.upapi-params-table[data-v-e44b2492] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.upapi-params-table tbody td[data-v-e44b2492] {
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.upapi-params-table tbody tr:last-child td[data-v-e44b2492] {
  border-bottom: none;
}
.upapi-params-table-label[data-v-e44b2492] {
  color: #334155;
  line-height: 1.35;
  width: 46%;
}
.upapi-params-table-check[data-v-e44b2492] {
  text-align: left;
}
.upapi-params-table-field[data-v-e44b2492] {
  text-align: left;
}
.upapi-select[data-v-e44b2492] {
  min-width: 220px;
  max-width: 100%;
  padding: 6px 10px;
  font-size: 0.88rem;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  background: #fff;
}
.upapi-select[data-v-e44b2492]:disabled {
  opacity: 0.75;
  cursor: not-allowed;
}
.upapi-number[data-v-e44b2492] {
  width: 88px;
  padding: 6px 10px;
  font-size: 0.88rem;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
}
.upapi-error[data-v-e44b2492] {
  color: #b91c1c;
  margin-bottom: 12px;
}

/* Nagłówek: wyśrodkowany tytuł (na logowaniu nie ma akcji w pasku — ukrywamy pusty rząd) */
.client-portal-login[data-v-d06aaf78] .gabito-common-top-header .gabito-common-title-with-select {
  display: block;
  margin-left: 0;
  text-align: center;
}
.client-portal-login[data-v-d06aaf78] .gabito-common-title-heading-group {
  display: block;
}
.client-portal-login[data-v-d06aaf78] .gabito-common-title-heading-group h2 {
  text-align: center;
}
.client-portal-login[data-v-d06aaf78] .gabito-common-title-row-3 {
  display: none;
}
.client-portal-login__card[data-v-d06aaf78] {
  max-width: 420px;
  margin: 24px auto;
  padding: 20px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}
.cp-label[data-v-d06aaf78] {
  display: block;
  font-weight: 600;
  margin: 12px 0 6px;
  color: #0f172a;
}
.cp-input[data-v-d06aaf78] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 14px;
  box-sizing: border-box;
}
.cp-hint[data-v-d06aaf78],
.cp-error[data-v-d06aaf78] {
  margin: 6px 0 0;
  font-size: 13px;
}
.cp-hint[data-v-d06aaf78] {
  color: #64748b;
}
.cp-error[data-v-d06aaf78] {
  color: #b91c1c;
}
.cp-unit-dropdown[data-v-d06aaf78] {
  position: relative;
}
.cp-unit-dropdown__trigger[data-v-d06aaf78] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.cp-unit-dropdown__trigger[data-v-d06aaf78]:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}
.cp-unit-dropdown__list[data-v-d06aaf78] {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 280px;
  overflow-y: auto;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
}
.cp-unit-dropdown__option[data-v-d06aaf78] {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
  color: #0f172a;
  text-align: left;
  cursor: pointer;
}
.cp-unit-dropdown__option[data-v-d06aaf78]:last-child {
  border-bottom: 0;
}
.cp-unit-dropdown__option[data-v-d06aaf78]:hover,
.cp-unit-dropdown__option.is-selected[data-v-d06aaf78] {
  background: #eff6ff;
}
.cp-unit-dropdown__name[data-v-d06aaf78] {
  font-weight: 700;
}
.cp-unit-dropdown__detail[data-v-d06aaf78] {
  margin-top: 3px;
  color: #475569;
  font-size: 13px;
}
.client-portal-login__reset[data-v-d06aaf78] {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e2e8f0;
}
.cp-link-button[data-v-d06aaf78] {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  color: #0f766e;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
}

/* Globalny .gabito-common-add-btn-v1 wymusza 42×42 px — pełna szerokość i czytelny tekst */
.client-portal-login__form .client-portal-login__submit.gabito-common-add-btn-v1[data-v-d06aaf78] {
  margin-top: 18px;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
  justify-content: center !important;
  font-size: 16px !important;
  white-space: nowrap;
}
.cp-demo-login-btn[data-v-d06aaf78] {
  width: 100%;
  margin-top: 10px;
  border: none;
  border-radius: 8px;
  padding: 12px 16px;
  background: #0f766e;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.cp-demo-login-btn[data-v-d06aaf78]:hover:not(:disabled) {
  background: #115e59;
}
.cp-demo-login-btn[data-v-d06aaf78]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.cp-demo-language-wrapper[data-v-d06aaf78] {
  margin-top: 16px;
  padding: 12px;
  border: 1px solid #99f6e4;
  border-radius: 8px;
  background: #f0fdfa;
}
.cp-demo-language-title[data-v-d06aaf78] {
  margin: 0 0 10px;
  font-weight: 700;
  color: #0f766e;
}
.cp-demo-login-confirm[data-v-d06aaf78] {
  margin-top: 12px;
}
.cp-demo-cancel-btn[data-v-d06aaf78] {
  width: 100%;
  margin-top: 8px;
  border: none;
  border-radius: 8px;
  padding: 12px 16px;
  background: #64748b;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.cp-demo-cancel-btn[data-v-d06aaf78]:hover:not(:disabled) {
  background: #475569;
}
.cp-demo-cancel-btn[data-v-d06aaf78]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.client-portal-reset[data-v-d1ff5f8d] .gabito-common-top-header .gabito-common-title-with-select {
  display: block;
  margin-left: 0;
  text-align: center;
}
.client-portal-reset[data-v-d1ff5f8d] .gabito-common-title-heading-group {
  display: block;
}
.client-portal-reset[data-v-d1ff5f8d] .gabito-common-title-heading-group h2 {
  text-align: center;
}
.client-portal-reset[data-v-d1ff5f8d] .gabito-common-title-row-3 {
  display: none;
}
.client-portal-reset__card[data-v-d1ff5f8d] {
  max-width: 420px;
  margin: 24px auto;
  padding: 20px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}
.cp-label[data-v-d1ff5f8d] {
  display: block;
  font-weight: 600;
  margin: 12px 0 6px;
  color: #0f172a;
}
.cp-input[data-v-d1ff5f8d] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 14px;
  box-sizing: border-box;
}
.cp-hint[data-v-d1ff5f8d],
.cp-error[data-v-d1ff5f8d] {
  margin: 6px 0 0;
  font-size: 13px;
}
.cp-hint[data-v-d1ff5f8d] {
  color: #64748b;
}
.cp-success[data-v-d1ff5f8d] {
  margin: 8px 0 0;
  color: #166534;
  font-size: 13px;
}
.cp-error[data-v-d1ff5f8d] {
  color: #b91c1c;
}
.cp-reset-channel[data-v-d1ff5f8d] {
  display: flex;
  gap: 8px;
  margin: 12px 0 4px;
}
.cp-reset-channel__button[data-v-d1ff5f8d] {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-weight: 700;
  cursor: pointer;
}
.cp-reset-channel__button[data-v-d1ff5f8d]:hover {
  border-color: #0f766e;
  background: #f0fdfa;
}
.cp-reset-channel__button.is-active[data-v-d1ff5f8d] {
  border-color: #0f766e;
  background: #0f766e;
  color: #fff;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.14);
}
.cp-secondary-button[data-v-d1ff5f8d] {
  width: 100%;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #0f766e;
  border-radius: 8px;
  background: #f0fdfa;
  color: #0f766e;
  font-weight: 700;
  cursor: pointer;
}
.cp-secondary-button[data-v-d1ff5f8d]:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}
.client-portal-reset__submit.gabito-common-add-btn-v1[data-v-d1ff5f8d] {
  margin-top: 18px;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
  justify-content: center !important;
  font-size: 16px !important;
  white-space: nowrap;
}
.cp-back-link[data-v-d1ff5f8d] {
  display: block;
  margin-top: 14px;
  color: #0f766e;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.cp-sidebar-inner[data-v-b11ae4c8] {
  padding: 16px 12px 24px;
  height: 100%;
  background: #f0fdfa;
}
.cp-sidebar-header h2[data-v-b11ae4c8] {
  margin: 0 0 14px;
  font-size: 1.15rem;
  color: #115e59;
}
.cp-sidebar-ul[data-v-b11ae4c8] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.cp-sidebar-empty[data-v-b11ae4c8] {
  color: #64748b;
  font-style: italic;
}
.gabito-sidebar-sub-menu-item[data-v-b11ae4c8] {
  position: relative;
  border-radius: 4px;
  margin-bottom: 1px;
}
.gabito-sidebar-sub-menu-toggle[data-v-b11ae4c8],
.gabito-sidebar-sub-menu-link[data-v-b11ae4c8] {
  display: flex;
  align-items: center;
  padding: 8px 8px;
  border-radius: 4px;
  text-decoration: none;
  color: #333;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  font-size: 0.95em;
  background: transparent;
}
.gabito-sidebar-sub-menu-toggle[data-v-b11ae4c8]:hover,
.gabito-sidebar-sub-menu-link[data-v-b11ae4c8]:hover {
  background: rgba(15, 23, 42, 0.06);
}
.gabito-sidebar-sub-menu-toggle[data-v-b11ae4c8] {
  justify-content: space-between;
  border: none;
  font-weight: 500;
  font-family: inherit;
}
.gabito-sidebar-sub-menu-link.active[data-v-b11ae4c8] {
  outline: 2px solid #0d9488;
  font-weight: 600;
}
.gabito-sidebar-sub-toggle-icon[data-v-b11ae4c8] {
  margin-left: 8px;
  font-size: 0.75em;
}
.gabito-sidebar-sub-submenu[data-v-b11ae4c8] {
  list-style: none;
  padding: 4px 0 4px 10px;
  margin: 0;
}
.gabito-sidebar-sub-no-uri[data-v-b11ae4c8] {
  display: flex;
  align-items: center;
  padding: 8px;
  color: #94a3b8;
  font-size: 0.9em;
}
.cp-submenu-icon[data-v-b11ae4c8] {
  margin-right: 8px;
  width: 1.1em;
  text-align: center;
  flex-shrink: 0;
}
.cp-submenu-label[data-v-b11ae4c8] {
  flex: 1;
  text-align: left;
}

.cp-app[data-v-4aaec84f] {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #f8fafc;
}
.cp-header[data-v-4aaec84f] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: linear-gradient(90deg, #0f766e 0%, #0d9488 55%, #14b8a6 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(15, 118, 110, 0.35);
}
.cp-header-content[data-v-4aaec84f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  max-width: 100%;
}
.cp-header-left[data-v-4aaec84f] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.cp-toggle-sidebar[data-v-4aaec84f] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  border-radius: 8px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.cp-toggle-sidebar i[data-v-4aaec84f] {
  display: block;
  line-height: 1;
}
.cp-toggle-sidebar[data-v-4aaec84f]:hover {
  background: rgba(255, 255, 255, 0.28);
}
.cp-brand[data-v-4aaec84f] {
  margin: 0;
  font-size: 1.35rem;
  white-space: nowrap;
}
.cp-portal-badge[data-v-4aaec84f] {
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.2);
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}
@media (max-width: 719px) {
.cp-portal-badge[data-v-4aaec84f] {
    display: none;
}
}
.cp-header-right[data-v-4aaec84f] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.cp-user-info[data-v-4aaec84f] {
  display: none;
}
@media (min-width: 720px) {
.cp-user-info[data-v-4aaec84f] {
    display: block;
    font-size: 0.92rem;
    opacity: 0.95;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
}
.cp-header-actions[data-v-4aaec84f] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cp-icon-btn[data-v-4aaec84f] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}
.cp-icon-btn[data-v-4aaec84f] i {
  line-height: 1;
}
.cp-icon-btn[data-v-4aaec84f]:hover {
  background: rgba(255, 255, 255, 0.22);
}
.cp-bell-wrap[data-v-4aaec84f] {
  position: relative;
  display: inline-flex;
}
.cp-bell-badge[data-v-4aaec84f] {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #f97316;
  border: 2px solid rgba(15, 118, 110, 0.95);
  box-sizing: border-box;
}
.cp-notif-hint[data-v-4aaec84f] {
  margin: 0 0 12px;
  font-size: 0.85rem;
  color: #64748b;
}
.cp-notif-list[data-v-4aaec84f] {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: min(60vh, 420px);
  overflow-y: auto;
}
.cp-notif-item[data-v-4aaec84f] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  width: 100%;
  text-align: left;
  padding: 12px 10px;
  margin: 0;
  border: none;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
  cursor: pointer;
  font: inherit;
  color: #0f172a;
}
.cp-notif-item[data-v-4aaec84f]:hover {
  background: #f8fafc;
}
.cp-notif-item--unread[data-v-4aaec84f] {
  border-left: 3px solid #0d9488;
  padding-left: 7px;
}
.cp-notif-item-title[data-v-4aaec84f] {
  font-weight: 600;
  font-size: 0.95rem;
}
.cp-notif-item-body[data-v-4aaec84f] {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.4;
}
.cp-notif-item-meta[data-v-4aaec84f] {
  font-size: 0.78rem;
  color: #94a3b8;
}
.cp-logout-btn[data-v-4aaec84f] {
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-weight: 600;
  cursor: pointer;
  background: #fef3c7;
  color: #92400e;
}
.cp-logout-btn[data-v-4aaec84f]:hover {
  background: #fde68a;
}
.cp-header-error[data-v-4aaec84f] {
  margin: 0;
  padding: 6px 16px 10px;
  font-size: 0.88rem;
  background: rgba(127, 29, 29, 0.25);
}
.cp-main-layout[data-v-4aaec84f] {
  display: flex;
  flex: 1;
  margin-top: 56px;
  min-height: calc(100vh - 56px);
  position: relative;
  width: 100%;
}
.cp-sidebar[data-v-4aaec84f] {
  position: fixed;
  top: 56px;
  bottom: 0;
  left: 0;
  width: min(50vw, 360px);
  max-width: 100%;
  background: #f0fdfa;
  z-index: 999;
  overflow-y: auto;
  box-shadow: 2px 0 10px rgba(15, 118, 110, 0.12);
  transform: translateX(0);
  transition: transform 0.28s ease;
}
.cp-sidebar.cp-sidebar-hidden[data-v-4aaec84f] {
  transform: translateX(-100%);
}
.cp-main-content[data-v-4aaec84f] {
  flex: 1;
  width: 100%;
  min-height: 0;
  padding: 12px 14px 32px;
  box-sizing: border-box;
}
.cp-sidebar-backdrop[data-v-4aaec84f] {
  position: fixed;
  inset: 56px 0 0 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: 998;
  cursor: pointer;
}
.cp-profile-body[data-v-4aaec84f] {
  font-size: 0.95rem;
  color: #334155;
  padding-top: 4px;
  /* Miejsce na listę SearchableSelect (position absolute) wewnątrz przewijanej treści modala */
  padding-bottom: min(280px, 40vh);
  box-sizing: border-box;
}
.cp-profile-body p[data-v-4aaec84f] {
  margin: 0 0 10px;
}
.cp-profile-lang[data-v-4aaec84f] {
  margin-top: 8px;
}
.cp-profile-lang[data-v-4aaec84f] .form-group {
  margin-bottom: 0;
}
.cp-profile-lang-error[data-v-4aaec84f] {
  margin: 8px 0 0;
  font-size: 0.85rem;
  color: #b91c1c;
}
.cp-profile-actions[data-v-4aaec84f] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e2e8f0;
}
.cp-profile-password[data-v-4aaec84f] {
  margin-top: 0;
}
.cp-profile-password h3[data-v-4aaec84f] {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 1rem;
}
.cp-profile-password-hint[data-v-4aaec84f] {
  color: #64748b;
  font-size: 0.85rem;
}
.cp-profile-password-label[data-v-4aaec84f] {
  display: block;
  margin: 10px 0 5px;
  color: #0f172a;
  font-weight: 600;
}
.cp-profile-password-input[data-v-4aaec84f] {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-sizing: border-box;
}
.cp-profile-secondary-btn[data-v-4aaec84f],
.cp-profile-primary-btn[data-v-4aaec84f] {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
}
.cp-profile-secondary-btn[data-v-4aaec84f] {
  border: 1px solid #0f766e;
  background: #f0fdfa;
  color: #0f766e;
}
.cp-profile-primary-btn[data-v-4aaec84f] {
  margin-top: 12px;
  border: 0;
  background: #0f766e;
  color: #fff;
}
.cp-profile-secondary-btn[data-v-4aaec84f]:disabled,
.cp-profile-primary-btn[data-v-4aaec84f]:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}
.cp-profile-password-success[data-v-4aaec84f],
.cp-profile-password-error[data-v-4aaec84f] {
  margin: 8px 0 0;
  font-size: 0.85rem;
}
.cp-profile-password-success[data-v-4aaec84f] {
  color: #166534;
}
.cp-profile-password-error[data-v-4aaec84f] {
  color: #b91c1c;
}
.cp-profile-avatar-wrap[data-v-4aaec84f] {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}
.cp-profile-avatar[data-v-4aaec84f] {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}
.cp-profile-avatar--placeholder[data-v-4aaec84f] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f5f9;
  color: #94a3b8;
  font-size: 2.25rem;
}
.cp-modal-backdrop[data-v-4aaec84f] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.5);
  z-index: 1100;
}
.cp-modal[data-v-4aaec84f] {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1101;
  background: #fff;
  border-radius: 12px;
  min-width: min(92vw, 400px);
  max-width: 96vw;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
  border: 1px solid #e2e8f0;
}
.cp-modal-head[data-v-4aaec84f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid #e2e8f0;
}
.cp-modal-head h2[data-v-4aaec84f] {
  margin: 0;
  font-size: 1.1rem;
  color: #0f172a;
}
.cp-modal-close[data-v-4aaec84f] {
  border: none;
  background: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: #64748b;
}
.cp-modal-body[data-v-4aaec84f] {
  padding: 16px;
  font-size: 0.95rem;
  color: #334155;
}
.cp-modal-body p[data-v-4aaec84f] {
  margin: 0 0 10px;
}
.cp-muted[data-v-4aaec84f] {
  color: #64748b;
  margin: 0;
}

.cp-dash[data-v-7d122de7] {
  max-width: 960px;
}
.cp-dash__welcome[data-v-7d122de7] {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 20px 22px;
  margin-bottom: 18px;
  border-left: 4px solid #0d9488;
}
.cp-dash__h[data-v-7d122de7] {
  margin: 0 0 10px;
  font-size: 1.25rem;
  color: #0f172a;
}
.cp-dash__p[data-v-7d122de7] {
  margin: 0;
  color: #475569;
  line-height: 1.5;
}
.cp-dash__contact[data-v-7d122de7] {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 18px;
  border-left: 4px solid #0d6efd;
}
.cp-dash__contact-title[data-v-7d122de7] {
  margin: 0 0 14px;
  font-size: 1.05rem;
  color: #0f172a;
  font-weight: 600;
}
.cp-dash__contact-dl[data-v-7d122de7] {
  margin: 0;
}
.cp-dash__contact-row[data-v-7d122de7] {
  display: grid;
  grid-template-columns: minmax(100px, 130px) 1fr;
  gap: 8px 16px;
  padding: 8px 0;
  border-bottom: 1px solid #f1f5f9;
}
.cp-dash__contact-row[data-v-7d122de7]:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.cp-dash__contact-row[data-v-7d122de7]:first-of-type {
  padding-top: 0;
}
.cp-dash__contact-row dt[data-v-7d122de7] {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.cp-dash__contact-row dd[data-v-7d122de7] {
  margin: 0;
  font-size: 0.95rem;
  color: #0f172a;
  line-height: 1.45;
  word-break: break-word;
}
.cp-dash__contact-link[data-v-7d122de7] {
  color: #0d6efd;
  text-decoration: none;
}
.cp-dash__contact-link[data-v-7d122de7]:hover {
  text-decoration: underline;
}
.cp-dash__stats[data-v-7d122de7] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.cp-dash__stat[data-v-7d122de7] {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  min-width: 150px;
  flex: 1 1 140px;
}
.cp-dash__stat-label[data-v-7d122de7] {
  display: block;
  font-size: 0.78rem;
  color: #64748b;
  margin-bottom: 4px;
}
.cp-dash__stat-value[data-v-7d122de7] {
  font-weight: 700;
  font-size: 1.1rem;
  color: #0f766e;
}
.loading-state[data-v-7d122de7] {
  color: #64748b;
  padding: 20px 0;
}

.cp-channel__toolbar[data-v-b08e2b01] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.cp-channel__title[data-v-b08e2b01] {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
}
.cp-channel__err[data-v-b08e2b01] {
  color: #b91c1c;
  font-size: 0.9rem;
  margin: 0 0 8px;
}
.cp-channel__muted[data-v-b08e2b01] {
  color: #64748b;
  margin: 12px 0;
}
.cp-channel__welcome[data-v-b08e2b01] {
  padding: 12px 0;
  color: #334155;
}
.cp-channel-search[data-v-b08e2b01] {
  margin-bottom: 14px;
}
.cp-summary[data-v-b08e2b01] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.cp-summary__tile[data-v-b08e2b01] {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  min-width: 140px;
}
.cp-summary__label[data-v-b08e2b01] {
  display: block;
  font-size: 0.78rem;
  color: #64748b;
  margin-bottom: 4px;
}
.cp-summary__value[data-v-b08e2b01] {
  font-weight: 700;
  font-size: 1.1rem;
  color: #0f172a;
}
.cp-table-wrap[data-v-b08e2b01] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
}
.cp-table[data-v-b08e2b01] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.cp-table th[data-v-b08e2b01],
.cp-table td[data-v-b08e2b01] {
  border-bottom: 1px solid #e2e8f0;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
.cp-table th[data-v-b08e2b01] {
  background: #f1f5f9;
  font-weight: 600;
  color: #334155;
}
.cp-table__text[data-v-b08e2b01] {
  max-width: 360px;
  white-space: pre-wrap;
}
.cp-channel-cards[data-v-b08e2b01] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.cp-appointments-cards-wrap[data-v-b08e2b01] {
  display: block;
}
.cp-channel-confirm-err[data-v-b08e2b01] {
  color: #b91c1c;
  font-size: 0.9rem;
  margin: 0 0 12px;
}
.cp-channel-card-row--date[data-v-b08e2b01] {
  color: #334155;
  font-size: 0.92rem;
}
.cp-channel-card-row--timeonly[data-v-b08e2b01] {
  font-weight: 400;
  color: #0f172a;
}
.cp-appt-time-range[data-v-b08e2b01] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2em 0.45em;
}
.cp-appt-time-range strong[data-v-b08e2b01] {
  font-weight: 700;
}
.cp-channel-card-actions[data-v-b08e2b01] {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
}
.cp-appt-confirm-btn[data-v-b08e2b01] {
  width: 100%;
  min-height: 40px;
  font-size: 0.92rem;
}
.cp-voucher-card-title[data-v-b08e2b01] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2em;
  line-height: 1.25;
}
.cp-voucher-card-title__name[data-v-b08e2b01] {
  display: block;
}
.cp-voucher-card-title__code[data-v-b08e2b01] {
  display: block;
  font-size: 0.88em;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #475569;
  word-break: break-all;
}
.cp-rodo-preview-section[data-v-b08e2b01] {
  max-width: 520px;
}
.cp-sales-preview-section[data-v-b08e2b01] {
  max-width: 520px;
}
.cp-report-open-btn[data-v-b08e2b01] {
  padding: 0.3rem 0.65rem;
  border: 1px solid #0d6efd;
  border-radius: 6px;
  background: #fff;
  color: #0d6efd;
  font-weight: 600;
  cursor: pointer;
}
.cp-report-open-btn[data-v-b08e2b01]:hover {
  background: #e7f1ff;
}
.cp-report-overview[data-v-b08e2b01] {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #334155;
}
.cp-report-sources[data-v-b08e2b01] {
  margin: 1rem 0;
  padding: 1rem;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.cp-report-sources h4[data-v-b08e2b01] {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  color: #0f172a;
}
.cp-report-sources-lead[data-v-b08e2b01] {
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.4;
}
.cp-report-sources-list[data-v-b08e2b01] {
  margin: 0;
  padding-left: 1.25rem;
}
.cp-report-sources-list li[data-v-b08e2b01] {
  margin-bottom: 0.35rem;
}
.cp-report-source-link[data-v-b08e2b01] {
  color: #0d6efd;
}
.cp-report-body[data-v-b08e2b01] {
  margin-top: 1rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  color: #1e293b;
  line-height: 1.6;
}
.cp-report-body[data-v-b08e2b01] h3 {
  margin: 1.2rem 0 0.55rem;
  font-size: 1.08rem;
  color: #0f172a;
}
.cp-report-body[data-v-b08e2b01] h3:first-child {
  margin-top: 0;
}
.cp-report-body[data-v-b08e2b01] p {
  margin: 0.55rem 0;
}
.cp-report-body[data-v-b08e2b01] ul {
  margin: 0.4rem 0 0.8rem;
  padding-left: 1.35rem;
}
.cp-report-body[data-v-b08e2b01] li {
  margin: 0.28rem 0;
}
.cp-rodo-preview-photo-wrap[data-v-b08e2b01] {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e2e8f0;
}
.cp-rodo-preview-photo-caption[data-v-b08e2b01] {
  margin: 0 0 10px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #334155;
}
.cp-rodo-preview-photo-link[data-v-b08e2b01] {
  display: inline-block;
  max-width: 100%;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}
.cp-rodo-preview-photo[data-v-b08e2b01] {
  display: block;
  max-width: min(100%, 280px);
  max-height: 200px;
  width: auto;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
}
.customer-reviews-list-view-settings-label[data-v-b08e2b01] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.cp-therapy-excerpt[data-v-b08e2b01] {
  margin: 0 0 12px;
  font-size: 0.92rem;
  line-height: 1.45;
  color: #334155;
  white-space: pre-wrap;
  word-break: break-word;
}
.cp-therapy-excerpt--empty[data-v-b08e2b01] {
  font-style: italic;
}
.cp-therapy-modal-body[data-v-b08e2b01] {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #1e293b;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: min(60vh, 480px);
  overflow-y: auto;
}

.cprv[data-v-b5a36e25] {
  min-height: 100%;
}
.cprv-search-wrap[data-v-b5a36e25] {
  margin: 12px 0 16px;
  max-width: 520px;
}
.cprv-table-wrap[data-v-b5a36e25] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
.cprv-table[data-v-b5a36e25] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.cprv-table th[data-v-b5a36e25],
.cprv-table td[data-v-b5a36e25] {
  border-bottom: 1px solid #e2e8f0;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
.cprv-table th[data-v-b5a36e25] {
  background: #f1f5f9;
  font-weight: 600;
  color: #334155;
}
.cprv-col-snippet[data-v-b5a36e25] {
  max-width: 280px;
  white-space: pre-wrap;
}
.cprv-col-actions[data-v-b5a36e25] {
  white-space: nowrap;
  width: 1%;
}
.cprv-cards[data-v-b5a36e25] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.cprv-row[data-v-b5a36e25] {
  margin-bottom: 6px;
  font-size: 0.9rem;
  color: #334155;
}
.cprv-snippet[data-v-b5a36e25] {
  white-space: pre-wrap;
}
.cprv-badge[data-v-b5a36e25] {
  display: inline-block;
  background: #dbeafe;
  color: #1e40af;
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 6px;
  font-weight: 600;
}
.loading-state[data-v-b5a36e25],
.empty-state[data-v-b5a36e25] {
  color: #64748b;
  padding: 16px 0;
}
.customer-reviews-list-view-settings-label[data-v-b5a36e25] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.customer-reviews-list-view-settings-hint[data-v-b5a36e25] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.cprv-preview-body p[data-v-b5a36e25] {
  margin: 0 0 8px;
}
.cprv-edit-lead[data-v-b5a36e25] {
  color: #334155;
  line-height: 1.5;
  margin: 0 0 12px;
  font-size: 0.95rem;
}
.cprv-pub-stars[data-v-b5a36e25] {
  display: flex;
  gap: 8px;
  margin: 12px 0 16px;
}
.cprv-pub-stars--small[data-v-b5a36e25] {
  margin: 8px 0 12px;
}
.cprv-pub-star[data-v-b5a36e25] {
  font-size: 2rem;
  line-height: 1;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #cbd5e1;
  padding: 0;
}
.cprv-pub-star.active[data-v-b5a36e25] {
  color: #f59e0b;
}
.cprv-pub-lbl[data-v-b5a36e25] {
  display: block;
  font-weight: 600;
  margin-top: 8px;
  color: #334155;
}
.cprv-pub-extra[data-v-b5a36e25] {
  margin-bottom: 4px;
}
.cprv-pub-ta[data-v-b5a36e25] {
  width: 100%;
  max-width: 520px;
  margin-top: 6px;
  margin-bottom: 8px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  padding: 10px;
  font: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.cprv-pre[data-v-b5a36e25] {
  white-space: pre-wrap;
  font-family: inherit;
  background: #f8fafc;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  max-height: 240px;
  overflow: auto;
}
.cprv-warn[data-v-b5a36e25] {
  color: #b45309;
  font-weight: 600;
}

.cprv-compat[data-v-c66b5b3c] {
  min-height: 100%;
}
.cprv-muted[data-v-c66b5b3c] {
  color: #64748b;
  font-size: 0.9rem;
  margin: 0 0 12px;
}
.cprv-search-wrap[data-v-c66b5b3c] {
  margin: 12px 0 16px;
  max-width: 520px;
}
.cprv-table-wrap[data-v-c66b5b3c] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
.cprv-table[data-v-c66b5b3c] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.cprv-table th[data-v-c66b5b3c],
.cprv-table td[data-v-c66b5b3c] {
  border-bottom: 1px solid #e2e8f0;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
.cprv-table th[data-v-c66b5b3c] {
  background: #f1f5f9;
  font-weight: 600;
  color: #334155;
}
.cprv-col-snippet[data-v-c66b5b3c] {
  max-width: 520px;
  white-space: pre-wrap;
  word-break: break-word;
}
.cprv-cards[data-v-c66b5b3c] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.cprv-row[data-v-c66b5b3c] {
  margin-bottom: 6px;
  font-size: 0.9rem;
  color: #334155;
}
.cprv-snippet[data-v-c66b5b3c] {
  white-space: pre-wrap;
  word-break: break-word;
}
.loading-state[data-v-c66b5b3c],
.empty-state[data-v-c66b5b3c] {
  color: #64748b;
  padding: 16px 0;
}
.cpl-list-view-settings-label[data-v-c66b5b3c] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.cpl-list-view-settings-hint[data-v-c66b5b3c] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.cprv-pager[data-v-c66b5b3c] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}
.cprv-btn[data-v-c66b5b3c] {
  border: 1px solid #cbd5e1;
  background: #fff;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  color: #0f172a;
}
.cprv-btn[data-v-c66b5b3c]:hover:not(:disabled) {
  background: #f1f5f9;
}
.cprv-btn[data-v-c66b5b3c]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.cprv-pager-meta[data-v-c66b5b3c] {
  font-size: 0.92rem;
  color: #64748b;
}

.cprv-compat[data-v-f6858691] {
  min-height: 100%;
}
.cprv-muted[data-v-f6858691] {
  color: #64748b;
  font-size: 0.9rem;
  margin: 0 0 12px;
}
.cprv-search-wrap[data-v-f6858691] {
  margin: 12px 0 16px;
  max-width: 520px;
}
.cprv-table-wrap[data-v-f6858691] {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
.cprv-table[data-v-f6858691] {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.cprv-table th[data-v-f6858691],
.cprv-table td[data-v-f6858691] {
  border-bottom: 1px solid #e2e8f0;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
.cprv-table th[data-v-f6858691] {
  background: #f1f5f9;
  font-weight: 600;
  color: #334155;
}
.cprv-col-snippet[data-v-f6858691] {
  max-width: 420px;
  color: #475569;
  word-break: break-word;
}
.cprv-cards[data-v-f6858691] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.cprv-row[data-v-f6858691] {
  margin-bottom: 6px;
  font-size: 0.9rem;
  color: #334155;
}
.cprv-snippet[data-v-f6858691] {
  white-space: pre-wrap;
  word-break: break-word;
}
.cpm-status[data-v-f6858691] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
}
.cpm-status--inline[data-v-f6858691] {
  margin-left: 6px;
  vertical-align: middle;
}
.cpm-status--ok[data-v-f6858691] {
  background: #dcfce7;
  color: #166534;
}
.cpm-status--pending[data-v-f6858691] {
  background: #fef9c3;
  color: #854d0e;
}
.cpm-status--err[data-v-f6858691] {
  background: #fee2e2;
  color: #991b1b;
}
.cpm-status--neutral[data-v-f6858691] {
  background: #f1f5f9;
  color: #475569;
}
.loading-state[data-v-f6858691],
.empty-state[data-v-f6858691] {
  color: #64748b;
  padding: 16px 0;
}
.cpl-list-view-settings-label[data-v-f6858691] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.cpl-list-view-settings-hint[data-v-f6858691] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.cprv-pager[data-v-f6858691] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}
.cprv-btn[data-v-f6858691] {
  border: 1px solid #cbd5e1;
  background: #fff;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  color: #0f172a;
}
.cprv-btn[data-v-f6858691]:hover:not(:disabled) {
  background: #f1f5f9;
}
.cprv-btn[data-v-f6858691]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.cprv-pager-meta[data-v-f6858691] {
  font-size: 0.92rem;
  color: #64748b;
}

.scpaf-unit-filter[data-v-ca7c2387] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.9rem;
  color: #334155;
}
.scpaf-unit-select[data-v-ca7c2387] {
  max-width: 320px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
}
.scpa-admin-modal-units .scpaf-unit-select[data-v-ca7c2387] {
  max-width: 100%;
}
.scpa-admin-modal-units[data-v-ca7c2387] {
  width: 100%;
  max-height: none;
  overflow: visible;
}
.scpa-admin-modal-units[data-v-ca7c2387] .form-group {
  width: 100%;
}
.loading-state[data-v-ca7c2387],
.empty-state[data-v-ca7c2387] {
  padding: 16px 0;
  color: #64748b;
}
.empty-state p[data-v-ca7c2387] {
  margin: 0 0 14px;
}
.scpa-create-account-card[data-v-ca7c2387] {
  display: grid;
  gap: 14px;
  max-width: 720px;
  padding: 18px;
  border: 1px solid #bfdbfe;
  border-radius: 12px;
  background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
  color: #1e293b;
  box-shadow: 0 8px 20px rgba(30, 64, 175, 0.08);
}
.scpa-create-account-copy[data-v-ca7c2387] {
  display: grid;
  gap: 4px;
}
.scpa-create-account-copy strong[data-v-ca7c2387] {
  color: #1e40af;
  font-size: 1.05rem;
}
.scpa-create-account-data[data-v-ca7c2387] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  font-size: 0.9rem;
}
.scpa-create-account-warning[data-v-ca7c2387] {
  padding: 10px 12px;
  border: 1px solid #facc15;
  border-radius: 8px;
  background: #fef9c3;
  color: #854d0e;
  font-weight: 600;
}
.scpa-create-account-options[data-v-ca7c2387],
.scpa-create-account-actions[data-v-ca7c2387] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.scpa-create-account-options label[data-v-ca7c2387] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-weight: 600;
}
.scpa-create-account-primary[data-v-ca7c2387],
.scpa-create-account-secondary[data-v-ca7c2387] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  padding: 9px 14px;
  font-weight: 700;
  cursor: pointer;
}
.scpa-create-account-primary[data-v-ca7c2387] {
  border: 1px solid #2563eb;
  background: #2563eb;
  color: #fff;
}
.scpa-create-account-primary[data-v-ca7c2387]:hover:not(:disabled) {
  background: #1d4ed8;
}
.scpa-create-account-primary[data-v-ca7c2387]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.scpa-create-account-secondary[data-v-ca7c2387] {
  border: 1px solid #93c5fd;
  background: #fff;
  color: #1d4ed8;
}
.scpa-create-account-secondary[data-v-ca7c2387]:hover {
  background: #dbeafe;
}
.scpa-client-filter-banner[data-v-ca7c2387] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
  font-size: 0.9rem;
}
.scpa-client-filter-banner i[data-v-ca7c2387] {
  margin-right: 6px;
}
.scpa-portal-url-banner[data-v-ca7c2387] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  color: #334155;
  font-size: 0.9rem;
}
.scpa-portal-url-banner i[data-v-ca7c2387] {
  margin-right: 6px;
}
.scpa-portal-url-banner a[data-v-ca7c2387] {
  color: #1d4ed8;
  font-weight: 700;
  word-break: break-all;
}
.scpa-success-message[data-v-ca7c2387] {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #dcfce7;
  border: 1px solid #86efac;
  color: #166534;
  font-weight: 600;
}
.scpa-client-filter-clear[data-v-ca7c2387] {
  border: 1px solid #93c5fd;
  border-radius: 6px;
  padding: 6px 12px;
  background: #fff;
  color: #1d4ed8;
  font-size: 0.85rem;
  cursor: pointer;
}
.scpa-client-filter-clear[data-v-ca7c2387]:hover {
  background: #dbeafe;
}
.scpa-th-photo[data-v-ca7c2387] {
  width: 48px;
  padding-left: 8px;
  padding-right: 4px;
}
.scpa-td-photo[data-v-ca7c2387] {
  width: 48px;
  vertical-align: middle;
  padding: 6px 4px 6px 8px;
}
.scpa-table-avatar[data-v-ca7c2387] {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid #e2e8f0;
}
.scpa-card-photo-wrap[data-v-ca7c2387] {
  display: flex;
  justify-content: center;
  margin: 0 0 14px;
}
.scpa-card-photo[data-v-ca7c2387] {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid #e2e8f0;
}
.client-view-settings-label[data-v-ca7c2387] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.client-view-settings-hint[data-v-ca7c2387] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}
.scpa-accounts-grid[data-v-ca7c2387] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.scpa-card-title-link[data-v-ca7c2387] {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: #0d6efd;
  text-align: left;
  cursor: pointer;
  text-decoration: underline;
}
.scpa-card-title-link[data-v-ca7c2387]:hover {
  color: #0a58ca;
}
.scpa-card-fields[data-v-ca7c2387] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.9rem;
}
.scpa-card-field[data-v-ca7c2387] {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.scpa-card-field-label[data-v-ca7c2387] {
  flex-shrink: 0;
  font-weight: 700;
  color: #334155;
}
.scpa-card-field-value[data-v-ca7c2387] {
  color: #1e293b;
  word-break: break-word;
  text-align: right;
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
.scpa-accounts-grid[data-v-ca7c2387] {
    grid-template-columns: 1fr;
    gap: 12px;
}
}
.scpa-portal-preview-body[data-v-ca7c2387] {
  max-width: 960px;
  margin: 0 auto;
  padding: 8px 4px 16px;
}
.scpa-portal-preview-body[data-v-ca7c2387] .card-like {
  margin-top: 0;
  max-width: none;
}
/* src/modules/Sales/components/SaleList.css */
.sales-grid[data-v-37371b3d] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.loading-state[data-v-37371b3d], .empty-state[data-v-37371b3d] {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}
.pagination[data-v-37371b3d] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}
.date-range[data-v-37371b3d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.date-range input[data-v-37371b3d] {
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 0.9rem;
}
.sale-page-context-hint-btn[data-v-37371b3d] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #e7f3ff;
  color: #0d6efd;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 15px;
  transition: background 0.2s ease;
}
.sale-page-context-hint-btn[data-v-37371b3d]:hover:not(:disabled) {
  background: #cfe2ff;
}
.sale-page-context-hint-btn[data-v-37371b3d]:disabled {
  opacity: 0.55;
  cursor: default;
}
.sale-page-context-preview-inner[data-v-37371b3d] {
  max-width: 720px;
  margin: 0 auto;
}
.sale-page-context-preview-loading[data-v-37371b3d] {
  text-align: center;
  color: #555;
  padding: 24px;
  font-size: 1rem;
}
.sale-page-context-preview-description[data-v-37371b3d] {
  white-space: pre-wrap;
  line-height: 1.65;
  font-size: 1rem;
  color: #212529;
}
.gabito-common-filters-container.collapsed[data-v-37371b3d] { display: none;
}
.gabito-common-checkbox-filters-container[data-v-37371b3d] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.gabito-common-filter-label[data-v-37371b3d] { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f8f9fa; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
.filter-separator[data-v-37371b3d] { width: 1px; height: 28px; background: #ddd; margin: 0 4px;
}
.sale-info-row[data-v-37371b3d] { margin: 0 0 3px 0; line-height: 1.35; font-size: 0.92rem; color: #444;
}
.sale-info-row strong[data-v-37371b3d] { color: #222; font-weight: 600;
}
.voided-by-link[data-v-37371b3d] { color: #b91c1c; text-decoration: underline; cursor: pointer; font-weight: 600;
}
.voided-by-link[data-v-37371b3d]:hover { color: #7f1d1d;
}
.sale-view-settings-label[data-v-37371b3d] {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}
.sale-view-settings-hint[data-v-37371b3d] {
  margin: 12px 0 0;
  font-size: 0.85rem;
  color: #6c757d;
}

/* Style niezmienione – identyczne jak w oryginale */
.voucher-select-wrapper[data-v-4e694840] {
  position: relative;
  width: 100%;
  z-index: 10;
}
.voucher-input[data-v-4e694840] {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #80bdff;
  border-radius: 8px;
  font-size: 1rem;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.2s;
  min-height: 42px;
}
.voucher-input.open[data-v-4e694840] {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
}
.voucher-input .placeholder[data-v-4e694840] {
  color: #6c757d;
}
.voucher-input .selected-amount[data-v-4e694840] {
  color: #28a745;
  font-weight: 600;
  margin-left: 6px;
}
.voucher-dropdown[data-v-4e694840] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999999;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  max-height: 420px;
  overflow-y: auto;
  margin-top: 4px;
}
.search-box[data-v-4e694840] {
  padding: 12px;
  border-bottom: 1px solid #eee;
}
.search-input[data-v-4e694840] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}
.voucher-list[data-v-4e694840] {
  padding: 8px;
}
.voucher-tile[data-v-4e694840] {
  padding: 14px 16px;
  margin-bottom: 8px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
}
.voucher-tile[data-v-4e694840]:hover {
  background: #e8f4fd;
  border-color: #007bff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,123,255,0.15);
}
.tile-row[data-v-4e694840] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  margin-bottom: 4px;
}
.tile-row[data-v-4e694840]:last-child {
  margin-bottom: 0;
}
.code-row[data-v-4e694840] {
  font-size: 1.05rem;
  font-weight: 700;
  color: #222;
}
.badge[data-v-4e694840] {
  font-size: 0.7rem;
  padding: 2px 8px;
  background: #d4edda;
  color: #155724;
  border-radius: 12px;
  margin-left: auto;
}
.label[data-v-4e694840] {
  font-weight: 600;
  color: #495057;
  min-width: 85px;
}
.amount-row[data-v-4e694840] {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #dee2e6;
}
.amount-value[data-v-4e694840] {
  color: #28a745;
  font-size: 1.05rem;
  font-weight: 700;
}
.no-results[data-v-4e694840] {
  padding: 40px 20px;
  text-align: center;
  color: #888;
  font-style: italic;
}

.appointment-select-wrapper[data-v-a7a492d0] {
  position: relative;
  width: 100%;
  z-index: 10; /* Upewnij się, że wrapper ma kontekst stosu */
}
.appointment-input[data-v-a7a492d0] {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #80bdff;
  border-radius: 8px;
  font-size: 1rem;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.2s;
  min-height: 42px;
  flex-wrap: wrap;
  gap: 4px;
}
.appointment-input.open[data-v-a7a492d0] {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
}
.appointment-input .placeholder[data-v-a7a492d0] {
  color: #6c757d;
}
.appointment-input .appointment-date-inline[data-v-a7a492d0] {
  font-weight: 600;
  color: #2563eb;
  margin-right: 8px;
  white-space: nowrap;
}
.appointment-input .client-name-inline[data-v-a7a492d0] {
  font-weight: 600;
  color: #495057;
  margin-left: 8px;
}
.appointment-input .selected-price[data-v-a7a492d0] {
  color: #28a745;
  font-weight: 600;
  margin-left: 6px;
  white-space: nowrap;
}
.appointment-dropdown[data-v-a7a492d0] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999999; /* ZWIĘKSZONO Z 99999 na 9999999 aby pokryć wszystkie kafle koszyka */
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  max-height: 420px;
  overflow-y: auto;
  margin-top: 4px;
}
.search-box[data-v-a7a492d0] {
  padding: 12px;
  border-bottom: 1px solid #eee;
}
.search-input[data-v-a7a492d0] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}
.appointment-list[data-v-a7a492d0] {
  padding: 8px;
}
.appointment-tile[data-v-a7a492d0] {
  padding: 14px 16px;
  margin-bottom: 8px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
}
.appointment-tile[data-v-a7a492d0]:hover {
  background: #e8f4fd;
  border-color: #007bff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,123,255,0.15);
}
.tile-row[data-v-a7a492d0] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  margin-bottom: 4px;
}
.tile-row[data-v-a7a492d0]:last-child {
  margin-bottom: 0;
}
.time-client-row[data-v-a7a492d0] {
  font-size: 1.05rem;
  font-weight: 700;
  color: #222;
  flex-wrap: wrap;
}
.tile-date[data-v-a7a492d0] {
  font-size: 0.85rem;
  font-weight: 700;
  color: #2563eb;
  background: #eff6ff;
  padding: 2px 8px;
  border-radius: 6px;
  white-space: nowrap;
}
.client-badge[data-v-a7a492d0] {
  font-size: 0.85rem;
  font-weight: 600;
  color: #495057;
  background: #e9ecef;
  padding: 1px 8px;
  border-radius: 10px;
  margin-left: auto;
  white-space: nowrap;
}
.label[data-v-a7a492d0] {
  font-weight: 600;
  color: #495057;
  min-width: 70px;
}
.service-price-row[data-v-a7a492d0] {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #dee2e6;
}
.service-name[data-v-a7a492d0] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.price-value[data-v-a7a492d0] {
  color: #28a745;
  font-size: 1.05rem;
  font-weight: 700;
  margin-left: 12px;
  white-space: nowrap;
}
.no-results[data-v-a7a492d0] {
  padding: 40px 20px;
  text-align: center;
  color: #888;
  font-style: italic;
}

/* Style są identyczne jak w oryginalnym SaleForm.css – nie trzeba duplikować */
.add-item-card[data-v-731cf035] {
  background: #e8f4fd;
  border: 2px solid #007bff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.12);
  margin-bottom: 20px;
  transition: all 0.2s ease;
}
.add-item-card[data-v-731cf035]:hover {
  box-shadow: 0 8px 25px rgba(0, 123, 255, 0.18);
  transform: translateY(-2px);
}
.add-card-header[data-v-731cf035] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: linear-gradient(to right, #007bff, #0056b3);
  color: white;
}
.add-icon[data-v-731cf035] {
  font-size: 1.6rem;
  line-height: 1;
}
.add-title[data-v-731cf035] {
  font-weight: 700;
  font-size: 1.1rem;
}
.add-card-body[data-v-731cf035] {
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.add-card-body .field-group[data-v-731cf035] {
  margin-bottom: 0;
}
.add-card-body label[data-v-731cf035] {
  font-size: 0.85rem;
  font-weight: 600;
  color: #004085;
  margin-bottom: 6px;
  display: block;
}
.add-card-body .full-width[data-v-731cf035] {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #80bdff;
  border-radius: 8px;
  font-size: 1rem;
  background: #fff;
  transition: all 0.2s;
}
.add-card-body .full-width[data-v-731cf035]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
  outline: none;
}
.field-row.two-cols[data-v-731cf035] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.add-card-footer[data-v-731cf035] {
  padding: 14px 20px;
  background: #d4e9ff;
  border-top: 1px solid #80bdff;
  display: flex;
  justify-content: center;
}
.add-btn.full-width-btn[data-v-731cf035] {
  width: 100%;
  max-width: 340px;
  padding: 13px 28px;
  font-size: 1.08rem;
  font-weight: 700;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.add-btn.full-width-btn[data-v-731cf035]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.35);
}
.add-btn.full-width-btn[data-v-731cf035]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.template-select-wrapper[data-v-731cf035] {
  width: 100%;
}

/* Style identyczne jak w oryginalnym pliku — bez zmian */
.voucher-select-wrapper[data-v-0f79e359] {
  position: relative;
  width: 100%;
  z-index: 10;
  margin-top: 8px;
}
.voucher-input[data-v-0f79e359] {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #80bdff;
  border-radius: 6px;
  font-size: 0.95rem;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.2s;
  min-height: 38px;
}
.voucher-input.open[data-v-0f79e359] {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
}
.voucher-input .placeholder[data-v-0f79e359] {
  color: #6c757d;
  font-size: 0.9rem;
}
.selected-summary[data-v-0f79e359] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  font-size: 0.92rem;
  color: #222;
}
.selected-summary strong[data-v-0f79e359] {
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.selected-amount-inline[data-v-0f79e359] {
  color: #28a745;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.voucher-selected-preview[data-v-0f79e359] {
  margin-top: 10px;
}
.voucher-tile--static[data-v-0f79e359] {
  cursor: default;
  margin-bottom: 0;
  border-color: #b8daff;
  background: #f0f7ff;
}
.voucher-tile--static[data-v-0f79e359]:hover {
  background: #f0f7ff;
  border-color: #b8daff;
  transform: none;
  box-shadow: none;
}
.voucher-dropdown[data-v-0f79e359] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999999;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  max-height: 380px;
  overflow-y: auto;
  margin-top: 4px;
}
.search-box[data-v-0f79e359] {
  padding: 10px;
  border-bottom: 1px solid #eee;
}
.search-input[data-v-0f79e359] {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #ced4da;
  border-radius: 5px;
  font-size: 0.9rem;
}
.voucher-list[data-v-0f79e359] {
  padding: 6px;
}
.voucher-tile[data-v-0f79e359] {
  padding: 11px 13px;
  margin-bottom: 6px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.voucher-tile[data-v-0f79e359]:hover {
  background: #e8f4fd;
  border-color: #007bff;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0,123,255,0.12);
}
.tile-row[data-v-0f79e359] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  margin-bottom: 3px;
}
.tile-row[data-v-0f79e359]:last-child {
  margin-bottom: 0;
}
.code-row[data-v-0f79e359] {
  font-size: 0.98rem;
  font-weight: 700;
  color: #222;
}
.badge[data-v-0f79e359] {
  font-size: 0.65rem;
  padding: 1px 7px;
  background: #d4edda;
  color: #155724;
  border-radius: 10px;
  margin-left: auto;
}
.label[data-v-0f79e359] {
  font-weight: 600;
  color: #495057;
  min-width: 70px;
  font-size: 0.8rem;
}
.amount-row[data-v-0f79e359] {
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px dashed #dee2e6;
}
.amount-value[data-v-0f79e359] {
  color: #28a745;
  font-size: 0.98rem;
  font-weight: 700;
}
.service-match[data-v-0f79e359] {
  font-size: 0.8rem;
  color: #495057;
  font-style: italic;
}
.no-results[data-v-0f79e359] {
  padding: 30px 16px;
  text-align: center;
  color: #888;
  font-style: italic;
  font-size: 0.9rem;
}

.item-promo-block[data-v-88c9657e] {
  margin-top: 10px;
  position: relative;
}
.item-promo-label[data-v-88c9657e] {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #495057;
  margin-bottom: 4px;
}
.item-promo-search-wrap[data-v-88c9657e] {
  position: relative;
}
.item-promo-search[data-v-88c9657e] {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #80bdff;
  border-radius: 6px;
  font-size: 0.85rem;
  box-sizing: border-box;
}
.item-promo-search--has-hint[data-v-88c9657e] {
  padding-right: 30px;
}
.item-promo-codes-hint[data-v-88c9657e] {
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  color: #6f42c1;
  font-size: 0.88rem;
  line-height: 1;
  pointer-events: none;
  opacity: 0.92;
}
.item-promo-selected[data-v-88c9657e] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 0.85rem;
}
.item-promo-selected code[data-v-88c9657e] {
  background: #e7f1ff;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 700;
}
.item-promo-clear[data-v-88c9657e] {
  border: none;
  background: #f1f3f5;
  color: #495057;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.item-promo-clear[data-v-88c9657e]:hover {
  background: #dee2e6;
}
.item-promo-list[data-v-88c9657e] {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  border: 1px solid #ced4da;
  border-radius: 6px;
  background: #fff;
  max-height: 160px;
  overflow-y: auto;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 20;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.item-promo-row[data-v-88c9657e] {
  padding: 8px 10px;
  cursor: pointer;
  border-bottom: 1px solid #eee;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.item-promo-row[data-v-88c9657e]:hover {
  background: #e7f1ff;
}
.item-promo-row code[data-v-88c9657e] {
  font-weight: 700;
  font-size: 0.88rem;
}
.item-promo-row small[data-v-88c9657e] {
  font-size: 0.75rem;
  color: #6c757d;
}
.item-promo-empty[data-v-88c9657e] {
  padding: 8px 10px;
  color: #6c757d;
  font-size: 0.82rem;
}

/* === STARE STYLE (bez zmian) === */
.cart-grid[data-v-766df061] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.cart-item-card[data-v-766df061] {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.cart-item-card[data-v-766df061]:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  border-color: #007bff;
}
.cart-item-card.has-individual-payment[data-v-766df061] {
  border-color: #28a745;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.15);
}
.card-header[data-v-766df061] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: linear-gradient(to right, #f8f9fa, #ffffff);
  border-bottom: 1px solid #e9ecef;
  gap: 10px;
}
.item-type-badge[data-v-766df061] {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}
.item-type-badge.type-vouchertemplate[data-v-766df061] { background: #e7f1ff; color: #007bff;
}
.item-type-badge.type-voucher[data-v-766df061] { background: #d4edda; color: #155724;
}
.item-type-badge.type-service[data-v-766df061] { background: #fff3cd; color: #856404;
}
.item-type-badge.type-product[data-v-766df061] { background: #f8d7da; color: #721c24;
}
.item-type-badge.type-appointment[data-v-766df061] { background: #cce5ff; color: #004085;
}
.item-name-col[data-v-766df061] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.item-name[data-v-766df061] {
  font-weight: 600;
  color: #222;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.item-appointment-start[data-v-766df061] {
  font-size: 0.78rem;
  font-weight: 600;
  color: #004085;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.btn-remove[data-v-766df061] {
  background: #dc3545;
  color: white;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.btn-remove[data-v-766df061]:hover {
  background: #c82333;
  transform: scale(1.1);
}
.card-body[data-v-766df061] {
  padding: 12px 14px;
  flex: 1;
}
.field-row[data-v-766df061] {
  display: flex;
  gap: 12px;
}
.field-group[data-v-766df061] {
  flex: 1;
  min-width: 0;
}
.field-group label[data-v-766df061] {
  font-size: 0.75rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 4px;
  display: block;
}
.input-with-unit[data-v-766df061] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.input-with-unit input[data-v-766df061] {
  flex: 1;
  min-width: 0;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}
.input-with-unit .unit[data-v-766df061] {
  font-size: 0.8rem;
  color: #666;
  white-space: nowrap;
}
.card-footer[data-v-766df061] {
  padding: 8px 14px;
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
}
.item-total[data-v-766df061] {
  font-size: 0.95rem;
  color: #28a745;
  font-weight: 600;
}
.item-total strong[data-v-766df061] {
  font-size: 1.05rem;
}
.item-total-net[data-v-766df061] {
  margin-top: 4px;
  font-size: 0.88rem;
  color: #004085;
}
.item-total-net strong[data-v-766df061] {
  font-size: 0.95rem;
}
.empty-cart[data-v-766df061] {
  text-align: center;
  padding: 40px;
  color: #888;
}

/* === NOWE STYLE DLA HYBRYDOWEGO MODELU PŁATNOŚCI === */
.item-payment-section[data-v-766df061] {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed #dee2e6;
}
.individual-header[data-v-766df061] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.small-label[data-v-766df061] {
  font-size: 0.72rem;
  font-weight: 700;
  color: #495057;
  display: block;
}
.btn-reset-individual[data-v-766df061] {
  background: none;
  border: none;
  color: #6c757d;
  font-size: 0.85rem;
  padding: 2px 6px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
}
.btn-reset-individual[data-v-766df061]:hover {
  color: #dc3545;
  background: #f8d7da;
}
.payment-method-select[data-v-766df061] {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #80bdff;
  border-radius: 6px;
  font-size: 0.92rem;
  background: #fff;
  margin-bottom: 8px;
}
.payment-method-select[data-v-766df061]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.15);
  outline: none;
}
.voucher-per-item-wrapper[data-v-766df061] {
  margin-top: 4px;
}
.voucher-per-item-wrapper .voucher-select-wrapper[data-v-766df061] {
  margin-top: 0;
}

/* === STYL DZIEDZICZENIA GLOBALNEGO === */
.inherited-payment[data-v-766df061] {
  background: #e8f4fd;
  border: 1px solid #b8daff;
  border-radius: 8px;
  padding: 10px 12px;
}
.inherited-header[data-v-766df061] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.inherited-label[data-v-766df061] {
  font-size: 0.75rem;
  font-weight: 600;
  color: #495057;
}
.inherited-value[data-v-766df061] {
  color: #007bff;
  font-weight: 700;
  font-size: 0.95rem;
}
.voucher-badge[data-v-766df061] {
  background: #d4edda;
  color: #155724;
  font-size: 0.75rem;
  padding: 1px 7px;
  border-radius: 10px;
  font-weight: 600;
  margin-left: 4px;
}
.inherited-actions[data-v-766df061] {
  margin-top: 8px;
  text-align: right;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.btn-make-individual[data-v-766df061] {
  background: #007bff;
  color: white;
  border: none;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s;
}
.btn-make-individual[data-v-766df061]:hover {
  background: #0056b3;
  transform: translateY(-1px);
}
.btn-make-individual i[data-v-766df061] {
  font-size: 0.85rem;
}

/* === NOWY PRZYCISK "ZASTOSUJ GLOBALNY BON" === */
.btn-apply-global-voucher[data-v-766df061] {
  background: #28a745;
  color: white;
  border: none;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s;
  white-space: nowrap;
}
.btn-apply-global-voucher[data-v-766df061]:hover {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(40, 167, 69, 0.3);
}
.btn-apply-global-voucher i[data-v-766df061] {
  font-size: 0.8rem;
}
.voucher-line-parties[data-v-766df061] {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed #ced4da;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.voucher-line-parties[data-v-766df061] .crs-client-recipient-selector {
  font-size: 0.92rem;
}

/* Style z oryginalnego SaleForm.css */
.totals[data-v-8264de46] { 
  margin-top: 20px; 
  border-top: 2px solid #dee2e6; 
  padding-top: 16px;
}
.total-row[data-v-8264de46] { 
  display: flex; 
  justify-content: space-between; 
  padding: 6px 0; 
  font-size: 1.05rem;
}
.total-row.final[data-v-8264de46] { 
  font-size: 1.2rem; 
  font-weight: 700; 
  color: #28a745;
}
.discount[data-v-8264de46] { color: #dc3545;
}
.discount-input[data-v-8264de46] { margin-top: 12px;
}
.discount-controls[data-v-8264de46] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.discount-type-select[data-v-8264de46] {
  width: 190px;
  padding: 9px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s;
}
.discount-type-select[data-v-8264de46]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
  outline: none;
}
.discount-value-wrapper[data-v-8264de46] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: 6px;
  padding: 0 10px;
}
.discount-value-input[data-v-8264de46] {
  width: 110px;
  padding: 9px 8px;
  border: none;
  font-size: 0.95rem;
  background: transparent;
  outline: none;
}
.discount-value-input[data-v-8264de46]:focus {
  outline: none;
}
.discount-unit[data-v-8264de46] {
  font-size: 0.9rem;
  color: #495057;
  font-weight: 600;
  min-width: 18px;
  text-align: center;
}
.discount-perc[data-v-8264de46] {
  margin-right: 8px;
  font-size: 0.85rem;
  color: #6c757d;
  font-weight: 500;
}
.discount-row[data-v-8264de46] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 1.05rem;
}
.discount-value-right[data-v-8264de46] {
  display: flex;
  align-items: center;
  gap: 6px;
  text-align: right;
}
.error[data-v-8264de46] { 
  color: #dc3545; 
  margin-top: 12px; 
  font-weight: 600;
}

.payment-global-section[data-v-04119003] {
  background: #f8f9fa;
  border: 2px solid #007bff;
  border-radius: 12px;
  padding: 18px 20px;
  margin: 20px 0;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.08);
}
.payment-label[data-v-04119003] {
  font-size: 1.05rem;
  font-weight: 700;
  color: #004085;
  display: block;
  margin-bottom: 8px;
}
.payment-hint[data-v-04119003] {
  font-size: 0.9rem;
  color: #495057;
  margin-bottom: 14px;
}
.global-payment-row[data-v-04119003] {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.payment-select.large[data-v-04119003] {
  flex: 1;
  min-width: 220px;
  font-size: 1.05rem;
  padding: 12px 16px;
  border: 2px solid #80bdff;
  border-radius: 8px;
}
.btn-apply-all[data-v-04119003] {
  white-space: nowrap;
  padding: 12px 22px;
  font-size: 0.95rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.quick-payment-buttons[data-v-04119003] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 16px;
}
.quick-btn[data-v-04119003] {
  padding: 8px 14px;
  font-size: 0.9rem;
  font-weight: 600;
  border: 1px solid #ced4da;
  border-radius: 8px;
  background: white;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s ease;
}
.quick-btn[data-v-04119003]:hover:not(:disabled) {
  background: #e9ecef;
  border-color: #007bff;
  color: #007bff;
}
.quick-btn.voucher[data-v-04119003] {
  background: #d4edda;
  border-color: #28a745;
  color: #155724;
}
.quick-btn.voucher[data-v-04119003]:hover:not(:disabled) {
  background: #c3e6cb;
  border-color: #155724;
}
.global-voucher-wrapper[data-v-04119003] {
  margin: 12px 0 16px;
  padding: 12px;
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 10px;
}
.per-item-toggle[data-v-04119003] {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed #dee2e6;
}
.toggle-label[data-v-04119003] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #495057;
  cursor: pointer;
}
.toggle-label input[type="checkbox"][data-v-04119003] {
  width: 18px;
  height: 18px;
  accent-color: #007bff;
}
.hint[data-v-04119003] {
  display: block;
  margin-top: 4px;
  margin-left: 26px;
  font-size: 0.82rem;
  color: #6c757d;
  font-style: italic;
}
.payment-summary[data-v-04119003] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed #dee2e6;
}
.summary-row[data-v-04119003] {
  display: flex;
  justify-content: space-between;
  font-size: 0.95rem;
  margin-bottom: 4px;
}
.summary-row strong[data-v-04119003] {
  font-size: 1.05rem;
}
.text-success[data-v-04119003] { color: #28a745;
}
.text-danger[data-v-04119003] { color: #dc3545;
}
.payment-warning[data-v-04119003] {
  margin-top: 8px;
  padding: 8px 12px;
  background: #fff3cd;
  border-left: 4px solid #ffc107;
  color: #856404;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.payment-ok[data-v-04119003] {
  margin-top: 8px;
  padding: 8px 12px;
  background: #d4edda;
  border-left: 4px solid #28a745;
  color: #155724;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
/* src/assets/css/gabito-common-buttons.css */
/* Encoding: UTF-8 */
/* Wspólne, uniwersalne style przycisków akcji (edytuj, zamknij i przyszłe: anuluj, zapisz, edytuj itp.) */
/* Dostępne dla wszystkich modułów. Prefix "gabito-btn-" gwarantuje unikalność i spójność z resztą projektu. */
.gabito-btn-edit[data-v-98418066] {
  height: 42px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #007bff;
  color: white;
}
.gabito-btn-edit[data-v-98418066]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.gabito-btn-close[data-v-98418066] {
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #dc3545;
  color: white;
}
.gabito-btn-close[data-v-98418066]:hover:not(:disabled) {
  background: #c82333;
}
/**
 * Wariant jak przycisk zamknięcia w nagłówku UniversalEntityPreview
 * (m.in. vouchers/create, visit-history) — mniejszy kwadrat, ten sam kolor.
 * Obwódka (outline) jak przy .gabito-form-btn-header-icon-save w gabito-shared-ui.css.
 */
.gabito-btn-close.gabito-btn-close--preview-header[data-v-98418066] {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-98418066]:hover:not(:disabled) {
  transform: scale(1.05);
}
/* === PRZYSZŁE PRZYCISKI – dodawaj tutaj (przykłady gotowe do użycia) === */
.gabito-btn-save[data-v-98418066] {
  background: #28a745;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
  height:42px; 
  padding:0 20px; 
  font-weight:600;
}
.gabito-btn-save[data-v-98418066]:hover:not(:disabled) {
  background: #218838;
}
.gabito-btn-cancel[data-v-98418066],
.gabito-btn-anuluj[data-v-98418066] {
  background: #dc3545;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-cancel[data-v-98418066]:hover:not(:disabled),
.gabito-btn-anuluj[data-v-98418066]:hover:not(:disabled) {
  background: #c82333;
}
.gabito-btn-edit-general[data-v-98418066] {
  background: #007bff;
  color: #ffffff;
  padding: 0 20px;
  font-weight: 700;
}
.gabito-btn-edit-general[data-v-98418066]:hover:not(:disabled) {
  background: #0056b3;
}
/* === NOWE KLASY DEDYKOWANE DLA PRZYCISKÓW "Dalej" i "Anuluj" w NewHistorySetup.vue === */
.gabito-form-btn-dalej[data-v-98418066] {
  background-color: #007bff;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-dalej[data-v-98418066]:hover:not(:disabled) {
  background-color: #0056b3;
  transform: translateY(-1px);
}
.gabito-form-btn-anuluj[data-v-98418066] {
  background-color: #6c757d;
  color: #ffffff;
  font-weight: 700;
  min-width: 140px;
}
.gabito-form-btn-anuluj[data-v-98418066]:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}
/* Responsywność wspólna dla wszystkich gabito-btn (pasuje do reszty projektu) */
@media (max-width: 768px) {
.gabito-btn-edit[data-v-98418066],
  .gabito-btn-save[data-v-98418066],
  .gabito-btn-cancel[data-v-98418066],
  .gabito-btn-anuluj[data-v-98418066],
  .gabito-btn-edit-general[data-v-98418066],
  .gabito-form-btn-dalej[data-v-98418066],
  .gabito-form-btn-anuluj[data-v-98418066] {
    height: 40px;
    font-size: 14px;
    padding: 0 14px;
}
.gabito-btn-close[data-v-98418066] {
    height: 40px;
    width: 40px;
    font-size: 22px;
}
.gabito-btn-close.gabito-btn-close--preview-header[data-v-98418066] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    font-size: 20px;
}
}
/**
 * Główny przycisk akcji (np. „Generuj”, „Zapisz”) — musi być dostępny globalnie.
 * Wiele widoków używa klasy bez lokalnego importu CSS; bez tych reguł może zostać
 * tylko jasny kolor tekstu z innego stylu → „biały na białym”.
 */
.gabito-btn-primary[data-v-98418066] {
  background-color: #0d6efd;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  box-sizing: border-box;
}
.gabito-btn-primary[data-v-98418066]:hover:not(:disabled) {
  background-color: #0b5ed7;
  color: #ffffff;
}
.gabito-btn-primary[data-v-98418066]:visited {
  color: #ffffff;
}
.gabito-btn-primary[data-v-98418066]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
/* src/assets/css/form-buttons.css */
/* Encoding: UTF-8 */
/* Globalne, unikalne style przycisków formularzy */
/* ============================================= */
/* PRZYCISKI W OKNIE TWORZENIA BONU/KARNETU     */
/* (przeniesione z VoucherCreateView.vue 2026-05-01) */
/* ============================================= */
/* ============================================= */
/* PRZYCISKI W NAGŁÓWKU TWORZENIA BONU/KARNETU */
/* Oba mają identyczną szerokość (kwadratowe ikony) */
/* ============================================= */
/* Wspólne style dla obu przycisków – identyczna szerokość */
.gabito-btn-voucher-sell[data-v-98418066],
.gabito-btn-voucher-save[data-v-98418066] {
  width: 42px;
  height: 42px;
  padding: 0;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
}
/* Przycisk z ikoną koszyka – "Zapisz i przejdź do sprzedaży" */
.gabito-btn-voucher-sell[data-v-98418066] {
  margin-right: 12px;
}
.gabito-btn-voucher-sell[data-v-98418066]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}
/* Przycisk z ikoną dyskietki – "Tylko zapisz i wróć do listy" */
.gabito-btn-voucher-save[data-v-98418066]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
/* ============================================= */
/* ISTNIEJĄCE STYLE (zachowane)                 */
/* ============================================= */
/* ============================================= */
/* WSPÓLNY PRZYCISK SECONDARY (ikona w nagłówku list) */
/* Przeniesione z VoucherList.css (2026-05-03) */
/* ============================================= */
.gabito-common-btn-secondary[data-v-98418066] {
  background: #6c757d;
  color: white;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  margin-right: 8px;
}
.gabito-common-btn-secondary[data-v-98418066]:hover:not(:disabled) {
  background: #5a6268;
}
.gabito-common-btn-secondary[data-v-98418066]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-text[data-v-98418066] { display: inline;
}
@media (max-width: 768px) {
.btn-text[data-v-98418066] { display: none;
}
}
.gabito-form-actions[data-v-98418066] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 25px;
  gap: 15px;
  flex-wrap: wrap;
}
.gabito-form-btn[data-v-98418066] {
  padding: 12px 28px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  min-width: 140px;
  transition: all 0.3s ease;
  text-align: center;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
}
/* === Kolory standardowe === */
.gabito-form-btn-save[data-v-98418066] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 48px;
}
.gabito-form-btn-ok-save[data-v-98418066] {
  background-color: #28a745;
  color: #ffffff;
    min-height: 40px;
}
/* Style nagłówkowych przycisków ikon (.gabito-form-btn-header-icon-save / -sell) → gabito-shared-ui.css */
.gabito-form-btn-save[data-v-98418066]:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}
.gabito-form-btn-no-cancel[data-v-98418066] {
  background-color: #28a745;
  color: #ffffff;
      height: 40px !important;
}
.gabito-form-btn-yes-cancel[data-v-98418066] {
  background-color: #dc3545 !important;
  color: #ffffff !important;
    height: 40px;
}
.gabito-form-btn-cancel[data-v-98418066] {
  background-color: #dc3545;
  color: #ffffff;
      height: 40px;
}
.gabito-form-btn-cancel[data-v-98418066]:hover:not(:disabled) {
  background-color: #c82333;
  transform: translateY(-1px);
}
.gabito-form-btn[data-v-98418066]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* ============================================= */
/* SPECJALNA POPRAWKA DLA MODALU USTAWIEŃ KALENDARZA */
/* ZAWSZE identyczna szerokość + zawsze jeden wiersz */
/* ============================================= */
.modal-footer .gabito-form-btn[data-v-98418066],
.calendar-settings-modal .gabito-form-btn[data-v-98418066],
.modal-footer .gabito-form-btn-cancel[data-v-98418066],
.modal-footer .gabito-form-btn-save[data-v-98418066] {
  min-width: 160px !important;
  flex-basis: 160px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 11px 24px !important;
  font-size: 15px !important;
  min-height: 48px !important;
  height: 40px;
  width: 40px;
}
/* Zawsze jeden wiersz w stopce modalu ustawień */
.modal-footer[data-v-98418066] {
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}
/* Delikatne skalowanie na bardzo wąskich ekranach */
@media (max-width: 480px) {
.modal-footer .gabito-form-btn[data-v-98418066],
  .calendar-settings-modal .gabito-form-btn[data-v-98418066] {
    min-width: 148px !important;
    flex-basis: 148px !important;
    padding: 10px 20px !important;
    font-size: 14.5px !important;
    min-height: 40px !important;
}
}
/* Dodatkowe klasy (na przyszłość) */
.gabito-form-btn-edit[data-v-98418066] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-visit-view[data-v-98418066] {
  background-color: #007bff;
  color: #ffffff;
    height: 40px;
}
.gabito-form-btn-edit[data-v-98418066]:hover:not(:disabled) {
  background-color: #0056b3;
}
.gabito-form-btn-delete[data-v-98418066] {
  background-color: #dc3545;
  color: #ffffff;
}
.gabito-form-btn-delete[data-v-98418066]:hover:not(:disabled) {
  background-color: #c82333;
}
.sale-form[data-v-98418066] { max-width: 860px; margin: 0 auto; padding: 20px;
}
.form-group[data-v-98418066] { margin-bottom: 18px;
}
label[data-v-98418066] { display: block; font-weight: 600; margin-bottom: 6px;
}
input[data-v-98418066], select[data-v-98418066], textarea[data-v-98418066] { width: 100%; padding: 10px 14px; border: 1px solid #ced4da; border-radius: 6px; font-size: 1rem;
}
.required[data-v-98418066] { color: #dc3545;
}
.cart-section[data-v-98418066] { border: 1px solid #dee2e6; border-radius: 12px; padding: 20px; margin: 24px 0; background: #f8f9fa;
}
.add-item-row[data-v-98418066] { display: flex; gap: 12px; margin-bottom: 16px; align-items: flex-end;
}
.item-type-select[data-v-98418066] { width: 160px;
}
.item-name-input[data-v-98418066] { flex: 2;
}
.qty-input[data-v-98418066], price-input[data-v-98418066] { width: 90px;
}
.add-btn[data-v-98418066] { background: #28a745; color: white; border: none; padding: 10px 16px; border-radius: 6px; cursor: pointer;
}
/* === NOWE STYLE DLA KAFELKÓW KOSZYKA (inspirowane VoucherTemplateServicesConfig) === */
.cart-grid[data-v-98418066] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.cart-item-card[data-v-98418066] {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.cart-item-card[data-v-98418066]:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  border-color: #007bff;
}
.card-header[data-v-98418066] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: linear-gradient(to right, #f8f9fa, #ffffff);
  border-bottom: 1px solid #e9ecef;
  gap: 10px;
}
.item-type-badge[data-v-98418066] {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}
.item-type-badge.type-vouchertemplate[data-v-98418066] { background: #e7f1ff; color: #007bff;
}
.item-type-badge.type-voucher[data-v-98418066] { background: #d4edda; color: #155724;
}
.item-type-badge.type-service[data-v-98418066] { background: #fff3cd; color: #856404;
}
.item-type-badge.type-product[data-v-98418066] { background: #f8d7da; color: #721c24;
}
.item-type-badge.type-appointment[data-v-98418066] { background: #cce5ff; color: #004085;
}
.item-name[data-v-98418066] {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  color: #222;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.btn-remove[data-v-98418066] {
  background: #dc3545;
  color: white;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.btn-remove[data-v-98418066]:hover {
  background: #c82333;
  transform: scale(1.1);
}
.card-body[data-v-98418066] {
  padding: 12px 14px;
  flex: 1;
}
.field-row[data-v-98418066] {
  display: flex;
  gap: 12px;
}
.field-group[data-v-98418066] {
  flex: 1;
  min-width: 0;
}
.field-group label[data-v-98418066] {
  font-size: 0.75rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 4px;
  display: block;
}
.input-with-unit[data-v-98418066] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.input-with-unit input[data-v-98418066] {
  flex: 1;
  min-width: 0;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
}
.input-with-unit .unit[data-v-98418066] {
  font-size: 0.8rem;
  color: #666;
  white-space: nowrap;
}
.card-footer[data-v-98418066] {
  padding: 8px 14px;
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
}
.item-total[data-v-98418066] {
  font-size: 0.95rem;
  color: #28a745;
  font-weight: 600;
}
.item-total strong[data-v-98418066] {
  font-size: 1.05rem;
}
/* Koniec nowych stylów kafli */
.empty-cart[data-v-98418066] { text-align: center; padding: 40px; color: #888;
}
.totals[data-v-98418066] { margin-top: 20px; border-top: 2px solid #dee2e6; padding-top: 16px;
}
.total-row[data-v-98418066] { display: flex; justify-content: space-between; padding: 6px 0; font-size: 1.05rem;
}
.total-row.final[data-v-98418066] { font-size: 1.2rem; font-weight: 700; color: #28a745;
}
.discount[data-v-98418066] { color: #dc3545;
}
.discount-input[data-v-98418066] { margin-top: 12px;
}
.discount-input input[data-v-98418066] { width: 150px;
}
.form-buttons[data-v-98418066] { display: flex; gap: 12px; margin-top: 24px;
}
.cancel-button[data-v-98418066] { background: #6c757d; color: white; padding: 10px 24px; border: none; border-radius: 6px; cursor: pointer;
}
.gabito-btn-primary[data-v-98418066] { background: #007bff; color: white; padding: 10px 24px; border: none; border-radius: 6px; cursor: pointer;
}
.gabito-btn-primary[data-v-98418066]:disabled { opacity: 0.6; cursor: not-allowed;
}
.error[data-v-98418066] { color: #dc3545; margin-top: 12px; font-weight: 600;
}
.remove-btn[data-v-98418066] { background: none; border: none; color: #dc3545; cursor: pointer; font-size: 1.1rem;
}
/* Styl dla przycisku w nagłówku */
.header-action-btn[data-v-98418066] {
  background: #007bff;
  color: white;
  padding: 8px 20px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.95rem;
  font-weight: 600;
}
.header-action-btn[data-v-98418066]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
/* === NOWY KAFEL DODAWANIA POZYCJI (niebieski, inny niż białe kafelki koszyka) === */
.add-item-card[data-v-98418066] {
  background: #e8f4fd;
  border: 2px solid #007bff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.12);
  margin-bottom: 20px;
  transition: all 0.2s ease;
  position: relative;
  z-index: 20;
}
.add-item-card[data-v-98418066]:hover {
  box-shadow: 0 8px 25px rgba(0, 123, 255, 0.18);
  transform: translateY(-2px);
}
.add-card-header[data-v-98418066] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: linear-gradient(to right, #007bff, #0056b3);
  color: white;
}
.add-icon[data-v-98418066] {
  font-size: 1.6rem;
  line-height: 1;
}
.add-title[data-v-98418066] {
  font-weight: 700;
  font-size: 1.1rem;
}
.add-card-body[data-v-98418066] {
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.add-card-body .field-group[data-v-98418066] {
  margin-bottom: 0;
}
.add-card-body label[data-v-98418066] {
  font-size: 0.85rem;
  font-weight: 600;
  color: #004085;
  margin-bottom: 6px;
  display: block;
}
.add-card-body .full-width[data-v-98418066] {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #80bdff;
  border-radius: 8px;
  font-size: 1rem;
  background: #fff;
  transition: all 0.2s;
}
.add-card-body .full-width[data-v-98418066]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2);
  outline: none;
}
.field-row.two-cols[data-v-98418066] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.add-card-footer[data-v-98418066] {
  padding: 14px 20px;
  background: #d4e9ff;
  border-top: 1px solid #80bdff;
  display: flex;
  justify-content: center;
}
.add-btn.full-width-btn[data-v-98418066] {
  width: 100%;
  max-width: 340px;
  padding: 13px 28px;
  font-size: 1.08rem;
  font-weight: 700;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.add-btn.full-width-btn[data-v-98418066]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.35);
}
.add-btn.full-width-btn[data-v-98418066]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
/* Małe poprawki do istniejących klas (żeby nie psuć innych miejsc) */
.template-select-wrapper[data-v-98418066] {
  width: 100%;
}
/* === NOWE STYLE DLA ZNIŻKI (dropdown + input) === */
.discount-controls[data-v-98418066] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.discount-type-select[data-v-98418066] {
  width: 190px;
  padding: 9px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s;
}
.discount-type-select[data-v-98418066]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15);
  outline: none;
}
.discount-value-wrapper[data-v-98418066] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: 6px;
  padding: 0 10px;
}
.discount-value-input[data-v-98418066] {
  width: 110px;
  padding: 9px 8px;
  border: none;
  font-size: 0.95rem;
  background: transparent;
  outline: none;
}
.discount-value-input[data-v-98418066]:focus {
  outline: none;
}
.discount-unit[data-v-98418066] {
  font-size: 0.9rem;
  color: #495057;
  font-weight: 600;
  min-width: 18px;
  text-align: center;
}
.discount-perc[data-v-98418066] {
  margin-right: 8px;
  font-size: 0.85rem;
  color: #6c757d;
  font-weight: 500;
}
/* === STYLE DLA WIERSZA ZNIŻKI (prawa strona, jak Suma i Do zapłaty) === */
.discount-row[data-v-98418066] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 1.05rem;
}
.discount-value-right[data-v-98418066] {
  display: flex;
  align-items: center;
  gap: 6px;
  text-align: right;
}
/* === NOWE STYLE DLA WIELU PŁATNOŚCI === */
.payment-section[data-v-98418066] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  padding: 16px 20px;
  margin: 20px 0;
}
.payment-row[data-v-98418066] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  background: white;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}
.payment-method[data-v-98418066] {
  flex: 1;
  min-width: 180px;
}
.payment-select[data-v-98418066] {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
  background: #fff;
}
.payment-amount[data-v-98418066] {
  width: 160px;
}
.amount-input[data-v-98418066] {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.95rem;
  text-align: right;
}
.btn-remove-payment[data-v-98418066] {
  background: #dc3545;
  color: white;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-remove-payment[data-v-98418066]:hover {
  background: #c82333;
  transform: scale(1.1);
}
.payment-actions[data-v-98418066] {
  margin-top: 8px;
  text-align: left;
}
.btn-add-payment[data-v-98418066] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
}
.btn-add-payment[data-v-98418066]:hover:not(:disabled) {
  background: #0056b3;
}
.btn-add-payment[data-v-98418066]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.payment-summary[data-v-98418066] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed #dee2e6;
}
.summary-row[data-v-98418066] {
  display: flex;
  justify-content: space-between;
  font-size: 0.95rem;
  margin-bottom: 4px;
}
.summary-row strong[data-v-98418066] {
  font-size: 1.05rem;
}
.text-success[data-v-98418066] { color: #28a745;
}
.text-danger[data-v-98418066] { color: #dc3545;
}
.payment-warning[data-v-98418066] {
  margin-top: 8px;
  padding: 8px 12px;
  background: #fff3cd;
  border-left: 4px solid #ffc107;
  color: #856404;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.payment-ok[data-v-98418066] {
  margin-top: 8px;
  padding: 8px 12px;
  background: #d4edda;
  border-left: 4px solid #28a745;
  color: #155724;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sale-detail[data-v-520b89c2] { max-width: 900px; margin: 0 auto; padding: 20px;
}
.info-grid[data-v-520b89c2] { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 32px;
}
.info-item label[data-v-520b89c2] { font-size: 0.85rem; color: #666;
}
.info-item .value[data-v-520b89c2] { font-size: 1.1rem; font-weight: 600;
}
.info-item .total[data-v-520b89c2] { color: #28a745; font-size: 1.3rem;
}
.buyer-summary[data-v-520b89c2] {
  background: #f8f9fa;
  padding: 16px;
  border-radius: 8px;
  margin: 20px 0;
  border-left: 4px solid #2563eb;
}
.buyer-summary h4[data-v-520b89c2] { margin: 0 0 6px;
}
.buyer-summary-name[data-v-520b89c2] { font-size: 1.05rem; font-weight: 700;
}
.buyer-summary-meta[data-v-520b89c2] { font-size: 0.85rem; font-weight: 500; color: #6b7280; margin-top: 4px;
}
/* === MAŁE KAFELKI PŁATNOŚCI === */
.payment-card[data-v-520b89c2] {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  padding: 12px 14px;
  margin-bottom: 10px;
  transition: all 0.2s ease;
}
.payment-card[data-v-520b89c2]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.payment-card.is-voucher[data-v-520b89c2] {
  border-color: #28a745;
  background: #f8fff9;
}
.payment-card-header[data-v-520b89c2] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.payment-card .method[data-v-520b89c2] {
  font-weight: 600;
  color: #495057;
  font-size: 0.95rem;
}
.payment-card .amount[data-v-520b89c2] {
  font-size: 1.1rem;
  font-weight: 700;
  color: #28a745;
}
/* Informacja o bonie */
.voucher-info[data-v-520b89c2] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: #d4edda;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #155724;
  margin-top: 4px;
  flex-wrap: nowrap;
}
.voucher-info i[data-v-520b89c2] {
  font-size: 0.9rem;
  flex-shrink: 0;
}
.voucher-code[data-v-520b89c2] {
  font-weight: 700;
  font-family: monospace;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* === MAŁY PRZYCISK Z IKONĄ OKA === */
.voucher-link-btn[data-v-520b89c2] {
  padding: 4px 7px;
  background: #c3e6cb;
  color: #0e4a1f;
  border-radius: 6px;
  font-size: 0.85rem;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  flex-shrink: 0;
}
.voucher-link-btn[data-v-520b89c2]:hover {
  background: #a8d5b8;
  transform: scale(1.05);
}
.voucher-link-btn i[data-v-520b89c2] {
  font-size: 0.9rem;
}
.item-link-name[data-v-520b89c2] {
  color: #1e3a8a;
  text-decoration: underline;
  font-weight: 600;
}
.item-link-name[data-v-520b89c2]:hover {
  color: #1d4ed8;
}
.item-link-wrapper[data-v-520b89c2] {
  display: inline-flex;
  margin-left: 8px;
}
.item-link[data-v-520b89c2] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1e3a8a;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 600;
}
.item-link[data-v-520b89c2]:hover {
  background: #dbe4ff;
  color: #1d4ed8;
}
/* Reszta stylów */
.items-section[data-v-520b89c2] { margin: 24px 0;
}
.items-table[data-v-520b89c2] { width: 100%; border-collapse: collapse;
}
.items-table th[data-v-520b89c2], .items-table td[data-v-520b89c2] { padding: 12px; border-bottom: 1px solid #dee2e6;
}
.items-table th[data-v-520b89c2] { background: #f1f3f5; text-align: left;
}
.text-center[data-v-520b89c2] { text-align: center;
}
.text-right[data-v-520b89c2] { text-align: right;
}
.notes[data-v-520b89c2], .void-info[data-v-520b89c2] { background: #f8f9fa; padding: 16px; border-radius: 8px; margin: 20px 0;
}
.void-info[data-v-520b89c2] { border-left: 4px solid #dc3545;
}
.voided-by-link[data-v-520b89c2] { color: #b91c1c; font-weight: 600; text-decoration: underline;
}
.voided-by-link[data-v-520b89c2]:hover { color: #7f1d1d;
}
.loading[data-v-520b89c2], .error[data-v-520b89c2] { text-align: center; padding: 60px; color: #666;
}


/* Klasy własne z prefixem 'gabito-sidebar-sub-' dla uniknięcia konfliktów z innymi komponentami */
.gabito-sidebar-sub-menu-item[data-v-0c714dc3] {
  position: relative;
  border-radius: 4px;
  margin-bottom: 1px; /* Reduced margin to minimize gaps between items */
}
.gabito-sidebar-sub-menu-toggle[data-v-0c714dc3],
.gabito-sidebar-sub-menu-link[data-v-0c714dc3] {
  display: flex;
  align-items: center;
  padding: 8px 8px; /* Reduced padding to prevent items from being too tall */
  border-radius: 4px;
  text-decoration: none;
  color: #333;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  font-size: 0.95em;
}
.gabito-sidebar-sub-menu-toggle[data-v-0c714dc3] {
  justify-content: space-between;
  border: none;
  font-weight: 500;
}
.gabito-sidebar-sub-menu-link[data-v-0c714dc3]:hover,
.gabito-sidebar-sub-menu-toggle[data-v-0c714dc3]:hover {
  color: #dc3545;
  background-color: rgba(220, 53, 69, 0.1);
}
.gabito-sidebar-sub-menu-link.active[data-v-0c714dc3] {
  color: blue;
  font-weight: bold;
  background-color: #007bff;
}
.gabito-sidebar-sub-submenu[data-v-0c714dc3] {
  list-style: none;
  margin: 2px 0 0 0; /* Reduced top margin to minimize gaps between parent and first child */
  padding-left: calc(20px * var(--level, 1));
}
.gabito-sidebar-sub-toggle-icon[data-v-0c714dc3] {
  font-size: 12px;
  margin-left: 10px;
  color: #666;
}
.gabito-sidebar-sub-no-uri[data-v-0c714dc3] {
  display: flex;
  align-items: center;
  padding: 8px 8px; /* Consistent reduced padding */
  background-color: #e9e9e9;
  border-radius: 4px;
  color: #888;
  font-style: italic;
}

/* Media query dla smartfonów: zwiększ wysokość itemów menu */
@media (max-width: 768px) {
.gabito-sidebar-sub-menu-toggle[data-v-0c714dc3],
  .gabito-sidebar-sub-menu-link[data-v-0c714dc3],
  .gabito-sidebar-sub-no-uri[data-v-0c714dc3] {
    padding: 15px 10px; /* Zwiększony padding dla większej wysokości (touch-friendly) */
    font-size: 1.1em; /* Lekko większy tekst dla czytelności na mobile */
}
}

.sidebar-content[data-v-808d120a] {
  padding: 20px;
  height: 100%;
  background-color: #f8f9fa;
  z-index: 1000;
}
.sidebar-header[data-v-808d120a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.favorite-header-actions[data-v-808d120a] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.favorite-screen-buttons[data-v-808d120a] {
  display: flex;
  gap: 6px;
}
.favorite-screen-button[data-v-808d120a] {
  width: 36px;
  height: 36px;
  border: 3px solid var(--favorite-screen-border-color, #dee2e6);
  border-radius: 4px;
  background: #6c757d;
  color: white;
  font-weight: 700;
  cursor: pointer;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
}
.favorite-screen-button.active[data-v-808d120a] {
  background: #ffc107;
  color: white;
}
.favorite-button.invisible[data-v-808d120a] {
  visibility: hidden;
  pointer-events: none;
}
h2[data-v-808d120a] {
  font-size: 1.2em;
  margin: 0;
  color: #333;
}
ul[data-v-808d120a] {
  list-style: none;
  padding: 0;
  margin: 0;
}
li[data-v-808d120a] {
  margin-bottom: 10px;
}
.sidebar-no-modules[data-v-808d120a] {
  color: #888;
  font-style: italic;
}
.sidebar-logout-button[data-v-808d120a] {
  background-color: #dc3545;
  color: white;
  border: none;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
  margin-top: 30px;
}
.sidebar-logout-button[data-v-808d120a]:hover {
  background-color: #c82333;
}

.view-all-link[data-v-d4b53338] {
  margin-right: 10px;
  color: #007bff;
  text-decoration: none;
  font-size: 0.9em;
}
.view-all-link[data-v-d4b53338]:hover {
  text-decoration: underline;
}

/* Dodatkowe style dla focus (widoczny outline przy nawigacji klawiaturą) */
.notification-modal[data-v-d4b53338] {
  outline: none;
}
.notification-modal[data-v-d4b53338]:focus {
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.3);
}

/* ==================== CYBERPUNK THEME ==================== */
.gabito-universal-msg-overlay[data-v-ee708bdf] {
  position: fixed;
  inset: 0;
  background: rgba(8, 10, 28, 0.94);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10010;
  animation: gabito-msg-fade-in-ee708bdf 0.3s ease forwards;
}
.gabito-universal-msg-modal[data-v-ee708bdf] {
  background: #0a0c14;
  border: 2px solid #00f3ff;
  border-radius: 8px;
  width: 90%;
  max-width: 520px;
  box-shadow: 
    0 0 20px #00f3ff,
    0 0 40px rgba(0, 243, 255, 0.5),
    0 25px 70px rgba(0, 0, 0, 0.7);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: #e0f8ff;
  position: relative;
}

/* Neon header */
.gabito-universal-msg-header[data-v-ee708bdf] {
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(90deg, #11151f, #1a2133);
  border-bottom: 2px solid #00f3ff;
}
.gabito-universal-msg-icon[data-v-ee708bdf] {
  font-size: 32px;
  flex-shrink: 0;
  filter: drop-shadow(0 0 12px currentColor);
}
.gabito-universal-msg-header h3[data-v-ee708bdf] {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffff;
  text-shadow: 0 0 15px #00f3ff;
}

/* Close button */
.gabito-universal-msg-close[data-v-ee708bdf] {
  margin-left: auto;
  background: transparent;
  color: #ff3366;
  border: 2px solid #ff3366;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 26px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  text-shadow: 0 0 10px #ff3366;
}
.gabito-universal-msg-close[data-v-ee708bdf]:hover {
  background: #ff3366;
  color: white;
  box-shadow: 0 0 25px #ff3366;
  transform: rotate(90deg);
}

/* Body */
.gabito-universal-msg-body[data-v-ee708bdf] {
  padding: 28px 24px;
  font-size: 15.5px;
  line-height: 1.6;
  color: #c0e8ff;
  flex: 1;
}

/* Footer + Button */
.gabito-universal-msg-footer[data-v-ee708bdf] {
  padding: 18px 24px;
  background: linear-gradient(90deg, #11151f, #1a2133);
  border-top: 2px solid #00f3ff;
  display: flex;
  justify-content: flex-end;
}
.gabito-universal-msg-btn[data-v-ee708bdf] {
  padding: 14px 32px;
  background: transparent;
  border: 2px solid #00f3ff;
  color: #00f3ff;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 2px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.35s ease;
  text-shadow: 0 0 10px #00f3ff;
  position: relative;
  overflow: hidden;
}
.gabito-universal-msg-btn[data-v-ee708bdf]:hover {
  background: #00f3ff;
  color: #0a0c14;
  box-shadow: 
    0 0 25px #00f3ff,
    0 0 45px #00f3ff;
  transform: translateY(-3px);
}

/* === SUCCESS (Neon Green) === */
.gabito-universal-msg-success .gabito-universal-msg-modal[data-v-ee708bdf] {
  border-color: #00ff9f;
  box-shadow: 
    0 0 20px #00ff9f,
    0 0 45px rgba(0, 255, 159, 0.6),
    0 25px 70px rgba(0, 0, 0, 0.7);
}
.gabito-universal-msg-success .gabito-universal-msg-icon[data-v-ee708bdf] { 
  color: #00ff9f;
  filter: drop-shadow(0 0 18px #00ff9f);
}
.gabito-universal-msg-success .gabito-universal-msg-header[data-v-ee708bdf] { 
  border-bottom-color: #00ff9f;
}
.gabito-universal-msg-success .gabito-universal-msg-btn[data-v-ee708bdf] {
  border-color: #00ff9f;
  color: #00ff9f;
  text-shadow: 0 0 12px #00ff9f;
}
.gabito-universal-msg-success .gabito-universal-msg-btn[data-v-ee708bdf]:hover {
  background: #00ff9f;
  color: #0a0c14;
  box-shadow: 0 0 30px #00ff9f;
}

/* === ERROR (Neon Magenta) === */
.gabito-universal-msg-error .gabito-universal-msg-modal[data-v-ee708bdf] {
  border-color: #ff00c1;
  box-shadow: 
    0 0 20px #ff00c1,
    0 0 45px rgba(255, 0, 193, 0.55),
    0 25px 70px rgba(0, 0, 0, 0.7);
}
.gabito-universal-msg-error .gabito-universal-msg-icon[data-v-ee708bdf] { 
  color: #ff00c1;
  filter: drop-shadow(0 0 18px #ff00c1);
}
.gabito-universal-msg-error .gabito-universal-msg-header[data-v-ee708bdf] { 
  border-bottom-color: #ff00c1;
}
.gabito-universal-msg-error .gabito-universal-msg-btn[data-v-ee708bdf] {
  border-color: #ff00c1;
  color: #ff00c1;
  text-shadow: 0 0 12px #ff00c1;
}
.gabito-universal-msg-error .gabito-universal-msg-btn[data-v-ee708bdf]:hover {
  background: #ff00c1;
  color: #0a0c14;
  box-shadow: 0 0 30px #ff00c1;
}

/* Animacja wejścia */
@keyframes gabito-msg-fade-in-ee708bdf {
from { 
    opacity: 0; 
    transform: scale(0.92);
}
to { 
    opacity: 1; 
    transform: scale(1);
}
}

/* Responsywność */
@media (max-width: 576px) {
.gabito-universal-msg-modal[data-v-ee708bdf] { 
    width: 96%; 
    margin: 0 2%;
}
}
/* ============================================= */
/* src/App.css – KOMPLETNA, POPRAWIONA WERSJA    */
/* ============================================= */

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

* {
  box-sizing: border-box;
}

.app-container {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: visible;
  overscroll-behavior-y: contain;
  overscroll-behavior: contain;
}

/* ============================================= */
/* KALENDARZ – USUWAMY GLOBALNY SCROLLBAR       */
/* Na /dashboard scrollbar zostaje widoczny     */
/* ============================================= */


.calendar-mode,
.calendar-mode body,
.calendar-mode .app-container,
.calendar-mode .main-content {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.calendar-mode {
  height: 100vh;
  overflow: hidden;
}

/* === KLUCZOWE – header fixed + content zaczyna się POD nim === */
.calendar-mode .main-layout {
  margin-top: 60px !important;           /* ← to jest najważniejsze */
  height: calc(100vh - 60px) !important;
  min-height: 0 !important;
}

.calendar-mode .main-content {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Ochrona dla widoku kalendarza */
.calendar-mode .appointments-dashboard-view {
  height: 100% !important;
}



/* Reszta stylów (bez zmian) */
.header {
  background-color: #007bff;
  color: white;
  padding: 10px 20px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.header-content {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  flex-wrap: nowrap;
  gap: 10px;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.header-left h1 {
  margin: 0;
  font-size: 1.5em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}

.header-user-info {
  font-size: 1em;
  font-weight: 500;
  display: flex;
  align-items: center;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.logout-button {
  background-color: #dc3545;
  color: white;
  border: none;
  padding: 8px 15px;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}

.logout-button:hover {
  background-color: #c82333;
}

.toggle-sidebar-button,
.dashboard-button,
.notification-button,
.profile-button,
.favorite-screen-badge,
.favorite-button {
  background-color: #28a745;
  color: white;
  border: none;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
}

.toggle-sidebar-button:hover,
.dashboard-button:hover,
.notification-button:hover,
.profile-button:hover,
.favorite-button:hover {
  background-color: #218838;
}

.favorite-screen-badge {
  background-color: #ffc107;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.favorite-screen-menu {
  position: relative;
  flex-shrink: 0;
}

.favorite-screen-menu-options {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1002;
  display: flex;
  gap: 6px;
  padding: 6px;
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.favorite-screen-menu-button {
  width: 36px;
  height: 36px;
  padding: 8px;
  border: 3px solid var(--favorite-screen-border-color, #dee2e6);
  border-radius: 4px;
  background: #6c757d;
  color: white;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.favorite-screen-menu-button.active {
  background: #ffc107;
}

.profile-button {
  background-color: rgb(40, 167, 69);
}

.favorite-button {
  background-color: #ffc107;
  color: #212529;
}
.favorite-button.is-favorite {
  background-color: #ffca2c;
  color: #212529;
}

.notification-button .notification-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background-color: #ffffff;
  color: #dc3545;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  border: 1px solid #dc3545;
}

.notification-modal {
  position: fixed;
  top: 60px;
  right: 20px;
  width: 400px;
  max-height: 80vh;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  z-index: 1001;
  overflow-y: auto;
  padding: 20px;
}

.notification-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.notification-modal-header h2 {
  margin: 0;
  font-size: 1.2em;
}
.notification-modal-close {
  background: none;
  border: none;
  font-size: 1.2em;
  cursor: pointer;
}
.notification-modal-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.notification-modal-item {
  padding: 10px;
  border-bottom: 1px solid #eee;
}
.notification-modal-item:last-child {
  border-bottom: none;
}
.notification-modal-item.read {
  background-color: #e9ecef;
}
.notification-modal-item button {
  padding: 5px 10px;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
}
.notification-modal-item button:hover {
  background: #218838;
}
.notification-modal-item button:disabled {
  background: #6c757d;
  cursor: not-allowed;
}

.main-layout {
  display: flex;
  flex: 0 1 auto;
  margin-top: 60px;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
  min-height: calc(100vh - 60px);
}

/* Brak fixed headera (logowanie, publiczne promo, formularz RODO itd.) — bez pustego paska pod nagłówek */
.main-layout.no-app-header {
  margin-top: 0;
  min-height: 100vh;
}

.sidebar {
  width: 50vw;
  max-width: 50vw;
  background-color: #f8f9fa;
  position: fixed;
  top: 60px;
  bottom: 0;
  left: 0;
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
  transition: transform 0.3s ease-in-out;
  z-index: 999;
  transform: translateX(-100%);
}
.sidebar:not(.sidebar-hidden) {
  transform: translateX(0);
}
.sidebar-hidden {
  transform: translateX(-100%);
}

.main-content {
  flex: 1 1 auto;
  background-color: #fff;
  width: 100%;
  margin-left: 0;
  box-sizing: border-box;
  transition: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  min-height: 0;
}
.main-content.no-sidebar {
  margin-left: 0;
  width: 100%;
}

.sidebar-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 998;
  cursor: pointer;
}

.notification-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  cursor: pointer;
}

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.loading-spinner {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
}
.error-message {
  position: fixed;
  top: 80px;
  right: 20px;
  padding: 10px 15px;
  background-color: #ffebee;
  color: #c62828;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  z-index: 1001;
}

.module-list-container {
  max-width: 100%;
  overflow-x: auto;
}
.module-list-table {
  max-width: 100%;
  table-layout: fixed;
  width: 100%;
}
.module-list-table th,
.module-list-table td {
  min-width: 60px;
  max-width: 150px;
  padding: 8px;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-wrap: break-word;
}
.module-list-table input[type="checkbox"] {
  cursor: pointer;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}
.module-list-table input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.module-list-table .loading-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.expired-module {
  opacity: 0.6;
  background-color: #f8d7da;
  cursor: not-allowed;
}
@keyframes spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}
.user-name::after {
  content: ' | ';
  white-space: pre;
}

/* === DASHBOARD – scrollbar widoczny === */
.dashboard-view,
.dashboard-nav,
.favorites-grid,
.dashboard-notes-notification-container,
.dashboard-notes-tiles,
.note-tile {
  overflow-y: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* Media queries */
@media (max-width: 768px) {
  .header {
    padding: 8px 10px;
  }
  .header-content {
    flex-direction: row;
    align-items: center;
    gap: 5px;
    padding: 0 5px;
    flex-wrap: nowrap;
  }
  .header-left {
    gap: 5px;
    flex-shrink: 1;
  }
  .header-left h1 {
    font-size: 1.2em;
    margin: 0;
  }
  .header-right {
    gap: 5px;
    flex-shrink: 1;
  }
  .header-user-info {
    font-size: 0.85em;
    min-width: 0;
    margin: 0;
  }
  .user-name {
    display: none;
  }
  .unit-number {
    display: inline;
  }
  .header-actions {
    gap: 10px;
    flex-shrink: 0;
  }
  .logout-button {
    display: none;
  }
  .toggle-sidebar-button,
  .dashboard-button,
  .notification-button,
  .profile-button,
  .favorite-screen-badge,
  .favorite-button {
    width: 42px;
    height: 42px;
    padding: 6px;
  }
  .favorite-screen-menu-button {
    width: 42px;
    height: 42px;
    padding: 6px;
  }
  .sidebar {
    width: 100vw;
    max-width: 100vw;
    padding: 0;
  }
  .sidebar:not(.sidebar-hidden) {
    transform: translateX(0);
  }
  .main-content {
    margin-left: 0;
    width: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .main-content.no-sidebar {
    margin-left: 0;
    width: 100%;
  }
  .module-list-table th,
  .module-list-table td {
    min-width: 50px;
    max-width: 100px;
    padding: 6px;
    font-size: 12px;
  }
  .notification-modal {
    width: 90%;
    right: 5%;
  }
}
@media (max-width: 480px) {
  .header-left h1 {
    font-size: 1.1em;
  }
  .header-user-info {
    font-size: 0.8em;
  }
  .header-actions {
    gap: 5px;
  }
  .logout-button {
    padding: 5px 10px;
    font-size: 0.85em;
  }
}
.loading-message {
  text-align: center;
  padding: 20px;
  color: #666;
}/*!
 * Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2025 Fonticons, Inc.
 */
.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0{--fa:"\30 "}.fa-1{--fa:"\31 "}.fa-2{--fa:"\32 "}.fa-3{--fa:"\33 "}.fa-4{--fa:"\34 "}.fa-5{--fa:"\35 "}.fa-6{--fa:"\36 "}.fa-7{--fa:"\37 "}.fa-8{--fa:"\38 "}.fa-9{--fa:"\39 "}.fa-exclamation{--fa:"\!"}.fa-hashtag{--fa:"\#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}.fa-percent,.fa-percentage{--fa:"\%"}.fa-asterisk{--fa:"\*"}.fa-add,.fa-plus{--fa:"\+"}.fa-less-than{--fa:"\<"}.fa-equals{--fa:"\="}.fa-greater-than{--fa:"\>"}.fa-question{--fa:"\?"}.fa-at{--fa:"\@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-faucet{--fa:"\e005"}.fa-faucet-drip{--fa:"\e006"}.fa-house-chimney-window{--fa:"\e00d"}.fa-house-signal{--fa:"\e012"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-trailer{--fa:"\e041"}.fa-bacteria{--fa:"\e059"}.fa-bacterium{--fa:"\e05a"}.fa-box-tissue{--fa:"\e05b"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-hand-sparkles{--fa:"\e05d"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}.fa-head-side-cough{--fa:"\e061"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-head-side-mask{--fa:"\e063"}.fa-head-side-virus{--fa:"\e064"}.fa-house-chimney-user{--fa:"\e065"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-lungs-virus{--fa:"\e067"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-plane-slash{--fa:"\e069"}.fa-pump-medical{--fa:"\e06a"}.fa-pump-soap{--fa:"\e06b"}.fa-shield-virus{--fa:"\e06c"}.fa-sink{--fa:"\e06d"}.fa-soap{--fa:"\e06e"}.fa-stopwatch-20{--fa:"\e06f"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-store-slash{--fa:"\e071"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-users-slash{--fa:"\e073"}.fa-virus{--fa:"\e074"}.fa-virus-slash{--fa:"\e075"}.fa-viruses{--fa:"\e076"}.fa-vest{--fa:"\e085"}.fa-vest-patches{--fa:"\e086"}.fa-arrow-trend-down{--fa:"\e097"}.fa-arrow-trend-up{--fa:"\e098"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-austral-sign{--fa:"\e0a9"}.fa-baht-sign{--fa:"\e0ac"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-book-bookmark{--fa:"\e0bb"}.fa-camera-rotate{--fa:"\e0d8"}.fa-cedi-sign{--fa:"\e0df"}.fa-chart-column{--fa:"\e0e3"}.fa-chart-gantt{--fa:"\e0e4"}.fa-clapperboard{--fa:"\e131"}.fa-clover{--fa:"\e139"}.fa-code-compare{--fa:"\e13a"}.fa-code-fork{--fa:"\e13b"}.fa-code-pull-request{--fa:"\e13c"}.fa-colon-sign{--fa:"\e140"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-display{--fa:"\e163"}.fa-dong-sign{--fa:"\e169"}.fa-elevator{--fa:"\e16d"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-florin-sign{--fa:"\e184"}.fa-folder-closed{--fa:"\e185"}.fa-franc-sign{--fa:"\e18f"}.fa-guarani-sign{--fa:"\e19a"}.fa-gun{--fa:"\e19b"}.fa-hands-clapping{--fa:"\e1a8"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-kip-sign{--fa:"\e1c4"}.fa-lari-sign{--fa:"\e1c8"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-manat-sign{--fa:"\e1d5"}.fa-mask-face{--fa:"\e1d7"}.fa-mill-sign{--fa:"\e1ed"}.fa-money-bills{--fa:"\e1f3"}.fa-naira-sign{--fa:"\e1f6"}.fa-notdef{--fa:"\e1fe"}.fa-panorama{--fa:"\e209"}.fa-peseta-sign{--fa:"\e221"}.fa-peso-sign{--fa:"\e222"}.fa-plane-up{--fa:"\e22d"}.fa-rupiah-sign{--fa:"\e23d"}.fa-stairs{--fa:"\e289"}.fa-timeline{--fa:"\e29c"}.fa-truck-front{--fa:"\e2b7"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-vault{--fa:"\e2c5"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bowl-rice{--fa:"\e2eb"}.fa-person-pregnant{--fa:"\e31e"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-house-crack{--fa:"\e3b1"}.fa-house-medical{--fa:"\e3b2"}.fa-cent-sign{--fa:"\e3f5"}.fa-plus-minus{--fa:"\e43c"}.fa-sailboat{--fa:"\e445"}.fa-section{--fa:"\e447"}.fa-shrimp{--fa:"\e448"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-chart-simple{--fa:"\e473"}.fa-diagram-next{--fa:"\e476"}.fa-diagram-predecessor{--fa:"\e477"}.fa-diagram-successor{--fa:"\e47a"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-bug-slash{--fa:"\e490"}.fa-file-circle-plus{--fa:"\e494"}.fa-shop-lock{--fa:"\e4a5"}.fa-virus-covid{--fa:"\e4a8"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-anchor-lock{--fa:"\e4ad"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-arrows-spin{--fa:"\e4bb"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-bore-hole{--fa:"\e4c3"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-bottle-water{--fa:"\e4c5"}.fa-bowl-food{--fa:"\e4c6"}.fa-boxes-packing{--fa:"\e4c7"}.fa-bridge{--fa:"\e4c8"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-bridge-water{--fa:"\e4ce"}.fa-bucket{--fa:"\e4cf"}.fa-bugs{--fa:"\e4d0"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-building-circle-check{--fa:"\e4d2"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-building-flag{--fa:"\e4d5"}.fa-building-lock{--fa:"\e4d6"}.fa-building-ngo{--fa:"\e4d7"}.fa-building-shield{--fa:"\e4d8"}.fa-building-un{--fa:"\e4d9"}.fa-building-user{--fa:"\e4da"}.fa-building-wheat{--fa:"\e4db"}.fa-burst{--fa:"\e4dc"}.fa-car-on{--fa:"\e4dd"}.fa-car-tunnel{--fa:"\e4de"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-children{--fa:"\e4e1"}.fa-circle-nodes{--fa:"\e4e2"}.fa-clipboard-question{--fa:"\e4e3"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-computer{--fa:"\e4e5"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-explosion{--fa:"\e4e9"}.fa-ferry{--fa:"\e4ea"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-file-circle-question{--fa:"\e4ef"}.fa-file-shield{--fa:"\e4f0"}.fa-fire-burner{--fa:"\e4f1"}.fa-fish-fins{--fa:"\e4f2"}.fa-flask-vial{--fa:"\e4f3"}.fa-glass-water{--fa:"\e4f4"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-handcuffs{--fa:"\e4f8"}.fa-hands-bound{--fa:"\e4f9"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-heart-circle-plus{--fa:"\e500"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-helicopter-symbol{--fa:"\e502"}.fa-helmet-un{--fa:"\e503"}.fa-hill-avalanche{--fa:"\e507"}.fa-hill-rockslide{--fa:"\e508"}.fa-house-circle-check{--fa:"\e509"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-house-fire{--fa:"\e50c"}.fa-house-flag{--fa:"\e50d"}.fa-house-flood-water{--fa:"\e50e"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-house-lock{--fa:"\e510"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-house-medical-flag{--fa:"\e514"}.fa-house-tsunami{--fa:"\e515"}.fa-jar{--fa:"\e516"}.fa-jar-wheat{--fa:"\e517"}.fa-jet-fighter-up{--fa:"\e518"}.fa-jug-detergent{--fa:"\e519"}.fa-kitchen-set{--fa:"\e51a"}.fa-land-mine-on{--fa:"\e51b"}.fa-landmark-flag{--fa:"\e51c"}.fa-laptop-file{--fa:"\e51d"}.fa-lines-leaning{--fa:"\e51e"}.fa-location-pin-lock{--fa:"\e51f"}.fa-locust{--fa:"\e520"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-mask-ventilator{--fa:"\e524"}.fa-mattress-pillow{--fa:"\e525"}.fa-mobile-retro{--fa:"\e527"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-mosquito{--fa:"\e52b"}.fa-mosquito-net{--fa:"\e52c"}.fa-mound{--fa:"\e52d"}.fa-mountain-city{--fa:"\e52e"}.fa-mountain-sun{--fa:"\e52f"}.fa-oil-well{--fa:"\e532"}.fa-people-group{--fa:"\e533"}.fa-people-line{--fa:"\e534"}.fa-people-pulling{--fa:"\e535"}.fa-people-robbery{--fa:"\e536"}.fa-people-roof{--fa:"\e537"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-person-burst{--fa:"\e53b"}.fa-person-cane{--fa:"\e53c"}.fa-person-chalkboard{--fa:"\e53d"}.fa-person-circle-check{--fa:"\e53e"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-person-circle-minus{--fa:"\e540"}.fa-person-circle-plus{--fa:"\e541"}.fa-person-circle-question{--fa:"\e542"}.fa-person-circle-xmark{--fa:"\e543"}.fa-person-dress-burst{--fa:"\e544"}.fa-person-drowning{--fa:"\e545"}.fa-person-falling{--fa:"\e546"}.fa-person-falling-burst{--fa:"\e547"}.fa-person-half-dress{--fa:"\e548"}.fa-person-harassing{--fa:"\e549"}.fa-person-military-pointing{--fa:"\e54a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-person-military-to-person{--fa:"\e54c"}.fa-person-rays{--fa:"\e54d"}.fa-person-rifle{--fa:"\e54e"}.fa-person-shelter{--fa:"\e54f"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-person-walking-luggage{--fa:"\e554"}.fa-plane-circle-check{--fa:"\e555"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-plane-lock{--fa:"\e558"}.fa-plate-wheat{--fa:"\e55a"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-plug-circle-check{--fa:"\e55c"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-ranking-star{--fa:"\e561"}.fa-road-barrier{--fa:"\e562"}.fa-road-bridge{--fa:"\e563"}.fa-road-circle-check{--fa:"\e564"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-road-circle-xmark{--fa:"\e566"}.fa-road-lock{--fa:"\e567"}.fa-road-spikes{--fa:"\e568"}.fa-rug{--fa:"\e569"}.fa-sack-xmark{--fa:"\e56a"}.fa-school-circle-check{--fa:"\e56b"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-school-flag{--fa:"\e56e"}.fa-school-lock{--fa:"\e56f"}.fa-sheet-plastic{--fa:"\e571"}.fa-shield-cat{--fa:"\e572"}.fa-shield-dog{--fa:"\e573"}.fa-shield-heart{--fa:"\e574"}.fa-square-nfi{--fa:"\e576"}.fa-square-person-confined{--fa:"\e577"}.fa-square-virus{--fa:"\e578"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-tarp{--fa:"\e57b"}.fa-tarp-droplet{--fa:"\e57c"}.fa-tent{--fa:"\e57d"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tent-arrows-down{--fa:"\e581"}.fa-tents{--fa:"\e582"}.fa-toilet-portable{--fa:"\e583"}.fa-toilets-portable{--fa:"\e584"}.fa-tower-cell{--fa:"\e585"}.fa-tower-observation{--fa:"\e586"}.fa-tree-city{--fa:"\e587"}.fa-trowel{--fa:"\e589"}.fa-trowel-bricks{--fa:"\e58a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-truck-droplet{--fa:"\e58c"}.fa-truck-field{--fa:"\e58d"}.fa-truck-field-un{--fa:"\e58e"}.fa-truck-plane{--fa:"\e58f"}.fa-users-between-lines{--fa:"\e591"}.fa-users-line{--fa:"\e592"}.fa-users-rays{--fa:"\e593"}.fa-users-rectangle{--fa:"\e594"}.fa-users-viewfinder{--fa:"\e595"}.fa-vial-circle-check{--fa:"\e596"}.fa-vial-virus{--fa:"\e597"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-worm{--fa:"\e599"}.fa-xmarks-lines{--fa:"\e59a"}.fa-child-dress{--fa:"\e59c"}.fa-child-reaching{--fa:"\e59d"}.fa-file-circle-check{--fa:"\e5a0"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-person-through-window{--fa:"\e5a9"}.fa-plant-wilt{--fa:"\e5aa"}.fa-stapler{--fa:"\e5af"}.fa-train-tram{--fa:"\e5b4"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-chart-diagram{--fa:"\e695"}.fa-comment-nodes{--fa:"\e696"}.fa-file-fragment{--fa:"\e697"}.fa-file-half-dashed{--fa:"\e698"}.fa-hexagon-nodes{--fa:"\e699"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-square-binary{--fa:"\e69b"}.fa-pentagon{--fa:"\e790"}.fa-non-binary{--fa:"\e807"}.fa-spiral{--fa:"\e80a"}.fa-mobile-vibrate{--fa:"\e816"}.fa-single-quote-left{--fa:"\e81b"}.fa-single-quote-right{--fa:"\e81c"}.fa-bus-side{--fa:"\e81d"}.fa-heptagon,.fa-septagon{--fa:"\e820"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-music{--fa:"\f001"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-check{--fa:"\f00c"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-power-off{--fa:"\f011"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-road{--fa:"\f018"}.fa-download{--fa:"\f019"}.fa-inbox{--fa:"\f01c"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-lock{--fa:"\f023"}.fa-flag{--fa:"\f024"}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}.fa-volume-off{--fa:"\f026"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-qrcode{--fa:"\f029"}.fa-barcode{--fa:"\f02a"}.fa-tag{--fa:"\f02b"}.fa-tags{--fa:"\f02c"}.fa-book{--fa:"\f02d"}.fa-bookmark{--fa:"\f02e"}.fa-print{--fa:"\f02f"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-font{--fa:"\f031"}.fa-bold{--fa:"\f032"}.fa-italic{--fa:"\f033"}.fa-text-height{--fa:"\f034"}.fa-text-width{--fa:"\f035"}.fa-align-left{--fa:"\f036"}.fa-align-center{--fa:"\f037"}.fa-align-right{--fa:"\f038"}.fa-align-justify{--fa:"\f039"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-indent{--fa:"\f03c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-image{--fa:"\f03e"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-backward{--fa:"\f04a"}.fa-play{--fa:"\f04b"}.fa-pause{--fa:"\f04c"}.fa-stop{--fa:"\f04d"}.fa-forward{--fa:"\f04e"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-eject{--fa:"\f052"}.fa-chevron-left{--fa:"\f053"}.fa-chevron-right{--fa:"\f054"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-crosshairs{--fa:"\f05b"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-left{--fa:"\f060"}.fa-arrow-right{--fa:"\f061"}.fa-arrow-up{--fa:"\f062"}.fa-arrow-down{--fa:"\f063"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-expand{--fa:"\f065"}.fa-compress{--fa:"\f066"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-gift{--fa:"\f06b"}.fa-leaf{--fa:"\f06c"}.fa-fire{--fa:"\f06d"}.fa-eye{--fa:"\f06e"}.fa-eye-slash{--fa:"\f070"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-plane{--fa:"\f072"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-comment{--fa:"\f075"}.fa-magnet{--fa:"\f076"}.fa-chevron-up{--fa:"\f077"}.fa-chevron-down{--fa:"\f078"}.fa-retweet{--fa:"\f079"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-folder-open{--fa:"\f07c"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-camera-retro{--fa:"\f083"}.fa-key{--fa:"\f084"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-comments{--fa:"\f086"}.fa-star-half{--fa:"\f089"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-trophy{--fa:"\f091"}.fa-upload{--fa:"\f093"}.fa-lemon{--fa:"\f094"}.fa-phone{--fa:"\f095"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-unlock{--fa:"\f09c"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-bullhorn{--fa:"\f0a1"}.fa-certificate{--fa:"\f0a3"}.fa-hand-point-right{--fa:"\f0a4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-hand-point-up{--fa:"\f0a6"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-globe{--fa:"\f0ac"}.fa-wrench{--fa:"\f0ad"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-filter{--fa:"\f0b0"}.fa-briefcase{--fa:"\f0b1"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-users{--fa:"\f0c0"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-cloud{--fa:"\f0c2"}.fa-flask{--fa:"\f0c3"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-copy{--fa:"\f0c5"}.fa-paperclip{--fa:"\f0c6"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-square{--fa:"\f0c8"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-strikethrough{--fa:"\f0cc"}.fa-underline{--fa:"\f0cd"}.fa-table{--fa:"\f0ce"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-truck{--fa:"\f0d1"}.fa-money-bill{--fa:"\f0d6"}.fa-caret-down{--fa:"\f0d7"}.fa-caret-up{--fa:"\f0d8"}.fa-caret-left{--fa:"\f0d9"}.fa-caret-right{--fa:"\f0da"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-envelope{--fa:"\f0e0"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-sitemap{--fa:"\f0e8"}.fa-umbrella{--fa:"\f0e9"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-lightbulb{--fa:"\f0eb"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-stethoscope{--fa:"\f0f1"}.fa-suitcase{--fa:"\f0f2"}.fa-bell{--fa:"\f0f3"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-angle-left{--fa:"\f104"}.fa-angle-right{--fa:"\f105"}.fa-angle-up{--fa:"\f106"}.fa-angle-down{--fa:"\f107"}.fa-laptop{--fa:"\f109"}.fa-tablet-button{--fa:"\f10a"}.fa-mobile-button{--fa:"\f10b"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-spinner{--fa:"\f110"}.fa-circle{--fa:"\f111"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-gamepad{--fa:"\f11b"}.fa-keyboard{--fa:"\f11c"}.fa-flag-checkered{--fa:"\f11e"}.fa-terminal{--fa:"\f120"}.fa-code{--fa:"\f121"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-location-arrow{--fa:"\f124"}.fa-crop{--fa:"\f125"}.fa-code-branch{--fa:"\f126"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-info{--fa:"\f129"}.fa-superscript{--fa:"\f12b"}.fa-subscript{--fa:"\f12c"}.fa-eraser{--fa:"\f12d"}.fa-puzzle-piece{--fa:"\f12e"}.fa-microphone{--fa:"\f130"}.fa-microphone-slash{--fa:"\f131"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-calendar{--fa:"\f133"}.fa-fire-extinguisher{--fa:"\f134"}.fa-rocket{--fa:"\f135"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-anchor{--fa:"\f13d"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-bullseye{--fa:"\f140"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-ticket{--fa:"\f145"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-file{--fa:"\f15b"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-thumbs-up{--fa:"\f164"}.fa-thumbs-down{--fa:"\f165"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-male,.fa-person{--fa:"\f183"}.fa-sun{--fa:"\f185"}.fa-moon{--fa:"\f186"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-bug{--fa:"\f188"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-wheelchair{--fa:"\f193"}.fa-lira-sign{--fa:"\f195"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-language{--fa:"\f1ab"}.fa-fax{--fa:"\f1ac"}.fa-building{--fa:"\f1ad"}.fa-child{--fa:"\f1ae"}.fa-paw{--fa:"\f1b0"}.fa-cube{--fa:"\f1b2"}.fa-cubes{--fa:"\f1b3"}.fa-recycle{--fa:"\f1b8"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-tree{--fa:"\f1bb"}.fa-database{--fa:"\f1c0"}.fa-file-pdf{--fa:"\f1c1"}.fa-file-word{--fa:"\f1c2"}.fa-file-excel{--fa:"\f1c3"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-file-image{--fa:"\f1c5"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-file-audio{--fa:"\f1c7"}.fa-file-video{--fa:"\f1c8"}.fa-file-code{--fa:"\f1c9"}.fa-life-ring{--fa:"\f1cd"}.fa-circle-notch{--fa:"\f1ce"}.fa-paper-plane{--fa:"\f1d8"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-paragraph{--fa:"\f1dd"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-bomb{--fa:"\f1e2"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-binoculars{--fa:"\f1e5"}.fa-plug{--fa:"\f1e6"}.fa-newspaper{--fa:"\f1ea"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-calculator{--fa:"\f1ec"}.fa-bell-slash{--fa:"\f1f6"}.fa-trash{--fa:"\f1f8"}.fa-copyright{--fa:"\f1f9"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-toggle-off{--fa:"\f204"}.fa-toggle-on{--fa:"\f205"}.fa-bicycle{--fa:"\f206"}.fa-bus{--fa:"\f207"}.fa-closed-captioning{--fa:"\f20a"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-cart-plus{--fa:"\f217"}.fa-cart-arrow-down{--fa:"\f218"}.fa-diamond{--fa:"\f219"}.fa-ship{--fa:"\f21a"}.fa-user-secret{--fa:"\f21b"}.fa-motorcycle{--fa:"\f21c"}.fa-street-view{--fa:"\f21d"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-venus{--fa:"\f221"}.fa-mars{--fa:"\f222"}.fa-mercury{--fa:"\f223"}.fa-mars-and-venus{--fa:"\f224"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-venus-double{--fa:"\f226"}.fa-mars-double{--fa:"\f227"}.fa-venus-mars{--fa:"\f228"}.fa-mars-stroke{--fa:"\f229"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-neuter{--fa:"\f22c"}.fa-genderless{--fa:"\f22d"}.fa-server{--fa:"\f233"}.fa-user-plus{--fa:"\f234"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-bed{--fa:"\f236"}.fa-train{--fa:"\f238"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-i-cursor{--fa:"\f246"}.fa-object-group{--fa:"\f247"}.fa-object-ungroup{--fa:"\f248"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-clone{--fa:"\f24d"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-hand-scissors{--fa:"\f257"}.fa-hand-lizard{--fa:"\f258"}.fa-hand-spock{--fa:"\f259"}.fa-hand-pointer{--fa:"\f25a"}.fa-hand-peace{--fa:"\f25b"}.fa-trademark{--fa:"\f25c"}.fa-registered{--fa:"\f25d"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-calendar-plus{--fa:"\f271"}.fa-calendar-minus{--fa:"\f272"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-calendar-check{--fa:"\f274"}.fa-industry{--fa:"\f275"}.fa-map-pin{--fa:"\f276"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-map{--fa:"\f279"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-universal-access{--fa:"\f29a"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-audio-description{--fa:"\f29e"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-braille{--fa:"\f2a1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}.fa-envelope-open{--fa:"\f2b6"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-id-badge{--fa:"\f2c1"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-shower{--fa:"\f2cc"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-podcast{--fa:"\f2ce"}.fa-window-maximize{--fa:"\f2d0"}.fa-window-minimize{--fa:"\f2d1"}.fa-window-restore{--fa:"\f2d2"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-microchip{--fa:"\f2db"}.fa-snowflake{--fa:"\f2dc"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-stopwatch{--fa:"\f2f2"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-poo{--fa:"\f2fe"}.fa-images{--fa:"\f302"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-pen{--fa:"\f304"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-octagon{--fa:"\f306"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-hexagon{--fa:"\f312"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-clipboard{--fa:"\f328"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-alarm-clock{--fa:"\f34e"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-repeat{--fa:"\f363"}.fa-code-commit{--fa:"\f386"}.fa-code-merge{--fa:"\f387"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-gem{--fa:"\f3a5"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-lock-open{--fa:"\f3c1"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-phone-slash{--fa:"\f3dd"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-bowling-ball{--fa:"\f436"}.fa-chess{--fa:"\f439"}.fa-chess-bishop{--fa:"\f43a"}.fa-chess-board{--fa:"\f43c"}.fa-chess-king{--fa:"\f43f"}.fa-chess-knight{--fa:"\f441"}.fa-chess-pawn{--fa:"\f443"}.fa-chess-queen{--fa:"\f445"}.fa-chess-rook{--fa:"\f447"}.fa-dumbbell{--fa:"\f44b"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-hockey-puck{--fa:"\f453"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-square-full{--fa:"\f45c"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-box{--fa:"\f466"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-briefcase-medical{--fa:"\f469"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-capsules{--fa:"\f46b"}.fa-clipboard-check{--fa:"\f46c"}.fa-clipboard-list{--fa:"\f46d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-dna{--fa:"\f471"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-file-medical{--fa:"\f477"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-notes-medical{--fa:"\f481"}.fa-pallet{--fa:"\f482"}.fa-pills{--fa:"\f484"}.fa-prescription-bottle{--fa:"\f485"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-smoking{--fa:"\f48d"}.fa-syringe{--fa:"\f48e"}.fa-tablets{--fa:"\f490"}.fa-thermometer{--fa:"\f491"}.fa-vial{--fa:"\f492"}.fa-vials{--fa:"\f493"}.fa-warehouse{--fa:"\f494"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-x-ray{--fa:"\f497"}.fa-box-open{--fa:"\f49e"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-comment-slash{--fa:"\f4b3"}.fa-couch{--fa:"\f4b8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-dove{--fa:"\f4ba"}.fa-hand-holding{--fa:"\f4bd"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-parachute-box{--fa:"\f4cd"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-piggy-bank{--fa:"\f4d3"}.fa-ribbon{--fa:"\f4d6"}.fa-route{--fa:"\f4d7"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-tape{--fa:"\f4db"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-truck-moving{--fa:"\f4df"}.fa-video-slash{--fa:"\f4e2"}.fa-wine-glass{--fa:"\f4e3"}.fa-user-astronaut{--fa:"\f4fb"}.fa-user-check{--fa:"\f4fc"}.fa-user-clock{--fa:"\f4fd"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-user-graduate{--fa:"\f501"}.fa-user-lock{--fa:"\f502"}.fa-user-minus{--fa:"\f503"}.fa-user-ninja{--fa:"\f504"}.fa-user-shield{--fa:"\f505"}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}.fa-user-tag{--fa:"\f507"}.fa-user-tie{--fa:"\f508"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-blender{--fa:"\f517"}.fa-book-open{--fa:"\f518"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-broom{--fa:"\f51a"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-church{--fa:"\f51d"}.fa-coins{--fa:"\f51e"}.fa-compact-disc{--fa:"\f51f"}.fa-crow{--fa:"\f520"}.fa-crown{--fa:"\f521"}.fa-dice{--fa:"\f522"}.fa-dice-five{--fa:"\f523"}.fa-dice-four{--fa:"\f524"}.fa-dice-one{--fa:"\f525"}.fa-dice-six{--fa:"\f526"}.fa-dice-three{--fa:"\f527"}.fa-dice-two{--fa:"\f528"}.fa-divide{--fa:"\f529"}.fa-door-closed{--fa:"\f52a"}.fa-door-open{--fa:"\f52b"}.fa-feather{--fa:"\f52d"}.fa-frog{--fa:"\f52e"}.fa-gas-pump{--fa:"\f52f"}.fa-glasses{--fa:"\f530"}.fa-greater-than-equal{--fa:"\f532"}.fa-helicopter{--fa:"\f533"}.fa-infinity{--fa:"\f534"}.fa-kiwi-bird{--fa:"\f535"}.fa-less-than-equal{--fa:"\f537"}.fa-memory{--fa:"\f538"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-money-bill-wave{--fa:"\f53a"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-money-check{--fa:"\f53c"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-not-equal{--fa:"\f53e"}.fa-palette{--fa:"\f53f"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-receipt{--fa:"\f543"}.fa-robot{--fa:"\f544"}.fa-ruler{--fa:"\f545"}.fa-ruler-combined{--fa:"\f546"}.fa-ruler-horizontal{--fa:"\f547"}.fa-ruler-vertical{--fa:"\f548"}.fa-school{--fa:"\f549"}.fa-screwdriver{--fa:"\f54a"}.fa-shoe-prints{--fa:"\f54b"}.fa-skull{--fa:"\f54c"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-store{--fa:"\f54e"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-stroopwafel{--fa:"\f551"}.fa-toolbox{--fa:"\f552"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-wallet{--fa:"\f555"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-archway{--fa:"\f557"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-award{--fa:"\f559"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-bezier-curve{--fa:"\f55b"}.fa-bong{--fa:"\f55c"}.fa-brush{--fa:"\f55d"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-cannabis{--fa:"\f55f"}.fa-check-double{--fa:"\f560"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-cookie{--fa:"\f563"}.fa-cookie-bite{--fa:"\f564"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-drum{--fa:"\f569"}.fa-drum-steelpan{--fa:"\f56a"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-file-contract{--fa:"\f56c"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-file-invoice{--fa:"\f570"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-file-prescription{--fa:"\f572"}.fa-file-signature{--fa:"\f573"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-fill{--fa:"\f575"}.fa-fill-drip{--fa:"\f576"}.fa-fingerprint{--fa:"\f577"}.fa-fish{--fa:"\f578"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}.fa-headset{--fa:"\f590"}.fa-highlighter{--fa:"\f591"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-hotel{--fa:"\f594"}.fa-joint{--fa:"\f595"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-marker{--fa:"\f5a1"}.fa-medal{--fa:"\f5a2"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-monument{--fa:"\f5a6"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-paint-roller{--fa:"\f5aa"}.fa-passport{--fa:"\f5ab"}.fa-pen-fancy{--fa:"\f5ac"}.fa-pen-nib{--fa:"\f5ad"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-plane-arrival{--fa:"\f5af"}.fa-plane-departure{--fa:"\f5b0"}.fa-prescription{--fa:"\f5b1"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-signature{--fa:"\f5b7"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-solar-panel{--fa:"\f5ba"}.fa-spa{--fa:"\f5bb"}.fa-splotch{--fa:"\f5bc"}.fa-spray-can{--fa:"\f5bd"}.fa-stamp{--fa:"\f5bf"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-swatchbook{--fa:"\f5c3"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-tooth{--fa:"\f5c9"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-weight-hanging{--fa:"\f5cd"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-atom{--fa:"\f5d2"}.fa-bone{--fa:"\f5d7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-brain{--fa:"\f5dc"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-car-side{--fa:"\f5e4"}.fa-charging-station{--fa:"\f5e7"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}.fa-laptop-code{--fa:"\f5fc"}.fa-layer-group{--fa:"\f5fd"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-lungs{--fa:"\f604"}.fa-microscope{--fa:"\f610"}.fa-oil-can{--fa:"\f613"}.fa-poop{--fa:"\f619"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-star-of-life{--fa:"\f621"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-teeth{--fa:"\f62e"}.fa-teeth-open{--fa:"\f62f"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-traffic-light{--fa:"\f637"}.fa-truck-monster{--fa:"\f63b"}.fa-truck-pickup{--fa:"\f63c"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-ankh{--fa:"\f644"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-city{--fa:"\f64f"}.fa-comment-dollar{--fa:"\f651"}.fa-comments-dollar{--fa:"\f653"}.fa-cross{--fa:"\f654"}.fa-dharmachakra{--fa:"\f655"}.fa-envelope-open-text{--fa:"\f658"}.fa-folder-minus{--fa:"\f65d"}.fa-folder-plus{--fa:"\f65e"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-gopuram{--fa:"\f664"}.fa-hamsa{--fa:"\f665"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-jedi{--fa:"\f669"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-kaaba{--fa:"\f66b"}.fa-khanda{--fa:"\f66d"}.fa-landmark{--fa:"\f66f"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-menorah{--fa:"\f676"}.fa-mosque{--fa:"\f678"}.fa-om{--fa:"\f679"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-peace{--fa:"\f67c"}.fa-place-of-worship{--fa:"\f67f"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-socks{--fa:"\f696"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-star-and-crescent{--fa:"\f699"}.fa-star-of-david{--fa:"\f69a"}.fa-synagogue{--fa:"\f69b"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-torii-gate{--fa:"\f6a1"}.fa-vihara{--fa:"\f6a7"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-yin-yang{--fa:"\f6ad"}.fa-blender-phone{--fa:"\f6b6"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-campground{--fa:"\f6bb"}.fa-cat{--fa:"\f6be"}.fa-chair{--fa:"\f6c0"}.fa-cloud-moon{--fa:"\f6c3"}.fa-cloud-sun{--fa:"\f6c4"}.fa-cow{--fa:"\f6c8"}.fa-dice-d20{--fa:"\f6cf"}.fa-dice-d6{--fa:"\f6d1"}.fa-dog{--fa:"\f6d3"}.fa-dragon{--fa:"\f6d5"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-dungeon{--fa:"\f6d9"}.fa-file-csv{--fa:"\f6dd"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-ghost{--fa:"\f6e2"}.fa-hammer{--fa:"\f6e3"}.fa-hanukiah{--fa:"\f6e6"}.fa-hat-wizard{--fa:"\f6e8"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-hippo{--fa:"\f6ed"}.fa-horse{--fa:"\f6f0"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-mask{--fa:"\f6fa"}.fa-mountain{--fa:"\f6fc"}.fa-network-wired{--fa:"\f6ff"}.fa-otter{--fa:"\f700"}.fa-ring{--fa:"\f70b"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-scroll{--fa:"\f70e"}.fa-skull-crossbones{--fa:"\f714"}.fa-slash{--fa:"\f715"}.fa-spider{--fa:"\f717"}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}.fa-tractor{--fa:"\f722"}.fa-user-injured{--fa:"\f728"}.fa-vr-cardboard{--fa:"\f729"}.fa-wand-sparkles{--fa:"\f72b"}.fa-wind{--fa:"\f72e"}.fa-wine-bottle{--fa:"\f72f"}.fa-cloud-meatball{--fa:"\f73b"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-cloud-rain{--fa:"\f73d"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-democrat{--fa:"\f747"}.fa-flag-usa{--fa:"\f74d"}.fa-hurricane{--fa:"\f751"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-meteor{--fa:"\f753"}.fa-person-booth{--fa:"\f756"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-rainbow{--fa:"\f75b"}.fa-republican{--fa:"\f75e"}.fa-smog{--fa:"\f75f"}.fa-temperature-high{--fa:"\f769"}.fa-temperature-low{--fa:"\f76b"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-tornado{--fa:"\f76f"}.fa-volcano{--fa:"\f770"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-water{--fa:"\f773"}.fa-baby{--fa:"\f77c"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-biohazard{--fa:"\f780"}.fa-blog{--fa:"\f781"}.fa-calendar-day{--fa:"\f783"}.fa-calendar-week{--fa:"\f784"}.fa-candy-cane{--fa:"\f786"}.fa-carrot{--fa:"\f787"}.fa-cash-register{--fa:"\f788"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-dumpster{--fa:"\f793"}.fa-dumpster-fire{--fa:"\f794"}.fa-ethernet{--fa:"\f796"}.fa-gifts{--fa:"\f79c"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-grip-lines{--fa:"\f7a4"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-guitar{--fa:"\f7a6"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-holly-berry{--fa:"\f7aa"}.fa-horse-head{--fa:"\f7ab"}.fa-icicles{--fa:"\f7ad"}.fa-igloo{--fa:"\f7ae"}.fa-mitten{--fa:"\f7b5"}.fa-mug-hot{--fa:"\f7b6"}.fa-radiation{--fa:"\f7b9"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-restroom{--fa:"\f7bd"}.fa-satellite{--fa:"\f7bf"}.fa-satellite-dish{--fa:"\f7c0"}.fa-sd-card{--fa:"\f7c2"}.fa-sim-card{--fa:"\f7c4"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-sleigh{--fa:"\f7cc"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-snowman{--fa:"\f7d0"}.fa-snowplow{--fa:"\f7d2"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-toilet{--fa:"\f7d8"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-bacon{--fa:"\f7e5"}.fa-book-medical{--fa:"\f7e6"}.fa-bread-slice{--fa:"\f7ec"}.fa-cheese{--fa:"\f7ef"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-clipboard-user{--fa:"\f7f3"}.fa-comment-medical{--fa:"\f7f5"}.fa-crutch{--fa:"\f7f7"}.fa-disease{--fa:"\f7fa"}.fa-egg{--fa:"\f7fb"}.fa-folder-tree{--fa:"\f802"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-hand-middle-finger{--fa:"\f806"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-hospital-user{--fa:"\f80d"}.fa-hotdog{--fa:"\f80f"}.fa-ice-cream{--fa:"\f810"}.fa-laptop-medical{--fa:"\f812"}.fa-pager{--fa:"\f815"}.fa-pepper-hot{--fa:"\f816"}.fa-pizza-slice{--fa:"\f818"}.fa-sack-dollar{--fa:"\f81d"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-user-nurse{--fa:"\f82f"}.fa-wave-square{--fa:"\f83e"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-border-all{--fa:"\f84c"}.fa-border-none{--fa:"\f850"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-fan{--fa:"\f863"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-spell-check{--fa:"\f891"}.fa-voicemail{--fa:"\f897"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-radio{--fa:"\f8d7"}.fa-record-vinyl{--fa:"\f8d9"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-caravan{--fa:"\f8ff"}
:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/assets/fa-brands-400-BfBXV7Mm.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:"\e007"}.fa-ideal{--fa:"\e013"}.fa-microblog{--fa:"\e01a"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-unity{--fa:"\e049"}.fa-dailymotion{--fa:"\e052"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-mixer{--fa:"\e056"}.fa-shopify{--fa:"\e057"}.fa-deezer{--fa:"\e077"}.fa-edge-legacy{--fa:"\e078"}.fa-google-pay{--fa:"\e079"}.fa-rust{--fa:"\e07a"}.fa-tiktok{--fa:"\e07b"}.fa-unsplash{--fa:"\e07c"}.fa-cloudflare{--fa:"\e07d"}.fa-guilded{--fa:"\e07e"}.fa-hive{--fa:"\e07f"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-instalod{--fa:"\e081"}.fa-octopus-deploy{--fa:"\e082"}.fa-perbyte{--fa:"\e083"}.fa-uncharted{--fa:"\e084"}.fa-watchman-monitoring{--fa:"\e087"}.fa-wodu{--fa:"\e088"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-bots{--fa:"\e340"}.fa-cmplid{--fa:"\e360"}.fa-bilibili{--fa:"\e3d9"}.fa-golang{--fa:"\e40f"}.fa-pix{--fa:"\e43a"}.fa-sitrox{--fa:"\e44a"}.fa-hashnode{--fa:"\e499"}.fa-meta{--fa:"\e49b"}.fa-padlet{--fa:"\e4a0"}.fa-nfc-directional{--fa:"\e530"}.fa-nfc-symbol{--fa:"\e531"}.fa-screenpal{--fa:"\e570"}.fa-space-awesome{--fa:"\e5ac"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-odysee{--fa:"\e5c6"}.fa-stubber{--fa:"\e5c7"}.fa-debian{--fa:"\e60b"}.fa-shoelace{--fa:"\e60c"}.fa-threads{--fa:"\e618"}.fa-square-threads{--fa:"\e619"}.fa-square-x-twitter{--fa:"\e61a"}.fa-x-twitter{--fa:"\e61b"}.fa-opensuse{--fa:"\e62b"}.fa-letterboxd{--fa:"\e62d"}.fa-square-letterboxd{--fa:"\e62e"}.fa-mintbit{--fa:"\e62f"}.fa-google-scholar{--fa:"\e63b"}.fa-brave{--fa:"\e63c"}.fa-brave-reverse{--fa:"\e63d"}.fa-pixiv{--fa:"\e640"}.fa-upwork{--fa:"\e641"}.fa-webflow{--fa:"\e65c"}.fa-signal-messenger{--fa:"\e663"}.fa-bluesky{--fa:"\e671"}.fa-jxl{--fa:"\e67b"}.fa-square-upwork{--fa:"\e67c"}.fa-web-awesome{--fa:"\e682"}.fa-square-web-awesome{--fa:"\e683"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-dart-lang{--fa:"\e693"}.fa-flutter{--fa:"\e694"}.fa-files-pinwheel{--fa:"\e69f"}.fa-css{--fa:"\e6a2"}.fa-square-bluesky{--fa:"\e6a3"}.fa-openai{--fa:"\e7cf"}.fa-square-linkedin{--fa:"\e7d0"}.fa-cash-app{--fa:"\e7d4"}.fa-disqus{--fa:"\e7d5"}.fa-11ty,.fa-eleventy{--fa:"\e7d6"}.fa-kakao-talk{--fa:"\e7d7"}.fa-linktree{--fa:"\e7d8"}.fa-notion{--fa:"\e7d9"}.fa-pandora{--fa:"\e7da"}.fa-pixelfed{--fa:"\e7db"}.fa-tidal{--fa:"\e7dc"}.fa-vsco{--fa:"\e7dd"}.fa-w3c{--fa:"\e7de"}.fa-lumon{--fa:"\e7e2"}.fa-lumon-drop{--fa:"\e7e3"}.fa-square-figma{--fa:"\e7e4"}.fa-tex{--fa:"\e7ff"}.fa-duolingo{--fa:"\e812"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-linkedin{--fa:"\f08c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-twitter{--fa:"\f099"}.fa-facebook{--fa:"\f09a"}.fa-github{--fa:"\f09b"}.fa-pinterest{--fa:"\f0d2"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-google-plus-g{--fa:"\f0d5"}.fa-linkedin-in{--fa:"\f0e1"}.fa-github-alt{--fa:"\f113"}.fa-maxcdn{--fa:"\f136"}.fa-html5{--fa:"\f13b"}.fa-css3{--fa:"\f13c"}.fa-btc{--fa:"\f15a"}.fa-youtube{--fa:"\f167"}.fa-xing{--fa:"\f168"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-dropbox{--fa:"\f16b"}.fa-stack-overflow{--fa:"\f16c"}.fa-instagram{--fa:"\f16d"}.fa-flickr{--fa:"\f16e"}.fa-adn{--fa:"\f170"}.fa-bitbucket{--fa:"\f171"}.fa-tumblr{--fa:"\f173"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-apple{--fa:"\f179"}.fa-windows{--fa:"\f17a"}.fa-android{--fa:"\f17b"}.fa-linux{--fa:"\f17c"}.fa-dribbble{--fa:"\f17d"}.fa-skype{--fa:"\f17e"}.fa-foursquare{--fa:"\f180"}.fa-trello{--fa:"\f181"}.fa-gratipay{--fa:"\f184"}.fa-vk{--fa:"\f189"}.fa-weibo{--fa:"\f18a"}.fa-renren{--fa:"\f18b"}.fa-pagelines{--fa:"\f18c"}.fa-stack-exchange{--fa:"\f18d"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-wordpress{--fa:"\f19a"}.fa-openid{--fa:"\f19b"}.fa-yahoo{--fa:"\f19e"}.fa-google{--fa:"\f1a0"}.fa-reddit{--fa:"\f1a1"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-stumbleupon{--fa:"\f1a4"}.fa-delicious{--fa:"\f1a5"}.fa-digg{--fa:"\f1a6"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-drupal{--fa:"\f1a9"}.fa-joomla{--fa:"\f1aa"}.fa-behance{--fa:"\f1b4"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-steam{--fa:"\f1b6"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-spotify{--fa:"\f1bc"}.fa-deviantart{--fa:"\f1bd"}.fa-soundcloud{--fa:"\f1be"}.fa-vine{--fa:"\f1ca"}.fa-codepen{--fa:"\f1cb"}.fa-jsfiddle{--fa:"\f1cc"}.fa-rebel{--fa:"\f1d0"}.fa-empire{--fa:"\f1d1"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-git{--fa:"\f1d3"}.fa-hacker-news{--fa:"\f1d4"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-qq{--fa:"\f1d6"}.fa-weixin{--fa:"\f1d7"}.fa-slideshare{--fa:"\f1e7"}.fa-twitch{--fa:"\f1e8"}.fa-yelp{--fa:"\f1e9"}.fa-paypal{--fa:"\f1ed"}.fa-google-wallet{--fa:"\f1ee"}.fa-cc-visa{--fa:"\f1f0"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-cc-discover{--fa:"\f1f2"}.fa-cc-amex{--fa:"\f1f3"}.fa-cc-paypal{--fa:"\f1f4"}.fa-cc-stripe{--fa:"\f1f5"}.fa-lastfm{--fa:"\f202"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-ioxhost{--fa:"\f208"}.fa-angellist{--fa:"\f209"}.fa-buysellads{--fa:"\f20d"}.fa-connectdevelop{--fa:"\f20e"}.fa-dashcube{--fa:"\f210"}.fa-forumbee{--fa:"\f211"}.fa-leanpub{--fa:"\f212"}.fa-sellsy{--fa:"\f213"}.fa-shirtsinbulk{--fa:"\f214"}.fa-simplybuilt{--fa:"\f215"}.fa-skyatlas{--fa:"\f216"}.fa-pinterest-p{--fa:"\f231"}.fa-whatsapp{--fa:"\f232"}.fa-viacoin{--fa:"\f237"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-y-combinator{--fa:"\f23b"}.fa-optin-monster{--fa:"\f23c"}.fa-opencart{--fa:"\f23d"}.fa-expeditedssl{--fa:"\f23e"}.fa-cc-jcb{--fa:"\f24b"}.fa-cc-diners-club{--fa:"\f24c"}.fa-creative-commons{--fa:"\f25e"}.fa-gg{--fa:"\f260"}.fa-gg-circle{--fa:"\f261"}.fa-odnoklassniki{--fa:"\f263"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-get-pocket{--fa:"\f265"}.fa-wikipedia-w{--fa:"\f266"}.fa-safari{--fa:"\f267"}.fa-chrome{--fa:"\f268"}.fa-firefox{--fa:"\f269"}.fa-opera{--fa:"\f26a"}.fa-internet-explorer{--fa:"\f26b"}.fa-contao{--fa:"\f26d"}.fa-500px{--fa:"\f26e"}.fa-amazon{--fa:"\f270"}.fa-houzz{--fa:"\f27c"}.fa-vimeo-v{--fa:"\f27d"}.fa-black-tie{--fa:"\f27e"}.fa-fonticons{--fa:"\f280"}.fa-reddit-alien{--fa:"\f281"}.fa-edge{--fa:"\f282"}.fa-codiepie{--fa:"\f284"}.fa-modx{--fa:"\f285"}.fa-fort-awesome{--fa:"\f286"}.fa-usb{--fa:"\f287"}.fa-product-hunt{--fa:"\f288"}.fa-mixcloud{--fa:"\f289"}.fa-scribd{--fa:"\f28a"}.fa-bluetooth{--fa:"\f293"}.fa-bluetooth-b{--fa:"\f294"}.fa-gitlab{--fa:"\f296"}.fa-wpbeginner{--fa:"\f297"}.fa-wpforms{--fa:"\f298"}.fa-envira{--fa:"\f299"}.fa-glide{--fa:"\f2a5"}.fa-glide-g{--fa:"\f2a6"}.fa-viadeo{--fa:"\f2a9"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-pied-piper{--fa:"\f2ae"}.fa-first-order{--fa:"\f2b0"}.fa-yoast{--fa:"\f2b1"}.fa-themeisle{--fa:"\f2b2"}.fa-google-plus{--fa:"\f2b3"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-linode{--fa:"\f2b8"}.fa-quora{--fa:"\f2c4"}.fa-free-code-camp{--fa:"\f2c5"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-bandcamp{--fa:"\f2d5"}.fa-grav{--fa:"\f2d6"}.fa-etsy{--fa:"\f2d7"}.fa-imdb{--fa:"\f2d8"}.fa-ravelry{--fa:"\f2d9"}.fa-sellcast{--fa:"\f2da"}.fa-superpowers{--fa:"\f2dd"}.fa-wpexplorer{--fa:"\f2de"}.fa-meetup{--fa:"\f2e0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-accessible-icon{--fa:"\f368"}.fa-accusoft{--fa:"\f369"}.fa-adversal{--fa:"\f36a"}.fa-affiliatetheme{--fa:"\f36b"}.fa-algolia{--fa:"\f36c"}.fa-amilia{--fa:"\f36d"}.fa-angrycreative{--fa:"\f36e"}.fa-app-store{--fa:"\f36f"}.fa-app-store-ios{--fa:"\f370"}.fa-apper{--fa:"\f371"}.fa-asymmetrik{--fa:"\f372"}.fa-audible{--fa:"\f373"}.fa-avianex{--fa:"\f374"}.fa-aws{--fa:"\f375"}.fa-bimobject{--fa:"\f378"}.fa-bitcoin{--fa:"\f379"}.fa-bity{--fa:"\f37a"}.fa-blackberry{--fa:"\f37b"}.fa-blogger{--fa:"\f37c"}.fa-blogger-b{--fa:"\f37d"}.fa-buromobelexperte{--fa:"\f37f"}.fa-centercode{--fa:"\f380"}.fa-cloudscale{--fa:"\f383"}.fa-cloudsmith{--fa:"\f384"}.fa-cloudversify{--fa:"\f385"}.fa-cpanel{--fa:"\f388"}.fa-css3-alt{--fa:"\f38b"}.fa-cuttlefish{--fa:"\f38c"}.fa-d-and-d{--fa:"\f38d"}.fa-deploydog{--fa:"\f38e"}.fa-deskpro{--fa:"\f38f"}.fa-digital-ocean{--fa:"\f391"}.fa-discord{--fa:"\f392"}.fa-discourse{--fa:"\f393"}.fa-dochub{--fa:"\f394"}.fa-docker{--fa:"\f395"}.fa-draft2digital{--fa:"\f396"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-dyalog{--fa:"\f399"}.fa-earlybirds{--fa:"\f39a"}.fa-erlang{--fa:"\f39d"}.fa-facebook-f{--fa:"\f39e"}.fa-facebook-messenger{--fa:"\f39f"}.fa-firstdraft{--fa:"\f3a1"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-freebsd{--fa:"\f3a4"}.fa-gitkraken{--fa:"\f3a6"}.fa-gofore{--fa:"\f3a7"}.fa-goodreads{--fa:"\f3a8"}.fa-goodreads-g{--fa:"\f3a9"}.fa-google-drive{--fa:"\f3aa"}.fa-google-play{--fa:"\f3ab"}.fa-gripfire{--fa:"\f3ac"}.fa-grunt{--fa:"\f3ad"}.fa-gulp{--fa:"\f3ae"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-hotjar{--fa:"\f3b1"}.fa-hubspot{--fa:"\f3b2"}.fa-itunes{--fa:"\f3b4"}.fa-itunes-note{--fa:"\f3b5"}.fa-jenkins{--fa:"\f3b6"}.fa-joget{--fa:"\f3b7"}.fa-js{--fa:"\f3b8"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-keycdn{--fa:"\f3ba"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-laravel{--fa:"\f3bd"}.fa-line{--fa:"\f3c0"}.fa-lyft{--fa:"\f3c3"}.fa-magento{--fa:"\f3c4"}.fa-medapps{--fa:"\f3c6"}.fa-medrt{--fa:"\f3c8"}.fa-microsoft{--fa:"\f3ca"}.fa-mix{--fa:"\f3cb"}.fa-mizuni{--fa:"\f3cc"}.fa-monero{--fa:"\f3d0"}.fa-napster{--fa:"\f3d2"}.fa-node-js{--fa:"\f3d3"}.fa-npm{--fa:"\f3d4"}.fa-ns8{--fa:"\f3d5"}.fa-nutritionix{--fa:"\f3d6"}.fa-page4{--fa:"\f3d7"}.fa-palfed{--fa:"\f3d8"}.fa-patreon{--fa:"\f3d9"}.fa-periscope{--fa:"\f3da"}.fa-phabricator{--fa:"\f3db"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-playstation{--fa:"\f3df"}.fa-pushed{--fa:"\f3e1"}.fa-python{--fa:"\f3e2"}.fa-red-river{--fa:"\f3e3"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-replyd{--fa:"\f3e6"}.fa-resolving{--fa:"\f3e7"}.fa-rocketchat{--fa:"\f3e8"}.fa-rockrms{--fa:"\f3e9"}.fa-schlix{--fa:"\f3ea"}.fa-searchengin{--fa:"\f3eb"}.fa-servicestack{--fa:"\f3ec"}.fa-sistrix{--fa:"\f3ee"}.fa-speakap{--fa:"\f3f3"}.fa-staylinked{--fa:"\f3f5"}.fa-steam-symbol{--fa:"\f3f6"}.fa-sticker-mule{--fa:"\f3f7"}.fa-studiovinari{--fa:"\f3f8"}.fa-supple{--fa:"\f3f9"}.fa-uber{--fa:"\f402"}.fa-uikit{--fa:"\f403"}.fa-uniregistry{--fa:"\f404"}.fa-untappd{--fa:"\f405"}.fa-ussunnah{--fa:"\f407"}.fa-vaadin{--fa:"\f408"}.fa-viber{--fa:"\f409"}.fa-vimeo{--fa:"\f40a"}.fa-vnv{--fa:"\f40b"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-whmcs{--fa:"\f40d"}.fa-wordpress-simple{--fa:"\f411"}.fa-xbox{--fa:"\f412"}.fa-yandex{--fa:"\f413"}.fa-yandex-international{--fa:"\f414"}.fa-apple-pay{--fa:"\f415"}.fa-cc-apple-pay{--fa:"\f416"}.fa-fly{--fa:"\f417"}.fa-node{--fa:"\f419"}.fa-osi{--fa:"\f41a"}.fa-react{--fa:"\f41b"}.fa-autoprefixer{--fa:"\f41c"}.fa-less{--fa:"\f41d"}.fa-sass{--fa:"\f41e"}.fa-vuejs{--fa:"\f41f"}.fa-angular{--fa:"\f420"}.fa-aviato{--fa:"\f421"}.fa-ember{--fa:"\f423"}.fa-gitter{--fa:"\f426"}.fa-hooli{--fa:"\f427"}.fa-strava{--fa:"\f428"}.fa-stripe{--fa:"\f429"}.fa-stripe-s{--fa:"\f42a"}.fa-typo3{--fa:"\f42b"}.fa-amazon-pay{--fa:"\f42c"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-ethereum{--fa:"\f42e"}.fa-korvue{--fa:"\f42f"}.fa-elementor{--fa:"\f430"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-flipboard{--fa:"\f44d"}.fa-hips{--fa:"\f452"}.fa-php{--fa:"\f457"}.fa-quinscape{--fa:"\f459"}.fa-readme{--fa:"\f4d5"}.fa-java{--fa:"\f4e4"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-ebay{--fa:"\f4f4"}.fa-keybase{--fa:"\f4f5"}.fa-mastodon{--fa:"\f4f6"}.fa-r-project{--fa:"\f4f7"}.fa-researchgate{--fa:"\f4f8"}.fa-teamspeak{--fa:"\f4f9"}.fa-first-order-alt{--fa:"\f50a"}.fa-fulcrum{--fa:"\f50b"}.fa-galactic-republic{--fa:"\f50c"}.fa-galactic-senate{--fa:"\f50d"}.fa-jedi-order{--fa:"\f50e"}.fa-mandalorian{--fa:"\f50f"}.fa-old-republic{--fa:"\f510"}.fa-phoenix-squadron{--fa:"\f511"}.fa-sith{--fa:"\f512"}.fa-trade-federation{--fa:"\f513"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-hornbill{--fa:"\f592"}.fa-mailchimp{--fa:"\f59e"}.fa-megaport{--fa:"\f5a3"}.fa-nimblr{--fa:"\f5a8"}.fa-rev{--fa:"\f5b2"}.fa-shopware{--fa:"\f5b5"}.fa-squarespace{--fa:"\f5be"}.fa-themeco{--fa:"\f5c6"}.fa-weebly{--fa:"\f5cc"}.fa-wix{--fa:"\f5cf"}.fa-ello{--fa:"\f5f1"}.fa-hackerrank{--fa:"\f5f7"}.fa-kaggle{--fa:"\f5fa"}.fa-markdown{--fa:"\f60f"}.fa-neos{--fa:"\f612"}.fa-zhihu{--fa:"\f63f"}.fa-alipay{--fa:"\f642"}.fa-the-red-yeti{--fa:"\f69d"}.fa-critical-role{--fa:"\f6c9"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-dev{--fa:"\f6cc"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-think-peaks{--fa:"\f731"}.fa-reacteurope{--fa:"\f75d"}.fa-artstation{--fa:"\f77a"}.fa-atlassian{--fa:"\f77b"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-centos{--fa:"\f789"}.fa-confluence{--fa:"\f78d"}.fa-dhl{--fa:"\f790"}.fa-diaspora{--fa:"\f791"}.fa-fedex{--fa:"\f797"}.fa-fedora{--fa:"\f798"}.fa-figma{--fa:"\f799"}.fa-intercom{--fa:"\f7af"}.fa-invision{--fa:"\f7b0"}.fa-jira{--fa:"\f7b1"}.fa-mendeley{--fa:"\f7b3"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-redhat{--fa:"\f7bc"}.fa-sketch{--fa:"\f7c6"}.fa-sourcetree{--fa:"\f7d3"}.fa-suse{--fa:"\f7d6"}.fa-ubuntu{--fa:"\f7df"}.fa-ups{--fa:"\f7e0"}.fa-usps{--fa:"\f7e1"}.fa-yarn{--fa:"\f7e3"}.fa-airbnb{--fa:"\f834"}.fa-battle-net{--fa:"\f835"}.fa-bootstrap{--fa:"\f836"}.fa-buffer{--fa:"\f837"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-itch-io{--fa:"\f83a"}.fa-salesforce{--fa:"\f83b"}.fa-speaker-deck{--fa:"\f83c"}.fa-symfony{--fa:"\f83d"}.fa-waze{--fa:"\f83f"}.fa-yammer{--fa:"\f840"}.fa-git-alt{--fa:"\f841"}.fa-stackpath{--fa:"\f842"}.fa-cotton-bureau{--fa:"\f89e"}.fa-buy-n-large{--fa:"\f8a6"}.fa-mdb{--fa:"\f8ca"}.fa-orcid{--fa:"\f8d2"}.fa-swift{--fa:"\f8e1"}.fa-umbraco{--fa:"\f8e8"}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(/assets/fa-regular-400-BVHPE7da.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(/assets/fa-solid-900-8GirhLYJ.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(/assets/fa-brands-400-BfBXV7Mm.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/assets/fa-solid-900-8GirhLYJ.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/assets/fa-regular-400-BVHPE7da.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/assets/fa-solid-900-8GirhLYJ.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/assets/fa-brands-400-BfBXV7Mm.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/assets/fa-regular-400-BVHPE7da.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(data:font/woff2;base64,d09GMk9UVE8AAA/IAAkAAAAAIi4AAA9/A4EBAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYCJAQGBmADgRwFiH0AghwHIA22GYUWESMRdnLSigfwXxK0JUN3PWgtIVtGtFABIUcjR8vMKvVNUhctBQIndOh7wFzNSdpf090C0MDGNSSuod3GJyMkmSUKlm72kk6vLpKqU4SDLlGqOoHx7wzNIRzzvZseTSBF/CoWaAkVRa5inol55lqxm5oz/9pr/qq+GXmakr21m0KxnJeWZ3dOoSo0//sTGj5e/r///znN1cDq77IugUrslFAFYg2CIfrG8Y3Q37GCqLAnZVKJvSuQC/x0zjP8v7/fp1rJjZ8tzGQcKS6iBFIAJMtql0EBKwIFJDuugO7Ztucm55fDg6nLQiMNIEFoAX1WesldzzU7W7qlB5C8/++0N/TOuYAMJkEJWxa0H6VUF8my5XljyWqW/HtHCdpC8/dzpf3Zo1xxtyzxz6xshdvbIjqxeb2f7J8c5YBze4Ccu5kUEBWBI0AH7IDAk6uwKytrZI3u+Oomu9N+Ch7edEI2hmbmj9mR4KGCCO1OI0Dr/VoFnpZiOoC03o/+9KGeq7f9lSyoBfSRrC9Amv8NNQXkv9dga9kX4SPg6q20ZH4KKkGH7ZxcnL4NSQJ3bNjDCltkZrMsvFjN7LHIvUfNiVvGzRR5g2liAY8ep1zeXndi8cn0bUAk+Rdo+H2aN3ibf00mnl6cTgSTzGQi2PwMLyybUdSOvMvrfRwevuNCicEtAc7iNqM5uMOiDXd5AXgoUDKe4wSrl3nYrJiJ5dgWy5eZNmGBqPqM7SiyHxMG13JMyioCC01sSbFISoxYYmjOYqngylWrJo0avhAvkN+mBQx+0Q/EuqY/MKvU/6QZOMFPn8YVKyFyLf/LwdGlvyBChm501AWTjv/yEZr7ZH17ZBCTYxHSc7VDmT9AFoyEi6CHBl359As9DQ82B5suxNn3j4gMt+UxWSNNYZZQvW8yZzIvpkfcsB9IM5scuJuxZ+gYJ1yo5FvehXBoyRMNnMS9UkW8OOc0MMSN2jR1ry3AabQk+JogpOfRBxzLQ6FlJ2OAKkDymQgcW9xTi3N58PQJMI1CpuCI5kjHZahelKvRmSv2ue23LAciStmv+qMxQMnoseN2TIh3nYzeu5gDMxPesxbeaVPhgpl1YJmQaT3p1uPa1l1QhEhsavLU+p3RJIxFqOwqyqks0qiMPn+ufnYItSTrkSg46sjY07FeCST6L1G6yVZZA2yuHrPmLfvQd7z6pC2GlriWzHIa3OjGNaElbS9udWlddmD03CQBYiOxu4x5MJj9aty8+8AtN195+WXnHXvMkeNHDepdrGj100fvPXPfPXedUS6QTH6OC8SLjm/RC7INBP1psFtAuh/jut1At7ug28Oumya6dSRdewT9u6fdi8KNPu45gM6I0glL5B4A5FS5OD6rJV07pr01Tbe7DNCfricygjae+C8jaQlwudWMKcHzYSyjgDACa+78r8uoVNCuVt7QVZyQLL8TeXFxjQoILPBnv12E3VdiCtFHfhcuFVlENkpnn2H/SXxVqpIlyc3yF4pgxXblcOUDlbeqTC1Xn9KUaxfCEQ5ZDvsdWhyTHXc4xTiPFe9zSekzvX2uzy5XoflexesHfIjl6zaU7k0eJ7GkJRisvss6IthIXzDKJNgOafeXL1zY+OrZ2RWDrpkmcPqRR0ALgU2f5sPNsN5mzE7tGsX/CsEmx07579/v/0rKfyU/B9xewNKUpWHBHGbSwWLhbS+nLAwOaSF2mpv37S0/A/N7tx/MR+H37AN49NY/GwSdrdlKnwmsNXUd0tTVHOFmclEYIQgaGkBICGSuZ2Zc1ZkgP6RM2kJWRDpVWXSeUXND5gKE1JyQkTqNKOsaR7iRmE+pgsyJlfylH6GUWXsT4uqgTL4XmmnNBvTSIeYa4auJkXz9tYBP6kI9QqqfU+wpBYuGK8AgbUZh6gA5zBkSrotIcz5B9ZUVMbvF5XkimQGmEkJDFtup83hwGaecgpTfOY8wQkjFBzHim294LkTOH5ONcFRwicEpLaxkTBrpwgUgBlRdiBbKSaPvsPwgNe+QUgccBUKDlOTvIscppyB76uemdhAoSqlahohzaq7UyX1ypuqk1WitUALYdpVCZjsbLNPWInJ/Wes1k6pryh+M6SRpjCbelogDZqvZoKqmSIjR31Kygf6f65K5G/LTlgDb0MVco6lFM67rlKt9moYigNgIdq9yZOjHuvIR2PQxkiarNVcVl9zfdHZiykproVioWsEItpndkPRp+9f1iEFZrhiBIGSl9F51vg6hluZQK1vrAmvXWTvJBc0mVVWMsuULNSugE0RQP9YSpt/9U5ZGBkV6UFpG3YtQk8V8RYcxEvldZR5I30VGzICwLSbvPXh/sd8AvSSvFjJZCB+d6PnyuEek88l8lBPR+BJaCYxfwwA0qhk0mcY4Z4w7NSIui2Spk3wgIpgJhpzfTmKALCrJLZCAScME5kqCYdqz+RVLJFffGEwnooYqpsl7EEYSN0SqBE30aFd04GY8/GVnAGNw86+H/zWjfEohq3YYxm0LulET5J7JoTAIGWn0CYlrS9e/DgdlMOlMMM2U/9dKwRHEda8hq2OZM8rY5I00yY9eXn4zGnIsmAASXcciw0TcLGE9Be859qlRjbeNBLjn/fu9kbEK/E0YQQ31G+2zQY3SuUUVjsBLePiL/6+46JcWPTyrzXIohckV6wVMt4jguZ/DT85pkL1XgabxDej/lYMB5gkvnpz879KLsg1b4DuSzocNzAOx8K39A+BeuhzA0bwHxKtUqlvryMsHHRjDoAqCdgrT6/MrNJIl8BAha+So2Z3q4y7bsHc2oWKDc3jqafI8EzgA8xbpBJ8JJKRRDnt7UXS0YwcEKRXGPKiGlDgD3ugGi52DrG2MM8+AO83Woq8P9JT6ox9mlDCwZhyDETO3JmvjwFnCPfnw45a5stJ9j1QK+bzOqv2jqUZBNibfaIdOl1eA1kQ7h2dQI8DTZTUXVFJmzyIlJVwFsTapQBQqjqdr4qXGfoma0Qnna96oFnEPDNrdtcWgvWAvEUqs4GC8mVtbJ8omjqeYiro6oT8pq3ip63X6up32Y4gP1PUX6APTS9osERNRRXR9i/+YulbmAd3XfI0eWF1ubK2AI4NK8ygBll5Oq4JoKJ127LhN21X7NfXV+7k0Rgtlu8hpjgyapeonI0xI1cn6T61Xpq5rpx3VT7g/pSGipIRrGWKB9tY56llBi0myy5NmDZRGrbd4OInkwyiXMhKjtl/T1iC5iId7UOocDRvAnozZYbGHekzqtCExsN/jToMDp2hoAT2/g7ySVayA/KCUxm07sANSKQ+JgVVb7bDjedw2hLw9aOsGPOucwfNDNPQ82R4kBooORoE6uEc368C/4EV6ptNehiCxci9VcrbhBugYGilx8skc9pfwz7f4lcUujBZqGRT7Yj9/GeF9uY9sli0x+jZku4B7V5CtDAsvQE+x4CGiGMrHlBnjZ0bH0PihMmF80fW1oCF2ZNt7v3jHuzgavrvcNTa8/Mf+lA28ePHHhdmlDs8Ijtsw41mQAzvwgOKGD1MfShiSoHyiyJrdYqp0/sF6cC6ZcQcwPs1nKZaFuzYcmZ63tyiDyriD0nlUmMlvEVDQLq09dX5+a/BCmp3giaHXbgvBDWB6GUeYkCJoe0RHFAuTiC7EWEtxIjYMlowP2ID2zjgBYs0FN4eE5IuVNZgWg21O/9fbq/bbBR+RDrc2rLVjxpO+anAx69iHLY8Rwbgn6BgDS4KZvlyRdNypPcT4G0RcEvfduSXZK9vbOhvOqxLHo0L53u3tM2fQ1171UqgFwaN7/iNt0KPwFbvwYwjhFlnWBIKVFEMvvpaVQNC18E19gVmLOadcxghyPsO0e9GzdZqJbAXKAazc/8ObOkWFE3IWDAnZDxLnMwOjzchyp7RASRrhFEiUFFsYUZZGhB5+IW2DBTHDEDOBSjHt/IyKa+I2YgshSBQUvjdFHVFSnRM7MLrKBcRwFxNCXuKIWxkkDZ3+GNSME7+HNFfwO/1sPObe41m+JMcl5i4nO+f7sAWpd3LiiRQKWk4dBljDES8g2BQw2ivsHIW4+jD/wt59GA//0G8vh/oQ5lvznmwzL8LRG9sCdLI+9lzbhO05llkvRHx2KbZmKzhzwqUGwYQo01QBjU9dhD4so8lPnjgxcUjV0SIEMK4oIhJD7FTYlJhAMCAvn9kKjWCzYoSFkOXbiZ9YkeBAyWHrMwq8OGUy2/ExrEh6VZNtBrZRyYayz4FnJlTvuR/zj9Jll0FK/h5zjG4lJQ84Rrz/PlWhF67tuOAAReg8QlviW7BqX0z6dNNNWjHPAf0783geYmU3uu+nMa96e7VTkIwddJvmc7uBmfrcbhKZC0RHpV/nFU6Q48pogAXcnadHcERQnjZYlsKgbAkz/PvinZmQWXZBy19p5MhAQE40OBPxz+fYZgK99OPNnJXHxomMWB7La/SnlBrolWVgu/xaRI7zL8ALVqePUC9iPvuUW3N3XZI6J6uRiMrebvG9YDIbfHGAXDedDHIpyu79Uq4D91aqY3+ABiG8rsVnRg1L5xpsOLVt51LUQTvrEAtUMqzOzqK2T2t2zP772rd/ZY6fUp1uF6ePhpWeIxiqoWyhNsRA69AZrcY5o5zVFHUIBwtfsdxjAkFKhVFxVByV78qjlajtlsg1clS7RI9XJ/f2gjjXdB/xy3u+B7Z1szrwPh1m8nMticlqfZJWvPGLmjcJBohzT5z1F63AWaocmFtuAY1ePeBY30R4kfL7aE9+GetD5Hvj8eGMZ3up6qQxKgieGx69dhLxDSY+nQ5FI3LRfrLhMDFvEwF2uOoME+/Gh0MqYxkm4s05u6D4DyLBRemu4kMtB6Nv/NOFUZPitzFD8qL8o0r+kYrPnnsY0vWZd5GEzsCREC+Wz3APkfzeqsAp0tZw0lLrhuy2DNy1E1VNM1LqdhIO45OPIwT3rftapv3Bq7mdNHFSgnKIkN8flMKWHNJF9U1BMQglWyx3EZ7e5f02oBD3RnnUPJn1p0wir+pGFraC2kyNDOKF8tvhNtQ4Hcy0KjTgZz2eIU55xre6wlnEltXkEBDbif0x/5SQnkBBsVWmb3r49ic42aAZm9yFY1aRg7n+S55ntbIbUFoODVCE879nRYAuMN+ACxenLXW8IjGFgtIdIwdl+hm8IjDZChcfQWQE4njeBgZtMFXgB6tKKFfpy23VFRCE125CitD/JeFiLDnXDHDSEnA6F9x0fPn4hNuPX1WQu8Z38LPLmCxI8nJVmHouX1lTh3BMEinPhg07NI3cNPSeEiWEBfG4rV6SAQMAAAA=) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}/* c:\Gabito_system\gabito_front\src\assets\css\action-buttons.css */

/* Ogólne style dla przycisków akcji (dropdown i standalone) - spójne z modułami jak users/buttons/lead-sources */

/* Kontener dla przycisków akcji (np. w nagłówku karty) */
.actions-wrapper {
  position: relative;
  overflow: visible; /* DODANO: Aby dropdown mógł wychodzić poza rodzica bez obcinania */
}

/* Przycisk główny menu akcji (ellipsis) */
.action-btn {
  background: #e9ecef;
  border: none;
  border-radius: 6px;
  padding: 8px;
  cursor: pointer;
  color: #666;
  transition: background 0.3s, border 0.3s;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 16px;
	height: 40px;
	width: 40px;


}

/* NOWE: Dodatkowy styl dla ikon wewnątrz .action-btn (obsługa Font Awesome) */
.action-btn i {
  font-size: 16px; /* Spójny rozmiar z tekstem ellipsis */
  color: inherit; /* Dziedziczy kolor z .action-btn */
  transition: color 0.3s; /* Płynna zmiana na hover */
}

.action-btn:hover:not(:disabled) i {
  color: #007bff; /* Niebieski na hover dla ikony */
}

.action-btn:hover:not(:disabled) {
  background: #dee2e6;
}

/* UJEDNOLICONY STYL: Sygnalizacja historii zmian (przeniesiony z modułów clients/lead-sources) */
.action-btn.has-changes {
  border: 2px solid #FFD700;
  background-color: #ffed4e;
  color: #000000;
  font-weight: 700;
}

.action-btn.has-changes:hover {
  background-color: #f0d500;
}

.action-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Dropdown menu akcji */
.action-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 1001;
  min-width: 140px;
  margin-top: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  color: #000000;
  transition: background 0.3s;
  border-bottom: 1px solid #f8f9fa;
  font-weight: 700;
}

.dropdown-item:hover {
  background: #f8f9fa;
}

.dropdown-item:last-child {
  border-bottom: none;
}

.dropdown-item.danger {
  color: #dc3545;
}

.dropdown-item.danger:hover {
  background: #f8d7da;
}

.dropdown-item i {
  margin-right: 8px;
  width: 16px;
  text-align: center;
}

/* Specyficzne style dla typów akcji */

/* 'add' i 'create' - zielony */
.btn-add,
.btn-create,
.add-btn {
  background: #28a745;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-add:hover,
.btn-create:hover,
.add-btn:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}

/* 'edit' i 'view' - niebieski */
.btn-edit,
.btn-view {
  background: #007bff;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-edit:hover,
.btn-view:hover {
  background: #0056b3;
  transform: translateY(-1px);
}

/* 'delete' - czerwony */
.btn-delete {
  background: #dc3545;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-delete:hover {
  background: #c82333;
  transform: translateY(-1px);
}

/* 'permission' - szary */
.btn-permission {
  background: #6c757d;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-permission:hover {
  background: #5a6268;
  transform: translateY(-1px);
}

/* 'raport' i 'generate' - pomarańczowy */
.btn-raport,
.btn-generate {
  background: #fd7e14;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-raport:hover,
.btn-generate:hover {
  background: #e86209;
  transform: translateY(-1px);
}

/* 'history' - fioletowy */
.btn-history {
  background: #6f42c1;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.btn-history:hover {
  background: #5a32a3;
  transform: translateY(-1px);
}

/* Ogólne style dla wszystkich przycisków akcji (disabled, responsywność) */
.btn-action:disabled,
.clear-btn {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.clear-btn {
  background: #6c757d;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.clear-btn:hover:not(:disabled) {
  background: #5a6268;
  transform: translateY(-1px);
}

.action-dropdown.dropdown-left {
  right: auto;
  left: 0;
  transform: translateX(-100%); 
}


/* Responsywność - mniejsze przyciski na mobile */
@media (max-width: 768px) {
  .action-btn {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  /* NOWE: Responsywność dla ikon w .action-btn */
  .action-btn i {
    font-size: 14px;
  }

  .dropdown-item {
    padding: 12px 14px;
    font-size: 18px;
    font-weight: 700;
  }

  .btn-add,
  .btn-edit,
  .btn-delete,
  .btn-permission,
  .btn-raport,
  .btn-generate,
  .btn-create,
  .btn-view,
  .btn-history,
  .add-btn,
  .clear-btn {
    padding: 10px 16px;
    font-size: 14px;
  }

  .action-dropdown {
    right: auto;
    left: 0;
    transform: none;
    width: fit-content;
    min-width: 120px;
    max-width: calc(100vw - 24px);
  }
  .action-dropdown.dropdown-left {
    right: 0;
    left: auto;
    transform: none;
  }
  
}/* src/assets/css/history-cards.css */

/* Kontener dla kart historii zmian – grid dla responsywności */
.history-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

/* Pojedyncza karta zmiany */
.history-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
}

.history-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

/* Nagłówek karty */
.card-header {
  padding: 16px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}

/* Tytuł w nagłówku */
.card-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #000000;
}

/* Zawartość karty */
.card-content {
  padding: 16px;
}

/* Opis zmiany */
.card-description {
  margin: 0;
  color: #000000;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
}

.card-description strong {
  font-weight: 700;
}

/* Klasy dla typów wydarzeń – kolorowanie dla czytelności */
.event-created {
  color: #28a745; /* Zielony dla stworzenia */
}

.event-updated {
  color: #007bff; /* Niebieski dla aktualizacji */
}

.event-deleted {
  color: #dc3545; /* Czerwony dla usunięcia */
}

.event-restored {
  color: #6f42c1; /* Fioletowy dla przywrócenia */
}

.event-default {
  color: #6c757d; /* Szary dla domyślnego */
}

/* Responsywność – na mniejszych ekranach stackuj karty */
@media (max-width: 768px) {
  .history-cards {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .card-title {
    font-size: 16px;
  }
  
  .card-description {
    font-size: 13px;
  }
}/* src/assets/css/shared-card-styles.css */
/* Encoding: UTF-8 */
/* Shared styles for entity cards across modules */
/* === POPRAWIONA WERSJA Z WSPARCIEM DLA uniform-height === */

.shared-card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s, transform 0.2s;
  border: 1px solid #e9ecef;
  overflow: visible;

  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
}

.shared-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  z-index: 2;
}

.shared-card.menu-open {
  z-index: 10;
}

.shared-card.inactive {
  background: #fff5f5;
  border-color: #f8d7da;
}

.shared-card.inactive:hover {
  background: #fff0f0;
}

.shared-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  min-width: 0;
}

.shared-card-header .header-left {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-title {
  margin: 0;
  color: #000000;
  font-size: 18px;
  font-weight: 700;
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-content {
  padding: 20px;
  flex: 0 1 auto !important;
  min-height: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-description {
  margin: 0 0 0;
  color: #000000;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-description strong {
  font-weight: 700;
  color: #000000;
}

.shared-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.shared-card-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #000000;
  font-size: 14px;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.shared-card-meta-item i {
  color: #007bff;
}

/* ==================== NOWE: UNIFORM HEIGHT (fix dla notatek i wszystkich modułów) ==================== */
.shared-card.uniform-height {
  height: 100% !important;
  align-self: stretch !important;
  min-height: 0 !important;
}

.shared-card.uniform-height .shared-card-content {
  flex: 1 1 auto !important; /* treść się rozciąga równo */
}

.shared-card.uniform-height .footer-wrapper {
  flex-shrink: 0;
  margin-top: auto;
}

/* Responsiveness */
@media (max-width: 768px) {
  .shared-card-header,
  .shared-card-content {
    padding: 16px;
  }

  .shared-card-title {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .shared-card-header,
  .shared-card-content {
    padding: 12px;
  }
}/* src/assets/css/gabito-shared-ui.css */
/* Encoding: UTF-8 */
/*
 * Style UI współdzielone między modułami (nagłówki podglądów, layouty ogólne itd.).
 * Import globalny: main.js → import '@/assets/css/gabito-shared-ui.css'
 * Możesz dopisywać kolejne klasy wspólne w tym pliku.
 * Nagłówek bonu/karnetu: .gabito-form-btn-header-icon-sell (koszyk), .gabito-form-btn-header-icon-save (dyskietka).
 * Checkbox — wariant „wyróżniony” (czerwona przerywana obwódka + spójny rozmiar/akcent):
 *   • obwódka: .gabito-form-checkbox-dashed-save-outline LUB kontener .upapi-disclosure-wrap
 *   • rozmiar/wygląd: .gabito-form-checkbox-standard — ten sam styl co checkbox w UniversalEntityPreview
 *     (26×26 px, ramka #111827, zaznaczenie #007bff + „✔”); czerwona przerywana obwódka: klasa / .upapi-disclosure-wrap.
 *   • pełny wariant (obwódka + rozmiar jak przy zapisie kanału API): .gabito-form-checkbox-dashed-save-outline + .gabito-form-checkbox-standard.
 * UniversalEntityPreview: .uep-header-actions .gabito-btn-edit.uep-edit-icon-only.
 * Modale (np. UniversalAdminModal): .gabito-modal-header-icon-close — jak .gabito-btn-close--preview-header.
 */

/* --- Kompaktowe przyciski ikon w nagłówku (np. UniversalEntityPreview → .uep-header-actions) --- */

/**
 * „Zapisz” — tylko ikona (dyskietka), w jednej linii z zamknięciem i innymi akcjami nagłówka.
 * Tymczasowo: czerwona przerywana obwódka (outline) — odróżnienie od .gabito-form-btn-ok-save w modalach; usunąć po weryfikacji.
 */
.gabito-form-btn-header-icon-save {
  background-color: #28a745;
  color: #ffffff;
  border: none;
  min-height: 34px;
  height: 34px;
  min-width: 34px;
  width: 34px;
  padding: 0;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  box-sizing: border-box;
  transition: background-color 0.2s ease, transform 0.15s ease;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}

.gabito-form-btn-header-icon-save i {
  font-size: 14px;
  line-height: 1;
}

.gabito-form-btn-header-icon-save:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
}

.gabito-form-btn-header-icon-save:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/**
 * Checkbox — ta sama czerwona przerywana obwódka (outline) co .gabito-form-btn-header-icon-save.
 * W kontenerze .upapi-disclosure-wrap (podgląd/edycja API publicznego) oraz opcjonalnie klasa .gabito-form-checkbox-dashed-save-outline.
 */
input[type='checkbox'].gabito-form-checkbox-dashed-save-outline,
.upapi-disclosure-wrap input[type='checkbox'] {
  outline: 2px dashed #dc3545 !important;
  outline-offset: 1px !important;
}

/**
 * Wspólny checkbox (jak w UniversalEntityPreview.vue — treść .client-view-style):
 * 26×26 px, appearance: none, ramka, zaznaczenie niebieskie + biała „ptaszka” (SVG w tle).
 * W podglądzie UEP style :deep nakładają się na wszystkie checkboxy (także z tą klasą).
 * Znacznik zaznaczenia: SVG w background-image (nie ::after na input — Chrome go nie rysuje).
 * Łącz z .gabito-form-checkbox-dashed-save-outline dla czerwonej przerywanej obwódki (outline).
 */
input[type='checkbox'].gabito-form-checkbox-standard {
  width: 26px !important;
  height: 26px !important;
  border: 1px solid #111827 !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
  cursor: default !important;
  opacity: 1 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box !important;
}

input[type='checkbox'].gabito-form-checkbox-standard:checked {
  background-color: #007bff !important;
  border-color: #007bff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 111.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
}

input[type='checkbox'].gabito-form-checkbox-standard:disabled {
  opacity: 1 !important;
  cursor: default !important;
}

/* W komórkach tabeli API publicznego — bez dodatkowego offsetu w pionie */
.upapi-params-table-check input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/* --- Tabela parametrów (Unit Public API, kartoteka klienta, szablony przypomnień) --- */

.upapi-table-scroll {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

.upapi-params-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.upapi-params-table thead th {
  text-align: left;
  padding: 10px 12px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 700;
  border-bottom: 1px solid #e2e8f0;
}

.upapi-params-table-col-on {
  width: 140px;
  text-align: center;
}

.upapi-params-table tbody td {
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}

.upapi-params-table tbody tr:last-child td {
  border-bottom: none;
}

.upapi-params-table-label {
  color: #334155;
  line-height: 1.35;
}

.upapi-params-table-check {
  text-align: center;
}

/* Moduł opinii klientów: filtry i modal ustawień (wyrównanie w flexie) */
.customer-reviews-filter-check input[type='checkbox'].gabito-form-checkbox-standard,
.customer-review-settings-checkbox input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/* Publiczny formularz opinii (CustomerReviews) */
.pub-cr__check input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/* Edytor parametrów systemu (UniversalEntityPreview → .editor-content) */
.editor-checkbox input[type='checkbox'].gabito-form-checkbox-standard {
  margin-top: 0;
}

/**
 * „Sprzedaj” (koszyk) — ten sam rozmiar co przycisk zapisu w nagłówku bonu/karnetu.
 */
.gabito-form-btn-header-icon-sell {
  background-color: #28a745;
  color: #ffffff;
  border: none;
  min-height: 34px;
  height: 34px;
  min-width: 34px;
  width: 34px;
  padding: 0;
  margin: 0;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  box-sizing: border-box;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.35);
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.gabito-form-btn-header-icon-sell i {
  font-size: 14px;
  line-height: 1;
}

.gabito-form-btn-header-icon-sell:hover:not(:disabled) {
  background-color: #218838;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(40, 167, 69, 0.45);
}

.gabito-form-btn-header-icon-sell:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* --- UniversalEntityPreview: przycisk „Edytuj” w .uep-header-actions (mniejszy, w linii z zamknięciem) --- */

.uep-header-actions .gabito-btn-edit {
  height: 34px;
  min-height: 34px;
  padding: 0 12px;
  font-size: 14px;
  gap: 6px;
  box-sizing: border-box;
}

.uep-header-actions .gabito-btn-edit.uep-edit-icon-only {
  padding: 0;
  min-width: 34px;
  width: 34px;
  justify-content: center;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}

/* --- Zamknij w nagłówku modala (UniversalAdminModal, itp.) — spójnie z .gabito-btn-close--preview-header --- */

.gabito-modal-header-icon-close {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 8px;
  background: #dc3545;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}

.gabito-modal-header-icon-close:hover:not(:disabled) {
  background: #c82333;
  transform: scale(1.05);
}

.gabito-modal-header-icon-close:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}
/* src/assets/css/gabito-common-action-buttons-v1.css */
/* Encoding: UTF-8 */
/* Uniwersalne przyciski + uniwersalny nagłówek list (clients, visit-history, lead-sources itp.) */
/**
 * Przycisk „dodaj” (zielony kwadrat, np. fa-plus): pełny wygląd jest tutaj.
 * W Vue często używa się class="gabito-common-add-btn-v1 icon-only" — klasa .icon-only
 * jest tylko znacznikiem semantycznym; wymiary 42×42 i padding 0 wynikają już z .gabito-common-add-btn-v1
 * (osobnych reguł .gabito-common-add-btn-v1.icon-only nie trzeba).
 */
.gabito-common-add-btn-v1,
.gabito-common-clear-filters-btn-v1,
.gabito-common-search-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
/* Secondary — tylko ikona: ten sam rozmiar co .gabito-common-add-btn-v1 / .gabito-common-admin-tools-btn-v1 */
.gabito-common-btn-secondary.icon-only {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
/* === UNIWERSALNY NAGŁÓWEK LISTY (przeniesiony i uogólniony) === */
.gabito-common-list-container {
  max-width: 100vw;
  margin: 0;
  padding: 10px;
  background: #ffffff;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.gabito-common-top-header {
  width: 100%;
  margin: 0 -10px 30px -10px;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}
.gabito-common-top-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
}
.gabito-common-title-row-1 {
  order: 1;
  flex: 0 1 auto;
}
.gabito-common-title-row-2 {
  order: 2;
  flex: 1 1 auto;
  min-width: 240px;
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}
.gabito-common-title-row-3 {
  order: 3;
  flex: 0 1 auto;
  margin-left: auto;
}
.gabito-common-title-with-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
  margin-left: 20px;
  flex-wrap: nowrap;
}
/* Tytuł listy + opcjonalna ikona (np. kontekst strony) w jednym rzędzie */
.gabito-common-title-heading-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 1 auto;
  min-width: 0;
}
.gabito-common-title-heading-group h2 {
  margin: 0;
}
.gabito-common-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  justify-content: flex-end;
  width: 100%;
}
/**
 * Przyciski w pasku akcji nagłówka list (.gabito-common-title-actions)
 * — slot „actions”, wbudowany przycisk admina (showAdminButton), zamknięcie (gabito-btn-close).
 * Wygląd klas:
 *   • .gabito-common-btn-secondary → src/assets/css/form-buttons.css (import w main.js)
 *   • .gabito-common-add-btn-v1, .gabito-common-admin-tools-btn-v1, .gabito-common-clear-filters-btn-v1,
 *     .gabito-common-filters-toggle → ten plik
 *   • .gabito-btn-close → src/assets/css/gabito-common-buttons.css (import w main.js)
 *
 * TYMCZASOWO (podczas dopracowania UI): obwódka jak .gabito-btn-close.gabito-btn-close--preview-header
 * (2px dashed #dc3545, offset 1px) — usuń ten blok po akceptacji. Zamknięcie wykluczone :not(.gabito-btn-close),
 * bo ma już ten sam outline w swojej klasie.
 */
.gabito-common-title-actions > button:not(.gabito-btn-close) {
  outline: 2px dashed #dc3545;
  outline-offset: 1px;
}
.gabito-common-list-error-message {
  color: #dc3545;
  background: #f8d7da;
  padding: 10px 15px;
  border-radius: 6px;
  border-left: 4px solid #dc3545;
  margin-top: 10px;
  flex-basis: 100%;
  font-weight: 600;
}
/* Controls & Search */
.gabito-common-controls-section,
.gabito-common-search-section {
  margin-bottom: 20px;
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.gabito-common-search-section {
  width: 100%;
}
.gabito-common-search-wrapper {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.gabito-common-search-wrapper input {
  width: 100%;
  padding: 12px 16px;
  padding-right: 46px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-search-wrapper input:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
  outline: none;
}
.gabito-common-list-select-control {
  min-width: 260px;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.gabito-common-list-select-control:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.gabito-common-checkbox-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.gabito-common-filter-label,
.gabito-common-filter-label.active-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: background 0.3s;
  font-weight: 600;
}
.gabito-common-filter-label:hover,
.gabito-common-filter-label.active-filter-label:hover {
  background: #e9ecef;
}
.gabito-common-filters-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  overflow: hidden;
  max-height: 500px;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease-out;
  opacity: 1;
  justify-content: space-around;
}
.gabito-common-filters-container.collapsed {
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin: 0;
}
/* PRZYCISK FILTRÓW – ZAWSZE NIEBIESKI */
.gabito-common-filters-toggle {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 6px;
  width: 44px;
  height: 44px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.gabito-common-filters-toggle:hover {
  background: #0056b3;
}
/* Responsywność całego nagłówka */
@media (max-width: 768px) {
  .gabito-common-top-inner {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
  }

  .gabito-common-title-row-1,
  .gabito-common-title-row-2,
  .gabito-common-title-row-3 {
    order: initial;
    flex: 1 1 50%;
    margin: 0;
    justify-content: center !important;
    text-align: center !important;
  }

  .gabito-common-title-row-3 {
    margin-left: 0;
    justify-content: flex-end;
  }

  .gabito-common-title-with-select {
    margin: 0;
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    justify-content: left;

  }

  .gabito-common-title-actions {
    width: 100%;
    justify-content: flex-end;
    /* Reset względem rodzica .gabito-common-title-with-select (mobile: duży font) — ikony/przyciski jak na desktopie */
    font-size: 1rem;
    font-weight: 400;
    align-items: center;
  }

  /* Przyciski w nagłówku (np. Odśwież) — bez rozciągania na całą szerokość kolumny przy layoutcie kolumnowym */
  .gabito-common-title-actions > .gabito-common-btn-secondary:not(.icon-only),
  .gabito-common-title-actions > .gabito-common-admin-tools-btn-v1,
  .gabito-common-title-actions > .gabito-common-add-btn-v1,
  .gabito-common-title-actions > .gabito-common-clear-filters-btn-v1,
  .gabito-common-title-actions > .gabito-common-filters-toggle {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    align-self: center;
  }

  .gabito-common-filters-container,
  .gabito-common-search-section {
    flex-direction: column;
    width: 100%;
  }

  .gabito-common-search-wrapper {
    min-width: 100%;
  }
}
/* === PRZYCISKI (istniejące + nowe) === */
.gabito-common-add-btn-v1 {
  background: #28a745 !important;
  color: white !important;
  font-size: 21px !important;
}
.gabito-common-add-btn-v1:hover {
  background: #218838 !important;
  transform: translateY(-1px) !important;
}
.gabito-common-clear-filters-btn-v1 {
  background-color: #dc3545 !important;
  color: white !important;
}
.gabito-common-clear-filters-btn-v1:hover {
  background-color: #5a6268 !important;
}
.gabito-common-clear-filters-btn-v1.active-filters {
  background-color: #dc3545 !important;
}
.gabito-common-search-btn-v1 {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #007bff;
  color: white;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
}
.gabito-common-search-btn-v1:hover {
  background-color: #0056b3;
}
/* Responsywność mobile */
@media (max-width: 768px) {

  .gabito-common-add-btn-v1,
  .gabito-common-clear-filters-btn-v1,
  .gabito-common-filters-toggle,
  .gabito-common-btn-secondary.icon-only {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;

  }
}
/**
 * Przycisk ikonowy ustawień / narzędzi (fioletowy kwadrat 42×42, np. koło zębate w nagłówku list).
 * HTML: <button type="button" class="gabito-common-admin-tools-btn-v1" title="…"><i class="fas fa-cog"></i></button>
 * Style ładuj globalnie (main.js) lub przez niescoped <style>@import …</style> — nie importuj tego pliku
 * wewnątrz <style scoped> w komponentach ze slotami nagłówka (inaczej slot z rodzica nie dostanie wyglądu).
 */
.gabito-common-admin-tools-btn-v1 {
  height: 42px !important;
  min-height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  font-size: 16.5px !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #6f42c1 !important;
  color: white !important;
}
.gabito-common-admin-tools-btn-v1:hover {
  background: #5a32a3 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(111, 66, 193, 0.4);
}
/* Responsywność mobile */
@media (max-width: 768px) {
  .gabito-common-admin-tools-btn-v1 {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
  }
}/* Shared compact list tables (sales, clients, campaigns, vouchers). Import globally from main.js. */

.gabito-common-list-table-scroll {
  overflow-x: auto;
  margin-bottom: 16px;
}

table.gabito-common-list-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #fff;
}

table.gabito-common-list-table th,
table.gabito-common-list-table td {
  border: 1px solid #dee2e6;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

table.gabito-common-list-table thead th {
  background: #f8f9fa;
  font-weight: 600;
  color: #212529;
}

table.gabito-common-list-table tbody tr:nth-child(even) {
  background: #fcfcfc;
}

table.gabito-common-list-table tbody tr.is-inactive td {
  opacity: 0.85;
}

table.gabito-common-list-table .gabito-common-list-table__num {
  text-align: right;
  white-space: nowrap;
}

table.gabito-common-list-table .gabito-common-list-table__actions {
  width: 1%;
  white-space: nowrap;
}

table.gabito-common-list-table button.gabito-common-list-table__link {
  display: inline;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: #0d6efd;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

table.gabito-common-list-table button.gabito-common-list-table__link:hover {
  color: #0a58ca;
}
