/* Thème moderne MbgValidation */
:root {
    /* Couleurs de navigation (bleu) */
    --nav-primary: #3B82F6;    /* Bleu principal navbar */
    --nav-secondary: #2563EB;  /* Bleu moyen navbar */
    --nav-dark: #1D4ED8;      /* Bleu foncé hover */
    
    /* Couleurs modernes pour le contenu */
    --modern-dark: #1f2937;     /* Gris foncé moderne */
    --modern-slate: #374151;    /* Gris ardoise */
    --modern-blue: #3b82f6;     /* Bleu moderne */
    --modern-indigo: #6366f1;   /* Indigo élégant */
    --modern-purple: #8b5cf6;   /* Violet moderne */
    --modern-pink: #ec4899;     /* Rose moderne */
    --modern-orange: #f59e0b;   /* Orange moderne */
    --modern-teal: #14b8a6;     /* Sarcelle moderne */
    
    /* Couleurs de fond et neutres */
    --bg-light: #f8fafc;       /* Fond très clair */
    --bg-gray: #e2e8f0;        /* Gris clair */
    --text-dark: #0f172a;      /* Texte foncé */
    --text-gray: #64748b;      /* Texte gris */
    --border-light: #e2e8f0;   /* Bordures claires */
    
    /* Ombres modernes */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    
    /* Variables de compatibilité pour anciennes classes */
    --mbg-primary: var(--nav-primary);
    --mbg-secondary: var(--nav-secondary);
    --mbg-accent: #4caf50;
    --mbg-light: #e8f5e8;
    --mbg-dark: #1b3c1e;
}

/* Classes pour la navbar (vert uniquement) */
.bg-nav-primary {
    background-color: var(--nav-primary) !important;
}

.bg-nav-secondary {
    background-color: var(--nav-secondary) !important;
}

/* Classes modernes pour le contenu */
.bg-modern-dark {
    background-color: var(--modern-dark) !important;
}

.bg-modern-blue {
    background-color: var(--modern-blue) !important;
}

.bg-modern-indigo {
    background-color: var(--modern-indigo) !important;
}

.bg-modern-purple {
    background-color: var(--modern-purple) !important;
}

.bg-modern-pink {
    background-color: var(--modern-pink) !important;
}

.bg-modern-orange {
    background-color: var(--modern-orange) !important;
}

.bg-modern-teal {
    background-color: var(--modern-teal) !important;
}

/* Boutons modernes */
.btn-modern-blue {
    background-color: var(--modern-blue);
    border-color: var(--modern-blue);
    color: white;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-modern-blue:hover {
    background-color: #2563eb;
    border-color: #2563eb;
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.btn-modern-indigo {
    background-color: var(--modern-indigo);
    border-color: var(--modern-indigo);
    color: white;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-modern-indigo:hover {
    background-color: #4f46e5;
    border-color: #4f46e5;
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.btn-modern-purple {
    background-color: var(--modern-purple);
    border-color: var(--modern-purple);
    color: white;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-modern-purple:hover {
    background-color: #7c3aed;
    border-color: #7c3aed;
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.btn-modern-teal {
    background-color: var(--modern-teal);
    border-color: var(--modern-teal);
    color: white;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-modern-teal:hover {
    background-color: #0d9488;
    border-color: #0d9488;
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* Navbar compacte */
.navbar {
    padding: 0.25rem 0;
    min-height: 60px;
}

.navbar-brand {
    padding: 0.25rem 0;
    margin-right: 1rem;
}

.navbar-nav .nav-link {
    padding: 0.375rem 0.75rem;
}

/* Style pour le logo dans la navbar */
.navbar-brand .logo-container {
    background-color: white;
    border-radius: 6px;
    padding: 4px 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.navbar-brand .logo-container:hover {
    transform: scale(1.02);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.navbar-brand .logo-container img {
    height: 40px !important;
}

.navbar-brand .logo-with-bg {
    transition: all 0.3s ease;
    display: block;
}

/* Texte optimisé pour la couleur vert émeraude */
.navbar-dark .navbar-nav .nav-link {
    color: white !important;
    font-weight: 500;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #f8f9fa !important;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}

.navbar-dark .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.2);
}

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Style pour les dropdowns dans la navbar */
.navbar-dark .navbar-nav .dropdown-menu {
    background-color: var(--nav-primary);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-nav .dropdown-menu .dropdown-item {
    color: white;
    font-weight: 500;
}

.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover,
.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:focus {
    background-color: var(--nav-secondary);
    color: #f8f9fa;
}

/* Gradient pour les jumbotron */
.jumbotron-mbg {
    background: linear-gradient(135deg, var(--mbg-primary) 0%, var(--mbg-secondary) 100%) !important;
}

/* Cards avec thème MBG */
.card-header-mbg {
    background: linear-gradient(90deg, var(--mbg-primary) 0%, var(--mbg-secondary) 100%) !important;
    color: white !important;
}

.card-header-mbg-light {
    background-color: var(--mbg-accent) !important;
    color: white !important;
}

.card-header-mbg-success {
    background: linear-gradient(90deg, #28a745 0%, var(--mbg-accent) 100%) !important;
    color: white !important;
}

/* Navbar avec logo */
.navbar-brand {
    font-size: 1.5rem;
}

.navbar-brand span {
    font-weight: 700;
    letter-spacing: -0.5px;
}

/* Animations et transitions */
.card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(44, 85, 48, 0.15);
}

/* Boutons avec thème */
.btn-primary {
    background-color: var(--mbg-primary);
    border-color: var(--mbg-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--mbg-dark) !important;
    border-color: var(--mbg-dark) !important;
}

/* Badges avec thème */
.badge.bg-primary {
    background-color: var(--mbg-primary) !important;
}

.badge.bg-secondary {
    background-color: rgba(255, 255, 255, 0.2) !important;
    color: white !important;
}

/* Badge dans la navbar */
.navbar-dark .badge {
    background-color: rgba(255, 255, 255, 0.15) !important;
    color: white !important;
}

/* Alertes avec thème */
.alert-info {
    background-color: var(--mbg-light);
    border-color: var(--mbg-accent);
    color: var(--mbg-dark);
}

/* Tables avec thème */
/* Classes pour les cartes modernes */
.card-modern {
    border: none;
    border-radius: 0.75rem;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    background-color: white;
}

.card-modern:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
}

.card-header-modern-blue {
    background: linear-gradient(135deg, var(--modern-blue), #2563eb);
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

.card-header-modern-indigo {
    background: linear-gradient(135deg, var(--modern-indigo), #4f46e5);
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

.card-header-modern-purple {
    background: linear-gradient(135deg, var(--modern-purple), #7c3aed);
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

.card-header-modern-teal {
    background: linear-gradient(135deg, var(--modern-teal), #0d9488);
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

.card-header-modern-orange {
    background: linear-gradient(135deg, var(--modern-orange), #ea580c);
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

.card-header-modern-pink {
    background: linear-gradient(135deg, var(--modern-pink), #db2777);
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

/* Classes utilitaires modernes */
.text-modern-dark {
    color: var(--modern-dark) !important;
}

.text-modern-blue {
    color: var(--modern-blue) !important;
}

.text-modern-indigo {
    color: var(--modern-indigo) !important;
}

.border-modern-blue {
    border-color: var(--modern-blue) !important;
}

.border-modern-indigo {
    border-color: var(--modern-indigo) !important;
}

/* Progress bars avec nouvelles couleurs */
.progress-bar-modern-blue {
    background-color: var(--modern-blue);
}

.progress-bar-modern-indigo {
    background-color: var(--modern-indigo);
}

.progress-bar-modern-teal {
    background-color: var(--modern-teal);
}

/* Jumbotron moderne */
.jumbotron-modern {
    background: linear-gradient(135deg, var(--modern-blue), var(--modern-indigo));
    color: white;
    border-radius: 1rem;
    padding: 3rem 2rem;
    margin-bottom: 2rem;
    box-shadow: var(--shadow-lg);
}

.jumbotron-modern .display-4 {
    font-weight: 700;
}

.jumbotron-modern .lead {
    font-size: 1.1rem;
    opacity: 0.9;
}

/* Logo pour les pages d'authentification */
.logo-auth {
    background-color: white;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.logo-auth:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* Logo agrandi pour le login sans fond */
.logo-auth-large {
    transition: all 0.3s ease;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.1));
}

.logo-auth-large:hover {
    transform: scale(1.05);
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
}