*{box-sizing:border-box}
body{font-family:-apple-system,Segoe UI,Arial,sans-serif;background:#f4f3fb;margin:0;color:#222}
.wrap{max-width:640px;margin:0 auto;padding:2rem 1rem}
.brandbar{background:#7351FF;color:#fff;padding:1rem 1.5rem;border-radius:12px 12px 0 0;font-weight:bold;font-size:1.1rem}
.steps{display:flex;justify-content:space-between;background:#fff;padding:1rem 1.2rem;font-size:.72rem;color:#999;flex-wrap:wrap;gap:.4rem}
.step{display:flex;align-items:center;gap:.35rem}
.step.active{color:#7351FF;font-weight:bold}
.step.done{color:#2e7d32}
.dot{width:20px;height:20px;border-radius:50%;background:#eee;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem}
.step.active .dot{background:#7351FF;color:#fff}
.step.done .dot{background:#2e7d32;color:#fff}
.card{background:#fff;padding:2rem;border-radius:0 0 12px 12px;box-shadow:0 4px 20px rgba(0,0,0,.06)}
h2{color:#7351FF;margin-top:0}
label{display:block;font-size:.85rem;font-weight:bold;margin:1rem 0 .3rem}
input[type=text],input[type=password],input[type=email],input[type=number],select{
  width:100%;padding:.65rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem
}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
button,.btn{background:#7351FF;color:#fff;border:0;padding:.8rem 1.6rem;border-radius:8px;font-weight:bold;cursor:pointer;font-size:.95rem}
button.secondary{background:#eee;color:#333}
button.gold{background:#F6C101;color:#222}
.msg{padding:.8rem 1rem;border-radius:8px;margin:1rem 0;font-size:.88rem}
.msg.error{background:#fdecea;color:#c0392b}
.msg.success{background:#eafaf1;color:#1e7e34}
.actions{display:flex;justify-content:space-between;margin-top:1.5rem}
.hint{color:#888;font-size:.8rem;margin-top:.2rem}
