/* Mode sombre simple et efficace */

/* Mode clair par défaut */
body {
    background-color: #ffffff;
    color: #212529;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Couleur purple personnalisée */
.bg-purple {
    background-color: #6f42c1 !important;
}

.text-purple {
    color: #6f42c1 !important;
}

.badge.bg-purple {
    background-color: #6f42c1 !important;
    color: white;
}

.alert-purple {
    background-color: rgba(111, 66, 193, 0.1);
    border-color: #6f42c1;
    color: #6f42c1;
}

/* Mode sombre */
body.dark-mode {
    background-color: #1a1a2e !important;
    color: #e8e8e8 !important;
}

/* Couleurs personnalisées en mode sombre */
body.dark-mode .bg-purple {
    background-color: #8b5cf6 !important;
}

body.dark-mode .text-purple {
    color: #a78bfa !important;
}

body.dark-mode .badge.bg-purple {
    background-color: #8b5cf6 !important;
    color: white;
}

body.dark-mode .alert-purple {
    background-color: rgba(139, 92, 246, 0.15);
    border-color: #8b5cf6;
    color: #a78bfa;
}

/* Amélioration des badges en mode sombre */
body.dark-mode .badge.bg-primary {
    background-color: #4a90e2 !important;
}

body.dark-mode .badge.bg-success {
    background-color: #48bb78 !important;
}

body.dark-mode .badge.bg-warning {
    background-color: #ed8936 !important;
}

body.dark-mode .badge.bg-danger {
    background-color: #f56565 !important;
}

body.dark-mode .badge.bg-info {
    background-color: #4299e1 !important;
}

body.dark-mode .badge.bg-dark {
    background-color: #2d3748 !important;
    border: 1px solid #4a5568;
}

body.dark-mode .badge.bg-secondary {
    background-color: #718096 !important;
}

/* Navigation */
body.dark-mode .navbar {
    background-color: #0a0e27 !important;
}

body.dark-mode .navbar-dark .navbar-nav .nav-link {
    color: #e8e8e8 !important;
}

body.dark-mode .navbar-dark .navbar-nav .nav-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.1);
}

/* Cartes */
body.dark-mode .card {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .card-header {
    background-color: #16213e !important;
    border-bottom-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .card-body {
    color: #e8e8e8 !important;
}

body.dark-mode .card-footer {
    background-color: #16213e !important;
    border-top-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

/* Tables */
body.dark-mode .table {
    color: #e8e8e8 !important;
    border-color: #2d3561 !important;
}

body.dark-mode .table thead {
    background-color: #16213e !important;
}

body.dark-mode .table-hover tbody tr:hover {
    background-color: #16213e !important;
    color: #e8e8e8 !important;
}

body.dark-mode .table td,
body.dark-mode .table th {
    border-color: #2d3561 !important;
}

/* Formulaires */
body.dark-mode .form-control,
body.dark-mode .form-select,
body.dark-mode textarea,
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="password"],
body.dark-mode select {
    background-color: #16213e !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus,
body.dark-mode textarea:focus {
    background-color: #16213e !important;
    border-color: #5cb3ff !important;
    color: #e8e8e8 !important;
    box-shadow: 0 0 0 0.25rem rgba(92, 179, 255, 0.25) !important;
}

body.dark-mode .form-control[readonly],
body.dark-mode textarea[readonly] {
    background-color: #1a1a2e !important;
    color: #b8b8b8 !important;
}

/* Placeholders visibles en mode sombre */
body.dark-mode .form-control::placeholder,
body.dark-mode .form-select::placeholder,
body.dark-mode textarea::placeholder,
body.dark-mode input::placeholder {
    color: #888888 !important;
    opacity: 0.8 !important;
}

/* Pour Firefox */
body.dark-mode .form-control::-moz-placeholder,
body.dark-mode .form-select::-moz-placeholder,
body.dark-mode textarea::-moz-placeholder,
body.dark-mode input::-moz-placeholder {
    color: #888888 !important;
    opacity: 0.8 !important;
}

/* Pour Edge et IE */
body.dark-mode .form-control::-ms-input-placeholder,
body.dark-mode .form-select::-ms-input-placeholder,
body.dark-mode textarea::-ms-input-placeholder,
body.dark-mode input::-ms-input-placeholder {
    color: #888888 !important;
    opacity: 0.8 !important;
}

/* Pour WebKit (Chrome, Safari) */
body.dark-mode .form-control::-webkit-input-placeholder,
body.dark-mode .form-select::-webkit-input-placeholder,
body.dark-mode textarea::-webkit-input-placeholder,
body.dark-mode input::-webkit-input-placeholder {
    color: #888888 !important;
    opacity: 0.8 !important;
}

body.dark-mode .form-label {
    color: #e8e8e8 !important;
}

/* Texte d'aide des formulaires - visible en mode sombre */
body.dark-mode .form-text {
    color: #b8b8b8 !important;
}

/* Listes */
body.dark-mode .list-group-item {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .list-group-item:hover {
    background-color: #16213e !important;
}

body.dark-mode .list-group-item.active {
    background-color: #5cb3ff !important;
    border-color: #5cb3ff !important;
    color: #ffffff !important;
}

/* Modals */
body.dark-mode .modal-content {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .modal-header,
body.dark-mode .modal-footer {
    border-color: #2d3561 !important;
}

body.dark-mode .modal-title {
    color: #e8e8e8 !important;
}

body.dark-mode .modal-body {
    color: #e8e8e8 !important;
}

/* Alerts - FORCER les couleurs en mode sombre */
body.dark-mode .alert {
    font-weight: 600 !important;
    border-width: 2px !important;
    border-left-width: 5px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
    background-color: #000000 !important; /* Fond sombre par défaut */
    color: #ffffff !important; /* Texte blanc par défaut */
}

/* Alert Info - Bleu très visible */
body.dark-mode .alert-info {
    background-color: #1e3a5f !important;
    border-color: #3b82f6 !important;
    color: #0077ff !important;
}

body.dark-mode .alert-info strong {
    color: #006efd !important;
}

body.dark-mode .alert-info i.bi {
    color: #0073ff !important;
}

/* Alert Success - Vert très visible */
body.dark-mode .alert-success {
    background-color: #14532d !important;
    border-color: #22c55e !important;
    color: #00240d !important;
}

body.dark-mode .alert-success strong {
    color: #002b0f !important;
}

body.dark-mode .alert-success i.bi-check-circle-fill {
    color: #002e11 !important;
}

/* Alert Warning - Jaune/Orange très visible */
body.dark-mode .alert-warning {
    background-color: #713f12 !important;
    border-color: #f59e0b !important;
    /* color: #634f00 !important; */
}

body.dark-mode .alert-warning strong {
    color: #2e2500 !important;
}

body.dark-mode .alert-warning i.bi {
    color: #fbbf24 !important;
}

/* Alert Danger/Error - Rouge très visible */
body.dark-mode .alert-danger,
body.dark-mode .alert-error {
    background-color: #7f1d1d !important;
    border-color: #ef4444 !important;
    color: #360000 !important;
}

body.dark-mode .alert-danger strong,
body.dark-mode .alert-error strong {
    color: #2e0000 !important;
}

body.dark-mode .alert-danger i.bi-exclamation-circle-fill,
body.dark-mode .alert-error i.bi-exclamation-circle-fill {
    color: #f87171 !important;
}

/* Icônes dans les alertes - Plus grandes */
body.dark-mode .alert i.bi {
    font-size: 1.3em !important;
}

/* Texte dans les alertes - Plus lisible */
body.dark-mode .alert {
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
}

/* Bouton close dans les alertes */
body.dark-mode .alert .btn-close {
    filter: invert(1) brightness(1) !important;
    opacity: 1 !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
}

body.dark-mode .alert .btn-close:hover {
    background-color: rgba(255, 255, 255, 0.3) !important;
}

/* Alert custom pour login */
body.dark-mode .alert-custom {
    padding: 1rem !important;
    margin-bottom: 1rem !important;
}

/* Boutons */
body.dark-mode .btn-secondary {
    background-color: #16213e !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .btn-secondary:hover {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
}

body.dark-mode .btn-outline-secondary {
    color: #e8e8e8 !important;
    border-color: #2d3561 !important;
}

body.dark-mode .btn-outline-secondary:hover {
    background-color: #16213e !important;
    color: #e8e8e8 !important;
}

body.dark-mode .btn-close {
    filter: invert(1) !important;
}

/* Dropdowns */
body.dark-mode .dropdown-menu {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
}

body.dark-mode .dropdown-item {
    color: #e8e8e8 !important;
}

body.dark-mode .dropdown-item:hover {
    background-color: #16213e !important;
    color: #ffffff !important;
}

body.dark-mode .dropdown-divider {
    border-color: #2d3561 !important;
}

/* Breadcrumbs */
body.dark-mode .breadcrumb {
    background-color: transparent !important;
}

body.dark-mode .breadcrumb-item a {
    color: #5cb3ff !important;
}

body.dark-mode .breadcrumb-item.active {
    color: #b8b8b8 !important;
}

/* Footer */
body.dark-mode footer {
    background-color: #16213e !important;
    color: #e8e8e8 !important;
}

body.dark-mode .bg-light {
    background-color: #16213e !important;
}

/* Textes */
body.dark-mode .text-muted {
    color: #888888 !important;
}

body.dark-mode .text-dark {
    color: #e8e8e8 !important;
}

body.dark-mode .text-secondary {
    color: #b8b8b8 !important;
}

/* Liens */
body.dark-mode a {
    color: #5cb3ff !important;
}

body.dark-mode a:hover {
    color: #7cc4ff !important;
}

/* Badges */
body.dark-mode .badge {
    color: #ffffff !important;
}

body.dark-mode .badge.bg-secondary {
    background-color: #6c757d !important;
}

/* Progress bars */
body.dark-mode .progress {
    background-color: #16213e !important;
}

/* Nav tabs */
body.dark-mode .nav-tabs .nav-link {
    color: #b8b8b8 !important;
    border-color: transparent !important;
}

body.dark-mode .nav-tabs .nav-link:hover {
    border-color: transparent !important;
    background-color: #16213e !important;
}

body.dark-mode .nav-tabs .nav-link.active {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

/* Toast */
body.dark-mode .toast {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

/* Pagination */
body.dark-mode .page-link {
    background-color: #16213e !important;
    border-color: #2d3561 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .page-link:hover {
    background-color: #0f3460 !important;
    border-color: #2d3561 !important;
    color: #ffffff !important;
}

body.dark-mode .page-item.active .page-link {
    background-color: #5cb3ff !important;
    border-color: #5cb3ff !important;
}

/* Code et pre */
body.dark-mode code {
    color: #f8f8f2 !important;
    background-color: #16213e !important;
}

body.dark-mode pre {
    background-color: #16213e !important;
    color: #f8f8f2 !important;
    border-color: #2d3561 !important;
}

/* Scrollbar personnalisée pour mode sombre */
body.dark-mode::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

body.dark-mode::-webkit-scrollbar-track {
    background: #16213e;
}

body.dark-mode::-webkit-scrollbar-thumb {
    background: #2d3561;
    border-radius: 6px;
}

body.dark-mode::-webkit-scrollbar-thumb:hover {
    background: #3d4571;
}

/* Bouton de mode sombre */
#darkModeToggle {
    border-radius: 50px;
    padding: 0.4rem 0.8rem;
    transition: all 0.3s ease;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

#darkModeToggle:hover {
    transform: rotate(20deg) scale(1.1);
    background: rgba(255, 255, 255, 0.1);
}

/* Focus pour l'accessibilité */
body.dark-mode *:focus {
    outline-color: #5cb3ff !important;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Container principal */
body.dark-mode .container,
body.dark-mode .container-fluid {
    color: #e8e8e8 !important;
}

/* Hero section */
body.dark-mode .hero-section {
    background: linear-gradient(135deg, #2d3561 0%, #16213e 100%) !important;
    color: #e8e8e8 !important;
}

/* Hero badges en mode sombre */
body.dark-mode .hero-section .badge.bg-light {
    background-color: rgba(255, 255, 255, 0.15) !important;
    color: #e8e8e8 !important;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Section activité récente en mode sombre */
body.dark-mode .container[style*="background-color: #f8f9fa"] {
    background-color: #16213e !important;
}

/* Stats dashboard améliorées en mode sombre */
body.dark-mode .card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.dark-mode .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
}

/* Spinner */
body.dark-mode .spinner-border {
    border-color: #5cb3ff !important;
    border-right-color: transparent !important;
}