/**
 * IMME ecosystem colour system — overrides Metronic/Bootstrap after style.bundle.css
 * Master palette (immercial.co.uk aligned)
 */
:root,
[data-theme="light"],
html {
  /* Master tokens */
  --imme-green: #9AFF9A;
  --imme-gold: #C5A762;
  --imme-charcoal: #333333;
  --imme-white: #FFFFFF;
  --imme-grey: #D5DDE5;
  --imme-link: #2ea3f2; /* immercial.co.uk link blue */
  --imme-danger: #B42318;

  --imme-green-rgb: 154, 255, 154;
  --imme-gold-rgb: 197, 167, 98;
  --imme-charcoal-rgb: 51, 51, 51;
  --imme-grey-rgb: 213, 221, 229;
  --imme-link-rgb: 46, 163, 242;
  --imme-danger-rgb: 180, 35, 24;

  /* Soft surfaces derived from master colours */
  --imme-green-soft: #e8ffe8;
  --imme-gold-soft: #f5efdf;
  --imme-danger-soft: #f8e8e6;
  --imme-grey-soft: #eef2f6;

  /* Bootstrap semantic remap */
  --bs-primary: var(--imme-green);
  --bs-primary-rgb: var(--imme-green-rgb);
  --bs-success: var(--imme-green);
  --bs-success-rgb: var(--imme-green-rgb);
  --bs-warning: var(--imme-gold);
  --bs-warning-rgb: var(--imme-gold-rgb);
  --bs-danger: var(--imme-danger);
  --bs-danger-rgb: var(--imme-danger-rgb);
  --bs-info: var(--imme-gold);
  --bs-info-rgb: var(--imme-gold-rgb);
  --bs-dark: var(--imme-charcoal);
  --bs-dark-rgb: var(--imme-charcoal-rgb);
  --bs-secondary: var(--imme-grey);
  --bs-secondary-rgb: var(--imme-grey-rgb);
  --bs-black: var(--imme-charcoal);
  --bs-body-color: var(--imme-charcoal);
  --bs-body-color-rgb: var(--imme-charcoal-rgb);
  --bs-link-color: var(--imme-link);
  --bs-link-hover-color: #1a8ad6;
  --bs-border-color: var(--imme-grey);
  --bs-gray-200: var(--imme-grey);
  --bs-gray-300: var(--imme-grey);
  --bs-gray-900: var(--imme-charcoal);

  /* Metronic kt tokens */
  --kt-primary: var(--imme-green);
  --kt-primary-active: #7ae87a;
  --kt-primary-light: var(--imme-green-soft);
  --kt-primary-inverse: var(--imme-charcoal);
  --kt-primary-clarity: rgba(154, 255, 154, 0.2);
  --kt-success: var(--imme-green);
  --kt-success-active: #7ae87a;
  --kt-success-light: var(--imme-green-soft);
  --kt-success-inverse: var(--imme-charcoal);
  --kt-success-clarity: rgba(154, 255, 154, 0.2);
  --kt-warning: var(--imme-gold);
  --kt-warning-active: #b3944f;
  --kt-warning-light: var(--imme-gold-soft);
  --kt-warning-inverse: var(--imme-charcoal);
  --kt-warning-clarity: rgba(197, 167, 98, 0.22);
  --kt-danger: var(--imme-danger);
  --kt-danger-active: #912018;
  --kt-danger-light: var(--imme-danger-soft);
  --kt-danger-inverse: var(--imme-white);
  --kt-danger-clarity: rgba(180, 35, 24, 0.15);
  --kt-info: var(--imme-gold);
  --kt-info-active: #b3944f;
  --kt-info-light: var(--imme-gold-soft);
  --kt-info-inverse: var(--imme-charcoal);
  --kt-info-clarity: rgba(197, 167, 98, 0.22);
  --kt-dark: var(--imme-charcoal);
  --kt-dark-inverse: var(--imme-white);
  --kt-text-primary: var(--imme-charcoal);
  --kt-text-dark: var(--imme-charcoal);
  --kt-gray-900: var(--imme-charcoal);
  --kt-border-color: var(--imme-grey);
  --kt-component-hover-bg: var(--imme-grey-soft);
  --kt-component-active-bg: var(--imme-green);
  --kt-component-active-color: var(--imme-charcoal);
  --kt-primary-rgb: var(--imme-green-rgb);
  --kt-success-rgb: var(--imme-green-rgb);
  --kt-warning-rgb: var(--imme-gold-rgb);
  --kt-danger-rgb: var(--imme-danger-rgb);
  --kt-info-rgb: var(--imme-gold-rgb);
}

/* -------------------------------------------------------------------------- */
/* Buttons — charcoal text on green/gold; white on danger only                */
/* -------------------------------------------------------------------------- */
.btn-primary,
.btn-success,
.btn-check:checked + .btn-primary,
.btn-check:checked + .btn-success {
  background-color: var(--imme-green) !important;
  border-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
  background-color: #7ae87a !important;
  border-color: #7ae87a !important;
  color: var(--imme-charcoal) !important;
}

.btn-warning,
.btn-info,
.btn-check:checked + .btn-warning,
.btn-check:checked + .btn-info {
  background-color: var(--imme-gold) !important;
  border-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active {
  background-color: #b3944f !important;
  border-color: #b3944f !important;
  color: var(--imme-charcoal) !important;
}

.btn-danger {
  background-color: var(--imme-danger) !important;
  border-color: var(--imme-danger) !important;
  color: var(--imme-white) !important;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active {
  background-color: #912018 !important;
  border-color: #912018 !important;
  color: var(--imme-white) !important;
}

.btn-secondary,
.btn-light {
  background-color: var(--imme-grey) !important;
  border-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}

.btn-outline-primary,
.btn-outline-success {
  color: var(--imme-charcoal) !important;
  border-color: var(--imme-green) !important;
  background-color: transparent !important;
}
.btn-outline-primary:hover,
.btn-outline-success:hover {
  background-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}

.btn-outline-warning,
.btn-outline-info {
  color: var(--imme-charcoal) !important;
  border-color: var(--imme-gold) !important;
}
.btn-outline-warning:hover,
.btn-outline-info:hover {
  background-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}

.btn-outline-danger {
  color: var(--imme-danger) !important;
  border-color: var(--imme-danger) !important;
}
.btn-outline-danger:hover {
  background-color: var(--imme-danger) !important;
  color: var(--imme-white) !important;
}

/* Soft / light Metronic buttons */
.btn-light-primary,
.btn-light-success {
  background-color: var(--imme-green-soft) !important;
  color: var(--imme-charcoal) !important;
  border-color: transparent !important;
}
.btn-light-warning,
.btn-light-info {
  background-color: var(--imme-gold-soft) !important;
  color: var(--imme-charcoal) !important;
  border-color: transparent !important;
}
.btn-light-danger {
  background-color: var(--imme-danger-soft) !important;
  color: var(--imme-danger) !important;
  border-color: transparent !important;
}

/* Icon buttons with bg helpers */
.btn-bg-primary,
.btn-bg-success {
  background-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}
.btn-bg-primary i,
.btn-bg-success i,
.btn-bg-warning i,
.btn-bg-info i {
  color: var(--imme-charcoal) !important;
}
.btn-bg-warning,
.btn-bg-info {
  background-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}
.btn-bg-danger {
  background-color: var(--imme-danger) !important;
  color: var(--imme-white) !important;
}
.btn-bg-danger i {
  color: var(--imme-white) !important;
}

/* Former purple “P” / pink project controls → Gold */
.btn-pink {
  background-color: var(--imme-gold) !important;
  border-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}
.btn-pink:hover,
.btn-pink:focus,
.btn-pink:active {
  background-color: #b3944f !important;
  border-color: #b3944f !important;
  color: var(--imme-charcoal) !important;
}
.bg-light-pink {
  background-color: var(--imme-gold-soft) !important;
}

/* -------------------------------------------------------------------------- */
/* Links — Link Blue only for real hyperlinks (never filled buttons)          */
/* -------------------------------------------------------------------------- */
a:not(.btn):not(.nav-link):not(.menu-link):not(.page-link):not(.dropdown-item):not(.breadcrumb-item a) {
  color: var(--imme-link);
}
a:not(.btn):not(.nav-link):not(.menu-link):not(.page-link):hover {
  color: var(--bs-link-hover-color);
}
.text-primary:not(.btn):not([class*="bg-"]) {
  color: var(--imme-link) !important;
}
a.text-primary,
a.text-hover-primary:hover {
  color: var(--imme-link) !important;
}

/* -------------------------------------------------------------------------- */
/* Text / surfaces / borders                                                  */
/* -------------------------------------------------------------------------- */
body,
.text-dark,
.text-gray-800,
.text-gray-900,
h1, h2, h3, h4, h5, h6,
.card-title,
.card-label {
  color: var(--imme-charcoal);
}

.card,
.card-body,
.modal-content,
.table > :not(caption) > * > * {
  --bs-table-bg: var(--imme-white);
}

.border,
.border-gray-200,
.border-gray-300,
.separator,
.table > :not(caption) > * > * {
  border-color: var(--imme-grey) !important;
}

.table thead th,
.table-head,
th.bg-light,
.bg-light {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}

/* Background utility remaps */
.bg-primary,
.bg-success {
  background-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}
.bg-warning,
.bg-info {
  background-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}
.bg-danger {
  background-color: var(--imme-danger) !important;
  color: var(--imme-white) !important;
}
.bg-dark,
.bg-black {
  background-color: var(--imme-charcoal) !important;
  color: var(--imme-white) !important;
}
.bg-secondary {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}

.bg-light-primary {
  background-color: var(--imme-green-soft) !important;
  color: var(--imme-charcoal) !important;
}
.bg-light-success {
  background-color: #e8ffe8 !important;
  color: #1b7a3a !important;
}
.bg-light-warning,
.bg-light-info {
  background-color: #f5efdf !important;
  color: #8a6d2f !important;
}
.bg-light-danger {
  background-color: #f8e8e6 !important;
  color: #B42318 !important;
}
.bg-light-dark {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}

.text-success:not(.bg-light-success):not([class*="bg-"]) {
  color: #1b7a3a !important;
}
.text-warning:not(.bg-light-warning):not([class*="bg-"]),
.text-info:not(.bg-light-info):not([class*="bg-"]) {
  color: #8a6d2f !important;
}
.text-danger:not(.bg-light-danger):not([class*="bg-"]) {
  color: var(--imme-danger) !important;
}

/* Badges */
.badge-primary,
.badge-success,
.badge.bg-primary,
.badge.bg-success {
  background-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}
.badge-warning,
.badge-info,
.badge.bg-warning,
.badge.bg-info {
  background-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}
.badge-danger,
.badge.bg-danger {
  background-color: var(--imme-danger) !important;
  color: var(--imme-white) !important;
}
.badge-secondary,
.badge.bg-secondary,
.badge-light {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}
.badge-circle.badge-success,
.badge-circle.badge-primary {
  background-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}
.badge-circle.badge-danger {
  background-color: var(--imme-danger) !important;
  color: var(--imme-white) !important;
}
.badge-circle.badge-info,
.badge-circle.badge-warning {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}

/* Form controls */
.form-check-input:checked {
  background-color: var(--imme-green) !important;
  border-color: var(--imme-green) !important;
}
.form-check-input {
  border-color: var(--imme-grey);
  background-color: var(--imme-white);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--imme-green);
  box-shadow: 0 0 0 0.2rem rgba(154, 255, 154, 0.35);
}
.form-control,
.form-select {
  border-color: var(--imme-grey);
  color: var(--imme-charcoal);
}

/* Pagination — neutral, active = green */
.page-link {
  color: var(--imme-charcoal);
  border-color: var(--imme-grey);
}
.page-item.active .page-link {
  background-color: var(--imme-green) !important;
  border-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}

/* SVG icon colour helpers */
.svg-icon-primary,
.svg-icon-success {
  color: var(--imme-green) !important;
}
.svg-icon-warning,
.svg-icon-info {
  color: var(--imme-gold) !important;
}
.svg-icon-danger {
  color: var(--imme-danger) !important;
}
.svg-icon-dark {
  color: var(--imme-charcoal) !important;
}

/* -------------------------------------------------------------------------- */
/* Sidebar — active + hover (hover text = pure white for readability)         */
/* -------------------------------------------------------------------------- */
#kt_app_sidebar.app-sidebar--imme-brand .menu-link:hover {
  background-color: rgba(154, 255, 154, 0.28) !important;
  color: #FFFFFF !important;
}

#kt_app_sidebar.app-sidebar--imme-brand .menu-link:hover .menu-title,
#kt_app_sidebar.app-sidebar--imme-brand .menu-link:hover .menu-icon,
#kt_app_sidebar.app-sidebar--imme-brand .menu-link:hover .menu-icon i,
#kt_app_sidebar.app-sidebar--imme-brand .menu-link:hover .menu-bullet,
#kt_app_sidebar.app-sidebar--imme-brand .menu-link:hover .menu-arrow {
  color: #FFFFFF !important;
}

#kt_app_sidebar.app-sidebar--imme-brand .menu-link.active,
#kt_app_sidebar.app-sidebar--imme-brand .menu-item.here > .menu-link {
  box-shadow: inset 3px 0 0 var(--imme-green);
  background: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}

#kt_app_sidebar.app-sidebar--imme-brand .menu-link.active .menu-title,
#kt_app_sidebar.app-sidebar--imme-brand .menu-item.here > .menu-link .menu-title,
#kt_app_sidebar.app-sidebar--imme-brand .menu-link.active .menu-icon i,
#kt_app_sidebar.app-sidebar--imme-brand .menu-item.here > .menu-link .menu-icon i,
#kt_app_sidebar.app-sidebar--imme-brand .menu-item.here .menu-icon i {
  color: var(--imme-charcoal) !important;
  text-shadow: none;
}

/* Do not force white title on hover when item is also active */
#kt_app_sidebar.app-sidebar--imme-brand .menu-link.active:hover,
#kt_app_sidebar.app-sidebar--imme-brand .menu-item.here > .menu-link:hover {
  color: var(--imme-charcoal) !important;
}
#kt_app_sidebar.app-sidebar--imme-brand .menu-link.active:hover .menu-title,
#kt_app_sidebar.app-sidebar--imme-brand .menu-item.here > .menu-link:hover .menu-title,
#kt_app_sidebar.app-sidebar--imme-brand .menu-link.active:hover .menu-icon i,
#kt_app_sidebar.app-sidebar--imme-brand .menu-item.here > .menu-link:hover .menu-icon i {
  color: var(--imme-charcoal) !important;
}

/* -------------------------------------------------------------------------- */
/* Comparison — Lowest=Green, Middle=Gold, Highest=Red (clearly visible)      */
/* -------------------------------------------------------------------------- */
.bg-light-success,
.imme-cmp-cell-low {
  background-color: #e8ffe8 !important;
  color: #1b7a3a !important;
}
.bg-light-success.text-success,
th.bg-light-success,
td.bg-light-success {
  background-color: #e8ffe8 !important;
  color: #1b7a3a !important;
}

.bg-light-warning,
.imme-cmp-cell-mid {
  background-color: #f5efdf !important;
  color: #8a6d2f !important;
}
.bg-light-warning.text-warning,
th.bg-light-warning,
td.bg-light-warning {
  background-color: #f5efdf !important;
  color: #8a6d2f !important;
}

.bg-light-danger,
.imme-cmp-cell-high {
  background-color: #f8e8e6 !important;
  color: #B42318 !important;
}
.bg-light-danger.text-danger,
th.bg-light-danger,
td.bg-light-danger {
  background-color: #f8e8e6 !important;
  color: #B42318 !important;
}

/* Row difference badges */
.btn.btn-sm.bg-success,
.bg-success.text-dark.btn,
span.btn.bg-success {
  background-color: var(--imme-green) !important;
  border-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}
.btn.btn-sm.bg-danger,
.bg-danger.text-white.btn,
span.btn.bg-danger {
  background-color: var(--imme-danger) !important;
  border-color: var(--imme-danger) !important;
  color: var(--imme-white) !important;
}
.btn.btn-sm.bg-warning,
span.btn.bg-warning {
  background-color: var(--imme-gold) !important;
  border-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}

/* Keep comparison text colours (override global charcoal remaps) */
.text-success.bg-light-success,
.bg-light-success .text-success,
th.text-success {
  color: #1b7a3a !important;
}
.text-warning.bg-light-warning,
.bg-light-warning .text-warning,
th.text-warning {
  color: #8a6d2f !important;
}
.text-danger.bg-light-danger,
.bg-light-danger .text-danger,
th.text-danger {
  color: #B42318 !important;
}

/* -------------------------------------------------------------------------- */
/* Hover readability — never white text on green/gold surfaces                */
/* -------------------------------------------------------------------------- */
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-outline-primary:hover,
.btn-outline-success:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover {
  color: var(--imme-charcoal) !important;
}

/* SweetAlert2 confirm on green must stay charcoal, not white */
.swal2-styled.swal2-confirm {
  color: var(--imme-charcoal) !important;
}
.swal2-styled.swal2-confirm:hover,
.swal2-styled.swal2-confirm:focus {
  color: var(--imme-charcoal) !important;
  filter: brightness(0.95);
}
.swal2-styled.swal2-deny,
.swal2-styled.swal2-cancel {
  color: var(--imme-charcoal) !important;
}
.swal2-icon.swal2-warning .swal2-styled.swal2-confirm,
.swal2-popup .swal2-actions .swal2-confirm {
  color: var(--imme-charcoal) !important;
}

/* If confirm uses danger red, white text is OK */
.swal2-styled.swal2-confirm[style*="B42318"],
.swal2-styled.swal2-confirm[style*="b42318"],
.swal2-styled.swal2-confirm[style*="dc3545"],
.swal2-styled.swal2-confirm[style*="d33"] {
  color: #FFFFFF !important;
}

/* Summary section totals on cool grey */
.imme-section-total,
th.bg-light-dark {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}

/* -------------------------------------------------------------------------- */
/* View action — same icon-button shape as Edit/Delete, Green fill            */
/* -------------------------------------------------------------------------- */
.btn.btn-icon.imme-link-action {
  background-color: var(--imme-green) !important;
  border: 1px solid var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: calc(1.5em + 1.05rem + 2px);
  height: calc(1.5em + 1.05rem + 2px);
  padding: 0 !important;
}
.btn.btn-icon.imme-link-action:hover,
.btn.btn-icon.imme-link-action:focus,
.btn.btn-icon.imme-link-action:active {
  background-color: #7ae87a !important;
  border-color: #7ae87a !important;
  color: var(--imme-charcoal) !important;
}
.btn.btn-icon.imme-link-action i,
.btn.btn-icon.imme-link-action .bi {
  color: var(--imme-charcoal) !important;
  font-size: 1.05rem;
  line-height: 1;
}

/* Text “View” buttons (non-icon) — same green pill style */
a.imme-link-action.btn-sm:not(.btn-icon),
.btn.imme-link-action:not(.btn-icon) {
  background-color: var(--imme-green) !important;
  border: 1px solid var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
  box-shadow: none !important;
  padding: 0.35rem 0.75rem !important;
  border-radius: 0.425rem;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}
a.imme-link-action.btn-sm:not(.btn-icon):hover,
.btn.imme-link-action:not(.btn-icon):hover {
  background-color: #7ae87a !important;
  color: var(--imme-charcoal) !important;
}

/* True text navigation links (summary etc.) — keep Link Blue, no fill */
a.imme-link-action:not(.btn):not(.btn-sm) {
  background: transparent !important;
  border: none !important;
  color: var(--imme-link) !important;
  box-shadow: none !important;
  padding: 0.25rem 0.35rem;
  text-decoration: none;
}
a.imme-link-action:not(.btn):not(.btn-sm):hover {
  color: var(--bs-link-hover-color) !important;
}
a.imme-link-action:not(.btn):not(.btn-sm) i {
  color: var(--imme-link) !important;
}

/* Neutral grey pills (route/code/version/type badges) */
.imme-pill-neutral,
.badge.imme-pill-neutral {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}

/* Active / on status */
.imme-status-on,
.badge.imme-status-on {
  background-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}
.imme-status-off,
.badge.imme-status-off {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
}
.imme-status-pending,
.badge.imme-status-pending {
  background-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}
.imme-status-spam,
.badge.imme-status-spam {
  background-color: var(--imme-charcoal) !important;
  color: var(--imme-white) !important;
}

/* -------------------------------------------------------------------------- */
/* Chat                                                                       */
/* -------------------------------------------------------------------------- */
#kt_chat_contacts_header .form-control,
.card-flush .form-control[placeholder*="Search"],
input[data-kt-search-element="input"] {
  border-color: var(--imme-grey) !important;
}

/* Selected / current conversation highlight */
.card-flush a[href*="chat/"] .d-flex.flex-stack:hover,
.card-flush .d-flex.flex-stack:has(a[href*="chat/"]:focus),
body[data-kt-app-page] .chat-contact-active,
.imme-chat-active {
  background-color: var(--imme-grey) !important;
  border-radius: 0.5rem;
}

.badge-success.badge-circle,
.symbol-badge.bg-success,
.bullet.bg-success {
  background-color: var(--imme-green) !important;
}

/* Online / available indicator dots */
.badge.badge-success.badge-circle.w-10px,
.badge.badge-circle.badge-success {
  background-color: var(--imme-green) !important;
}

/* Overflow / kebab icons charcoal */
.btn-color-dark,
.btn-color-muted {
  color: var(--imme-charcoal) !important;
}

/* Portal menu route/code pills */
code.fs-8,
.portal-menu-sort-row code {
  background-color: var(--imme-grey) !important;
  color: var(--imme-charcoal) !important;
  padding: 0.15rem 0.4rem;
  border-radius: 0.25rem;
}

/* Card borders cool grey */
.card {
  border-color: var(--imme-grey);
}

/* Soft alert blues → grey/green ecosystem */
.alert-primary {
  background-color: var(--imme-green-soft) !important;
  border-color: var(--imme-green) !important;
  color: var(--imme-charcoal) !important;
}
.alert-info {
  background-color: var(--imme-gold-soft) !important;
  border-color: var(--imme-gold) !important;
  color: var(--imme-charcoal) !important;
}

/* Progress bars */
.progress-bar.bg-primary,
.progress-bar.bg-success {
  background-color: var(--imme-green) !important;
}
.progress-bar.bg-warning,
.progress-bar.bg-info {
  background-color: var(--imme-gold) !important;
}
.progress-bar.bg-danger {
  background-color: var(--imme-danger) !important;
}

/* SweetAlert / confirm defaults when pages inherit theme vars */
:root {
  --swal2-confirm-button-background-color: var(--imme-green);
  --swal2-deny-button-background-color: var(--imme-danger);
  --swal2-cancel-button-background-color: var(--imme-grey);
}
