/* ... existing code ... */

/* Caption labels */
[data-theme="dark"] .caption {
    color: #94a3b8 !important;
}

/* NHIF Pending rows - #fff8e1 inline background (dispense, lab, procedures) */
[data-theme="dark"] tr[style*="fff8e1"],
[data-theme="dark"] [style*="fff8e1"] {
    background-color: rgba(120, 90, 0, 0.25) !important;
    color: var(--dm-text-primary) !important;
}/* Dark Mode Theme for MedicalPRO */
/* A soothing, professional dark theme with excellent visibility */

[data-theme="dark"] {
    /* Primary Color Palette - Deep Ocean Blue */
    --dm-primary: #4a9eff;
    --dm-primary-dark: #3a8eef;
    --dm-primary-light: #6ab0ff;

    /* Background Colors - Layered Dark Grays */
    --dm-bg-main: #1e3046;
    --dm-bg-secondary: #162943;
    --dm-bg-tertiary: #0f3460;
    --dm-bg-card: #1f2937;
    --dm-bg-hover: #2d3748;

    /* Text Colors - High Contrast */
    --dm-text-primary: #e2e8f0;
    --dm-text-secondary: #a0aec0;
    --dm-text-muted: #718096;

    /* Border Colors */
    --dm-border: #4a5568;
    --dm-border-light: #2d3748;

    /* Status Colors - Adjusted for Dark */
    --dm-success: #48bb78;
    --dm-warning: #ed8936;
    --dm-danger: #f56565;
    --dm-info: #4299e1;

    /* Input Fields */
    --dm-input-bg: #2d3748;
    --dm-input-border: #4a5568;
    --dm-input-text: #e2e8f0;
    --dm-input-placeholder: #a0aec0;

    /* Tables */
    --dm-table-bg: #1f2937;
    --dm-table-striped: #2d3748;
    --dm-table-hover: #4a5568;

    /* Panels & Cards */
    --dm-panel-bg: #1f2937;
    --dm-panel-heading: #2d3748;
    --dm-panel-border: #4a5568;

    /* Buttons */
    --dm-btn-default-bg: #4a5568;
    --dm-btn-default-text: #e2e8f0;
    --dm-btn-primary-bg: #4a9eff;
    --dm-btn-primary-text: #ffffff;

    /* Dropdowns */
    --dm-dropdown-bg: #2d3748;
    --dm-dropdown-border: #4a5568;
    --dm-dropdown-hover: #4a5568;
    --dm-dropdown-text: #e2e8f0;

    /* Modal */
    --dm-modal-backdrop: rgba(0, 0, 0, 0.75);
    --dm-modal-content: #1f2937;

    /* Scrollbar */
    --dm-scrollbar-bg: #2d3748;
    --dm-scrollbar-thumb: #4a5568;
    --dm-scrollbar-thumb-hover: #718096;
}

/* Apply Dark Mode Styles */
[data-theme="dark"] body {
    background-color: var(--dm-bg-main) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .navbar {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .navbar-brand {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .navbar-nav>li>a {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .navbar-nav>li>a:hover,
[data-theme="dark"] .navbar-nav>li>a:focus {
    color: var(--dm-text-primary) !important;
    background-color: var(--dm-bg-hover) !important;
}

/* Panels */
[data-theme="dark"] .panel {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-panel-border) !important;
}

[data-theme="dark"] .panel-heading {
    background-color: var(--dm-panel-heading) !important;
    border-color: var(--dm-panel-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .panel-footer {
    background-color: var(--dm-panel-heading) !important;
    border-color: var(--dm-panel-border) !important;
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .panel-body {
    color: var(--dm-text-primary) !important;
}

/* Tables */
[data-theme="dark"] .table {
    background-color: var(--dm-table-bg) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .table>thead>tr>th,
[data-theme="dark"] .table>tbody>tr>th,
[data-theme="dark"] .table>tfoot>tr>th,
[data-theme="dark"] .table>thead>tr>td,
[data-theme="dark"] .table>tbody>tr>td,
[data-theme="dark"] .table>tfoot>tr>td {
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .table-striped>tbody>tr:nth-of-type(odd) {
    background-color: var(--dm-table-striped) !important;
}

[data-theme="dark"] .table-hover>tbody>tr:hover>td,
[data-theme="dark"] .table-hover>tbody>tr:hover>th {
    background-color: var(--dm-table-hover) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] thead.modal-thead > tr > th {
    background-color: #337ab7 !important;
    color: #fff !important;
    border-color: #337ab7 !important;
}

/* Forms */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="time"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] textarea,
[data-theme="dark"] select {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-input-text) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--dm-input-placeholder) !important;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    border-color: var(--dm-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25) !important;
}

[data-theme="dark"] .form-control {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-input-text) !important;
}

[data-theme="dark"] .form-control:focus {
    border-color: var(--dm-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 158, 255, 0.25) !important;
}

[data-theme="dark"] .input-group-addon {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-text-secondary) !important;
}

/* ===================================
   FORM LABELS - DARK MODE FIX
   Bootstrap horizontal forms use .control-label
   which inherits from the parent and can be very faint.
   =================================== */

/* All form labels - high visibility */
[data-theme="dark"] label,
[data-theme="dark"] .control-label,
[data-theme="dark"] .form-group label,
[data-theme="dark"] .form-group .control-label,
[data-theme="dark"] .form-horizontal .control-label,
[data-theme="dark"] .modal-body label,
[data-theme="dark"] .modal-body .control-label,
[data-theme="dark"] .tab-content label,
[data-theme="dark"] .tab-content .control-label,
[data-theme="dark"] .tab-pane label,
[data-theme="dark"] .tab-pane .control-label {
    color: var(--dm-text-primary) !important;
}

/* Non-bold labels (like "File no:", "Fullname:", "Sex:", "Occupation:")
   are rendered with .control-label only — ensure they are clearly visible */
[data-theme="dark"] .col-sm-3.control-label,
[data-theme="dark"] .col-sm-4.control-label,
[data-theme="dark"] .col-md-3.control-label,
[data-theme="dark"] .col-md-4.control-label,
[data-theme="dark"] .col-xs-3.control-label,
[data-theme="dark"] .col-xs-4.control-label {
    color: var(--dm-text-primary) !important;
    opacity: 1 !important;
}

/* Nav-tabs in modals and forms (Personal, Contacts, Insurance, etc.) */
[data-theme="dark"] .nav-tabs>li>a,
[data-theme="dark"] .modal .nav-tabs>li>a {
    color: var(--dm-text-secondary) !important;
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .nav-tabs>li.active>a,
[data-theme="dark"] .nav-tabs>li.active>a:hover,
[data-theme="dark"] .nav-tabs>li.active>a:focus,
[data-theme="dark"] .modal .nav-tabs>li.active>a {
    color: var(--dm-text-primary) !important;
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    border-bottom-color: var(--dm-panel-bg) !important;
}

/* Tab content area background */
[data-theme="dark"] .tab-content,
[data-theme="dark"] .tab-pane {
    color: var(--dm-text-primary) !important;
}

/* Small/muted text inside forms - keep readable */
[data-theme="dark"] .form-group small,
[data-theme="dark"] .form-group .help-block,
[data-theme="dark"] .modal-body small {
    color: var(--dm-text-muted) !important;
}

/* Radio & Checkbox labels specifically */
[data-theme="dark"] .radio label,
[data-theme="dark"] .checkbox label,
[data-theme="dark"] .radio-inline,
[data-theme="dark"] .checkbox-inline {
    color: var(--dm-text-primary) !important;
}

/* Input group button (e.g. dropdown toggles inside input groups) */
[data-theme="dark"] .input-group-btn>.btn {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-text-primary) !important;
}

/* Select2 / Bootstrap-select visibility fixes */
[data-theme="dark"] .bootstrap-select .btn.dropdown-toggle {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-input-text) !important;
}

[data-theme="dark"] .bootstrap-select .btn.dropdown-toggle .filter-option {
    color: var(--dm-input-text) !important;
}

[data-theme="dark"] .bootstrap-select .btn.dropdown-toggle .caret {
    color: var(--dm-text-secondary) !important;
}

/* Radio buttons inline label */
[data-theme="dark"] label.radio-inline,
[data-theme="dark"] label.checkbox-inline {
    color: var(--dm-text-primary) !important;
}

/* Buttons */
[data-theme="dark"] .btn-default {
    background-color: var(--dm-btn-default-bg) !important;
    color: var(--dm-btn-default-text) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .btn-default:hover,
[data-theme="dark"] .btn-default:focus,
[data-theme="dark"] .btn-default:active {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .btn-primary {
    background-color: var(--dm-btn-primary-bg) !important;
    color: var(--dm-btn-primary-text) !important;
    border-color: var(--dm-primary-dark) !important;
}

[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-primary:focus,
[data-theme="dark"] .btn-primary:active {
    background-color: var(--dm-primary-dark) !important;
    color: var(--dm-btn-primary-text) !important;
}

[data-theme="dark"] .btn-success {
    background-color: var(--dm-success) !important;
    color: #ffffff !important;
    border-color: #3d9965 !important;
}

[data-theme="dark"] .btn-warning {
    background-color: var(--dm-warning) !important;
    color: #ffffff !important;
    border-color: #c96f1e !important;
}

[data-theme="dark"] .btn-danger {
    background-color: var(--dm-danger) !important;
    color: #ffffff !important;
    border-color: #e04040 !important;
}

/* Dropdowns */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--dm-dropdown-bg) !important;
    border-color: var(--dm-dropdown-border) !important;
}

[data-theme="dark"] .dropdown-menu>li>a {
    color: var(--dm-dropdown-text) !important;
}

[data-theme="dark"] .dropdown-menu>li>a:hover,
[data-theme="dark"] .dropdown-menu>li>a:focus {
    background-color: var(--dm-dropdown-hover) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .dropdown-menu>.disabled>a,
[data-theme="dark"] .dropdown-menu>.disabled>a:hover,
[data-theme="dark"] .dropdown-menu>.disabled>a:focus {
    color: var(--dm-text-muted) !important;
}

/* Modals */
[data-theme="dark"] .modal-content {
    background-color: var(--dm-modal-content) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .modal-header {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .modal-body {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .modal-footer {
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .close {
    color: var(--dm-text-secondary) !important;
    text-shadow: none !important;
}

[data-theme="dark"] .close:hover,
[data-theme="dark"] .close:focus {
    color: var(--dm-text-primary) !important;
}

/* Alerts */
[data-theme="dark"] .alert-success {
    background-color: rgba(72, 187, 120, 0.2) !important;
    border-color: var(--dm-success) !important;
    color: var(--dm-success) !important;
}

[data-theme="dark"] .alert-info {
    background-color: rgba(66, 153, 225, 0.2) !important;
    border-color: var(--dm-info) !important;
    color: var(--dm-info) !important;
}

[data-theme="dark"] .alert-warning {
    background-color: rgba(237, 137, 54, 0.2) !important;
    border-color: var(--dm-warning) !important;
    color: var(--dm-warning) !important;
}

[data-theme="dark"] .alert-danger {
    background-color: rgba(245, 101, 101, 0.2) !important;
    border-color: var(--dm-danger) !important;
    color: var(--dm-danger) !important;
}

/* Badges & Labels */
[data-theme="dark"] .badge {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .label-default {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .label-primary {
    background-color: var(--dm-primary) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .label-success {
    background-color: var(--dm-success) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .label-info {
    background-color: var(--dm-info) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .label-warning {
    background-color: var(--dm-warning) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .label-danger {
    background-color: var(--dm-danger) !important;
    color: #ffffff !important;
}

/* Tabs */
[data-theme="dark"] .nav-tabs {
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .nav-tabs>li>a {
    color: var(--dm-text-secondary) !important;
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .nav-tabs>li.active>a,
[data-theme="dark"] .nav-tabs>li.active>a:hover,
[data-theme="dark"] .nav-tabs>li.active>a:focus {
    color: var(--dm-text-primary) !important;
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .nav-tabs>li>a:hover {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
}

/* Pagination */
[data-theme="dark"] .pagination {
    background-color: var(--dm-panel-bg) !important;
}

[data-theme="dark"] .pagination>li>a,
[data-theme="dark"] .pagination>li>span {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .pagination>li>a:hover,
[data-theme="dark"] .pagination>li>span:hover {
    background-color: var(--dm-bg-tertiary) !important;
}

[data-theme="dark"] .pagination>.active>a,
[data-theme="dark"] .pagination>.active>span {
    background-color: var(--dm-primary) !important;
    border-color: var(--dm-primary) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .pagination>.disabled>span,
[data-theme="dark"] .pagination>.disabled>span:hover,
[data-theme="dark"] .pagination>.disabled>a,
[data-theme="dark"] .pagination>.disabled>a:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-muted) !important;
}

/* Progress Bars */
[data-theme="dark"] .progress {
    background-color: var(--dm-bg-hover) !important;
}

[data-theme="dark"] .progress-bar {
    color: #ffffff !important;
}

[data-theme="dark"] .progress-bar-success {
    background-color: var(--dm-success) !important;
}

[data-theme="dark"] .progress-bar-info {
    background-color: var(--dm-info) !important;
}

[data-theme="dark"] .progress-bar-warning {
    background-color: var(--dm-warning) !important;
}

[data-theme="dark"] .progress-bar-danger {
    background-color: var(--dm-danger) !important;
}

/* List Group */
[data-theme="dark"] .list-group-item {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .list-group-item:hover,
[data-theme="dark"] .list-group-item:focus {
    background-color: var(--dm-bg-hover) !important;
}

[data-theme="dark"] .list-group-item.disabled,
[data-theme="dark"] .list-group-item.disabled:hover,
[data-theme="dark"] .list-group-item.disabled:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] a.list-group-item.active,
[data-theme="dark"] a.list-group-item.active:hover,
[data-theme="dark"] a.list-group-item.active:focus {
    background-color: var(--dm-primary) !important;
    border-color: var(--dm-primary) !important;
    color: #ffffff !important;
}

/* Breadcrumbs */
[data-theme="dark"] .breadcrumb {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .breadcrumb>li>a {
    color: var(--dm-primary) !important;
}

[data-theme="dark"] .breadcrumb>.active {
    color: var(--dm-text-secondary) !important;
}

/* Wells */
[data-theme="dark"] .well {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
    box-shadow: none !important;
}

/* Thumbnails */
[data-theme="dark"] .thumbnail {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .thumbnail>img {
    opacity: 0.9;
}

/* Carousel */
[data-theme="dark"] .carousel-inner>.item {
    background-color: var(--dm-bg-main) !important;
}

[data-theme="dark"] .carousel-caption {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
}

[data-theme="dark"] .carousel-control {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
}

/* Popover */
[data-theme="dark"] .popover {
    background-color: var(--dm-dropdown-bg) !important;
    border-color: var(--dm-dropdown-border) !important;
}

[data-theme="dark"] .popover-title {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .popover-content {
    color: var(--dm-text-primary) !important;
}

/* Tooltip */
[data-theme="dark"] .tooltip-inner {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .tooltip.in {
    opacity: 1 !important;
}

[data-theme="dark"] .tooltip-arrow {
    border-top-color: var(--dm-bg-tertiary) !important;
}

/* Scrollbar Styling */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--dm-scrollbar-bg);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--dm-scrollbar-thumb);
    border-radius: 6px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--dm-scrollbar-thumb-hover);
}

[data-theme="dark"] ::-webkit-scrollbar-corner {
    background: var(--dm-scrollbar-bg);
}

/* Firefox Scrollbar */
[data-theme="dark"] * {
    scrollbar-width: thin;
    scrollbar-color: var(--dm-scrollbar-thumb) var(--dm-scrollbar-bg);
}

/* Menu Panel - Fixed Visibility */
[data-theme="dark"] .panel-group .panel,
[data-theme="dark"] .panel-group .panel .panel,
[data-theme="dark"] div[style*="background-color"] {
    background-color: var(--dm-bg-secondary) !important;
}

[data-theme="dark"] #menu_container {
    background-color: var(--dm-bg-secondary) !important;
}

[data-theme="dark"] .menu-badge {
    color: var(--dm-text-secondary) !important;
}

/* Side Menu / Navigation Menu */
[data-theme="dark"] #menu,
[data-theme="dark"] .list-group,
[data-theme="dark"] .list-group-item {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
}

/* Nav Scroller - Fixed White Background */
[data-theme="dark"] .nav-scroller,
[data-theme="dark"] .nav-scroller .nav,
[data-theme="dark"] .nav-scroller .list-group,
[data-theme="dark"] .nav-scroller .list-group-item,
[data-theme="dark"] div.nav-scroller,
[data-theme="dark"] [class*="nav-scroller"] {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .nav-scroller a,
[data-theme="dark"] .nav-scroller .list-group-item {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .nav-scroller a:hover,
[data-theme="dark"] .nav-scroller .list-group-item:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
}

/* Force nav-scroller backgrounds even with inline styles */
[data-theme="dark"] .nav-scroller[style*="background"],
[data-theme="dark"] div[style*="nav-scroller"] {
    background-color: var(--dm-bg-secondary) !important;
}

[data-theme="dark"] .list-group-item {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .list-group-item:hover,
[data-theme="dark"] .list-group-item:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .list-group-item a,
[data-theme="dark"] .list-group-item a:hover {
    color: var(--dm-text-primary) !important;
}

/* Submenu Items */
[data-theme="dark"] .submenu,
[data-theme="dark"] .sub-menu,
[data-theme="dark"] .collapse.in,
[data-theme="dark"] .collapsing {
    background-color: var(--dm-bg-tertiary) !important;
}

[data-theme="dark"] .submenu a,
[data-theme="dark"] .sub-menu a {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .submenu a:hover,
[data-theme="dark"] .sub-menu a:hover {
    color: var(--dm-text-primary) !important;
    background-color: var(--dm-bg-hover) !important;
}

/* Panel Headings in Menus */
[data-theme="dark"] .panel-heading a,
[data-theme="dark"] .panel-heading span,
[data-theme="dark"] .panel-heading b {
    color: var(--dm-text-primary) !important;
}

/* Header/Navbar Specific Fixes */
[data-theme="dark"] header nav.navbar,
[data-theme="dark"] header nav.navbar[style*="background-color"] {
    background-color: var(--dm-bg-secondary) !important;
    border-bottom: 1px solid var(--dm-border) !important;
}

[data-theme="dark"] .navbar-brand,
[data-theme="dark"] .navbar-nav>li>a,
[data-theme="dark"] .dropdown-menu>li>a,
[data-theme="dark"] .navbar-text {
    color: var(--dm-text-primary) !important;
}

/* Headings - Improved Visibility - Enhanced Specificity */
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] .panel-heading h3,
[data-theme="dark"] .panel-heading h4,
[data-theme="dark"] .modal-header h3,
[data-theme="dark"] .modal-header h4,
[data-theme="dark"] div h3,
[data-theme="dark"] div h4,
[data-theme="dark"] span h3,
[data-theme="dark"] span h4 {
    color: #5c8cdc !important;
}

[data-theme="dark"] h1,
[data-theme="dark"] .panel-heading h1,
[data-theme="dark"] .modal-header h1 {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] h2,
[data-theme="dark"] .panel-heading h2,
[data-theme="dark"] .modal-header h2 {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] h5,
[data-theme="dark"] h6 {
    color: var(--dm-text-secondary) !important;
}

/* Force heading colors even with inline styles */
[data-theme="dark"] [style*="color"] h3,
[data-theme="dark"] [style*="color"] h4 {
    color: #5c8cdc !important;
}

/* Dark Mode Toggle Button in Navbar */
[data-theme="dark"] .theme-toggle-btn {
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .theme-toggle-btn:hover {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-primary) !important;
    color: var(--dm-primary) !important;
}

[data-theme="dark"] .navbar-nav>li>a:hover,
[data-theme="dark"] .navbar-nav>li>a:focus,
[data-theme="dark"] .dropdown-menu>li>a:hover,
[data-theme="dark"] .dropdown-menu>li>a:focus {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .dropdown-menu {
    background-color: var(--dm-dropdown-bg) !important;
    border-color: var(--dm-dropdown-border) !important;
}

[data-theme="dark"] .divider {
    border-top-color: var(--dm-border) !important;
}

/* Dashboard Cards */
[data-theme="dark"] .dashboard-stat {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .stat-number {
    color: var(--dm-primary) !important;
}

/* Data Tables */
[data-theme="dark"] .dataTables_wrapper {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .dataTables_length select,
[data-theme="dark"] .dataTables_filter input {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-input-text) !important;
}

[data-theme="dark"] .dataTables_info {
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .dataTables_paginate .paginate_button {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .dataTables_paginate .paginate_button.current,
[data-theme="dark"] .dataTables_paginate .paginate_button.current:hover {
    background-color: var(--dm-primary) !important;
    color: #ffffff !important;
    border-color: var(--dm-primary) !important;
}

/* Bootstrap Select */
[data-theme="dark"] .bootstrap-select.btn-group .dropdown-menu {
    background-color: var(--dm-dropdown-bg) !important;
    border-color: var(--dm-dropdown-border) !important;
}

[data-theme="dark"] .bootstrap-select.btn-group .dropdown-menu li>a {
    color: var(--dm-dropdown-text) !important;
}

[data-theme="dark"] .bootstrap-select.btn-group .dropdown-menu li>a:hover,
[data-theme="dark"] .bootstrap-select.btn-group .dropdown-menu li>a:focus {
    background-color: var(--dm-dropdown-hover) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .bootstrap-select.btn-group .btn-default {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-input-text) !important;
}

[data-theme="dark"] .bootstrap-select.btn-group .btn-default:hover,
[data-theme="dark"] .bootstrap-select.btn-group .btn-default:focus {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-primary) !important;
    color: var(--dm-text-primary) !important;
}

/* DateTime Picker */
[data-theme="dark"] .bootstrap-datetimepicker-widget {
    background-color: var(--dm-dropdown-bg) !important;
    border-color: var(--dm-dropdown-border) !important;
}

[data-theme="dark"] .bootstrap-datetimepicker-widget table th,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .bootstrap-datetimepicker-widget table th.dow {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .bootstrap-datetimepicker-widget table td.day:hover,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.hour:hover,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.minute:hover,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.second:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .bootstrap-datetimepicker-widget table td.active,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.active:hover {
    background-color: var(--dm-primary) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .bootstrap-datetimepicker-widget table td.old,
[data-theme="dark"] .bootstrap-datetimepicker-widget table td.new {
    color: var(--dm-text-muted) !important;
}

/* Divider/HR */
[data-theme="dark"] hr {
    border-top-color: var(--dm-border) !important;
}

/* Code Blocks */
[data-theme="dark"] code {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-primary-light) !important;
}

[data-theme="dark"] pre {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] pre code {
    background-color: transparent !important;
    color: inherit !important;
}

/* Blockquote */
[data-theme="dark"] blockquote {
    border-left-color: var(--dm-primary) !important;
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] blockquote footer {
    color: var(--dm-text-muted) !important;
}

/* Page Header */
[data-theme="dark"] .page-header {
    border-bottom-color: var(--dm-border) !important;
}

[data-theme="dark"] .page-header h1 {
    color: var(--dm-text-primary) !important;
}

/* Helper Classes */
[data-theme="dark"] .text-muted {
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .text-primary {
    color: var(--dm-primary) !important;
}

[data-theme="dark"] .text-success {
    color: var(--dm-success) !important;
}

[data-theme="dark"] .text-info {
    color: var(--dm-info) !important;
}

[data-theme="dark"] .text-warning {
    color: var(--dm-warning) !important;
}

[data-theme="dark"] .text-danger {
    color: var(--dm-danger) !important;
}

[data-theme="dark"] .text-body {
    color: #cccccc !important;
}

[data-theme="dark"] .text-white,
[data-theme="dark"] .text-light {
    color: var(--dm-text-primary) !important;
}

/* Text colors with inline style override */
/* NOTE: We only reset Bootstrap layout/utility classes, NOT custom color classes.
   Custom color classes (text-orange, text-lightgreen, etc.) need to remain
   visible in dark mode with appropriate bright colors. */
[data-theme="dark"] .text-left,
[data-theme="dark"] .text-right,
[data-theme="dark"] .text-center,
[data-theme="dark"] .text-justify,
[data-theme="dark"] .text-nowrap,
[data-theme="dark"] .text-lowercase,
[data-theme="dark"] .text-uppercase,
[data-theme="dark"] .text-capitalize {
    color: inherit !important;
}

/* ===================================
   DYNAMIC COLOR CLASSES - DARK MODE
   These override the rgb() values from style.php with
   brighter/more visible versions for dark backgrounds.
   =================================== */

/* Green shades */
[data-theme="dark"] .text-green,
[data-theme="dark"] span.text-green,
[data-theme="dark"] div.text-green {
    color: #4ade80 !important;
}

[data-theme="dark"] .text-lightgreen,
[data-theme="dark"] span.text-lightgreen,
[data-theme="dark"] div.text-lightgreen {
    color: #6ee7a0 !important;
}

[data-theme="dark"] .text-limegreen,
[data-theme="dark"] span.text-limegreen,
[data-theme="dark"] div.text-limegreen {
    color: #86efac !important;
}

[data-theme="dark"] .text-yellowgreen,
[data-theme="dark"] span.text-yellowgreen,
[data-theme="dark"] div.text-yellowgreen {
    color: #bef264 !important;
}

/* Orange shades */
[data-theme="dark"] .text-orange,
[data-theme="dark"] span.text-orange,
[data-theme="dark"] div.text-orange {
    color: #fb923c !important;
}

[data-theme="dark"] .text-orangered,
[data-theme="dark"] span.text-orangered,
[data-theme="dark"] div.text-orangered {
    color: #f97316 !important;
}

/* Red shades */
[data-theme="dark"] .text-red,
[data-theme="dark"] span.text-red,
[data-theme="dark"] div.text-red {
    color: #f87171 !important;
}

/* Blue shades */
[data-theme="dark"] .text-blue,
[data-theme="dark"] span.text-blue,
[data-theme="dark"] div.text-blue {
    color: #60a5fa !important;
}

/* Fuchsia / Pink shades */
[data-theme="dark"] .text-fuchsia,
[data-theme="dark"] span.text-fuchsia,
[data-theme="dark"] div.text-fuchsia {
    color: #f0abfc !important;
}

/* Purple shades */
[data-theme="dark"] .text-purple,
[data-theme="dark"] span.text-purple,
[data-theme="dark"] div.text-purple {
    color: #c084fc !important;
}

/* Teal / Cyan shades */
[data-theme="dark"] .text-teal,
[data-theme="dark"] span.text-teal,
[data-theme="dark"] div.text-teal {
    color: #2dd4bf !important;
}

[data-theme="dark"] .text-cyan,
[data-theme="dark"] span.text-cyan,
[data-theme="dark"] div.text-cyan {
    color: #67e8f9 !important;
}

/* Yellow shades */
[data-theme="dark"] .text-yellow,
[data-theme="dark"] span.text-yellow,
[data-theme="dark"] div.text-yellow {
    color: #fde047 !important;
}

/* Body text color (used for patient names, general content) */
[data-theme="dark"] .text-body,
[data-theme="dark"] span.text-body,
[data-theme="dark"] div.text-body {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .text-light-body,
[data-theme="dark"] span.text-light-body,
[data-theme="dark"] div.text-light-body {
    color: #f1f5f9 !important;
}

/* Black - should be visible on dark backgrounds */
[data-theme="dark"] .text-black,
[data-theme="dark"] span.text-black,
[data-theme="dark"] div.text-black {
    color: #e2e8f0 !important;
}

/* Light color variants from style.php (.text-light-{color}) */
[data-theme="dark"] .text-light-green,
[data-theme="dark"] span.text-light-green {
    color: #4ade80 !important;
}

[data-theme="dark"] .text-light-orange,
[data-theme="dark"] span.text-light-orange {
    color: #fb923c !important;
}

[data-theme="dark"] .text-light-red,
[data-theme="dark"] span.text-light-red {
    color: #f87171 !important;
}

[data-theme="dark"] .text-light-blue,
[data-theme="dark"] span.text-light-blue {
    color: #60a5fa !important;
}

[data-theme="dark"] .text-light-fuchsia,
[data-theme="dark"] span.text-light-fuchsia {
    color: #f0abfc !important;
}

[data-theme="dark"] .text-light-purple,
[data-theme="dark"] span.text-light-purple {
    color: #c084fc !important;
}

/* Patient card status title text - override card heading text-muted */
[data-theme="dark"] .panel-heading .text-muted,
[data-theme="dark"] .panel-heading h4.text-muted {
    color: #94a3b8 !important;
}

[data-theme="dark"] .bg-primary {
    background-color: #364b6d !important;
    color: #ffffff !important;
}

[data-theme="dark"] .bg-success {
    background-color: var(--dm-success) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .bg-info {
    background-color: var(--dm-info) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .bg-warning {
    background-color: var(--dm-warning) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .bg-danger {
    background-color: var(--dm-danger) !important;
    color: #ffffff !important;
}

/* Borders */
[data-theme="dark"] .border {
    border-color: var(--dm-border) !important;
}

/* Transparency helpers */
[data-theme="dark"] .back-transparent {
    background-color: transparent !important;
}

/* Card-like elements */
[data-theme="dark"] .card,
[data-theme="dark"] .info-box,
[data-theme="dark"] .stat-box {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

/* Navigation tabs vertical */
[data-theme="dark"] .nav-pills>li.active>a,
[data-theme="dark"] .nav-pills>li.active>a:hover,
[data-theme="dark"] .nav-pills>li.active>a:focus {
    background-color: var(--dm-primary) !important;
    color: #ffffff !important;
    border-radius: 8px;
    margin-bottom: 4px;
}

[data-theme="dark"] .nav-pills>li>a {
    color: var(--dm-text-primary) !important;
    border-radius: 8px;
    margin-bottom: 4px;
}

[data-theme="dark"] .nav-pills>li>a:hover {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
}

/* Survey Banner - Dark Mode Support */
[data-theme="dark"] .survey-banner {
    background: linear-gradient(135deg, var(--dm-bg-tertiary) 0%, var(--dm-bg-secondary) 100%) !important;
    border-bottom: 2px solid var(--dm-primary) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .survey-banner .survey-message {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .survey-banner .btn-dismiss {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .survey-banner .btn-dismiss:hover {
    color: var(--dm-danger) !important;
}

/* MedicalPRO Specific Elements */
[data-theme="dark"] .dashboard-stat,
[data-theme="dark"] .info-box,
[data-theme="dark"] .stat-box {
    background-color: var(--dm-panel-bg) !important;
    border: 1px solid var(--dm-border) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .stat-number {
    color: var(--dm-primary) !important;
    text-shadow: 0 0 10px rgba(74, 158, 255, 0.3);
}

[data-theme="dark"] .stat-label {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .menu-badge {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .text-right-primary {
    color: var(--dm-primary) !important;
}

[data-theme="dark"] #menu_container {
    background-color: var(--dm-bg-secondary) !important;
}

[data-theme="dark"] .list-group-item {
    background-color: transparent !important;
}

/* Clinical/Patient Cards */
[data-theme="dark"] .patient-card,
[data-theme="dark"] .appointment-card,
[data-theme="dark"] .department-card {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .card-header {
    background-color: var(--dm-bg-tertiary) !important;
    border-bottom-color: var(--dm-border) !important;
}

[data-theme="dark"] .card-body {
    color: var(--dm-text-primary) !important;
}

/* Data Tables Enhanced */
[data-theme="dark"] table.dataTable {
    background-color: var(--dm-table-bg) !important;
}

[data-theme="dark"] table.dataTable thead th,
[data-theme="dark"] table.dataTable thead td {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] table.dataTable tbody tr.selected {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_processing {
    background-color: var(--dm-bg-card) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

/* Form Validation States */
[data-theme="dark"] .has-success .form-control {
    border-color: var(--dm-success) !important;
    box-shadow: 0 0 0 0.2rem rgba(72, 187, 120, 0.25) !important;
}

[data-theme="dark"] .has-warning .form-control {
    border-color: var(--dm-warning) !important;
    box-shadow: 0 0 0 0.2rem rgba(237, 137, 54, 0.25) !important;
}

[data-theme="dark"] .has-error .form-control {
    border-color: var(--dm-danger) !important;
    box-shadow: 0 0 0 0.2rem rgba(245, 101, 101, 0.25) !important;
}

[data-theme="dark"] .help-block {
    color: var(--dm-text-muted) !important;
}

/* Checkbox and Radio */
[data-theme="dark"] input[type="checkbox"],
[data-theme="dark"] input[type="radio"] {
    accent-color: var(--dm-primary);
}

/* Search Box */
[data-theme="dark"] .search-box,
[data-theme="dark"] .search-field {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-input-border) !important;
    color: var(--dm-input-text) !important;
}

/* Action Buttons */
[data-theme="dark"] .action-button {
    background-color: var(--dm-btn-default-bg) !important;
    color: var(--dm-text-primary) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .action-button:hover {
    background-color: var(--dm-bg-hover) !important;
}

/* Notification Badges */
[data-theme="dark"] .notification-badge {
    background-color: var(--dm-danger) !important;
    color: #ffffff !important;
}

/* Timeline/Activity Feed */
[data-theme="dark"] .timeline-item {
    border-left-color: var(--dm-border) !important;
}

[data-theme="dark"] .timeline-time {
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .timeline-content {
    color: var(--dm-text-primary) !important;
}

/* Stepper/Wizard */
[data-theme="dark"] .step-circle {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .step-circle.active {
    background-color: var(--dm-primary) !important;
    border-color: var(--dm-primary) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .step-circle.completed {
    background-color: var(--dm-success) !important;
    border-color: var(--dm-success) !important;
    color: #ffffff !important;
}

/* File Upload */
[data-theme="dark"] .file-upload-area {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .file-upload-area:hover {
    border-color: var(--dm-primary) !important;
}

/* Quick Links */
[data-theme="dark"] .quick-link-item a {
    color: var(--dm-text-secondary) !important;
}

[data-theme="dark"] .quick-link-item a:hover {
    color: var(--dm-primary) !important;
    background-color: var(--dm-bg-hover) !important;
}

/* Stats Counter */
[data-theme="dark"] .counter-box {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .counter-value {
    color: var(--dm-primary) !important;
}

/* Calendar/Date Picker Enhanced */
[data-theme="dark"] .fc-unthemed td.fc-today {
    background-color: var(--dm-bg-tertiary) !important;
}

[data-theme="dark"] .fc-toolbar h2 {
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .fc-button {
    background-color: var(--dm-btn-default-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

[data-theme="dark"] .fc-button:hover {
    background-color: var(--dm-bg-hover) !important;
}

[data-theme="dark"] .fc-button.fc-state-active {
    background-color: var(--dm-primary) !important;
    border-color: var(--dm-primary) !important;
    color: #ffffff !important;
}

/* Chat/Messages */
[data-theme="dark"] .message-box {
    background-color: var(--dm-bg-hover) !important;
    border-color: var(--dm-border) !important;
}

[data-theme="dark"] .message-sender {
    color: var(--dm-primary) !important;
}

[data-theme="dark"] .message-time {
    color: var(--dm-text-muted) !important;
}

[data-theme="dark"] .message-content {
    color: var(--dm-text-primary) !important;
}

/* Print Preview */
[data-theme="dark"] .print-preview {
    background-color: #fff !important;
    color: #000 !important;
}

/* Print Styles - Always use light mode for printing */
@media print {
    [data-theme="dark"] body {
        background-color: #fff !important;
        color: #000 !important;
    }

    [data-theme="dark"] .no-print {
        display: none !important;
    }
}

/* ===================================
   USER REQUESTED FIXES
   =================================== */

/* Remove Text Fade Animation on Card Hover */
[data-theme="dark"] a:hover,
[data-theme="dark"] span:hover,
[data-theme="dark"] div:hover,
[data-theme="dark"] p:hover,
[data-theme="dark"] h1:hover,
[data-theme="dark"] h2:hover,
[data-theme="dark"] h3:hover,
[data-theme="dark"] h4:hover,
[data-theme="dark"] h5:hover,
[data-theme="dark"] h6:hover,
[data-theme="dark"] td:hover,
[data-theme="dark"] th:hover,
[data-theme="dark"] .card:hover,
[data-theme="dark"] .panel:hover,
[data-theme="dark"] .list-group-item:hover {
    transition: none !important;
    color: inherit !important;
}

/* Patient Names - Solid White (No Transparency) */
[data-theme="dark"] .patient-name,
[data-theme="dark"] .patient-name *,
[data-theme="dark"] .patient-name a,
[data-theme="dark"] .patient-name span,
[data-theme="dark"] .list-name,
[data-theme="dark"] .list-name *,
[data-theme="dark"] .list-name a,
[data-theme="dark"] .list-name span,
[data-theme="dark"] .text-white,
[data-theme="dark"] .text-white *,
[data-theme="dark"] .fw-bold,
[data-theme="dark"] .font-weight-bold {
    color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Ensure patient names stay white on hover */
[data-theme="dark"] .patient-name:hover,
[data-theme="dark"] .patient-name a:hover,
[data-theme="dark"] .list-name:hover,
[data-theme="dark"] .list-name a:hover {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Patient File Link - Dark Blue Background */
[data-theme="dark"] .file-link,
[data-theme="dark"] a.file-link,
[data-theme="dark"] .file-link:hover,
[data-theme="dark"] a.file-link:hover {
    background-color: rgb(53, 67, 107) !important;
    border-color: var(--dm-border) !important;
}

/* Profile Image Repositioning - All Modes */
.patient-card .profile-image,
.patient-card .patient-photo,
.patient-profile .profile-image,
.patient-profile .patient-photo {
    bottom: -100px !important;
    position: absolute !important;
}

/* ===================================
   BACKGROUND COLOR CLASSES - DARK MODE
   Prevents blinding white backgrounds in dark panels
   =================================== */

/* bg-white used in panel-footer, modal sections etc */
[data-theme="dark"] .bg-white {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text-primary) !important;
}

/* bg-light used in panel bodies */
[data-theme="dark"] .bg-light {
    background-color: var(--dm-bg-hover) !important;
    color: var(--dm-text-primary) !important;
}

/* Dynamic bg-light-{color} classes from style.php */
[data-theme="dark"] [class^="bg-light-"],
[data-theme="dark"] [class*=" bg-light-"] {
    opacity: 0.8;
}

/* Dynamic bg-lighter-{color} classes from style.php */
[data-theme="dark"] [class^="bg-lighter-"],
[data-theme="dark"] [class*=" bg-lighter-"] {
    opacity: 0.6;
}

/* Dynamic bg-{color} solid classes - brightness reduce for dark mode readability */
[data-theme="dark"] .bg-green {
    background-color: #166534 !important;
    color: #86efac !important;
}

[data-theme="dark"] .bg-orange {
    background-color: #9a3412 !important;
    color: #fed7aa !important;
}

[data-theme="dark"] .bg-red {
    background-color: #7f1d1d !important;
    color: #fca5a5 !important;
}

[data-theme="dark"] .bg-blue {
    background-color: #1e3a5f !important;
    color: #93c5fd !important;
}

[data-theme="dark"] .bg-fuchsia {
    background-color: #581c87 !important;
    color: #f0abfc !important;
}

[data-theme="dark"] .bg-purple {
    background-color: #4c1d95 !important;
    color: #c4b5fd !important;
}

[data-theme="dark"] .bg-teal {
    background-color: #134e4a !important;
    color: #5eead4 !important;
}

[data-theme="dark"] .bg-yellow {
    background-color: #713f12 !important;
    color: #fde68a !important;
}

[data-theme="dark"] .bg-limegreen {
    background-color: #14532d !important;
    color: #86efac !important;
}

[data-theme="dark"] .bg-lightgreen {
    background-color: #14532d !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .bg-orangered {
    background-color: #7c2d12 !important;
    color: #fdba74 !important;
}

/* Panel-footer bg-white inside dark panels (used in patient file section) */
[data-theme="dark"] .panel-footer.bg-white,
[data-theme="dark"] .panel-body.bg-white,
[data-theme="dark"] .panel-body.bg-light {
    background-color: var(--dm-bg-card) !important;
    color: var(--dm-text-primary) !important;
}

/* Readonly form controls - should be readable in dark mode */
[data-theme="dark"] .form-control[readonly],
[data-theme="dark"] .form-control[readonly]:focus {
    color: var(--dm-text-secondary) !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Panel-body text-muted inside dark panels */
[data-theme="dark"] .panel-body .text-muted {
    color: #a0aec0 !important;
}

/* Caption labels */
[data-theme="dark"] .caption {
    color: #94a3b8 !important;
}