/* SkipBaza: wspólna identyfikacja aplikacji. Kolory stanów i reguły dostępu
   pozostają w arkuszach poszczególnych modułów. Nie zmieniamy układu paneli. */
:root {
  --sb-ink: #102e3b;
  --sb-lime: #c9ed68;
  --sb-paper: #f6f7f5;
  --sb-panel: #eef0ec;
  --sb-panel-hover: #e5e9e2;
  --sb-line: #d8ddd7;
  --sb-muted: #5b6869;
  --sb-accent: #537e2a;
  --sb-soft: #f0f2ed;
  --sb-focus: #548418;
}

body { background: var(--sb-paper); color: var(--sb-ink); }

/* Znak występuje tylko w istniejących paskach oraz na karcie logowania. */
.skipbaza-brand {
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  color: var(--sb-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 23px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1.1px;
  white-space: nowrap;
  text-decoration: none;
}
.skipbaza-brand:not([hidden]) { display: inline-flex; }
.skipbaza-brand__icon { display: block; flex: 0 0 auto; width: 34px; height: 34px; }
.skipbaza-brand__accent { color: var(--sb-accent); }
.skipbaza-brand--logistics { margin: 0 42px 18px 0; }
#logisticsAdminChrome:not([hidden]) + .skipbaza-brand--logistics { display: none; }
.auth-card > .skipbaza-brand { margin-bottom: 25px; font-size: 32px; letter-spacing: -1.4px; }
.auth-card > .skipbaza-brand .skipbaza-brand__icon { width: 46px; height: 46px; }

#authBar.global-userbar,
#logisticsModal .logistics-admin-userbar {
  border-color: var(--sb-line);
  background: #fff;
  box-shadow: 0 2px 12px #102e3b08;
}
.global-userbar__left { gap: 12px; }
.global-user,
#logisticsModal .logistics-admin-userbar .global-user { color: var(--sb-muted); }
.day-center-open-btn,
.history-open-btn,
.company-settings-open-btn {
  border-color: var(--sb-line);
  background: var(--sb-paper);
  color: var(--sb-ink);
  box-shadow: none;
}
.day-center-open-btn:hover,
.history-open-btn:hover,
.company-settings-open-btn:hover { border-color: #abb6aa; background: var(--sb-soft); }

/* Wszystkie istniejące paski modułów i przełączniki korzystają z tej samej palety. */
.tabs.app-module-tabs,
#logisticsModal .logistics-admin-module-bar.app-module-tabs {
  border-color: var(--sb-line);
  background: var(--sb-paper);
}
.tabs.app-module-tabs > button,
#logisticsModal .logistics-admin-module-bar.app-module-tabs > button {
  color: var(--sb-muted);
  border-radius: 7px;
}
.tabs.app-module-tabs > button.active,
#logisticsModal .logistics-admin-module-bar.app-module-tabs > button.active {
  border-color: var(--sb-ink);
  background: var(--sb-ink);
  color: #fff;
  box-shadow: inset 0 -3px 0 var(--sb-lime);
}
.tabs.app-module-tabs > button:not(.active):not(:disabled):hover,
#logisticsModal .logistics-admin-module-bar.app-module-tabs > button:not(.active):not(:disabled):hover {
  border-color: #b7c1b5;
  background: var(--sb-panel);
  color: var(--sb-ink);
}
.app-section-tabs {
  border-color: var(--sb-line) !important;
  background: var(--sb-panel) !important;
}
.app-section-tabs > button { color: var(--sb-muted) !important; }
.app-section-tabs > button.active {
  border-color: var(--sb-ink) !important;
  background: var(--sb-ink) !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--sb-lime) !important;
}
.app-section-tabs > button:not(.active):not(:disabled):hover {
  border-color: #b7c1b5 !important;
  background: var(--sb-panel-hover) !important;
  color: var(--sb-ink) !important;
}

/* Logowanie: bez zmiany przebiegu autoryzacji i krytycznych reguł widoczności. */
#loginModal.auth-modal { background: var(--sb-paper) !important; }
.auth-card {
  border: 1px solid var(--sb-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 45px #102e3b12;
}
.auth-title { color: var(--sb-ink); }
.auth-label { color: var(--sb-ink); }
.auth-input { border-color: #b9cbc2; border-radius: 7px; color: var(--sb-ink); background: #fcfdfb; }
.auth-input:focus { border-color: var(--sb-accent); box-shadow: 0 0 0 3px #537e2a18; }
.auth-form .btn:not(.btn--secondary) { border-color: var(--sb-lime); background: var(--sb-lime); color: var(--sb-ink); }
.auth-form .btn:not(.btn--secondary):not(:disabled):hover { border-color: #b7dc53; background: #d8f594; }
.auth-form .btn--secondary { border-color: var(--sb-line); color: var(--sb-ink); background: #fff; }
.auth-form .btn--secondary:hover { background: var(--sb-paper); }

#addBtn,
#addBagBtn,
#addClientBtn,
#companySettingsSaveBtn,
#exchangeWasteTypeConfirmBtn,
.modal-actions > button[type="submit"],
.driver-sms-modal .driver-sms-primary {
  border-color: var(--sb-lime) !important;
  background: var(--sb-lime) !important;
  color: var(--sb-ink) !important;
  font-weight: 700;
  box-shadow: 0 2px 4px #102e3b10;
}
#addBtn .plus-white,
#addBagBtn .plus-white { color: var(--sb-ink) !important; }
#addBtn:not(:disabled):hover,
#addBagBtn:not(:disabled):hover,
#addClientBtn:not(:disabled):hover,
#companySettingsSaveBtn:not(:disabled):hover,
#exchangeWasteTypeConfirmBtn:not(:disabled):hover,
.modal-actions > button[type="submit"]:not(:disabled):hover,
.driver-sms-modal .driver-sms-primary:not([aria-disabled="true"]):hover {
  border-color: #b7dc53 !important;
  background: #d8f594 !important;
  color: var(--sb-ink) !important;
  filter: none;
}

.controls.panel-action-bar,
.filters.panel-filter-bar { border-color: var(--sb-line); background: var(--sb-paper); }
.panel-action-btn:not(.panel-action-btn--money),
.btn-blue,
.ci-task-picker .ci-secondary {
  border-color: #c1d1c5;
  background: #fff;
  color: var(--sb-ink);
  box-shadow: 0 1px 3px #102e3b08;
}
.panel-action-btn:not(.panel-action-btn--money):not(:disabled):hover,
.btn-blue:not(:disabled):hover,
.ci-task-picker .ci-secondary:not(:disabled):hover {
  border-color: #9db58d;
  background: var(--sb-soft);
  color: var(--sb-ink);
}

/* Kontrolki i tabele zachowują wymiary oraz wszystkie kolory stanów w wierszach. */
.panel-filter-bar :is(input, select),
.modal-content :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]),
.ci-modal :is(input, select),
#logisticsModal .logistics-quick-assignment select,
#logisticsModal #logisticsContainerTaskControls .logistics-container-orders__tools :is(input, select),
#logisticsModal #logisticsArchiveSearch,
#logisticsModal .logistics-archive-date-jump input[type="date"] {
  border-color: #b9cbc2;
  color: var(--sb-ink);
  background-color: #fff;
}
.modal-content :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not(:disabled):not([aria-invalid="true"]) {
  border-color: #b9cbc2 !important;
  background-color: #fff !important;
  box-shadow: 0 1px 4px #102e3b08 !important;
}
.modal-content :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not(:disabled):not([aria-invalid="true"]):focus {
  border-color: var(--sb-accent) !important;
  background-color: #fcfdfb !important;
  box-shadow: 0 0 0 3px #537e2a18 !important;
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--sb-accent); }
input::placeholder, textarea::placeholder { color: var(--sb-muted); opacity: 1; }
table { color: var(--sb-ink); }
th { border-color: var(--sb-line); background: var(--sb-panel); color: var(--sb-ink); }
td { border-color: var(--sb-line); }

/* Planowanie, mapa i archiwum: ten sam kontrast co w aplikacji i stronie projektu. */
#logisticsModal {
  --lw-ink: var(--sb-ink);
  --lw-muted: var(--sb-muted);
  --lw-line: var(--sb-line);
  --lw-blue: var(--sb-ink);
  --lw-soft: var(--sb-soft);
}
#logisticsModal .logistics-modal-content { background: var(--sb-paper); }
#logisticsModal .logistics-admin-chrome,
#logisticsModal .logistics-route-panel,
#logisticsModal .logistics-date-picker,
#logisticsModal .logistics-plan-context,
#logisticsModal .logistics-archive-view { border-color: var(--sb-line); }
#logisticsModal .logistics-stage-number { background: var(--sb-lime); color: var(--sb-ink); }
#logisticsModal .logistics-date-tile { background: var(--sb-panel); color: var(--sb-muted); }
#logisticsModal .logistics-date-tile.is-today { border-color: #87a86d; }
#logisticsModal .logistics-date-tile.is-selected { border-color: var(--sb-ink); background: var(--sb-ink); color: #fff; box-shadow: 0 3px 7px #102e3b20; }
#logisticsModal .logistics-date-tile.is-selected .logistics-date-tile__month { color: #dce7da; }
#logisticsModal .logistics-date-picker__navigation button,
#logisticsModal .logistics-panel-fullscreen,
#logisticsModal .logistics-route-tool,
#logisticsModal .logistics-workspace-jumps button,
#logisticsModal .logistics-order-picker__close,
#logisticsModal .logistics-stops-map-header button,
#logisticsModal #logisticsArchiveSearchClear {
  border-color: #c1d1c5;
  background: #fff;
  color: var(--sb-ink);
}
#logisticsModal .logistics-order-picker > summary { border-color: #a9c296; background: #fff; box-shadow: 0 2px 5px #102e3b08; }
#logisticsModal .logistics-order-picker > summary:hover,
#logisticsModal .logistics-order-picker[open] > summary { border-color: var(--sb-accent); background: var(--sb-soft); box-shadow: 0 0 0 3px #537e2a12; }
#logisticsModal .logistics-order-picker__icon { background: var(--sb-lime); color: var(--sb-ink); }
#logisticsModal .logistics-order-picker__label strong,
#logisticsModal .logistics-order-picker__arrow { color: var(--sb-ink); }
#logisticsModal .logistics-order-picker__label small,
#logisticsModal .logistics-archive-search > label,
#logisticsModal #logisticsArchiveSearchStatus { color: var(--sb-muted); }
#logisticsModal .logistics-route-commandbar { border-color: var(--sb-line); background: var(--sb-soft); }
#logisticsModal .logistics-route-commandbar .logistics-action-btn--primary,
#logisticsModal #logisticsSaveBtn {
  border-color: var(--sb-lime) !important;
  background: var(--sb-lime) !important;
  color: var(--sb-ink) !important;
  box-shadow: 0 2px 4px #102e3b10;
}
#logisticsModal #logisticsSaveBtn:not(:disabled):hover { border-color: #b7dc53 !important; background: #d8f594 !important; }
#logisticsModal .logistics-stops-map-toolbar,
#logisticsModal .logistics-stops-sidebar,
#logisticsModal .logistics-stops-summary,
#logisticsModal .logistics-archive-date__content { border-color: var(--sb-line); background: var(--sb-paper); }
#logisticsModal .logistics-stops-map-layout { border-color: var(--sb-line); }
#logisticsModal .logistics-stops-map { background: var(--sb-panel); }
#logisticsModal .logistics-stops-summary strong,
#logisticsModal .logistics-stops-map-header h2 { color: var(--sb-ink); }
#logisticsModal .logistics-archive-date__toggle,
#logisticsModal .logistics-archive-vehicle > header { border-color: var(--sb-line); background: var(--sb-panel); color: var(--sb-ink); }
#logisticsModal .logistics-archive-date__toggle[aria-expanded="true"] { border-color: #b7c1b5; background: var(--sb-panel-hover); }
#logisticsModal .logistics-archive-date__toggle b,
#logisticsModal .logistics-archive-task__identity strong { color: var(--sb-ink); }
#logisticsModal .logistics-archive-count,
#logisticsModal .logistics-module-count { background: var(--sb-panel); color: var(--sb-ink); }

/* Baza kontenerów: zdjęcia, dostępność i ostrzeżenia zachowują własne reguły. */
.ci-dialog { border-color: var(--sb-line); background: var(--sb-paper); color: var(--sb-ink); box-shadow: 0 24px 80px #102e3b40; }
.ci-modal { background-color: #102e3b99; }
.ci-toolbar, .ci-card, .ci-editor { border-color: var(--sb-line); }
.ci-header p,
.ci-modal label,
.ci-count,
.ci-spec,
.ci-usage,
.ci-task-picker span { color: var(--sb-muted); }
.ci-status:not(.ci-error) { color: var(--sb-muted); }
.ci-photo, .ci-photo-editor img, .ci-preview img { background: var(--sb-panel); }
.ci-modal button:not(.ci-secondary):not(.ci-delete):not(.ci-close):not([data-ci="preview"]) {
  border-color: var(--sb-lime);
  background: var(--sb-lime);
  color: var(--sb-ink);
}
.ci-modal button:not(.ci-secondary):not(.ci-delete):not(.ci-close):not([data-ci="preview"]):not(:disabled):hover { background: #d8f594; filter: none; }
.ci-modal button.ci-secondary,
.ci-modal button.ci-close { border-color: #c1d1c5; background: #fff; color: var(--sb-ink); }
.ci-modal button.ci-secondary:not(:disabled):hover,
.ci-modal button.ci-close:not(:disabled):hover { border-color: #9db58d; background: var(--sb-soft); filter: none; }

/* Jedno czytelne zaznaczenie klawiatury; nie dotykamy widoczności ani blokad. */
:is(button, a, input, select, textarea, summary, [tabindex]):focus-visible,
.app-section-tabs > button:focus-visible,
.tabs.app-module-tabs > button:focus-visible,
#logisticsModal .logistics-admin-module-bar.app-module-tabs > button:focus-visible,
.panel-action-btn:focus-visible {
  outline: 3px solid var(--sb-focus) !important;
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .skipbaza-brand { gap: 6px; font-size: 19px; letter-spacing: -.8px; }
  .skipbaza-brand__icon { width: 28px; height: 28px; }
  .global-userbar__left { gap: 8px; }
  .auth-card > .skipbaza-brand { margin-bottom: 22px; font-size: 30px; }
  .auth-card > .skipbaza-brand .skipbaza-brand__icon { width: 42px; height: 42px; }
}

@media print {
  body { background: #fff; }
}

/* Czytelne podsumowanie trasy również po nałożeniu starszych stylów panelu. */
#logisticsModal button.logistics-route-summary-launch {
  border-color: #b7cba7;
  background: var(--sb-soft);
  color: var(--sb-ink);
}
#logisticsModal button.logistics-route-summary-launch strong,
#logisticsModal button.logistics-route-summary-launch > span:last-child { color: var(--sb-ink); }
#logisticsModal button.logistics-route-summary-launch small { color: var(--sb-muted); }
#logisticsModal button.logistics-route-summary-launch:not(:disabled):hover,
#logisticsModal button.logistics-route-summary-launch:not(:disabled):focus-visible {
  border-color: var(--sb-accent);
  background: var(--sb-panel-hover);
  color: var(--sb-ink);
}
#logisticsModal button.logistics-route-summary-launch:not(:disabled):active {
  border-color: var(--sb-accent);
  background: #dce2d8;
  color: var(--sb-ink);
}
#logisticsModal button.logistics-route-summary-launch:not(:disabled):active small { color: var(--sb-ink); }
#logisticsModal button.logistics-route-summary-launch:disabled {
  border-color: var(--sb-line);
  background: var(--sb-paper);
  color: var(--sb-muted);
  opacity: 1;
}
#logisticsModal button.logistics-route-summary-launch:disabled :is(strong, small, span) { color: var(--sb-muted); }

.notice-ack-feedback { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.notice-ack-feedback > [hidden] { display: none !important; }
.notice-ack-feedback > p:not([hidden]) { flex: 1 1 320px; margin: 10px 0; color: var(--sb-ink); }
.notice-ack-feedback > button:not([hidden]) { margin: 8px 0; border-color: var(--sb-line); background: #fff; color: var(--sb-ink); }

#exchangeWasteTypeField[hidden],
#taskDeliveryContainerNumberField[hidden],
#exchangeNumberError[hidden] { display: none !important; }
.completion-number-error { color: #9a2929; font-weight: 600; }

/* Pozostałe paski mają neutralne tło. Mocny akcent służy głównej akcji
   i aktywnej zakładce; typy zleceń, stany i ostrzeżenia zachowują kolory. */
.panel-filter-bar__title,
.clients-search-control { color: var(--sb-ink); }
.clients-search-count,
#bagPickupSortControl { color: var(--sb-muted); }
.clients-search-control input,
.global-stats-client-control input,
#bagPickupSort {
  border-color: #b7c2b5;
  background: #fff;
  color: var(--sb-ink);
  box-shadow: 0 1px 3px #102e3b08;
}
.panel-filter-bar input::placeholder,
.clients-search-control input::placeholder { color: var(--sb-muted); }
.panel-filter-bar select:focus,
.panel-filter-bar input:focus,
.clients-search-control input:focus,
.global-stats-client-control input:focus,
#bagPickupSort:focus {
  border-color: var(--sb-accent);
  background: #fff;
  box-shadow: 0 0 0 3px #537e2a18;
}
.panel-filter-bar button {
  border-color: #c1c9be;
  color: var(--sb-ink);
  box-shadow: 0 1px 3px #102e3b08;
}
.panel-filter-bar button:hover { border-color: #abb6aa; background: var(--sb-panel); color: var(--sb-ink); box-shadow: none; }
.panel-filter-bar button:focus-visible { box-shadow: 0 0 0 3px #537e2a18; }
.panel-action-menu[open] > summary { border-color: #abb6aa; background: var(--sb-panel); color: var(--sb-ink); box-shadow: 0 0 0 3px #102e3b0c; }
.panel-action-menu__list,
.client-location-popover { border-color: var(--sb-line); box-shadow: 0 10px 26px #102e3b26; }
.controls.panel-action-bar .panel-action-menu__item { color: var(--sb-ink); }
.controls.panel-action-bar .panel-action-menu__item:hover,
.controls.panel-action-bar .panel-action-menu__item:focus-visible { background: var(--sb-panel); color: var(--sb-ink); }
.client-location-summary-btn { border-color: #bdc7ba; background: #fff; color: var(--sb-ink); }
.client-location-summary-btn:hover,
.client-location-summary-btn:focus { background: var(--sb-panel); color: var(--sb-ink); }
.client-location-popover-title,
.client-location-list-phone { color: var(--sb-muted); }
.client-location-list-item,
.client-location-editor-row { border-color: var(--sb-line); background: var(--sb-paper); }

/* Te same selektory co w arkuszu list: ogólne „th” przegrywało kaskadę. */
.orders-list-scroll,
.directory-list-scroll { border-color: var(--sb-line); box-shadow: 0 2px 8px #102e3b0b; }
#containersTable.orders-list-table thead th,
#plannedContainersTable.orders-list-table thead th,
#bagsTable.orders-list-table thead th,
#bagsPickupTable.orders-list-table thead th,
.directory-list-table thead th {
  border-color: var(--sb-line);
  background: var(--sb-panel);
  color: var(--sb-ink);
}
#containersTable.orders-list-table tbody td,
#plannedContainersTable.orders-list-table tbody td,
#bagsTable.orders-list-table tbody td,
#bagsPickupTable.orders-list-table tbody td,
.directory-list-table tbody td { border-color: #e3e7e0; }
#containersTable.orders-list-table tbody tr:hover td,
#plannedContainersTable.orders-list-table tbody tr:hover td,
#bagsTable.orders-list-table tbody tr:hover td,
#bagsPickupTable.orders-list-table tbody tr:hover td,
.directory-list-table tbody tr:hover td { box-shadow: inset 0 0 0 9999px #102e3b07; }

#driverSchedule > h3 { color: var(--sb-ink) !important; } /* Starszy nagłówek ma kolor inline. */
.driver-date-toggle { border-color: #c8d0c4; background: var(--sb-panel); color: var(--sb-ink); }
.driver-date-toggle:hover,
.driver-date-toggle[aria-expanded="true"] { border-color: #b6c0b1; background: var(--sb-panel-hover); color: var(--sb-ink); }
.driver-date-count { color: var(--sb-muted); }
.driver-day-summary,
.driver-route { border-color: var(--sb-line); background: var(--sb-paper); color: var(--sb-ink); }
.driver-route__title { color: var(--sb-ink); }
#driverSchedule .driver-task-heading { border-right-color: var(--sb-line); border-bottom-color: var(--sb-line); border-left-color: var(--sb-line); background: var(--sb-panel); }
#driverSchedule .driver-task-heading__label,
#driverSchedule .driver-field-label { color: var(--sb-muted); }

#logisticsModal .logistics-order-kind-field > span,
#logisticsModal .logistics-quick-assignment label,
#logisticsModal .logistics-pool-scope-field > span,
#logisticsModal .logistics-route-composer__header strong,
#logisticsModal .logistics-bag-pickup-header strong { color: var(--sb-ink); }
#logisticsModal .logistics-workspace > .logistics-pool-panel,
#logisticsModal .logistics-workspace > .logistics-route-panel,
#logisticsModal .logistics-pool-panel .logistics-planner-header,
#logisticsModal .logistics-route-panel .logistics-overview-header,
#logisticsModal .logistics-container-orders__tools,
#logisticsModal .logistics-container-orders__bulk,
#logisticsModal .logistics-route-tools__intro,
#logisticsModal .logistics-route-composer .logistics-steps,
#logisticsModal .logistics-route-composer .logistics-sync-note,
#logisticsModal .logistics-bag-agent,
#logisticsModal .logistics-bag-pickup-empty,
#logisticsModal .logistics-stops-status-filters label {
  border-color: var(--sb-line);
  background: var(--sb-paper);
}
#logisticsModal .logistics-order-picker > .logistics-pool-panel,
#logisticsModal .logistics-route-panel .logistics-route-tools { border-color: var(--sb-line); }
#logisticsModal .logistics-order-picker > .logistics-pool-panel { box-shadow: 0 16px 50px #102e3b26; }
#logisticsModal .logistics-stops-list-row { border-color: var(--sb-line); }
#logisticsModal .logistics-route-kind,
#logisticsModal .logistics-pool-scope-field > small,
#logisticsModal .logistics-route-composer .logistics-sync-note,
#logisticsModal .logistics-stops-list-item__content small { color: var(--sb-muted); }
#logisticsModal .logistics-stops-list-item__content b { color: var(--sb-ink); }

.photo-backup-stats > div { border-color: var(--sb-line); background: var(--sb-paper); }
.photo-backup-stats dt { color: var(--sb-muted); }
.photo-backup-stats dd { color: var(--sb-ink); }
/* Treść przycisku może mieć dwa wiersze. Nie zmieniamy blokad ani hidden. */
#photoBackupModal .photo-backup-actions { align-items: stretch; flex-wrap: wrap; gap: 10px; }
#photoBackupModal .photo-backup-actions > button {
  box-sizing: border-box;
  flex: 1 1 160px;
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 48px;
  padding: 10px 14px !important;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
#photoBackupModal .photo-backup-actions > button:not(.btn-red) { border-color: #bdc7ba; background: #fff; color: var(--sb-ink); }
#photoBackupModal .photo-backup-actions > button:not(.btn-red):not(:disabled):hover { background: var(--sb-panel); color: var(--sb-ink); }
@media (max-width: 600px) {
  #photoBackupModal .photo-backup-actions > button { flex-basis: 100%; width: 100%; }
}
