/* ===================================================
   Modern Navigation Menu - Clean & Minimal
   - Clean typography and spacing
   - Subtle hover and active states
   - Improved visual hierarchy
   - Reduced visual noise
   =================================================== */

/* ==========================================
   MENU TITLE STYLING
   ========================================== */

/* Menu section titles - lighter weight */
.leftbar-tab-menu .main-menu-inner .menu-body .title-box {
    padding: 8px 16px 4px;
    margin-bottom: 4px;
}

.leftbar-tab-menu .main-menu-inner .menu-body .menu-title {
    font-size: 11px;
    font-weight: 500; /* Reduced from 600 or bold */
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #94a3b8;
    margin: 0;
}

/* ==========================================
   LIGHT SIDEBAR (Default Theme)
   ========================================== */

/* Reset excessive bold and active states */
.leftbar-tab-menu .main-menu-inner .menu-body .nav-item {
    margin-bottom: 1px;
}

/* Parent menu items - default state */
.leftbar-tab-menu .main-menu-inner .menu-body .nav-item > .nav-link {
    font-weight: 400; /* Normal weight instead of bold */
    color: #4a5568;
    padding: 8px 16px;
    border-radius: 4px;
    transition: all 0.15s ease;
}

/* Remove default bold from menuitem-active class */
.leftbar-tab-menu .main-menu-inner .menu-body .nav-item.menuitem-active > .nav-link {
    font-weight: 400; /* Keep normal weight even when active */
}

/* Parent menu items - hover state */
.leftbar-tab-menu .main-menu-inner .menu-body .nav-item > .nav-link:hover {
    background-color: #f7f9fc;
    color: #2d3748;
    transform: translateX(2px);
}

/* Parent menu items - active state with subtle background */
.leftbar-tab-menu .main-menu-inner .menu-body .nav-item > .nav-link.active,
.leftbar-tab-menu .main-menu-inner .menu-body .nav-item.menuitem-active > .nav-link[aria-expanded="true"] {
    background-color: rgba(11, 81, 183, 0.05);
    color: #0b51b7;
    font-weight: 500; /* Slightly bolder, not 600 */
}

/* Child menu items (inside collapse) */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item {
    position: relative;
}

.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link {
    padding-left: 44px !important;
    padding-right: 16px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 400;
    color: #64748b;
    transition: all 0.15s ease;
}

/* Child menu items - hover state */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link:hover {
    padding-left: 46px !important;
    background-color: #f7f9fc;
    color: #2d3748;
}

/* Child menu items - active state */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link.active,
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item.menuitem-active > .nav-link {
    background-color: transparent;
    color: #0b51b7;
    font-weight: 500; /* Medium weight, not bold */
    position: relative;
}

/* Add left border for active child items instead of background */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link.active::after,
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item.menuitem-active > .nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 16px;
    background-color: #0b51b7;
    border-radius: 0 2px 2px 0;
}

/* IMPORTANT: Hide blue bar on parent menu items that have collapsible submenus.
   Only leaf-level menu items (actual page links) should show the active indicator.
   This prevents multiple blue bars when JS marks parent chain as active. */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link[data-bs-toggle="collapse"]::after,
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item.menuitem-active > .nav-link[data-bs-toggle="collapse"]::after {
    display: none !important;
}

/* Also hide blue bar on first-level collapse items */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav > .nav-item .nav > .nav-item > .nav-link[data-bs-toggle="collapse"].active::after,
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav > .nav-item .nav > .nav-item.menuitem-active > .nav-link[data-bs-toggle="collapse"]::after {
    display: none !important;
}

/* Simple dot indicator for hierarchy */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link::before {
    content: "";
    position: absolute;
    left: 28px;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #cbd5e0;
    border: none !important;
    transition: all 0.15s ease;
}

/* Dot indicator - hover */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link:hover::before {
    background-color: #94a3b8;
    width: 5px;
    height: 5px;
}

/* Dot indicator - active */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link.active::before,
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item.menuitem-active > .nav-link::before {
    background-color: #0b51b7;
    width: 5px;
    height: 5px;
}

/* Hide dot indicator on parent collapse items (only show on leaf links) */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link[data-bs-toggle="collapse"]::before {
    display: none !important;
}

/* Chevron for parent items with children - more subtle */
.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-link[data-bs-toggle="collapse"]::after {
    opacity: 0.4;
    font-size: 12px;
    transition: all 0.2s ease-in-out;
}

.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-link[data-bs-toggle="collapse"]:hover::after {
    opacity: 0.6;
}

.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-link[data-bs-toggle="collapse"][aria-expanded="true"]::after {
    opacity: 0.7;
}

/* ==========================================
   DARK SIDEBAR (Dark Theme)
   ========================================== */

/* Menu titles - dark theme */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .menu-title {
    color: #64748b;
    font-weight: 500;
}

/* Parent menu items - default text */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item .nav-link {
    color: #cbd5e1;
    font-weight: 400;
}

/* Remove bold from active parent items in dark theme */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item.menuitem-active > .nav-link {
    font-weight: 400;
}

/* Parent menu items - hover state */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item > .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.04);
    color: #e2e8f0;
    transform: translateX(2px);
}

/* Parent menu items - active state with expanded menu */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item > .nav-link.active,
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item.menuitem-active > .nav-link[aria-expanded="true"] {
    background-color: rgba(96, 165, 250, 0.08);
    color: #60a5fa;
    font-weight: 500;
}

body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item > .nav-link.active i,
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item.menuitem-active > .nav-link[aria-expanded="true"] i {
    color: #60a5fa;
}

/* Child menu items - default text */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link {
    color: #94a3b8;
    padding-left: 44px !important;
    padding-right: 16px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 400;
}

/* Child menu items - hover state */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link:hover {
    padding-left: 46px !important;
    background-color: rgba(255, 255, 255, 0.04);
    color: #e2e8f0;
}

/* Child menu items - active state */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link.active,
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item.menuitem-active > .nav-link {
    background-color: transparent;
    color: #60a5fa;
    font-weight: 500;
}

/* Active left border for dark theme */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link.active::after,
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item.menuitem-active > .nav-link::after {
    background-color: #60a5fa;
}

/* Dot indicator - dark theme */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link::before {
    background-color: #475569;
}

/* Dot indicator - hover (dark theme) */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link:hover::before {
    background-color: #64748b;
}

/* Dot indicator - active (dark theme) */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item .nav-link.active::before,
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav-item.menuitem-active > .nav-link::before {
    background-color: #60a5fa;
}

/* Chevron - dark theme */
body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-link[data-bs-toggle="collapse"]::after {
    opacity: 0.4;
    color: #64748b;
    font-size: 12px;
}

body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-link[data-bs-toggle="collapse"]:hover::after {
    opacity: 0.6;
    color: #94a3b8;
}

body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-link[data-bs-toggle="collapse"][aria-expanded="true"]::after {
    opacity: 0.7;
    color: #cbd5e1;
}

/* ==========================================
   THIRD LEVEL (If needed in future)
   ========================================== */

.leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav .nav-item .nav-link {
    padding-left: 70px !important;
    font-size: 0.85rem;
}

body.dark-sidebar .leftbar-tab-menu .main-menu-inner .navbar-vertical .navbar-nav .nav-item .nav .nav .nav-item .nav-link {
    color: #94a3b8;
}

/* ==========================================
   COLLAPSE TRANSITIONS
   ========================================== */

.leftbar-tab-menu .collapse {
    transition: height 0.25s ease-in-out;
}

/* ==========================================
   SPACING & LAYOUT
   ========================================== */

.leftbar-tab-menu .nav-item {
    margin-bottom: 2px;
}

/* Icon consistency */
.leftbar-tab-menu .nav-link i {
    width: 20px;
    text-align: center;
}

/* ==========================================
   SPECIAL STYLING FOR CHATBOT MENU
   ========================================== */

/* Clean up Chatbot/AI Assistant specific items */
#MetricaChatbot .nav-item {
    margin-bottom: 2px;
}

#MetricaChatbot .nav-link {
    font-weight: 400 !important;
    padding: 8px 16px;
    border-radius: 4px;
    transition: all 0.15s ease;
}

#MetricaChatbot .nav-link:hover {
    background-color: #f7f9fc;
    transform: translateX(2px);
}

#MetricaChatbot .nav-link i {
    font-size: 16px;
    width: 20px;
    opacity: 0.8;
}

#MetricaChatbot .nav-link:hover i {
    opacity: 1;
}

/* Dark theme - Chatbot menu */
body.dark-sidebar #MetricaChatbot .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.04);
}

/* ==========================================
   ACCESSIBILITY FOCUS STATES
   ========================================== */

.leftbar-tab-menu .main-menu-inner .menu-body .nav-item .nav-link:focus-visible {
    outline: 2px solid #0b51b7;
    outline-offset: -2px;
}

body.dark-sidebar .leftbar-tab-menu .main-menu-inner .menu-body .nav-item .nav-link:focus-visible {
    outline: 2px solid #60a5fa;
    outline-offset: -2px;
}
