与牧同行-小程序用户端
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.
 

546 lines
9.3 KiB

/* pages/real-name-auth/real-name-auth.wxss */
/* 基础样式 */
.auth-container {
min-height: 100vh;
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
position: relative;
overflow: hidden;
padding: 40rpx 0 100rpx;
}
/* 顶部装饰 */
.top-decoration {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 300rpx;
overflow: hidden;
z-index: 0;
}
.decoration-circle {
position: absolute;
border-radius: 50%;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.1) 100%);
}
.circle-1 {
width: 400rpx;
height: 400rpx;
top: -200rpx;
right: -100rpx;
}
.circle-2 {
width: 300rpx;
height: 300rpx;
top: -150rpx;
left: -100rpx;
}
.circle-3 {
width: 200rpx;
height: 200rpx;
top: 100rpx;
left: 50%;
margin-left: -100rpx;
}
/* 头部 */
.header {
text-align: center;
padding: 40rpx 0 60rpx;
position: relative;
z-index: 1;
}
.logo {
width: 120rpx;
height: 120rpx;
margin: 0 auto 24rpx;
}
.brand-name {
font-size: 48rpx;
font-weight: bold;
color: #2c3e50;
margin-bottom: 16rpx;
letter-spacing: 4rpx;
}
.page-title {
font-size: 36rpx;
color: #2c3e50;
font-weight: 600;
margin-bottom: 12rpx;
}
.page-subtitle {
font-size: 28rpx;
color: #7f8c8d;
}
/* 表单卡片 */
.form-card {
background: white;
border-radius: 32rpx;
padding: 48rpx 40rpx;
margin: 0 40rpx 30rpx;
box-shadow: 0 10rpx 40rpx rgba(0, 0, 0, 0.08);
position: relative;
z-index: 1;
animation: slideUp 0.6s ease-out;
}
.card-header {
margin-bottom: 40rpx;
}
.card-title {
display: flex;
align-items: center;
font-size: 32rpx;
font-weight: 600;
color: #2c3e50;
margin-bottom: 12rpx;
}
.title-icon {
width: 36rpx;
height: 36rpx;
margin-right: 16rpx;
}
.card-hint {
font-size: 26rpx;
color: #95a5a6;
}
/* 输入组 */
.input-group {
margin-bottom: 48rpx;
}
.input-label {
display: flex;
align-items: center;
margin-bottom: 20rpx;
font-size: 28rpx;
color: #2c3e50;
font-weight: 500;
}
.label-icon {
width: 32rpx;
height: 32rpx;
margin-right: 16rpx;
}
.input-wrapper,
.code-input-container {
position: relative;
}
.name-input,
.phone-input,
.code-input {
width: 100%;
height: 88rpx;
font-size: 28rpx;
color: #2c3e50;
padding: 0 24rpx;
background: #f8f9fa;
border-radius: 16rpx;
transition: all 0.3s ease;
}
.placeholder {
color: #bdc3c7;
font-size: 28rpx;
}
.input-border {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border: 2rpx solid transparent;
border-radius: 16rpx;
pointer-events: none;
}
.input-focus-border {
position: absolute;
top: -2rpx;
left: -2rpx;
right: -2rpx;
bottom: -2rpx;
border: 4rpx solid transparent;
border-radius: 18rpx;
opacity: 0;
transition: all 0.3s ease;
pointer-events: none;
}
.input-focus-border.active {
opacity: 1;
border-color: rgba(52, 152, 219, 0.3);
}
.input-hint {
font-size: 24rpx;
color: #95a5a6;
margin-top: 12rpx;
min-height: 36rpx;
transition: all 0.3s ease;
}
.input-hint.error {
color: #e74c3c;
}
/* 验证码区域 */
.code-input-wrapper {
display: flex;
align-items: center;
gap: 20rpx;
}
.code-input-container {
flex: 1;
}
.send-code-btn {
min-width: 200rpx;
height: 88rpx;
background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
border-radius: 16rpx;
font-size: 26rpx;
color: white;
padding: 0;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
box-shadow: 0 4rpx 20rpx rgba(52, 152, 219, 0.3);
}
.send-code-btn::after {
border: none;
}
.btn-content {
display: flex;
align-items: center;
justify-content: center;
}
.sms-icon {
width: 24rpx;
height: 24rpx;
margin-right: 8rpx;
}
.send-code-btn.disabled {
background: #bdc3c7;
box-shadow: none;
opacity: 0.6;
}
.send-code-btn.counting {
background: #95a5a6;
}
.btn-hover {
opacity: 0.9;
transform: translateY(-2rpx);
}
/* 协议 */
.agreement-card {
background: white;
border-radius: 24rpx;
padding: 32rpx 40rpx;
margin: 0 40rpx 40rpx;
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.06);
}
.agreement-item {
display: flex;
align-items: flex-start;
}
.checkbox {
width: 36rpx;
height: 36rpx;
border: 2rpx solid #bdc3c7;
border-radius: 8rpx;
margin-right: 20rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: all 0.3s ease;
}
.checkbox.checked {
background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%);
border-color: transparent;
}
.check-icon {
width: 20rpx;
height: 20rpx;
}
.agreement-text {
font-size: 26rpx;
color: #2c3e50;
line-height: 1.4;
flex: 1;
}
.link {
color: #3498db;
text-decoration: none;
}
/* 提交按钮 */
.submit-section {
padding: 0 40rpx;
position: relative;
z-index: 1;
}
.submit-btn {
width: 100%;
height: 100rpx;
background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%);
border-radius: 50rpx;
font-size: 32rpx;
color: white;
font-weight: 600;
padding: 0;
margin: 0;
transition: all 0.3s ease;
box-shadow: 0 10rpx 40rpx rgba(46, 204, 113, 0.4);
}
.submit-btn::after {
border: none;
}
.submit-btn.disabled {
background: #bdc3c7;
box-shadow: none;
opacity: 0.7;
}
.btn-inner {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
.arrow-icon {
width: 32rpx;
height: 32rpx;
margin-left: 12rpx;
opacity: 0.9;
}
.submit-btn-hover {
opacity: 0.9;
transform: translateY(-2rpx);
}
.submit-hint {
text-align: center;
font-size: 26rpx;
color: #7f8c8d;
margin-top: 24rpx;
}
/* 底部装饰 */
.bottom-decoration {
text-align: center;
margin-top: 60rpx;
position: relative;
z-index: 1;
animation: fadeInUp 0.8s ease-out 0.3s both;
}
.sheep-illustration {
width: 200rpx;
height: 150rpx;
margin-bottom: 20rpx;
opacity: 0.8;
}
.decoration-text {
font-size: 28rpx;
color: #7f8c8d;
}
.highlight {
color: #3498db;
font-weight: 600;
}
/* 成功弹窗 */
.success-modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1000;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.success-modal.show {
opacity: 1;
visibility: visible;
}
.modal-mask {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(10rpx);
}
.modal-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.9);
width: 600rpx;
background: white;
border-radius: 32rpx;
padding: 60rpx 40rpx;
text-align: center;
opacity: 0;
transition: all 0.3s ease;
}
.success-modal.show .modal-content {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
.modal-icon {
width: 120rpx;
height: 120rpx;
background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 32rpx;
}
.success-icon {
width: 60rpx;
height: 60rpx;
}
.modal-title {
font-size: 40rpx;
font-weight: bold;
color: #2c3e50;
margin-bottom: 20rpx;
}
.modal-message {
font-size: 32rpx;
color: #2c3e50;
margin-bottom: 16rpx;
}
.brand-highlight {
color: #3498db;
font-weight: 600;
}
.modal-subtitle {
font-size: 26rpx;
color: #7f8c8d;
margin-bottom: 40rpx;
line-height: 1.5;
}
.modal-btn {
background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
border-radius: 50rpx;
height: 88rpx;
font-size: 30rpx;
color: white;
font-weight: 600;
padding: 0 60rpx;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 12rpx;
}
.modal-btn::after {
border: none;
}
.home-icon {
width: 32rpx;
height: 32rpx;
}
/* 动画 */
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(50rpx);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30rpx);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* 响应式 */
@media (max-width: 480px) {
.form-card,
.agreement-card,
.submit-section {
margin-left: 30rpx;
margin-right: 30rpx;
}
.code-input-wrapper {
flex-direction: column;
gap: 20rpx;
}
.send-code-btn {
min-width: 100%;
}
}