/*
 * BINTACURA — Dark Mode Override Sheet
 * Covers all 150+ CSS files that use hardcoded colors.
 * Applied AFTER all other stylesheets so it wins cascade battles.
 * Uses [data-theme="dark"] for high specificity without !important where possible.
 * Section status / semantic colors (success, warning, danger, info) are intentionally
 * NOT overridden here so they stay visible and meaningful.
 */

/* ════════════════════════════════════════════════════
   1. BODY & PAGE SHELL
   ════════════════════════════════════════════════════ */
[data-theme="dark"] body,
[data-theme="dark"] html {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] main,
[data-theme="dark"] .main-content,
[data-theme="dark"] .page-content,
[data-theme="dark"] .content-wrapper,
[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid,
[data-theme="dark"] .wrapper {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* ════════════════════════════════════════════════════
   2. TOP NAVIGATION
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .top-nav {
    background: var(--nav-bg) !important;
    border-bottom: 1px solid var(--nav-border) !important;
    box-shadow: 0 2px 10px var(--shadow) !important;
}

[data-theme="dark"] .top-nav .menu-toggle-btn span,
[data-theme="dark"] .nav-back-btn {
    background: var(--nav-icon) !important;
    color: var(--nav-text) !important;
}

[data-theme="dark"] .nav-title,
[data-theme="dark"] .nav-subtitle,
[data-theme="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb a {
    color: var(--nav-text) !important;
}

[data-theme="dark"] .user-info .user-name,
[data-theme="dark"] .user-info .user-role,
[data-theme="dark"] .nav-user-name {
    color: var(--nav-text) !important;
}

[data-theme="dark"] .notification-btn,
[data-theme="dark"] .nav-action-btn {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--nav-icon) !important;
    border-color: var(--nav-border) !important;
}

[data-theme="dark"] .notification-btn:hover,
[data-theme="dark"] .nav-action-btn:hover {
    background: rgba(255, 255, 255, 0.14) !important;
}

/* ════════════════════════════════════════════════════
   3. SIDEBAR
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .sidebar,
[data-theme="dark"] .side-nav,
[data-theme="dark"] .left-sidebar,
[data-theme="dark"] #sidebar {
    background: var(--sidebar-bg) !important;
    border-right: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .sidebar-header,
[data-theme="dark"] .sidebar .logo-section {
    background: var(--sidebar-header-bg) !important;
}

[data-theme="dark"] .sidebar-item,
[data-theme="dark"] .nav-item,
[data-theme="dark"] .sidebar a,
[data-theme="dark"] .sidebar-link {
    color: var(--sidebar-text) !important;
}

[data-theme="dark"] .sidebar-item:hover,
[data-theme="dark"] .nav-item:hover,
[data-theme="dark"] .sidebar-item.active {
    background: var(--sidebar-item-hover) !important;
}

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

/* ════════════════════════════════════════════════════
   4. MOBILE HEADER & DRAWER
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .mobile-header,
[data-theme="dark"] .mobile-nav,
[data-theme="dark"] .mobile-sidebar {
    background: var(--nav-bg) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .sidebar-overlay {
    background: var(--overlay) !important;
}

/* ════════════════════════════════════════════════════
   5. CARDS, PANELS & CONTAINERS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .card,
[data-theme="dark"] [class*="-card"],
[data-theme="dark"] [class*="card-"],
[data-theme="dark"] .panel,
[data-theme="dark"] .widget,
[data-theme="dark"] .box,
[data-theme="dark"] [class*="-box"],
[data-theme="dark"] [class*="-panel"],
[data-theme="dark"] .section-card,
[data-theme="dark"] .info-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .summary-card,
[data-theme="dark"] .detail-card,
[data-theme="dark"] .appointment-card,
[data-theme="dark"] .patient-card,
[data-theme="dark"] .doctor-card,
[data-theme="dark"] .report-card,
[data-theme="dark"] .record-card,
[data-theme="dark"] .profile-card,
[data-theme="dark"] .item-card,
[data-theme="dark"] .list-card,
[data-theme="dark"] .data-card {
    background: var(--card-bg) !important;
    border-color: var(--card-border) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .card-header,
[data-theme="dark"] [class*="-card"] .header,
[data-theme="dark"] .panel-header,
[data-theme="dark"] .widget-header {
    background: var(--bg-tertiary) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .card-footer,
[data-theme="dark"] .panel-footer {
    background: var(--bg-tertiary) !important;
    border-top-color: var(--border-color) !important;
}

/* ════════════════════════════════════════════════════
   6. PAGE HEADERS & SECTION HEADERS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .page-header,
[data-theme="dark"] .section-header,
[data-theme="dark"] .module-header,
[data-theme="dark"] .content-header,
[data-theme="dark"] .tab-header {
    background: var(--bg-secondary) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

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

/* ════════════════════════════════════════════════════
   7. TYPOGRAPHY & TEXT ELEMENTS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] h1, [data-theme="dark"] h2,
[data-theme="dark"] h3, [data-theme="dark"] h4,
[data-theme="dark"] h5, [data-theme="dark"] h6 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] p,
[data-theme="dark"] span:not([class*="badge"]):not([class*="tag"]):not([class*="status"]):not([class*="label"]) {
    color: inherit;
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-secondary,
[data-theme="dark"] .subtitle,
[data-theme="dark"] .meta-text,
[data-theme="dark"] .helper-text,
[data-theme="dark"] .description {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] a:not(.btn):not([class*="badge"]):not([class*="tag"]) {
    color: var(--link-color) !important;
}

[data-theme="dark"] a:not(.btn):not([class*="badge"]):not([class*="tag"]):hover {
    color: var(--link-hover) !important;
}

/* ════════════════════════════════════════════════════
   8. TABLES
   ════════════════════════════════════════════════════ */
[data-theme="dark"] table,
[data-theme="dark"] .table {
    background: var(--card-bg) !important;
    color: var(--table-text) !important;
    border-color: var(--table-border) !important;
}

[data-theme="dark"] table th,
[data-theme="dark"] .table th,
[data-theme="dark"] thead,
[data-theme="dark"] thead tr,
[data-theme="dark"] thead th {
    background: var(--table-header-bg) !important;
    color: var(--text-primary) !important;
    border-color: var(--table-border) !important;
}

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

[data-theme="dark"] tbody tr:hover,
[data-theme="dark"] .table-hover tbody tr:hover {
    background: var(--table-row-hover) !important;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255, 255, 255, 0.03) !important;
}

/* ════════════════════════════════════════════════════
   9. FORMS & INPUTS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] select,
[data-theme="dark"] textarea,
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-input,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-field,
[data-theme="dark"] .field-input {
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--input-text) !important;
}

/* Dark mode: use light-colored arrow for all custom selects */
[data-theme="dark"] select.form-input,
[data-theme="dark"] select.form-select,
[data-theme="dark"] select.pharm-select,
[data-theme="dark"] select.pharm-form-select,
[data-theme="dark"] select.hosp-select,
[data-theme="dark"] select.ins-form-select {
    background-image: var(--select-arrow) !important;
}

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

[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] .form-control:focus {
    border-color: var(--input-focus-border) !important;
    box-shadow: 0 0 0 3px var(--focus-ring) !important;
    background: var(--input-bg) !important;
    color: var(--input-text) !important;
}

[data-theme="dark"] label,
[data-theme="dark"] .form-label,
[data-theme="dark"] .field-label,
[data-theme="dark"] .input-label {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-section,
[data-theme="dark"] .form-group,
[data-theme="dark"] .form-wrapper,
[data-theme="dark"] .form-card {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .input-group,
[data-theme="dark"] .input-wrapper {
    background: transparent !important;
}

[data-theme="dark"] .input-group-text,
[data-theme="dark"] .field-icon,
[data-theme="dark"] .input-icon {
    background: var(--bg-tertiary) !important;
    border-color: var(--input-border) !important;
    color: var(--text-secondary) !important;
}

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

/* ════════════════════════════════════════════════════
   10. MODALS, DIALOGS, DRAWERS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .modal,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .modal-dialog,
[data-theme="dark"] .dialog,
[data-theme="dark"] .popup,
[data-theme="dark"] .overlay-content,
[data-theme="dark"] .drawer,
[data-theme="dark"] .sheet {
    background: var(--modal-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

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

[data-theme="dark"] .modal-footer,
[data-theme="dark"] .dialog-footer {
    background: var(--bg-tertiary) !important;
    border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-backdrop {
    background: var(--modal-overlay) !important;
}

/* ════════════════════════════════════════════════════
   11. DROPDOWNS, MENUS, TOOLTIPS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .dropdown-content,
[data-theme="dark"] .select-dropdown,
[data-theme="dark"] .context-menu,
[data-theme="dark"] .autocomplete-list,
[data-theme="dark"] .suggestions-list {
    background: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 4px 16px var(--shadow-lg) !important;
}

[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .dropdown-menu li,
[data-theme="dark"] .menu-item,
[data-theme="dark"] .suggestion-item {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .menu-item:hover,
[data-theme="dark"] .suggestion-item:hover {
    background: var(--dropdown-item-hover) !important;
}

[data-theme="dark"] .tooltip,
[data-theme="dark"] .tooltip-inner,
[data-theme="dark"] .popover {
    background: #3a3a3a !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* ════════════════════════════════════════════════════
   12. TABS & NAVIGATION PILLS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .tabs,
[data-theme="dark"] .tab-container,
[data-theme="dark"] .nav-tabs,
[data-theme="dark"] .tab-bar {
    background: var(--bg-secondary) !important;
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .tab,
[data-theme="dark"] .tab-item,
[data-theme="dark"] .nav-tab,
[data-theme="dark"] .nav-link {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .tab.active,
[data-theme="dark"] .tab-item.active,
[data-theme="dark"] .nav-tab.active,
[data-theme="dark"] .nav-link.active {
    color: var(--text-primary) !important;
    background: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

/* ════════════════════════════════════════════════════
   13. LIST ITEMS & DETAIL ROWS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .list-item,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] [class*="-item"]:not([class*="badge"]):not([class*="tag"]):not([class*="nav"]),
[data-theme="dark"] .detail-row,
[data-theme="dark"] .info-row,
[data-theme="dark"] .record-row {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .list-item:hover,
[data-theme="dark"] .list-group-item:hover,
[data-theme="dark"] [class*="-item"]:not([class*="badge"]):not([class*="tag"]):not([class*="nav"]):hover {
    background: var(--bg-tertiary) !important;
}

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

/* ════════════════════════════════════════════════════
   14. BADGES & TAGS (neutral only — semantic colors kept)
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .badge:not([class*="success"]):not([class*="warning"]):not([class*="danger"]):not([class*="info"]):not([class*="primary"]):not([class*="secondary"]),
[data-theme="dark"] .tag:not([class*="success"]):not([class*="warning"]):not([class*="danger"]):not([class*="info"]):not([class*="primary"]):not([class*="secondary"]),
[data-theme="dark"] .pill:not([class*="success"]):not([class*="warning"]):not([class*="danger"]):not([class*="info"]):not([class*="primary"]):not([class*="secondary"]) {
    background: var(--badge-neutral-bg) !important;
    color: var(--badge-neutral-text) !important;
    border-color: var(--border-color) !important;
}

/* ════════════════════════════════════════════════════
   15. SEARCH BARS & FILTER AREAS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .search-bar,
[data-theme="dark"] .search-container,
[data-theme="dark"] .filter-bar,
[data-theme="dark"] .filter-section,
[data-theme="dark"] .search-wrapper {
    background: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

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

/* ════════════════════════════════════════════════════
   16. STAT / KPI COUNTERS
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .stat-number,
[data-theme="dark"] .kpi-value,
[data-theme="dark"] .counter-value,
[data-theme="dark"] .metric-value {
    color: var(--text-primary) !important;
}

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

/* ════════════════════════════════════════════════════
   17. ACTIVITY FEED & TIMELINE
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .activity-item,
[data-theme="dark"] .timeline-item,
[data-theme="dark"] .feed-item,
[data-theme="dark"] .log-entry,
[data-theme="dark"] .audit-entry {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .timeline-line,
[data-theme="dark"] .activity-line {
    background: var(--border-color) !important;
}

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

/* ════════════════════════════════════════════════════
   18. ALERTS & NOTIFICATIONS
   ════════════════════════════════════════════════════ */
/* Note: semantic alert backgrounds intentionally preserved */
[data-theme="dark"] .alert-secondary,
[data-theme="dark"] .notification-panel,
[data-theme="dark"] .notification-item {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Notification dropdown panel (top_nav.css) */
[data-theme="dark"] .notification-dropdown-panel {
    background: var(--card-bg) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}

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

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

[data-theme="dark"] .notification-item:hover {
    background: var(--bg-tertiary) !important;
}

[data-theme="dark"] .notification-item.unread {
    background: rgba(25, 118, 210, 0.12) !important;
}

[data-theme="dark"] .notification-badge {
    /* Keep red notification dot — visibility matters */
}

/* Toggle switch (dashboard.css) */
[data-theme="dark"] .toggle-switch {
    background: #555555 !important;
}

[data-theme="dark"] .toggle-switch-slider {
    background: #ffffff !important;
}

/* ════════════════════════════════════════════════════
   19. PAGINATION
   ════════════════════════════════════════════════════ */
[data-theme="dark"] .pagination .page-item .page-link,
[data-theme="dark"] .pagination .page-link,
[data-theme="dark"] .pager a,
[data-theme="dark"] .paginator a {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .pagination .page-item.active .page-link,
[data-theme="dark"] .paginator a.active {
    background: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: #fff !important;
}

/* ════════════════════════════════════════════════════
   20. BINTACURA-SPECIFIC COMPONENTS
   ════════════════════════════════════════════════════ */

/* Session management cards */
[data-theme="dark"] .session-card,
[data-theme="dark"] .session-item,
[data-theme="dark"] .device-card {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .session-card.current-session {
    border-color: var(--status-success) !important;
}

/* Patient / appointment list items */
[data-theme="dark"] .appointment-item,
[data-theme="dark"] .patient-item,
[data-theme="dark"] .doctor-item,
[data-theme="dark"] .department-item,
[data-theme="dark"] .service-item {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .appointment-item:hover,
[data-theme="dark"] .patient-item:hover,
[data-theme="dark"] .doctor-item:hover {
    background: var(--bg-tertiary) !important;
}

/* Health records / prescription cards */
[data-theme="dark"] .record-item,
[data-theme="dark"] .prescription-item,
[data-theme="dark"] .lab-item,
[data-theme="dark"] .vital-row {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Pharmacy / inventory */
[data-theme="dark"] .product-card,
[data-theme="dark"] .inventory-item,
[data-theme="dark"] .stock-item {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Queue display */
[data-theme="dark"] .queue-card,
[data-theme="dark"] .queue-item,
[data-theme="dark"] .ticket-card,
[data-theme="dark"] .waiting-item {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* HR / schedule */
[data-theme="dark"] .schedule-card,
[data-theme="dark"] .shift-card,
[data-theme="dark"] .leave-card,
[data-theme="dark"] .staff-card {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Financial / billing */
[data-theme="dark"] .invoice-card,
[data-theme="dark"] .bill-card,
[data-theme="dark"] .transaction-item,
[data-theme="dark"] .payment-item {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* ERP module */
[data-theme="dark"] .erp-card,
[data-theme="dark"] .report-section,
[data-theme="dark"] .chart-container,
[data-theme="dark"] .analytics-card {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* ════════════════════════════════════════════════════
   21. SCROLLBARS (Webkit)
   ════════════════════════════════════════════════════ */
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-primary) !important;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: #555555 !important;
    border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #777777 !important;
}

/* ════════════════════════════════════════════════════
   22. CODE BLOCKS & PRE
   ════════════════════════════════════════════════════ */
[data-theme="dark"] pre,
[data-theme="dark"] code,
[data-theme="dark"] .code-block {
    background: #1e1e1e !important;
    color: #d4d4d4 !important;
    border-color: #3a3a3a !important;
}

/* ════════════════════════════════════════════════════
   23. PRINT MEDIA — always light for readability
   ════════════════════════════════════════════════════ */
@media print {
    [data-theme="dark"] body,
    [data-theme="dark"] *:not([class*="badge"]):not([class*="tag"]) {
        background: #ffffff !important;
        color: #000000 !important;
        box-shadow: none !important;
    }
}
