.ipy-wizard { max-width: 1100px; margin: 1.5rem auto; padding: clamp(18px, 3vw, 36px); border: 1px solid var(--line, #d9e0d4); border-radius: 18px; background: #fff; color: var(--ipy-text, var(--ink, #173e37)); font: 15px/1.6 system-ui, sans-serif; }
.ipy-wizard *, .ipy-wizard *::before, .ipy-wizard *::after { box-sizing: border-box; }
.ipy-wizard h2 { font-size: clamp(24px, 3vw, 34px); line-height: 1.2; margin: 24px 0 12px; }
.ipy-wizard h4 { margin: 0 0 12px; }
.ipy-wizard-steps { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.ipy-wizard-steps li { background: color-mix(in srgb, var(--ink, #173e37) 7%, #fff); padding: 8px 14px; border-radius: 30px; font-size: 12px; }
.ipy-wizard-steps [aria-current] { background: var(--ink, #173e37); color: white; }
.ipy-wizard-field { margin: 18px 0; }
.ipy-wizard label { display: block; font-weight: 600; }
.ipy-wizard input:not([type=checkbox]), .ipy-wizard textarea, .ipy-wizard select { width: 100%; border: 1px solid color-mix(in srgb, var(--ink, #173e37) 28%, #fff); border-radius: 8px; padding: 12px; background: #fff; color: var(--ipy-text, var(--ink, #173e37)); font: inherit; margin: 6px 0 0; }
.ipy-wizard textarea { resize: vertical; min-height: 110px; }
.ipy-wizard-button { display: inline-block; margin: 8px 8px 8px 0; padding: 11px 16px; border: 1px solid var(--ink, #173e37); border-radius: 8px; color: var(--ink, #173e37); background: white; text-decoration: none; cursor: pointer; font: inherit; }
.ipy-wizard-button.primary { background: var(--ink, #173e37); color: white; }
.ipy-wizard button:disabled { opacity: .55; cursor: wait; }
.ipy-wizard-note { font-size: 13px; color: var(--muted, #566659); }
.ipy-wizard-message { min-height: 1.5em; color: #8c291f; overflow-wrap: anywhere; }
.ipy-wizard-page { border: 1px solid var(--line, #d9e0d4); border-radius: 10px; margin: 16px 0; padding: 16px; }
.ipy-wizard-page summary { font-weight: 700; cursor: pointer; }
.ipy-wizard-section { background: var(--paper, #f7f8f4); padding: 16px; margin: 16px 0; border-radius: 10px; }
.ipy-wizard-tree { list-style: none; padding: 18px; background: color-mix(in srgb, var(--ink, #173e37) 7%, #fff); border-radius: 10px; }
.ipy-wizard-tree li { padding: 4px 0; overflow-wrap: anywhere; }
.ipy-wizard-address { padding: 12px; background: color-mix(in srgb, var(--ink, #173e37) 7%, #fff); border-radius: 8px; overflow-wrap: anywhere; }
.ipy-wizard .ipy-wizard-confirm { display: flex; align-items: flex-start; gap: 10px; padding: 20px 0; }
.ipy-wizard-confirm input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; }
.ipy-wizard-themes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-top: 6px; }
.ipy-wizard-theme-option { display: flex; align-items: center; gap: 12px; border: 1px solid color-mix(in srgb, var(--ink, #173e37) 28%, #fff); border-radius: 10px; padding: 12px; cursor: pointer; font-weight: 400; margin: 0; }
.ipy-wizard-theme-option:has(input:checked) { border-color: var(--ink, #173e37); box-shadow: 0 0 0 1px var(--ink, #173e37); }
.ipy-wizard-theme-option input { flex: 0 0 auto; width: 16px; margin: 0; }
.ipy-wizard-theme-swatch { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #0000001a; }
.ipy-wizard-theme-option span:last-child { display: flex; flex-direction: column; gap: 2px; }
.ipy-wizard-theme-option b { font-size: 13px; }
.ipy-wizard-theme-option small { color: var(--muted, #566659); font-size: 11.5px; line-height: 1.4; }
