/* clinicademo-palette.css — System teal palette override
 * Single-pass recolor for ALL views: overrides Bootstrap classes + inline style="..." attributes + <style> block class selectors.
 * Semantic colors (danger red, success green, warning yellow) are PRESERVED.
 * Purple/dark/cyan headers are remapped to the teal scale.
 */
:root {
    --clinicademo-primary: #04445b;
    --clinicademo-primary-dark: #052e39;
    --clinicademo-primary-mid: #265361;
    --clinicademo-primary-light: #2d606d;
    --clinicademo-secondary: #59838c;
    --clinicademo-secondary-dark: #265361;
    --clinicademo-secondary-light: #7aa4ac;
    --clinicademo-secondary-lighter: #769cac;
    --clinicademo-bg: #e6f2f1;
}

/* ============ Bootstrap primary → teal ============ */
.bg-primary { background-color: var(--clinicademo-primary) !important; }
.btn-primary { background-color: var(--clinicademo-primary) !important; border-color: var(--clinicademo-primary) !important; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--clinicademo-primary-dark) !important; border-color: var(--clinicademo-primary-dark) !important;
}
.btn-outline-primary { color: var(--clinicademo-primary) !important; border-color: var(--clinicademo-primary) !important; }
.btn-outline-primary:hover { background-color: var(--clinicademo-primary) !important; color: #fff !important; }
.text-primary { color: var(--clinicademo-primary) !important; }
.badge-primary { background-color: var(--clinicademo-primary) !important; }
.alert-primary { background-color: var(--clinicademo-bg) !important; border-color: var(--clinicademo-primary) !important; color: var(--clinicademo-primary) !important; }
.border-primary { border-color: var(--clinicademo-primary) !important; }
.nav-pills .nav-link.active, .nav-tabs .nav-link.active {
    background-color: var(--clinicademo-primary) !important; color: #fff !important; border-color: var(--clinicademo-primary) !important;
}
a { color: var(--clinicademo-primary); }
a:hover { color: var(--clinicademo-primary-dark); }
.progress-bar.bg-primary { background-color: var(--clinicademo-primary) !important; }
.card.border-primary { border-color: var(--clinicademo-primary) !important; }
.card-header.bg-primary { background-color: var(--clinicademo-primary) !important; }
.list-group-item.active { background-color: var(--clinicademo-primary) !important; border-color: var(--clinicademo-primary) !important; }
.table-primary { background-color: var(--clinicademo-secondary-light) !important; }

/* ============ Bootstrap info (cyan) → teal secondary ============ */
.bg-info { background-color: var(--clinicademo-secondary) !important; }
.btn-info { background-color: var(--clinicademo-secondary) !important; border-color: var(--clinicademo-secondary) !important; }
.btn-info:hover { background-color: var(--clinicademo-secondary-dark) !important; }
.text-info { color: var(--clinicademo-secondary) !important; }
.alert-info { background-color: var(--clinicademo-bg) !important; border-color: var(--clinicademo-secondary) !important; color: var(--clinicademo-primary) !important; }

/* ============ Class selectors from <style> blocks in views ============ */

/* Patient history header — was purple gradient */
.patient-header {
    background: linear-gradient(135deg, #04445b 0%, #052e39 100%) !important;
    color: #fff !important;
}

/* Vital signs header — was teal #148f77, normalize to system teal */
.vital-header {
    background: linear-gradient(135deg, #04445b 0%, #265361 100%) !important;
    color: #fff !important;
}

/* Allergy badge — keep semantic red */
.allergy-badge { background: #dc3545 !important; color: #fff !important; }

/* Generic page headers */
.page-header, .page-title {
    background: linear-gradient(135deg, #04445b 0%, #052e39 100%) !important;
    color: #fff !important;
}

/* ============ Inline gradient overrides (attribute selectors) ============ */

/* Purple gradients */
[style*="linear-gradient(135deg, #667eea"],
[style*="linear-gradient(135deg,#667eea"] {
    background: linear-gradient(135deg, #04445b 0%, #052e39 100%) !important;
}

/* Red header gradients (not danger semantic) */
[style*="linear-gradient(135deg, #e74c3c"],
[style*="linear-gradient(135deg, #c0392b"] {
    background: linear-gradient(135deg, #04445b 0%, #265361 100%) !important;
}

/* Dark slate gradients */
[style*="linear-gradient(135deg, #1a1a2e"],
[style*="linear-gradient(135deg, #0d1326"] {
    background: linear-gradient(135deg, #04445b 0%, #052e39 100%) !important;
}

/* Cyan gradients (info color) → teal */
[style*="linear-gradient(135deg, #17a2b8"] {
    background: linear-gradient(135deg, #59838c 0%, #2d606d 100%) !important;
}

/* Pink gradient → light teal */
[style*="linear-gradient(135deg, #f093fb"] {
    background: linear-gradient(135deg, #7aa4ac 0%, #59838c 100%) !important;
}

/* DC3545 gradient → teal */
[style*="linear-gradient(135deg, #dc3545"] {
    background: linear-gradient(135deg, #04445b 0%, #052e39 100%) !important;
}

/* Green gradient — keep semantic */
[style*="linear-gradient(135deg, #28a745"] { /* keep green */ }

/* Gray gradient — keep semantic secondary */
[style*="linear-gradient(135deg, #6c757d"] { /* keep gray */ }

/* ============ Inline hex color overrides (background) ============ */

/* Purple backgrounds → teal */
[style*="background: #667eea"], [style*="background:#667eea"],
[style*="background-color: #667eea"], [style*="background-color:#667eea"] {
    background: var(--clinicademo-primary) !important;
}
[style*="background: #764ba2"], [style*="background:#764ba2"],
[style*="background-color: #764ba2"], [style*="background-color:#764ba2"] {
    background: var(--clinicademo-primary-dark) !important;
}

/* Other purples → teal */
[style*="#8e44ad"] { background-color: var(--clinicademo-primary) !important; }
[style*="#6f42c1"] { background-color: var(--clinicademo-primary) !important; }
[style*="#9b59b6"] { background-color: var(--clinicademo-secondary) !important; }

/* Dark slate/blue backgrounds → teal */
[style*="background: #2c3e50"], [style*="background:#2c3e50"],
[style*="background-color: #2c3e50"], [style*="background-color:#2c3e50"] {
    background: var(--clinicademo-primary) !important;
}
[style*="#343a40"] { background-color: var(--clinicademo-primary-dark) !important; }

/* Cyan/blue backgrounds → teal secondary */
[style*="background: #17a2b8"], [style*="background:#17a2b8"],
[style*="background-color: #17a2b8"], [style*="background-color:#17a2b8"] {
    background: var(--clinicademo-secondary) !important;
}
[style*="#3498db"], [style*="#1e90ff"] { background-color: var(--clinicademo-secondary) !important; }
[style*="#138496"] { background-color: var(--clinicademo-secondary-dark) !important; }
[style*="#90caf9"] { background-color: var(--clinicademo-secondary-light) !important; }

/* Green-teal (#16a085) → teal primary */
[style*="#16a085"], [style*="#148f77"], [style*="#0c5460"], [style*="#64ffda"] {
    background-color: var(--clinicademo-primary) !important;
}

/* ============ Inline hex color overrides (text color) ============ */

[style*="color: #667eea"], [style*="color:#667eea"] { color: var(--clinicademo-primary) !important; }
[style*="color: #5a7ab5"], [style*="color:#5a7ab5"] { color: var(--clinicademo-secondary) !important; }
[style*="color: #2c3e50"], [style*="color:#2c3e50"] { color: var(--clinicademo-primary) !important; }
[style*="color: #8e44ad"], [style*="color:#8e44ad"] { color: var(--clinicademo-primary) !important; }
[style*="color: #6f42c1"], [style*="color:#6f42c1"] { color: var(--clinicademo-primary) !important; }
[style*="color: #9b59b6"], [style*="color:#9b59b6"] { color: var(--clinicademo-secondary) !important; }

/* ============ Inline hex color overrides (border) ============ */
[style*="border-color: #667eea"], [style*="border-color:#667eea"] { border-color: var(--clinicademo-primary) !important; }
[style*="border: 1px solid #667eea"], [style*="border:1px solid #667eea"] { border-color: var(--clinicademo-primary) !important; }
[style*="border-color: #5a7ab5"], [style*="border-color:#5a7ab5"] { border-color: var(--clinicademo-secondary) !important; }

/* ============ Semantic colors PRESERVED (danger, success, warning, gray) ============
 * #dc3545 danger red, #28a745 success green, #ffc107 warning yellow, #6c757d secondary gray
 * These are intentionally NOT overridden so error/success semantics remain clear.
 */
