[data-bs-theme=dark] {
    --bs-body-color: #eeeeee;
    --bs-body-color-rgb: 222, 226, 230;
    --bs-body-bg: #181818;
    --bs-body-bg-rgb: 33, 37, 41;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 226, 230, 0.75);
    --bs-secondary-color-rgb: 222, 226, 230;
    --bs-secondary-bg: var(--bs-gray-900);
    --bs-secondary-bg-rgb: 52, 58, 64;
    --bs-tertiary-color: rgba(222, 226, 230, 0.5);
    --bs-tertiary-color-rgb: 222, 226, 230;
    --bs-tertiary-bg: #1f1f1f;
    --bs-tertiary-bg-rgb: 43, 48, 53;
    --bs-blue: #0647a8;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #cc3e44;
    --bs-orange: #e2c08d;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #1f1f1f;
    --bs-primary: #064cb5;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #cc3e44;
    --bs-light: #f8f9fa;
    --bs-dark: #111111;
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: var(--bs-orange);
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-border-radius: 2px;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 2px;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
}

.table.table-dark {
    --bs-table-bg: #1f1f1f;
    --bs-table-striped-bg: #2c3034;
    --bs-table-striped-color: #fff;
    --bs-table-active-bg: #373b3f;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #2c3034;
    --bs-table-hover-color: #fff;
    color: #fff;
    --bs-table-striped-bg: var(--bs-tertiary-color);
}

.accordion {
    --bs-accordion-bg: var(--bs-tertiary-bg);
    --bs-accordion-active-bg: var(--bs-tertiary-bg);
    --bs-table-striped-bg: var(--bs-tertiary-color);
}

.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.nav-pills {
    --bs-nav-pills-border-radius: var(--bs-border-radius);
    --bs-nav-pills-link-active-color: var(--bs-btn-active-color);
    --bs-nav-pills-link-active-bg: var(--bs-primary);
}
.nav-pills .nav-link {
    border-radius: var(--bs-border-radius);
}

.alert-warning {
    --bs-alert-color: var(--bs-warning-text-emphasis);
    --bs-alert-bg: var(--bs-gray-900);
    --bs-alert-border-color: var(--bs-warning-text-emphasis);
    --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

body {
    --bs-body-font-family: "Nunito Sans", sans-serif;
}
.btn-group-xl>.btn, .btn-xl {
    --bs-btn-padding-y: 0.8rem;
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-font-size: 2rem;
    --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.modal-backdrop {
    --bs-backdrop-zindex: 1050;
    --bs-backdrop-bg: #565c64;
    --bs-backdrop-opacity: 0.8;
}

.text-orange {
    color: var(--bs-orange) !important;
}   

/* Navbar styling */
.navbar {
    background-color: var(--bs-body-bg) !important;
    --bs-navbar-nav-link-padding-x: 1rem;
}

.navbar-brand {
    font-weight: 600;
}

.navbar-toggler {
    border: 1px solid var(--bs-secondary);
    padding: 0.25rem 0.5rem;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25);
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-nav .nav-link {
    color: var(--bs-light) !important;
    padding: 0.5rem 1rem;
    border-radius: var(--bs-border-radius);
    transition: all 0.3s ease;
    margin-left: 0.5rem;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    background-color: var(--bs-primary);
    color: white !important;
}

.navbar-nav .nav-link i {
    width: 1.2em;
    text-align: center;
}

/* Mobile navbar adjustments */
@media (max-width: 991.98px) {
    .navbar-nav {
        padding-top: 1rem;
        border-top: 1px solid var(--bs-secondary);
        margin-top: 1rem;
    }
    
    .navbar-nav .nav-link {
        padding: 0.75rem 1rem;
        margin: 0.25rem 0;
        margin-left: 0rem;
    }
    
    .navbar-brand .fs-4 {
        font-size: 1.1rem !important;
    }
    
    .navbar-brand img {
        width: 40px;
        height: 40px;
    }
}

.alert-info {
    --bs-alert-color: #9c9c9c;
    --bs-alert-bg: #1f1f1f;
    --bs-alert-border-color: var(--bs-info-border-subtle);
    --bs-alert-link-color: var(--bs-info-text-emphasis);
}

body {
    background: #101010;
}

.container-md {
    background-color: var(--bs-body-bg);
    height: 100%;
}

/* Sticky footer styles */
html, body {
    height: 100%;
}

.min-vh-100 {
    min-height: 100vh !important;
}

.footer {
    /* background-color: var(--bs-body-bg) !important; */
    /* border-top: 1px solid var(--bs-secondary) !important; */
    margin-top: auto;
}

.footer p {
    font-size: 0.875rem;
    color: var(--bs-secondary-color) !important;
}

/* Ensure main content takes available space */
main.flex-grow-1 {
    flex: 1 0 auto;
}