:root{--brand: #1f3a68;--brand-light: #2f6fd0;--accent: #14b8a6;--accent-warm: #f5a524;--ink: #17202f;--muted: #64748b;--line: #d9e0ea;--line-soft: #e9eef5;--surface: #ffffff;--page: #f4f6fa;--danger: #c0392b;--radius: 8px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:1040px;margin:0 auto;padding:24px 16px 64px}.masthead{display:flex;align-items:center;gap:14px;margin-bottom:20px}.brand-logo{display:block;height:64px;width:auto;flex:none}.masthead-title{margin:0;font-size:22px;font-weight:700;color:var(--brand);padding-left:14px;border-left:1px solid var(--line)}@media (max-width: 480px){.brand-logo{height:48px}.masthead-title{font-size:18px;padding-left:10px}}.stepper{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.step-pill{flex:1 1 180px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;font:inherit;cursor:pointer;color:var(--muted)}.step-pill:disabled{cursor:default}.step-pill .num{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--line-soft);color:var(--muted)}.step-pill.active{border-color:var(--brand-light);box-shadow:0 0 0 1px var(--brand-light);color:var(--brand);font-weight:600}.step-pill.active .num,.step-pill.done .num{background:var(--brand-light);color:#fff}.step-pill.done{color:var(--ink)}.progress-track{height:4px;border-radius:999px;background:var(--line-soft);overflow:hidden;margin-bottom:24px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--brand-light));transition:width .25s ease}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}.card>h2{margin:0 0 4px;font-size:19px;color:var(--brand)}.card>h2 .step-index{color:var(--brand-light);margin-right:6px}.card>.card-desc{margin:0 0 20px;color:var(--muted)}.section+.section{margin-top:28px}.section-title{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-light);padding-bottom:8px;border-bottom:1px dashed var(--line)}.section-desc{margin:0 0 12px;color:var(--muted);font-style:italic}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;margin-top:12px}.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.field{min-width:0}.field-label{display:block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#3a4a63;margin-bottom:5px}.req{color:var(--danger);margin-left:3px}.field-hint{margin:0 0 6px;font-size:12px;color:var(--muted);font-style:italic;text-transform:none;letter-spacing:0}.field-error{margin:4px 0 0;font-size:12px;color:var(--danger)}.input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fbfcfe;font:inherit;color:inherit}.input:focus{outline:2px solid var(--brand-light);outline-offset:-1px;background:#fff}.input.has-error{border-color:var(--danger);background:#fdf5f4}.textarea{resize:vertical}.input-wrap{position:relative;display:block}.input-wrap .input{padding-right:30px}.input-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.choices{display:flex;flex-wrap:wrap;gap:6px 16px;padding-top:2px}.choices.cols-2,.choices.cols-3{display:grid;gap:6px 16px}.choices.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.choices.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{display:flex;align-items:flex-start;gap:6px;cursor:pointer}.choice input{margin:2px 0 0;accent-color:var(--brand-light)}.repeat-block{border:1px solid var(--line);border-left:3px solid var(--brand-light);border-radius:var(--radius);padding:16px;background:#fbfcfe}.repeat-block+.repeat-block{margin-top:16px}.repeat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.repeat-head h4{margin:0;font-size:14px;color:var(--brand)}.callout{grid-column:span 4;border:1px solid var(--line);border-radius:var(--radius);background:#f7f9fc;padding:14px 16px}.callout .grid{margin-top:0}.doc-list{display:grid;gap:10px;grid-column:span 4}.doc-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:#fbfcfe;cursor:pointer}.doc-item input{margin-top:3px;accent-color:var(--brand-light)}.doc-item strong{display:block;color:var(--ink)}.doc-item span{color:var(--muted);font-size:13px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}.btn{padding:10px 18px;border-radius:6px;border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer}.btn-primary{background:var(--brand-light);color:#fff}.btn-primary:hover{background:#2560b8}.btn-secondary{background:#fff;border-color:var(--line);color:var(--brand)}.btn-ghost{background:transparent;border:none;color:var(--danger);font-size:13px;cursor:pointer;padding:4px 6px}.btn-add{grid-column:span 4;justify-self:start;background:#fff;border:1px dashed var(--brand-light);color:var(--brand-light);padding:9px 14px;border-radius:6px;font:inherit;font-weight:600;cursor:pointer}.error-summary{border:1px solid #f0c4be;background:#fdf5f4;color:#8c2c20;border-radius:var(--radius);padding:12px 14px;margin-bottom:18px}.error-summary p{margin:0 0 6px;font-weight:600}.error-summary ul{margin:0;padding-left:18px}.done-card{text-align:center;padding:48px 24px}.done-card h2{color:var(--brand)}.done-card pre{text-align:left;max-height:320px;overflow:auto;background:#0f172a;color:#e2e8f0;padding:16px;border-radius:var(--radius);font-size:12px}@media (max-width: 860px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3,.span-4{grid-column:span 2}.choices.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.grid{grid-template-columns:minmax(0,1fr)}.span-2,.span-3,.span-4{grid-column:span 1}.choices.cols-2,.choices.cols-3{grid-template-columns:minmax(0,1fr)}.card{padding:16px}}.turnstile{margin-top:24px;padding-top:20px;border-top:1px dashed var(--line)}.turnstile-note{margin:8px 0 0;font-size:13px;color:var(--muted)}.turnstile-note.error{color:var(--danger)}.btn:disabled,.btn-add:disabled{opacity:.55;cursor:not-allowed}.done-card .reference{color:var(--muted)}.done-card .reference code{background:var(--line-soft);padding:2px 6px;border-radius:4px;color:var(--ink);font-size:13px}.done-card .reference span{font-size:12px}
