/**
 * Color Theme Override - Brand Colors
 * Primary: #4285F4 (Google Blue)
 * Secondary: #FFC107 (Amber)
 * Tertiary: #4B0082 (Indigo)
 * Fourth: #B0B0B0 (Gray)
 */

:root {
  /* Brand Color Variables */
  --brand-primary: #4285F4;
  --brand-secondary: #FFC107;
  --brand-tertiary: #4B0082;
  --brand-fourth: #B0B0B0;
  
  /* Bootstrap Override Variables */
  --bs-primary: var(--brand-primary);
  --bs-secondary: var(--brand-secondary);
  --bs-success: var(--brand-primary);
  --bs-info: var(--brand-tertiary);
  --bs-warning: var(--brand-secondary);
  --bs-danger: var(--brand-tertiary);
  --bs-dark: var(--brand-tertiary);
  
  /* RGB Values */
  --bs-primary-rgb: 66, 133, 244;
  --bs-secondary-rgb: 255, 193, 7;
  --bs-success-rgb: 66, 133, 244;
  --bs-info-rgb: 75, 0, 130;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 75, 0, 130;
  --bs-dark-rgb: 75, 0, 130;
}

/* Global Color Overrides */
.text-primary { color: var(--brand-primary) !important; }
.text-secondary { color: var(--brand-secondary) !important; }
.text-info { color: var(--brand-tertiary) !important; }
.text-muted { color: var(--brand-fourth) !important; }

.bg-primary { background-color: var(--brand-primary) !important; }
.bg-secondary { background-color: var(--brand-secondary) !important; }
.bg-info { background-color: var(--brand-tertiary) !important; }
.bg-success { background-color: var(--brand-primary) !important; }
.bg-warning { background-color: var(--brand-secondary) !important; }
.bg-danger { background-color: var(--brand-tertiary) !important; }

.border-primary { border-color: var(--brand-primary) !important; }
.border-secondary { border-color: var(--brand-secondary) !important; }
.border-info { border-color: var(--brand-tertiary) !important; }

/* Button Overrides */
.btn-primary {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: white !important;
}

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

.btn-secondary {
  background-color: var(--brand-secondary) !important;
  border-color: var(--brand-secondary) !important;
  color: var(--brand-tertiary) !important;
}

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

.btn-outline-primary {
  color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

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

.btn-info {
  background-color: var(--brand-tertiary) !important;
  border-color: var(--brand-tertiary) !important;
}

.btn-success {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.btn-warning {
  background-color: var(--brand-secondary) !important;
  border-color: var(--brand-secondary) !important;
  color: var(--brand-tertiary) !important;
}

.btn-danger {
  background-color: var(--brand-tertiary) !important;
  border-color: var(--brand-tertiary) !important;
}

/* Badge Overrides */
.badge-primary,
.badge.bg-primary {
  background-color: var(--brand-primary) !important;
  color: white !important;
}

.badge-secondary,
.badge.bg-secondary {
  background-color: var(--brand-secondary) !important;
  color: var(--brand-tertiary) !important;
}

.badge-info,
.badge.bg-info {
  background-color: var(--brand-tertiary) !important;
  color: white !important;
}

.badge-success,
.badge.bg-success {
  background-color: var(--brand-primary) !important;
  color: white !important;
}

.badge-warning,
.badge.bg-warning {
  background-color: var(--brand-secondary) !important;
  color: var(--brand-tertiary) !important;
}

.badge-danger,
.badge.bg-danger {
  background-color: var(--brand-tertiary) !important;
  color: white !important;
}

/* Link Overrides */
a {
  color: var(--brand-primary);
}

a:hover {
  color: var(--brand-tertiary);
}

/* Form Controls */
.form-control:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 0.2rem rgba(66, 133, 244, 0.25);
}

.form-check-input:checked {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

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

.progress-bar-secondary {
  background-color: var(--brand-secondary) !important;
}

/* Alerts */
.alert-primary {
  background-color: rgba(66, 133, 244, 0.1);
  border-color: var(--brand-primary);
  color: var(--brand-primary);
}

.alert-secondary {
  background-color: rgba(255, 193, 7, 0.1);
  border-color: var(--brand-secondary);
  color: var(--brand-tertiary);
}

.alert-info {
  background-color: rgba(75, 0, 130, 0.1);
  border-color: var(--brand-tertiary);
  color: var(--brand-tertiary);
}

.alert-success {
  background-color: rgba(66, 133, 244, 0.1);
  border-color: var(--brand-primary);
  color: var(--brand-primary);
}

.alert-warning {
  background-color: rgba(255, 193, 7, 0.1);
  border-color: var(--brand-secondary);
  color: var(--brand-tertiary);
}

.alert-danger {
  background-color: rgba(75, 0, 130, 0.1);
  border-color: var(--brand-tertiary);
  color: var(--brand-tertiary);
}

/* Table Overrides */
.table-primary {
  background-color: rgba(66, 133, 244, 0.1);
}

.table-secondary {
  background-color: rgba(255, 193, 7, 0.1);
}

/* Navigation & Menu */
.navbar-brand {
  color: var(--brand-primary) !important;
}

.nav-link:hover,
.nav-link.active {
  color: var(--brand-primary) !important;
}

/* Dropdown */
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: rgba(66, 133, 244, 0.1);
  color: var(--brand-primary);
}

/* Modal */
.modal-header {
  background-color: var(--brand-primary);
  color: white;
}

.modal-header .btn-close {
  filter: invert(1);
}

/* Pagination */
.page-link {
  color: var(--brand-primary);
}

.page-link:hover {
  color: var(--brand-tertiary);
  background-color: rgba(66, 133, 244, 0.1);
}

.page-item.active .page-link {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

/* Breadcrumb */
.breadcrumb-item.active {
  color: var(--brand-tertiary);
}

/* List Group */
.list-group-item.active {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

/* Spinner */
.spinner-border-primary {
  color: var(--brand-primary);
}

/* Custom Menu Theme Overrides */
.layout-wrapper:not(.layout-horizontal) .bg-menu-theme .menu-inner > .menu-item.active:before {
  background: var(--brand-primary);
}

.bg-menu-theme .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle):before {
  background: var(--brand-primary);
}

/* Notification Overrides */
.dropdown-notifications-item:not(.mark-as-read) .dropdown-notifications-read span {
  background-color: var(--brand-primary);
}

/* Chart and Graph Colors */
.apex-chart .apexcharts-legend-text {
  color: var(--brand-tertiary) !important;
}

/* Status Labels Override */
.sticky-note-bg-primary,
.badge.bg-label-primary {
  background-color: rgba(66, 133, 244, 0.1) !important;
  color: var(--brand-primary) !important;
}

/* Card Header Override */
.card-header {
  background-color: rgba(66, 133, 244, 0.05);
  border-bottom: 1px solid rgba(66, 133, 244, 0.1);
}

/* Tab Override */
.nav-tabs .nav-link.active {
  color: var(--brand-primary);
  border-bottom-color: var(--brand-primary);
}

/* Accordion Override */
.accordion-button:not(.collapsed) {
  color: var(--brand-primary);
  background-color: rgba(66, 133, 244, 0.1);
}

/* Toast Override */
.toast-header {
  background-color: var(--brand-primary);
  color: white;
}

/* Tooltip Override */
.tooltip-inner {
  background-color: var(--brand-tertiary);
}

.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: var(--brand-tertiary);
}

.bs-tooltip-right .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  border-right-color: var(--brand-tertiary);
}

.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  border-bottom-color: var(--brand-tertiary);
}

.bs-tooltip-left .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  border-left-color: var(--brand-tertiary);
}

/* Text Colors for Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--brand-tertiary);
}

/* Override any remaining hardcoded colors */
.text-body[href]:hover {
  color: var(--brand-primary) !important;
}

/* Landing Page Specific Overrides */
.landing-header .navbar-brand-landing {
  color: var(--brand-primary) !important;
}

.btn-primary-landing {
  background: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.btn-primary-landing:hover {
  background: var(--brand-tertiary) !important;
  border-color: var(--brand-tertiary) !important;
}

.btn-outline-landing {
  color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.btn-outline-landing:hover {
  background: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

/* Ensure all interactive elements use brand colors */
.btn:not(.btn-light):not(.btn-outline-light) {
  transition: all 0.3s ease;
}

/* Final catch-all for any missed elements */
[class*="primary"] {
  --primary-color: var(--brand-primary);
}

[class*="secondary"] {
  --secondary-color: var(--brand-secondary);
}

[class*="info"] {
  --info-color: var(--brand-tertiary);
}

[class*="success"] {
  --success-color: var(--brand-primary);
}

[class*="warning"] {
  --warning-color: var(--brand-secondary);
}

[class*="danger"] {
  --danger-color: var(--brand-tertiary);
}