/* 页面背景 */ page { background-color: #F8F8F8; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } .container { padding-bottom: 30rpx; position: relative; overflow-x: hidden; } /* 顶部背景 */ .nav-bg { position: absolute; top: 0; left: 0; width: 100%; /* 增加高度以覆盖顶部,确保上移后背景仍然充足 */ height: 550rpx; /* 调整渐变色,使其更接近设计图的暖色调 */ background: linear-gradient(180deg, #FFE0B2 0%, #F8F8F8 100%); z-index: 1; overflow: hidden; border-bottom-left-radius: 60rpx; border-bottom-right-radius: 60rpx; } /* 装饰性圆球 - 加深颜色 */ .bg-circle-1 { position: absolute; top: -60rpx; right: -60rpx; width: 320rpx; height: 320rpx; /* 加深颜色 */ background: radial-gradient(circle, rgba(255, 167, 38, 0.4) 0%, rgba(255, 167, 38, 0) 70%); border-radius: 50%; } .bg-circle-2 { position: absolute; top: 80rpx; left: -100rpx; width: 420rpx; height: 420rpx; /* 加深颜色 */ background: radial-gradient(circle, rgba(255, 183, 77, 0.4) 0%, rgba(255, 183, 77, 0) 70%); border-radius: 50%; } /* 头部区域 */ .header-section { position: relative; z-index: 2; padding: 60rpx 30rpx 0; } .title-bar { text-align: center; font-size: 32rpx; /* 16pt = 32rpx, consistent with name */ font-weight: 500; color: #333; margin-bottom: 30rpx; } .user-card { display: flex; align-items: flex-start; margin-bottom: 30rpx; position: relative; } .avatar { width: 90rpx; height: 90rpx; border-radius: 50%; margin-right: 20rpx; border: 3rpx solid #fff; box-shadow: 0 4rpx 10rpx rgba(0, 0, 0, 0.05); } .info-content { flex: 1; padding-top: 5rpx; } .name-row { display: flex; align-items: center; margin-bottom: 12rpx; } .name { /* 16号字体 = 32rpx */ font-size: 32rpx; font-weight: bold; color: #1A1A1A; margin-right: 12rpx; } .tags { display: flex; align-items: center; } .tag { font-size: 18rpx; padding: 2rpx 6rpx; border-radius: 4rpx; margin-right: 8rpx; line-height: 1.2; } .tag.green { color: #4CAF50; background-color: #E8F5E9; border: 1px solid #C8E6C9; } .tag.blue { color: #2196F3; background-color: #E3F2FD; border: 1px solid #BBDEFB; } .bike-icon { width: 28rpx; height: 28rpx; background-color: #FFF3E0; border-radius: 4rpx; padding: 2rpx; } .detail-row { display: flex; align-items: center; /* 12号字体 = 24rpx */ font-size: 24rpx; color: #666; margin-bottom: 8rpx; } .small-icon { width: 24rpx; /* Slightly increase icon to match font */ height: 24rpx; margin-right: 8rpx; } .settings-icon { width: 36rpx; height: 36rpx; position: absolute; top: 0; right: 0; } /* VIP 卡片 - 独立卡片样式 */ .vip-card { border-radius: 20rpx; padding: 20rpx 30rpx; display: flex; justify-content: space-between; align-items: center; color: #FDD835; background: linear-gradient(90deg, #1f1f1f 0%, #141414 100%); box-shadow: 0 8rpx 16rpx rgba(0, 0, 0, 0.15); margin-bottom: 30rpx; position: relative; } .vip-left { display: flex; align-items: center; } .vip-icon { width: 40rpx; height: 40rpx; margin-right: 16rpx; } .vip-text { display: flex; flex-direction: column; } .vip-title { font-size: 26rpx; font-weight: bold; color: #FFE082; margin-bottom: 4rpx; } .vip-desc { font-size: 16rpx; color: #9E9E9E; } .vip-btn { font-size: 20rpx; color: #FFE082; display: flex; /* Flex layout to align text and icon */ align-items: center; } /* 统计面板 */ .stats-panel { background-color: #fff; border-radius: 20rpx; padding: 30rpx 0; margin: 0 30rpx 30rpx; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.03); position: relative; z-index: 3; } .stat-item { flex: 1; display: flex; flex-direction: column; padding-left: 30rpx; } .stat-header { display: flex; align-items: center; margin-bottom: 12rpx; /* 12号字体 = 24rpx */ font-size: 24rpx; color: #333; font-weight: normal; } .arrow-icon { width: 20rpx; height: 20rpx; margin-left: 6rpx; opacity: 0.6; } .arrow-icon-small { width: 18rpx; height: 18rpx; margin-left: 4rpx; opacity: 0.8; } .red-bar, .green-bar, .orange-bar { width: 6rpx; height: 18rpx; margin-right: 10rpx; border-radius: 3rpx; } .red-bar { background-color: #FF5252; } .green-bar { background-color: #4CAF50; } .orange-bar { background-color: #FF9800; } .stat-value { margin-bottom: 6rpx; display: flex; align-items: baseline; } .num { /* 16号字体 = 32rpx */ font-size: 32rpx; font-weight: bold; color: #333; margin-right: 6rpx; line-height: 1; } .unit { font-size: 20rpx; color: #666; } .sub-text { font-size: 18rpx; color: #999; } .divider { width: 1px; height: 50rpx; background-color: #E0E0E0; } /* 菜单列表 */ .menu-list { background-color: #fff; border-radius: 20rpx; margin: 0 30rpx 30rpx; padding: 0 30rpx; box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.03); } .menu-item { display: flex; align-items: center; padding: 32rpx 0; border-bottom: 1px solid #F5F5F5; } .menu-item:last-child { border-bottom: none; } .menu-icon { width: 40rpx; height: 40rpx; margin-right: 20rpx; } .menu-text { flex: 1; /* 14号字体 = 28rpx */ font-size: 28rpx; color: #333; } .menu-right { display: flex; align-items: center; } /* 加大菜单列表的箭头 */ .menu-item .arrow-icon { width: 28rpx; height: 28rpx; opacity: 0.5; } .red-dot { width: 10rpx; height: 10rpx; background-color: #FF5252; border-radius: 50%; margin-right: 12rpx; } /* 退出按钮 */ .logout-btn { background-color: #fff; margin: 0 30rpx; height: 88rpx; line-height: 88rpx; text-align: center; border-radius: 20rpx; color: #FF5252; font-size: 28rpx; font-weight: 500; box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.03); } /* 联系客服弹窗样式 */ .service-popup-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 999; display: flex; justify-content: center; align-items: center; } .service-popup { width: 600rpx; background-color: #fff; border-radius: 16rpx; padding: 0; box-sizing: border-box; overflow: hidden; } .service-header { display: flex; justify-content: space-between; align-items: center; padding: 30rpx; border-bottom: 1rpx solid #f5f5f5; } .service-title { /* 14号字体 = 28rpx,不加粗 */ font-size: 28rpx; font-weight: normal; color: #333; } .close-icon { width: 28rpx; height: 28rpx; opacity: 0.6; } .qr-section { display: flex; flex-direction: column; align-items: center; padding: 40rpx 0; background-color: #fff; } .qr-title { font-size: 28rpx; color: #333; margin-bottom: 30rpx; font-weight: 500; } .qr-img { width: 200rpx; height: 200rpx; margin-bottom: 20rpx; border-radius: 12rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); } .qr-desc { /* 12号字体 = 24rpx */ font-size: 24rpx; color: #999; } .service-list { padding: 0 30rpx; padding-bottom: 30rpx; } .service-row { display: flex; align-items: center; padding: 30rpx 0; border-top: 1rpx solid #f5f5f5; } .service-row:last-child { border-bottom: none; } .service-row-icon { width: 56rpx; height: 56rpx; margin-right: 24rpx; } .service-info { flex: 1; display: flex; flex-direction: column; } .service-name { /* 13号字体 = 26rpx */ font-size: 26rpx; color: #333; margin-bottom: 4rpx; font-weight: 500; } .service-desc { /* 12号字体 = 24rpx */ font-size: 24rpx; color: #999; } .call-btn { display: flex; align-items: center; justify-content: center; background-color: #E8F5E9; padding: 8rpx 24rpx; border-radius: 30rpx; height: 56rpx; box-sizing: border-box; } .call-btn text { font-size: 24rpx; color: #4CAF50; margin-left: 8rpx; font-weight: 500; } .phone-icon-small { width: 24rpx; height: 24rpx; } /* 退出登录弹窗样式 */ .logout-popup-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 999; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s; } .logout-popup-mask.show { opacity: 1; pointer-events: auto; } .popup-modal { width: 520rpx; background-color: #fff; border-radius: 30rpx; padding: 60rpx 40rpx; display: flex; flex-direction: column; align-items: center; box-shadow: 0 10rpx 40rpx rgba(0, 0, 0, 0.2); transform: scale(0.9); transition: transform 0.3s; } .logout-popup-mask.show .popup-modal { transform: scale(1); } .popup-icon-wrapper { width: 120rpx; height: 120rpx; background-color: #FFF3E0; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 30rpx; } .popup-icon-large { width: 60rpx; height: 60rpx; } .popup-title { font-size: 34rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; } .popup-desc { font-size: 28rpx; color: #666; text-align: center; line-height: 1.5; margin-bottom: 50rpx; } .popup-actions { display: flex; width: 100%; justify-content: space-between; } .popup-btn { flex: 1; height: 80rpx; line-height: 80rpx; text-align: center; font-size: 28rpx; border-radius: 40rpx; margin: 0 15rpx; } .popup-btn.cancel { background-color: #F5F5F5; color: #666; } .popup-btn.confirm { background-color: #FF9800; color: #fff; box-shadow: 0 4rpx 12rpx rgba(255, 152, 0, 0.3); }