/* === ROOT VARIABLES (Dark Slate — Sesuai Brand Logo) === */
:root {
    --menu-primary: #e5671a;
    --menu-primary-dk: #c7361c;
    --menu-orange: #f07830;
    --menu-orange-lt: rgba(229, 103, 26, 0.15);
    --menu-text: #e8e4e0;
    /* teks utama — krem terang, lembut di mata */
    --menu-text-sub: #a8a0a0;
    /* teks sekunder */
    --menu-bg: #2f3640;
    /* dark slate — tidak terlalu gelap, cocok dengan logo */
    --menu-bg-hover: rgba(255, 255, 255, 0.06);
    --menu-bg-section: rgba(255, 255, 255, 0.04);
    --menu-border: rgba(255, 255, 255, 0.08);
    --menu-active-bg: rgba(229, 103, 26, 0.14);
    --menu-active-bdr: #e5671a;
    --menu-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    --menu-radius: 10px;
    --menu-font: 'Nunito', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* === BASE SIDEBAR === */
.main-sidebar {
    font-family: var(--menu-font) !important;
    background: var(--menu-bg) !important;
    border-right: 1px solid var(--menu-border) !important;
    box-shadow: 2px 0 14px rgba(0, 0, 0, 0.2);
}

.main-sidebar .sidebar {
    width: 100%;
    background: var(--menu-bg) !important;
    padding: 10px 8px 16px 8px !important;
    scrollbar-width: thin;
}

/* === SECTION HEADERS (menu-header) === */
.main-sidebar li.menu-header {
    width: 100%;
    font-family: var(--menu-font) !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: linear-gradient(115deg, #c7361c 0%, #e5671a 100%) !important;
    padding: 8px 15px !important;
    margin: 16px 0 8px 0 !important;
    border-radius: var(--menu-radius) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 6px rgba(199, 54, 28, 0.25) !important;
}

/* .main-sidebar li.menu-header::before {
    content: "●";
color: rgba(255, 255, 255, 0.9);
margin-right: 8px;
background: none;
width: auto;
height: auto;
}

*/

/* === MENU SECTION CONTAINERS === */
.main-sidebar div[style*="background-color: #ff6600"],
.main-sidebar div[style*="background-color:#ff6600"] {
    background: var(--menu-bg) !important;
    border-bottom: 1px solid var(--menu-border) !important;
    margin: 0 0 12px 0 !important;
    padding: 8px 0px 12px 0px !important;
}

/* === DARK INFO SECTIONS === */
.main-sidebar div[style*="background-color:#4c4c4c"],
.main-sidebar div[style*="background-color: #4c4c4c"] {
    background: rgba(255, 255, 255, 0.03) !important;
    border-left: 4px solid var(--menu-orange) !important;
    border-radius: 0 10px 10px 0 !important;
    margin: 8px 12px 12px 12px !important;
    padding: 12px 14px !important;
}

/* === NAVIGATION ITEM === */
.main-sidebar .nav-item {
    width: 100%;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    position: relative;
}

.main-sidebar .nav-item:last-child {
    border-bottom: none !important;
}

/* === LINK UTAMA === */
.main-sidebar .nav-link,
.main-sidebar a.li,
.main-sidebar .li {
    color: var(--menu-text) !important;
    font-weight: 600 !important;
    padding: 10px 16px 10px 14px !important;
    border-radius: 0 8px 8px 0 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: transparent !important;
    border-left: 3px solid transparent !important;
}

/* === Bullet sebelum link === */
.main-sidebar div[style*="background-color"]>.nav-item>a.li::before,
.main-sidebar div[style*="background-color"]>.container>.nav-item>a.li::before,
.main-sidebar div[style*="background-color"]>.container-fluid>.nav-item>a.li::before,
.main-sidebar div[style*="background-color"]>li.nav-item>a.li::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--menu-orange);
    margin-right: 10px;
    flex-shrink: 0;
    opacity: 0.7;
}

/* === HOVER (dengan border-left orange) === */
.main-sidebar .nav-link:hover,
.main-sidebar a.li:hover,
.main-sidebar .li:hover {
    color: #ffffff !important;
    background: var(--menu-bg-hover) !important;
    border-left-color: var(--menu-orange) !important;
}

/* === ACTIVE STATE === */
.main-sidebar .nav-link.text-dark,
.main-sidebar a.li.text-dark,
.main-sidebar .li.text-dark {
    color: #ffffff !important;
    background: var(--menu-active-bg) !important;
    font-weight: 700 !important;
    border-radius: 0 8px 8px 0 !important;
    border-left: 3px solid var(--menu-primary) !important;
}

/* === TREEVIEW PARENT (submenu) === */
.main-sidebar .nav-treeview .nav-link p.text-white,
.main-sidebar div p.text-white,
.main-sidebar .text-white,
.main-sidebar .nav-link p.text-white {
    color: var(--menu-text) !important;
    font-weight: 600 !important;
}

.main-sidebar .nav-link p {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* === TREEVIEW DROPDOWN (submenu) === */
.nav-treeview {
    background: rgba(0, 0, 0, 0.15) !important;
    border-radius: 0 0 10px 10px !important;
    margin: 0 8px 4px 16px !important;
    border-left: none !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 6px 0 !important;
}

.nav-treeview .nav-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
}

.nav-treeview .nav-item:last-child {
    border-bottom: none !important;
}

.nav-treeview .nav-link,
.nav-treeview a.li,
.nav-treeview .li {
    font-weight: 500 !important;
    padding: 9px 12px 9px 20px !important;
    color: #9ca3af !important;
    border-left: 3px solid transparent !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 1px 4px !important;
}

.nav-treeview .nav-link:hover,
.nav-treeview a.li:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border-left-color: var(--menu-orange) !important;
}

.nav-treeview .li.text-dark {
    color: #ffffff !important;
    background: var(--menu-active-bg) !important;
    border-left-color: var(--menu-primary) !important;
    font-weight: 600 !important;
}

/* === BADGE (dark mode) === */
.main-sidebar .badge {
    padding: 4px 10px !important;
    border-radius: 20px !important;
    font-weight: 600 !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #d4d4d4 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    margin: 4px 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.main-sidebar .badge img {
    width: 12px !important;
    height: 12px !important;
}

.main-sidebar .badge.badge-danger {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
    border-color: rgba(239, 68, 68, 0.25) !important;
}

.main-sidebar .badge.badge-info {
    background: rgba(59, 130, 246, 0.12) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.20) !important;
}

/* === PROJECT REPORT CARD === */
.report-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 5px 10px 5px !important;
    background: rgba(229, 103, 26, 0.08) !important;
    border: 2px solid rgba(229, 103, 26, 0.18) !important;
    border-radius: 12px !important;
    transition: all 0.2s ease !important;
}

.report-link:hover {
    background: rgba(229, 103, 26, 0.14) !important;
    border-color: var(--menu-orange) !important;
    transform: translateY(-2px);
}

.report-link .icon-container {
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, #c7361c, #e5671a);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.report-link .icon-container i {
    color: white;
}

.report-label {
    color: #f0f0f0 !important;
    font-weight: 700 !important;
}

/* === Animasi === */
.pulse-animation,
.blink,
.badge-new {
    animation: none !important;
    background: linear-gradient(135deg, #c7361c, #e5671a) !important;
    box-shadow: none !important;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 30px;
    color: white;
}

/* === SCROLLBAR === */
.main-sidebar .sidebar::-webkit-scrollbar {
    width: 8px;
}

.main-sidebar .sidebar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
}

.main-sidebar .sidebar::-webkit-scrollbar-thumb {
    background: rgba(229, 103, 26, 0.30);
    border-radius: 8px;
}

.main-sidebar .sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(229, 103, 26, 0.55);
}

/* OverlayScrollbars */
.os-theme-light>.os-scrollbar,
.os-theme-dark>.os-scrollbar,
.os-scrollbar {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
}

.os-scrollbar-vertical {
    width: 8px !important;
    padding: 2px !important;
}

.os-scrollbar .os-scrollbar-track .os-scrollbar-handle {
    background: rgba(229, 103, 26, 0.30) !important;
    border-radius: 8px !important;
    min-height: 50px !important;
}

.os-scrollbar .os-scrollbar-track .os-scrollbar-handle:hover {
    background: rgba(229, 103, 26, 0.55) !important;
}

/* === MENU OPEN STATE === */
.main-sidebar .menu-is-opening>.nav-link,
.main-sidebar .menu-open>.nav-link {
    color: #ffffff !important;
    background: var(--menu-bg-section) !important;
    border-left-color: var(--menu-orange) !important;
    font-weight: 700 !important;
}

/* === MOBILE === */
@media (max-width: 991px) {

    .main-sidebar .nav-link,
    .main-sidebar a.li,
    .main-sidebar .li {
        padding: 12px 16px !important;
    }

    .main-sidebar li.menu-header {
        padding: 14px 18px !important;
    }

    .report-link {
        padding: 14px 18px !important;
    }
}

/* === BRAND LOGO & USER PANEL === */
.main-sidebar .brand-link {
    background: #283038 !important;
    border-bottom: 1px solid var(--menu-border) !important;
    padding: 16px 12px !important;
}

.main-sidebar .user-panel {
    border-bottom: 1px solid var(--menu-border) !important;
    padding: 16px !important;
}

.main-sidebar .user-panel .info a {
    font-weight: 600;
    color: #e8e4e0 !important;
}

/* === SIDEBAR SEARCH === */
.main-sidebar .form-control-sidebar {
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 30px !important;
    padding: 10px 16px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: #e8e4e0 !important;
}

.main-sidebar .form-control-sidebar::placeholder {
    color: #7a8190 !important;
}

.main-sidebar .form-control-sidebar:focus {
    border-color: var(--menu-orange) !important;
    box-shadow: 0 0 0 4px rgba(229, 103, 26, 0.15) !important;
    background: rgba(255, 255, 255, 0.08) !important;
}