/* PMP Custom Bootstrap Icons & Visual Enhancements */
.bi {
  display: inline-block;
  line-height: 1;
  vertical-align: -0.125em;
  fill: currentColor;
}

/* Menu icons */
.menu-icon.bi {
  font-size: 1.25rem;
  line-height: 1;
  margin-right: 0.625rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Avatar icon centering */
.avatar-initial i.bi {
  font-size: 1.35rem;
  line-height: 1;
}

/* South Front Technologies Corporate Branding & Palette */
:root {
  --sft-navy: #082d5a;
  --sft-navy-rgb: 8, 45, 90;
  --sft-navy-dark: #051c38;
  --sft-navy-light: #0e3b74;
  --sft-orange: #f4741e;
  --sft-orange-rgb: 244, 116, 30;
  --sft-orange-hover: #dc6312;
  --sft-orange-light: #fff5ee;

  --bs-primary: #082d5a;
  --bs-primary-rgb: 8, 45, 90;
  --bs-primary-bg-subtle: rgba(8, 45, 90, 0.08);
  --bs-primary-border-subtle: rgba(8, 45, 90, 0.25);
  --bs-primary-contrast: #ffffff;
}

/* Button & Badge Customizations */
.btn-primary {
  background-color: var(--sft-navy) !important;
  border-color: var(--sft-navy) !important;
  color: #fff !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: var(--sft-navy-light) !important;
  border-color: var(--sft-navy-light) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(8, 45, 90, 0.25) !important;
}

.btn-warning, .btn-sft-accent {
  background-color: var(--sft-orange) !important;
  border-color: var(--sft-orange) !important;
  color: #fff !important;
}

.btn-warning:hover, .btn-sft-accent:hover {
  background-color: var(--sft-orange-hover) !important;
  border-color: var(--sft-orange-hover) !important;
  color: #fff !important;
}

.bg-label-primary {
  background-color: rgba(8, 45, 90, 0.1) !important;
  color: var(--sft-navy) !important;
}

.bg-label-warning {
  background-color: rgba(244, 116, 30, 0.12) !important;
  color: var(--sft-orange) !important;
}

.border-sft-orange {
  border-color: var(--sft-orange) !important;
}

.text-sft-navy {
  color: var(--sft-navy) !important;
}

.text-sft-orange {
  color: var(--sft-orange) !important;
}

.bg-sft-navy {
  background-color: var(--sft-navy) !important;
  color: #fff !important;
}

.bg-sft-orange {
  background-color: var(--sft-orange) !important;
  color: #fff !important;
}

/* Brand Logo display */
.app-brand-logo-img {
  transition: transform 0.2s ease-in-out;
}

.app-brand-logo-img:hover {
  transform: scale(1.02);
}

/* Active menu highlights */
.menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) {
  background: linear-gradient(72.47deg, var(--sft-navy) 22.16%, rgba(8, 45, 90, 0.85) 76.47%) !important;
  box-shadow: 0px 2px 6px 0px rgba(8, 45, 90, 0.48) !important;
  color: #fff !important;
}

/* Timeline and notice badges */
.badge-notice-eligible {
  background-color: #28c76f;
  color: #fff;
}

.badge-notice-forfeited {
  background-color: #ea5455;
  color: #fff;
}
