/* Mode Dark - Styles globaux */

/* Variables pour le mode clair (par défaut) */
:root {
    --bg-primary: #f8f9fa;
    --bg-secondary: #ffffff;
    --bg-gradient-start: #667eea;
    --bg-gradient-end: #764ba2;
    --bg-gradient-admin-start: #dc3545;
    --bg-gradient-admin-end: #c82333;
    --text-primary: #212529;
    --text-secondary: #6c757d;
    --text-white: #ffffff;
    --border-color: #dee2e6;
    --card-shadow: rgba(0, 0, 0, 0.08);
    --card-shadow-hover: rgba(0, 0, 0, 0.15);
    --input-bg: #ffffff;
    --input-border: #ced4da;
    --sidebar-bg: #ffffff;
    --navbar-shadow: rgba(0, 0, 0, 0.1);
}

/* Variables pour le mode sombre */
[data-theme="dark"] {
    --bg-primary: #1a1a2e;
    --bg-secondary: #16213e;
    --bg-gradient-start: #667eea;
    --bg-gradient-end: #764ba2;
    --bg-gradient-admin-start: #dc3545;
    --bg-gradient-admin-end: #c82333;
    --text-primary: #e4e4e4;
    --text-secondary: #a0a0a0;
    --text-white: #ffffff;
    --border-color: #2d3748;
    --card-shadow: rgba(0, 0, 0, 0.3);
    --card-shadow-hover: rgba(0, 0, 0, 0.5);
    --input-bg: #2d3748;
    --input-border: #4a5568;
    --sidebar-bg: #16213e;
    --navbar-shadow: rgba(0, 0, 0, 0.3);
}

/* Application des variables */
body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.card {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 5px 15px var(--card-shadow) !important;
    border-color: var(--border-color) !important;
}

.card:hover {
    box-shadow: 0 8px 25px var(--card-shadow-hover) !important;
}

.login-container,
.register-container {
    background: var(--bg-secondary) !important;
}

.login-body,
.register-body {
    background: var(--bg-secondary) !important;
}

.form-control {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

.form-control:focus {
    background-color: var(--input-bg) !important;
    color: var(--text-primary) !important;
}

.form-select {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

.input-group-text {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

.sidebar {
    background: var(--sidebar-bg) !important;
    color: var(--text-primary) !important;
}

.sidebar .nav-link {
    color: var(--text-primary) !important;
}

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

.table thead th {
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.table tbody td {
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.table-hover tbody tr:hover {
    background-color: var(--input-bg) !important;
}

.table-hover tbody tr:hover td {
    color: var(--text-primary) !important;
}

.stat-card {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

.stat-card p {
    color: var(--text-secondary) !important;
}

.modal-content {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

.modal-header {
    border-bottom-color: var(--border-color) !important;
}

.modal-footer {
    border-top-color: var(--border-color) !important;
}

.alert-info {
    background-color: var(--input-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.file-upload-label {
    background-color: var(--input-bg) !important;
    border-color: var(--bg-gradient-start) !important;
    color: var(--text-primary) !important;
}

.file-upload-label:hover {
    background-color: var(--bg-primary) !important;
}

/* Toggle Dark Mode Button */
.dark-mode-toggle {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end));
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dark-mode-toggle:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.dark-mode-toggle:active {
    transform: translateY(-2px);
}

/* Navbar Toggle pour mobile */
.navbar-dark-toggle {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 5px 10px;
    margin-left: 10px;
}

.navbar-dark-toggle:hover {
    opacity: 0.8;
}

/* Ajustements pour les alertes en mode sombre */
[data-theme="dark"] .alert-danger {
    background-color: #4a1f1f !important;
    border-color: #6b2c2c !important;
    color: #ffb3b3 !important;
}

[data-theme="dark"] .alert-success {
    background-color: #1f4a2c !important;
    border-color: #2c6b3f !important;
    color: #b3ffcc !important;
}

[data-theme="dark"] .alert-warning {
    background-color: #4a3f1f !important;
    border-color: #6b5a2c !important;
    color: #ffe6b3 !important;
}

/* Ajustements pour les badges */
[data-theme="dark"] .badge {
    filter: brightness(0.9);
}

/* Ajustements pour les boutons */
[data-theme="dark"] .btn-outline-secondary {
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: var(--input-bg) !important;
    border-color: var(--border-color) !important;
}

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

/* Amélioration de la lisibilité des liens */
[data-theme="dark"] a {
    color: #8b9cff;
}

[data-theme="dark"] a:hover {
    color: #a5b4ff;
}

/* Amélioration des tableaux en mode sombre */
[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
    --bs-table-hover-bg: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .table > :not(caption) > * > * {
    background-color: transparent;
}

/* Amélioration des boutons dans les tableaux */
[data-theme="dark"] .table .btn-sm {
    opacity: 0.95;
}

[data-theme="dark"] .table .btn-sm:hover {
    opacity: 1;
}

/* Amélioration de la visibilité des icônes */
[data-theme="dark"] .bi {
    opacity: 0.95;
}

/* Amélioration des petits textes */
[data-theme="dark"] small {
    color: var(--text-secondary) !important;
}
