*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh;background:#f5f4f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}.app{min-height:100vh;background:#f5f4f0;font-family:Pretendard,Apple SD Gothic Neo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1a1a1a}.header{background:#1a1a1a;color:#fff;padding:28px 24px 24px;text-align:center}.header-inner{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.logo-icon{font-size:20px;color:#c8a96e}.logo-text{font-size:22px;font-weight:700;letter-spacing:.04em}.header-subtitle{font-size:13px;color:#ffffff8c;letter-spacing:.02em}.main{padding:24px 20px 48px;max-width:480px;margin:0 auto}.form-card{background:#fff;border-radius:20px;padding:28px 24px;box-shadow:0 2px 20px #00000012}.section{margin-bottom:32px}.section-label{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#1a1a1a;margin-bottom:6px}.label-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#1a1a1a;color:#fff;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.section-desc{font-size:12.5px;color:#888;margin-bottom:16px;line-height:1.5}.photo-upload{position:relative;width:100%;height:220px;border-radius:14px;border:2px dashed #d8d5ce;background:#fafaf8;cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s;display:flex;align-items:center;justify-content:center}.photo-upload:hover{border-color:#c8a96e;background:#fdf9f3}.photo-upload.dragging{border-color:#c8a96e;background:#fdf6ea;border-style:solid}.photo-upload.has-photo{border-style:solid;border-color:transparent}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;text-align:center}.upload-icon{width:64px;height:64px;background:#f0ede6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#a09880;margin-bottom:4px}.upload-text{font-size:14px;font-weight:600;color:#444}.upload-hint{font-size:11.5px;color:#aaa}.photo-preview{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;inset:0;background:#0000;display:flex;align-items:center;justify-content:center;transition:background .2s}.photo-upload.has-photo:hover .photo-overlay{background:#00000073}.photo-change-text{color:#fff;font-size:14px;font-weight:600;opacity:0;letter-spacing:.04em;transition:opacity .2s}.photo-upload.has-photo:hover .photo-change-text{opacity:1}.input-row{display:flex;align-items:flex-end;gap:0;background:#f5f4f0;border-radius:14px;overflow:hidden}.input-group{flex:1;padding:16px 20px}.input-divider{width:1px;height:60px;background:#e0ddd6;align-self:center}.input-label{display:block;font-size:11.5px;font-weight:600;color:#888;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.input-wrapper{display:flex;align-items:baseline;gap:4px}.input{width:100%;border:none;background:transparent;font-size:28px;font-weight:700;color:#1a1a1a;outline:none;-moz-appearance:textfield}.input::-webkit-outer-spin-button,.input::-webkit-inner-spin-button{-webkit-appearance:none}.input::placeholder{color:#ccc}.input-unit{font-size:15px;font-weight:500;color:#999;flex-shrink:0}.submit-btn{width:100%;padding:18px 24px;border-radius:14px;border:none;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s;letter-spacing:.02em;background:#d8d5ce;color:#999;margin-bottom:16px}.submit-btn.ready{background:#1a1a1a;color:#fff}.submit-btn.ready:hover{background:#c8a96e;transform:translateY(-1px);box-shadow:0 6px 20px #c8a96e59}.submit-btn.ready:active{transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed}.btn-arrow{font-size:18px;transition:transform .2s}.submit-btn.ready:hover .btn-arrow{transform:translate(4px)}.progress-bar{width:100%;height:3px;background:#f0ede6;border-radius:99px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:#c8a96e;border-radius:99px;transition:width .4s ease}.progress-text{text-align:center;font-size:12px;color:#bbb}
