:root {
    --bg: #f8f9fa;
    --text: #212529;
    --sidebar-bg: #fff;
    --sidebar-border: rgba(0, 0, 0, .1);
    --nav-link-color: #333;
    --nav-link-active-color: #2470dc;
    --nav-link-hover-color: #0056b3;
    --navbar-brand-bg: rgba(0, 0, 0, .25);
    --navbar-brand-border: rgba(0, 0, 0, .25);
}

.dark:root {
    --bg: #1a1a1a;
    --text: #f8f9fa;
    --sidebar-bg: #212529;
    --sidebar-border: rgba(255, 255, 255, .1);
    --nav-link-color: #f8f9fa;
    --nav-link-active-color: #4dabf7;
    --nav-link-hover-color: #82c9ff;
    --navbar-brand-bg: rgba(255, 255, 255, .1);
    --navbar-brand-border: rgba(255, 255, 255, .1);
}

/* Global Styles */
body {
    background-color: var(--bg);
    color: var(--text);
    min-height: 100vh;
    min-height: -webkit-fill-available;
}

/* Admin Sidebar */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 100; /* Behind the navbar */
    padding: 48px 0 0; /* Height of navbar */
    box-shadow: inset -1px 0 0 var(--sidebar-border);
    background-color: var(--sidebar-bg);
}

@media (max-width: 767.98px) {
    .sidebar {
        top: 56px;
    }
}

.sidebar-sticky {
    position: relative;
    top: 0;
    height: calc(100vh - 48px);
    padding-top: .5rem;
    overflow-x: hidden;
    overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

.sidebar .nav-link {
    font-weight: 500;
    color: var(--nav-link-color);
}

.sidebar .nav-link .feather {
    margin-right: 4px;
    color: #727272;
}

.sidebar .nav-link.active {
    color: var(--nav-link-active-color);
}

.sidebar .nav-link:hover,
.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
    color: var(--nav-link-hover-color);
}

.sidebar-heading {
    font-size: .75rem;
    text-transform: uppercase;
}

/* Navbar */
.navbar-brand {
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-size: 1rem;
    background-color: var(--navbar-brand-bg);
    box-shadow: inset -1px 0 0 var(--navbar-brand-border);
}

.navbar .navbar-toggler {
    top: .25rem;
    right: 1rem;
}

/* Feature Icon for homepage */
.feature-icon-small {
    width: 3rem;
    height: 3rem;
    transition: transform 0.2s ease-in-out;
}
.admin-main {
    background-color: var(--bg);
}

.admin-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.admin-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
