:root{--primary: #14b8b6;--primary-dark: #0ea5a3;--bg: #f5f6f8;--card: #ffffff;--text: #1a1a1a;--text-sub: #999999;--border: #ececec;--danger: #e6432d}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:15px}.app{max-width:540px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:calc(76px + env(safe-area-inset-bottom))}.nav-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:center;height:48px;background:#fff;border-bottom:1px solid var(--border)}.nav-title{font-size:17px;font-weight:600}.nav-back{position:absolute;left:12px;font-size:28px;line-height:1;color:#333}.step-tabs{display:flex;background:#fff;border-bottom:1px solid var(--border)}.step-tab{flex:1;text-align:center;padding:13px 0 11px;font-size:15px;color:#666;position:relative}.step-tab.active{color:var(--primary);font-weight:600}.step-tab.active:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:56px;height:3px;border-radius:2px;background:var(--primary)}.section-title{padding:14px 16px 8px;font-size:14px;font-weight:600;color:#333}.card{background:var(--card);border-radius:10px;margin:0 12px 12px;padding:0 14px;overflow:hidden}.field{display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--border)}.field:last-child{border-bottom:none}.field-label{flex-shrink:0;display:flex;align-items:center;gap:3px;min-width:108px;color:#333}.req{color:var(--danger)}.field-control{flex:1;display:flex;justify-content:flex-end;min-width:0}.input{width:100%;border:none;outline:none;text-align:right;font-size:15px;color:var(--text);background:transparent}.input::placeholder{color:silver}.select-wrap{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:4px;width:100%;min-height:30px}.select-value{font-size:15px;color:var(--text);text-align:right;word-break:break-all}.select-value.placeholder{color:silver}.select-arrow{color:#c7c7cc;font-size:20px;font-weight:600}.select-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0}.select-native-date{opacity:.01;color:transparent;background:transparent;border:none;font-size:16px;text-align:right}.field-error{border-bottom:1px solid var(--danger)}.section-error{margin:4px 16px 10px;font-size:13px;color:var(--danger)}.contact-group{position:relative;border-bottom:1px solid var(--border)}.contact-group .field{border-bottom:1px solid var(--border)}.contact-group .field:last-child{border-bottom:none}.contact-group:last-of-type{border-bottom:none}.contact-remove{position:absolute;right:0;top:-26px;font-size:12px;color:var(--danger);z-index:1}.add-contact{display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 0;color:var(--primary);font-size:14px;border-top:1px solid var(--border)}.add-contact-icon{font-size:17px}.statement{margin:0 12px 12px;padding:12px 14px;background:var(--card);border-radius:10px;font-size:13px;color:#777;line-height:1.7}.signature-trigger{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;min-height:30px;cursor:pointer}.signature-placeholder{color:silver;font-size:15px}.signature-done{color:var(--text);font-size:15px}.signature-preview{margin:4px 0 14px;height:180px;border:1px dashed #d5d5d5;border-radius:8px;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden}.signature-preview img{max-width:100%;max-height:100%;object-fit:contain}.signature-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#fff}.signature-landscape{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);display:flex;flex-direction:column;background:#fff}.signature-bar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);flex-shrink:0}.signature-bar-title{font-size:16px;font-weight:600}.signature-bar-actions{display:flex;gap:10px}.signature-bar-btn{border:none;background:none;font-size:15px;color:#333;padding:6px 8px}.signature-bar-btn.primary{color:var(--primary);font-weight:600}.signature-bar-btn:disabled{color:silver}.signature-canvas-wrap{position:relative;flex:1;touch-action:none}.signature-canvas-wrap canvas{display:block;touch-action:none}.signature-hint-landscape{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:silver;font-size:16px;pointer-events:none}.picker-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000073}.picker-sheet{position:absolute;left:0;right:0;bottom:0;max-width:540px;margin:0 auto;background:#fff;border-radius:14px 14px 0 0;height:62vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);animation:sheet-up .22s ease}@keyframes sheet-up{0%{transform:translateY(40px);opacity:.5}to{transform:translateY(0);opacity:1}}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.picker-title{font-size:15px;font-weight:600}.picker-close{color:var(--text-sub);font-size:16px;padding:2px 6px}.picker-body{flex:1;display:flex;overflow:hidden}.picker-col{overflow-y:auto;-webkit-overflow-scrolling:touch}.picker-col-left{width:38%;background:#f7f8fa;flex-shrink:0}.picker-col-right{flex:1;background:#fff}.picker-item{padding:13px 14px;font-size:14px;color:#333;line-height:1.3}.picker-col-left .picker-item.active{background:#fff;color:var(--primary);font-weight:600}.picker-col-right .picker-item:active{background:#f0fafa;color:var(--primary)}.footer-bar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border)}.footer-bar .btn{flex:1;max-width:508px;margin:0 auto}.btn{height:46px;border:none;border-radius:8px;font-size:16px}.btn-plain{background:#f2f3f5;color:#333}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:var(--primary-dark)}.btn:disabled{opacity:.6}.upload-tip{margin:12px;padding:10px 14px;border-radius:8px;background:#14b8b614;color:var(--primary);font-size:13px;line-height:1.6}.upload-card{padding:14px}.upload-title{font-size:15px;font-weight:600}.upload-sub{margin-top:4px;font-size:13px;color:var(--text-sub)}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.upload-slot{position:relative;height:120px;border:1px dashed #d5d5d5;border-radius:8px;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden}.upload-plus{font-size:30px;color:silver;line-height:1}.upload-label{font-size:13px;color:var(--text-sub)}.upload-preview{width:100%;height:100%;object-fit:cover}.upload-error{text-align:center}.success-page{display:flex;flex-direction:column;align-items:center;padding:90px 24px 0}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center}.success-title{margin-top:16px;font-size:19px;font-weight:600}.success-sub{margin-top:8px;font-size:14px;color:var(--text-sub)}.success-btn{margin-top:36px;margin-bottom:40px;width:100%;flex:none}.contract-sheet{margin:0 12px 12px;background:#fff;border-radius:10px;padding:20px 16px;box-shadow:0 1px 6px #0000000d;overflow:hidden}.contract-loading{padding:48px 16px;text-align:center;color:var(--text-sub);font-size:14px}.contract-content{font-size:26px;line-height:1.8;color:#111;word-break:break-word}.contract-content p{margin:10px 0;line-height:1.8}.contract-content div{line-height:1.8;min-height:1em}.contract-content h1,.contract-content h2,.contract-content h3{font-size:30px;font-weight:700;margin:16px 0 10px}.contract-content .seal-img{width:160px;vertical-align:middle}.contract-content .signature-img-inline{max-width:220px;max-height:88px;vertical-align:bottom;border-bottom:1px solid #999}.toast{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);z-index:99;max-width:76%;padding:11px 18px;border-radius:8px;background:#000000b8;color:#fff;font-size:14px;text-align:center}.toast-success{background:#14b8b6eb}.toast-error{background:#e6432deb}
