/* MP_TRAVEL_ADMIN_SIDEBAR_PREMIUM_V15 */

/*
 * Global Admin Hub navigation refinement.
 * Keeps the approved ALCANCE navy/orange identity, 5px controls,
 * round icon containers, no shadows and the existing navigation logic.
 */

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar {
    width: 232px !important;
    overflow-x: hidden !important;
    background: linear-gradient(180deg, #202021 0%, #031D43 100%) !important;
    border-right: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.18) transparent;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar::-webkit-scrollbar {
    width: 4px;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar::-webkit-scrollbar-thumb {
    border-radius: 100px;
    background: rgba(255,255,255,.16);
}

/* Brand block: less bulky, clearer hierarchy. */
body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-brand {
    min-height: 94px !important;
    padding: 13px 48px 11px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
    background: rgba(0,0,0,.04) !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-brand-link {
    gap: 5px !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-brand-logo {
    width: 176px !important;
    max-width: 176px !important;
    height: 53px !important;
    max-height: 53px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-brand-label {
    margin: 0 !important;
    color: #F47F22 !important;
    font-size: 8px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar-collapse {
    top: 12px !important;
    right: 11px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    border: 1px solid rgba(255,255,255,.17) !important;
    border-radius: 5px !important;
    background: rgba(255,255,255,.055) !important;
    color: rgba(255,255,255,.92) !important;
    box-shadow: none !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar-collapse:hover,
body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar-collapse:focus-visible {
    border-color: #F47F22 !important;
    background: rgba(244, 127, 34,.12) !important;
    color: #F47F22 !important;
    outline: none !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar-collapse svg {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
}

/* Navigation rhythm and hierarchy. */
body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav {
    gap: 4px !important;
    padding: 12px 11px 20px !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link {
    position: relative !important;
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    min-height: 46px !important;
    gap: 8px !important;
    padding: 0 10px !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: rgba(237,244,252,.88) !important;
    box-shadow: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-icon {
    display: inline-grid !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    place-items: center !important;
    border-radius: 100% !important;
    background: transparent !important;
    color: #D8E6F7 !important;
    transition: background-color .16s ease, color .16s ease !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-icon svg {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link em {
    font-size: 10.5px !important;
    font-weight: 650 !important;
    letter-spacing: .005em !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link b {
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 6px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 100px !important;
    background: rgba(255,255,255,.11) !important;
    color: #FFF !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link:hover,
body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link:focus-visible {
    border-color: rgba(255,255,255,.10) !important;
    background: rgba(255,255,255,.065) !important;
    color: #FFF !important;
    outline: none !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link:hover .mp-admin-nav-icon,
body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link:focus-visible .mp-admin-nav-icon {
    background: rgba(255,255,255,.08) !important;
    color: #FFF !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link.is-active {
    border-color: #F47F22 !important;
    background: #F47F22 !important;
    color: #FFF !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link.is-active .mp-admin-nav-icon {
    background: rgba(255,255,255,.16) !important;
    color: #FFF !important;
}

body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link.is-active b {
    border-color: #FFF !important;
    background: #FFF !important;
    color: #B96B00 !important;
}

/* Compact desktop state: true icon rail instead of a squeezed full menu. */
@media (min-width: 901px) {
    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed {
        grid-template-columns: 82px minmax(0, 1fr) !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-sidebar {
        width: 82px !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-brand {
        min-height: 102px !important;
        padding: 45px 9px 9px !important;
        justify-content: center !important;
    }

    /*
     * PR16_COMPACT_SIDEBAR_FINAL_POLISH
     * The portal has one official full ALCANCE logo and no separate compact mark.
     * Keep that source image intact and expose its emblem area through a clipped
     * viewport rather than inventing a substitute monogram.
     */
    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-brand-link {
        display: block !important;
        width: 62px !important;
        min-width: 62px !important;
        max-width: 62px !important;
        height: 48px !important;
        min-height: 48px !important;
        overflow: hidden !important;
        justify-self: center !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-brand-logo {
        display: block !important;
        width: 176px !important;
        min-width: 176px !important;
        max-width: none !important;
        height: 53px !important;
        min-height: 53px !important;
        max-height: 53px !important;
        margin: -2px 0 0 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        transform: none !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-brand-label {
        display: none !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-sidebar-collapse {
        top: 8px !important;
        right: 50% !important;
        transform: translateX(50%) !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-nav {
        gap: 3px !important;
        padding: 8px 0 16px !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-nav-link {
        grid-template-columns: 1fr !important;
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        min-height: 46px !important;
        height: 46px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        justify-items: center !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-nav-icon {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-nav-link em {
        display: none !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-nav-link b {
        position: absolute !important;
        top: 2px !important;
        right: 2px !important;
        display: inline-flex !important;
        min-width: 16px !important;
        width: auto !important;
        height: 16px !important;
        min-height: 16px !important;
        padding: 0 4px !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #202021 !important;
        border-radius: 100px !important;
        background: #0B315E !important;
        color: #FFF !important;
        line-height: 14px !important;
        font-size: 7px !important;
        font-weight: 850 !important;
        z-index: 2 !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-shell.is-sidebar-collapsed .mp-admin-nav-link.is-active b {
        border-color: #F47F22 !important;
        background: #FFF !important;
        color: #B96B00 !important;
    }
}

/* Mobile/off-canvas keeps labels and a comfortable touch target. */
@media (max-width: 900px) {
    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-sidebar {
        width: 260px !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-brand {
        min-height: 96px !important;
        padding: 14px 16px !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav {
        padding: 12px 11px 22px !important;
    }

    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link {
        min-height: 48px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-link,
    body.mp-portal-ui-admin #mp-admin-portal-root .mp-admin-nav-icon {
        transition: none !important;
    }
}

/* /MP_TRAVEL_ADMIN_SIDEBAR_PREMIUM_V15 */
