/* ==========================================================================
   RiskSystem Sidebar Styling & Collapse Fix (AdminLTE 2.x Compatibility)
   ========================================================================== */

/* 1. Text Color & Styling for Expanded Sidebar */
.sidebar a,
.sidebar-menu a,
.sidebar-menu li a,
.sidebar-menu > li > a {
    color: #333 !important;
}

.sidebar a:hover,
.sidebar-menu a:hover,
.sidebar-menu li a:hover,
.sidebar-menu > li > a:hover {
    color: #000 !important;
    text-decoration: none;
}

.treeview-menu > li > a,
.sidebar-menu .treeview-menu > li > a {
    color: #555 !important;
}

.treeview-menu > li.active > a,
.treeview-menu > li > a:hover,
.sidebar-menu .treeview-menu > li.active > a,
.sidebar-menu .treeview-menu > li > a:hover {
    color: #000 !important;
    background-color: #f0f0f0 !important;
}

/* Sidebar Menu Borders & Background */
.sidebar-menu > li > a {
    border-bottom: 1px solid #e9ecef !important;
    border-left: 3px solid transparent !important;
}

.sidebar-menu > li.active > a {
    border-left-color: #3c8dbc !important;
    background-color: #f8f9fa !important;
}

.sidebar-menu > li > .treeview-menu {
    border-left: 3px solid #ccc !important;
    margin-left: 10px !important;
    background-color: #f8f9fa !important;
}

.sidebar-menu > li > .treeview-menu > li > a {
    border-bottom: 1px solid #eee !important;
    padding: 8px 15px !important;
}

.main-sidebar,
.left-side {
    background-color: #f8f9fa !important;
}

.sidebar-menu > li.header {
    color: #666 !important;
    background: #e9ecef !important;
    font-weight: bold !important;
}

.user-panel > .info,
.user-panel > .info > a {
    color: #333 !important;
}

/* ==========================================================================
   2. FIX: Collapsed Sidebar Floating Popup Cards (50px Width & Unclipped Overflow)
   ========================================================================== */

@media (min-width: 768px) {

    /* Force overflow visible on ALL parent containers so popups are NOT clipped! */
    body.sidebar-collapse,
    body.sidebar-collapse .wrapper,
    body.sidebar-collapse .main-sidebar,
    body.sidebar-collapse .sidebar,
    body.sidebar-collapse .slimScrollDiv,
    body.sidebar-collapse .sidebar-menu {
        overflow: visible !important;
    }

    /* Force main sidebar container to stay 50px wide when collapsed, even on hover */
    body.sidebar-collapse .main-sidebar,
    body.sidebar-collapse .main-sidebar:hover,
    body.sidebar-mini.sidebar-collapse .main-sidebar,
    body.sidebar-mini.sidebar-collapse .main-sidebar:hover {
        width: 50px !important;
        z-index: 850 !important;
    }

    body.sidebar-collapse .sidebar,
    body.sidebar-mini.sidebar-collapse .sidebar {
        width: 50px !important;
    }

    body.sidebar-collapse .sidebar-menu > li,
    body.sidebar-mini.sidebar-collapse .sidebar-menu > li {
        position: relative !important;
    }

    /* Hide user panel info, header section & arrows by default when collapsed */
    body.sidebar-collapse .user-panel > .info,
    body.sidebar-collapse .sidebar-menu > li.header,
    body.sidebar-collapse .sidebar-menu > li > a > span,
    body.sidebar-collapse .sidebar-menu > li > a > .pull-right-container,
    body.sidebar-collapse .sidebar-menu > li > a > i.pull-right,
    body.sidebar-collapse .sidebar-menu > li > .treeview-menu {
        display: none !important;
    }

    /* Top-level collapsed menu item links icon centering */
    body.sidebar-collapse .sidebar-menu > li > a {
        padding: 12px 15px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body.sidebar-collapse .sidebar-menu > li > a > img {
        margin-right: 0 !important;
    }

    /* ----------------------------------------------------------------------
       FLOATING POPUP CARD ON HOVER & ACTIVE POPUP
       ---------------------------------------------------------------------- */

    /* Title Popup Box when hovering or active on any collapsed top-level menu item */
    body.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right-container),
    body.sidebar-collapse .sidebar-menu > li.popout-active > a > span:not(.pull-right-container) {
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: 50px !important;
        width: 240px !important;
        padding: 12px 15px !important;
        background-color: #222d32 !important;
        color: #ffffff !important;
        font-weight: bold !important;
        font-size: 14px !important;
        box-shadow: 4px 2px 10px rgba(0, 0, 0, 0.3) !important;
        z-index: 9999 !important;
        white-space: nowrap !important;
        border-radius: 0 4px 0 0 !important;
        border-bottom: 1px solid #374850 !important;
        text-align: left !important;
    }

    /* Single non-treeview menu items get full rounded right corners */
    body.sidebar-collapse .sidebar-menu > li:not(.treeview):hover > a > span:not(.pull-right-container),
    body.sidebar-collapse .sidebar-menu > li:not(.treeview).popout-active > a > span:not(.pull-right-container) {
        border-radius: 0 4px 4px 0 !important;
        border-bottom: none !important;
    }

    /* Submenu Floating Box Card when hovering or active on a treeview menu item */
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu {
        display: block !important;
        position: absolute !important;
        top: 38px !important;
        left: 50px !important;
        width: 240px !important;
        margin: 0 !important;
        background-color: #ffffff !important;
        border: 1px solid #d2d6de !important;
        border-top: none !important;
        box-shadow: 4px 6px 14px rgba(0, 0, 0, 0.25) !important;
        z-index: 9998 !important;
        padding: 5px 0 !important;
        border-radius: 0 0 4px 4px !important;
        max-height: 80vh !important;
        overflow-y: auto !important;
    }

    /* Invisible mouse bridge hit-zone to bridge the 50px sidebar icon to the 240px floating card */
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu::before,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu::before {
        content: "";
        position: absolute;
        top: -45px;
        left: -25px;
        width: 30px;
        height: calc(100% + 50px);
        background: transparent;
        z-index: 10000;
    }

    /* Items inside the floating submenu card */
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu li,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu li {
        position: relative !important;
        width: 100% !important;
        display: block !important;
    }

    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu li a,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu li a {
        padding: 8px 18px !important;
        color: #444444 !important;
        display: block !important;
        text-align: left !important;
        font-size: 13px !important;
        border-bottom: 1px solid #f4f4f4 !important;
        white-space: normal !important;
        background-color: #ffffff !important;
    }

    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu li a:hover,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu li a:hover {
        background-color: #3c8dbc !important;
        color: #ffffff !important;
    }

    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu li a:hover i,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu li a:hover i {
        color: #ffffff !important;
    }

    /* Submenu span inside floating popup */
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu li a span,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu li a span {
        display: inline !important;
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        color: inherit !important;
    }

    /* Nested treeviews inside floating popup box: Hidden by default for accordion collapse/expand */
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview-menu,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview-menu {
        display: none;
        position: static !important;
        width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        background-color: #f4f6f9 !important;
        padding-left: 10px !important;
        margin: 0 !important;
    }

    /* Nested treeview displays ONLY when opened via click (class .menu-open) */
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview-menu.menu-open,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview-menu.menu-open {
        display: block !important;
    }

    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview-menu li a,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview-menu li a {
        padding: 6px 15px 6px 25px !important;
        color: #555555 !important;
        background-color: #f4f6f9 !important;
    }

    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview-menu li a:hover,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview-menu li a:hover {
        background-color: #0073b7 !important;
        color: #ffffff !important;
    }

    /* Show and position right-arrow icons inside floating popup card */
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview > a > .pull-right-container,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview > a > .pull-right-container {
        display: block !important;
        position: absolute !important;
        right: 12px !important;
        top: 10px !important;
    }

    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview > a > .pull-right-container > i,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview > a > .pull-right-container > i {
        display: inline-block !important;
        transition: transform 0.2s ease-in-out;
    }

    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview.active > a > .pull-right-container > i,
    body.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu .treeview.menu-open > a > .pull-right-container > i,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview.active > a > .pull-right-container > i,
    body.sidebar-collapse .sidebar-menu > li.popout-active > .treeview-menu .treeview.menu-open > a > .pull-right-container > i {
        transform: rotate(-90deg);
    }
}