:root {
  --bg: #0d0d0d;
  --card: #161616;
  --text: #e0e0e0;
  --text-sec: #a0a0a0;
  --accent: #6366f1;
  --accent-h: #4f46e5;
  --border: #2a2a2a;
  --success: #10b981;
  --error: #ef4444;
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family: system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  padding: 2rem 1rem;
  line-height: 1.6;
}

.container { max-width: 620px; margin: 0 auto; }

h1 {
  font-size: 2.2rem;
  text-align: center;
  margin-bottom: 0.6rem;
  background: linear-gradient(90deg, #a5b4fc, #c084fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.subtitle { text-align:center; color:var(--text-sec); margin-bottom:2rem; }

.progress {
  display: flex; gap: 6px; margin: 0 0 2rem;
}
.progress span {
  flex:1; height:6px; background:var(--border); border-radius:999px;
}
.progress span.active { background: var(--accent); }

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 25px rgba(0,0,0,0.45);
}

label { display:block; margin:0 0 0.5rem; font-size:0.95rem; color:var(--text-sec); }

input, textarea, select {
  width:100%; padding:0.9rem 1rem;
  background:#1e1e1e; border:1px solid var(--border);
  border-radius:10px; color:var(--text); font-size:1rem;
}
input:focus, textarea:focus, select:focus {
  outline:none; border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(99,102,241,0.2);
}

textarea { min-height:110px; resize:vertical; }

.buttons { display:flex; gap:1rem; margin-top:2rem; }
button {
  flex:1; padding:0.95rem; font-size:1.05rem; font-weight:600;
  border:none; border-radius:10px; cursor:pointer; transition:all 0.2s;
}
.prev  { background:#2a2a2a; color:var(--text); }
.next, .submit { background:var(--accent); color:white; }
.next:hover, .submit:hover { background:var(--accent-h); transform:translateY(-1px); }

#status { margin-top:1.5rem; text-align:center; font-weight:500; min-height:1.4em; }
.success { color:var(--success); }
.error   { color:var(--error);   }