/**
 * A-MIS admin sidebar — white background, improved spacing and states.
 */

.main-sidebar {
    background: #fff !important;
    border-right: 1px solid #e2e8f0;
    box-shadow: 2px 0 12px rgba(15, 23, 42, 0.04);
}

.main-sidebar #sidebar-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
    height: calc(100vh - 60px);
    scrollbar-width: thin;
    scrollbar-color: rgba(202, 138, 4, 0.35) transparent;
}

.main-sidebar #sidebar-wrapper::-webkit-scrollbar {
    width: 5px;
}

.main-sidebar #sidebar-wrapper::-webkit-scrollbar-thumb {
    background: rgba(202, 138, 4, 0.35);
    border-radius: 0;
}

.main-sidebar #sidebar-wrapper::-webkit-scrollbar-track {
    background: transparent;
}

/* Brand */
.main-sidebar .sidebar-brand {
    display: block;
    width: 100%;
    height: auto;
    min-height: 60px;
    line-height: normal;
    padding: 0.85rem 1rem;
    text-align: left;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}

.main-sidebar .sidebar-brand a,
.main-sidebar .sidebar-brand .sidebar-brand-link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    text-decoration: none;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 600;
    color: #0f172a !important;
}

.main-sidebar .sidebar-brand a:hover,
.main-sidebar .sidebar-brand .sidebar-brand-link:hover {
    color: #6777ef !important;
}

.main-sidebar .sidebar-brand-flag {
    flex-shrink: 0;
    height: 22px;
    width: auto;
}

.main-sidebar .sidebar-brand-text {
    min-width: 0;
    line-height: 1.25;
}

.main-sidebar .sidebar-brand-title {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #ca8a04;
    letter-spacing: 0.04em;
    line-height: 1.3;
}

.main-sidebar .sidebar-brand-subtitle {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.62rem;
    font-weight: 500;
    color: #64748b;
    letter-spacing: 0.02em;
}

.main-sidebar .sidebar-brand.sidebar-brand-sm a {
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
    color: #ca8a04 !important;
    letter-spacing: 0.06em;
}

/* Section headers */
.main-sidebar .sidebar-menu li.menu-header {
    padding: 0.85rem 1.15rem 0.4rem;
    margin-top: 0.35rem;
    color: #ca8a04 !important;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-bottom: 1px solid #f1e5bc;
}

.main-sidebar .sidebar-menu li.menu-header:not(:first-child) {
    margin-top: 0.65rem;
}

/* Menu links */
.main-sidebar .sidebar-menu {
    padding: 0.35rem 0 1rem;
}

.main-sidebar .sidebar-menu li a,
.main-sidebar .sidebar-menu .nav-item > .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 1rem 0 1.15rem;
    color: #475569 !important;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-left: 3px solid transparent;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.main-sidebar .sidebar-menu li a i,
.main-sidebar .sidebar-menu .nav-item > .nav-link i {
    width: 1.35rem;
    margin-right: 0.75rem;
    text-align: center;
    font-size: 0.95rem;
    color: #64748b;
}

.main-sidebar .sidebar-menu li a span,
.main-sidebar .sidebar-menu .nav-item > .nav-link span {
    margin-top: 0;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.main-sidebar .sidebar-menu li a:hover,
.main-sidebar .sidebar-menu .nav-item > .nav-link:hover {
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border-left-color: rgba(202, 138, 4, 0.45);
}

.main-sidebar .sidebar-menu li.active > a,
.main-sidebar .sidebar-menu li.active > .nav-link,
.main-sidebar .sidebar-menu .nav-item.active > .nav-link {
    background-color: #f1f5fe !important;
    color: #6777ef !important;
    font-weight: 600;
    border-left-color: #ffc107;
}

.main-sidebar .sidebar-menu li.active > a i,
.main-sidebar .sidebar-menu li.active > .nav-link i,
.main-sidebar .sidebar-menu .nav-item.active > .nav-link i {
    color: #6777ef !important;
}

/* Dropdown parent */
.main-sidebar .sidebar-menu li a.has-dropdown:after {
    color: #94a3b8;
    right: 1rem;
    font-size: 0.7rem;
}

.main-sidebar .sidebar-menu li.active > a.has-dropdown:after {
    color: #6777ef;
}

/* Submenus */
.main-sidebar .sidebar-menu li ul.dropdown-menu {
    display: none;
    position: static;
    float: none;
    width: 100%;
    margin: 0;
    padding: 0.15rem 0 0.35rem;
    box-shadow: none;
    background: #f8fafc !important;
    border-left: 2px solid #fde68a;
    margin-left: 1.15rem;
}

.main-sidebar .sidebar-menu li.active ul.dropdown-menu,
.main-sidebar .sidebar-menu li ul.dropdown-menu.block {
    display: block;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li a,
.main-sidebar .sidebar-menu li ul.dropdown-menu li .nav-link {
    height: auto;
    min-height: 38px;
    padding: 0.45rem 0.85rem 0.45rem 2.25rem !important;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b !important;
    border-left: none;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li a:hover,
.main-sidebar .sidebar-menu li ul.dropdown-menu li .nav-link:hover {
    background-color: #f1f5fe !important;
    color: #6777ef !important;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li.active > a,
.main-sidebar .sidebar-menu li ul.dropdown-menu li.active > .nav-link {
    background-color: #eef1fd !important;
    color: #6777ef !important;
    font-weight: 600;
}

.main-sidebar .sidebar-menu .nav-item.dropdown {
    position: relative;
}

.main-sidebar .sidebar-menu .dropdown-menu li {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Sidebar mini */
body.sidebar-mini .main-sidebar .sidebar-brand:not(.sidebar-brand-sm) {
    display: none;
}

body.sidebar-mini .main-sidebar .sidebar-brand.sidebar-brand-sm {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    min-height: 60px;
}

body.sidebar-mini .main-sidebar .sidebar-menu > li > a {
    border-left: none;
    justify-content: center;
    padding: 0;
}

body.sidebar-mini .main-sidebar .sidebar-menu > li.active > a {
    background-color: #6777ef !important;
    color: #fff !important;
}

body.sidebar-mini .main-sidebar .sidebar-menu > li.active > a i {
    color: #fff !important;
}

@media (max-width: 1024px) {
    .main-sidebar {
        box-shadow: 4px 0 20px rgba(15, 23, 42, 0.1);
    }
}
