/* Tenant-aware Bootstrap/ATL primary variants */
.bg-primary {
  background-color: var(--color-primary, #006E62) !important;
  color: var(--color-primary-contrast, #FFFFFF) !important;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active {
  background-color: var(--color-primary, #006E62) !important;
  border-color: var(--color-primary, #006E62) !important;
  color: var(--color-primary-contrast, #FFFFFF) !important;
}

.badge-primary {
  background-color: var(--color-primary, #006E62) !important;
  color: var(--color-primary-contrast, #FFFFFF) !important;
}

.alert-primary {
  background-color: var(--color-primary, #006E62) !important;
  border-color: var(--color-primary, #006E62) !important;
  color: var(--color-primary-contrast, #FFFFFF) !important;
}

/* Tabs (global, themeable) */
.nav-tabs {
  border-bottom: 1px solid var(--tabs-border, #DEE2E6);
}
.nav-tabs .nav-link {
  color: var(--tabs-text, #6C757D) !important;
  background-color: var(--tabs-bg, transparent);
  border: 1px solid transparent;
  border-bottom-color: transparent;
  border-radius: 4px 4px 0 0;
}
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  color: var(--tabs-hover-text, #495057) !important;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--tabs-active-text, #495057) !important;
  background-color: var(--tabs-active-bg, #FFFFFF) !important;
  border-color: var(--tabs-active-border, #006E62) !important;
  border-bottom-color: var(--tabs-active-bg, #FFFFFF);
  margin-bottom: -1px;
}

/* Tabs are now fully token-driven for all tenants */

.nav-pills .nav-link {
  color: var(--tabs-text, #6C757D) !important;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--tabs-active-text, #495057) !important;
  background-color: transparent !important;
  border: 1px solid var(--tabs-active-border, #006E62) !important;
}

/* Accent line utility (global) */
.tpa-section-accent {
  border-left: var(--section-accent-width, 4px) solid var(--section-accent, #E2231A);
}

/* Back button in breadcrumbs/header */
.content-header .btn.btn-danger.btn-circle {
  background-color: var(--btn-nav-bg, #DC3545) !important;
  border-color: var(--btn-nav-border, #DC3545) !important;
  color: var(--btn-nav-text, #FFFFFF) !important;
}
.content-header .btn.btn-danger.btn-circle:hover,
.content-header .btn.btn-danger.btn-circle:focus {
  background-color: var(--btn-nav-hover-bg, #C82333) !important;
  border-color: var(--btn-nav-hover-bg, #C82333) !important;
  color: var(--btn-nav-hover-text, #FFFFFF) !important;
}
/* Sidebar background + active icon/link */
/* Sidebar: neutral tokens */
.main-sidebar,
.main-sidebar.sidebar-dark-primary,
.sidebar-dark-primary {
  background-color: var(--sidebar-bg, #006E62) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link {
  color: var(--sidebar-text, #DADFE5) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link .nav-icon,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link i {
  color: var(--sidebar-icon, #DADFE5) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover {
  background-color: var(--sidebar-hover-bg, #0A7A6C) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
  background-color: var(--sidebar-active-bg, #E2231A) !important;
  color: var(--sidebar-text-active, #FFFFFF) !important;
  border-left: 4px solid var(--sidebar-active-indicator, #E2231A);
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active i,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active .nav-icon {
  color: var(--sidebar-icon-active, #FFFFFF) !important;
}

/* Sidebar brand logo sizing (avoid squashed logos on first render) */
.main-sidebar .brand-link .brand-image {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain;
  border-radius: 0 !important;
  background: transparent;
  padding: 0;
  border: none;
}

/* Collapsed sidebar: remove cut border and use a small marker */
.sidebar-collapse .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
  border-left: 0 !important;
  position: relative;
  outline: none !important;
  box-shadow: none !important;
}
.sidebar-collapse .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  width: 6px;
  height: 20px;
  transform: translateY(-50%);
  background-color: var(--sidebar-active-indicator, #E2231A);
  border-radius: 2px;
}

/* Remove any thin borders/outlines on active/hover in sidebar (scoped) */
.main-sidebar .nav-sidebar .nav-link:focus,
.main-sidebar .nav-sidebar .nav-link:active,
.main-sidebar .nav-sidebar .nav-link.active:focus,
.main-sidebar .nav-sidebar .nav-link.active:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Ensure active indicator shows on mobile too */
@media (max-width: 767.98px) {
  .main-sidebar .nav-sidebar > .nav-item > .nav-link.active {
    border-left: 0 !important;
    position: relative;
  }
  .main-sidebar .nav-sidebar > .nav-item > .nav-link.active::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    width: 6px;
    height: 20px;
    transform: translateY(-50%);
    background-color: var(--sidebar-active-indicator, #E2231A);
    border-radius: 2px;
  }
}

/* Header title bars (cards/boxes) */
.card-primary:not(.card-outline) .card-header,
.card.card-primary .card-header,
.box.box-primary .box-header {
  background-color: var(--color-primary, #006E62) !important;
  color: var(--color-primary-contrast, #FFFFFF) !important;
  border-color: var(--color-primary, #006E62) !important;
}

/* Ribbon/header title text must stay white */
.ribbon-header .ribbon-title,
.ribbon-header .ribbon-title a,
.ribbon-header .ribbon-title small,
.card-main-header .card-main-title,
.card-main-header .card-main-title a,
.card-main-header .card-main-title small {
  color: var(--ribbon-title-color, #FFFFFF) !important;
}

/* Coverage cards: title uses brand primary */
.coverage-card .coverage-title,
.card-sub .card-sub-title {
  color: var(--brand-primary, var(--color-primary, #006E62)) !important;
}

/* Extra specificity for coverage grid to avoid overrides */
.coverage-cards .card.card-sub .card-title,
.coverage-cards .coverage-card .coverage-title {
  color: var(--brand-primary, var(--color-primary, #006E62)) !important;
}

/* App background */
.content-wrapper,
.main-footer {
  background-color: var(--bg-app, #F4F6F9);
}
