/**
 * Clean Dark Grey Sidebar Theme
 * Sectoor ERP - Minimalist, Matte, No AI Slop
 */

:root {
    --sidebar-dark-bg: #111827;
    --sidebar-dark-border: rgba(255, 255, 255, 0.07);
    --sidebar-dark-text: #9ca3af;
    --sidebar-dark-hover-bg: rgba(255, 255, 255, 0.05);
    --sidebar-dark-active-bg: #1f2937;
    --sidebar-dark-active-text: #ffffff;
    --sidebar-dark-muted: #6b7280;
}

/* Base Sidebar Container */
.sidebar {
    background: var(--sidebar-dark-bg) !important;
    border-right: 1px solid var(--sidebar-dark-border) !important;
    box-shadow: none !important;
}

/* Sidebar Header & Brand */
.sidebar .sidebar-header {
    background: var(--sidebar-dark-bg) !important;
    border-bottom: 1px solid var(--sidebar-dark-border) !important;
    border-right: 1px solid var(--sidebar-dark-border) !important;
    padding: 0 16px !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.sidebar .sidebar-brand {
    display: flex !important;
    align-items: center !important;
}

.sidebar .sidebar-brand img,
.sidebar-brand img.responsive-logo {
    height: 46px !important;
    width: auto !important;
    max-width: 155px !important;
    object-fit: contain !important;
    display: block !important;
}

.sidebar .sidebar-toggler span {
    background: #6b7280 !important;
    transition: background 0.15s ease !important;
}

.sidebar .sidebar-toggler:hover span {
    background: #ffffff !important;
}

/* Prevent layout shift and scroll chaining */
html {
    scrollbar-gutter: stable;
}

/* Sidebar Body */
.sidebar .sidebar-body {
    background: var(--sidebar-dark-bg) !important;
    padding: 0 !important;
    overscroll-behavior: contain !important;
}

/* Category Headers */
.sidebar .sidebar-body .nav .nav-item.nav-category {
    color: var(--sidebar-dark-muted) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    height: auto !important;
    line-height: 1.2 !important;
    padding: 20px 16px 8px 16px !important;
    margin: 0 !important;
    border: none !important;
}

.sidebar .sidebar-body .nav .nav-item.nav-category:first-of-type,
.sidebar .sidebar-body .nav > .nav-item.nav-category:first-child {
    padding-top: 14px !important;
}

/* Navigation Items & Links */
.sidebar .sidebar-body .nav .nav-item:not(.nav-category) {
    margin: 3px 10px !important;
}

.sidebar .sidebar-body .nav .nav-item.nav-category + .nav-item {
    margin-top: 6px !important;
}

.sidebar .sidebar-body .nav .nav-item .nav-link {
    color: var(--sidebar-dark-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 7px !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

.sidebar .sidebar-body .nav .nav-item .nav-link:hover {
    color: #ffffff !important;
    background-color: var(--sidebar-dark-hover-bg) !important;
}

.sidebar .sidebar-body .nav .nav-item .nav-link .link-icon {
    width: 17px !important;
    height: 17px !important;
    margin-right: 11px !important;
    color: var(--sidebar-dark-text) !important;
    transition: color 0.15s ease !important;
    flex-shrink: 0;
}

.sidebar .sidebar-body .nav .nav-item .nav-link:hover .link-icon {
    color: #ffffff !important;
}

.sidebar .sidebar-body .nav .nav-item .nav-link .link-title {
    font-size: 13px !important;
    color: inherit !important;
}

/* Active Link State (Matte Dark Grey + Pure White Text) */
.sidebar .sidebar-body .nav .nav-item.active > .nav-link,
.sidebar .sidebar-body .nav .nav-item .nav-link.active {
    background: var(--sidebar-dark-active-bg) !important;
    color: var(--sidebar-dark-active-text) !important;
    font-weight: 600 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
}

.sidebar .sidebar-body .nav .nav-item.active > .nav-link .link-icon,
.sidebar .sidebar-body .nav .nav-item .nav-link.active .link-icon {
    color: #ffffff !important;
}

/* Chevron Dropdown Arrow */
.sidebar .sidebar-body .nav .nav-item .nav-link .link-arrow {
    margin-left: auto !important;
    width: 14px !important;
    height: 14px !important;
    color: var(--sidebar-dark-muted) !important;
    transition: transform 0.2s ease, color 0.15s ease !important;
    flex-shrink: 0;
}

.sidebar .sidebar-body .nav .nav-item .nav-link:hover .link-arrow {
    color: #ffffff !important;
}

.sidebar .sidebar-body .nav .nav-item .nav-link[aria-expanded="true"] .link-arrow {
    transform: rotate(180deg) !important;
    color: #ffffff !important;
}

/* Sub-Menu Tree Guide */
.sidebar .sidebar-body .nav .nav-item .collapse .sub-menu {
    list-style: none !important;
    margin: 3px 0 5px 22px !important;
    padding: 3px 0 3px 10px !important;
    border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

.sidebar .sidebar-body .nav .nav-item .collapse .sub-menu .nav-item {
    margin: 0 !important;
}

.sidebar .sidebar-body .nav .nav-item .collapse .sub-menu .nav-item .nav-link {
    padding: 6px 10px !important;
    font-size: 12px !important;
    color: var(--sidebar-dark-text) !important;
    font-weight: 400 !important;
    border-radius: 6px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

.sidebar .sidebar-body .nav .nav-item .collapse .sub-menu .nav-item .nav-link:hover {
    color: #ffffff !important;
    background-color: var(--sidebar-dark-hover-bg) !important;
}

.sidebar .sidebar-body .nav .nav-item .collapse .sub-menu .nav-item .nav-link.active,
.sidebar .sidebar-body .nav .nav-item .collapse .sub-menu .nav-item.active > .nav-link {
    color: #ffffff !important;
    background-color: var(--sidebar-dark-active-bg) !important;
    font-weight: 600 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Minimized / Folded Sidebar Flyout Card */
.sidebar-folded:not(.open-sidebar-folded) .sidebar {
    background: var(--sidebar-dark-bg) !important;
}

.sidebar-folded:not(.open-sidebar-folded) .sidebar .sidebar-body .nav .nav-item:hover .collapse {
    background: var(--sidebar-dark-bg) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
    padding: 6px !important;
}

.sidebar-folded:not(.open-sidebar-folded) .sidebar .sidebar-body .nav .nav-item:hover .collapse .sub-menu {
    margin: 0 !important;
    border-left: none !important;
    padding: 0 !important;
}

/* Scrollbar */
.sidebar .sidebar-body::-webkit-scrollbar {
    width: 4px;
}
.sidebar .sidebar-body::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

/* Compact 2-column Dashboard Cards on Mobile */
@media (max-width: 767.98px) {
    .dashboard-stat-card {
        margin-bottom: 0.5rem !important;
    }
    .dashboard-stat-card .card-body {
        padding: 12px 14px !important;
    }
    .dashboard-stat-card .card-title {
        font-size: 11px !important;
        letter-spacing: 0.02em !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .dashboard-stat-card h3,
    .dashboard-stat-card h4 {
        font-size: 1.25rem !important;
        margin-bottom: 2px !important;
    }
    .dashboard-stat-card p.text-muted {
        font-size: 10.5px !important;
        margin-bottom: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .dashboard-stat-card .icon-lg {
        width: 18px !important;
        height: 18px !important;
    }
}

/* Navbar Brand Logo (Shown when sidebar is hidden / mobile / desktop folded) */
.navbar .navbar-brand-mobile {
    display: none;
    align-items: center;
    text-decoration: none;
    margin-right: auto;
}

.navbar .navbar-brand-mobile img,
.navbar-mobile-logo {
    height: 38px !important;
    width: auto !important;
    max-width: 135px !important;
    object-fit: contain !important;
    display: block !important;
}

/* 1. On mobile (< 992px), always display logo in top navbar */
@media (max-width: 991.98px) {
    .navbar .navbar-brand-mobile {
        display: flex !important;
    }
}

/* 2. On desktop (>= 992px), display logo in navbar when sidebar is folded */
@media (min-width: 992px) {
    body.sidebar-folded:not(.open-sidebar-folded) .navbar .navbar-brand-mobile {
        display: flex !important;
    }
}
