/**
 * Dark Mode Override Styles
 * Adjusts bg-white and bg-light classes to work properly in dark mode
 */

[data-bs-theme="dark"] body {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .pagination {
    --bs-pagination-active-bg: var(--bs-warning);
    --bs-pagination-color: var(--bs-light);
    --bs-pagination-active-color: var(--bs-black);
    --bs-pagination-hover-color: var(--bs-light);
    --bs-pagination-active-border-color: var(--bs-warning);
}

/* Override bg-white in dark mode */
[data-bs-theme="dark"] .bg-white {
    background-color: var(--bs-dark) !important;
    color: var(--bs-body-color);
}

/* Override bg-light in dark mode */
[data-bs-theme="dark"] .bg-light {
    background-color: var(--bs-gray-dark) !important;
    color: var(--bs-body-color);
}

/* Override bg-light with opacity in dark mode */
[data-bs-theme="dark"] .bg-light.bg-opacity-50 {
    background-color: rgba(52, 58, 64, 0.5) !important;
}

/* Adjust borders in dark mode */
[data-bs-theme="dark"] .border-bottom {
    border-color: var(--bs-border-color) !important;
}

/* Override specific text-bg-light in dark mode */
[data-bs-theme="dark"] .text-bg-light {
    background-color: var(--bs-gray-dark) !important;
    color: var(--bs-body-color) !important;
}

/* Adjust cards in dark mode */
[data-bs-theme="dark"] .card {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
}

/* Adjust list groups in dark mode */
[data-bs-theme="dark"] .list-group-item {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .list-group-item:hover,
[data-bs-theme="dark"] .list-group-item.hover-bg-light:hover {
    background-color: var(--bs-gray-dark);
}

/* Adjust shadows in dark mode */
[data-bs-theme="dark"] .shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(255, 255, 255, .075) !important;
}

[data-bs-theme="dark"] .shadow {
    box-shadow: 0 .5rem 1rem rgba(255, 255, 255, .15) !important;
}

/* Adjust input groups in dark mode */
[data-bs-theme="dark"] .input-group-text {
    background-color: var(--bs-gray-dark);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

/* Adjust accordions in dark mode */
[data-bs-theme="dark"] .accordion-button {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: var(--bs-gray-dark);
    color: var(--bs-body-color);
}

/* Adjust breadcrumb background */
[data-bs-theme="dark"] .bg-white.border-bottom {
    background-color: var(--bs-body-bg) !important;
}

/* Adjust delivery info box in CommandTile */
[data-bs-theme="dark"] .delivery-info.bg-light {
    background-color: rgba(52, 58, 64, 0.3) !important;
}

/* Adjust command header */
[data-bs-theme="dark"] .command-header.bg-light {
    background-color: rgba(52, 58, 64, 0.3) !important;
}

/* ========================================
   Text Color Overrides
   ======================================== */

/* Override text-dark in dark mode */
[data-bs-theme="dark"] .text-dark:not(.invariant) {
    color: var(--bs-light) !important;
}

/* Override text-black in dark mode */
[data-bs-theme="dark"] .text-black {
    color: var(--bs-white) !important;
}

/* Override text-white in dark mode - keep white */
[data-bs-theme="dark"] .text-white {
    color: var(--bs-white) !important;
}

/* Override text-muted in dark mode */
[data-bs-theme="dark"] .text-muted {
    color: var(--bs-secondary-color) !important;
}

/* Override text-body in dark mode */
[data-bs-theme="dark"] .text-body {
    color: var(--bs-body-color) !important;
}

/* Override link-dark in dark mode */
[data-bs-theme="dark"] .link-dark,
[data-bs-theme="dark"] a.link-dark {
    color: var(--bs-light) !important;
}

[data-bs-theme="dark"] .link-dark:hover,
[data-bs-theme="dark"] a.link-dark:hover {
    color: var(--bs-white) !important;
}

/* Override text-secondary in dark mode */
[data-bs-theme="dark"] .text-secondary {
    color: var(--bs-gray-400) !important;
}

/* Override bg-black in dark mode (keep dark) */
[data-bs-theme="dark"] .bg-black {
    background-color: #000 !important;
}

/* Override text-white-50 opacity */
[data-bs-theme="dark"] .text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* ========================================
   Border Color Overrides
   ======================================== */

/* Override border-dark in dark mode */
[data-bs-theme="dark"] .border-dark {
    border-color: var(--bs-gray-600) !important;
}

/* Override border-light in dark mode */
[data-bs-theme="dark"] .border-light {
    border-color: var(--bs-border-color) !important;
}

/* Override border-white in dark mode */
[data-bs-theme="dark"] .border-white {
    border-color: var(--bs-gray-700) !important;
}

/* ========================================
   Additional Component Overrides
   ======================================== */

/* Override breadcrumb items */
[data-bs-theme="dark"] .breadcrumb-item,
[data-bs-theme="dark"] .breadcrumb-item a {
    color: var(--bs-light);
}

[data-bs-theme="dark"] .breadcrumb-item.active {
    color: var(--bs-secondary-color);
}

/* Override table styles */
[data-bs-theme="dark"] .table {
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .table-striped>tbody>tr:nth-of-type(odd)>* {
    background-color: rgba(255, 255, 255, 0.05);
}

/* Override alerts */
[data-bs-theme="dark"] .alert-primary {
    background-color: rgba(13, 110, 253, 0.2);
    border-color: rgba(13, 110, 253, 0.3);
    color: var(--bs-light);
}

[data-bs-theme="dark"] .alert-danger {
    background-color: rgba(220, 53, 69, 0.2);
    border-color: rgba(220, 53, 69, 0.3);
    color: var(--bs-light);
}

/* ========================================
   Button Overrides
   ======================================== */

/* Override btn-dark in dark mode */
[data-bs-theme="dark"] .btn-dark:not(.invariant) {
    background-color: var(--bs-gray-800);
    border-color: var(--bs-white) !important;
    color: var(--bs-white);
}

[data-bs-theme="dark"] .btn-dark:hover:not(.invariant) {
    background-color: var(--bs-gray-900);
    border-color: var(--bs-white) !important;
    color: var(--bs-white);
}

[data-bs-theme="dark"] .btn-dark:not(.invariant):focus,
[data-bs-theme="dark"] .btn-dark:not(.invariant):active {
    background-color: var(--bs-gray-900);
    border-color: var(--bs-white) !important;
    color: var(--bs-white);
}

/* Override btn-outline-dark in dark mode */
[data-bs-theme="dark"] .btn-outline-dark:not(.invariant) {
    background-color: transparent;
    border-color: var(--bs-white) !important;
    color: var(--bs-white);
}

[data-bs-theme="dark"] .btn-outline-dark:not(.invariant):hover {
    background-color: var(--bs-white);
    border-color: var(--bs-white) !important;
    color: var(--bs-dark);
}

[data-bs-theme="dark"] .btn-outline-dark:not(.invariant):focus,
[data-bs-theme="dark"] .btn-outline-dark:not(.invariant):active {
    background-color: var(--bs-white);
    border-color: var(--bs-white) !important;
    color: var(--bs-dark);
}

/* Override btn-light in dark mode */
[data-bs-theme="dark"] .btn-light {
    background-color: var(--bs-gray-700);
    border-color: var(--bs-gray-600);
    color: var(--bs-light);
}

[data-bs-theme="dark"] .btn-light:hover {
    background-color: var(--bs-gray-600);
    border-color: var(--bs-gray-500);
    color: var(--bs-white);
}

/* Override btn-outline-light in dark mode */
[data-bs-theme="dark"] .btn-outline-light {
    border-color: var(--bs-gray-600);
    color: var(--bs-light);
}

[data-bs-theme="dark"] .btn-outline-light:hover {
    background-color: var(--bs-gray-700);
    border-color: var(--bs-gray-600);
    color: var(--bs-white);
}

/* Ensure btn-link works in dark mode */
[data-bs-theme="dark"] .btn-link {
    color: var(--bs-link-color);
}

[data-bs-theme="dark"] .btn-link:hover {
    color: var(--bs-link-hover-color);
}

/* Theme logo switching */
.theme-logo-dark {
    display: none;
}

.theme-logo-light {
    display: inline-block;
}

[data-bs-theme="dark"] .theme-logo-dark {
    display: inline-block;
}

[data-bs-theme="dark"] .theme-logo-light {
    display: none;
}