/* 优化版页面容器 - 现代化设计 */ .settlement-page { min-height: 100vh; background: linear-gradient(135deg, #f7f7f7 0%, #e8f5e8 100%); padding: 0; /* 真机优化 */ -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; /* 防止iOS橡皮筋效果 */ overscroll-behavior: contain; /* 页面加载动画 */ animation: pageFadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes pageFadeIn { from { opacity: 0; transform: translateY(20rpx); } to { opacity: 1; transform: translateY(0); } } .container { background: transparent; border-radius: 0; box-shadow: none; overflow: hidden; margin: 0; /* 容器动画 */ animation: containerSlideIn 0.8s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes containerSlideIn { from { opacity: 0; transform: translateX(-30rpx); } to { opacity: 1; transform: translateX(0); } } /* 优化版内容区域 - 现代化设计 */ .content { padding: 32rpx 28rpx; background: transparent; /* 真机优化 */ min-height: calc(100vh - 120rpx); box-sizing: border-box; max-width: 100%; overflow: hidden; /* 内容区域动画 */ animation: contentFadeIn 1s cubic-bezier(0.4, 0, 0.2, 1); } /* 引导页样式 */ .guide-page { display: flex; justify-content: center; align-items: center; min-height: 80vh; padding: 0 40rpx; } .guide-content { text-align: center; width: 100%; } .guide-title { font-size: 48rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; } .guide-description { font-size: 28rpx; color: #666; margin-bottom: 60rpx; line-height: 40rpx; } .guide-button { width: 100%; height: 96rpx; font-size: 32rpx; border-radius: 48rpx; } @keyframes contentFadeIn { from { opacity: 0; transform: translateY(30rpx); } to { opacity: 1; transform: translateY(0); } } /* 真机全局优化 */ page { /* 防止iOS输入框缩放 */ -webkit-text-size-adjust: 100% !important; text-size-adjust: 100% !important; /* 改善触摸体验 */ -webkit-tap-highlight-color: transparent; /* 防止橡皮筋效果 */ overscroll-behavior: contain; /* 改善滚动性能 */ -webkit-overflow-scrolling: touch; /* 防止iOS Safari底部导航栏遮挡 */ padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); } /* iOS特殊优化 */ @supports (-webkit-touch-callout: none) { .form-input { /* iOS输入框优化 */ -webkit-appearance: none; border-radius: 12rpx; /* 防止iOS内阴影 */ box-shadow: none !important; /* 改善iOS字体渲染 */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } } /* Android特殊优化 */ @supports not (-webkit-touch-callout: none) { .form-input { /* Android输入框优化 */ line-height: normal; /* 防止Android默认边框 */ border: 2rpx solid #e5e5e5; } } /* 输入框全局优化 */ input, textarea { /* 防止iOS缩放 */ font-size: 30rpx !important; transform-origin: left top; /* 改善输入体验 */ -webkit-appearance: none; appearance: none; border-radius: 12rpx; outline: none; /* 防止阴影 */ box-shadow: none !important; /* 改善触摸体验 */ touch-action: manipulation; /* 光标颜色 */ caret-color: #07C160; /* 防止自动放大 */ transform: scale(1); /* 改善字体渲染 */ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; /* 防止iOS输入框背景变黄 */ -webkit-autofill: none; background-color: #fff !important; } /* 按钮全局优化 */ button { /* 防止iOS缩放 */ font-size: 30rpx !important; /* 改善触摸体验 */ touch-action: manipulation; -webkit-tap-highlight-color: transparent; /* 防止默认样式 */ border: none; outline: none; background: none; padding: 0; margin: 0; /* 防止iOS按钮默认样式 */ -webkit-appearance: none; appearance: none; border-radius: 0; /* 改善字体渲染 */ font-family: inherit; } /* 选择器全局优化 */ picker { /* 改善触摸体验 */ touch-action: manipulation; -webkit-tap-highlight-color: transparent; /* 防止iOS选择器缩放 */ font-size: 30rpx !important; } /* 真机滚动优化 */ .scroll-view { -webkit-overflow-scrolling: touch; scroll-behavior: smooth; } /* 真机触摸反馈优化 */ .touchable { touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; } /* 响应式优化 - 针对不同屏幕尺寸 */ @media (max-width: 375px) { /* 小屏幕设备优化 */ .form-input { font-size: 26rpx !important; padding: 20rpx 16rpx; min-height: 72rpx; } .form-label { font-size: 26rpx; } .cooperation-option { padding: 20rpx 16rpx; min-height: 72rpx; } .cooperation-text { font-size: 26rpx; } } @media (min-width: 414px) { /* 大屏幕设备优化 */ .form-input { font-size: 28rpx !important; padding: 24rpx 20rpx; min-height: 80rpx; } .form-label { font-size: 28rpx; } .cooperation-option { padding: 24rpx 20rpx; min-height: 80rpx; } .cooperation-text { font-size: 28rpx; } } /* 横屏优化 */ @media (orientation: landscape) { .settlement-page { min-height: 100vh; } .content { padding: 16rpx 18rpx; } .form-input { min-height: 64rpx; padding: 18rpx 14rpx; } .cooperation-option { min-height: 68rpx; padding: 18rpx 14rpx; } } /* 高分辨率屏幕优化 */ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { .form-input { border-width: 1rpx; } .cooperation-option { border-width: 1rpx; } } /* 暗色模式适配 */ @media (prefers-color-scheme: dark) { .form-input { background-color: #2c2c2e; color: #fff; border-color: #48484a; } .form-input::placeholder { color: #8e8e93; } .cooperation-option { background-color: #2c2c2e; border-color: #48484a; color: #fff; } .cooperation-option.active { background-color: #1c1c1e; border-color: #07C160; } } /* 优化版步骤指示器 - 现代化设计 */ .step-indicator { display: flex; justify-content: space-between; align-items: center; margin-bottom: 60rpx; padding: 40rpx 32rpx; background: linear-gradient(135deg, #ffffff 0%, #f8fffe 100%); border-radius: 20rpx; position: relative; box-shadow: 0 8rpx 32rpx rgba(7, 193, 96, 0.08); } .step { display: flex; flex-direction: column; align-items: center; color: #bbb; font-size: 24rpx; flex: 1; position: relative; z-index: 2; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .step.active { color: #07C160; transform: translateY(-2rpx); } .step-circle { width: 56rpx; height: 56rpx; border-radius: 50%; background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%); display: flex; align-items: center; justify-content: center; margin-bottom: 12rpx; font-size: 26rpx; font-weight: 600; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 3rpx solid #e5e5e5; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); position: relative; overflow: hidden; } .step-circle::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.5) 50%, transparent 70%); transform: translateX(-100%); transition: transform 0.6s; } .step.active .step-circle { background: linear-gradient(135deg, #07C160 0%, #06ae56 100%); color: white; border-color: #07C160; box-shadow: 0 6rpx 20rpx rgba(7, 193, 96, 0.3); transform: scale(1.1); } .step.active .step-circle::before { transform: translateX(100%); } .step-line { position: absolute; top: 28rpx; left: 25%; right: 25%; height: 3rpx; background: linear-gradient(90deg, #e5e5e5 0%, #d0d0d0 100%); z-index: 1; border-radius: 2rpx; } .step-line::before { content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 0; background: linear-gradient(90deg, #07C160 0%, #06ae56 100%); border-radius: 2rpx; transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1); } .step.active ~ .step-line::before { width: 100%; } /* 优化版表单区域 - 现代化设计 */ .section { margin-bottom: 32rpx; background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%); border-radius: 20rpx; padding: 32rpx 28rpx; box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.06); width: 100%; box-sizing: border-box; overflow: hidden; position: relative; } .section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 0; background: transparent; border-radius: 20rpx 20rpx 0 0; } .section-title { font-size: 32rpx; font-weight: 700; margin-bottom: 28rpx; color: #1a1a1a; display: flex; align-items: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: 0.5rpx; } .required::after { content: '*'; color: #FA5151; margin-left: 6rpx; font-weight: 700; } /* 微信风格的表单项 - 针对真机优化 */ .form-item { margin-bottom: 28rpx; position: relative; width: 100%; box-sizing: border-box; /* 移除overflow: hidden,避免影响子元素点击事件 */ overflow: visible; } .form-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14rpx; padding-left: 8rpx; width: 100%; box-sizing: border-box; position: relative; } .form-label { font-size: 28rpx; color: #000; font-weight: 500; display: flex; align-items: center; white-space: nowrap; flex-shrink: 0; max-width: 100%; overflow: visible; /* 改善字体渲染 */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* 防止文字被截断 */ line-height: 1.2; letter-spacing: 0.5rpx; } .form-label.required::after { content: '*'; color: #FA5151; margin-left: 6rpx; font-weight: 700; } .input-wrapper { position: relative; width: 100%; max-width: 100%; box-sizing: border-box; } /* 优化版表单输入框 - 现代化设计 */ .form-input { width: 100%; max-width: 100%; padding: 24rpx 20rpx; padding-right: 45rpx; border: 2rpx solid rgba(7, 193, 96, 0.15); border-radius: 12rpx; font-size: 28rpx; background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-sizing: border-box; min-height: 80rpx; line-height: 1.4; -webkit-tap-highlight-color: transparent; /* 真机优化 */ -webkit-appearance: none; appearance: none; outline: none; /* 防止iOS缩放 */ font-size: 28rpx !important; transform-origin: left top; /* 改善触摸体验 */ touch-action: manipulation; /* 改善输入体验 */ caret-color: #07C160; /* 防止溢出 */ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; /* 改善字体渲染 */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; font-weight: 400; letter-spacing: 0.3rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04); /* 输入框获得焦点动画 */ position: relative; } .form-input::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 12rpx; background: linear-gradient(135deg, rgba(7, 193, 96, 0.05) 0%, rgba(7, 193, 96, 0.02) 100%); opacity: 0; transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1); z-index: -1; } .form-input:focus { border-color: #07C160; background: linear-gradient(135deg, #ffffff 0%, #f8fff8 100%); box-shadow: 0 4rpx 16rpx rgba(7, 193, 96, 0.15); transform: translateY(-2rpx); } .form-input:focus::before { opacity: 1; } .form-input:active { transform: scale(0.98); } .form-input.error { border-color: #FA5151; background: linear-gradient(135deg, #ffffff 0%, #fff8f8 100%); box-shadow: 0 4rpx 16rpx rgba(250, 81, 81, 0.15); } .form-input::placeholder { color: #999; font-size: 28rpx; font-weight: 400; opacity: 1; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .form-input:focus::placeholder { color: #bbb; opacity: 0.7; } /* placeholder样式优化 */ .form-input::placeholder { color: #999; font-size: 26rpx; font-weight: 400; opacity: 1; transition: all 0.2s ease; } .form-input-placeholder { color: #999 !important; font-size: 26rpx !important; font-weight: 400 !important; opacity: 1 !important; } .form-input:not(:placeholder-shown) + .input-icon { opacity: 1; transform: scale(1); } .form-input:focus::placeholder { color: #ddd; opacity: 0.7; } /* 输入框激活状态优化 */ .form-input:not(:placeholder-shown) { border-color: #07C160; } .input-icon { position: absolute; right: 18rpx; top: 50%; transform: translateY(-50%); font-size: 24rpx; color: #07C160; pointer-events: none; z-index: 2; } .error-message { color: #FA5151; font-size: 26rpx; margin-top: 12rpx; line-height: 1.3; padding: 0; background: transparent; border-radius: 0; font-weight: 400; } /* 优化版地区选择器 - 现代化设计 */ .region-picker { width: 100%; max-width: 100%; border: 2rpx solid rgba(7, 193, 96, 0.15); border-radius: 12rpx; background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%); font-size: 28rpx; min-height: 80rpx; box-sizing: border-box; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); line-height: 1.4; -webkit-tap-highlight-color: transparent; /* 真机优化 */ -webkit-appearance: none; appearance: none; outline: none; touch-action: manipulation; /* 确保picker组件能够正常响应点击事件 */ z-index: 1; cursor: pointer; display: block; overflow: visible; } .region-picker .picker-content { width: 100%; display: flex; justify-content: space-between; align-items: center; } .region-picker .picker-content text { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; /* 改善字体渲染 */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; font-weight: 400; letter-spacing: 0.3rpx; font-size: 28rpx; } .picker-content { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 24rpx 20rpx; box-sizing: border-box; } .picker-arrow { margin-left: 10rpx; font-size: 20rpx; color: #07C160; pointer-events: none; transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .region-picker:focus { border-color: #07C160; background: linear-gradient(135deg, #ffffff 0%, #f8fff8 100%); box-shadow: 0 4rpx 16rpx rgba(7, 193, 96, 0.15); transform: translateY(-2rpx); } .region-picker:focus .picker-arrow { transform: rotate(180deg); } .region-picker:active { /* 移除scale变换,避免点击区域偏移 */ background: linear-gradient(135deg, #f8fff8 0%, #ffffff 100%); } .region-picker.placeholder { color: #999; font-size: 28rpx; font-weight: 400; } /* 选中状态优化 */ .region-picker:not(.placeholder) { border-color: #07C160; color: #000; font-weight: 500; } /* 微信风格的合作模式选择 - 针对真机优化 */ .cooperation-options { display: grid; grid-template-columns: 1fr 1fr; gap: 20rpx; } .cooperation-option { display: flex; align-items: center; padding: 24rpx 20rpx; border: 2rpx solid #e5e5e5; border-radius: 10rpx; background: #fff; transition: all 0.2s ease; box-sizing: border-box; min-height: 80rpx; position: relative; -webkit-tap-highlight-color: transparent; /* 真机优化 */ touch-action: manipulation; cursor: pointer; /* 防止文字选中 */ -webkit-user-select: none; user-select: none; /* 改善触摸反馈 */ transform: translateZ(0); backface-visibility: hidden; /* 防止溢出 */ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .cooperation-option.active { border-color: #07C160; background: #e8f7ed; box-shadow: 0 2rpx 8rpx rgba(7, 193, 96, 0.15); } .cooperation-option:active { background: #f8f8f8; transform: scale(0.96); transition: all 0.1s ease; } .cooperation-option.active:active { background: #d4ede1; transform: scale(0.96); } .cooperation-icon { width: 36rpx; height: 36rpx; border-radius: 50%; border: 2rpx solid #ddd; margin-right: 20rpx; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; position: relative; background: #fff; pointer-events: none; flex-shrink: 0; } .cooperation-option.active .cooperation-icon { border-color: #07C160; background: #07C160; box-shadow: 0 2rpx 6rpx rgba(7, 193, 96, 0.3); } .cooperation-icon::after { content: '✓'; color: white; font-size: 22rpx; font-weight: 700; opacity: 0; transform: scale(0.5); transition: all 0.2s ease; } .cooperation-option.active .cooperation-icon::after { opacity: 1; transform: scale(1); } .cooperation-text { flex: 1; font-size: 28rpx; color: #000; font-weight: 400; line-height: 1.3; pointer-events: none; } .cooperation-option.active .cooperation-text { color: #07C160; font-weight: 500; } /* 优化版按钮组 - 现代化设计 */ .button-group { display: flex; gap: 20rpx; margin-top: 60rpx; position: sticky; bottom: 0; background: linear-gradient(135deg, rgba(247, 247, 247, 0.95) 0%, rgba(232, 245, 232, 0.95) 100%); padding: 32rpx 28rpx; border-top: 1rpx solid rgba(7, 193, 96, 0.1); backdrop-filter: blur(10rpx); border-radius: 24rpx 24rpx 0 0; } .btn { flex: 1; padding: 28rpx 24rpx; border-radius: 16rpx; font-size: 32rpx; font-weight: 600; text-align: center; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); min-height: 88rpx; display: flex; align-items: center; justify-content: center; box-sizing: border-box; position: relative; overflow: hidden; -webkit-tap-highlight-color: transparent; letter-spacing: 0.5rpx; } .btn::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.2) 50%, transparent 70%); transform: translateX(-100%); transition: transform 0.6s; } .btn:active::before { transform: translateX(100%); } .btn:active { transform: scale(0.96); } .btn-primary { background: linear-gradient(135deg, #07C160 0%, #06ae56 100%); color: white; border: none; box-shadow: 0 8rpx 24rpx rgba(7, 193, 96, 0.3); } .btn-primary:active { background: linear-gradient(135deg, #06ae56 0%, #059d4f 100%); box-shadow: 0 4rpx 16rpx rgba(7, 193, 96, 0.4); } .btn-secondary { background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); color: #333; border: 2rpx solid rgba(7, 193, 96, 0.2); box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08); } .btn-secondary:active { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1); } /* 优化版身份选择卡片 - 现代化设计 */ .identity-options { display: flex; flex-direction: column; gap: 32rpx; margin: 0; padding: 0; /* 卡片容器动画 */ animation: cardsSlideIn 1.2s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes cardsSlideIn { from { opacity: 0; transform: translateY(40rpx); } to { opacity: 1; transform: translateY(0); } } .identity-option { display: flex; align-items: center; padding: 40rpx 32rpx; border: 3rpx solid #f0f0f0; border-radius: 24rpx; background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.04); overflow: hidden; cursor: pointer; /* 卡片进入动画 */ animation: cardFadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1) backwards; /* 为不同卡片添加延迟 */ } .identity-option:nth-child(1) { animation-delay: 0.1s; } .identity-option:nth-child(2) { animation-delay: 0.2s; } @keyframes cardFadeIn { from { opacity: 0; transform: scale(0.9) translateY(20rpx); } to { opacity: 1; transform: scale(1) translateY(0); } } .identity-option::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(7, 193, 96, 0.05), transparent); transition: left 0.6s; } .identity-option:hover::before { left: 100%; } .identity-option:hover { border-color: rgba(7, 193, 96, 0.3); transform: translateY(-4rpx); box-shadow: 0 12rpx 32rpx rgba(7, 193, 96, 0.15); } .identity-option.selected { border-color: #07C160; background: linear-gradient(135deg, #e8f7ed 0%, #f0faf5 100%); box-shadow: 0 8rpx 32rpx rgba(7, 193, 96, 0.15); transform: translateY(-4rpx); /* 选中状态动画 */ animation: cardSelected 0.4s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes cardSelected { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .identity-option:active { transform: translateY(-2rpx) scale(0.98); box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1); } .identity-option.selected:active { transform: translateY(-2rpx) scale(0.98); box-shadow: 0 6rpx 24rpx rgba(7, 193, 96, 0.2); } .identity-icon { width: 120rpx; height: 120rpx; background: linear-gradient(135deg, #f7f7f7 0%, #ececec 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 32rpx; color: #666; font-size: 56rpx; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 6rpx 20rpx rgba(0, 0, 0, 0.08); position: relative; overflow: hidden; /* 图标动画 */ animation: iconPulse 2s ease-in-out infinite; } @keyframes iconPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .identity-icon::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.3) 50%, transparent 70%); transform: rotate(45deg); animation: iconShine 3s ease-in-out infinite; } @keyframes iconShine { 0%, 100% { transform: translateX(-100%) translateY(-100%) rotate(45deg); } 50% { transform: translateX(100%) translateY(100%) rotate(45deg); } } .identity-option:hover .identity-icon { transform: scale(1.1) rotate(5deg); box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.15); } .identity-option.selected .identity-icon { background: linear-gradient(135deg, #07C160 0%, #06ae56 100%); color: white; box-shadow: 0 8rpx 28rpx rgba(7, 193, 96, 0.25); transform: scale(1.1); /* 选中时的特殊动画 */ animation: iconSelected 0.6s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes iconSelected { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.2) rotate(10deg); } 100% { transform: scale(1.1) rotate(0deg); } } .identity-text { flex: 1; position: relative; z-index: 2; display: flex; flex-direction: column; gap: 8rpx; /* 文本动画 */ animation: textFadeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1); } @keyframes textFadeIn { from { opacity: 0; transform: translateX(-20rpx); } to { opacity: 1; transform: translateX(0); } } .identity-title { font-weight: 700; margin-bottom: 12rpx; font-size: 36rpx; color: #1a1a1a; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); letter-spacing: 0.5rpx; text-shadow: 0 1rpx 2rpx rgba(0, 0, 0, 0.05); } .identity-desc { font-size: 28rpx; color: #888; line-height: 1.5; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); letter-spacing: 0.3rpx; opacity: 0.9; } .identity-option:hover .identity-title { color: #07C160; transform: translateX(4rpx); } .identity-option:hover .identity-desc { color: #555; opacity: 1; } .identity-option.selected .identity-title { color: #07C160; transform: translateX(4rpx); } .identity-option.selected .identity-desc { color: #06ae56; font-weight: 500; } /* 添加选中状态指示器 */ .identity-option::after { content: ''; position: absolute; top: 24rpx; right: 24rpx; width: 32rpx; height: 32rpx; border: 3rpx solid #e0e0e0; border-radius: 50%; background: #fff; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1); } .identity-option.selected::after { border-color: #07C160; background: #07C160; transform: scale(1.1); box-shadow: 0 4rpx 12rpx rgba(7, 193, 96, 0.3); } .identity-option.selected::before { content: '✓'; position: absolute; top: 24rpx; right: 24rpx; width: 32rpx; height: 32rpx; color: white; font-size: 20rpx; font-weight: bold; display: flex; align-items: center; justify-content: center; z-index: 3; opacity: 0; transform: scale(0.5); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .identity-option.selected::before { opacity: 1; transform: scale(1); } /* 微信风格的上传区域 */ .upload-area { border: 2rpx dashed #e5e5e5; border-radius: 12rpx; padding: 60rpx 32rpx; text-align: center; background: #fafafa; transition: all 0.2s ease; min-height: 200rpx; display: flex; flex-direction: column; align-items: center; justify-content: center; } .upload-area:active { background: #f0f0f0; border-color: #07C160; } .upload-icon { font-size: 48rpx; color: #07C160; margin-bottom: 16rpx; } .upload-text { font-size: 28rpx; color: #000; font-weight: 500; margin-bottom: 4rpx; } .upload-tip { font-size: 24rpx; color: #999; margin-top: 12rpx; } /* 微信风格的已上传文件 */ .uploaded-file { display: flex; align-items: center; background: #f7f7f7; border-radius: 12rpx; padding: 24rpx; margin-top: 20rpx; transition: all 0.2s ease; border: 1rpx solid #e5e5e5; } .file-icon { color: #07C160; margin-right: 20rpx; font-size: 32rpx; } .file-name { flex: 1; font-size: 28rpx; color: #000; font-weight: 400; } .file-delete { color: #FA5151; font-size: 28rpx; padding: 12rpx; } /* 微信风格的审核状态 */ .audit-status { text-align: center; padding: 60rpx 32rpx; } .audit-icon { width: 120rpx; height: 120rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 32rpx; font-size: 56rpx; } .audit-icon.pending { background-color: #FFF5E6; color: #FF9900; } .audit-icon.failed { background-color: #FFE6E6; color: #FF4D4F; } .audit-icon.success { background-color: #E8F7ED; color: #07C160; } .audit-icon.cooperating { background-color: #E6F7FF; color: #1890FF; } .audit-title { font-size: 36rpx; font-weight: 600; margin-bottom: 24rpx; color: #000; } .audit-desc { font-size: 28rpx; color: #666; margin-bottom: 48rpx; line-height: 1.5; } .audit-reason { background-color: #f7f7f7; border-radius: 12rpx; padding: 24rpx; margin: 32rpx 0; text-align: left; border: 1rpx solid #e5e5e5; } .audit-reason-title { font-weight: 600; margin-bottom: 12rpx; color: #000; } .audit-reason-content { font-size: 26rpx; color: #666; line-height: 1.4; white-space: normal; word-wrap: break-word; word-break: break-all; } .btn-audit { margin-top: 32rpx; } .protocol-header { padding: 32rpx; text-align: center; font-size: 32rpx; font-weight: 500; border-bottom: 1rpx solid #e5e5e5; position: relative; } .protocol-close { position: absolute; right: 32rpx; top: 50%; transform: translateY(-50%); font-size: 36rpx; color: #999; } .protocol-body { flex: 1; padding: 32rpx; overflow-y: auto; line-height: 1.5; } .protocol-section { margin-bottom: 32rpx; } .protocol-title { font-weight: 500; margin-bottom: 16rpx; font-size: 28rpx; } .protocol-text { font-size: 26rpx; color: #555; margin-bottom: 8rpx; } .protocol-footer { padding: 24rpx 32rpx; border-top: 1rpx solid #e5e5e5; text-align: center; } .btn-protocol { background-color: #07C160; color: white; border: none; border-radius: 12rpx; padding: 20rpx 40rpx; font-size: 28rpx; width: 100%; } /* 响应式调整 */ @media (max-width: 375px) { .content { padding: 24rpx 20rpx; } .section-title { font-size: 28rpx; margin-bottom: 20rpx; } .form-input { padding: 18rpx 14rpx; min-height: 72rpx; font-size: 24rpx !important; } .region-picker { padding: 18rpx 14rpx; min-height: 72rpx; font-size: 26rpx; } .cooperation-options { grid-template-columns: 1fr; gap: 12rpx; } .cooperation-option { padding: 18rpx 14rpx; min-height: 68rpx; } .cooperation-text { font-size: 24rpx; } .button-group { gap: 12rpx; margin-top: 40rpx; padding: 12rpx 0; } .btn { padding: 22rpx 18rpx; min-height: 76rpx; font-size: 28rpx; } .form-label { font-size: 24rpx; } .error-message { font-size: 20rpx; padding: 4rpx 8rpx; margin-top: 4rpx; } } /* 超小屏幕优化 */ @media (max-width: 320px) { .content { padding: 20rpx 16rpx; } .form-input, .region-picker { padding: 16rpx 12rpx; min-height: 68rpx; font-size: 24rpx; } .cooperation-option { padding: 16rpx 12rpx; min-height: 64rpx; } .cooperation-text { font-size: 22rpx; } .btn { padding: 20rpx 16rpx; min-height: 72rpx; font-size: 26rpx; } .form-label { font-size: 24rpx; } } /* 添加页面切换动画 */ .page { animation: pageSlideIn 0.3s ease-out; } @keyframes pageSlideIn { from { opacity: 0; transform: translateX(20rpx); } to { opacity: 1; transform: translateX(0); } } /* 添加加载状态 */ .loading { display: flex; justify-content: center; align-items: center; padding: 60rpx; } .loading-spinner { width: 48rpx; height: 48rpx; border: 4rpx solid #f0f0f0; border-top: 4rpx solid #07C160; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .auth-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 9999; } .auth-modal-container { background-color: #fff; border-radius: 24rpx; width: 85%; max-width: 520rpx; padding: 50rpx 40rpx; box-shadow: 0 12rpx 32rpx rgba(0, 0, 0, 0.18); } .auth-modal-title { font-size: 40rpx; font-weight: bold; color: #333; text-align: center; margin-bottom: 35rpx; } .auth-modal-content { font-size: 32rpx; line-height: 1.6; color: #666; text-align: center; margin-bottom: 50rpx; } .auth-modal-buttons { display: flex; flex-direction: column; gap: 24rpx; } .auth-primary-button { background-color: #07c160; color: #fff; font-size: 34rpx; font-weight: 600; line-height: 1.6; border-radius: 12rpx; padding: 24rpx 0; box-shadow: 0 4rpx 12rpx rgba(7, 193, 96, 0.3); } .auth-cancel-button { background-color: #fff; color: #999; font-size: 34rpx; font-weight: 500; line-height: 1.6; border-radius: 12rpx; padding: 24rpx 0; border: 2rpx solid #e5e5e5; } @keyframes modalSlideIn { from { opacity: 0; transform: translateY(-20rpx) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } } .auth-header { padding: 32rpx; text-align: center; font-size: 32rpx; font-weight: 500; border-bottom: 1rpx solid #e5e5e5; position: relative; background: linear-gradient(135deg, #07C160 0%, #06ae56 100%); color: white; } .auth-close { position: absolute; right: 32rpx; top: 50%; transform: translateY(-50%); font-size: 36rpx; color: rgba(255, 255, 255, 0.8); width: 48rpx; height: 48rpx; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, 0.1); transition: all 0.3s ease; } .auth-close:hover { background: rgba(255, 255, 255, 0.2); color: white; } .auth-body { padding: 48rpx 32rpx; text-align: center; display: flex; flex-direction: column; align-items: center; } .auth-icon { font-size: 80rpx; margin-bottom: 24rpx; animation: bounce 2s infinite; } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-10rpx); } 60% { transform: translateY(-5rpx); } } .auth-text { font-size: 28rpx; color: #666; line-height: 1.5; margin-bottom: 48rpx; } .auth-btn { background: linear-gradient(135deg, #07C160 0%, #06ae56 100%); color: white; border: none; border-radius: 50rpx; padding: 24rpx 48rpx; font-size: 30rpx; font-weight: 500; width: 100%; max-width: 400rpx; box-shadow: 0 8rpx 24rpx rgba(7, 193, 96, 0.3); transition: all 0.3s ease; position: relative; overflow: hidden; } .auth-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: left 0.5s ease; } .auth-btn:hover::before { left: 100%; } .auth-btn:active { transform: scale(0.98); box-shadow: 0 4rpx 12rpx rgba(7, 193, 96, 0.3); } .auth-tip { font-size: 24rpx; color: #999; margin-top: 24rpx; line-height: 1.4; }