/* ── Indicador de passos ───────────────────────────────── */
.steps-wrapper { display:flex; align-items:center; margin-bottom:2rem; }
.step-item { display:flex; flex-direction:column; align-items:center; flex:1; position:relative; }
.step-item:not(:last-child)::after {
  content:''; position:absolute; top:18px; left:50%;
  width:100%; height:2px; background:var(--bs-border-color); z-index:0;
}
.step-item.done::after { background:#198754; }
.step-circle {
  width:36px; height:36px; border-radius:50%;
  border:2px solid var(--bs-border-color);
  display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:.85rem;
  background:var(--bs-body-bg); position:relative; z-index:1; transition:all .25s;
}
.step-item.active .step-circle { border-color:var(--bs-primary); color:var(--bs-primary); }
.step-item.done   .step-circle { border-color:#198754; background:#198754; color:#fff; }
.step-label { font-size:.72rem; margin-top:.35rem; color:var(--bs-secondary-color); }
.step-item.active .step-label  { color:var(--bs-primary); font-weight:600; }
.step-item.done   .step-label  { color:#198754; }

/* ── Foto / Cropper ────────────────────────────────────── */
#cropper-box { max-height:320px; overflow:hidden; }
#cropper-box img { max-width:100%; display:block; }
#preview-avatar {
  width:120px; height:120px; border-radius:50%;
  object-fit:cover; border:3px solid var(--bs-border-color);
}
.upload-area {
  border:2px dashed var(--bs-border-color); border-radius:.75rem;
  padding:2.5rem 1rem; text-align:center; cursor:pointer; transition:border-color .2s;
}
.upload-area:hover { border-color:var(--bs-primary); }