html,body{margin:0;padding:0;background:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}.page[data-v-205cf491]{min-height:100vh;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.state[data-v-205cf491]{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;padding-top:30vh;text-align:center}.state .state-icon[data-v-205cf491]{font-size:44px}.state .state-icon.success[data-v-205cf491]{color:#16a34a}.state .state-text[data-v-205cf491]{color:#0f172a;font-size:18px;font-weight:600}.state .state-sub[data-v-205cf491]{color:#64748b;font-size:13px}.content[data-v-205cf491]{max-width:560px;margin:0 auto}.header[data-v-205cf491]{margin-bottom:16px}.header .title[data-v-205cf491]{color:#0f172a;font-size:20px;font-weight:700}.header .sub[data-v-205cf491]{margin-top:6px;color:#64748b;font-size:13px;line-height:20px}.field[data-v-205cf491]{margin-bottom:12px}.field .label[data-v-205cf491]{display:block;margin-bottom:6px;color:#334155;font-size:14px}.field .input[data-v-205cf491]{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-size:16px;outline:none;box-sizing:border-box}.field .input[data-v-205cf491]:focus{border-color:#2563eb}.signature-preview[data-v-205cf491]{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:88px;padding:8px;border:2px dashed #cbd5e1;border-radius:12px;background:#fafcff;cursor:pointer}.signature-preview img[data-v-205cf491]{max-width:100%;max-height:96px;border-radius:6px}.signature-preview .placeholder[data-v-205cf491]{color:#94a3b8;font-size:14px}.signature-preview .signed-badge[data-v-205cf491]{position:absolute;top:-8px;right:-8px;padding:2px 10px;border-radius:20px;background:#16a34a;color:#fff;font-size:11px}.re-sign-row[data-v-205cf491]{display:flex;justify-content:flex-end;margin-top:6px}.re-sign-row .btn-clear[data-v-205cf491]{padding:4px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-size:13px}.error[data-v-205cf491]{margin-top:12px;color:#dc2626;font-size:13px;text-align:center}.btn-submit[data-v-205cf491]{width:100%;margin-top:20px;padding:13px;border:none;border-radius:10px;background:#2563eb;color:#fff;font-size:17px;font-weight:600}.btn-submit[data-v-205cf491]:disabled{background:#93c5fd}.btn-submit[data-v-205cf491]:active{background:#1d4ed8}.foot-note[data-v-205cf491]{margin-top:10px;color:#94a3b8;font-size:12px;text-align:center}.signature-layer[data-v-205cf491]{position:fixed;top:0;left:0;z-index:1000;display:flex;flex-direction:column;width:100%;height:100%;background:#fff;transform:rotate(90deg);transform-origin:left top}.layer-header[data-v-205cf491]{flex:none;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #eef2ff}.layer-title[data-v-205cf491]{font-size:16px;font-weight:600}.layer-close[data-v-205cf491]{padding:4px 10px;border:none;background:none;color:#94a3b8;font-size:22px;cursor:pointer}.layer-notice[data-v-205cf491]{flex:none;height:36px;text-align:center;color:#2563eb;font-size:13px;line-height:36px;background:#eff6ff}.canvas-wrap[data-v-205cf491]{position:relative;flex:1;min-height:0;overflow:hidden;background:#fafafa;touch-action:none}.canvas-wrap .signature-canvas[data-v-205cf491]{display:block;width:100%;height:100%;cursor:crosshair}.canvas-wrap .canvas-placeholder[data-v-205cf491]{position:absolute;top:50%;left:50%;pointer-events:none;color:#94a3b8;font-size:15px;white-space:nowrap;transform:translate(-50%,-50%)}.layer-actions[data-v-205cf491]{flex:none;display:flex;gap:12px;padding:12px 16px;background:#fff}.layer-actions .btn[data-v-205cf491]{flex:1;margin:0;padding:13px 16px;border:none;border-radius:44px;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.layer-actions .btn.btn-outline[data-v-205cf491]{border:1.5px solid #cbd5e1;background:transparent;color:#475569}.layer-actions .btn.btn-primary[data-v-205cf491]{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
