/* =========================================================
   CALENDRIER DYNAMIQUE — stepper compact + grille de statut
   ========================================================= */


.bp-calendar-dynamic{margin: 1.5rem 0;}
/* ---------- Stepper compact horizontal ---------- */
.bp-stepper{
  list-style:none; display:flex; flex-wrap:wrap; gap:0;
  padding:0; margin:0 0 2rem; position:relative;
}
.bp-stepper::before{
  content:""; position:absolute; top:20px; left:5%; right:5%; height:0;
  border-top:2px dashed var(--border); z-index:0;
}
.bp-stepper-item{
  flex:1 1 0; display:flex; flex-direction:column; align-items:center;
  position:relative; z-index:1; min-width:70px; text-align:center;
}
.bp-stepper-circle{
  width:40px; height:40px; border-radius:50%; display:flex;
  align-items:center; justify-content:center; font-weight:800;
  background:var(--surface); border:2px solid var(--border);
  color:var(--text-secondary); margin-bottom:.4rem; font-size:.9rem;
}
.bp-stepper-label{ font-size:.75rem; font-weight:700; color:var(--text-secondary); }

.bp-stepper-item--done .bp-stepper-circle{
  background:var(--accent); border-color:var(--accent); color:#fff;
}
.bp-stepper-item--done .bp-stepper-label{ color:var(--accent-dark); }

.bp-stepper-item--current .bp-stepper-circle{
  background:var(--primary); border-color:var(--primary); color:#fff;
  box-shadow:0 0 0 4px var(--info-bg);
}
.bp-stepper-item--current .bp-stepper-label{ color:var(--primary); }

/* ---------- Résumé étape en cours ---------- */
.bp-calendar-summary{
  display:flex; flex-wrap:wrap; justify-content:space-between;
  align-items:center; gap:1.5rem; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius);
  padding:1.25rem 1.5rem; margin-bottom:2rem;
}
.bp-calendar-progress{ min-width:220px; flex:1 1 220px; }

/* ---------- Cartes de statut ---------- */
.bp-calendar-card{ border-width:1px; }
.bp-calendar-card--current{
  border-color:var(--primary); border-width:2px;
  box-shadow:0 0 0 3px var(--info-bg);
}

.bp-calendar-card-icon{
  width:2.4rem; height:2.4rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; flex-shrink:0;
}
.bp-calendar-card-icon--done{ background:var(--success-bg); color:var(--accent-dark); }
.bp-calendar-card-icon--current{ background:var(--primary); color:#fff; }
.bp-calendar-card-icon--upcoming{ background:#EDEFF1; color:var(--text-secondary); }

.bp-status-pill{
  display:inline-flex; align-items:center; padding:.25rem .6rem;
  border-radius:999px; font-size:.72rem; font-weight:800;
}
.bp-status-pill--done{ background:var(--success-bg); color:var(--accent-dark); }
.bp-status-pill--current{ background:var(--info-bg); color:var(--primary); }
.bp-status-pill--upcoming{ background:#EDEFF1; color:var(--text-secondary); }
