/* Neumorphic Bottom Navigation Stylesheet */
.neu-bottom-nav-container {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 32px);
    max-width: 440px;
    z-index: 900;
    pointer-events: none;
}

.neu-bottom-nav {
    pointer-events: auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 10px 14px;
    border-radius: 50px;
    background: #e0e5ec;
    box-shadow:
        8px 8px 18px rgba(163, 177, 198, 0.7),
        -8px -8px 18px rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.neu-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 20px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    min-width: 72px;
}

.neu-nav-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #e0e5ec;
    box-shadow:
        4px 4px 8px rgba(163, 177, 198, 0.6),
        -4px -4px 8px rgba(255, 255, 255, 0.5);
    margin-bottom: 4px;
    color: #7b889b;
    transition: all 0.2s ease;
}

.neu-nav-icon-wrapper i {
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.neu-nav-label {
    font-size: 11px;
    font-weight: 700;
    color: #7b889b;
    letter-spacing: 0.3px;
    transition: color 0.2s ease;
}

/* Active State: Recessed Inset Shadow + Green Primary Highlight */
.neu-nav-item.active .neu-nav-icon-wrapper {
    background: #e0e5ec;
    color: #64A43D;
    box-shadow:
        inset 3px 3px 6px rgba(163, 177, 198, 0.7),
        inset -3px -3px 6px rgba(255, 255, 255, 0.6);
}

.neu-nav-item.active .neu-nav-label {
    color: #3C6324;
    font-weight: 800;
}

.neu-nav-item:active {
    transform: translateY(1px);
}