You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1959 lines
37 KiB

/* 优化版页面容器 - 现代化设计 */
.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;
}
/* 问号帮助按钮样式 */
.tip-button {
width: 36rpx;
height: 36rpx;
border-radius: 50%;
border: 2rpx solid #999;
background-color: #fff;
color: #999;
font-size: 24rpx;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
margin-left: 10rpx;
cursor: pointer;
user-select: none;
transition: all 0.2s ease;
}
.tip-button:active {
transform: scale(0.9);
background-color: #f0f0f0;
}
/* 合作模式帮助弹窗样式 */
.cooperation-help-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.6);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
padding: 20rpx;
}
.cooperation-help-container {
background-color: #fff;
border-radius: 20rpx;
padding: 50rpx 40rpx;
max-width: 92%;
max-height: 88%;
overflow-y: auto;
box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.2);
background: linear-gradient(to bottom, #ffffff, #f8f9fa);
}
/* 自定义滚动条样式 */
.cooperation-help-container::-webkit-scrollbar {
width: 8rpx;
height: 8rpx;
}
.cooperation-help-container::-webkit-scrollbar-track {
background: #f5f5f5;
border-radius: 4rpx;
}
.cooperation-help-container::-webkit-scrollbar-thumb {
background: #d0d0d0;
border-radius: 4rpx;
}
.cooperation-help-container::-webkit-scrollbar-thumb:hover {
background: #b8b8b8;
}
.cooperation-help-title {
font-size: 38rpx;
font-weight: bold;
color: #2c3e50;
margin-bottom: 40rpx;
text-align: center;
padding-bottom: 25rpx;
border-bottom: 2rpx solid #e8f5e8;
letter-spacing: 2rpx;
}
.cooperation-help-content {
font-size: 30rpx;
color: #555555;
line-height: 56rpx;
margin-bottom: 50rpx;
}
/* 一级标题样式 */
.cooperation-help-content h3 {
font-size: 34rpx;
font-weight: 700;
color: #2c3e50;
margin: 50rpx 0 25rpx 0;
padding-left: 15rpx;
border-left: 8rpx solid #07C160;
background-color: #f0f9f0;
padding: 15rpx 20rpx;
border-radius: 8rpx;
letter-spacing: 1rpx;
}
/* 二级标题样式 */
.cooperation-help-content h4 {
font-size: 32rpx;
font-weight: 600;
color: #34495e;
margin: 40rpx 0 20rpx 0;
padding-left: 20rpx;
background-color: #f8f9fa;
padding: 12rpx 20rpx;
border-radius: 6rpx;
}
/* 段落样式 */
.cooperation-help-content p {
margin: 25rpx 0;
text-indent: 2em;
color: #666666;
padding: 0 10rpx;
text-align: justify;
word-break: break-word;
}
/* 列表样式优化 */
.cooperation-help-content ul, .cooperation-help-content ol {
margin: 25rpx 0 25rpx 60rpx;
}
.cooperation-help-content li {
margin: 20rpx 0;
color: #666666;
line-height: 52rpx;
text-indent: 0;
}
/* 列表项数字/符号样式 */
.cooperation-help-content ol li {
font-weight: 500;
color: #495057;
}
.cooperation-buttons {
display: flex;
flex-direction: column;
gap: 20rpx;
margin-bottom: 30rpx;
}
.cooperation-button {
width: 100%;
padding: 24rpx;
background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
color: #333;
border: 2rpx solid rgba(7, 193, 96, 0.2);
border-radius: 12rpx;
font-size: 30rpx;
font-weight: 500;
transition: all 0.3s ease;
cursor: pointer;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);
display: flex;
justify-content: center;
align-items: center;
}
.cooperation-button:active {
transform: scale(0.98);
background: linear-gradient(135deg, #07C160 0%, #06ae56 100%);
color: white;
border-color: #07C160;
}
.cooperation-detail {
margin-top: 20rpx;
padding: 24rpx;
background: linear-gradient(135deg, #f0fff4 0%, #e6ffe9 100%);
border-radius: 12rpx;
border: 2rpx solid #c6f6d5;
}
.detail-title {
font-size: 32rpx;
font-weight: 700;
color: #07C160;
margin-bottom: 16rpx;
text-align: center;
}
.detail-content {
font-size: 28rpx;
color: #4a5568;
line-height: 1.6;
text-align: center;
white-space: pre-line;
}
/* 按钮样式优化 */
.cooperation-help-button {
width: 100%;
height: 92rpx;
background: linear-gradient(135deg, #07C160 0%, #06b358 100%);
color: #fff;
border: none;
border-radius: 46rpx;
font-size: 36rpx;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
margin-top: 30rpx;
box-shadow: 0 6rpx 20rpx rgba(7, 193, 96, 0.3);
letter-spacing: 2rpx;
}
.cooperation-help-button:active {
transform: scale(0.96);
box-shadow: 0 3rpx 12rpx rgba(7, 193, 96, 0.4);
background: linear-gradient(135deg, #06b358 0%, #05a050 100%);
}
.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;
}