.wiz { max-width: 860px; margin: 0 auto; padding: 14px; }

.wiz__top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.wiz__title { font-size: 22px; font-weight: 800; }
.wiz__sub { opacity: 0.8; margin-top: 2px; }

.wiz__actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.wiz__link { text-decoration: none; border-bottom: 1px solid transparent; }
.wiz__link:hover { border-bottom-color: currentColor; }
.wiz__danger { color: #d33; }

.wiz__card { margin-top: 14px; padding: 14px; border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; }
.wiz__card--blocks { opacity: 0.95; }

.wiz__blockText { margin-top: 8px; }
.wiz__callout {
  margin-top: 10px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(100, 160, 255, 0.35);
  background: rgba(100, 160, 255, 0.08);
}

.wiz__q { margin-top: 14px; }
.wiz__choice { display:block; margin-top: 6px; }

.wiz__nav { display:flex; gap:10px; margin-top: 14px; flex-wrap:wrap; }

.wiz__error { margin-top: 10px; padding: 10px; border: 1px solid rgba(255,0,0,0.35); border-radius: 10px; }

.wiz__copy { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top: 12px; }
.wiz__copy input { width: min(680px, 100%); }

.muted { opacity: 0.75; }

/* Stepper + progress */
.wiz__stepper { display:flex; gap:10px; margin-top: 12px; flex-wrap:wrap; }

.wiz__step {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  opacity: 0.7;
  text-decoration: none;
  color: inherit;
  display: inline-block;
}
.wiz__step:hover { opacity: 1; }
.wiz__step--done { opacity: 1; font-weight: 700; border-color: rgba(12, 200, 120, 0.45); }
.wiz__step--current { opacity: 1; font-weight: 700; border-color: rgba(100, 160, 255, 0.55); }
.wiz__step--todo { opacity: 0.55; }
.wiz__step--optional { opacity: 0.6; border-style: dashed; }

.wiz__opt {
  margin-left: 8px;
  font-size: 10px;
  opacity: 0.7;
}

.wiz__progress { margin-top: 10px; height: 10px; border-radius: 999px; background: rgba(255,255,255,0.10); overflow:hidden; }
.wiz__progressbar { height: 100%; background: rgba(100, 160, 255, 0.75); }

.wiz__meta { display:flex; gap: 14px; align-items: baseline; justify-content: space-between; flex-wrap: wrap; }
.wiz__progresslabel { margin-top: 6px; font-size: 12px; opacity: 0.75; }
.wiz__saved { font-size: 12px; opacity: 0.75; }

.wiz__messages { margin-top: 12px; }
.wiz__msg { padding: 10px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.12); }
.wiz__msg--success { border-color: rgba(12, 200, 120, 0.45); }

/* Buttons */
.wiz__btn {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
}
.wiz__btn:hover { background: rgba(255,255,255,0.10); }
.wiz__btn--primary { border-color: rgba(100, 160, 255, 0.55); }
.wiz__btn[disabled] { opacity: 0.5; cursor: not-allowed; }

.wiz__grid { display:flex; gap:10px; flex-wrap:wrap; margin-top: 12px; }

.wiz__field { margin-top: 12px; }
.wiz__label { display:block; margin-bottom: 6px; font-weight: 700; }
.wiz__fieldError { margin-top: 6px; opacity: 0.9; }

.wiz__notice { margin-top: 10px; padding: 10px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.12); }