/* Final dark-theme pass for dense schedule screens. */
[data-theme="dark"] {
  color-scheme: dark;
  --bg-page: #0f1117;
  --bg-card: #171a22;
  --bg-card-solid: #171a22;
  --bg-input: #202430;
  --bg-hover: #262b38;
  --text-main: #eef2f8;
  --text-muted: #9aa4b2;
  --border-color: #303644;
  --table-header-bg: #1f2430;
  --table-row-hover: #222938;
}

[data-theme="dark"] .card,
[data-theme="dark"] .card-kpk,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .list-group-item {
  background-color: var(--bg-card-solid) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
  background-color: #181d27 !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .table,
[data-theme="dark"] .table-hover,
[data-theme="dark"] .table-responsive {
  --bs-table-color: var(--text-main);
  --bs-table-bg: var(--bg-card-solid);
  --bs-table-border-color: var(--border-color);
  --bs-table-striped-bg: #1b202b;
  --bs-table-striped-color: var(--text-main);
  --bs-table-hover-bg: var(--table-row-hover);
  --bs-table-hover-color: var(--text-main);
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .table th,
[data-theme="dark"] .table td {
  background-color: transparent !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .table thead th,
[data-theme="dark"] .table thead td,
[data-theme="dark"] .table-kpk thead th,
[data-theme="dark"] .table-kpk-header th,
[data-theme="dark"] .table-kpk-header td {
  background-color: var(--table-header-bg) !important;
  color: var(--text-muted) !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text,
[data-theme="dark"] .select2-container--default .select2-selection--single,
[data-theme="dark"] .select2-dropdown {
  background-color: var(--bg-input) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .nav-tabs .nav-link {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus,
[data-theme="dark"] .nav-tabs .nav-link:hover {
  background-color: var(--bg-hover) !important;
  color: var(--text-main) !important;
}

[data-theme="dark"] .nav-tabs {
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .nav-tabs .nav-link.active {
  background-color: var(--bg-card-solid) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) var(--border-color) var(--bg-card-solid) !important;
}

[data-theme="dark"] .navbar-kpk {
  background: rgba(15, 17, 23, 0.92) !important;
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .navbar-kpk .nav-link-kpk,
[data-theme="dark"] .navbar-kpk .navbar-text {
  color: #c7d0dc !important;
}

[data-theme="dark"] .navbar-kpk .nav-link-kpk:hover,
[data-theme="dark"] .navbar-kpk .nav-link-kpk:focus,
[data-theme="dark"] .navbar-kpk .nav-link-kpk.active {
  background: rgba(77, 141, 247, 0.16) !important;
  color: #6ea8fe !important;
}

[data-theme="dark"] .navbar-kpk .theme-toggle,
[data-theme="dark"] .navbar-kpk .btn-kpk-outline {
  color: #eef2f8 !important;
  border-color: #3a4354 !important;
}

[data-theme="dark"] .navbar-kpk .theme-toggle:hover,
[data-theme="dark"] .navbar-kpk .btn-kpk-outline:hover {
  background: #262b38 !important;
  color: #6ea8fe !important;
  border-color: #4d8df7 !important;
}

[data-theme="dark"] .board-grid,
[data-theme="dark"] .placement-grid {
  background: #141821 !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .board-grid > *,
[data-theme="dark"] .placement-grid > * {
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .board-corner,
[data-theme="dark"] .board-col-header,
[data-theme="dark"] .board-day-label,
[data-theme="dark"] .placement-corner,
[data-theme="dark"] .placement-col-header,
[data-theme="dark"] .placement-day-label {
  background: #202633 !important;
  color: #c7d0dc !important;
}

[data-theme="dark"] .board-pair-label,
[data-theme="dark"] .placement-pair-label {
  background: #1a1f2b !important;
  color: #b5bfcc !important;
}

[data-theme="dark"] .board-cell,
[data-theme="dark"] .placement-cell,
[data-theme="dark"] .chess-cell {
  background: #151a24 !important;
  color: var(--text-main) !important;
}

[data-theme="dark"] .board-cell:hover,
[data-theme="dark"] .placement-cell:hover,
[data-theme="dark"] .chess-cell:hover {
  background: #1c2330 !important;
}

[data-theme="dark"] .chess-slot {
  background: #202839 !important;
  color: var(--text-main) !important;
  border: 1px solid #3a4354 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .chess-slot .text-muted,
[data-theme="dark"] .undistributed-item .text-muted {
  color: #aab4c3 !important;
}

[data-theme="dark"] .chess-slot-changed {
  background: #4b421b !important;
  border-color: #8a731e !important;
  color: #fff3bf !important;
}

[data-theme="dark"] .linked-slot-group {
  background: #1d2432 !important;
  border-color: #43506a !important;
}

[data-theme="dark"] .board-cell.forbidden,
[data-theme="dark"] .board-cell.busy,
[data-theme="dark"] .placement-cell.busy,
[data-theme="dark"] .chess-cell.forbidden,
[data-theme="dark"] .chess-cell.busy {
  background-color: rgba(220, 53, 69, 0.22) !important;
}

[data-theme="dark"] .board-cell.preferred,
[data-theme="dark"] .chess-cell.preferred {
  background-color: rgba(255, 193, 7, 0.18) !important;
}

[data-theme="dark"] .board-cell.drag-over,
[data-theme="dark"] .placement-cell.free,
[data-theme="dark"] .chess-cell.drag-over {
  background-color: rgba(36, 183, 113, 0.2) !important;
}

[data-theme="dark"] .board-cell.drag-forbidden {
  background-color: rgba(108, 117, 125, 0.3) !important;
}

[data-theme="dark"] .availability-table th,
[data-theme="dark"] .availability-table td {
  background-color: var(--bg-card-solid) !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .undistributed-panel-fixed {
  background: rgba(15, 17, 23, 0.96) !important;
  border-top: 1px solid var(--border-color);
}

[data-theme="dark"] .undistributed-item {
  background: #1d2432 !important;
  color: var(--text-main) !important;
  border-color: #384254 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .undistributed-item:hover {
  background: #242c3d !important;
  border-color: #4d8df7 !important;
}

[data-theme="dark"] .undistributed-bundle {
  background: #20283a !important;
  border-color: #4d8df7 !important;
}

[data-theme="dark"] .toast {
  background-color: #202839 !important;
  color: var(--text-main) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%);
}
