.kpi-idc { width: 100%; max-width: 44rem; margin: 0 auto; padding: 1rem; box-sizing: border-box; }
@media (min-width: 640px) { .kpi-idc { padding: 1.5rem; } }
.kpi-idc *, .kpi-idc *::before, .kpi-idc *::after { box-sizing: border-box; }
.kpi-panel { background: #fff; border: 1px solid #e5e5e5; border-radius: 1.5rem; padding: 1.75rem; box-shadow: 0 4px 24px rgba(0,0,0,.06); }
@media (min-width: 640px) { .kpi-panel { padding: 2.5rem 3rem; } }
.kpi-center { text-align: center; }
.kpi-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.kpi-eyebrow { font-size: .75rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.kpi-stepcount { font-size: .75rem; color: #9ca3af; }
.kpi-progress { height: 6px; width: 100%; background: #f3f3f3; border-radius: 9999px; overflow: hidden; margin-bottom: 1.75rem; }
.kpi-progress-bar { height: 100%; border-radius: 9999px; transition: width .5s ease; }
.kpi-stepbody { min-height: 280px; }
.kpi-h2 { font-size: 1.5rem; font-weight: 600; color: #171717; margin: 0 0 .75rem; }
.kpi-h3 { font-size: 1.25rem; font-weight: 600; color: #171717; margin: 0 0 .25rem; }
.kpi-sub { font-size: .875rem; color: #6b7280; margin: 0 0 1.5rem; }
.kpi-lead { color: #4b5563; line-height: 1.6; margin: 0 0 1.25rem; }
.kpi-stack { display: flex; flex-direction: column; gap: .875rem; }
.kpi-stack-md { display: flex; flex-direction: column; gap: 1.125rem; }
.kpi-stack-lg { display: flex; flex-direction: column; gap: 1.25rem; }
.kpi-card { width: 100%; display: flex; align-items: center; gap: 1rem; padding: 1.125rem 1.25rem; border: 1px solid #d1d5db; border-radius: 1rem; text-align: left; cursor: pointer; transition: all .2s; background: #fff; font-family: inherit; }
.kpi-card:hover { box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.kpi-card-ico { width: 2.75rem; height: 2.75rem; border-radius: .75rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .2s; }
.kpi-card-txt { flex: 1; display: flex; flex-direction: column; }
.kpi-card-title { font-size: .9375rem; font-weight: 600; color: #171717; }
.kpi-card-sub { font-size: .8125rem; color: #6b7280; margin-top: .125rem; }
.kpi-radio { width: 1.25rem; height: 1.25rem; border-radius: 9999px; border: 1px solid #d4d4d4; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.kpi-label { display: block; font-size: .875rem; font-weight: 500; color: #262626; margin-bottom: .5rem; }
.kpi-inp { width: 100%; padding: .8125rem 1rem; font-size: 15px; border-radius: .75rem; border: 1px solid #d1d5db; background: #fff; transition: all .2s; outline: none; font-family: inherit; color: #171717; }
.kpi-inp:focus { border-color: #ad539b !important; box-shadow: 0 0 0 3px rgba(173,83,155,.1); }
.kpi-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.kpi-chip { padding: .75rem 0; border-radius: .75rem; border: 1px solid #e8e8e8; font-size: .875rem; font-weight: 500; cursor: pointer; transition: all .2s; font-family: inherit; }
.kpi-note { display: flex; align-items: flex-start; gap: .625rem; border-radius: .75rem; padding: .75rem; }
.kpi-note p { font-size: .75rem; color: #4b5563; line-height: 1.5; margin: 0; }
.kpi-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.kpi-col2 { grid-column: span 2; }
.kpi-consent { display: flex; align-items: flex-start; gap: .75rem; cursor: pointer; }
.kpi-consent span { font-size: .875rem; color: #4b5563; line-height: 1.5; }
.kpi-checkbox { margin-top: 2px; width: 1.25rem; height: 1.25rem; border-radius: .375rem; border: 1px solid #d4d4d4; display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; transition: all .2s; background: #fff; }
.kpi-err { font-size: .75rem; color: #ef4444; margin: .375rem 0 0; }
.kpi-nav { display: flex; align-items: center; gap: .75rem; margin-top: 2rem; }
.kpi-back { display: flex; align-items: center; gap: .5rem; padding: .75rem 1rem; border-radius: .75rem; font-size: .875rem; font-weight: 500; color: #4b5563; background: transparent; border: none; cursor: pointer; transition: background .2s; font-family: inherit; }
.kpi-back:hover { background: #fafafa; }
.kpi-cta { flex: 1; display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .875rem 1.25rem; border-radius: .75rem; font-size: .875rem; font-weight: 600; color: #fff; border: none; cursor: pointer; transition: opacity .2s; font-family: inherit; }
.kpi-cta:hover { opacity: .9; }
.kpi-success-ico { width: 4rem; height: 4rem; border-radius: 9999px; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; }
.kpi-summary { background: #fafafa; border-radius: 1rem; padding: 1rem; text-align: left; font-size: .875rem; color: #4b5563; }
.kpi-summary > div { display: flex; justify-content: space-between; padding: .1875rem 0; }
.kpi-summary span { color: #9ca3af; }
.kpi-summary b { font-weight: 500; color: #262626; }
.kpi-trust { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1rem; }
.kpi-trust p { text-align: center; font-size: .75rem; color: #9ca3af; margin: 0; }