/*
 * Memorial Intelligence — Command Center Design System
 * Platform-wide premium overrides for dark & light modes.
 * Loaded last so it wins over Bootstrap and base custom.css.
 */

/* ═══════════════════════════════════════
   DARK MODE — default
═══════════════════════════════════════ */
:root,
[data-bs-theme="dark"],
[data-theme="dark"] {
  --cc-bg:          #0D0D0D;
  --cc-surface:     #111317;
  --cc-surface2:    #16191f;
  --cc-border:      rgba(200,169,106,0.22);
  --cc-border-sub:  rgba(200,169,106,0.10);
  --cc-gold:        #C8A96A;
  --cc-gold-dim:    rgba(200,169,106,0.12);
  --cc-gold-text:   rgba(200,169,106,0.85);
  --cc-text:        #E8E4DC;
  --cc-text-muted:  rgba(232,228,220,0.5);
  --cc-hover-row:   rgba(200,169,106,0.06);
  --cc-danger:      #c0392b;
  --cc-success:     #27ae60;
  --cc-info:        #2980b9;
  --cc-warning:     #d68910;
}

/* ═══════════════════════════════════════
   LIGHT MODE
═══════════════════════════════════════ */
[data-bs-theme="light"],
[data-theme="light"] {
  --cc-bg:          #F0EBE0;
  --cc-surface:     #FAFAF7;
  --cc-surface2:    #F5F0E8;
  --cc-border:      rgba(139,108,58,0.28);
  --cc-border-sub:  rgba(139,108,58,0.12);
  --cc-gold:        #8B6C3A;
  --cc-gold-dim:    rgba(139,108,58,0.08);
  --cc-gold-text:   #7A5C2A;
  --cc-text:        #1A1612;
  --cc-text-muted:  rgba(26,22,18,0.55);
  --cc-hover-row:   rgba(139,108,58,0.07);
  --cc-danger:      #922b21;
  --cc-success:     #1e8449;
  --cc-info:        #1a5276;
  --cc-warning:     #9a6700;
}


/* ═══════════════════════════════════════
   BODY / PAGE SHELL
═══════════════════════════════════════ */
body {
  background: var(--cc-bg) !important;
  color: var(--cc-text) !important;
}

/* Main content area */
#main-content,
.main-content,
.content-wrapper {
  background: var(--cc-bg);
}


/* ═══════════════════════════════════════
   PAGE HEADINGS
═══════════════════════════════════════ */
.display-6 {
  font-weight: 800;
  color: var(--cc-text) !important;
  letter-spacing: -.01em;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--cc-text);
}

/* Section/card header headings get gold accent */
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6,
.card-header .h5,
.card-header .h4 {
  color: var(--cc-gold) !important;
  margin-bottom: 0;
}

/* Breadcrumbs */
.breadcrumb {
  background: transparent;
  padding: 0;
  margin-bottom: 12px;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--cc-text-muted);
}
.breadcrumb-item.active { color: var(--cc-text-muted); }
.breadcrumb-item a {
  color: var(--cc-gold);
  text-decoration: none;
}
.breadcrumb-item a:hover { color: var(--cc-gold); opacity: .8; }


/* ═══════════════════════════════════════
   CARDS
═══════════════════════════════════════ */
.card {
  background: var(--cc-surface) !important;
  border: 1px solid var(--cc-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.18);
}

.card-header {
  background: var(--cc-gold-dim) !important;
  border-bottom: 1px solid var(--cc-border) !important;
  padding: 14px 18px;
  font-weight: 700;
  border-radius: 9px 9px 0 0 !important;
}

.card-footer {
  background: var(--cc-gold-dim) !important;
  border-top: 1px solid var(--cc-border) !important;
  border-radius: 0 0 9px 9px !important;
}

.card-body { color: var(--cc-text); }

/* Nested cards (inside a card) */
.card .card {
  background: var(--cc-surface2) !important;
  border-color: var(--cc-border-sub) !important;
  box-shadow: none;
}

/* Hover cards */
.hover-card:hover,
.card.clickable:hover {
  border-color: var(--cc-gold) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
  transition: all .15s;
}


/* ═══════════════════════════════════════
   TABLES
═══════════════════════════════════════ */
.table {
  --bs-table-bg: transparent;
  --bs-table-striped-bg: var(--cc-border-sub);
  --bs-table-hover-bg: var(--cc-hover-row);
  color: var(--cc-text) !important;
  border-color: var(--cc-border-sub) !important;
  margin-bottom: 0;
}

.table thead th,
.table > thead > tr > th {
  background: var(--cc-surface2) !important;
  color: var(--cc-gold-text) !important;
  border-bottom: 1px solid var(--cc-border) !important;
  border-top: none !important;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 10px 14px;
  white-space: nowrap;
}

.table tbody td,
.table > tbody > tr > td {
  border-color: var(--cc-border-sub) !important;
  padding: 10px 14px;
  vertical-align: middle;
  color: var(--cc-text);
}

.table tbody tr:hover td {
  background: var(--cc-hover-row) !important;
}

.table tbody tr:last-child td {
  border-bottom: none !important;
}

/* Table-responsive wrapper */
.table-responsive {
  border-radius: 0 0 8px 8px;
}

/* Striped */
.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: var(--cc-border-sub) !important;
  color: var(--cc-text) !important;
}


/* ═══════════════════════════════════════
   FORMS & INPUTS
═══════════════════════════════════════ */
.form-control,
.form-select {
  background: var(--cc-surface) !important;
  border-color: var(--cc-border) !important;
  color: var(--cc-text) !important;
  border-radius: 7px;
  transition: border-color .15s, box-shadow .15s;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--cc-gold) !important;
  box-shadow: 0 0 0 3px rgba(200,169,106,.18) !important;
  background: var(--cc-surface2) !important;
  color: var(--cc-text) !important;
}

.form-control::placeholder { color: var(--cc-text-muted) !important; }

.form-label {
  color: var(--cc-text-muted);
  font-size: .82rem;
  font-weight: 600;
  margin-bottom: 5px;
}

.form-check-input {
  background-color: var(--cc-surface) !important;
  border-color: var(--cc-border) !important;
}
.form-check-input:checked {
  background-color: var(--cc-gold) !important;
  border-color: var(--cc-gold) !important;
}
.form-check-label { color: var(--cc-text); }

.input-group-text {
  background: var(--cc-surface2) !important;
  border-color: var(--cc-border) !important;
  color: var(--cc-text-muted) !important;
}

/* Form section headings */
.form-section-title {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cc-gold);
  margin-bottom: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--cc-border);
}


/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.btn-primary,
.btn-warning {
  background: var(--cc-gold) !important;
  border-color: var(--cc-gold) !important;
  color: #0D0D0D !important;
  font-weight: 700;
}
.btn-primary:hover,
.btn-warning:hover {
  background: #dab96e !important;
  border-color: #dab96e !important;
  color: #000 !important;
}

.btn-outline-primary,
.btn-outline-warning {
  border-color: var(--cc-gold) !important;
  color: var(--cc-gold) !important;
}
.btn-outline-primary:hover,
.btn-outline-warning:hover {
  background: var(--cc-gold) !important;
  color: #0D0D0D !important;
}

.btn-outline-secondary {
  border-color: var(--cc-border) !important;
  color: var(--cc-text-muted) !important;
}
.btn-outline-secondary:hover {
  background: var(--cc-gold-dim) !important;
  border-color: var(--cc-gold) !important;
  color: var(--cc-gold) !important;
}

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

.btn-success {
  background: var(--cc-success) !important;
  border-color: var(--cc-success) !important;
  color: #fff !important;
}

/* All buttons — consistent radius */
.btn { border-radius: 7px !important; }
.btn-sm { border-radius: 5px !important; }
.btn-lg { border-radius: 9px !important; }


/* ═══════════════════════════════════════
   BADGES
═══════════════════════════════════════ */
.badge {
  font-weight: 700;
  letter-spacing: .03em;
  border-radius: 6px;
  padding: 4px 8px;
}


/* ═══════════════════════════════════════
   ALERTS
═══════════════════════════════════════ */
.alert {
  border-radius: 9px;
  border-left-width: 4px;
  border-top: none;
  border-right: none;
  border-bottom: none;
  background: var(--cc-surface) !important;
  color: var(--cc-text) !important;
}
.alert-success  { border-color: var(--cc-success) !important; background: rgba(39,174,96,.08) !important; }
.alert-danger   { border-color: var(--cc-danger)  !important; background: rgba(192,57,43,.08)  !important; }
.alert-warning  { border-color: var(--cc-gold)    !important; background: var(--cc-gold-dim)   !important; }
.alert-info     { border-color: var(--cc-info)    !important; background: rgba(41,128,185,.08) !important; }
.alert .alert-link { color: var(--cc-gold); }


/* ═══════════════════════════════════════
   MODALS
═══════════════════════════════════════ */
.modal-content {
  background: var(--cc-surface) !important;
  border: 1px solid var(--cc-border) !important;
  border-radius: 12px;
  color: var(--cc-text);
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

.modal-header {
  background: var(--cc-gold-dim) !important;
  border-bottom: 1px solid var(--cc-border) !important;
  border-radius: 11px 11px 0 0;
  padding: 16px 20px;
}

.modal-title { color: var(--cc-gold) !important; font-weight: 700; }

.modal-footer {
  border-top: 1px solid var(--cc-border) !important;
  background: var(--cc-gold-dim) !important;
  border-radius: 0 0 11px 11px;
}

.modal-backdrop { background: #000 !important; }


/* ═══════════════════════════════════════
   DROPDOWNS
═══════════════════════════════════════ */
.dropdown-menu {
  background: var(--cc-surface) !important;
  border: 1px solid var(--cc-border) !important;
  border-radius: 9px;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
  padding: 6px;
}
.dropdown-item {
  color: var(--cc-text) !important;
  border-radius: 6px;
  padding: 7px 12px;
  font-size: .85rem;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background: var(--cc-gold-dim) !important;
  color: var(--cc-gold) !important;
}
.dropdown-divider { border-color: var(--cc-border) !important; }
.dropdown-header { color: var(--cc-gold-text) !important; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }


/* ═══════════════════════════════════════
   NAV TABS
═══════════════════════════════════════ */
.nav-tabs {
  border-bottom: 1px solid var(--cc-border) !important;
}
.nav-tabs .nav-link {
  color: var(--cc-text-muted) !important;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 10px 16px;
  font-size: .83rem;
  font-weight: 600;
  transition: .15s;
}
.nav-tabs .nav-link:hover {
  color: var(--cc-gold) !important;
  border-bottom-color: rgba(200,169,106,.3);
}
.nav-tabs .nav-link.active {
  color: var(--cc-gold) !important;
  background: transparent !important;
  border-bottom: 2px solid var(--cc-gold) !important;
}

/* Pills */
.nav-pills .nav-link {
  color: var(--cc-text-muted) !important;
  border-radius: 7px;
}
.nav-pills .nav-link.active {
  background: var(--cc-gold) !important;
  color: #0D0D0D !important;
  font-weight: 700;
}
.nav-pills .nav-link:hover:not(.active) {
  background: var(--cc-gold-dim) !important;
  color: var(--cc-gold) !important;
}


/* ═══════════════════════════════════════
   LIST GROUPS
═══════════════════════════════════════ */
.list-group-item {
  background: var(--cc-surface) !important;
  border-color: var(--cc-border) !important;
  color: var(--cc-text) !important;
}
.list-group-item.active {
  background: var(--cc-gold-dim) !important;
  border-color: var(--cc-gold) !important;
  color: var(--cc-gold) !important;
}
.list-group-item:hover:not(.active) {
  background: var(--cc-surface2) !important;
}
.list-group-item-action { cursor: pointer; }


/* ═══════════════════════════════════════
   PAGINATION
═══════════════════════════════════════ */
.page-link {
  background: var(--cc-surface) !important;
  border-color: var(--cc-border) !important;
  color: var(--cc-text) !important;
}
.page-link:hover {
  background: var(--cc-gold-dim) !important;
  color: var(--cc-gold) !important;
}
.page-item.active .page-link {
  background: var(--cc-gold) !important;
  border-color: var(--cc-gold) !important;
  color: #0D0D0D !important;
  font-weight: 700;
}
.page-item.disabled .page-link { opacity: .35; }


/* ═══════════════════════════════════════
   PROGRESS BARS
═══════════════════════════════════════ */
.progress {
  background: var(--cc-surface2) !important;
  border-radius: 6px;
  height: 8px;
}
.progress-bar {
  background: var(--cc-gold) !important;
  border-radius: 6px;
}


/* ═══════════════════════════════════════
   ACCORDIONS
═══════════════════════════════════════ */
.accordion-item {
  background: var(--cc-surface) !important;
  border-color: var(--cc-border) !important;
}
.accordion-button {
  background: var(--cc-surface2) !important;
  color: var(--cc-text) !important;
  font-weight: 600;
  box-shadow: none !important;
}
.accordion-button:not(.collapsed) {
  background: var(--cc-gold-dim) !important;
  color: var(--cc-gold) !important;
  border-bottom: 1px solid var(--cc-border);
}
.accordion-button::after {
  filter: brightness(0) saturate(100%) invert(75%) sepia(20%) saturate(600%) hue-rotate(8deg) brightness(95%) contrast(85%);
}
.accordion-body {
  background: var(--cc-surface) !important;
  color: var(--cc-text);
  border-top: 1px solid var(--cc-border-sub);
}


/* ═══════════════════════════════════════
   OFFCANVAS
═══════════════════════════════════════ */
.offcanvas {
  background: var(--cc-surface) !important;
  border-color: var(--cc-border) !important;
  color: var(--cc-text);
}
.offcanvas-header {
  border-bottom: 1px solid var(--cc-border);
  background: var(--cc-gold-dim);
}
.offcanvas-title { color: var(--cc-gold) !important; font-weight: 700; }
.btn-close { filter: invert(1) sepia(1) saturate(2) hue-rotate(5deg); opacity: .6; }
.btn-close:hover { opacity: 1; }


/* ═══════════════════════════════════════
   TOOLTIPS & POPOVERS
═══════════════════════════════════════ */
.tooltip-inner {
  background: #1a1d22;
  border: 1px solid var(--cc-border);
  color: var(--cc-text);
  font-size: .78rem;
  border-radius: 6px;
  padding: 5px 10px;
}
.popover {
  background: var(--cc-surface) !important;
  border: 1px solid var(--cc-border) !important;
  border-radius: 10px;
}
.popover-header {
  background: var(--cc-gold-dim) !important;
  color: var(--cc-gold) !important;
  border-bottom: 1px solid var(--cc-border) !important;
  font-weight: 700;
}
.popover-body { color: var(--cc-text) !important; }


/* ═══════════════════════════════════════
   STAT / METRIC CARDS
═══════════════════════════════════════ */
.stat-card,
.metric-card,
.kpi-card {
  background: var(--cc-surface) !important;
  border: 1px solid var(--cc-border) !important;
  border-radius: 10px;
  padding: 18px 20px;
}
.stat-card .stat-value,
.metric-card .metric-value {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--cc-gold);
  line-height: 1;
}
.stat-card .stat-label,
.metric-card .metric-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--cc-text-muted);
  margin-top: 4px;
}


/* ═══════════════════════════════════════
   SECTION DIVIDERS
═══════════════════════════════════════ */
hr {
  border-color: var(--cc-border) !important;
  opacity: 1;
}

/* Text muted */
.text-muted { color: var(--cc-text-muted) !important; }


/* ═══════════════════════════════════════
   SCROLLBARS (webkit)
═══════════════════════════════════════ */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--cc-bg); }
::-webkit-scrollbar-thumb { background: rgba(200,169,106,0.25); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(200,169,106,0.45); }


/* ═══════════════════════════════════════
   LIGHT MODE OVERRIDES
   (specific fixes for when light mode
   inherits wrong dark-mode colors)
═══════════════════════════════════════ */
[data-bs-theme="light"] body,
[data-theme="light"] body {
  background: #F0EBE0 !important;
  color: #1A1612 !important;
}

[data-bs-theme="light"] .card,
[data-theme="light"] .card {
  background: #FAFAF7 !important;
  border-color: rgba(139,108,58,0.28) !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.07);
}

[data-bs-theme="light"] .card-header,
[data-theme="light"] .card-header {
  background: rgba(139,108,58,0.08) !important;
  border-color: rgba(139,108,58,0.2) !important;
}

[data-bs-theme="light"] .table thead th,
[data-theme="light"] .table thead th {
  background: #F0EBE0 !important;
  color: #7A5C2A !important;
  border-bottom-color: rgba(139,108,58,0.3) !important;
}

[data-bs-theme="light"] .table tbody td,
[data-theme="light"] .table tbody td {
  border-color: rgba(139,108,58,0.12) !important;
  color: #1A1612 !important;
}

[data-bs-theme="light"] .table tbody tr:hover td,
[data-theme="light"] .table tbody tr:hover td {
  background: rgba(139,108,58,0.07) !important;
}

[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select,
[data-theme="light"] .form-control,
[data-theme="light"] .form-select {
  background: #FFFFFF !important;
  border-color: rgba(139,108,58,0.28) !important;
  color: #1A1612 !important;
}

[data-bs-theme="light"] .modal-content,
[data-theme="light"] .modal-content {
  background: #FAFAF7 !important;
  border-color: rgba(139,108,58,0.28) !important;
}

[data-bs-theme="light"] .dropdown-menu,
[data-theme="light"] .dropdown-menu {
  background: #FAFAF7 !important;
  border-color: rgba(139,108,58,0.28) !important;
}

[data-bs-theme="light"] .dropdown-item,
[data-theme="light"] .dropdown-item {
  color: #1A1612 !important;
}

[data-bs-theme="light"] .dropdown-item:hover,
[data-theme="light"] .dropdown-item:hover {
  background: rgba(139,108,58,0.08) !important;
  color: #7A5C2A !important;
}

[data-bs-theme="light"] .alert,
[data-theme="light"] .alert {
  background: #FAFAF7 !important;
  color: #1A1612 !important;
}

[data-bs-theme="light"] .nav-tabs .nav-link.active,
[data-theme="light"] .nav-tabs .nav-link.active {
  color: #7A5C2A !important;
  border-bottom-color: #7A5C2A !important;
}

[data-bs-theme="light"] .btn-primary,
[data-theme="light"] .btn-primary {
  background: #8B6C3A !important;
  border-color: #8B6C3A !important;
  color: #FFFFFF !important;
}

[data-bs-theme="light"] .btn-primary:hover,
[data-theme="light"] .btn-primary:hover {
  background: #7A5C2A !important;
}

[data-bs-theme="light"] .list-group-item,
[data-theme="light"] .list-group-item {
  background: #FAFAF7 !important;
  border-color: rgba(139,108,58,0.2) !important;
  color: #1A1612 !important;
}

[data-bs-theme="light"] hr,
[data-theme="light"] hr { border-color: rgba(139,108,58,0.2) !important; }

[data-bs-theme="light"] .text-muted,
[data-theme="light"] .text-muted { color: rgba(26,22,18,0.55) !important; }
