/* Dark Theme Specific Styles */

.dark-theme {
    --bs-body-bg: #121212;
    --bs-body-color: #ffffff;
    --bs-emphasis-color: #ffffff;
    --bs-secondary-color: rgba(255, 255, 255, 0.75);
    --bs-tertiary-color: rgba(255, 255, 255, 0.5);
    --bs-border-color: #333333;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.175);
}

/* Override Bootstrap dark mode */
.dark-theme .bg-light {
    background-color: var(--card-bg) !important;
}

.dark-theme .bg-white {
    background-color: var(--card-bg) !important;
}

.dark-theme .text-dark {
    color: var(--text-primary) !important;
}

.dark-theme .text-muted {
    color: var(--text-secondary) !important;
}

.dark-theme .border {
    border-color: var(--border-color) !important;
}

.dark-theme .border-top {
    border-top-color: var(--border-color) !important;
}

.dark-theme .border-bottom {
    border-bottom-color: var(--border-color) !important;
}

.dark-theme .border-start {
    border-left-color: var(--border-color) !important;
}

.dark-theme .border-end {
    border-right-color: var(--border-color) !important;
}

/* Form controls in dark theme */
.dark-theme .form-control::placeholder {
    color: var(--text-secondary);
    opacity: 0.7;
}

.dark-theme .form-check-input {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

.dark-theme .form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Modal in dark theme */
.dark-theme .modal-content {
    background-color: var(--card-bg);
    color: var(--text-primary);
    border-color: var(--border-color);
}

.dark-theme .modal-header {
    border-bottom-color: var(--border-color);
}

.dark-theme .modal-footer {
    border-top-color: var(--border-color);
}

.dark-theme .btn-close {
    filter: invert(1);
}

/* Offcanvas in dark theme */
.dark-theme .offcanvas {
    background-color: var(--card-bg);
    color: var(--text-primary);
}

.dark-theme .offcanvas-header {
    border-bottom-color: var(--border-color);
}

/* Alert components */
.dark-theme .alert-primary {
    background-color: rgba(255, 140, 0, 0.1);
    border-color: rgba(255, 140, 0, 0.2);
    color: var(--primary-color);
}

.dark-theme .alert-secondary {
    background-color: rgba(108, 117, 125, 0.1);
    border-color: rgba(108, 117, 125, 0.2);
    color: var(--text-secondary);
}

.dark-theme .alert-success {
    background-color: rgba(40, 167, 69, 0.1);
    border-color: rgba(40, 167, 69, 0.2);
    color: var(--success-color);
}

.dark-theme .alert-danger {
    background-color: rgba(220, 53, 69, 0.1);
    border-color: rgba(220, 53, 69, 0.2);
    color: var(--danger-color);
}

.dark-theme .alert-warning {
    background-color: rgba(255, 193, 7, 0.1);
    border-color: rgba(255, 193, 7, 0.2);
    color: var(--warning-color);
}

.dark-theme .alert-info {
    background-color: rgba(23, 162, 184, 0.1);
    border-color: rgba(23, 162, 184, 0.2);
    color: var(--info-color);
}

/* List group in dark theme */
.dark-theme .list-group-item {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

.dark-theme .list-group-item:hover {
    background-color: var(--border-color);
}

.dark-theme .list-group-item.active {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #000;
}

/* Toast in dark theme */
.dark-theme .toast {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

.dark-theme .toast-header {
    background-color: var(--card-bg);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

/* Accordion in dark theme */
.dark-theme .accordion-item {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

.dark-theme .accordion-button {
    background-color: var(--card-bg);
    color: var(--text-primary);
    border-color: var(--border-color);
}

.dark-theme .accordion-button:not(.collapsed) {
    background-color: var(--border-color);
    color: var(--primary-color);
}

.dark-theme .accordion-button::after {
    filter: invert(1);
}

/* Nav tabs/pills in dark theme */
.dark-theme .nav-tabs {
    border-bottom-color: var(--border-color);
}

.dark-theme .nav-tabs .nav-link {
    color: var(--text-secondary);
    border-color: transparent;
}

.dark-theme .nav-tabs .nav-link:hover {
    border-color: var(--border-color);
    color: var(--text-primary);
}

.dark-theme .nav-tabs .nav-link.active {
    background-color: var(--card-bg);
    border-color: var(--border-color) var(--border-color) var(--card-bg);
    color: var(--primary-color);
}

.dark-theme .nav-pills .nav-link.active {
    background-color: var(--primary-color);
    color: #000;
}

/* Breadcrumb in dark theme */
.dark-theme .breadcrumb {
    background-color: var(--card-bg);
}

.dark-theme .breadcrumb-item a {
    color: var(--text-secondary);
}

.dark-theme .breadcrumb-item.active {
    color: var(--text-primary);
}

/* Spinners in dark theme */
.dark-theme .spinner-border {
    color: var(--primary-color);
}

.dark-theme .spinner-grow {
    color: var(--primary-color);
}

/* Placeholder text */
.dark-theme .placeholder {
    background-color: var(--border-color);
}

/* Code blocks */
.dark-theme code {
    background-color: var(--border-color);
    color: var(--primary-color);
}

.dark-theme pre {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}

/* Blockquote */
.dark-theme blockquote {
    border-left: 4px solid var(--primary-color);
    background-color: var(--card-bg);
}

/* Image thumbnails */
.dark-theme .img-thumbnail {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

/* SweetAlert2 dark theme override */
.dark-theme .swal2-popup {
    background-color: var(--card-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-theme .swal2-title {
    color: var(--text-primary) !important;
}

.dark-theme .swal2-content {
    color: var(--text-secondary) !important;
}

.dark-theme .swal2-input {
    background-color: var(--secondary-color) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-theme .swal2-select {
    background-color: var(--secondary-color) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-theme .swal2-textarea {
    background-color: var(--secondary-color) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

/* Custom dark theme utilities */
.dark-theme .bg-primary-dark {
    background-color: rgba(255, 140, 0, 0.1) !important;
}

.dark-theme .text-primary-dark {
    color: var(--primary-color) !important;
}

.dark-theme .border-primary-dark {
    border-color: var(--primary-color) !important;
}

.dark-theme .shadow-dark {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.4) !important;
}

.dark-theme .shadow-lg-dark {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.5) !important;
}

/* Custom scrollbar for dark theme */
.dark-theme ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.dark-theme ::-webkit-scrollbar-track {
    background: var(--secondary-color);
}

.dark-theme ::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 4px;
}

.dark-theme ::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color);
}

/* Selection color */
.dark-theme ::selection {
    background-color: var(--primary-color);
    color: #000;
}

.dark-theme ::-moz-selection {
    background-color: var(--primary-color);
    color: #000;
}