.session-flash { max-width: 1160px; margin: 18px auto 0; }
.stage-stepper { max-width: 1160px; margin: 18px auto 28px; display: flex; align-items: center; gap: 0; }
.stage-step { display: flex; align-items: center; gap: 11px; flex: 1; min-height: 58px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: rgba(255,255,255,.35); text-decoration: none; font-size: 13px; font-weight: 700; }
.stage-step.active { border-color: var(--ink); background: var(--ink); color: #fff; }
.stage-step.locked { opacity: .62; cursor: not-allowed; }
.stage-step small { display: block; margin-bottom: 2px; color: var(--rust); font: 10px 'DM Mono'; letter-spacing: .12em; }
.stage-step.active small { color: #f4b79f; }
.stage-number { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; font: 700 14px 'Nunito Sans'; }
.stage-step.active .stage-number { background: var(--rust); border-color: var(--rust); color: #fff; }
.stage-connector { flex: 0 0 38px; height: 2px; background: var(--line); }
.stage-connector.complete { background: var(--rust); }
.section-save-form { display: flex; justify-content: flex-end; border-top: 1px solid var(--line); padding: 18px 0 20px; margin-top: 2px; }
.section-save-form .section-save { min-width: 150px; }
.section-nav-link { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.55); color: var(--ink); font-weight: 700; }
.section-nav-link.next { border-color: var(--ink); background: var(--ink); color: #fff; }
.section-nav-link.disabled { visibility: visible; opacity: .5; pointer-events: none; }
@media(max-width:760px) {
  .session-flash { margin: 16px 20px 0; }
  .stage-stepper { margin: 16px 20px 24px; display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr); }
  .stage-step { min-height: 62px; padding: 8px; gap: 7px; font-size: 11px; }
  .stage-step small { font-size: 8px; }
  .stage-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 12px; }
  .stage-connector { flex-basis: auto; width: 100%; }
  .section-save-form { display: block; }
  .section-save-form .section-save { width: 100%; }
  .section-nav-link { min-height: 46px; padding: 9px 6px; text-align: center; font-size: 11px; }
}
