/* Bootstrap 5 Theme Overrides */
/* Custom theme with Deltek brand colors and design system */

:root {
  /* Typography */
  --bs-body-font-family: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --bs-body-font-size: 0.875rem;
  --bs-body-line-height: 1.5;
  
  /* Primary color */
  --bs-primary: #4C92D9;
  --bs-primary-rgb: 76, 146, 217;
  
  /* Secondary color */
  --bs-secondary: #3A70A6;
  --bs-secondary-rgb: 58, 112, 166;
  
  /* Success color */
  --bs-success: #52BD94;
  --bs-success-rgb: 82, 189, 148;
  
  /* Info color */
  --bs-info: #3366FF;
  --bs-info-rgb: 51, 102, 255;
  
  /* Warning color */
  --bs-warning: #FFB020;
  --bs-warning-rgb: 255, 176, 32;
  
  /* Danger color */
  --bs-danger: #D14343;
  --bs-danger-rgb: 209, 67, 67;

  /* Link colors */
  --bs-link-color: #4C92D9;
  --bs-link-hover-color: #30659f;
  
  /* Text colors */
  --bs-body-color: #646D82;
  --bs-heading-color: #373F4E;
  
  /* Border/stroke color */
  --bs-border-color: #98A3BD;
  
  /* Background colors */
  --bs-body-bg: #FFFFFF;
  --bs-dark: #0A0E15;
  --bs-dark-rgb: 10, 14, 21;
  --bs-light: #FFFFFF;
  --bs-light-rgb: 255, 255, 255;

  /* Border radius */
  --bs-border-radius: 0.5rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 1rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 1rem;
  
  /* Button styling */
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-border-radius: 0.5rem;
  --bs-btn-border-radius-sm: 0.5rem;
  --bs-btn-border-radius-lg: 0.5rem;
  
  /* Button colors */
  --bs-btn-bg: #4C92D9;
  --bs-btn-border-color: #4C92D9;
  --bs-btn-hover-bg: #3A70A6;
  --bs-btn-hover-border-color: #3A70A6;
  --bs-btn-active-bg: #2D5A85;
  --bs-btn-active-border-color: #2D5A85;
}

/* Global typography with Lexend */
body {
  font-family: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 400;
  color: #646D82;
}

/* Links */
a {
  color: #4C92D9;
}

a:hover {
  color: #30659f;
}

/* Headings use header text color */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: #373F4E;
}

/* All text elements use Lexend */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
p, span, div, a, button,
.btn, .form-control, .form-select, .form-label,
.nav-link, .navbar-nav, .dropdown-menu,
.card, .card-title, .card-text,
.badge, .alert, .breadcrumb,
input, textarea, select, label {
  font-family: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Heading weights */
h1, .h1 { font-weight: 700; }
h2, .h2 { font-weight: 600; }
h3, .h3 { font-weight: 600; }
h4, .h4 { font-weight: 500; }
h5, .h5 { font-weight: 500; }
h6, .h6 { font-weight: 500; }

/* Button primary overrides */
.btn-primary {
  --bs-btn-bg: #4C92D9;
  --bs-btn-border-color: #4C92D9;
  --bs-btn-hover-bg: #3A70A6;
  --bs-btn-hover-border-color: #3A70A6;
  --bs-btn-active-bg: #2D5A85;
  --bs-btn-active-border-color: #2D5A85;
  background-color: #4C92D9;
  border-color: #4C92D9;
}

.btn-primary:hover {
  background-color: #3A70A6;
  border-color: #3A70A6;
}

.btn-primary:active,
.btn-primary:focus {
  background-color: #2D5A85;
  border-color: #2D5A85;
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
}

/* Apply active box shadow to all buttons */
.btn:active,
.btn.active {
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
}

/* Button outline primary */
.btn-outline-primary {
  --bs-btn-color: #4C92D9;
  --bs-btn-border-color: #4C92D9;
  --bs-btn-hover-bg: #4C92D9;
  --bs-btn-hover-border-color: #4C92D9;
  color: #4C92D9;
  border-color: #4C92D9;
}

.btn-outline-primary:hover {
  background-color: #4C92D9;
  border-color: #4C92D9;
  color: #fff;
}

/* Button secondary */
.btn-secondary {
  --bs-btn-bg: #3A70A6;
  --bs-btn-border-color: #3A70A6;
  --bs-btn-hover-bg: #2D5A85;
  --bs-btn-hover-border-color: #2D5A85;
  background-color: #3A70A6 !important;
  border-color: #3A70A6 !important;
}

.btn-secondary:hover {
  background-color: #2D5A85 !important;
  border-color: #2D5A85 !important;
}

/* Button outline secondary */
.btn-outline-secondary {
  --bs-btn-color: #3A70A6;
  --bs-btn-border-color: #3A70A6;
  --bs-btn-hover-bg: #3A70A6;
  --bs-btn-hover-border-color: #3A70A6;
  color: #3A70A6 !important;
  border-color: #3A70A6 !important;
}

.btn-outline-secondary:hover {
  background-color: #3A70A6 !important;
  border-color: #3A70A6 !important;
  color: #fff !important;
}

.btn-outline-secondary.active,
.btn-outline-secondary:active {
  background-color: #3A70A6 !important;
  border-color: #3A70A6 !important;
  color: #fff !important;
}

/* Button link - keep it looking like a link, not a button */
.btn-link {
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: transparent;
  background-color: transparent !important;
  border-color: transparent !important;
  color: #4C92D9 !important;
}

.btn-link:hover {
  background-color: transparent !important;
  border-color: transparent !important;
  color: #3A70A6 !important;
}

/* Badges */
.badge.bg-primary {
  background-color: #4C92D9 !important;
}

.badge.bg-secondary {
  background-color: #3A70A6 !important;
}

.badge.bg-success {
  background-color: #52BD94 !important;
}

.badge.bg-info {
  background-color: #3366FF !important;
}

.badge.bg-warning {
  background-color: #FFB020 !important;
}

.badge.bg-danger {
  background-color: #D14343 !important;
}

/* Alerts */
.alert-primary {
  --bs-alert-bg: rgba(76, 146, 217, 0.1);
  --bs-alert-border-color: #4C92D9;
  --bs-alert-color: #2D5A85;
}

.alert-success {
  --bs-alert-bg: rgba(82, 189, 148, 0.1);
  --bs-alert-border-color: #52BD94;
  --bs-alert-color: #2a7c5e;
}

.alert-info {
  --bs-alert-bg: rgba(51, 102, 255, 0.1);
  --bs-alert-border-color: #3366FF;
  --bs-alert-color: #1a4acc;
}
.bg-secondary {
  background-color: #3A70A6 !important;
}

.bg-success {
  background-color: #52BD94 !important;
}

.bg-info {
  background-color: #3366FF !important;
}

.bg-warning {
  background-color: #FFB020 !important;
}

.bg-danger {
  background-color: #D14343 !important;
}

.bg-dark {
  background-color: #0A0E15 !important;
}

/* Adjust opacity backgrounds for better visibility */
.bg-primary.bg-opacity-10 {
  background-color: rgba(76, 146, 217, 0.15) !important;
}

.bg-secondary.bg-opacity-10 {
  background-color: rgba(58, 112, 166, 0.15) !important;
}

.bg-success.bg-opacity-10 {
  background-color: rgba(82, 189, 148, 0.15) !important;
}

.bg-info.bg-opacity-10 {
  background-color: rgba(51, 102, 255, 0.15) !important;
}

.bg-warning.bg-opacity-10 {
  background-color: rgba(255, 176, 32, 0.15) !important;
}

.bg-danger.bg-opacity-10 {
  background-color: rgba(209, 67, 67, 0.15) !important;
}

/* Text utilities */
.text-primary {
  color: #4C92D9 !important;
}

.text-secondary {
  color: #3A70A6 !important;
}

.text-success {
  color: #52BD94 !important;
}

.text-info {
  color: #3366FF !important;
}

.text-warning {
  color: #FFB020 !important;
}

.text-danger {
  color: #D14343 !important;
}

.text-dark {
  color: #0A0E15 !important;
}

.text-muted {
  color: #646D82 !important;
}

/* Border utilities */
.border-primary {
  border-color: #4C92D9 !important;
}

.border-secondary {
  border-color: #3A70A6 !important;
}

.border-success {
  border-color: #52BD94 !important;
}

.border-info {
  border-color: #3366FF !important;
}

.border-warning {
  border-color: #FFB020 !important;
}

.border-danger {
  border-color: #D14343 !important;
}

.border {
  border-color: #98A3BD

/* Progress bars */
.progress-bar {
  background-color: #4C92D9;
}

/* Background utilities */
.bg-primary {
  background-color: #4C92D9 !important;
}

/* Adjust opacity backgrounds for better visibility */
.bg-primary.bg-opacity-10 {
  background-color: rgba(76, 146, 217, 0.15) !important;
}

.bg-secondary {
  background-color: #3A70A6 !important;
}

.bg-secondary.bg-opacity-10 {
  background-color: rgba(58, 112, 166, 0.15) !important;
}

/* Text utilities */
.text-primary {
  color: #4C92D9 !important;
}

.text-secondary {
  color: #3A70A6 !important;
}

/* Border utilities */
.border-primary {
  border-color: #4C92D9 !important;
}

.border-secondary {
  border-color: #3A70A6 !important;
}

/* Pagination */
.pagination .page-link {
  color: #4C92D9;
  border-color: #98A3BD;
}

.pagination .page-link:hover {
  color: #3A70A6;
  background-color: rgba(76, 146, 217, 0.1);
  border-color: #4C92D9;
}

.pagination .page-link:focus {
  color: #3A70A6;
  background-color: rgba(76, 146, 217, 0.1);
  border-color: #4C92D9;
  box-shadow: 0 0 0 0.25rem rgba(76, 146, 217, 0.25);
}

.pagination .page-item.active .page-link {
  background-color: #4C92D9;
  border-color: #4C92D9;
  color: #fff;
}

.pagination .page-item.disabled .page-link {
  color: #646D82;
  background-color: #fff;
  border-color: #98A3BD;
}

/* ============================================================================= */
/* Custom Outline Button Color Overrides */
/* ============================================================================= */

/* Outline warning button - darker, more readable color */
.btn-outline-warning {
  --bs-btn-color: #A36A00;
  --bs-btn-border-color: #A36A00;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #A36A00;
  --bs-btn-hover-border-color: #A36A00;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #8d5a00;
  --bs-btn-active-border-color: #7a4f00;
  --bs-btn-disabled-color: #A36A00;
  --bs-btn-disabled-border-color: #A36A00;
}

/* Outline success button - darker, more readable color */
.btn-outline-success {
  --bs-btn-color: #318163;
  --bs-btn-border-color: #318163;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #318163;
  --bs-btn-hover-border-color: #318163;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2a6d54;
  --bs-btn-active-border-color: #235a46;
  --bs-btn-disabled-color: #318163;
  --bs-btn-disabled-border-color: #318163;
}

/* Valid feedback text color (under input with validation) */
.valid-feedback {
  color: #318163;
}
