/* Bootstrap 5 Theme Override for LEMA - LEMA Professional Palette */

:root {
  /* Override Bootstrap color variables with our palette */
  --bs-blue: #1E3FB4;
  --bs-indigo: #8B5CF6;
  --bs-purple: #8B5CF6; /* Keep original for compatibility */
  --bs-pink: #F97316;
  --bs-red: #EF4444;
  --bs-orange: #F97316;
  --bs-yellow: #F59E0B;
  --bs-green: #10B981;
  --bs-teal: #0EA5E9;
  --bs-cyan: #0EA5E9;
  --bs-white: #FFFFFF;
  --bs-gray: #64748B;
  --bs-gray-dark: #1E293B;
  
  /* Primary colors */
  --bs-primary: #1E3FB4;     /* Bleu LEMA */
  --bs-secondary: #0EA5E9;   /* Bleu Ciel */
  --bs-success: #10B981;
  --bs-info: #8B5CF6;
  --bs-warning: #F59E0B;
  --bs-danger: #EF4444;
  --bs-light: #F8FAFC;       /* Slate très clair */
  --bs-dark: #1E293B;        /* Slate foncé */
  
  /* Theme colors */
  --bs-primary-rgb: 30, 63, 180;
  --bs-secondary-rgb: 14, 165, 233;
  --bs-success-rgb: 16, 185, 129;
  --bs-info-rgb: 139, 92, 246;
  --bs-warning-rgb: 245, 158, 11;
  --bs-danger-rgb: 239, 68, 68;
  --bs-light-rgb: 248, 250, 252;
  --bs-dark-rgb: 30, 41, 59;
  
  /* Body */
  --bs-body-color: #1E293B;
  --bs-body-bg: #F8FAFC;
  --bs-body-color-rgb: 30, 41, 59;
  --bs-body-bg-rgb: 248, 250, 252;
  
  /* Border */
  --bs-border-color: #E2E8F0;
  
  /* Link color */
  --bs-link-color: #1E3FB4;
  --bs-link-hover-color: #1D4ED8;
  
  /* Fonts */
  --bs-font-sans-serif: 'Fira Sans', sans-serif;
  --bs-font-monospace: 'Fira Code', monospace;
}

/* Ensure buttons use our colors */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: #1D4ED8;
  --bs-btn-hover-border-color: #1D4ED8;
  --bs-btn-active-bg: #1D4ED8;
  --bs-btn-active-border-color: #1D4ED8;
}

.btn-secondary {
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-bg: #0284C7;
  --bs-btn-hover-border-color: #0284C7;
  --bs-btn-active-bg: #0284C7;
  --bs-btn-active-border-color: #0284C7;
}

/* Alert customizations */
.alert-primary {
  --bs-alert-bg: rgba(30, 63, 180, 0.1);
  --bs-alert-border-color: rgba(30, 63, 180, 0.2);
  --bs-alert-color: #1E293B;
}

.alert-secondary {
  --bs-alert-bg: rgba(5, 150, 105, 0.1);
  --bs-alert-border-color: rgba(5, 150, 105, 0.2);
  --bs-alert-color: #064E3B;
}

/* Card customizations */
.card {
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
}

/* Table customizations */
.table {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--bs-border-color);
}

/* Form control customizations */
.form-control:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(8, 145, 178, 0.25);
}

/* Navbar customizations */
.navbar {
  --bs-navbar-color: var(--bs-body-color);
  --bs-navbar-hover-color: var(--bs-primary);
  --bs-navbar-active-color: var(--bs-primary);
}

/* Badge customizations */
.badge.bg-primary {
  background-color: var(--bs-primary) !important;
}

.badge.bg-secondary {
  background-color: var(--bs-secondary) !important;
}

/* Accessibility improvements */
.btn, 
.nav-link,
.dropdown-item,
.form-check-label,
.pointer {
  cursor: pointer;
}

/* Ensure sufficient contrast for text */
.text-muted {
  color: var(--bs-gray) !important;
}

/* Focus states for keyboard navigation */
.btn:focus-visible,
.form-control:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}

/* Hover effects for interactive elements */
.btn:hover {
  transform: translateY(-1px);
  transition: transform 0.2s ease;
}

/* Glass card improvements for light mode */
.glass-card {
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(10px);
}

/* Stats card border improvements */
.stats-card {
  border: 1px solid var(--bs-border-color) !important;
}

/* Table row hover */
.table tbody tr:hover {
  background-color: rgba(8, 145, 178, 0.05) !important;
}

/* Smooth collapse/expand animation */
.collapse-animation {
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  overflow: hidden;
}

.collapse-animation.collapsed {
  max-height: 0 !important;
  opacity: 0;
}

.collapse-animation.expanded {
  max-height: 2000px !important;
  opacity: 1;
}

/* Smooth height transition for form sections */
.height-transition {
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    overflow: hidden;
    display: block;
}

.height-transition.expanded {
    max-height: 2000px !important;
    opacity: 1;
    overflow: visible;
}


.height-transition.collapsed {
    max-height: 0 !important;
    opacity: 0;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Apply height transition to loading and empty state */
#loadingIndicator,
#emptyState {
  min-height: 200px;
}

main.col-md-9.ms-sm-auto.col-lg-10.px-md-4 {
    padding-top: 4rem;
}