.iw { max-width: 38rem; }
.iw-progress { height: 6px; background: var(--iw-soft, #f4f4f4); border-radius: 999px; overflow: hidden; }
.iw-progress-bar { display: block; height: 100%; background: var(--iw-accent, #1a1a1a); border-radius: 999px; transition: width .25s ease; }
.iw-count { margin: .4rem 0 0; font-size: .8rem; opacity: .7; }
.iw-heading { margin: 1rem 0 .4rem; }
.iw-heading:focus { outline: none; }
.iw-copy { margin: 0 0 1rem; opacity: .85; }
.iw-fields { display: grid; gap: 1.1rem; margin: 1rem 0; }
.iw-label { margin: 0 0 .35rem; font-weight: 600; }
.iw-help { margin: 0 0 .4rem; font-size: .88rem; opacity: .75; }
.iw-field input[type="text"], .iw-field input[type="email"], .iw-field input[type="tel"],
.iw-field input[type="number"], .iw-field textarea {
width: 100%; box-sizing: border-box; padding: .65rem .8rem; font: inherit;
border: 1px solid var(--iw-line, #d5d5d5); border-radius: var(--iw-radius, 8px); background: #fff;
}
.iw-field textarea { min-height: 5.5rem; resize: vertical; }
.iw-field input[type="text"], .iw-field input[type="email"], .iw-field input[type="tel"],
.iw-field input[type="number"], .iw-field textarea, .iw-field select {
color: var(--iw-ink, #1a1a1a); background: var(--iw-field-bg, #ffffff); caret-color: var(--iw-ink, #1a1a1a);
}
.iw-field input::placeholder, .iw-field textarea::placeholder { color: var(--iw-placeholder, #8a8a8a); opacity: 1; }
.iw-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.iw-chip {
font: inherit; padding: .55rem .95rem; border: 1px solid var(--iw-line, #d5d5d5);
border-radius: var(--iw-radius, 8px); background: #fff; cursor: pointer;
display: inline-flex; align-items: center; gap: .5rem; min-height: 44px;
}
.iw-chip[aria-pressed="true"], .iw-chip-on {
background: var(--iw-accent, #1a1a1a); color: var(--iw-accent-contrast, #ffffff); border-color: var(--iw-accent, #1a1a1a);
}
.iw-chips-visual { display: grid; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); }
.iw-chips-visual .iw-chip { flex-direction: column; padding: .7rem; text-align: center; }
.iw-chips-visual .iw-chip img { max-width: 100%; height: 4rem; object-fit: contain; }
.iw-chip-alt { border-style: dashed; margin-top: .5rem; }
.iw-chip { color: var(--iw-ink, #1a1a1a); }
.iw-chip[aria-pressed="true"], .iw-chip-on { color: var(--iw-accent-contrast, #ffffff); }
.iw-guide { max-width: 100%; border-radius: var(--iw-radius, 8px); margin: 0 0 .5rem; }
.iw-chosen { margin: .35rem 0 0; font-size: .88rem; opacity: .8; }
.iw-measure { display: flex; align-items: center; gap: .5rem; }
.iw-measure input { flex: 1; }
.iw-unit { opacity: .7; }
.iw-error { color: var(--iw-error, #b3261e); margin: .6rem 0 0; }
.iw-nav { display: flex; gap: .6rem; margin-top: 1.2rem; }
.iw-back, .iw-next {
font: inherit; padding: .7rem 1.3rem; border-radius: var(--iw-radius, 8px); cursor: pointer;
min-height: 44px;
}
.iw-back { background: transparent; border: 1px solid var(--iw-line, #d5d5d5); color: inherit;  }
.iw-next { background: var(--iw-accent, #1a1a1a); color: var(--iw-accent-contrast, #ffffff); border: 1px solid var(--iw-accent, #1a1a1a); margin-left: auto; }
.iw-next[disabled] { opacity: .6; cursor: wait; }
.iw-review { border: 1px solid var(--iw-line, #d5d5d5); border-radius: var(--iw-radius, 8px); padding: 1rem; margin: 1rem 0; }
.iw-review dt { font-weight: 600; margin-top: .6rem; font-size: .88rem; }
.iw-review dt:first-child { margin-top: 0; }
.iw-review dd { margin: .1rem 0 0; }
.iw-confirm { margin: .5rem 0 0; }
.iw-ref { margin: .35rem 0 0; font-size: .85em; opacity: .75; }
.iw-fallback { padding: 1rem; border: 1px solid var(--iw-line, #d5d5d5); border-radius: var(--iw-radius, 8px); }
@media (prefers-reduced-motion: reduce) {
.iw-progress-bar { transition: none; }
}
.iw-ctx { background: var(--iw-field-bg, #ffffff); color: var(--iw-ink, #1a1a1a);
border: 1px solid var(--iw-border, #d8d4cc); border-radius: 10px;
padding: .85rem 1rem; margin: 0 0 1.1rem; }
.iw-ctx-title { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase;
color: var(--iw-ink, #1a1a1a); opacity: .75; margin: 0 0 .45rem; }
.iw-ctx-list { display: grid; grid-template-columns: auto 1fr; gap: .15rem .8rem; margin: 0; }
.iw-ctx-k { color: var(--iw-ink, #1a1a1a); opacity: .65; font-size: .85rem; }
.iw-ctx-v { color: var(--iw-ink, #1a1a1a); font-weight: 600; font-size: .85rem; margin: 0; }
.iw-ctx-note { color: var(--iw-ink, #1a1a1a); opacity: .7; font-size: .8rem; margin: .5rem 0 0; }
.iw-lookup-plate { width: 100%; max-width: 14rem; padding: .7rem .8rem; font-size: 1.15rem;
letter-spacing: .12em; text-transform: uppercase; color: var(--iw-ink, #1a1a1a);
background: var(--iw-field-bg, #ffffff); border: 1px solid var(--iw-border, #d8d4cc);
border-radius: 8px; }
.iw-lookup-states { margin: .6rem 0 0; }
.iw-lookup-actions { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: .8rem; }
.iw-lookup-find { background: var(--iw-accent, #1a1a1a); color: var(--iw-accent-ink, #ffffff);
border: 0; border-radius: 8px; padding: .7rem 1.1rem; font-weight: 600; cursor: pointer; }
.iw-lookup-skip, .iw-lookup-change, .iw-lookup-retry, .iw-lookup-no { background: var(--iw-field-bg, #ffffff);
color: var(--iw-ink, #1a1a1a); border: 1px solid var(--iw-border, #d8d4cc);
border-radius: 8px; padding: .7rem 1.1rem; cursor: pointer; }
.iw-lookup-card, .iw-lookup-confirmed { background: var(--iw-field-bg, #ffffff);
color: var(--iw-ink, #1a1a1a); border: 1.5px solid var(--iw-accent, #1a1a1a);
border-radius: 10px; padding: .85rem 1rem; margin-top: .8rem; }
.iw-lookup-found, .iw-lookup-vehicle { font-weight: 600; margin: 0 0 .6rem; }
.iw-lookup-yes { background: var(--iw-accent, #1a1a1a); color: var(--iw-accent-ink, #ffffff);
border: 0; border-radius: 8px; padding: .7rem 1.1rem; font-weight: 600; cursor: pointer;
margin-right: .6rem; }
.iw-lookup-fallback-note { margin: 0 0 .5rem; color: var(--iw-ink, #1a1a1a); opacity: .8; }
.iw-lookup-retry { margin-top: .6rem; font-size: .85rem; }
.iw-resume { background: var(--iw-field-bg, #ffffff); color: var(--iw-ink, #1a1a1a);
border: 1.5px solid var(--iw-accent, #1a1a1a); border-radius: 10px;
padding: .85rem 1rem; margin: 0 0 1.1rem; }
.iw-resume-line { margin: 0 0 .65rem; font-weight: 600; }
.iw-resume-actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.iw-resume-continue { font: inherit; min-height: 44px; padding: .6rem 1.1rem; cursor: pointer;
border-radius: var(--iw-radius, 8px); font-weight: 600;
background: var(--iw-accent, #1a1a1a); color: var(--iw-accent-contrast, #ffffff);
border: 1px solid var(--iw-accent, #1a1a1a); }
.iw-resume-fresh { font: inherit; min-height: 44px; padding: .6rem 1.1rem; cursor: pointer;
border-radius: var(--iw-radius, 8px);
background: var(--iw-field-bg, #ffffff); color: var(--iw-ink, #1a1a1a);
border: 1px solid var(--iw-line, #d5d5d5); }
.iw-foot { margin-top: .9rem; }
.iw-reset { font: inherit; font-size: .85rem; padding: .4rem 0; cursor: pointer;
background: none; border: 0; color: var(--iw-ink, #1a1a1a); opacity: .6;
text-decoration: underline; text-underline-offset: 3px; }
.iw-reset:hover, .iw-reset:focus { opacity: 1; }
.iw-reset-line { margin: 0 0 .5rem; font-size: .9rem; color: var(--iw-ink, #1a1a1a); }
.iw-reset-actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.iw-reset-yes, .iw-reset-cancel { font: inherit; font-size: .9rem; min-height: 44px;
padding: .5rem 1rem; cursor: pointer; border-radius: var(--iw-radius, 8px);
background: var(--iw-field-bg, #ffffff); color: var(--iw-ink, #1a1a1a);
border: 1px solid var(--iw-line, #d5d5d5); }
.iw-reset-yes { border-color: var(--iw-error, #b3261e); color: var(--iw-error, #b3261e); }