/* Contrast Overrides for Smart Hospital SaaS */
:root {
    /* Functional Colors */
    --text-primary: #111827;
    /* Near black for high contrast */
    --text-secondary: #374151;
    /* Dark gray */
    --text-muted: #6B7280;
    /* Medium gray - still readable */
    --text-inverse: #FFFFFF;

    --bg-primary: #FFFFFF;
    --bg-secondary: #F3F4F6;

    --accent-blue: #1D4ED8;
    /* Darker blue for better contrast */
    --accent-green: #047857;
    /* Darker green */
    --accent-red: #B91C1C;
    /* Darker red */
    --accent-orange: #C2410C;
    /* Darker orange */

    /* Sidebar Specific (Dark Theme) */
    --sidebar-bg: #1A2226;
    --sidebar-header-text: #9CA3AF;
    --sidebar-text: #D1D5DB;
    --sidebar-text-hover: #FFFFFF;
    --sidebar-bg-hover: #2C3B41;

    /* Chart Colors */
    --chart-text: #374151;
    --chart-grid: rgba(226, 232, 240, 0.8);
    --chart-primary: #367fa9;
}

/* Global Text Contrast Fixes */
body {
    color: var(--text-primary);
}

/* Primary readable text */
.text-primary-content {
    color: #1f2937 !important; /* dark gray */
}

/* Secondary muted text */
.text-secondary-content {
    color: #6b7280 !important;
}

/* Dark background readable text */
.text-on-dark {
    color: #ffffff !important;
}

.text-muted,
.text-gray-light,
small {
    color: var(--text-secondary) !important;
}

/* Sidebar Overrides */
.sidebar-menu>li.header {
    color: #E5E7EB !important;
    /* Lighter color for sidebar header on dark bg */
    background: #111821 !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sidebar-menu>li>a {
    color: #D1D5DB !important;
}

.sidebar-menu>li:hover>a,
.sidebar-menu>li.active>a {
    color: #FFFFFF !important;
    background: #2C3B41 !important;
}

.treeview-menu>li>a {
    color: #9CA3AF !important;
}

.treeview-menu>li.active>a,
.treeview-menu>li>a:hover {
    color: #FFFFFF !important;
}

/* Sidebar Form Inputs (CRITICAL FIX) */
.sidebar-form {
    border: 1px solid #4B5563 !important;
}

.sidebar-form input[type="text"] {
    background-color: #374151 !important;
    color: #FFFFFF !important;
}

.sidebar-form input[type="text"]::placeholder {
    color: #9CA3AF !important;
}

.sidebar-form .btn {
    background-color: #374151 !important;
    color: #D1D5DB !important;
}

.sidebar-form input[type="text"]:focus,
.sidebar-form input[type="text"]:focus+.input-group-btn .btn {
    background-color: #FFFFFF !important;
    color: #111827 !important;
}

/* Global Button Contrast Fixes */
.btn-primary {
    background-color: #367fa9 !important;
    border-color: #1D4ED8 !important;
    color: #FFFFFF !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #1D4ED8 !important;
}

.btn-success {
    background-color: #059669 !important;
    border-color: #047857 !important;
    color: #FFFFFF !important;
}

.btn-danger {
    background-color: #DC2626 !important;
    border-color: #B91C1C !important;
    color: #FFFFFF !important;
}

.btn-warning {
    background-color: #D97706 !important;
    /* Darker orange */
    border-color: #B45309 !important;
    color: #FFFFFF !important;
}

.btn-info {
    background-color: #0891B2 !important;
    border-color: #0E7490 !important;
    color: #FFFFFF !important;
}

/* Skin Specific Navbar Contrast Fixes */
/* Yellow Skin */
.skin-yellow .main-header .navbar,
.skin-yellow .main-header .logo {
    background-color: #D97706 !important;
    /* Darker yellow/orange for white text contrast */
}

/* Blue Skin */
.skin-blue .main-header .navbar,
.skin-blue .main-header .logo {
    background-color: #1D4ED8 !important;
}

/* Purple Skin */
.skin-purple .main-header .navbar,
.skin-purple .main-header .logo {
    background-color: #7E22CE !important;
}

/* Green Skin */
.skin-green .main-header .navbar,
.skin-green .main-header .logo {
    background-color: #047857 !important;
}

/* Red Skin */
.skin-red .main-header .navbar,
.skin-red .main-header .logo {
    background-color: #B91C1C !important;
}

/* Navbar Links */
.main-header .navbar .nav>li>a {
    color: #FFFFFF !important;
}

/* Input / Form Control Contrast */
.form-control {
    color: #111827 !important;
    border: 1px solid #D1D5DB !important;
}

.form-control::placeholder {
    color: #6B7280 !important;
    opacity: 1;
    /* Firefox */
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    background-color: #F3F4F6 !important;
    color: #4B5563 !important;
}

/* Label Contrast */
label {
    color: #374151 !important;
    font-weight: 600 !important;
}

/* Card / Box Header Contrast */
.box.box-solid.box-primary>.box-header {
    background-color: #1D4ED8 !important;
    color: #FFFFFF !important;
}

.box.box-solid.box-success>.box-header {
    background-color: #047857 !important;
    color: #FFFFFF !important;
}

.box.box-solid.box-danger>.box-header {
    background-color: #B91C1C !important;
    color: #FFFFFF !important;
}

.box.box-solid.box-warning>.box-header {
    background-color: #B45309 !important;
    color: #FFFFFF !important;
}

/* Tabs Contrast */
.nav-tabs-custom>.nav-tabs>li.active>a {
    border-top-color: #367fa9 !important;
    color: #111827 !important;
    font-weight: 700 !important;
}

.nav-tabs-custom>.nav-tabs>li>a:hover {
    color: #367fa9 !important;
}

.nav-tabs-custom>.nav-tabs>li>a {
    color: #4B5563 !important;
}

/* DataTables and pagination */
.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    background-color: #367fa9 !important;
    border-color: #367fa9 !important;
    color: #FFFFFF !important;
}

/* Tooltip and dropdowns */
.dropdown-menu>li>a {
    color: #374151 !important;
}

.dropdown-menu>li>a:hover {
    background-color: #F3F4F6 !important;
    color: #111827 !important;
}

/* Fix for invisible text on specific backgrounds mentioned by user */
.bg-blue,
.bg-aqua,
.bg-teal,
.bg-olive,
.bg-primary {
    color: #FFFFFF !important;
    background-color: #1D4ED8 !important;
    /* Ensure bg itself is dark enough */
}

.bg-yellow,
.bg-orange,
.bg-maroon,
.bg-warning {
    color: #FFFFFF !important;
    background-color: #92400E !important;
    /* Darker orange/yellow for contrast */
}

.bg-green,
.bg-success {
    color: #FFFFFF !important;
    background-color: #065F46 !important;
}

.bg-red,
.bg-danger {
    color: #FFFFFF !important;
    background-color: #991B1B !important;
}

/* Ensure focus states are highly visible */
:focus {
    outline: 2px solid #367fa9 !important;
    outline-offset: 2px !important;
}

/* Modal text contrast */
.modal-content {
    color: #111827 !important;
}

.modal-header {
    border-bottom: 1px solid #E5E7EB !important;
}

.modal-footer {
    border-top: 1px solid #E5E7EB !important;
}

/* Ensure all links have sufficient contrast */
a {
    color: #1D4ED8;
}

a:hover {
    color: #1E40AF;
    text-decoration: underline;
}

/* Fix for cases where text might be same color as background */
[style*="background-color: #ffffff"],
[style*="background-color: white"],
.bg-white {
    color: #111827 !important;
}

[style*="background-color: #000000"],
[style*="background-color: black"],
.bg-black {
    color: #FFFFFF !important;
}

/* Specific fix for AdminLTE boxes */
.box {
    border-top-color: #D1D5DB !important;
}

.box-header {
    color: #111827 !important;
}

/* Ensure headings are always dark */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #111827 !important;
}

/* Ensure headings in dark-background headers/containers are readable */
.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-blue h1,
.bg-blue h2,
.bg-blue h3,
.bg-blue h4,
.bg-blue h5,
.bg-blue h6,
.bg-navy h1,
.bg-navy h2,
.bg-navy h3,
.bg-navy h4,
.bg-navy h5,
.bg-navy h6,
.bg-charcoal h1,
.bg-charcoal h2,
.bg-charcoal h3,
.bg-charcoal h4,
.bg-charcoal h5,
.bg-charcoal h6,
.modal-header h1,
.modal-header h2,
.modal-header h3,
.modal-header h4,
.modal-header h5,
.modal-header h6,
.modal-header .modal-title,
.modal-media-header h1,
.modal-media-header h2,
.modal-media-header h3,
.modal-media-header h4,
.modal-media-header h5,
.modal-media-header h6,
.modal-media-header .modal-title,
.box-solid .box-header h1,
.box-solid .box-header h2,
.box-solid .box-header h3,
.box-solid .box-header h4,
.box-solid .box-header h5,
.box-solid .box-header h6,
.box-solid .box-header .box-title,
.widget-user-header h1,
.widget-user-header h2,
.widget-user-header h3,
.widget-user-header h4,
.widget-user-header h5,
.widget-user-header h6,
.widget-user-username,
.widget-user-desc {
    color: #fff !important;
}

.modern-card-header h1,
.modern-card-header h2,
.modern-card-header h3,
.modern-card-header h4,
.modern-card-header h5,
.modern-card-header h6,
.modern-card-title,
.card-title,
.box-title,
.modal-title {
    color: #111827 !important;
}

/* Support for Dark Mode Class */
.dark .card-title,
.dark .modal-title,
.dark .box-title {
    color: #ffffff !important;
}

.card-dark {
    background: #1e293b !important;
    color: #ffffff !important;
}