*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--teal:#0f6e56;--teal-light:#e1f5ee;--teal-mid:#1d9e75;--coral:#b7571a;--coral-light:#faece7;--coral-border:#f5c4b3;--bg:#fafaf8;--surface:#fff;--surface2:#f4f3f0;--border:#e0ded8;--border-mid:#cccbc5;--text:#1a1917;--text2:#5a5955;--text3:#9a9994;--radius:10px;--radius-sm:6px;--radius-pill:20px}body{background:var(--bg);color:var(--text);flex-direction:column;align-items:center;min-height:100vh;padding:0 16px 80px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:flex}.topbar{justify-content:space-between;align-items:center;width:100%;max-width:700px;margin-bottom:36px;padding:24px 0 0;display:flex}.logo{letter-spacing:.04em;color:var(--teal);text-transform:uppercase;font-size:13px;font-weight:600}.logo span{color:var(--text3);font-weight:400}.prog-label{color:var(--text3);font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:700px;padding:36px 40px;box-shadow:0 2px 12px #0000000a}.stepper{align-items:center;margin-bottom:36px;display:flex}.step-item{align-items:center;gap:7px;display:flex}.step-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:600;transition:all .25s;display:flex}.step-dot.done{background:var(--teal);color:#fff}.step-dot.active{border:2px solid var(--teal);color:var(--teal);background:#fff}.step-dot.pending{background:var(--surface2);border:1px solid var(--border);color:var(--text3)}.step-label{color:var(--text3);white-space:nowrap;font-size:11px}.step-label.active{color:var(--teal);font-weight:600}.step-line{background:var(--border);flex:1;height:1px;margin:0 6px}.step-line.done{background:var(--teal)}.section-title{color:var(--text);margin-bottom:6px;font-size:18px;font-weight:600}.section-sub{color:var(--text2);margin-bottom:28px;font-size:14px;line-height:1.6}.fg{margin-bottom:20px}label.fl,span.fl{color:var(--text2);margin-bottom:7px;font-size:13px;font-weight:500;display:block}input[type=text],input[type=email],input[type=url],select,textarea{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;appearance:none;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0f6e561a}.fh{color:var(--text3);margin-top:5px;font-size:12px}.r2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.r3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.upload-zone{border:2px dashed var(--border-mid);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface2);padding:28px;transition:all .2s}.upload-zone:hover{border-color:var(--teal);background:var(--teal-light)}.upload-zone.has-file{border-style:solid;border-color:var(--teal);background:var(--teal-light)}.upload-icon{margin-bottom:8px;font-size:32px}.upload-text-main{color:var(--text2);font-size:14px;font-weight:500}.upload-text-sub{color:var(--text3);margin-top:4px;font-size:12px}.upload-filename{color:var(--teal);margin-bottom:4px;font-size:14px;font-weight:600}.legend{color:var(--text2);align-items:center;gap:20px;margin-bottom:20px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.leg-dot{border-radius:50%;width:10px;height:10px}.cat-section{margin-bottom:18px}.cat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text3);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.cat-label.cpg{color:var(--coral)}.cat-dot{background:var(--coral);border-radius:50%;width:6px;height:6px}.tag-grid{flex-wrap:wrap;gap:8px;display:flex}.tag{border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--border-mid);background:var(--surface);color:var(--text2);user-select:none;padding:6px 13px;font-size:12px;line-height:1.4;transition:all .14s}.tag:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-light)}.tag.sel{background:var(--teal-light);border-color:var(--teal);color:var(--teal);font-weight:600}.tag.cpg-tag{border-color:var(--coral-border)}.tag.cpg-tag:hover{border-color:var(--coral);color:var(--coral);background:var(--coral-light)}.tag.cpg-tag.sel{background:var(--coral-light);border-color:var(--coral);color:var(--coral);font-weight:600}.sel-count{float:right;color:var(--text3);font-size:12px;font-weight:400}.range-row{align-items:center;gap:14px;display:flex}input[type=range]{appearance:none;background:var(--border);height:4px;box-shadow:none;border:none;border-radius:2px;flex:1;padding:0}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--teal);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000026}input[type=range]:focus{box-shadow:none;border:none}.range-val{min-width:80px;color:var(--text);font-size:14px;font-weight:600}.foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:36px;padding-top:24px;display:flex}.btn-back{border:1px solid var(--border-mid);color:var(--text2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:10px 20px;font-family:inherit;font-size:14px;transition:border-color .15s}.btn-back:hover{border-color:var(--text2)}.btn-next{background:var(--teal);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 26px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:flex}.btn-next:hover{background:#0a5240}.btn-next:disabled{opacity:.35;cursor:not-allowed;background:var(--teal)}.loading-wrap{text-align:center;padding:20px 0 10px}.loading-bar{background:var(--border);border-radius:2px;height:4px;margin:16px 0;overflow:hidden}.loading-fill{background:var(--teal);border-radius:2px;height:100%;animation:3.5s ease-in-out forwards lfill}@keyframes lfill{0%{width:0%}to{width:95%}}.pcard{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.pfield{margin-bottom:20px}.pfield:last-child{margin-bottom:0}.pfield-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text3);margin-bottom:7px;font-size:10px;font-weight:700;display:block}.pfield input,.pfield textarea{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;padding:8px 11px;font-family:inherit;font-size:14px}.chip-edit{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.chip{background:var(--teal-light);color:var(--teal);border-radius:var(--radius-pill);align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:500;display:flex}.chip-x{cursor:pointer;opacity:.6;font-size:15px;line-height:1}.chip-x:hover{opacity:1}.add-chip{border:1px dashed var(--teal);color:var(--teal);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:4px 11px;font-family:inherit;font-size:12px}.chip-input{border:1px solid var(--teal);border-radius:var(--radius-pill);color:var(--text);background:var(--surface);outline:none;width:150px;padding:4px 11px;font-family:inherit;font-size:12px}.action-row{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.act-btn{color:var(--teal);border:1px solid var(--teal);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:7px 16px;font-family:inherit;font-size:13px;transition:background .14s;display:flex}.act-btn:hover,.act-btn.primary{background:var(--teal-light)}.tz-note{color:var(--text3);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:5px;margin-top:7px;padding:7px 11px;font-size:11px;display:flex}.upload-row{grid-template-columns:120px 1fr;align-items:start;gap:20px;margin-bottom:20px;display:grid}.photo-col{flex-direction:column;align-items:center;gap:8px;display:flex}.photo-ring{border:2px dashed var(--border-mid);background:var(--surface2);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.photo-ring:hover{border-color:var(--teal);background:var(--teal-light)}.photo-ring.has-photo{border-style:solid;border-color:var(--teal)}.photo-ring img{object-fit:cover;border-radius:50%;width:100%;height:100%}.photo-ring .photo-placeholder{flex-direction:column;align-items:center;gap:4px;display:flex}.photo-label{color:var(--text3);text-align:center;font-size:11px;line-height:1.4}.photo-change{color:var(--teal);cursor:pointer;text-align:center;font-size:11px}.btn-save{background:var(--teal);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:flex}.btn-save:hover{background:#0a5240}.save-confirm{color:var(--teal);align-items:center;gap:5px;font-size:12px;font-weight:500;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.success-badge{color:var(--teal);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.success-ref{color:var(--text3);margin-top:10px;font-size:12px}.success-ref code{user-select:all}@media (width<=600px){.card{padding:24px 20px}.r2,.r3{grid-template-columns:1fr}.stepper .step-label{display:none}.upload-row{grid-template-columns:1fr}.photo-col{flex-direction:row;align-items:center;gap:16px}}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button.tag{font-family:inherit}.tag:focus-visible,.upload-zone:focus-visible,.photo-ring:focus-visible,.btn-back:focus-visible,.btn-next:focus-visible,.btn-save:focus-visible{outline:none;box-shadow:0 0 0 3px #0f6e5633}.btn-back{align-items:center;gap:8px;display:flex}.btn-save:disabled{opacity:.5;cursor:progress}.fe{color:var(--coral);margin-top:5px;font-size:12px;line-height:1.4}.fe:empty{display:none}input.invalid,select.invalid,textarea.invalid{border-color:var(--coral)}input.invalid:focus,select.invalid:focus,textarea.invalid:focus{border-color:var(--coral);box-shadow:0 0 0 3px #b7571a1f}.upload-zone.invalid,.photo-ring.invalid{border-color:var(--coral);background:var(--coral-light)}.tag-grid.invalid .tag:not(.sel){border-color:var(--coral-border)}.form-alert{color:var(--coral);background:var(--coral-light);border:1px solid var(--coral-border);border-radius:var(--radius-sm);margin-top:20px;padding:10px 12px;font-size:13px;line-height:1.5}.form-alert:empty{display:none}.review-photo{object-fit:cover;border:2px solid var(--teal);border-radius:50%;width:56px;height:56px}.review-head{align-items:center;gap:14px;margin-bottom:20px;display:flex}.review-name{color:var(--text);font-size:16px;font-weight:600}.review-sub{color:var(--text2);margin-top:2px;font-size:13px}.pfield-value{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.55}.pfield-value.muted{color:var(--text3)}.review-edit{float:right;text-transform:none;letter-spacing:0;color:var(--teal);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:11px;font-weight:500}.review-edit:hover{text-decoration:underline}.success-wrap{text-align:center;padding:16px 0 4px}.success-icon{background:var(--teal-light);width:52px;height:52px;color:var(--teal);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.success-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(440px,100vw - 32px);color:var(--text);text-align:center;margin:auto;padding:32px 28px 24px;box-shadow:0 12px 40px #1a19172e}.success-dialog[open]{animation:.2s ease-out fadeIn}.success-dialog::backdrop{background:#1a191773}.success-dialog .section-sub{margin-bottom:24px}.success-dialog .section-sub p+p{margin-top:10px}.success-dialog-lead{color:var(--text);font-weight:500}.success-dialog .btn-next{margin:0 auto}@media (prefers-reduced-motion:reduce){.success-dialog[open]{animation:none}}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}button.photo-change{background:0 0;border:none;padding:0;font-family:inherit}
