/* style_dashboard.css – Dashboard (2 blocs + KPI égales + charte) */

:root{
  --em-primary:#BAA883;
  --em-primary-600:#a8986f;
  --em-ink:#0f172a;
  --em-muted:#6c757d;
  --em-bg:#ffffff;
  --em-border:#e9ecef;

  --status-success:#2e7046;
  --status-info:#0ea5e9;
  --status-warning:#f59e0b;
  --status-danger:#ef4444;
  --status-muted:#94a3b8;

  --ring:#CCC0A6;
  --ring-alpha: rgba(204,192,166,.25);
}

html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--em-bg);color:var(--em-ink)}

/* Cartes & containers */
.card-header{border-bottom:1px solid var(--em-border)}
.bg-filter{background:#fff}
.shadow-sm{box-shadow:0 8px 20px rgba(15,23,42,.04)}

/* Bandeau de bienvenue */
.hero-welcome{
  background:linear-gradient(0deg, rgba(186,168,131,.05), rgba(186,168,131,.05));
}
.hero-welcome .h3{letter-spacing:.1px}

/* Légende statuts */
.legend{color:var(--em-muted)}
.legend .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:999px;margin-right:.35rem;vertical-align:middle}
.bg-status-success{background:var(--status-success)!important;color:#fff}
.bg-status-info{background:var(--status-info)!important;color:#fff}
.bg-status-warning{background:var(--status-warning)!important;color:#111}
.bg-status-danger{background:var(--status-danger)!important;color:#fff}
.bg-status-muted{background:var(--status-muted)!important;color:#fff}

/* Thumbnails & progress */
.thumb{width:60px;height:60px;object-fit:cover;border-radius:12px}
.thumb.thumb-md{width:72px;height:72px;border-radius:14px}
.progress.progress-thin{height:8px;background:#edf2f7}
.progress .progress-bar{transition:width .5s ease}

/* Chips (filtres actifs) */
.chip{
  display:inline-flex;align-items:center;gap:.25rem;
  padding:.375rem .625rem;border-radius:999px;
  background:rgba(186,168,131,.12);color:#6b5e43;
  text-decoration:none;border:1px solid rgba(186,168,131,.4);
  transition:transform .15s ease, background .2s ease;
  font-size:.85rem
}
.chip:hover{transform:translateY(-1px);background:rgba(186,168,131,.18);color:#564c37}

/* Boutons outline brand */
.btn-outline-primary{
  --bs-btn-color:var(--em-primary);
  --bs-btn-border-color:var(--em-primary);
  --bs-btn-hover-bg:var(--em-primary);
  --bs-btn-hover-border-color:var(--em-primary);
  --bs-btn-hover-color:#fff;
}

/* Tableaux */
.table thead th{
  border-bottom:2px solid var(--em-border);
  font-weight:600;
}
.table tbody tr:hover{background:#fafafa}

/* Empty state */
.empty-illustration{max-width:200px;height:auto;opacity:.9}

/* Focus ring harmonisé */
:root{
  --bs-focus-ring-width:.2rem;
  --bs-focus-ring-color:var(--ring-alpha);
}
.form-control:focus,.form-select:focus,.btn:focus,.page-link:focus{
  outline:none!important;box-shadow:0 0 0 .2rem var(--ring-alpha)!important;border-color:var(--ring)!important;
}

/* Pagination brand */
.pagination .page-link{color:var(--em-primary);border-color:var(--em-primary)}
.pagination .page-link:hover{background:var(--em-primary);color:#fff;border-color:var(--em-primary)}
.page-item.active .page-link{background:var(--em-primary)!important;border-color:var(--em-primary)!important;color:#fff!important}

/* KPIs */
.row-eq > [class*="col-"]{display:flex}
.kpi-card{
  border:1px solid var(--em-border);
  border-radius:14px;
  padding:1rem 1.25rem;
  background:#fff;
  display:flex;flex-direction:column;gap:.25rem;
  width:100%;
  min-height:120px; /* garantit même hauteur */
}
.kpi-icon{color:var(--em-primary);opacity:.95;font-size:1.25rem;margin-bottom:.25rem}
.kpi-label{font-size:.85rem;color:var(--em-muted)}
.kpi-value{font-size:1.35rem;font-weight:700;color:#111}
.kpi-sub{font-size:.8rem;color:var(--em-muted)}
.kpi-link{font-size:.8rem;text-decoration:none}
.kpi-link:hover{text-decoration:underline}

/* Reco cards */
.card .card-img-top{height:180px;object-fit:cover;border-top-left-radius:.5rem;border-top-right-radius:.5rem}

/* Marges entre les 2 blocs principaux */
.mb-4{margin-bottom:1.5rem!important}

/* Responsive */
@media (max-width: 991.98px){
  .thumb{width:56px;height:56px;border-radius:10px}
  .card-header h1,.card-header .h4,.hero-welcome .h3{font-size:1.05rem}
  .kpi-value{font-size:1.15rem}
}

/* Callout profil à compléter */
.profile-callout{
  background: rgba(186,168,131,.08);
  border: 1px solid rgba(186,168,131,.35);
  border-radius: 12px;
  padding: .85rem 1rem;
}
.profile-callout .icon-wrap{
  color: #BAA883;
  font-size: 1.1rem;
  line-height: 1;
  margin-top: .15rem;
}

/* Bouton Annuler (danger) — cohérent avec ta charte */
.btn-outline-danger{
  --bs-btn-color: var(--status-danger);
  --bs-btn-border-color: var(--status-danger);
  --bs-btn-hover-bg: var(--status-danger);
  --bs-btn-hover-border-color: var(--status-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--status-danger);
  --bs-btn-active-border-color: var(--status-danger);
  --bs-btn-disabled-color: var(--status-danger);
  --bs-btn-disabled-border-color: var(--status-danger);
}

/* (optionnel) pour le bouton "Télécharger" si tu veux l’harmoniser */
.btn-outline-secondary{
  --bs-btn-color: var(--em-muted);
  --bs-btn-border-color: var(--em-border);
  --bs-btn-hover-bg: var(--em-muted);
  --bs-btn-hover-border-color: var(--em-muted);
  --bs-btn-hover-color: #fff;
}

/* Regroupe joliment les actions dans le tableau */
.action-buttons{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.action-buttons .btn{ min-width: 92px; } /* évite le "saut" quand le texte change */

/* Petite ligne sous le bouton pour l’échéance de cooling-off */
.cooling-deadline{
  display:block;
  width:100%;
  text-align:center;
  font-size:.775rem;
  color:var(--em-muted);
  margin-top:.25rem;
}