/* ========== DARK MODE COMPLETE STYLES ========== */

html.dark-mode {
    --bs-body-bg: #1a1a1a;
    --bs-body-color: #e0e0e0;
    --bs-primary-bg-subtle: #2d2d2d;
    --bs-secondary-bg-subtle: #3a3a3a;
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-tertiary: #3a3a3a;
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --border-color: #444;
}

html.dark-mode,
html.dark-mode body {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

html.dark-mode body {
    background-color: #1a1a1a !important;
}

/* Navbar */
html.dark-mode .navbar {
    background-color: #1a1a1a !important;
    border-bottom: 1px solid #444;
}

html.dark-mode .navbar-brand {
    color: #e0e0e0 !important;
}

html.dark-mode .nav-link {
    color: #e0e0e0 !important;
}

html.dark-mode .nav-link:hover {
    color: #2196F3 !important;
}

/* Cards */
html.dark-mode .card {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0;
}

html.dark-mode .card-header {
    background-color: #3a3a3a !important;
    border-bottom-color: #444 !important;
    color: #e0e0e0 !important;
}

html.dark-mode .card-body {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

html.dark-mode .card-footer {
    background-color: #3a3a3a !important;
    border-top-color: #444 !important;
}

/* Tables */
html.dark-mode .table {
    color: #e0e0e0;
    border-color: #444;
    background-color: #2d2d2d;
}

html.dark-mode .table thead th {
    background-color: #3a3a3a;
    color: #e0e0e0;
    border-color: #444;
}

html.dark-mode .table tbody td {
    border-color: #444;
    background-color: #2d2d2d;
}

html.dark-mode .table tbody tr:hover {
    background-color: #3a3a3a !important;
}

html.dark-mode .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #252525;
}

html.dark-mode .table-striped > tbody > tr:nth-of-type(even) {
    background-color: #2d2d2d;
}

/* Forms */
html.dark-mode .form-control,
html.dark-mode .form-select,
html.dark-mode .input-group-text {
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

html.dark-mode .form-control:focus,
html.dark-mode .form-select:focus {
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
    border-color: #2196F3 !important;
    box-shadow: 0 0 0 0.25rem rgba(33, 150, 243, 0.25) !important;
}

html.dark-mode .form-control::placeholder {
    color: #909090;
}

html.dark-mode .form-label {
    color: #e0e0e0;
}

html.dark-mode .form-check-label {
    color: #e0e0e0;
}

html.dark-mode .form-check-input {
    background-color: #3a3a3a;
    border-color: #444;
}

html.dark-mode .form-check-input:checked {
    background-color: #2196F3;
    border-color: #2196F3;
}

/* Input Groups */
html.dark-mode .input-group .form-control {
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

html.dark-mode .input-group-text {
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

/* Dropdowns */
html.dark-mode .dropdown-menu {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
}

html.dark-mode .dropdown-item {
    color: #e0e0e0 !important;
}

html.dark-mode .dropdown-item:hover,
html.dark-mode .dropdown-item:focus,
html.dark-mode .dropdown-item.active {
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
}

html.dark-mode .dropdown-divider {
    border-color: #444 !important;
}

html.dark-mode .dropdown-header {
    color: #b0b0b0 !important;
}

/* List Groups */
html.dark-mode .list-group-item {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

html.dark-mode .list-group-item:hover {
    background-color: #3a3a3a !important;
}

html.dark-mode .list-group-item.active {
    background-color: #2196F3 !important;
    border-color: #2196F3 !important;
}

/* Buttons */
html.dark-mode .btn-outline-danger {
    color: #dc3545;
    border-color: #dc3545;
}

html.dark-mode .btn-outline-danger:hover {
    background-color: #dc3545;
    border-color: #dc3545;
    color: white;
}

html.dark-mode .btn-primary {
    background-color: #2196F3 !important;
    border-color: #2196F3 !important;
}

html.dark-mode .btn-secondary {
    background-color: #555 !important;
    border-color: #555 !important;
}

html.dark-mode .btn-light {
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

html.dark-mode .btn-light:hover {
    background-color: #4a4a4a !important;
}

/* Text */
html.dark-mode .text-muted {
    color: #b0b0b0 !important;
}

html.dark-mode .text-secondary {
    color: #b0b0b0 !important;
}

html.dark-mode .text-dark {
    color: #e0e0e0 !important;
}

/* Modals */
html.dark-mode .modal-content {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

html.dark-mode .modal-header {
    background-color: #3a3a3a !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

html.dark-mode .modal-body {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

html.dark-mode .modal-footer {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
}

html.dark-mode .modal-title {
    color: #e0e0e0 !important;
}

html.dark-mode .close,
html.dark-mode .btn-close {
    color: #e0e0e0 !important;
}

html.dark-mode .btn-close:focus {
    box-shadow: 0 0 0 0.25rem rgba(33, 150, 243, 0.25);
}

/* Alerts */
html.dark-mode .alert {
    background-color: #3a3a3a !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

html.dark-mode .alert-info {
    background-color: #1e4d5c !important;
    border-color: #2196F3 !important;
}

html.dark-mode .alert-warning {
    background-color: #5c4620 !important;
    border-color: #ff9800 !important;
}

html.dark-mode .alert-danger {
    background-color: #5c2020 !important;
    border-color: #dc3545 !important;
}

html.dark-mode .alert-success {
    background-color: #205c2d !important;
    border-color: #28a745 !important;
}

/* Horizontal Rule */
html.dark-mode hr {
    border-color: #444 !important;
}

html.dark-mode .border {
    border-color: #444 !important;
}

/* Links */
html.dark-mode a {
    color: #2196F3;
}

html.dark-mode a:hover {
    color: #42a5f5;
}

/* Code */
html.dark-mode code {
    background-color: #3a3a3a;
    color: #f0ad4e;
}

html.dark-mode pre {
    background-color: #3a3a3a;
    color: #e0e0e0;
    border-color: #444;
}

/* Badge */
html.dark-mode .badge {
    background-color: #2196F3;
}

/* Scrollbar */
html.dark-mode ::-webkit-scrollbar {
    width: 12px;
}

html.dark-mode ::-webkit-scrollbar-track {
    background: #1a1a1a;
}

html.dark-mode ::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 6px;
}

html.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: #777;
}

/* Dark mode toggle button */
#dark-mode-toggle {
    transition: color 0.2s ease;
}

html.dark-mode #dark-mode-toggle {
    color: #e0e0e0 !important;
}

html.dark-mode #dark-mode-toggle:hover {
    color: #2196F3 !important;
}

#dark-mode-toggle:hover {
    color: #2196F3;
}

/* Pagination */
html.dark-mode .pagination .page-link {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}

html.dark-mode .pagination .page-link:hover {
    background-color: #3a3a3a;
    border-color: #444;
    color: #e0e0e0;
}

html.dark-mode .pagination .page-item.active .page-link {
    background-color: #2196F3;
    border-color: #2196F3;
}

/* Breadcrumb */
html.dark-mode .breadcrumb {
    background-color: transparent;
}

html.dark-mode .breadcrumb .breadcrumb-item {
    color: #e0e0e0;
}

html.dark-mode .breadcrumb .breadcrumb-item.active {
    color: #b0b0b0;
}

html.dark-mode .breadcrumb .breadcrumb-item a {
    color: #2196F3;
}

/* Progress */
html.dark-mode .progress {
    background-color: #3a3a3a;
}

html.dark-mode .progress-bar {
    background-color: #2196F3;
}

/* Badge */
html.dark-mode .badge-danger {
    background-color: #dc3545;
}

html.dark-mode .badge-warning {
    background-color: #ff9800;
}

html.dark-mode .badge-success {
    background-color: #28a745;
}

html.dark-mode .badge-info {
    background-color: #17a2b8;
}

/* Additional utility classes */
html.dark-mode .bg-light {
    background-color: #3a3a3a !important;
}

html.dark-mode .bg-white {
    background-color: #2d2d2d !important;
}

html.dark-mode .text-white {
    color: #e0e0e0 !important;
}

html.dark-mode .view-value {
    font-size: 1rem;
    color: #ffffff;
    margin: 0;
}

/* Dashboard Cards - Dark Mode Override */
html.dark-mode div[style*="background: white"] {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

html.dark-mode div[style*="box-shadow: 0 2px 8px"] {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

html.dark-mode p[style*="color: #666"] {
    color: #999 !important;
}

html.dark-mode p[style*="color: #333"] {
    color: #ccc !important;
}

html.dark-mode small[style*="color: #999"] {
    color: #888 !important;
}

html.dark-mode a[style*="color: inherit"] {
    color: #e0e0e0 !important;
}

html.dark-mode a[style*="background: white"] {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}