/* =========================================================
   SHARED SIDEBAR COLLAPSE/EXPAND ANIMATIONS — ALL PANELS
   ========================================================= */

/* Core: animate sidebar width change */
.fi-sidebar.fi-main-sidebar {
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                min-width 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow: hidden;
}

/* Content area: smooth reflow */
.fi-main-ctn {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Labels: animate opacity instead of display:none */
.fi-sidebar-item-label,
.fi-sidebar-item-badge-ctn,
.fi-sidebar-group-label,
.fi-sidebar-group-btn,
.fi-sidebar-group-items,
.fi-sidebar-header-logo-ctn,
.fi-sidebar-database-notifications-btn-label,
.fi-sidebar-database-notifications-btn-badge-ctn {
    transition: opacity 0.25s ease, transform 0.25s ease !important;
}

/* Nav items: smooth padding/bg */
.fi-sidebar-item-btn {
    transition: padding 0.25s ease,
                background-color 0.15s ease !important;
}

/* Sidebar nav padding */
.fi-sidebar-nav {
    transition: padding 0.3s ease !important;
}

/* Sidebar header */
.fi-sidebar-header {
    transition: padding 0.3s ease !important;
}

/* Groups spacing */
.fi-sidebar-group {
    transition: margin 0.3s ease, gap 0.3s ease !important;
}

/* Collapse/expand button icon */
.fi-sidebar-close-collapse-sidebar-btn,
.fi-sidebar-open-collapse-sidebar-btn {
    transition: opacity 0.2s ease !important;
}

/* Subtle press effect on nav items */
.fi-sidebar-item-btn:active {
    transform: scale(0.97);
    transition: transform 0.1s ease !important;
}

/* =========================================================
   COMPACT SIDEBAR — FIT MORE ITEMS ON SCREEN
   ========================================================= */

/* Tighter nav padding */
.fi-sidebar-nav {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    gap: 0.75rem !important;
}

/* Reduce group spacing */
.fi-sidebar-nav-groups {
    gap: 0.5rem !important;
}

.fi-sidebar-group {
    gap: 0 !important;
}

.fi-sidebar-group-items {
    gap: 0 !important;
}

/* Compact nav item buttons */
.fi-sidebar-item-btn {
    padding: 0.35rem 0.5rem !important;
    gap: 0.5rem !important;
    border-radius: 0.5rem !important;
}

/* Smaller nav icons */
.fi-sidebar-item-btn > .fi-icon-btn-icon,
.fi-sidebar-item-btn > svg {
    width: 1.15rem !important;
    height: 1.15rem !important;
}

/* Compact label text */
.fi-sidebar-item-label {
    font-size: 0.82rem !important;
    line-height: 1.3 !important;
}

/* Compact group header */
.fi-sidebar-group-btn {
    padding: 0.25rem 0.5rem !important;
    gap: 0.5rem !important;
}

.fi-sidebar-group-label {
    font-size: 0.72rem !important;
    line-height: 1.2 !important;
}

/* Compact sidebar header */
.fi-sidebar-header {
    height: 3.5rem !important;
}

/* Smaller badges */
.fi-sidebar-item-badge-ctn .fi-badge {
    font-size: 0.65rem !important;
    padding: 0.1rem 0.4rem !important;
    min-height: unset !important;
}

/* Group separator line when sidebar is collapsed */
.fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-group + .fi-sidebar-group {
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding-top: 0.4rem !important;
    margin-top: 0.4rem !important;
}
