:root {
    --bg-dark: #121212;
    --bg-panel: #1e1e24;
    --text-primary: #e0e0e0;
    --text-muted: #8b8b93;
    --accent: #2ecc71; /* Emerald Green */
    --accent-hover: #27ae60;
    --border-color: #2c2c35;
}

body {
    background-color: var(--bg-dark) !important;
    color: var(--text-primary);
    font-family: 'Inter', sans-serif;
}

/* Sidebar */
#wrapper {
    overflow-x: hidden;
}

#sidebar-wrapper {
    min-height: 100vh;
    margin-left: -15rem;
    transition: margin 0.25s ease-out;
    width: 15rem;
    background-color: var(--bg-panel) !important;
}

#sidebar-wrapper .sidebar-heading {
    padding: 0.875rem 1.25rem;
    font-size: 1.2rem;
}

#sidebar-wrapper .list-group {
    width: 15rem;
}

#page-content-wrapper {
    min-width: 100vw;
    background-color: var(--bg-dark);
}

body.sb-sidenav-toggled #wrapper #sidebar-wrapper {
    margin-left: 0;
}

@media (min-width: 768px) {
    #sidebar-wrapper {
        margin-left: 0;
    }
    #page-content-wrapper {
        min-width: 0;
        width: 100%;
    }
    body.sb-sidenav-toggled #wrapper #sidebar-wrapper {
        margin-left: -15rem;
    }
}

/* Custom Overrides */
.text-accent {
    color: var(--accent) !important;
}

.bg-accent {
    background-color: var(--accent) !important;
}

.list-group-item {
    background-color: var(--bg-panel) !important;
    color: var(--text-muted);
}

.list-group-item:hover, .list-group-item.active {
    background-color: var(--bg-dark) !important;
    color: var(--accent) !important;
}

.card {
    background-color: var(--bg-panel) !important;
    border-color: var(--border-color);
    border-radius: 10px;
}

.card-header, .card-footer {
    background-color: var(--bg-panel) !important;
    border-color: var(--border-color);
}

.table-dark {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: #25252d;
    --bs-table-hover-bg: #2c2c35;
    color: var(--text-primary);
}

.table-secondary {
    --bs-table-bg: #1a1a20;
    --bs-table-color: var(--text-muted);
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 0.85rem;
}

.table td, .table th {
    border-color: var(--border-color) !important;
    vertical-align: middle;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: var(--bg-dark); 
}
::-webkit-scrollbar-thumb {
    background: #3f3f4e; 
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--accent); 
}

/* Filter Input */
.search-box input {
    background-color: var(--bg-panel) !important;
    color: var(--text-primary) !important;
}
.search-box input:focus {
    box-shadow: 0 0 0 0.25rem rgba(46, 204, 113, 0.25);
}
