/* ==========================================================================
   OPTIMAFACTURE — Design System Variables
   Identité visuelle moderne & sobre (B2B IT Solutions — OPTIMA TECH)
   ========================================================================== */

:root {
  /* Couleurs principales OPTIMA TECH */
  --color-primary: #213a64;        /* Bleu marine Optima (couleur principale) */
  --color-primary-dark: #16294a;   /* Bleu nuit (sidebar / en-têtes) */
  --color-primary-light: #eef2f8;  /* Fond d'accent doux */
  --color-primary-border: #c5cede; /* Bordure d'accent */
  --color-primary-hover: #1a2e50;

  /* Couleur secondaire de marque (accent) */
  --color-accent: #eea129;         /* Ambre Optima */
  --color-accent-light: #fdf3df;   /* Fond d'accent doux */
  --color-accent-dark: #b97a10;    /* Version foncée pour texte/icônes */
  --color-accent-border: #f6ddb0;
  --color-accent-hover: #d98c14;

  /* Couleurs sémantiques de statut */
  --color-secondary: #107c57;      /* Vert validé */
  --color-secondary-light: #edf7f3;
  --color-secondary-dark: #0b583e;
  --color-secondary-border: #aee0ce;

  --color-danger: #c0392b;         /* Rouge alerte / annulé */
  --color-danger-light: #fbeeed;
  --color-danger-dark: #962d22;
  --color-danger-border: #f2c2bd;

  --color-warning: #d97706;        /* Ambre proforma / en attente */
  --color-warning-light: #fffbeb;
  --color-warning-dark: #92400e;
  --color-warning-border: #fde68a;

  --color-info: #0284c7;           /* Bleu info / proforma */
  --color-info-light: #f0f9ff;
  --color-info-border: #bae6fd;

  /* Arrière-plans et surfaces */
  --color-bg: #f8fafc;             /* Fond général */
  --bg-surface: #ffffff;           /* Cartes et panneaux */
  --bg-glass-topbar: rgba(255, 255, 255, 0.92);
  --bg-glass-kpi: rgba(255, 255, 255, 0.95);

  /* Typographie & Contraste */
  --color-text: #1e293b;           /* Texte principal */
  --color-text-muted: #64748b;     /* Texte secondaire */
  --color-text-subtle: #94a3b8;    /* Texte tertiaire / placeholders */

  /* Sidebar */
  --sidebar-width: 260px;
  --sidebar-collapsed-width: 75px;
  --sidebar-bg: #213a64;           /* Bleu nuit institutionnel */
  --sidebar-surface: #16294a;
  --sidebar-text: #cbd5e1;
  --sidebar-text-hover: #ffffff;
  --sidebar-active-bg: rgba(255, 255, 255, 0.12);
  --sidebar-active-color: #ffffff;
  --sidebar-border: rgba(255, 255, 255, 0.08);
  --sidebar-section-title: #f2c179; /* Ambre doux (accent de marque) */

  /* Topbar */
  --topbar-height: 64px;

  /* Bordures et Rayons */
  --color-border: #e2e8f0;
  --color-border-light: #f1f5f9;
  --border-radius-xs: 4px;
  --border-radius-sm: 6px;
  --border-radius: 10px;
  --border-radius-lg: 14px;
  --border-radius-pill: 9999px;

  /* Ombres */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, 0.09), 0 4px 6px -2px rgba(0, 0, 0, 0.04);

  /* Transitions */
  --transition-fast: all 0.15s ease;
  --transition-normal: all 0.25s ease;
  --transition-smooth: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   SURCHARGE BOOTSTRAP — Identité de marque OPTIMA TECH
   (ce fichier est chargé après bootstrap.min.css : ces règles priment)
   ========================================================================== */

.btn-primary {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: var(--color-primary);
  --bs-btn-border-color: var(--color-primary);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--color-primary-hover);
  --bs-btn-hover-border-color: var(--color-primary-hover);
  --bs-btn-focus-shadow-rgb: 33, 58, 100;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--color-primary-dark);
  --bs-btn-active-border-color: var(--color-primary-dark);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: var(--color-primary);
  --bs-btn-disabled-border-color: var(--color-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--color-primary);
  --bs-btn-border-color: var(--color-primary);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--color-primary);
  --bs-btn-hover-border-color: var(--color-primary);
  --bs-btn-focus-shadow-rgb: 33, 58, 100;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--color-primary);
  --bs-btn-active-border-color: var(--color-primary);
  --bs-btn-disabled-color: var(--color-primary);
  --bs-btn-disabled-border-color: var(--color-primary);
}

/* Accent secondaire : boutons & badges ambrés (BL, avertissements) */
.btn-warning {
  --bs-btn-color: #1e293b;
  --bs-btn-bg: var(--color-accent);
  --bs-btn-border-color: var(--color-accent);
  --bs-btn-hover-color: #1e293b;
  --bs-btn-hover-bg: var(--color-accent-hover);
  --bs-btn-hover-border-color: var(--color-accent-hover);
  --bs-btn-focus-shadow-rgb: 238, 161, 41;
  --bs-btn-active-color: #1e293b;
  --bs-btn-active-bg: var(--color-accent-dark);
  --bs-btn-active-border-color: var(--color-accent-dark);
}

.text-primary { color: var(--color-primary) !important; }
.text-warning { color: var(--color-accent-dark) !important; }
.bg-primary { background-color: var(--color-primary) !important; }
.bg-warning { background-color: var(--color-accent) !important; }
.bg-primary-subtle { background-color: var(--color-primary-light) !important; }
.bg-warning-subtle { background-color: var(--color-accent-light) !important; }
.border-primary-subtle { border-color: var(--color-primary-border) !important; }

.form-control:focus,
.form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.2rem rgba(33, 58, 100, 0.15);
}

.form-check-input:checked {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.page-item.active .page-link {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
