/* Dark Theme Styles */
body.dark-theme {
    background-color: #121212;
    color: #e0e0e0;
}

.dark-theme .card {
    background-color: #1e1e1e;
    border-color: #333;
}

.dark-theme .card-header {
    color: #fff !important;
}

.dark-theme .card-title, .dark-theme .card-header h5, .dark-theme .card-header h4, .dark-theme .card-header h3 {
    color: #ffffff !important;
}

.dark-theme .table,
.dark-theme .table-striped > tbody > tr,
.dark-theme .table-striped > tbody > tr:nth-of-type(odd),
.dark-theme .table-striped > tbody > tr:nth-of-type(even),
.dark-theme .table thead th,
.dark-theme .table td {
    background-color: #222 !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-theme .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.dark-theme .form-control {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}

.dark-theme .form-control:focus {
    background-color: #333;
    border-color: #555;
    color: #fff;
}

.dark-theme .btn-outline-secondary {
    color: #aaa;
    border-color: #555;
}

.dark-theme .btn-outline-secondary:hover {
    background-color: #555;
    color: #fff;
}

.dark-theme .alert {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}

.dark-theme .alert-success {
    background-color: #1e4620;
    border-color: #2a5a2c;
    color: #a8e6a8;
}

.dark-theme .alert-danger {
    background-color: #4a1c1c;
    border-color: #5a2a2a;
    color: #e6a8a8;
}

.dark-theme .alert-warning {
    background-color: #4a3c1c;
    border-color: #5a4a2a;
    color: #e6d6a8;
}

.dark-theme .alert-info {
    background-color: #1c3c4a;
    border-color: #2a4a5a;
    color: #a8d6e6;
}

.dark-theme pre, .dark-theme code {
    background-color: #2d2d2d;
    color: #e0e0e0;
}

.dark-theme .bg-light {
    background-color: #2d2d2d !important;
}

.dark-theme .text-muted {
    color: #aaa !important;
}

.dark-theme .navbar {
    background-color: #1e1e1e;
}

.dark-theme .navbar-brand, .dark-theme .nav-link {
    color: #e0e0e0;
}

.dark-theme .nav-link:hover {
    color: #fff;
}

.dark-theme .dropdown-menu {
    background-color: #2d2d2d;
    border-color: #444;
}

.dark-theme .dropdown-item {
    color: #e0e0e0;
}

.dark-theme .dropdown-item:hover {
    background-color: #3d3d3d;
    color: #fff;
}

.dark-theme .modal-content {
    background-color: #1e1e1e;
    border-color: #333;
}

.dark-theme .modal-header {
    border-bottom-color: #333;
}

.dark-theme .modal-footer {
    border-top-color: #333;
}

.dark-theme .close {
    color: #aaa;
}

.dark-theme .close:hover {
    color: #fff;
}

/* Fix for dark text on dark backgrounds */
.dark-theme h1, .dark-theme h2, .dark-theme h3, .dark-theme h4, .dark-theme h5, .dark-theme h6 {
    color: #ffffff !important;
}

.dark-theme .card-header.bg-primary, .dark-theme .card-header.bg-info, 
.dark-theme .card-header.bg-success, .dark-theme .card-header.bg-warning, 
.dark-theme .card-header.bg-danger, .dark-theme .card-header.bg-dark {
    color: #ffffff !important;
}

.dark-theme .card-header.bg-primary h5, .dark-theme .card-header.bg-info h5, 
.dark-theme .card-header.bg-success h5, .dark-theme .card-header.bg-warning h5, 
.dark-theme .card-header.bg-danger h5, .dark-theme .card-header.bg-dark h5 {
    color: #ffffff !important;
}

.dark-theme .card-header.bg-primary h4, .dark-theme .card-header.bg-info h4, 
.dark-theme .card-header.bg-success h4, .dark-theme .card-header.bg-warning h4, 
.dark-theme .card-header.bg-danger h4, .dark-theme .card-header.bg-dark h4 {
    color: #ffffff !important;
}

.dark-theme .card-header.bg-primary h3, .dark-theme .card-header.bg-info h3, 
.dark-theme .card-header.bg-success h3, .dark-theme .card-header.bg-warning h3, 
.dark-theme .card-header.bg-danger h3, .dark-theme .card-header.bg-dark h3 {
    color: #ffffff !important;
}

.dark-theme .card-header.bg-primary h2, .dark-theme .card-header.bg-info h2, 
.dark-theme .card-header.bg-success h2, .dark-theme .card-header.bg-warning h2, 
.dark-theme .card-header.bg-danger h2, .dark-theme .card-header.bg-dark h2 {
    color: #ffffff !important;
}

.dark-theme .card-header.bg-primary h1, .dark-theme .card-header.bg-info h1, 
.dark-theme .card-header.bg-success h1, .dark-theme .card-header.bg-warning h1, 
.dark-theme .card-header.bg-danger h1, .dark-theme .card-header.bg-dark h1 {
    color: #ffffff !important;
}

.dark-theme .card-header.bg-primary .mb-0, .dark-theme .card-header.bg-info .mb-0, 
.dark-theme .card-header.bg-success .mb-0, .dark-theme .card-header.bg-warning .mb-0, 
.dark-theme .card-header.bg-danger .mb-0, .dark-theme .card-header.bg-dark .mb-0 {
    color: #ffffff !important;
}

/* Theme toggle button */
.theme-toggle {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.theme-toggle:hover {
    transform: scale(1.1);
}

.theme-toggle i {
    font-size: 1.5rem;
}

/* Light theme toggle */
.theme-toggle.light {
    background-color: #f8f9fa;
    color: #343a40;
}

/* Dark theme toggle */
.theme-toggle.dark {
    background-color: #343a40;
    color: #f8f9fa;
}

body.dark-theme .display-6 {
    color: #fff !important;
}

body.dark-theme label {
    color: #fff !important;
}

body.dark-theme .form-text {
    color: #fff !important;
}

body.dark-theme .form-control {
    color: #fff !important;
    background-color: #222 !important;
    border-color: #444;
}

body.dark-theme .form-control::placeholder {
    color: #fff !important;
    opacity: 1;
}

body.dark-theme .card,
body.dark-theme .card-body,
body.dark-theme .card-text,
body.dark-theme p,
body.dark-theme li,
body.dark-theme ul {
    color: #e0e0e0 !important;
}
body.dark-theme .text-dark {
    color: #e0e0e0 !important;
} 

body.dark-theme { outline: 10px solid lime !important; }