/* ============================================================================
   Charte graphique Buyco v4 — couche d'application pour l'app KPI Adhérents.
   Chargée APRÈS bootstrap.css et app.css : surcharge le thème par variables.
   Source de vérité : charte_graphique_buyco.md (v4, mai 2026).
   Principe : bleu marine #1A3C6E en accent, ambre #E67912 en CTA, neutres
   sobres, pas d'ombre, radius contenus. Vert Buyco = logo uniquement.
   ============================================================================ */

:root {
  /* Couleur produit (chrome UI) */
  --bco-primary:#1A3C6E; --bco-primary-dark:#0D2A54;
  --bco-primary-100:#DDE8F5; --bco-primary-50:#E6F1FB;
  /* Couleur action (CTA) */
  --bco-action:#E67912; --bco-action-dark:#C5650A; --bco-action-100:#FDF0DD;
  /* Sémantique */
  --bco-success:#0F6E56; --bco-success-100:#E1F5EE;
  --bco-warning:#BA7517; --bco-warning-100:#FAEEDA;
  --bco-danger:#A32D2D;  --bco-danger-100:#FCEBEB;
  /* Neutres */
  --bco-text:#1A1A1A; --bco-text-muted:#6B6B6B; --bco-text-subtle:#888780;
  --bco-surface:#FFFFFF; --bco-bg:#F0F3F8;
  --bco-border:rgba(0,0,0,.12); --bco-border-strong:rgba(0,0,0,.20);
  /* Radius */
  --bco-radius-sm:6px; --bco-radius-md:8px; --bco-radius-lg:10px; --bco-radius-xl:14px;

  /* Remappage des variables Bootstrap 5.3 sur la charte */
  --bs-primary:#1A3C6E;
  --bs-primary-rgb:26,60,110;
  --bs-link-color:#1A3C6E; --bs-link-color-rgb:26,60,110;
  --bs-link-hover-color:#0D2A54;
  --bs-body-color:#1A1A1A; --bs-body-color-rgb:26,26,26;
  --bs-body-bg:#F0F3F8;
  --bs-border-radius:.5rem;
  --bs-border-color:rgba(0,0,0,.12);
}

body {
  background:var(--bco-bg);
  color:var(--bco-text);
  font-family:"Segoe UI", Arial, Helvetica, sans-serif;
}

/* --- Navbar (chrome principal) ------------------------------------------- */
.bco-navbar { background:var(--bco-primary) !important; }
.bco-navbar .navbar-brand span { color:#fff !important; }
.bco-navbar .nav-link { color:rgba(255,255,255,.82); }
.bco-navbar .nav-link:hover { color:#fff; }
.bco-navbar .nav-link.active,
.bco-navbar .show > .nav-link { color:#fff; font-weight:600; }
.bco-navbar .dropdown-menu {
  border:1px solid var(--bco-border); border-radius:var(--bco-radius-md);
  box-shadow:0 6px 24px rgba(13,42,84,.10);
}
.bco-navbar .dropdown-item.active,
.bco-navbar .dropdown-item:active {
  background:var(--bco-primary-100); color:var(--bco-primary-dark);
}

/* --- Liens ---------------------------------------------------------------- */
a { color:var(--bco-primary); }
a:hover { color:var(--bco-primary-dark); }

/* --- Boutons -------------------------------------------------------------- */
.btn { border-radius:var(--bco-radius-md); font-weight:600; }
.btn-primary {
  --bs-btn-bg:var(--bco-primary); --bs-btn-border-color:var(--bco-primary);
  --bs-btn-hover-bg:var(--bco-primary-dark); --bs-btn-hover-border-color:var(--bco-primary-dark);
  --bs-btn-active-bg:var(--bco-primary-dark); --bs-btn-active-border-color:var(--bco-primary-dark);
  --bs-btn-disabled-bg:var(--bco-primary); --bs-btn-disabled-border-color:var(--bco-primary);
}
.btn-outline-primary {
  --bs-btn-color:var(--bco-primary); --bs-btn-border-color:var(--bco-primary);
  --bs-btn-hover-bg:var(--bco-primary-100); --bs-btn-hover-color:var(--bco-primary-dark);
  --bs-btn-hover-border-color:var(--bco-primary); --bs-btn-active-bg:var(--bco-primary);
}
.btn-outline-secondary {
  --bs-btn-color:var(--bco-text-muted); --bs-btn-border-color:var(--bco-border-strong);
  --bs-btn-hover-bg:#F0F3F8; --bs-btn-hover-color:var(--bco-text); --bs-btn-hover-border-color:var(--bco-border-strong);
}
/* CTA principal ambre (un seul par écran) */
.bco-btn-action {
  --bs-btn-bg:var(--bco-action); --bs-btn-border-color:var(--bco-action); --bs-btn-color:#fff;
  --bs-btn-hover-bg:var(--bco-action-dark); --bs-btn-hover-border-color:var(--bco-action-dark); --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--bco-action-dark); --bs-btn-active-border-color:var(--bco-action-dark);
}
/* variante Soft */
.bco-btn-soft {
  --bs-btn-bg:var(--bco-primary-100); --bs-btn-border-color:var(--bco-primary-100); --bs-btn-color:var(--bco-primary);
  --bs-btn-hover-bg:var(--bco-primary-50); --bs-btn-hover-border-color:var(--bco-primary-50); --bs-btn-hover-color:var(--bco-primary-dark);
}

/* --- Cartes (pas d'ombre, élévation par contraste) ------------------------ */
.card {
  background:var(--bco-surface);
  border:1px solid var(--bco-border);
  border-radius:var(--bco-radius-lg);
}
.card, .shadow-sm, .shadow { box-shadow:none !important; }

/* --- Onglets -------------------------------------------------------------- */
.nav-tabs { --bs-nav-tabs-border-color:var(--bco-border); }
.nav-tabs .nav-link { color:var(--bco-text-muted); }
.nav-tabs .nav-link.active {
  color:var(--bco-primary); font-weight:600;
  border-color:var(--bco-border) var(--bco-border) var(--bco-surface);
}

/* --- Tables --------------------------------------------------------------- */
.table { --bs-table-hover-bg:var(--bco-primary-50); }
.table > thead th, .table th { color:var(--bco-text-muted); }

/* --- Formulaires ---------------------------------------------------------- */
.form-control, .form-select { border-radius:var(--bco-radius-md); border-color:var(--bco-border); }
.form-control:focus, .form-select:focus {
  border-color:var(--bco-primary);
  box-shadow:0 0 0 3px rgba(26,60,110,.08);
}

/* --- Badges & sémantique -------------------------------------------------- */
.bg-primary   { background-color:var(--bco-primary) !important; }
.text-primary { color:var(--bco-primary) !important; }
.bg-success   { background-color:var(--bco-success) !important; }
.bg-danger    { background-color:var(--bco-danger)  !important; }
.bg-secondary { background-color:var(--bco-text-muted) !important; }
.badge.bg-light { color:var(--bco-text) !important; }

/* Alertes sobres */
.alert-success { --bs-alert-bg:var(--bco-success-100); --bs-alert-border-color:var(--bco-success); --bs-alert-color:#0b4f3e; }
.alert-danger  { --bs-alert-bg:var(--bco-danger-100);  --bs-alert-border-color:var(--bco-danger);  --bs-alert-color:#7d2222; }
.alert-warning { --bs-alert-bg:var(--bco-warning-100); --bs-alert-border-color:var(--bco-warning); --bs-alert-color:#7d4f0f; }
