
/* Front UI */
.smj-wizard { max-width: 720px; margin: 18px auto; }
.smj-card { background: #fff; border: 1px solid #e7e7e7; border-radius: 10px; box-shadow: 0 1px 2px rgba(0,0,0,.04); overflow: hidden; margin-bottom: 16px; }
.smj-card-header { padding: 12px 16px; border-bottom: 1px solid #eee; font-weight: 600; display:flex; align-items:center; gap:12px; }
.smj-card-body { padding: 16px; }
.smj-card-footer { padding: 12px 16px; border-top: 1px solid #eee; display:flex; justify-content: space-between; gap:8px; }
.smj-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.smj-grid label { display:flex; flex-direction:column; gap:6px; }
.smj-step { display:none; }
.smj-step.is-active { display:block; }
.smj-welcome { font-size: 1.1rem; margin-bottom: 12px; }
.smj-questions .smj-question { display:none; }
.smj-questions .smj-question.is-active { display:block; }
.smj-progress { position: relative; height: 8px; background:#f2f2f2; border-radius: 6px; overflow:hidden; flex:1; }
.smj-progress-bar { width:0%; height:100%; background:#2271b1; transition: width .25s ease; }
.smj-progress-text { font-size:.9rem; color:#555; white-space:nowrap; }
.smj-submit.is-hidden { display:none; }
.smj-opt { display:block; padding:8px 10px; border:1px solid #eee; border-radius:8px; margin:6px 0; cursor:pointer; }
.smj-opt:hover { background:#fafafa; }
.smj-error { padding:10px; background:#fff0f0; border:1px solid #ffd0d0; border-radius:8px; margin-top:8px; }
@media (max-width:640px){ .smj-grid { grid-template-columns: 1fr; } }
