
.idm { max-width: 860px; margin: 1rem auto; padding: 1rem 1.25rem; }
.idm__title { margin: 0 0 .75rem; font-size: 1.6rem; }
.idm__card { border:1px solid #e5e7eb; border-radius:14px; padding:1rem; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.idm__card + .idm__card { margin-top: 1rem; }
.idm-field { display:block; margin:.6rem 0; }
.idm-field > span { display:block; font-weight:600; margin-bottom:.3rem; }
.idm-field input { width:100%; padding:.65rem .75rem; border:1px solid #cbd5e1; border-radius:10px; }
.idm__sectionTitle { font-weight:700; margin-bottom:.5rem; }
.idm__qnum { font-size:.95rem; color:#6b7280; margin-bottom:.35rem; }
.idm__qtext { font-size:1.05rem; margin-bottom:.5rem; font-weight:600; }
.idm__opt { display:block; padding:.45rem .55rem; border:1px solid #e5e7eb; border-radius:10px; margin:.35rem 0; cursor:pointer; }
.idm__opt input { margin-right:.5rem; }
.idm__opt:hover { background:#f9fafb; }
.idm__nav { display:flex; gap:.5rem; justify-content:flex-end; margin-top:.6rem; }
.idm__next, .idm__back, .idm__submit { padding:.55rem .95rem; border-radius:10px; border:1px solid #0A3858; background:#0A3858; color:#fff; cursor:pointer; }
.idm__back { background:#6b7280; border-color:#6b7280; }
.idm__next[disabled], .idm__submit[disabled] { opacity:.55; cursor:not-allowed; }
.idm__result { margin-top:.75rem; font-weight:600; }
.idm__error input, .idm__error, .idm__opt.idm__error { border-color:#ef4444 !important; box-shadow:0 0 0 1px rgba(239,68,68,.15); }
.idm__opt.idm__selected { border-color:#0A3858; box-shadow:0 0 0 1px rgba(10,56,88,.15); }
.idm__progress { display:flex; gap:.35rem; justify-content:center; margin-top:.6rem; }
.idm__dot { width:9px; height:9px; border-radius:999px; background:#e5e7eb; display:inline-block; }
.idm__dot.is-active { background:#0A3858; }
.idm__thankyou { border:1px solid #e5e7eb; border-radius:14px; padding:1rem; margin-top:1rem; text-align:center; }
