ai-c/pages/withdraw/withdraw.wxss

592 lines
9.3 KiB
Plaintext

.page {
min-height: 100vh;
background: linear-gradient(180deg, #F8F5FF 0%, #FFFFFF 100%);
padding-bottom: env(safe-area-inset-bottom);
}
/* 顶部导航栏已移除,改用全局 unified-header */
.wrap {
padding: 0 32rpx;
}
.card {
background: #ffffff;
border-radius: 48rpx;
padding: 40rpx;
box-shadow: 0 4rpx 16rpx rgba(176, 106, 179, 0.08);
margin-bottom: 32rpx;
border: 2rpx solid #FDF4F9;
}
/* Balance Card */
.balance-card {
background: linear-gradient(135deg, #FFFFFF 0%, #FDF4F9 100%);
}
.balance-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24rpx;
}
.label {
font-size: 28rpx;
font-weight: 700;
color: #6B7280;
}
.balance-row {
display: flex;
align-items: baseline;
gap: 8rpx;
margin-bottom: 32rpx;
}
.currency {
font-size: 40rpx;
font-weight: 900;
color: #111827;
}
.value {
font-size: 80rpx;
font-weight: 900;
color: #111827;
line-height: 1;
letter-spacing: -2rpx;
}
.withdraw-tip {
display: inline-flex;
align-items: center;
gap: 8rpx;
padding: 12rpx 24rpx;
background: rgba(176, 106, 179, 0.1);
border-radius: 999rpx;
}
.withdraw-tip text {
font-size: 24rpx;
color: #B06AB3;
font-weight: 600;
}
/* Form Card */
.field-group {
margin-bottom: 48rpx;
}
.f-label {
display: block;
font-size: 28rpx;
font-weight: 800;
color: #111827;
margin-bottom: 20rpx;
}
.input-wrapper {
background: #F9FAFB;
border-radius: 32rpx;
padding: 8rpx 32rpx;
display: flex;
align-items: center;
height: 112rpx;
border: 2rpx solid transparent;
transition: all 0.3s;
}
/* 银行卡展示区域 */
.bank-info-display {
margin-top: -24rpx;
margin-bottom: 24rpx;
padding-top: 32rpx;
border-top: 2rpx dashed #F3F4F6;
}
.bank-card-preview {
display: flex;
align-items: center;
background: #F9FAFB;
border-radius: 24rpx;
padding: 24rpx;
border: 2rpx solid #F3F4F6;
}
.bank-card-icon {
width: 64rpx;
height: 64rpx;
background: #3B82F6;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 24rpx;
}
.bank-card-details {
flex: 1;
display: flex;
flex-direction: column;
}
.bank-name {
font-size: 30rpx;
font-weight: 700;
color: #111827;
margin-bottom: 4rpx;
}
.bank-number {
font-size: 26rpx;
color: #6B7280;
}
.bank-card-edit {
padding: 12rpx 24rpx;
background: #FFFFFF;
border-radius: 999rpx;
border: 2rpx solid #E5E7EB;
}
.bank-card-edit text {
font-size: 24rpx;
color: #6B7280;
font-weight: 600;
}
.bank-card-empty {
height: 112rpx; /* Match input-wrapper height */
display: flex;
align-items: center;
padding: 0 32rpx;
background: #F9FAFB;
border: 2rpx dashed #D1D5DB;
border-radius: 32rpx;
}
.bank-card-empty text {
font-size: 28rpx;
color: #6B7280;
font-weight: 600;
}
/* 银行卡弹窗样式 */
.bank-modal {
z-index: 1002;
}
.bank-form {
padding-bottom: 40rpx;
}
.confirm-btn {
margin-top: 48rpx;
width: 100%;
height: 96rpx;
border-radius: 48rpx;
background: #3B82F6;
color: #ffffff;
font-size: 34rpx;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
}
.input-wrapper.small-input {
height: 96rpx;
background: #F9FAFB;
border-radius: 24rpx;
}
.input-text {
flex: 1;
height: 100%;
font-size: 32rpx;
color: #111827;
font-weight: 500;
}
.input-wrapper:focus-within {
background: #FFFFFF;
border-color: #B06AB3;
box-shadow: 0 0 0 4rpx rgba(176, 106, 179, 0.1);
}
.input-prefix {
font-size: 40rpx;
font-weight: 900;
color: #111827;
margin-right: 16rpx;
}
.input {
flex: 1;
height: 100%;
font-size: 40rpx;
font-weight: 900;
color: #111827;
}
.placeholder {
color: #D1D5DB;
font-weight: 600;
}
.all-btn {
font-size: 28rpx;
font-weight: 700;
color: #B06AB3;
padding: 12rpx 24rpx;
}
.select-wrapper {
background: #F9FAFB;
border-radius: 32rpx;
padding: 24rpx 32rpx;
display: flex;
align-items: center;
justify-content: space-between;
height: 112rpx;
}
.select-left {
display: flex;
align-items: center;
gap: 16rpx;
}
.wechat-icon-box {
width: 64rpx;
height: 64rpx;
background: #07C160;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.bank-icon-box {
width: 64rpx;
height: 64rpx;
background: #3B82F6; /* Bank Blue */
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.select-text {
font-size: 30rpx;
font-weight: 700;
color: #111827;
}
.submit-btn {
width: 100%;
height: 104rpx;
border-radius: 52rpx;
background: linear-gradient(135deg, #B06AB3 0%, #9B4D9E 100%);
color: #ffffff;
font-size: 36rpx;
font-weight: 900;
box-shadow: 0 20rpx 40rpx rgba(176, 106, 179, 0.3);
display: flex;
align-items: center;
justify-content: center;
margin-top: 64rpx;
letter-spacing: 2rpx;
transition: opacity 0.3s;
}
.submit-btn[disabled] {
opacity: 0.6;
box-shadow: none;
}
/* 提现规则入口 */
.rules-entry {
display: flex;
justify-content: center;
align-items: center;
margin-top: 32rpx;
padding: 16rpx 0;
}
.rules-entry-text {
font-size: 28rpx;
color: #B06AB3;
font-weight: 600;
border-bottom: 2rpx solid transparent;
}
/* 规则弹窗 */
.modal-mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.6);
z-index: 1000;
backdrop-filter: blur(4px);
}
.modal-container {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #FFFFFF;
border-radius: 40rpx 40rpx 0 0;
z-index: 1001;
padding: 0 32rpx;
padding-bottom: env(safe-area-inset-bottom);
max-height: 80vh;
display: flex;
flex-direction: column;
animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes slideUp {
from {
transform: translateY(100%);
}
to {
transform: translateY(0);
}
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 32rpx 0;
border-bottom: 2rpx solid #F3F4F6;
}
.modal-title {
font-size: 34rpx;
font-weight: 800;
color: #111827;
}
.modal-close {
padding: 10rpx;
}
.modal-scroll {
flex: 1;
padding-top: 32rpx;
overflow-y: auto;
}
/* 复用规则样式 */
.rule-block {
margin-bottom: 40rpx;
}
.rule-block:last-child {
margin-bottom: 0;
}
.rule-header {
display: flex;
align-items: center;
gap: 12rpx;
margin-bottom: 24rpx;
}
.rule-icon {
font-size: 32rpx;
}
.rule-title {
font-size: 30rpx;
font-weight: 800;
color: #111827;
}
.rule-content {
display: flex;
flex-direction: column;
gap: 16rpx;
}
.rule-item {
font-size: 26rpx;
color: #4B5563;
line-height: 1.6;
text-align: justify;
}
.rule-label {
font-weight: 700;
color: #374151;
}
.qa-item {
margin-bottom: 24rpx;
}
.qa-item:last-child {
margin-bottom: 0;
}
.qa-q {
font-size: 28rpx;
font-weight: 700;
color: #374151;
margin-bottom: 8rpx;
}
.qa-a {
font-size: 26rpx;
color: #6B7280;
line-height: 1.5;
padding-left: 20rpx;
}
.help-text {
font-size: 26rpx;
color: #4B5563;
line-height: 1.6;
}
.link-contact {
color: #FF69B4; /* 粉色高亮 */
font-weight: 700;
display: inline;
text-decoration: underline;
padding: 0 4rpx;
}
/* Records Section */
.records-section {
margin-top: 48rpx;
padding-bottom: 64rpx;
}
.section-header {
margin-bottom: 24rpx;
padding: 0 8rpx;
}
.section-title {
font-size: 32rpx;
font-weight: 800;
color: #111827;
}
.record-list {
display: flex;
flex-direction: column;
gap: 24rpx;
}
.record-item {
background: #ffffff;
border-radius: 32rpx;
padding: 32rpx;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start; /* 顶部对齐,避免因右侧高度增加导致左侧被拉伸 */
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.02);
border: 2rpx solid #F9FAFB;
}
.record-info {
display: flex;
flex-direction: column;
gap: 12rpx; /* 增加间距,使时间与左侧标题间距更合理 */
flex: 1;
padding-top: 4rpx; /* 微调顶部对齐 */
}
.record-type {
font-size: 28rpx;
font-weight: 700;
color: #111827;
}
.record-time {
font-size: 24rpx;
color: #9CA3AF;
}
.record-amount {
display: flex;
flex-direction: column;
align-items: center; /* 改为居中对齐 */
gap: 8rpx;
width: 140rpx; /* 固定宽度确保对齐 */
}
.amount-value {
font-size: 32rpx;
font-weight: 800;
color: #111827;
text-align: center;
}
.record-status {
font-size: 22rpx;
font-weight: 700;
padding: 4rpx 16rpx;
border-radius: 999rpx;
}
/* Rejection Reason Style */
.reject-reason {
width: 100%;
margin-top: 20rpx;
padding-top: 20rpx;
border-top: 2rpx dashed #F3F4F6;
display: flex;
flex-direction: row;
align-items: flex-start;
}
.reason-label {
font-size: 24rpx;
font-weight: 700;
color: #DC2626;
white-space: nowrap;
}
.reason-content {
font-size: 24rpx;
color: #4B5563;
line-height: 1.4;
}
.status-pending {
background: rgba(176, 106, 179, 0.1);
color: #B06AB3;
font-size: 28rpx; /* 增大字号 */
padding: 8rpx 24rpx; /* 调整内边距以适应大字号 */
}
.status-processing {
background: #DBEAFE;
color: #2563EB;
font-size: 28rpx;
padding: 8rpx 24rpx;
}
.status-completed {
background: #D1FAE5;
color: #059669;
font-size: 28rpx;
padding: 8rpx 24rpx;
}
.status-rejected {
background: #FEE2E2;
color: #DC2626;
}