.service-wizard-dialog {
    width: min(68rem, calc(100% - 2rem));
    max-height: calc(100vh - 2rem);
}

.service-wizard-heading h2 { margin: 0; }

.service-wizard-home {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.service-wizard-home:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.service-wizard-intro-wrap { margin: 0 0 1.25rem; }
.service-wizard-intro { margin: 0 0 1.25rem; color: var(--muted); }
.service-wizard-intro-wrap .service-wizard-intro { margin-bottom: .55rem; }
.service-wizard-status { margin: 0 0 1rem; padding: .75rem 1rem; border: 1px solid #8c5d58; color: #f0a2a2; }
.service-wizard-status.is-success { border-color: #628a63; color: #b6d7b5; }
.service-wizard-status p { margin: 0; }
.service-wizard-form { display: grid; gap: 1.2rem; }
.service-wizard-types { margin: 0; padding: 0; border: 0; }
.service-wizard-types legend,
.service-wizard-field > span { display: block; margin-bottom: .5rem; color: var(--accent); font-weight: 700; }
.service-wizard-type-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.service-wizard-type-entry { display: grid; align-content: start; gap: .45rem; }
.service-wizard-type { display: block; cursor: pointer; }
.service-wizard-type input { position: absolute; opacity: 0; pointer-events: none; }
.service-wizard-type-body { display: grid; gap: .4rem; min-height: 8rem; padding: 1rem; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
.service-wizard-type-body strong { color: var(--accent); }
.service-wizard-type-body small { color: var(--muted); line-height: 1.45; }
.service-wizard-type input:checked + .service-wizard-type-body { border-color: var(--accent); background: rgba(255, 212, 59, .08); }
.service-wizard-type input:focus-visible + .service-wizard-type-body { outline: 2px solid var(--accent); outline-offset: 3px; }
.service-wizard-details { display: grid; grid-template-columns: minmax(0, 2fr) minmax(14rem, 1fr); gap: 1rem; }
.service-wizard-details[hidden] { display: none; }
.service-wizard-field { display: block; }
.service-wizard-field-main { grid-row: span 2; }
.service-wizard-field input,
.service-wizard-field textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--line); padding: .7rem; background: #09110b; color: var(--text); font: inherit; }
.service-wizard-field textarea { min-height: 10rem; resize: vertical; }
.service-wizard-field small { display: block; margin-top: .4rem; color: var(--muted); line-height: 1.35; }
.service-wizard-submit-note { margin: 0; color: var(--muted); font-size: .85rem; }
.service-wizard-actions { display: flex; justify-content: flex-end; align-items: end; }

@media (max-width: 720px) {
    .service-wizard-dialog { width: min(100% - 1rem, 42rem); max-height: calc(100vh - 1rem); }
    .service-wizard-type-grid,
    .service-wizard-details { grid-template-columns: 1fr; }
    .service-wizard-type-body { min-height: 0; }
    .service-wizard-field-main { grid-row: auto; }
    .service-wizard-actions,
    .service-wizard-actions button { width: 100%; }
}
