/* Animation de scintillement plus douce pour le Lab */
@keyframes pulse-soft {
    0%, 100% { opacity: 1; }
    50% { opacity: .5; }
}

.animate-pulse {
    animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Tailles de lignes cohérentes avec Instrument Sans */
.h-8px { height: 8px; }
.h-10px { height: 10px; }
.h-15px { height: 15px; }
.h-20px { height: 20px; }
.w-10 { width: 10%; }
.w-15 { width: 15%; }
.w-90 { width: 90%; }

/* Radius & Backgrounds */
.rounded-4 { border-radius: 1.5rem !important; }
.bg-primary-soft { background-color: rgba(9, 184, 81, 0.1) !important; }
.hover-lift { transition: all 0.2s ease; }
.hover-lift:hover { transform: translateY(-4px); box-shadow: 0 1rem 3rem rgba(0,0,0,.08) !important; }

/* Custom Pill Selector */
.badge-pill-selector {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    background: #f5f7fa;
    color: #64748b;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.2s ease;
}
.btn-check:checked + .badge-pill-selector {
    background: rgba(9, 184, 81, 0.1);
    color: #09b851;
    border-color: #09b851;
}

/* Typography */
h5, h6 { font-family: 'Instrument Sans', sans-serif; letter-spacing: -0.02em; }
p, span, button, textarea { font-family: 'Inter', sans-serif; }

/* Ghost Icons */
.btn-link { color: #94a3b8; }
.btn-link:hover { color: #09b851; }


body { background-color: #f5f7fa; }
        .content-wrapper { margin-left: 260px; transition: 0.3s; padding-bottom: 80px; }
        @media (max-width: 991.98px) { 
            .content-wrapper { margin-left: 0; } 
        }
        .sidebar-fixed { width: 260px; z-index: 1030; }
        
        /* Bottom Nav Mobile */
        .bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; height: 70px; background: white; border-top: 1px solid #eee; z-index: 1040; display: flex; justify-content: space-around; align-items: center; }
        .btn-add-floating { width: 55px; height: 55px; background: #09b851; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; margin-top: -35px; box-shadow: 0 8px 15px rgba(9, 184, 81, 0.3); border: 4px solid #f5f7fa; }
        .btn-add-floating:hover { background: #08a448; color: white; }
        
        /* Mizzle PRO Design System */
        .bg-primary-soft { background-color: rgba(9, 184, 81, 0.1) !important; color: #09b851 !important; }
        .bg-danger-soft { background-color: rgba(239, 68, 68, 0.1) !important; color: #ef4444 !important; }
        .bg-info-soft { background-color: rgba(19, 127, 236, 0.1) !important; color: #137fec !important; }
        .bg-warning-soft { background-color: rgba(247, 195, 46, 0.1) !important; color: #f7c32e !important; }

        .rounded-4 { border-radius: 1.5rem !important; }
        .card-hover-shadow:hover { transform: translateY(-4px); box-shadow: 0 1rem 3rem rgba(0,0,0,.08) !important; transition: all 0.3s ease; }
        .size-40px { width: 40px; height: 40px; }
        .no-scrollbar::-webkit-scrollbar { display: none; }


        /* Force le z-index de la sidebar au-dessus du backdrop */
.offcanvas-start {
    z-index: 1055 !important;
}

/* Assure que les liens sont cliquables au-dessus de tout */
.sidebar-fixed .nav-link {
    position: relative;
    z-index: 1060;
}