/* 手机号绑定页面样式 */ @import "../../../styles/design-system.wxss"; @import "../../../styles/components.wxss"; .container { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; flex-direction: column; overflow: hidden; } /* 自定义导航栏 */ .custom-navbar { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); } .navbar-content { display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 32rpx; } .navbar-left { width: 80rpx; display: flex; align-items: center; justify-content: flex-start; } .back-icon { font-size: 36rpx; color: #333; font-weight: bold; } .navbar-title { font-size: 34rpx; font-weight: 600; color: #333; } .navbar-right { width: 80rpx; } /* 主要内容 */ .main-content { flex: 1; padding: 120rpx 60rpx 40rpx; display: flex; flex-direction: column; } /* 头部区域 */ .header-section { text-align: center; margin-bottom: 80rpx; } .header-icon { font-size: 120rpx; margin-bottom: 30rpx; } .header-title { font-size: 48rpx; font-weight: bold; color: white; margin-bottom: 20rpx; } .header-desc { font-size: 28rpx; color: rgba(255, 255, 255, 0.8); line-height: 1.6; padding: 0 20rpx; } /* 表单区域 */ .form-section { background: rgba(255, 255, 255, 0.95); border-radius: 24rpx; padding: 60rpx 40rpx; margin-bottom: 60rpx; box-shadow: 0 20rpx 60rpx rgba(0, 0, 0, 0.1); } .input-group { margin-bottom: 40rpx; } .input-label { display: block; font-size: 28rpx; color: #333; margin-bottom: 16rpx; font-weight: 500; } .input-container { position: relative; display: flex; align-items: center; background: #f8f9fa; border-radius: 16rpx; border: 2rpx solid transparent; transition: all 0.3s ease; } .input-container:focus-within { border-color: #667eea; background: white; box-shadow: 0 0 0 6rpx rgba(102, 126, 234, 0.1); } .input-icon { padding: 0 20rpx; font-size: 32rpx; color: #999; } .phone-input, .code-input { flex: 1; height: 88rpx; font-size: 32rpx; color: #333; background: transparent; border: none; outline: none; } .input-placeholder { color: #999; } /* 验证码容器 */ .code-container { padding-right: 0; } .code-button { height: 88rpx; padding: 0 24rpx; display: flex; align-items: center; justify-content: center; border-radius: 0 16rpx 16rpx 0; transition: all 0.3s ease; border-left: 2rpx solid #eee; } .code-button.active { background: #667eea; color: white; cursor: pointer; } .code-button.disabled { background: #f5f5f5; color: #999; } .code-button-text { font-size: 24rpx; font-weight: 500; } /* 绑定按钮 */ .bind-button { width: 100%; height: 96rpx; border-radius: 16rpx; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; position: relative; overflow: hidden; margin-top: 20rpx; } .bind-button.active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); box-shadow: 0 8rpx 24rpx rgba(102, 126, 234, 0.3); } .bind-button.disabled { background: #e9ecef; } .bind-button.active:active { transform: scale(0.98); } .bind-content { display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; } .bind-icon { font-size: 36rpx; margin-right: 12rpx; } .bind-text { font-size: 32rpx; font-weight: 500; } .bind-button.active .bind-text { color: white; } .bind-button.disabled .bind-text { color: #999; } /* 温馨提示 */ .tips-section { background: rgba(255, 255, 255, 0.9); border-radius: 16rpx; padding: 40rpx; } .tips-title { font-size: 28rpx; font-weight: 600; color: #333; margin-bottom: 20rpx; } .tips-item { font-size: 24rpx; color: #666; line-height: 1.6; margin-bottom: 12rpx; } /* 合并对话框 */ .merge-dialog-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 2000; padding: 40rpx; } .merge-dialog { background: white; border-radius: 24rpx; width: 100%; max-width: 600rpx; max-height: 80vh; overflow: hidden; display: flex; flex-direction: column; } .dialog-header { display: flex; align-items: center; justify-content: space-between; padding: 40rpx 40rpx 20rpx; border-bottom: 2rpx solid #f0f0f0; } .dialog-title { font-size: 32rpx; font-weight: 600; color: #333; } .dialog-close { font-size: 48rpx; color: #999; width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; } .dialog-content { flex: 1; padding: 20rpx 40rpx; overflow-y: auto; } .dialog-desc { font-size: 28rpx; color: #666; margin-bottom: 30rpx; line-height: 1.5; } .candidates-list { margin-bottom: 20rpx; } .candidate-item { display: flex; align-items: center; justify-content: space-between; padding: 30rpx 20rpx; background: #f8f9fa; border-radius: 16rpx; margin-bottom: 20rpx; } .candidate-info { flex: 1; } .candidate-name { font-size: 30rpx; font-weight: 600; color: #333; margin-bottom: 10rpx; } .candidate-detail { display: flex; flex-direction: column; } .detail-item { font-size: 24rpx; color: #666; margin-bottom: 4rpx; } .merge-btn { background: #667eea; color: white; padding: 16rpx 24rpx; border-radius: 12rpx; font-size: 24rpx; font-weight: 500; } .dialog-actions { display: flex; padding: 20rpx 40rpx 40rpx; gap: 20rpx; } .action-btn { flex: 1; height: 80rpx; border-radius: 12rpx; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 500; } .cancel-btn { background: #f8f9fa; color: #666; } .auto-btn { background: #667eea; color: white; }