/* MBHTE Green Theme CSS Override
 * This file overrides the default colors to create a green theme for the entire system
 * No changes to existing code structure - only color overrides
 */

:root {
    /* Primary Green Colors */
    --mbhte-green: #2E7D32;
    --mbhte-light-green: #4CAF50;
    --mbhte-dark-green: #1B5E20;
    --mbhte-accent-green: #66BB6A;
    --mbhte-pale-green: #E8F5E8;
    --mbhte-gold: #F4C430;
    
    /* Bootstrap color overrides for green theme */
    --bs-primary: #2E7D32;
    --bs-primary-rgb: 46, 125, 50;
    --bs-success: #4CAF50;
    --bs-success-rgb: 76, 175, 80;
    --bs-info: #26A69A;
    --bs-info-rgb: 38, 166, 154;
    --bs-warning: #FFC107;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger: #F44336;
    --bs-danger-rgb: 244, 67, 54;
    
    /* Text colors */
    --text-color: #1B5E20;
    --muted-text: #558B2F;
    --white: #ffffff;
    --light-gray: #f5f5f5;
    --dark-gray: #2E2E2E;
    
    /* Background colors */
    --bg: #F1F8E9;
    --surface: #ffffff;
    --surface-alt: #E8F5E8;
    --border: #C8E6C9;
    --border-light: #E0E0E0;
    
    /* Interactive states */
    --focus: #2E7D32;
    --hover: #388E3C;
    --active: #1B5E20;
    
    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(46, 125, 50, 0.12);
    --shadow-md: 0 4px 6px rgba(46, 125, 50, 0.15);
    --shadow-lg: 0 10px 15px rgba(46, 125, 50, 0.20);
    
    /* Transitions */
    --transition-speed: 0.3s;
    --transition: all var(--transition-speed) ease;
}

/* Body and base styling */
body {
    background-color: var(--bg) !important;
    color: var(--text-color) !important;
}

/* ====== BUTTONS ====== */
.btn-primary {
    background-color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--mbhte-light-green) !important;
    border-color: var(--mbhte-light-green) !important;
    color: var(--white) !important;
}

.btn-success {
    background-color: var(--mbhte-accent-green) !important;
    border-color: var(--mbhte-accent-green) !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: var(--mbhte-light-green) !important;
    border-color: var(--mbhte-light-green) !important;
}

.btn-outline-primary {
    color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
    background-color: transparent !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

.btn-outline-success {
    color: var(--mbhte-accent-green) !important;
    border-color: var(--mbhte-accent-green) !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
    background-color: var(--mbhte-accent-green) !important;
    border-color: var(--mbhte-accent-green) !important;
    color: var(--white) !important;
}

.btn-brand,
.btn-mbhte {
    background-color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

.btn-brand:hover,
.btn-brand:focus,
.btn-brand:active,
.btn-mbhte:hover,
.btn-mbhte:focus,
.btn-mbhte:active {
    background-color: var(--mbhte-light-green) !important;
    border-color: var(--mbhte-light-green) !important;
    color: var(--white) !important;
}

/* ====== CARDS ====== */
.card {
    background-color: var(--surface) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
}

.card-header {
    background-color: var(--surface-alt) !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--text-color) !important;
}

.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6 {
    color: var(--mbhte-dark-green) !important;
}

.card-dashboard {
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--shadow-md) !important;
    transition: transform var(--transition-speed) !important;
    background-color: var(--surface) !important;
}

.card-dashboard:hover {
    transform: translateY(-5px) !important;
    box-shadow: var(--shadow-lg) !important;
}

.card-dashboard .card-title {
    color: var(--mbhte-dark-green) !important;
    font-weight: 600 !important;
}

.card-dashboard .card-icon {
    color: var(--mbhte-light-green) !important;
}

/* ====== NAVIGATION & SIDEBAR ====== */
.sidebar {
    background-color: var(--mbhte-dark-green) !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: fixed !important;
    z-index: 15000 !important;
}

/* Custom scrollbar for sidebar */
.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
}

.sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
}

.sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

/* Firefox scrollbar for sidebar */
.sidebar {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.1);
}

.sidebar-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.nav-link {
    color: rgba(255, 255, 255, 0.8) !important;
    transition: var(--transition) !important;
}

.nav-link:hover,
.nav-link.active {
    color: var(--white) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-left-color: var(--mbhte-light-green) !important;
}

.nav-link.dropdown-toggle {
    color: var(--mbhte-dark-green) !important;
}

.nav-link.dropdown-toggle:hover {
    color: var(--mbhte-light-green) !important;
}

/* Top navbar */
.top-navbar {
    background-color: var(--white) !important;
    box-shadow: 0 0.125rem 0.25rem rgba(46, 125, 50, 0.075) !important;
}

.text-mbhte {
    color: var(--mbhte-dark-green) !important;
}

/* ====== DROPDOWNS ====== */
.dropdown-menu {
    background-color: var(--white) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-md) !important;
}

.dropdown-item {
    color: var(--mbhte-dark-green) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--surface-alt) !important;
    color: var(--mbhte-dark-green) !important;
}

.dropdown-divider {
    border-color: var(--border) !important;
}

/* ====== FORMS ====== */
.form-control {
    border-color: var(--border) !important;
    color: var(--text-color) !important;
}

.form-control:focus {
    border-color: var(--mbhte-green) !important;
    box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.25) !important;
}

.form-select {
    border-color: var(--border) !important;
    color: var(--text-color) !important;
}

.form-select:focus {
    border-color: var(--mbhte-green) !important;
    box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.25) !important;
}

.form-label {
    color: var(--text-color) !important;
    font-weight: 500 !important;
}

.form-check-input:checked {
    background-color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.25) !important;
}

/* Input groups */
.input-group-text {
    background-color: var(--surface-alt) !important;
    border-color: var(--border) !important;
    color: var(--text-color) !important;
}

/* ====== TABLES ====== */
.table {
    color: var(--text-color) !important;
}

.table thead th {
    background-color: var(--surface-alt) !important;
    color: var(--mbhte-dark-green) !important;
    border-color: var(--border) !important;
}

.table tbody tr {
    border-color: var(--border-light) !important;
}

.table tbody tr:hover {
    background-color: var(--mbhte-pale-green) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > td,
.table-striped > tbody > tr:nth-of-type(odd) > th {
    background-color: rgba(46, 125, 50, 0.05) !important;
}

/* DataTables overrides */
.dataTables_wrapper .dataTables_filter input {
    border: 1px solid var(--border) !important;
    border-radius: 4px !important;
    padding: 0.375rem 0.75rem !important;
}

.dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--border) !important;
    border-radius: 4px !important;
    padding: 0.375rem 0.75rem !important;
}

.page-link {
    color: var(--mbhte-green) !important;
    border-color: var(--border) !important;
}

.page-link:hover {
    color: var(--mbhte-light-green) !important;
    background-color: var(--surface-alt) !important;
    border-color: var(--mbhte-green) !important;
}

.page-item.active .page-link {
    background-color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

/* ====== BADGES ====== */
.badge.bg-primary {
    background-color: var(--mbhte-green) !important;
}

.badge.bg-success {
    background-color: var(--mbhte-accent-green) !important;
}

.badge.text-bg-primary {
    background-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

.badge.text-bg-success {
    background-color: var(--mbhte-accent-green) !important;
    color: var(--white) !important;
}

/* ====== ALERTS ====== */
.alert-primary {
    background-color: rgba(46, 125, 50, 0.1) !important;
    border-color: var(--mbhte-light-green) !important;
    color: var(--mbhte-dark-green) !important;
}

.alert-success {
    background-color: rgba(76, 175, 80, 0.1) !important;
    border-color: var(--mbhte-accent-green) !important;
    color: var(--mbhte-dark-green) !important;
}

/* ====== PROGRESS BARS ====== */
.progress-bar {
    background-color: var(--mbhte-green) !important;
}

.progress-bar.bg-success {
    background-color: var(--mbhte-accent-green) !important;
}

/* ====== LINKS ====== */
a {
    color: var(--mbhte-green) !important;
}

a:hover {
    color: var(--mbhte-light-green) !important;
}

.link-primary {
    color: var(--mbhte-green) !important;
}

.link-primary:hover {
    color: var(--mbhte-light-green) !important;
}

/* ====== BORDERS ====== */
.border {
    border-color: var(--border) !important;
}

.border-primary {
    border-color: var(--mbhte-green) !important;
}

.border-success {
    border-color: var(--mbhte-accent-green) !important;
}

/* ====== TEXT COLORS ====== */
.text-primary {
    color: var(--mbhte-green) !important;
}

.text-success {
    color: var(--mbhte-accent-green) !important;
}

.text-muted {
    color: var(--muted-text) !important;
}

.text-dark {
    color: var(--text-color) !important;
}

/* ====== BACKGROUNDS ====== */
.bg-primary {
    background-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

.bg-success {
    background-color: var(--mbhte-accent-green) !important;
    color: var(--white) !important;
}

.bg-light {
    background-color: var(--surface-alt) !important;
    color: var(--text-color) !important;
}

/* ====== MODALS ====== */
.modal-content {
    background-color: var(--surface) !important;
    border: 1px solid var(--border) !important;
}

.modal-header {
    background-color: var(--surface-alt) !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--text-color) !important;
}

.modal-footer {
    border-top: 1px solid var(--border) !important;
}

.modal-title {
    color: var(--mbhte-dark-green) !important;
}

/* ====== TOOLTIPS & POPOVERS ====== */
.tooltip-inner {
    background-color: var(--mbhte-dark-green) !important;
    color: var(--white) !important;
}

.tooltip.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: var(--mbhte-dark-green) !important;
}

.tooltip.bs-tooltip-right .tooltip-arrow::before {
    border-right-color: var(--mbhte-dark-green) !important;
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: var(--mbhte-dark-green) !important;
}

.tooltip.bs-tooltip-left .tooltip-arrow::before {
    border-left-color: var(--mbhte-dark-green) !important;
}

/* ====== SWEETALERT2 OVERRIDES ====== */
.swal2-popup {
    background-color: var(--surface) !important;
    color: var(--text-color) !important;
}

.swal2-title {
    color: var(--mbhte-dark-green) !important;
}

.swal2-confirm {
    background-color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
}

.swal2-confirm:hover {
    background-color: var(--mbhte-light-green) !important;
    border-color: var(--mbhte-light-green) !important;
}

.swal2-cancel {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

/* ====== CHARTS & GRAPHICS ====== */
.chart-container {
    background-color: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
}

/* ====== LOADING STATES ====== */
.spinner-border-primary {
    color: var(--mbhte-green) !important;
}

.placeholder {
    background-color: rgba(46, 125, 50, 0.1) !important;
}

/* ====== ACCORDION ====== */
.accordion-button {
    background-color: var(--surface) !important;
    color: var(--text-color) !important;
    border: 1px solid var(--border) !important;
}

.accordion-button:not(.collapsed) {
    background-color: var(--surface-alt) !important;
    color: var(--mbhte-dark-green) !important;
    border-color: var(--mbhte-green) !important;
}

.accordion-button:focus {
    box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.25) !important;
}

/* ====== TABS ====== */
.nav-tabs .nav-link {
    color: var(--text-color) !important;
    border-color: var(--border) !important;
}

.nav-tabs .nav-link.active {
    color: var(--mbhte-dark-green) !important;
    background-color: var(--surface) !important;
    border-color: var(--mbhte-green) var(--mbhte-green) var(--surface) !important;
}

.nav-tabs .nav-link:hover {
    color: var(--mbhte-green) !important;
}

/* ====== BREADCRUMBS ====== */
.breadcrumb {
    background-color: var(--surface-alt) !important;
}

.breadcrumb-item a {
    color: var(--mbhte-green) !important;
}

.breadcrumb-item.active {
    color: var(--text-color) !important;
}

/* ====== LIST GROUPS ====== */
.list-group-item {
    background-color: var(--surface) !important;
    border-color: var(--border) !important;
    color: var(--text-color) !important;
}

.list-group-item:hover {
    background-color: var(--surface-alt) !important;
}

.list-group-item.active {
    background-color: var(--mbhte-green) !important;
    border-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

/* ====== OFFCANVAS ====== */
.offcanvas {
    background-color: var(--surface) !important;
}

.offcanvas-header {
    background-color: var(--surface-alt) !important;
    border-bottom: 1px solid var(--border) !important;
}

.offcanvas-title {
    color: var(--mbhte-dark-green) !important;
}

/* ====== CUSTOM UTILITY CLASSES ====== */
.text-mbhte-green {
    color: var(--mbhte-green) !important;
}

.text-mbhte-light-green {
    color: var(--mbhte-light-green) !important;
}

.text-mbhte-dark-green {
    color: var(--mbhte-dark-green) !important;
}

.bg-mbhte-green {
    background-color: var(--mbhte-green) !important;
    color: var(--white) !important;
}

.bg-mbhte-light-green {
    background-color: var(--mbhte-light-green) !important;
    color: var(--white) !important;
}

.bg-mbhte-dark-green {
    background-color: var(--mbhte-dark-green) !important;
    color: var(--white) !important;
}

.bg-mbhte-pale-green {
    background-color: var(--mbhte-pale-green) !important;
    color: var(--text-color) !important;
}

.border-mbhte-green {
    border-color: var(--mbhte-green) !important;
}

.border-mbhte-light-green {
    border-color: var(--mbhte-light-green) !important;
}

/* ====== RESPONSIVE ADJUSTMENTS ====== */
@media (max-width: 768px) {
    .sidebar {
        background-color: var(--mbhte-dark-green) !important;
    }
    
    .card-dashboard {
        margin-bottom: 1rem !important;
    }
}

/* ====== PRINT STYLES ====== */
@media print {
    .sidebar {
        display: none !important;
    }
    
    .top-navbar {
        display: none !important;
    }
    
    body {
        background-color: white !important;
        color: black !important;
    }
    
    .card {
        border: 1px solid #dee2e6 !important;
        box-shadow: none !important;
    }
}

/* ====== HIGH CONTRAST MODE SUPPORT ====== */
@media (prefers-contrast: high) {
    :root {
        --mbhte-green: #1B5E20;
        --mbhte-light-green: #2E7D32;
        --mbhte-dark-green: #0D4712;
        --border: #000000;
        --text-color: #000000;
    }
}

/* ====== REDUCED MOTION SUPPORT ====== */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ====== FOCUS MANAGEMENT ====== */
:focus-visible {
    outline: 3px solid var(--mbhte-green) !important;
    outline-offset: 2px !important;
}

/* Remove outline for mouse users */
:focus:not(:focus-visible) {
    outline: none !important;
}

/* ====== SCROLLBAR STYLING ====== */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--surface-alt);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: var(--mbhte-green);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--mbhte-light-green);
}

/* Firefox scrollbar */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--mbhte-green) var(--surface-alt);
}

/* ====== ANIMATION ENHANCEMENTS ====== */
.fade-in-green {
    animation: fadeInGreen 0.5s ease-in-out;
}

@keyframes fadeInGreen {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pulse-green {
    animation: pulseGreen 2s infinite;
}

@keyframes pulseGreen {
    0% {
        box-shadow: 0 0 0 0 rgba(46, 125, 50, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(46, 125, 50, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(46, 125, 50, 0);
    }
}

/* ====== HOVER EFFECTS ====== */
.hover-lift {
    transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}

.hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.hover-green {
    transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
}

.hover-green:hover {
    background-color: var(--mbhte-pale-green) !important;
    color: var(--mbhte-dark-green) !important;
}

/* ====== THEME UTILITIES ====== */
.text-body-theme { color: var(--text-color) !important; }
.text-muted-theme { color: var(--muted-text) !important; }
.bg-surface { background-color: var(--surface) !important; }
.bg-surface-alt { background-color: var(--surface-alt) !important; }
.bg-page { background-color: var(--bg) !important; }
.border-theme { border-color: var(--border) !important; }

/* Extra semantic tokens (light defaults) */
:root,
[data-bs-theme="light"] {
    --heading-color: #1B5E20;
    --navbar-bg: #ffffff;
    --panel-head-border: #eef3ee;
    --table-head-bg: #e8f5e9;
    --table-head-color: #1B5E20;
    --chip-bg: #ffffff;
    --chip-border: #d7e5d9;
    --chip-text: #3d5a42;
    --hero-bg: linear-gradient(135deg, #f4faf5 0%, #fff 48%, #eef6f0 100%);
    --input-bg: #ffffff;
    --input-color: #212529;
    --dropdown-bg: #ffffff;
    --dropdown-color: #212529;
    --sidebar-width: 250px;
    --chart-grid: rgba(27, 94, 32, 0.08);
    --chart-label: #5f6f64;
}

/* ====== DARK MODE TOKENS ====== */
[data-bs-theme="dark"] {
    color-scheme: dark;

    --mbhte-green: #66BB6A;
    --mbhte-light-green: #81C784;
    --mbhte-dark-green: #0D3B12;
    --mbhte-accent-green: #81C784;
    --mbhte-pale-green: #1A3320;
    --mbhte-gold: #F4C430;

    --bs-primary: #66BB6A;
    --bs-primary-rgb: 102, 187, 106;
    --bs-success: #81C784;
    --bs-success-rgb: 129, 199, 132;
    --bs-body-bg: #121a14;
    --bs-body-color: #e6efe8;
    --bs-secondary-bg: #1a241c;
    --bs-tertiary-bg: #222e25;
    --bs-border-color: #2f4034;
    --bs-heading-color: #e8f5e9;

    --text-color: #e6efe8;
    --muted-text: #a8bbae;
    --white: #ffffff;
    --light-gray: #1a241c;
    --dark-gray: #e6efe8;

    --bg: #121a14;
    --surface: #1a241c;
    --surface-alt: #222e25;
    --border: #2f4034;
    --border-light: #3a4d40;

    --focus: #81C784;
    --hover: #66BB6A;
    --active: #A5D6A7;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.45);
    --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.55);

    --heading-color: #e8f5e9;
    --navbar-bg: #1a241c;
    --panel-head-border: #2f4034;
    --table-head-bg: #222e25;
    --table-head-color: #c8e6c9;
    --chip-bg: #222e25;
    --chip-border: #3a4d40;
    --chip-text: #c8e6c9;
    --hero-bg: linear-gradient(135deg, #152018 0%, #1a241c 48%, #1e2a21 100%);
    --input-bg: #222e25;
    --input-color: #e6efe8;
    --dropdown-bg: #1a241c;
    --dropdown-color: #e6efe8;
    --chart-grid: rgba(129, 199, 132, 0.12);
    --chart-label: #a8bbae;
}

[data-bs-theme="dark"] body {
    background-color: var(--bg) !important;
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .text-mbhte,
[data-bs-theme="dark"] .text-mbhte-green,
[data-bs-theme="dark"] .text-success {
    color: var(--mbhte-light-green) !important;
}

[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .form-text {
    color: var(--muted-text) !important;
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] .list-group-item,
[data-bs-theme="dark"] .accordion-item,
[data-bs-theme="dark"] .offcanvas {
    background-color: var(--surface) !important;
    color: var(--text-color) !important;
    border-color: var(--border) !important;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text {
    background-color: var(--input-bg) !important;
    color: var(--input-color) !important;
    border-color: var(--border) !important;
}

[data-bs-theme="dark"] .form-control::placeholder {
    color: var(--muted-text);
    opacity: 0.8;
}

[data-bs-theme="dark"] .table {
    --bs-table-bg: var(--surface);
    --bs-table-color: var(--text-color);
    --bs-table-border-color: var(--border);
    --bs-table-striped-bg: var(--surface-alt);
    --bs-table-hover-bg: rgba(102, 187, 106, 0.08);
    color: var(--text-color);
}

[data-bs-theme="dark"] .table thead th,
[data-bs-theme="dark"] .table-admin thead th {
    background: var(--table-head-bg) !important;
    color: var(--table-head-color) !important;
    border-color: var(--border) !important;
}

[data-bs-theme="dark"] .alert-success {
    background-color: rgba(102, 187, 106, 0.15);
    border-color: rgba(102, 187, 106, 0.35);
    color: #c8e6c9;
}

[data-bs-theme="dark"] .alert-danger {
    background-color: rgba(244, 67, 54, 0.15);
    border-color: rgba(244, 67, 54, 0.35);
    color: #ffcdd2;
}

[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-white {
    background-color: var(--surface) !important;
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-top {
    border-color: var(--border) !important;
}

[data-bs-theme="dark"] .hover-green:hover {
    background-color: var(--mbhte-pale-green) !important;
    color: var(--mbhte-light-green) !important;
}

/* App chrome */
[data-bs-theme="dark"] .top-navbar {
    background: var(--navbar-bg) !important;
    box-shadow: var(--shadow-sm) !important;
    border-bottom: 1px solid var(--border);
}

[data-bs-theme="dark"] .top-navbar .nav-link,
[data-bs-theme="dark"] .top-navbar h5 {
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .panel-card,
[data-bs-theme="dark"] .metric-card,
[data-bs-theme="dark"] .search-bar,
[data-bs-theme="dark"] .global-search-panel,
[data-bs-theme="dark"] .search-results-box,
[data-bs-theme="dark"] .search-result-item {
    background: var(--surface) !important;
    border-color: var(--border) !important;
    color: var(--text-color) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-bs-theme="dark"] .panel-card .panel-head {
    border-bottom-color: var(--panel-head-border) !important;
}

[data-bs-theme="dark"] .panel-card .panel-head h6 {
    color: var(--heading-color) !important;
}

[data-bs-theme="dark"] .global-search-panel {
    border-color: var(--mbhte-green) !important;
}

/* Executive report / ops page patterns */
[data-bs-theme="dark"] .pr-hero,
[data-bs-theme="dark"] .ca-hero,
[data-bs-theme="dark"] .sb-hero,
[data-bs-theme="dark"] .os-hero,
[data-bs-theme="dark"] .fr-hero {
    background: var(--hero-bg) !important;
    border-color: var(--border) !important;
}

[data-bs-theme="dark"] .pr-hero h2,
[data-bs-theme="dark"] .ca-hero h2,
[data-bs-theme="dark"] .sb-hero h2,
[data-bs-theme="dark"] .os-hero h2,
[data-bs-theme="dark"] .fr-hero h2 {
    color: var(--heading-color) !important;
}

[data-bs-theme="dark"] .pr-hero p,
[data-bs-theme="dark"] .ca-hero p,
[data-bs-theme="dark"] .sb-hero p,
[data-bs-theme="dark"] .os-hero p,
[data-bs-theme="dark"] .fr-hero p,
[data-bs-theme="dark"] .pr-kpi .exact,
[data-bs-theme="dark"] .ca-kpi .exact,
[data-bs-theme="dark"] .sb-kpi .exact,
[data-bs-theme="dark"] .os-kpi .exact {
    color: var(--muted-text) !important;
}

[data-bs-theme="dark"] .pr-chip,
[data-bs-theme="dark"] .ca-chip,
[data-bs-theme="dark"] .sb-chip,
[data-bs-theme="dark"] .os-chip {
    background: var(--chip-bg) !important;
    border-color: var(--chip-border) !important;
    color: var(--chip-text) !important;
}

[data-bs-theme="dark"] .pr-chip strong,
[data-bs-theme="dark"] .ca-chip strong,
[data-bs-theme="dark"] .sb-chip strong,
[data-bs-theme="dark"] .os-chip strong {
    color: var(--mbhte-light-green) !important;
}

[data-bs-theme="dark"] .pr-toolbar,
[data-bs-theme="dark"] .ca-toolbar,
[data-bs-theme="dark"] .os-toolbar,
[data-bs-theme="dark"] .pr-kpi,
[data-bs-theme="dark"] .ca-kpi,
[data-bs-theme="dark"] .sb-kpi,
[data-bs-theme="dark"] .os-kpi,
[data-bs-theme="dark"] .ca-metric,
[data-bs-theme="dark"] .pr-metric,
[data-bs-theme="dark"] .os-member,
[data-bs-theme="dark"] .os-chart-card,
[data-bs-theme="dark"] .sb-cmd {
    background: var(--surface) !important;
    border-color: var(--border) !important;
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .pr-kpi .value,
[data-bs-theme="dark"] .ca-kpi .value,
[data-bs-theme="dark"] .sb-kpi .value,
[data-bs-theme="dark"] .os-kpi .value,
[data-bs-theme="dark"] .os-name,
[data-bs-theme="dark"] .ca-metric .value {
    color: var(--heading-color) !important;
}

[data-bs-theme="dark"] .pr-kpi .label,
[data-bs-theme="dark"] .ca-kpi .label,
[data-bs-theme="dark"] .sb-kpi .label,
[data-bs-theme="dark"] .os-kpi .label,
[data-bs-theme="dark"] .pr-toolbar .form-label,
[data-bs-theme="dark"] .ca-toolbar .form-label,
[data-bs-theme="dark"] .os-toolbar .form-label {
    color: var(--muted-text) !important;
}

[data-bs-theme="dark"] .pr-empty,
[data-bs-theme="dark"] .ca-empty,
[data-bs-theme="dark"] .sb-empty,
[data-bs-theme="dark"] .os-empty {
    background: var(--surface-alt) !important;
    border-color: var(--border) !important;
    color: var(--muted-text) !important;
}

[data-bs-theme="dark"] .os-unit-head {
    background: linear-gradient(180deg, var(--surface-alt), var(--surface)) !important;
    border-bottom-color: var(--border) !important;
}

[data-bs-theme="dark"] .os-member.is-head,
[data-bs-theme="dark"] .os-chart-card.is-head {
    background: linear-gradient(135deg, #1e3324 0%, var(--surface) 70%) !important;
    border-color: #3d6b45 !important;
}

[data-bs-theme="dark"] .os-chart-wrap {
    background: radial-gradient(circle at top, rgba(102, 187, 106, 0.06), transparent 55%),
        linear-gradient(180deg, var(--surface-alt) 0%, var(--surface) 100%) !important;
}

[data-bs-theme="dark"] .os-chart li::before,
[data-bs-theme="dark"] .os-chart li::after,
[data-bs-theme="dark"] .os-chart-stem {
    background: #4c8a55 !important;
}

/* DataTables */
[data-bs-theme="dark"] table.dataTable,
[data-bs-theme="dark"] .dataTables_wrapper {
    color: var(--text-color);
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate {
    color: var(--muted-text) !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .form-control,
[data-bs-theme="dark"] .dataTables_wrapper .form-select {
    background-color: var(--input-bg) !important;
    color: var(--input-color) !important;
    border-color: var(--border) !important;
}

[data-bs-theme="dark"] table.dataTable thead th,
[data-bs-theme="dark"] table.dataTable.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--surface-alt) !important;
    color: var(--text-color) !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] table.dataTable.table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: var(--surface) !important;
    color: var(--text-color) !important;
    box-shadow: none !important;
}

/* SweetAlert2 */
[data-bs-theme="dark"] .swal2-popup {
    background: var(--surface) !important;
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .swal2-title,
[data-bs-theme="dark"] .swal2-html-container {
    color: var(--text-color) !important;
}

/* Google Maps */
.gm-style,
.gm-style-iw,
.gm-style-iw-d {
    font-family: inherit;
}

[data-bs-theme="dark"] .gm-style-iw-c,
[data-bs-theme="dark"] .gm-style-iw-d {
    background: var(--surface) !important;
    color: var(--text-color) !important;
}

/* Theme toggle */
.theme-toggle-btn {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-color);
    padding: 0.35rem 0.65rem;
}

.theme-toggle-btn:hover {
    border-color: var(--mbhte-green);
    color: var(--mbhte-green);
}

.theme-toggle-btn .theme-icon-sun { display: none; }
.theme-toggle-btn .theme-icon-moon { display: inline-block; }
[data-bs-theme="dark"] .theme-toggle-btn .theme-icon-sun { display: inline-block; }
[data-bs-theme="dark"] .theme-toggle-btn .theme-icon-moon { display: none; }

.navbar .theme-toggle-btn {
    border-color: rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.navbar .theme-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.4);
}

.top-navbar .theme-toggle-btn {
    border-color: var(--border);
    background: var(--surface);
    color: var(--text-color);
}

/* Public/moral pages often set light page wrappers — force theme surfaces */
[data-bs-theme="dark"] .teams-page,
[data-bs-theme="dark"] .home-page,
[data-bs-theme="dark"] .news-page,
[data-bs-theme="dark"] .gallery-page,
[data-bs-theme="dark"] .about-page,
[data-bs-theme="dark"] .contact-page,
[data-bs-theme="dark"] .faqs-page,
[data-bs-theme="dark"] .resources-page,
[data-bs-theme="dark"] .charter-page,
[data-bs-theme="dark"] .moral-page,
[data-bs-theme="dark"] main.container,
[data-bs-theme="dark"] .content-wrapper {
    background-color: transparent;
    color: var(--text-color);
}

[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6 {
    color: var(--heading-color);
}

[data-bs-theme="dark"] .card-dashboard,
[data-bs-theme="dark"] .dashboard-card,
[data-bs-theme="dark"] .stat-card,
[data-bs-theme="dark"] .kpi-card {
    background: var(--surface) !important;
    border-color: var(--border) !important;
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .table > :not(caption) > * > * {
    background-color: transparent;
    color: var(--text-color);
    border-bottom-color: var(--border);
}

[data-bs-theme="dark"] code,
[data-bs-theme="dark"] pre,
[data-bs-theme="dark"] .sb-cmd {
    background: var(--surface-alt) !important;
    color: var(--mbhte-light-green) !important;
}

/* Print: keep readable light output */
@media print {
    :root,
    [data-bs-theme="dark"],
    [data-bs-theme="light"] {
        --bg: #ffffff !important;
        --surface: #ffffff !important;
        --text-color: #000000 !important;
        --heading-color: #000000 !important;
        --muted-text: #333333 !important;
        --border: #cccccc !important;
    }
    .theme-toggle-btn { display: none !important; }
}

/* ====== END OF GREEN THEME ====== */