/**
 * Global Navigation Styles
 *
 * Active menu states and global loading overlay
 */

/* Active menu item highlighting */
.sidebar-menu a.active,
.sidebar-menu a.menu-active,
.sidebar-menu a.current-page,
.e-sidebar a.active,
.e-sidebar a.menu-active,
.e-sidebar a.current-page,
nav a.active,
nav a.menu-active,
nav a.current-page,
#dockList .e-list-item.e-active,
#dockList .e-list-item.menu-active,
#dockList .e-list-item.current-page {
    background-color: rgba(106, 153, 106, 0.15) !important;
    color: var(--ss-color-brand) !important;
    font-weight: var(--ss-font-weight-semibold) !important;
    border-left: 4px solid var(--ss-color-brand) !important;
    padding-left: calc(1rem - 4px) !important;
}

/* Active menu item icon */
.sidebar-menu a.active .e-icons,
.sidebar-menu a.menu-active .e-icons,
.sidebar-menu a.current-page .e-icons,
.e-sidebar a.active .e-icons,
.e-sidebar a.menu-active .e-icons,
.e-sidebar a.current-page .e-icons,
nav a.active .e-icons,
nav a.menu-active .e-icons,
nav a.current-page .e-icons,
#dockList .e-list-item.e-active .e-list-icon,
#dockList .e-list-item.menu-active .e-list-icon,
#dockList .e-list-item.current-page .e-list-icon {
    color: var(--ss-color-brand) !important;
    filter: brightness(0) saturate(100%) invert(42%) sepia(15%) saturate(1234%) hue-rotate(75deg) brightness(95%) contrast(89%);
}

/* Active parent menu item */
.sidebar-menu li.active,
.sidebar-menu li.menu-active,
.e-sidebar li.active,
.e-sidebar li.menu-active {
    background-color: rgba(106, 153, 106, 0.05);
}

/* Hover state for non-active items */
.sidebar-menu a:not(.active):hover,
.e-sidebar a:not(.active):hover,
nav a:not(.active):hover {
    background-color: rgba(0, 0, 0, 0.05);
}

/* Global loading overlay spinner animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.e-spin-material {
    animation: spin 1.4s linear infinite;
}

/* Active menu item text */
#dockList .e-list-item.e-active .e-list-text,
#dockList .e-list-item.menu-active .e-list-text,
#dockList .e-list-item.current-page .e-list-text {
    color: var(--ss-color-brand) !important;
    font-weight: var(--ss-font-weight-semibold) !important;
}

/* Smooth transitions for menu items */
.sidebar-menu a,
.e-sidebar a,
nav a,
#dockList .e-list-item {
    transition: all 0.2s ease-in-out;
}

/* Active indicator dot (optional) */
.sidebar-menu a.active::before,
.e-sidebar a.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 60%;
    background-color: var(--ss-color-brand);
    border-radius: 0 2px 2px 0;
}

/* Expanded submenu indicator */
.sidebar-menu li.expanded > a::after,
.e-sidebar li.expanded > a::after {
    transform: rotate(90deg);
}

/* Loading overlay fade in */
#global-loading-overlay {
    animation: fadeIn 0.2s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Prevent text selection during navigation */
#global-loading-overlay {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Loading spinner container */
.e-spinner-pane {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.e-spinner-inner {
    width: 50px;
    height: 50px;
    position: relative;
}

.e-spin-material {
    width: 100%;
    height: 100%;
    border: 4px solid var(--ss-color-border-light);
    border-top-color: var(--ss-color-brand);
    border-radius: 50%;
}

