/*
 * Royal Harmony Healthcare Platform Color Scheme
 * Primary Color: #3D1687 (Deep Violet)
 * Secondary Color: #9C7BBF (Rich Lavender)  
 * Accent Color: #6C7A89 (Slate Gray)
 * Background: #F2F4F7 (Light Gray-Blue)
 * Text: #1E293B (Near Black)
 * Success: #28A745 (Forest Green)
 * Warning: #E0A800 (Dark Amber Yellow)
 * Error: #C70039 (Ruby Red)
 * Info: #17A2B8 (Ocean Blue)
 */

:root {
  /* Royal Harmony Core Colors */
  --rh-primary: #3D1687;
  --rh-primary-hover: #4A1AA3;
  --rh-primary-light: #6C42C1;
  --rh-secondary: #9C7BBF;
  --rh-secondary-hover: #8A69AD;
  --rh-accent: #6C7A89;
  --rh-accent-hover: #5A6775;
  --rh-background: #F2F4F7;
  --rh-text: #1E293B;
  --rh-text-light: #64748B;
  
  /* Semantic Colors */
  --rh-success: #28A745;
  --rh-success-light: #D4EDDA;
  --rh-warning: #E0A800;
  --rh-warning-light: #FFF3CD;
  --rh-error: #C70039;
  --rh-error-light: #F8D7DA;
  --rh-info: #17A2B8;
  --rh-info-light: #D1ECF1;
  
  /* Neutral Colors */
  --rh-white: #FFFFFF;
  --rh-light: #F8FAFC;
  --rh-dark: #334155;
  --rh-border: #E2E8F0;
}

/* Bootstrap Theme Color Overrides */
.btn-primary, .bg-primary {
  background-color: var(--rh-primary) !important;
  border-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: var(--rh-primary-hover) !important;
  border-color: var(--rh-primary-hover) !important;
  color: var(--rh-white) !important;
}

.btn-secondary, .bg-secondary {
  background-color: var(--rh-secondary) !important;
  border-color: var(--rh-secondary) !important;
  color: var(--rh-white) !important;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
  background-color: var(--rh-secondary-hover) !important;
  border-color: var(--rh-secondary-hover) !important;
  color: var(--rh-white) !important;
}

.btn-success, .bg-success {
  background-color: var(--rh-success) !important;
  border-color: var(--rh-success) !important;
  color: var(--rh-white) !important;
}

.btn-warning, .bg-warning {
  background-color: var(--rh-warning) !important;
  border-color: var(--rh-warning) !important;
  color: var(--rh-text) !important;
}

.btn-danger, .bg-danger {
  background-color: var(--rh-error) !important;
  border-color: var(--rh-error) !important;
  color: var(--rh-white) !important;
}

.btn-info, .bg-info {
  background-color: var(--rh-info) !important;
  border-color: var(--rh-info) !important;
  color: var(--rh-white) !important;
}

/* Text Colors */
.text-primary {
  color: var(--rh-primary) !important;
}

.text-secondary {
  color: var(--rh-secondary) !important;
}

.text-success {
  color: var(--rh-success) !important;
}

.text-warning {
  color: var(--rh-warning) !important;
}

.text-danger {
  color: var(--rh-error) !important;
}

.text-info {
  color: var(--rh-info) !important;
}

/* Badge Colors */
.badge-primary {
  background-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
}

.badge-secondary {
  background-color: var(--rh-secondary) !important;
  color: var(--rh-white) !important;
}

.badge-success {
  background-color: var(--rh-success) !important;
  color: var(--rh-white) !important;
}

.badge-warning {
  background-color: var(--rh-warning) !important;
  color: var(--rh-text) !important;
}

.badge-danger {
  background-color: var(--rh-error) !important;
  color: var(--rh-white) !important;
}

.badge-info {
  background-color: var(--rh-info) !important;
  color: var(--rh-white) !important;
}

/* Alert Colors */
.alert-primary {
  background-color: rgba(61, 22, 135, 0.1) !important;
  border-color: var(--rh-primary) !important;
  color: var(--rh-primary) !important;
}

.alert-secondary {
  background-color: rgba(156, 123, 191, 0.1) !important;
  border-color: var(--rh-secondary) !important;
  color: var(--rh-secondary) !important;
}

.alert-success {
  background-color: var(--rh-success-light) !important;
  border-color: var(--rh-success) !important;
  color: #155724 !important;
}

.alert-warning {
  background-color: var(--rh-warning-light) !important;
  border-color: var(--rh-warning) !important;
  color: #856404 !important;
}

.alert-danger {
  background-color: var(--rh-error-light) !important;
  border-color: var(--rh-error) !important;
  color: #721c24 !important;
}

.alert-info {
  background-color: var(--rh-info-light) !important;
  border-color: var(--rh-info) !important;
  color: #0c5460 !important;
}

/* General Body and Layout */
body {
  background-color: var(--rh-background) !important;
  color: var(--rh-text) !important;
}

/* Cards */
.card {
  border-color: var(--rh-border) !important;
  background-color: var(--rh-white) !important;
}

.card-header {
  background-color: var(--rh-light) !important;
  border-bottom-color: var(--rh-border) !important;
  color: var(--rh-text) !important;
}

/* Tables */
.table {
  color: var(--rh-text) !important;
}

.table th {
  background-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
  border-color: var(--rh-border) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(61, 22, 135, 0.05) !important;
}

.table-hover tbody tr:hover {
  background-color: rgba(61, 22, 135, 0.08) !important;
}

/* Forms */
.form-control {
  border-color: var(--rh-border) !important;
  color: var(--rh-text) !important;
}

.form-control:focus {
  border-color: var(--rh-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(61, 22, 135, 0.25) !important;
}

/* Navigation */
.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
  color: var(--rh-text) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  color: var(--rh-primary) !important;
}

/* AdminLTE Specific Overrides */
.main-header .navbar {
  background-color: var(--rh-white) !important;
  border-bottom: 1px solid var(--rh-border) !important;
}

.main-sidebar {
  background-color: var(--rh-text) !important;
}

.nav-sidebar .nav-link {
  color: rgba(255, 255, 255, 0.9) !important;
}

.nav-sidebar .nav-link:hover {
  background-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
}

.nav-sidebar .nav-link.active {
  background-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
}

.content-wrapper {
  background-color: var(--rh-background) !important;
}

/* Custom Healthcare Specific Classes */
.royal-harmony-primary {
  background-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
}

.royal-harmony-secondary {
  background-color: var(--rh-secondary) !important;
  color: var(--rh-white) !important;
}

.royal-harmony-accent {
  background-color: var(--rh-accent) !important;
  color: var(--rh-white) !important;
}

.royal-harmony-gradient {
  background: linear-gradient(135deg, var(--rh-primary), var(--rh-secondary)) !important;
  color: var(--rh-white) !important;
}

/* Status Indicators for Healthcare */
.status-active {
  background-color: var(--rh-success) !important;
  color: var(--rh-white) !important;
}

.status-pending {
  background-color: var(--rh-warning) !important;
  color: var(--rh-text) !important;
}

.status-cancelled {
  background-color: var(--rh-error) !important;
  color: var(--rh-white) !important;
}

.status-completed {
  background-color: var(--rh-info) !important;
  color: var(--rh-white) !important;
}

/* Pagination */
.page-link {
  color: var(--rh-primary) !important;
  border-color: var(--rh-border) !important;
}

.page-link:hover {
  color: var(--rh-primary-hover) !important;
  background-color: var(--rh-light) !important;
  border-color: var(--rh-primary) !important;
}

.page-item.active .page-link {
  background-color: var(--rh-primary) !important;
  border-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
}

/* Modal */
.modal-header {
  background-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
  border-bottom-color: var(--rh-border) !important;
}

.modal-header .close {
  color: var(--rh-white) !important;
  text-shadow: none !important;
}

/* Breadcrumb */
.breadcrumb {
  background-color: var(--rh-light) !important;
}

.breadcrumb-item.active {
  color: var(--rh-primary) !important;
}

/* Dropdown */
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--rh-light) !important;
  color: var(--rh-primary) !important;
}

/* Progress bars */
.progress-bar {
  background-color: var(--rh-primary) !important;
}

.progress-bar-success {
  background-color: var(--rh-success) !important;
}

.progress-bar-warning {
  background-color: var(--rh-warning) !important;
}

.progress-bar-danger {
  background-color: var(--rh-error) !important;
}

.progress-bar-info {
  background-color: var(--rh-info) !important;
}

/* Custom button variants for healthcare workflow */
.btn-appointment {
  background-color: var(--rh-primary) !important;
  border-color: var(--rh-primary) !important;
  color: var(--rh-white) !important;
}

.btn-patient {
  background-color: var(--rh-info) !important;
  border-color: var(--rh-info) !important;
  color: var(--rh-white) !important;
}

.btn-doctor {
  background-color: var(--rh-secondary) !important;
  border-color: var(--rh-secondary) !important;
  color: var(--rh-white) !important;
}

.btn-medical {
  background-color: var(--rh-accent) !important;
  border-color: var(--rh-accent) !important;
  color: var(--rh-white) !important;
}

/* Responsive design considerations */
@media (max-width: 768px) {
  .royal-harmony-gradient {
    background: var(--rh-primary) !important;
  }
}

/* Print styles */
@media print {
  .royal-harmony-primary,
  .btn-primary,
  .bg-primary {
    background-color: #6c757d !important;
    color: #000 !important;
  }
} 