/**
 * Navigation — Sidebar & Topbar
 * Couleurs distinctes, texte haute lisibilité
 */

/* ═══════════════════════════════════════
   TOPBAR — Bleu professionnel (#2563EB)
   ═══════════════════════════════════════ */
.topbar {
    background: linear-gradient(90deg, #1e40af 0%, #2563eb 50%, #1d4ed8 100%) !important;
    padding: 0.75rem 0 !important;
    box-shadow: 0 2px 16px rgba(29, 78, 216, 0.35) !important;
    position: sticky;
    top: 0;
    z-index: 1030;
    border-bottom: 2px solid rgba(255, 255, 255, 0.12);
}

.topbar-brand,
.topbar-brand span,
.topbar-brand i {
    color: #ffffff !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.topbar-brand:hover,
.topbar-brand:hover span {
    color: #bfdbfe !important;
}

.topbar-link,
.topbar-link span,
.topbar-link i {
    color: #ffffff !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    opacity: 0.92;
    padding: 0.5rem 0.875rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.topbar-link:hover,
.topbar-link:hover span,
.topbar-link:hover i {
    color: #ffffff !important;
    opacity: 1;
    background: rgba(255, 255, 255, 0.18) !important;
}

.topbar-user,
.topbar-user span {
    color: #ffffff !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.25);
    padding: 0.35rem 0.875rem 0.35rem 0.35rem !important;
    border-radius: 50px;
}

.topbar-user:hover {
    background: rgba(255, 255, 255, 0.22) !important;
}

.topbar-avatar {
    background: #ffffff !important;
    color: #1d4ed8 !important;
    font-weight: 700 !important;
    font-size: 0.9375rem !important;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.topbar-link-logout:hover {
    background: rgba(239, 68, 68, 0.35) !important;
    color: #ffffff !important;
}

/* ═══════════════════════════════════════
   SIDEBAR — Violet foncé (distinct du bleu)
   ═══════════════════════════════════════ */
.association-sidebar {
    background: linear-gradient(180deg, #2e1065 0%, #4c1d95 40%, #3b0764 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 4px 0 20px rgba(46, 16, 101, 0.25) !important;
    min-height: calc(100vh - 60px);
}

.association-sidebar .sidebar-heading,
.association-sidebar .sidebar-heading i {
    color: #c4b5fd !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 1 !important;
}

.association-sidebar .nav-link,
.association-sidebar .nav-link i {
    color: #f5f3ff !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}

.association-sidebar .nav-link:hover,
.association-sidebar .nav-link:hover i {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

.association-sidebar .nav-link.active,
.association-sidebar .nav-link.active i {
    color: #ffffff !important;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%) !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.45) !important;
}

.association-sidebar .nav-link.sidebar-logout,
.association-sidebar .nav-link.sidebar-logout i {
    color: #fca5a5 !important;
}

.association-sidebar .nav-link.sidebar-logout:hover {
    background: rgba(239, 68, 68, 0.2) !important;
    color: #ffffff !important;
}

.association-sidebar .badge {
    color: #ffffff !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
}

/* Profil utilisateur sidebar */
.user-profile-sidebar .user-name {
    color: #ffffff !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
}

.user-profile-sidebar .user-role {
    color: #ddd6fe !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
}

.user-profile-sidebar .user-avatar {
    background: linear-gradient(135deg, #2563eb, #7c3aed) !important;
    color: #ffffff !important;
}

.quick-stats .stat-item {
    color: #ede9fe !important;
    font-size: 0.9375rem !important;
}

.quick-stats .stat-value {
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

/* Empêcher les règles globales d'écraser la navigation */
.topbar *,
.topbar *:not(.badge):not(.btn),
.association-sidebar *,
.association-sidebar *:not(.badge):not(.btn) {
    -webkit-text-fill-color: unset;
}

.topbar a,
.association-sidebar a {
    text-decoration: none;
}

/* Mobile toggle */
.sidebar-toggle {
    background: linear-gradient(135deg, #2563eb, #7c3aed) !important;
    color: #ffffff !important;
}

/* Mobile : pas de règles topbar ici — voir responsive.css + topbar.php */
