/* Przydaś authenticated-app dark theme compatibility layer.
   Source of truth: html[data-przydas-theme="ciemny"] set by animilandia-app-shell.
   Keep public auth/reservation pages outside this scope. */

html[data-przydas-theme="ciemny"] {
  color-scheme: dark;
  --prz-dark-bg: #0f161d;
  --prz-dark-surface: #151f28;
  --prz-dark-surface-2: #1a2630;
  --prz-dark-field: #111a22;
  --prz-dark-border: #2d3b47;
  --prz-dark-border-soft: #25333e;
  --prz-dark-text: #f3f7fa;
  --prz-dark-text-soft: #d7e0e7;
  --prz-dark-muted: #9aabba;
  --prz-dark-muted-2: #7f92a3;
  --prz-dark-hover: #1c2a34;
  --prz-dark-green: #39d679;
  --prz-dark-green-surface: #123322;
  --prz-dark-warning-surface: #322811;
  --prz-dark-danger-surface: #341b1d;
}

/* Shared palette for every authenticated coded component. */
html[data-przydas-theme="ciemny"] :is(
  .settings-page,
  .statistics-page,
  .settlements-page,
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) {
  --page: var(--prz-dark-bg) !important;
  --bg: var(--prz-dark-bg) !important;
  --card: var(--prz-dark-surface) !important;
  --surface: var(--prz-dark-surface) !important;
  --surface-2: var(--prz-dark-surface-2) !important;
  --navy: var(--prz-dark-text) !important;
  --n: var(--prz-dark-text) !important;
  --text: var(--prz-dark-text-soft) !important;
  --t: var(--prz-dark-text-soft) !important;
  --muted: var(--prz-dark-muted) !important;
  --m: var(--prz-dark-muted) !important;
  --border: var(--prz-dark-border) !important;
  --b: var(--prz-dark-border) !important;
  --green-soft: var(--prz-dark-green-surface) !important;
  --gs: var(--prz-dark-green-surface) !important;
  background: var(--prz-dark-bg) !important;
  color: var(--prz-dark-text-soft) !important;
}

html[data-przydas-theme="ciemny"] :is(
  .settings-page,
  .statistics-page,
  .settlements-page,
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  background: var(--prz-dark-field) !important;
  color: var(--prz-dark-text-soft) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] :is(
  .settings-page,
  .statistics-page,
  .settlements-page,
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) :is(input, textarea)::placeholder {
  color: var(--prz-dark-muted-2) !important;
  opacity: 1;
}

html[data-przydas-theme="ciemny"] :is(
  .settings-page,
  .statistics-page,
  .settlements-page,
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) :is(option, optgroup) {
  background: var(--prz-dark-field);
  color: var(--prz-dark-text-soft);
}

html[data-przydas-theme="ciemny"] :is(
  .settings-page,
  .statistics-page,
  .settlements-page,
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) input:is([type="checkbox"], [type="radio"]) {
  accent-color: #159447;
}

/* Reusable neutral surfaces across private modules. */
html[data-przydas-theme="ciemny"] :is(
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) :is(
  .card,
  .panel,
  .table-card,
  .profile-card,
  .category-card,
  .creator,
  .item-form,
  .modal,
  .columns-menu,
  .empty,
  .toolbar,
  .details-card,
  .summary-card,
  .section-card
) {
  background: var(--prz-dark-surface) !important;
  border-color: var(--prz-dark-border) !important;
  color: var(--prz-dark-text-soft) !important;
}

html[data-przydas-theme="ciemny"] :is(
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) :is(h1, h2, h3, h4, .title, .card-title) {
  color: var(--prz-dark-text) !important;
}

html[data-przydas-theme="ciemny"] :is(
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) :is(.secondary, .secondary-button, .icon-btn, .modal-close, .table-action) {
  background: var(--prz-dark-field) !important;
  border-color: var(--prz-dark-border) !important;
  color: var(--prz-dark-text-soft) !important;
}

/* SETTINGS ---------------------------------------------------------------- */
html[data-przydas-theme="ciemny"] .settings-page .settings-shell,
html[data-przydas-theme="ciemny"] .settings-page .theme-settings-card,
html[data-przydas-theme="ciemny"] .settings-page .theme-option,
html[data-przydas-theme="ciemny"] .settings-page .push-settings-card,
html[data-przydas-theme="ciemny"] .settings-page .library-card,
html[data-przydas-theme="ciemny"] .settings-page .reservation-section-card,
html[data-przydas-theme="ciemny"] .settings-page .permission-card,
html[data-przydas-theme="ciemny"] .settings-page .missing-priority-block,
html[data-przydas-theme="ciemny"] .settings-page .missing-config-card,
html[data-przydas-theme="ciemny"] .settings-page .import-accordion,
html[data-przydas-theme="ciemny"] .settings-page .calendar-import-preview,
html[data-przydas-theme="ciemny"] .settings-page .calendar-import-summary article {
  background: var(--prz-dark-surface) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .settings-page .menu,
html[data-przydas-theme="ciemny"] .settings-page :is(
  .placeholder-card,
  .positions-entry,
  .library-head,
  .library-add,
  .reservation-section-head,
  .permission-card-head,
  .permission-children,
  .missing-block-head,
  .missing-config-head,
  .import-accordion-head,
  .import-guide-grid details,
  .inline-guide,
  .format-grid article,
  .prompt-box,
  .calendar-import-preview > header
) {
  background: var(--prz-dark-surface-2) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(
  .theme-option.active,
  .menu button.active,
  .library-head:hover,
  .reservation-section-head:hover,
  .missing-config-head:hover,
  .import-accordion.open .import-accordion-head
) {
  background: var(--prz-dark-green-surface) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(
  .push-device-row,
  .push-master-row,
  .push-types-list,
  .push-type-row,
  .setting-row,
  .library-body,
  .library-row,
  .reservation-fields-grid,
  .reservation-setting-row,
  .permission-module-card,
  .permission-child-row,
  .missing-config-list,
  .missing-config-row,
  .import-accordion-body,
  .calendar-import-preview > header,
  .import-preview-row
) {
  border-color: var(--prz-dark-border-soft) !important;
}

html[data-przydas-theme="ciemny"] .settings-page .push-type-row:hover,
html[data-przydas-theme="ciemny"] .settings-page .missing-config-row:hover {
  background: var(--prz-dark-hover) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(.push-secondary, .secondary-action, .library-chevron, .reservation-section-chevron, .missing-chevron, .import-chevron) {
  background: var(--prz-dark-field) !important;
  border-color: var(--prz-dark-border) !important;
  color: var(--prz-dark-text-soft) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(.push-info, .import-note, .prompt-box pre) {
  background: #17232c !important;
  color: var(--prz-dark-text-soft) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(.push-info.warning, .push-error, .form-error, .calendar-import-error) {
  background: var(--prz-dark-danger-surface) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(.import-hero, .minimum-box) {
  background: var(--prz-dark-green-surface) !important;
  border-color: #28533b !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(.priority-yellow, .security-copy) {
  background: var(--prz-dark-warning-surface) !important;
  border-color: #57491f !important;
}

html[data-przydas-theme="ciemny"] .settings-page .priority-red {
  background: var(--prz-dark-danger-surface) !important;
  border-color: #633035 !important;
}

html[data-przydas-theme="ciemny"] .settings-page .priority-green {
  background: var(--prz-dark-green-surface) !important;
  border-color: #28533b !important;
}

html[data-przydas-theme="ciemny"] .settings-page .save-row {
  background: rgba(21, 31, 40, 0.96) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(
  .theme-option strong,
  .theme-settings-copy strong,
  .push-settings-copy strong,
  .push-device-row strong,
  .push-master-row strong,
  .push-types-head strong,
  .push-type-row strong,
  .import-hero strong,
  .import-type-copy strong,
  .import-copy strong,
  .column-block > strong,
  .format-grid strong,
  .prompt-box strong,
  .calendar-import-summary strong,
  .calendar-import-preview > header strong,
  .import-row-main strong
) {
  color: var(--prz-dark-text) !important;
}

html[data-przydas-theme="ciemny"] .settings-page :is(
  .theme-option small,
  .theme-settings-copy span,
  .push-settings-copy span,
  .push-device-row span,
  .push-master-row span,
  .push-types-head span,
  .push-type-row small,
  .import-hero span,
  .import-type-copy small,
  .import-copy p,
  .column-block > p,
  .format-grid span,
  .prompt-box small,
  .calendar-import-summary span,
  .import-row-main span,
  .import-row-main small
) {
  color: var(--prz-dark-muted) !important;
}

/* STATISTICS -------------------------------------------------------------- */
html[data-przydas-theme="ciemny"] .statistics-page :is(
  .tabs,
  .empty,
  .kpis article,
  .panel,
  .intro,
  .list,
  .search-wrap,
  .columns-menu,
  .table-card,
  .forms-metrics article,
  .forms-recent,
  .score-grid article,
  .survey-list,
  .compare-controls > section,
  .compare-kpis article,
  .record-grid article,
  .config-help > div,
  .check-grid label,
  .config-save
) {
  background: var(--prz-dark-surface) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page .tabs {
  background: var(--prz-dark-surface-2) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page .tabs button.active,
html[data-przydas-theme="ciemny"] .statistics-page .metric-choice button.active {
  background: var(--prz-dark-green-surface) !important;
  color: var(--prz-dark-green) !important;
  border-color: #28533b !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(
  .header-actions button,
  .actions button,
  .survey-list button,
  .secondary-button,
  .table-action,
  .notice button,
  .forms-recent button,
  .metric-choice button,
  .record-grid button,
  .status-editor button,
  .add-status button
) {
  background: var(--prz-dark-field) !important;
  color: var(--prz-dark-text-soft) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(.followup-table th, .forms-ranking-head) {
  background: var(--prz-dark-surface-2) !important;
  color: var(--prz-dark-muted) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(
  .ranking > div,
  .list article,
  .followup-table td,
  .forms-ranking > div,
  .forms-months > div,
  .forms-recent > div,
  .survey-list article,
  .columns-menu label,
  .status-editor > div
) {
  border-color: var(--prz-dark-border-soft) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page .survey-list article.problem,
html[data-przydas-theme="ciemny"] .statistics-page .kpis .red {
  background: var(--prz-dark-danger-surface) !important;
  border-color: #633035 !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(.kpis .orange, .notice.warning) {
  background: var(--prz-dark-warning-surface) !important;
  border-color: #57491f !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(.kpis .green, .notice:not(.warning)) {
  background: var(--prz-dark-green-surface) !important;
  border-color: #28533b !important;
}

html[data-przydas-theme="ciemny"] .statistics-page .period-months > div {
  background: var(--prz-dark-surface-2) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(.horizontal-chart i, .status-order, .tabs b) {
  background: #25333d !important;
  color: var(--prz-dark-muted) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page .config-save {
  background: rgba(21, 31, 40, 0.96) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(.axis-label) {
  fill: var(--prz-dark-muted) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page .axis {
  stroke: #33434f !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(
  .forms-ranking strong,
  .forms-months strong,
  .forms-recent strong,
  .compare-controls section > strong,
  .compare-kpis strong,
  .record-grid strong,
  .config-help p strong,
  .panel h2,
  .intro h2,
  .intro > strong
) {
  color: var(--prz-dark-text) !important;
}

html[data-przydas-theme="ciemny"] .statistics-page :is(
  .forms-months span,
  .forms-recent span,
  .forms-recent small,
  .survey-list span,
  .survey-list small,
  .compare-controls label,
  .compare-kpis span,
  .compare-kpis small,
  .record-grid span,
  .record-grid small,
  .config-help p,
  .config-label,
  .thresholds label,
  .thresholds small,
  .horizontal-chart span,
  .period-months span
) {
  color: var(--prz-dark-muted) !important;
}

/* SETTLEMENTS ------------------------------------------------------------- */
html[data-przydas-theme="ciemny"] .settlements-page :is(
  .card,
  .table-card,
  .summary-grid article,
  .section-tabs,
  .employee-tabs,
  .columns-menu,
  .cash-summary-card,
  .action-card,
  .payout-history,
  .pending-card,
  .settings-card,
  .dictionary-card,
  .rate-card,
  .sum-popover
) {
  background: var(--prz-dark-surface) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .settlements-page :is(
  .secondary-button,
  .columns-menu input,
  .cell-input
) {
  background: var(--prz-dark-field) !important;
  color: var(--prz-dark-text-soft) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .settlements-page :is(th, .cash-summary-card, .action-values) {
  background: var(--prz-dark-surface-2) !important;
  border-color: var(--prz-dark-border) !important;
}

html[data-przydas-theme="ciemny"] .settlements-page :is(td, .toolbar, .payout-history > div) {
  border-color: var(--prz-dark-border-soft) !important;
}

html[data-przydas-theme="ciemny"] .settlements-page .clickable:hover td {
  background: var(--prz-dark-hover) !important;
}

html[data-przydas-theme="ciemny"] .settlements-page .overdue td,
html[data-przydas-theme="ciemny"] .settlements-page .error-info {
  background: var(--prz-dark-danger-surface) !important;
}

html[data-przydas-theme="ciemny"] .settlements-page :is(.warning-banner, .inline-info) {
  background: var(--prz-dark-warning-surface) !important;
  border-color: #57491f !important;
}

/* Other authenticated modules: neutral containers that otherwise remain white. */
html[data-przydas-theme="ciemny"] .storage-page :is(
  .category-card,
  .category-title,
  .creator,
  .item-form,
  .panel,
  .items article,
  .inventory-row,
  .modal,
  .history-list article
),
html[data-przydas-theme="ciemny"] .organization-data-page :is(.card, .panel, .form-card, .section-card, .modal),
html[data-przydas-theme="ciemny"] .profile-page :is(.profile-card, .card, .panel),
html[data-przydas-theme="ciemny"] .organization-hub :is(.card, .panel, .tile, .organization-card),
html[data-przydas-theme="ciemny"] .team-page :is(.card, .panel, .member-card, .team-card, .drawer, .modal),
html[data-przydas-theme="ciemny"] .tools-page :is(.card, .panel, .tool-card, .note-card, .todo-card, .modal),
html[data-przydas-theme="ciemny"] .np-shell :is(.card, .panel, .notification-card, .drawer, .modal),
html[data-przydas-theme="ciemny"] .missing-panel :is(.card, .panel, .missing-card, .row),
html[data-przydas-theme="ciemny"] .animilandia-calendar :is(.card, .panel, .event-card, .popover, .modal, .drawer) {
  background: var(--prz-dark-surface) !important;
  border-color: var(--prz-dark-border) !important;
  color: var(--prz-dark-text-soft) !important;
}

html[data-przydas-theme="ciemny"] .storage-page :is(.toolbar, .inventory-row.head, .modal header),
html[data-przydas-theme="ciemny"] .team-page :is(.toolbar, .table-head),
html[data-przydas-theme="ciemny"] .tools-page :is(.toolbar, .section-head),
html[data-przydas-theme="ciemny"] .np-shell :is(.toolbar, .notification-head),
html[data-przydas-theme="ciemny"] .animilandia-calendar :is(.calendar-toolbar, .weekday-row) {
  background: var(--prz-dark-surface-2) !important;
  border-color: var(--prz-dark-border) !important;
}

/* Scrollbars stay visible but unobtrusive in dark mode. */
html[data-przydas-theme="ciemny"] :is(
  .settings-page,
  .statistics-page,
  .settlements-page,
  .team-page,
  .tools-page,
  .np-shell,
  .missing-panel,
  .animilandia-calendar,
  .organization-hub,
  .storage-page,
  .organization-data-page,
  .profile-page
) {
  scrollbar-color: #435462 #17212a;
}
