.menu-user-shell,
.menu-user-shell *{
    box-sizing:border-box !important;
}

.menu-user-shell{
    position:relative !important;
    z-index:120 !important;
    width:100% !important;
    background:#eef4fb !important;
    border-bottom:1px solid rgba(20,38,61,.08) !important;
    box-shadow:0 8px 24px rgba(20,38,61,.05) !important;
    font-family:Arial, Helvetica, sans-serif !important;
}

.menu-user-shell a{
    text-decoration:none !important;
}

.menu-user-toggle{
    position:absolute !important;
    left:-9999px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.menu-user-nav{
    width:100% !important;
    background:transparent !important;
}

.menu-user-container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 16px !important;
}

.menu-user-bar{
    display:flex !important;
    align-items:center !important;
    min-height:64px !important;
    padding:6px 0 !important;
    width:100% !important;
}

.menu-user-left{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
}

.menu-user-center{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    flex-wrap:nowrap !important;
    overflow:hidden !important;
}

.menu-user-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    min-height:38px !important;
    padding:0 13px !important;
    border-radius:10px !important;
    color:#223a57 !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transition:background .18s ease, color .18s ease, transform .18s ease !important;
}

.menu-user-link:hover{
    background:#e4edf9 !important;
    color:#163154 !important;
    transform:translateY(-1px) !important;
}

.menu-user-link-active{
    background:#d7e5f7 !important;
    color:#0a2d62 !important;
    box-shadow:inset 0 0 0 1px rgba(55,95,160,.10) !important;
}

.menu-user-right{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
}

.menu-user-admin-wrap{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
}

.menu-user-admin-wrap > *{
    max-width:100% !important;
}

/* Style forcé pour le bouton Zone Admin */
.menu-user-admin-wrap a,
.menu-user-admin-wrap button,
.menu-user-admin-wrap .selemenu,
.menu-user-admin-wrap .admin-menu-link,
.menu-user-admin-wrap .admin-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px !important;
    padding:0 14px !important;
    border-radius:10px !important;
    background:#08285c !important;
    color:#ffffff !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-decoration:none !important;
    border:0 !important;
    box-shadow:none !important;
    white-space:nowrap !important;
}

.menu-user-admin-wrap a:hover,
.menu-user-admin-wrap button:hover,
.menu-user-admin-wrap .selemenu:hover,
.menu-user-admin-wrap .admin-menu-link:hover,
.menu-user-admin-wrap .admin-link:hover{
    background:#0d3475 !important;
    color:#ffffff !important;
    transform:translateY(-1px) !important;
}

.menu-user-profile{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex:0 0 auto !important;
    min-height:46px !important;
    padding:5px 7px 5px 10px !important;
    border-radius:14px !important;
    background:#ffffff !important;
    border:1px solid rgba(20,38,61,.07) !important;
    box-shadow:0 6px 18px rgba(21,42,71,.08) !important;
    max-width:416px !important;
}

.menu-user-profile-text{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    min-width:0 !important;
    max-width:276px !important;
    overflow:hidden !important;
}

.menu-user-profile-name{
    display:block !important;
    width:100% !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    color:#163154 !important;
    text-align:right !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.menu-user-profile-name a{
    color:inherit !important;
    text-decoration:none !important;
}

.menu-user-profile-company{
    display:block !important;
    width:100% !important;
    margin-top:2px !important;
    font-size:11px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
    color:#68788f !important;
    text-align:right !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.menu-user-profile-avatar-link{
    display:block !important;
    flex:0 0 auto !important;
    line-height:1 !important;
}

.menu-user-profile-avatar{
    display:block !important;
    width:34px !important;
    height:34px !important;
    border-radius:999px !important;
    overflow:hidden !important;
    background:#edf3fb !important;
    box-shadow:0 0 0 2px #fff, 0 0 0 1px rgba(20,38,61,.08) !important;
}

.menu-user-profile-avatar img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border:0 !important;
}

.menu-user-logout{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
    background:#f3f7fc !important;
    flex:0 0 auto !important;
    transition:background .18s ease, transform .18s ease !important;
}

.menu-user-logout:hover{
    background:#e6eef8 !important;
    transform:translateY(-1px) !important;
}

.menu-user-logout svg,
.menu-user-mobile-logout svg{
    display:block !important;
    width:16px !important;
    height:16px !important;
    stroke:#000000 !important;
    fill:none !important;
}

.menu-user-mobile-trigger{
    display:none !important;
}

.menu-user-mobile-trigger-label{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    min-height:50px !important;
    padding:0 !important;
    cursor:pointer !important;
}

.menu-user-mobile-title{
    display:block !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    color:#163154 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-align:left !important;
}

.menu-user-mobile-burger{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
    background:#dfe9f8 !important;
    color:#173a69 !important;
    font-size:18px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
}

.menu-user-mobile-panel{
    display:none !important;
}

.menu-user-mobile-user{
    display:none !important;
}

.menu-user-mobile-admin{
    display:none !important;
}

.menu-user-mobile-nav{
    display:none !important;
}

@media (max-width: 1180px){
    .menu-user-link{
        padding:0 11px !important;
        font-size:13px !important;
    }

    .menu-user-profile{
        max-width:370px !important;
    }

    .menu-user-profile-text{
        max-width:230px !important;
    }
}

@media (max-width: 980px){
    .menu-user-bar{
        min-height:58px !important;
        padding:6px 0 !important;
    }

    .menu-user-center,
    .menu-user-right{
        display:none !important;
    }

    .menu-user-mobile-trigger{
        display:block !important;
        width:100% !important;
    }

    .menu-user-left{
        width:100% !important;
    }

    .menu-user-mobile-panel{
        display:block !important;
        position:fixed !important;
        top:58px !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        background:#f5f8fd !important;
        transform:translateX(100%) !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transition:transform .22s ease, opacity .22s ease, visibility .22s ease !important;
        z-index:999 !important;
        overflow:auto !important;
        padding:0 0 28px !important;
        border-top:1px solid rgba(20,38,61,.08) !important;
    }

    .menu-user-toggle:checked ~ .menu-user-nav .menu-user-mobile-panel{
        transform:translateX(0) !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    .menu-user-toggle:checked ~ .menu-user-nav .menu-user-mobile-burger{
        background:#183e72 !important;
        color:#fff !important;
    }

    .menu-user-mobile-user{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;
        margin:14px 18px 10px !important;
        padding:12px !important;
        background:#fff !important;
        border-radius:16px !important;
        box-shadow:0 8px 24px rgba(21,42,71,.08) !important;
        border:1px solid rgba(20,38,61,.06) !important;
    }

    .menu-user-mobile-user-left{
        display:flex !important;
        align-items:center !important;
        gap:10px !important;
        min-width:0 !important;
    }

    .menu-user-mobile-user-avatar{
        width:44px !important;
        height:44px !important;
        border-radius:999px !important;
        overflow:hidden !important;
        background:#edf3fb !important;
        flex:0 0 auto !important;
    }

    .menu-user-mobile-user-avatar img{
        display:block !important;
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        border:0 !important;
    }

    .menu-user-mobile-user-text{
        min-width:0 !important;
        max-width:calc(100vw - 140px) !important;
    }

    .menu-user-mobile-user-name{
        font-size:14px !important;
        font-weight:700 !important;
        line-height:1.15 !important;
        color:#163154 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .menu-user-mobile-user-company{
        margin-top:3px !important;
        font-size:11px !important;
        line-height:1.2 !important;
        color:#6b7b91 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .menu-user-mobile-logout{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:34px !important;
        height:34px !important;
        border-radius:10px !important;
        background:#f4f7fb !important;
        flex:0 0 auto !important;
    }

    .menu-user-mobile-admin{
        display:block !important;
        padding:0 18px 10px !important;
    }

    .menu-user-mobile-admin a,
    .menu-user-mobile-admin button,
    .menu-user-mobile-admin .selemenu,
    .menu-user-mobile-admin .admin-menu-link,
    .menu-user-mobile-admin .admin-link{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:38px !important;
        padding:0 14px !important;
        border-radius:10px !important;
        background:#08285c !important;
        color:#ffffff !important;
        font-size:14px !important;
        font-weight:700 !important;
        text-decoration:none !important;
        border:0 !important;
    }

    .menu-user-mobile-nav{
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        gap:0 !important;
    }

    .menu-user-mobile-link{
        display:flex !important;
        align-items:center !important;
        width:100% !important;
        min-height:54px !important;
        padding:0 22px !important;
        font-size:16px !important;
        font-weight:600 !important;
        line-height:1.1 !important;
        color:#17304f !important;
        background:#f5f8fd !important;
        border-bottom:1px solid rgba(20,38,61,.07) !important;
    }

    .menu-user-mobile-link-active{
        background:#e6effb !important;
        color:#0a2d62 !important;
    }
}