/* Stepper + Layout */
.wizard {display:grid; grid-template-columns:220px 1fr; gap:24px}
@media (max-width:900px){ .wizard{grid-template-columns:1fr} .steps{display:flex; overflow:auto; gap:6px} }
.steps {background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:12px}
.step {display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:10px; cursor:pointer; user-select:none}
.step .num{width:28px; height:28px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-weight:700; border:2px solid #10b981; color:#10b981; background:#ecfdf5; font-size:13px}
.step .ttl{font-weight:600; color:#0f5132; font-size:14px}
.step.active{background:#f0fdf4}
.step.done .num{background:#10b981; color:#fff}
.content {background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:18px}

/* Progress bar */
#progress {height:8px; background:#eef2ff; border-radius:999px; overflow:hidden; margin-bottom:12px}
#progressInner {height:100%; width:0%; background:#15803d; transition:width .2s ease}

/* Alert banner */
#formAlert.hidden{display:none}
#formAlert{background:#fef2f2; border:1px solid #fecaca; color:#991b1b; padding:10px 12px; border-radius:10px; margin-bottom:12px}

/* Form controls */
.grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:780px){ .grid{grid-template-columns:1fr} }
.field label{display:block; font-size:13px; color:#374151; margin-bottom:6px}
.field input,.field select,.field textarea{width:100%; border:1px solid #d1d5db; border-radius:10px; padding:10px}
.req{color:#ef4444}
.err{color:#dc2626; font-size:12px; margin-top:6px; display:none}

/* Buttons */
.actions{display:flex; gap:8px; justify-content:flex-end; margin-top:16px}
.btn{border:0; border-radius:10px; padding:12px 16px; cursor:pointer}
.btn-primary{background:#15803d; color:#fff}
.btn-light{background:#e2f3e7; color:#064e3b}
.btn[disabled]{opacity:.55; cursor:not-allowed}

/* Statement */
.statement{background:#f8fafc; border:1px solid #e5e7eb; border-radius:12px; padding:12px; display:none; margin-top:10px; max-height:260px; overflow:auto}
.toggle-statement{border:1px solid #10b981; background:#ecfdf5; color:#065f46}
.hdr-mini{font-size:18px; font-weight:700; color:#0f5132; margin:0 0 12px}
.help{color:#64748b; font-size:12px}
