/**
 * EVOLUDIA — interface (charte visuelle alignée sur IMF Bogo).
 * Barre latérale marine, accent bleu + or, boutons arrondis (pill),
 * cartes douces, tableaux propres. 100 % responsive : téléphone, tablette, PC, grands écrans.
 */
:root {
  --evo-navy: #4a0a08;
  --evo-navy-2: #7a1512;
  --evo-accent: #c62d28;
  --evo-gold: #ff8a80;
  --evo-gold-soft: rgba(255, 138, 128, 0.12);
  --evo-surface: #fdf4f3;
  --evo-card-shadow: 0 1px 3px rgba(74, 10, 8, 0.08), 0 8px 24px rgba(74, 10, 8, 0.06);
  --evo-sidebar-w: 17.5rem;
  --evo-topbar-h: 3.75rem;
  --evo-radius: 0.75rem;
  --evo-font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { -webkit-tap-highlight-color: transparent; }
html { -webkit-text-size-adjust: 100%; }

/* ——— Écriture (typographie) ——— */
body.evo-body {
  font-family: var(--evo-font);
  background: var(--evo-surface);
  color: #2b1412;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-wrap: anywhere;
}
.evo-body h1, .evo-body h2, .evo-body h3, .evo-body h4, .evo-body h5, .evo-body h6,
.evo-body .h1, .evo-body .h2, .evo-body .h3, .evo-body .h4, .evo-body .h5, .evo-body .h6 {
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--evo-navy);
}
.evo-body .card-header { letter-spacing: -0.01em; }
.evo-body a:not(.btn):not(.nav-link):not(.page-link):not(.dropdown-item):not(.list-group-item):not(.evo-auth-brand) { color: var(--evo-accent); }
.evo-body a:not(.btn):not(.nav-link):not(.page-link):not(.dropdown-item):not(.list-group-item):not(.evo-auth-brand):hover { color: #a3211d; }
.evo-body .text-muted { color: #64748b !important; }

/* ——— Structure ——— */
.evo-shell { display: flex; min-height: 100vh; }
.evo-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.evo-content {
  flex: 1;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 1.25rem 1rem 2rem;
}
@media (min-width: 768px) { .evo-content { padding: 1.5rem 1.5rem 2.5rem; } }
@media (min-width: 1400px) { .evo-content { padding: 1.75rem 2rem 3rem; } }

/* Les conteneurs Bootstrap des pages s'alignent sur la zone de contenu */
.evo-content > .container,
.evo-content > .container-fluid {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* Formulaires étroits (max-width inline) : restent lisibles et centrés */
.evo-content > .container[style*="max-width"] { margin-left: auto; margin-right: auto; }
.evo-content > .container-fluid[style*="max-width"] { max-width: 1200px !important; }

/* ——— Barre latérale ——— */
.evo-sidebar {
  width: var(--evo-sidebar-w);
  background-color: var(--evo-navy);
  background-image: linear-gradient(180deg, var(--evo-navy) 0%, var(--evo-navy-2) 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  color: #fff;
}
.evo-sidebar .brand-badge {
  width: 3.25rem; height: 3.25rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.5rem; color: var(--evo-navy);
  background: linear-gradient(145deg, #ffc9c4, var(--evo-gold));
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.evo-sidebar .brand-mini {
  font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55);
}
.evo-sidebar .brand-title { font-weight: 700; font-size: 1.15rem; color: #fff; letter-spacing: -0.02em; }

.evo-sidebar .evo-nav-label {
  font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4); font-weight: 600;
  padding: 0.9rem 0.875rem 0.3rem;
}
.evo-sidebar .nav-link {
  color: rgba(255, 255, 255, 0.78);
  border-radius: 0.5rem;
  padding: 0.62rem 0.875rem;
  font-weight: 500;
  font-size: 0.92rem;
  display: flex; align-items: center; gap: 0.65rem;
  transition: background 0.15s, color 0.15s;
}
.evo-sidebar .nav-link:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
.evo-sidebar .nav-link.active {
  background: rgba(198, 45, 40, 0.35); color: #fff;
  border-left: 3px solid var(--evo-gold);
  padding-left: calc(0.875rem - 3px);
}
.evo-sidebar .nav-link .bi { font-size: 1.25rem; opacity: 0.9; flex-shrink: 0; }
.evo-sidebar .nav-link.evo-sub {
  margin-left: 1.25rem; padding: 0.45rem 0.75rem; font-size: 0.85rem;
  border-left: 1px solid rgba(255, 255, 255, 0.12); border-radius: 0 0.5rem 0.5rem 0;
}
.evo-sidebar .nav-link.evo-sub .bi { font-size: 1rem; }
.evo-sidebar .nav-link.evo-sub.active { border-left: 3px solid var(--evo-gold); padding-left: calc(0.75rem - 2px); }
.evo-sidebar .nav-link .badge { margin-left: auto; }
.evo-sidebar .logout-link { color: rgba(255, 182, 182, 0.95); }
.evo-sidebar .logout-link:hover { background: rgba(220, 53, 69, 0.2); color: #fff; }
.evo-sidebar .evo-user-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.75rem;
}
.evo-sidebar .offcanvas-body { overflow-y: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 991.98px) {
  .evo-sidebar { max-width: 88vw; }
  .evo-sidebar .nav-link { padding: 0.75rem 0.875rem; } /* cibles tactiles confortables */
}
@media (min-width: 992px) {
  .evo-sidebar.offcanvas.offcanvas-lg {
    transform: none !important;
    visibility: visible !important;
    position: sticky;
    top: 0;
    width: var(--evo-sidebar-w) !important;
    height: 100vh;
    flex-shrink: 0;
    overflow-y: auto;
    z-index: 1020;
  }
  .evo-sidebar.offcanvas.offcanvas-lg .offcanvas-header { display: none !important; }
}

/* ——— Barre du haut (simple : menu + titre + profil) ——— */
.evo-topbar {
  height: var(--evo-topbar-h);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(74, 10, 8, 0.08);
  padding: 0 1rem;
  z-index: 1010;
}
@media (min-width: 768px) { .evo-topbar { padding: 0 1.5rem; } }
.evo-topbar .evo-top-title { font-weight: 700; color: var(--evo-navy); letter-spacing: -0.02em; }
.evo-min-w-0 { min-width: 0; }

/* ——— Titres de page ——— */
.evo-content h1.h3, .evo-content h1.h4, .evo-content h1.h5, .evo-content h1 { margin-bottom: 1rem; }
.evo-content .d-flex > h1 { margin-bottom: 0; }

/* ——— Cartes ——— */
.evo-content .card {
  border: 1px solid rgba(74, 10, 8, 0.06);
  border-radius: var(--evo-radius);
  box-shadow: var(--evo-card-shadow);
  background: #fff;
}
.evo-content .card.shadow-sm { box-shadow: var(--evo-card-shadow) !important; }
.evo-content .card-header {
  background: #fff7f6;
  border-bottom: 1px solid rgba(74, 10, 8, 0.07);
  font-weight: 600;
  border-radius: var(--evo-radius) var(--evo-radius) 0 0 !important;
}
.evo-content .card > .table,
.evo-content .card > .table-responsive { margin-bottom: 0; }
.evo-content .card > .table-responsive:last-child .table,
.evo-content .card > .table:last-child { border-radius: 0 0 var(--evo-radius) var(--evo-radius); }

/* KPI (même gabarit que IMF Bogo) */
.evo-kpi {
  border: none !important;
  border-radius: var(--evo-radius);
  box-shadow: var(--evo-card-shadow);
  overflow: hidden;
  background: #fff;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  height: 100%;
}
.evo-kpi:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(74, 10, 8, 0.1); }
.evo-kpi .icon-wrap {
  width: 2.75rem; height: 2.75rem; border-radius: 0.65rem; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 1.35rem;
}
.evo-kpi .label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; font-weight: 600; }
.evo-kpi .value { font-size: clamp(1rem, 0.9vw + 0.7rem, 1.35rem); font-weight: 700; color: var(--evo-navy); line-height: 1.25; }
.evo-kpi-accent { border-left: 4px solid var(--evo-accent) !important; }
.evo-kpi-gold { border-left: 4px solid var(--evo-gold) !important; }
.evo-kpi-success { border-left: 4px solid #198754 !important; }
.evo-kpi-danger { border-left: 4px solid #dc3545 !important; }
.evo-kpi-warning { border-left: 4px solid #f0ad4e !important; }
.evo-kpi-violet { border-left: 4px solid #6f42c1 !important; }

/* ——— Tableaux ——— */
.evo-content .table { margin-bottom: 0; }
.evo-content .table thead th {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600;
  color: #475569; background: #fbe9e7; border-bottom: none; white-space: nowrap;
}
.evo-content .table > :not(caption) > * > * { padding: 0.7rem 0.75rem; vertical-align: middle; }
.evo-content .table-sm > :not(caption) > * > * { padding: 0.5rem 0.6rem; }
.evo-content .table-hover > tbody > tr:hover > * { background-color: rgba(198, 45, 40, 0.045); }
.evo-table-scroll { -webkit-overflow-scrolling: touch; }
.evo-content table { overflow-wrap: normal; }
.evo-content td.text-end, .evo-content th.text-end { white-space: nowrap; }

/* ——— Formulaires (champs bien visibles, comme Bogo) ——— */
.evo-body .form-control, .evo-body .form-select, .evo-body textarea.form-control, .evo-body .input-group-text {
  border-color: rgba(74, 10, 8, 0.22);
}
.evo-body .form-control, .evo-body .form-select, .evo-body textarea.form-control {
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(74, 10, 8, 0.04);
  font-size: 1rem;              /* évite le zoom automatique sur iPhone */
  min-height: 2.6rem;
}
.evo-body .form-control:focus, .evo-body .form-select:focus {
  border-color: rgba(198, 45, 40, 0.65);
  box-shadow: 0 0 0 0.22rem rgba(198, 45, 40, 0.18);
}
.evo-body .form-label { font-weight: 600; font-size: 0.86rem; color: var(--evo-navy); margin-bottom: 0.3rem; }
.evo-body .form-control-sm, .evo-body .form-select-sm { min-height: 2.1rem; font-size: 0.9rem; }

/* ——— Boutons : style Bogo (arrondis « pill », texte net) ——— */
.evo-body .btn {
  border-radius: 50rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.15s, color 0.15s, border-color 0.15s;
}
.evo-body .btn:not(.btn-link):not(:disabled):not(.disabled):hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(74, 10, 8, 0.15); }
.evo-body .btn:active { transform: translateY(0) !important; }
.evo-body .btn.w-100 { display: flex; }
.evo-body .btn-close { border-radius: 0.25rem; transform: none !important; box-shadow: none !important; }
.evo-body .btn-group > .btn { border-radius: 0; }
.evo-body .btn-group > .btn:first-child { border-radius: 50rem 0 0 50rem; }
.evo-body .btn-group > .btn:last-child { border-radius: 0 50rem 50rem 0; }
.evo-body .input-group > .btn { border-radius: 0 0.5rem 0.5rem 0; transform: none !important; box-shadow: none !important; }
.evo-body .input-group > .form-control:not(:last-child), .evo-body .input-group > .form-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.evo-body .page-link { border-radius: 0.5rem; margin: 0 0.15rem; border: 1px solid rgba(74, 10, 8, 0.12); }
.evo-body .page-item.active .page-link { background: var(--evo-accent); border-color: var(--evo-accent); color: #fff; }
.evo-body .badge { font-weight: 600; letter-spacing: 0.01em; }
.evo-body .alert { border: none; border-radius: var(--evo-radius); box-shadow: 0 2px 10px rgba(74, 10, 8, 0.06); }
.evo-body .modal-content { border: none; border-radius: 1rem; box-shadow: 0 20px 60px rgba(74, 10, 8, 0.25); }
.evo-body .modal-header { border-bottom-color: rgba(74, 10, 8, 0.08); }
.evo-body .modal-footer { border-top-color: rgba(74, 10, 8, 0.08); }
.evo-body .list-group-item-action:hover { background: rgba(198, 45, 40, 0.06); }

/* Bouton principal de connexion (identique à IMF Bogo) */
.btn-evo-auth {
  background: linear-gradient(135deg, #e0463f 0%, var(--evo-accent) 40%, #8f1a16 100%);
  border: none; color: #fff !important; font-weight: 600; font-size: 0.98rem; letter-spacing: 0.02em;
  padding: 0.72rem 1rem; border-radius: 0.65rem !important;
}
.btn-evo-auth:hover { color: #fff !important; box-shadow: 0 10px 28px rgba(198, 45, 40, 0.35) !important; }
.btn-outline-evo-auth {
  border: 1px solid rgba(198, 45, 40, 0.45); color: var(--evo-accent) !important;
  background: rgba(255, 255, 255, 0.7); font-weight: 600; font-size: 0.875rem;
  border-radius: 0.6rem !important; padding: 0.45rem 0.95rem;
}
.btn-outline-evo-auth:hover { background: rgba(198, 45, 40, 0.08); border-color: var(--evo-accent); color: var(--evo-navy) !important; }

/* ——— Confort tactile : téléphones ——— */
@media (max-width: 575.98px) {
  .evo-body .btn:not(.btn-sm):not(.btn-close) { min-height: 2.9rem; padding-left: 1.1rem; padding-right: 1.1rem; }
  .evo-body .btn-sm { min-height: 2.35rem; }
  .evo-body .form-control, .evo-body .form-select { min-height: 3rem; }
  .evo-body .form-control-sm, .evo-body .form-select-sm { min-height: 2.6rem; }
  .evo-content { padding-left: 0.85rem; padding-right: 0.85rem; }
  .evo-content .table > :not(caption) > * > * { padding: 0.6rem 0.55rem; }
  .evo-content .card-body { padding: 0.9rem; }
  .evo-content h1.h3 { font-size: 1.35rem; }
  .evo-content h1.h4 { font-size: 1.2rem; }
  .evo-content .d-flex.justify-content-between.align-items-center.mb-3,
  .evo-content .d-flex.justify-content-between.align-items-center.mb-4 { flex-wrap: wrap; gap: 0.6rem; }
  .evo-content .modal-dialog { margin: 0.6rem; }
}
/* Écrans très étroits (petits téléphones) */
@media (max-width: 359.98px) {
  .evo-topbar .evo-user-name { display: none !important; }
  .evo-kpi .value { font-size: 1rem; }
}
/* Téléphone en mode paysage : barre du haut plus fine */
@media (max-height: 480px) and (orientation: landscape) {
  :root { --evo-topbar-h: 3rem; }
}
/* Écrans tactiles : pas d'effet de survol « collant » */
@media (hover: none) {
  .evo-body .btn:hover { transform: none; box-shadow: none; }
  .evo-kpi:hover { transform: none; }
}
/* Grands écrans / TV */
@media (min-width: 1920px) {
  html { font-size: 17px; }
  .evo-content { max-width: 1800px; }
}
/* Respect des encoches (iPhone, etc.) */
@supports (padding: env(safe-area-inset-left)) {
  .evo-content { padding-left: max(0.85rem, env(safe-area-inset-left)); padding-right: max(0.85rem, env(safe-area-inset-right)); padding-bottom: max(2rem, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .evo-body *, .evo-body *::before, .evo-body *::after { transition: none !important; animation: none !important; }
}

/* ——— Page de vente (caisse) ——— */
#productResults .list-group-item { padding: 0.75rem 0.9rem; }
@media (max-width: 991.98px) {
  #submitBtn { position: sticky; bottom: 0.75rem; z-index: 5; box-shadow: 0 8px 24px rgba(74, 10, 8, 0.25); }
}

/* ——— Pages de connexion / inscription (mêmes codes que Bogo) ——— */
body.evo-auth-body {
  font-family: var(--evo-font);
  min-height: 100vh; display: flex; flex-direction: column; color: #2b1412;
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(ellipse 100% 55% at 100% -5%, rgba(255, 138, 128, 0.1), transparent 52%),
    radial-gradient(ellipse 70% 45% at 0% 105%, rgba(198, 45, 40, 0.14), transparent 48%),
    linear-gradient(168deg, #fdf4f3 0%, #fbe6e3 48%, #f6d3cf 100%);
}
.evo-auth-nav { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid rgba(74, 10, 8, 0.08); }
.evo-auth-brand { display: flex; align-items: center; gap: 0.65rem; text-decoration: none; color: var(--evo-navy) !important; font-weight: 700; font-size: 1rem; letter-spacing: -0.02em; }
.evo-auth-brand small { display: block; font-weight: 600; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--evo-accent); }
.evo-auth-brand .brand-badge {
  width: 2.65rem; height: 2.65rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.3rem; color: var(--evo-navy); background: linear-gradient(145deg, #ffc9c4, var(--evo-gold));
  box-shadow: 0 2px 8px rgba(74, 10, 8, 0.15);
}
.evo-auth-main { flex: 1; display: flex; align-items: center; padding: clamp(1.25rem, 4vw, 2rem) 0; }
.evo-auth-container { max-width: 28rem; }
.evo-auth-container.evo-auth-wide { max-width: 36rem; }
.evo-auth-card {
  position: relative; background: rgba(255, 255, 255, 0.97); border-radius: 1.25rem;
  border: 1px solid rgba(74, 10, 8, 0.07); overflow: hidden;
  box-shadow: 0 1px 2px rgba(74, 10, 8, 0.04), 0 22px 48px rgba(74, 10, 8, 0.1);
}
.evo-auth-card-accent { height: 4px; background: linear-gradient(90deg, var(--evo-accent), var(--evo-gold)); }
.evo-auth-card-body { padding: 1.75rem 1.35rem 1.5rem; }
@media (min-width: 576px) { .evo-auth-card-body { padding: 2.25rem 2rem 1.85rem; } }
.evo-auth-icon-wrap {
  width: 3.65rem; height: 3.65rem; border-radius: 1rem; display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem; background: linear-gradient(145deg, rgba(198, 45, 40, 0.16), rgba(255, 138, 128, 0.12));
  color: var(--evo-navy); font-size: 1.65rem;
}
.evo-auth-title { font-weight: 800; letter-spacing: -0.03em; color: var(--evo-navy); font-size: 1.35rem; text-align: center; margin-bottom: 0.35rem; line-height: 1.2; }
.evo-auth-sub { text-align: center; color: #4d5b78; font-size: 0.92rem; margin-bottom: 1.5rem; line-height: 1.45; }
.evo-auth-form .form-control, .evo-auth-form .form-select { border-radius: 0.65rem; border-color: rgba(74, 10, 8, 0.14); padding: 0.62rem 0.95rem; font-size: 1rem; }
.evo-auth-form .form-control::placeholder { color: #9aa5bb; }
.evo-auth-form .input-group:focus-within { box-shadow: 0 0 0 0.2rem rgba(198, 45, 40, 0.2); border-radius: 0.65rem; }
.evo-auth-form .input-group:focus-within .form-control { box-shadow: none; }
.evo-auth-form .input-group .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.evo-auth-form .input-group .btn-eye {
  border: 1px solid rgba(74, 10, 8, 0.14); border-left: 0; border-radius: 0 0.65rem 0.65rem 0 !important;
  background: linear-gradient(180deg, #fff8f7, #fdecea); color: var(--evo-accent); min-width: 3rem; box-shadow: none !important; transform: none !important;
}
.evo-auth-form .input-group .btn-eye:hover { background: #fbdedb; }
.evo-auth-footer-note { text-align: center; font-size: 0.9rem; color: #556175; padding-top: 1.15rem; margin-top: 1.15rem; border-top: 1px solid rgba(74, 10, 8, 0.07); }
.evo-auth-footer-note a { color: var(--evo-accent); font-weight: 600; text-decoration: none; }
.evo-auth-footer-note a:hover { text-decoration: underline; }
.evo-auth-page-footer { text-align: center; padding: 0.75rem 1rem 1.25rem; font-size: 0.8125rem; color: #64708b; }
.evo-auth-alerts .alert { border-radius: 0.65rem; border: none; font-size: 0.9rem; }
.evo-auth-alerts .alert-danger { background: rgba(220, 53, 69, 0.1); color: #842029; }
.evo-auth-alerts .alert-success { background: rgba(25, 135, 84, 0.12); color: #0f5132; }

/* ——— Impression : on ne garde que le contenu ——— */
@media print {
  .no-print, .evo-sidebar, .evo-topbar, .offcanvas-backdrop { display: none !important; }
  .evo-shell { display: block !important; min-height: 0 !important; }
  .evo-main { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  .evo-content { padding: 0.2in !important; max-width: 100% !important; }
  .evo-content .card { box-shadow: none !important; }
  @page { margin: 12mm; }
}

/* ===================== EVOLUDIA : surcharges rouge (couleur du logo) ===================== */
:root {
  --bs-primary: #c62d28; --bs-primary-rgb: 198, 45, 40;
  --bs-link-color: #c62d28; --bs-link-color-rgb: 198, 45, 40;
  --bs-link-hover-color: #a3211d; --bs-link-hover-color-rgb: 163, 33, 29;
  --evo-red: #c62d28; --evo-red-dark: #a3211d; --evo-red-soft: rgba(198, 45, 40, 0.1);
}
.btn-primary { --bs-btn-bg: #c62d28; --bs-btn-border-color: #c62d28; --bs-btn-hover-bg: #a3211d; --bs-btn-hover-border-color: #a3211d; --bs-btn-active-bg: #8f1a16; --bs-btn-active-border-color: #8f1a16; --bs-btn-disabled-bg: #c62d28; --bs-btn-disabled-border-color: #c62d28; --bs-btn-focus-shadow-rgb: 198, 45, 40; }
.btn-outline-primary { --bs-btn-color: #c62d28; --bs-btn-border-color: #c62d28; --bs-btn-hover-bg: #c62d28; --bs-btn-hover-border-color: #c62d28; --bs-btn-active-bg: #a3211d; --bs-btn-active-border-color: #a3211d; --bs-btn-focus-shadow-rgb: 198, 45, 40; }
.form-check-input:checked { background-color: #c62d28; border-color: #c62d28; }
.form-check-input:focus { border-color: #e0463f; box-shadow: 0 0 0 .25rem rgba(198, 45, 40, .2); }
.progress-bar { background-color: #c62d28; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background-color: #c62d28; }
.nav-tabs .nav-link.active { color: #c62d28; border-bottom-color: #c62d28; }
.nav-tabs .nav-link { color: #6b4a47; }
.list-group-item.active { background-color: #c62d28; border-color: #c62d28; }

/* Logo */
.evo-sidebar .brand-logo { width: 9.5rem; max-width: 80%; height: auto; display: block; margin: 0 auto .35rem; }
.evo-brand-mark { height: 2.4rem; width: auto; display: block; }
.evo-auth-brand-img { height: 2.4rem; width: auto; }

/* Fiches (formulaires, fiches imprimables) : bandeau rouge */
.evo-content .card.evo-fiche { border-top: 4px solid var(--evo-red); }
.evo-fiche-head { background: var(--evo-red); color: #fff; border-radius: .75rem .75rem 0 0; padding: 1rem 1.25rem; display: flex; align-items: center; gap: 1rem; }
.evo-fiche-head img { height: 2.6rem; }
.evo-fiche-head h2 { color: #fff !important; font-size: 1.1rem; margin: 0; }
.evo-fiche-head small { color: rgba(255, 255, 255, .8); }
.evo-kv dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #8a6360; font-weight: 600; }
.evo-kv dd { margin-bottom: .75rem; }
.evo-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .75rem; border-radius: 50rem; background: var(--evo-red-soft); color: var(--evo-red-dark) !important; font-weight: 600; font-size: .85rem; text-decoration: none; border: 1px solid rgba(198, 45, 40, .25); }
.evo-chip:hover { background: var(--evo-red); color: #fff !important; }
.evo-bar { height: .55rem; border-radius: 50rem; background: #f3dcda; overflow: hidden; }
.evo-bar > span { display: block; height: 100%; background: linear-gradient(90deg, #e0463f, #c62d28); }
.evo-chart-row { display: flex; align-items: center; gap: .75rem; margin-bottom: .55rem; font-size: .88rem; }
.evo-chart-row .lbl { width: 8.5rem; flex-shrink: 0; color: #5b3a37; }
.evo-chart-row .evo-bar { flex: 1; height: .8rem; }
.evo-chart-row .val { width: 3rem; text-align: right; font-weight: 700; color: var(--evo-navy); }
.evo-late { color: #b02a37; font-weight: 600; }
.evo-msg-unread { font-weight: 700; background: #fff7f6; }
@media print {
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .evo-fiche-head { background: var(--evo-red) !important; }
}

/* Connexion : panneau rouge avec logo */
.evo-login-wrap { min-height: 100vh; display: flex; }
.evo-login-side { flex: 1.05; background: radial-gradient(circle at 20% 10%, #e0463f 0, #c62d28 45%, #8f1a16 100%); color: #fff; display: none; padding: 3rem; flex-direction: column; justify-content: center; align-items: flex-start; position: relative; overflow: hidden; }
.evo-login-side::after { content: ""; position: absolute; right: -8rem; bottom: -8rem; width: 26rem; height: 26rem; border-radius: 50%; background: rgba(255, 255, 255, .07); }
.evo-login-side img { width: 15rem; max-width: 70%; margin-bottom: 2rem; }
.evo-login-side h2 { color: #fff !important; font-weight: 800; font-size: 1.9rem; }
.evo-login-side p { color: rgba(255, 255, 255, .85); max-width: 28rem; }
.evo-login-side ul { list-style: none; padding: 0; margin: 1.25rem 0 0; position: relative; z-index: 1; }
.evo-login-side li { display: flex; gap: .6rem; align-items: center; margin-bottom: .55rem; color: #fff; }
.evo-login-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 1.5rem; background: linear-gradient(168deg, #fdf4f3, #fbe6e3); }
@media (min-width: 992px) { .evo-login-side { display: flex; } }
.evo-login-mobile-logo { background: var(--evo-red); border-radius: 1rem; padding: .9rem; text-align: center; margin-bottom: 1.25rem; }
.evo-login-mobile-logo img { height: 3.4rem; }
@media (min-width: 992px) { .evo-login-mobile-logo { display: none; } }
