/* 页面背景 */ body { background-color: #F8F8F8; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } .container { padding-bottom: 0.9375rem; position: relative; overflow-x: hidden; } /* 顶部背景 */ .nav-bg { position: absolute; top: 0; left: 0; width: 100%; /* 增加高度以覆盖顶部,确保上移后背景仍然充足 */ height: 17.1875rem; /* 调整渐变色,使其更接近设计图的暖色调 */ background: linear-gradient(180deg, #FFE0B2 0%, #F8F8F8 100%); z-index: 1; overflow: hidden; border-bottom-left-radius: 1.875rem; border-bottom-right-radius: 1.875rem; } /* 装饰性圆球 - 加深颜色 */ .bg-circle-1 { position: absolute; top: -1.875rem; right: -1.875rem; width: 10rem; height: 10rem; /* 加深颜色 */ 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: 2.5rem; left: -3.125rem; width: 13.125rem; height: 13.125rem; /* 加深颜色 */ 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: 1.875rem 0.9375rem 0; } .title-bar { text-align: center; font-size: 1rem; /* 16pt = 32rpx, consistent with name */ font-weight: 500; color: #333; margin-bottom: 0.9375rem; } .user-card { display: flex; align-items: flex-start; margin-bottom: 0.9375rem; position: relative; } .avatar { width: 2.8125rem; height: 2.8125rem; border-radius: 50%; margin-right: 0.625rem; border: 0.09375rem solid #fff; box-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.05); } .info-content { flex: 1; padding-top: 0.15625rem; } .name-row { display: flex; align-items: center; margin-bottom: 0.375rem; } .name { /* 16号字体 = 32rpx */ font-size: 1rem; font-weight: bold; color: #1A1A1A; margin-right: 0.375rem; } .tags { display: flex; align-items: center; } .tag { font-size: 0.5625rem; padding: 0.0625rem 0.1875rem; border-radius: 0.125rem; margin-right: 0.25rem; 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: 0.875rem; height: 0.875rem; background-color: #FFF3E0; border-radius: 0.125rem; padding: 0.0625rem; } .detail-row { display: flex; align-items: center; /* 12号字体 = 24rpx */ font-size: 0.75rem; color: #666; margin-bottom: 0.25rem; } .small-icon { width: 0.75rem; /* Slightly increase icon to match font */ height: 0.75rem; margin-right: 0.25rem; } .settings-icon { width: 1.125rem; height: 1.125rem; position: absolute; top: 0; right: 0; } /* VIP 卡片 - 独立卡片样式 */ .vip-card { border-radius: 0.625rem; padding: 0.625rem 0.9375rem; display: flex; justify-content: space-between; align-items: center; color: #FDD835; background: linear-gradient(90deg, #1f1f1f 0%, #141414 100%); box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15); margin-bottom: 0.9375rem; position: relative; } .vip-left { display: flex; align-items: center; } .vip-icon { width: 1.25rem; height: 1.25rem; margin-right: 0.5rem; } .vip-text { display: flex; flex-direction: column; } .vip-title { font-size: 0.8125rem; font-weight: bold; color: #FFE082; margin-bottom: 0.125rem; } .vip-desc { font-size: 0.5rem; color: #9E9E9E; } .vip-btn { font-size: 0.625rem; color: #FFE082; display: flex; /* Flex layout to align text and icon */ align-items: center; } /* 统计面板 */ .stats-panel { background-color: #fff; border-radius: 0.625rem; padding: 0.9375rem 0; margin: 0 0.9375rem 0.9375rem; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 0.15625rem 0.46875rem rgba(0, 0, 0, 0.03); position: relative; z-index: 3; } .stat-item { flex: 1; display: flex; flex-direction: column; padding-left: 0.9375rem; } .stat-header { display: flex; align-items: center; margin-bottom: 0.375rem; /* 12号字体 = 24rpx */ font-size: 0.75rem; color: #333; font-weight: normal; } .arrow-icon { width: 0.625rem; height: 0.625rem; margin-left: 0.1875rem; opacity: 0.6; } .arrow-icon-small { width: 0.5625rem; height: 0.5625rem; margin-left: 0.125rem; opacity: 0.8; } .red-bar, .green-bar, .orange-bar { width: 0.1875rem; height: 0.5625rem; margin-right: 0.3125rem; border-radius: 0.09375rem; } .red-bar { background-color: #FF5252; } .green-bar { background-color: #4CAF50; } .orange-bar { background-color: #FF9800; } .stat-value { margin-bottom: 0.1875rem; display: flex; align-items: baseline; } .num { /* 16号字体 = 32rpx */ font-size: 1rem; font-weight: bold; color: #333; margin-right: 0.1875rem; line-height: 1; } .unit { font-size: 0.625rem; color: #666; } .sub-text { font-size: 0.5625rem; color: #999; } .divider { width: 1px; height: 1.5625rem; background-color: #E0E0E0; } /* 菜单列表 */ .menu-list { background-color: #fff; border-radius: 0.625rem; margin: 0 0.9375rem 0.9375rem; padding: 0 0.9375rem; box-shadow: 0 0.15625rem 0.46875rem rgba(0, 0, 0, 0.03); } .menu-item { display: flex; align-items: center; padding: 1rem 0; border-bottom: 1px solid #F5F5F5; } .menu-item:last-child { border-bottom: none; } .menu-icon { width: 1.25rem; height: 1.25rem; margin-right: 0.625rem; } .menu-text { flex: 1; /* 14号字体 = 28rpx */ font-size: 0.875rem; color: #333; } .menu-right { display: flex; align-items: center; } /* 加大菜单列表的箭头 */ .menu-item .arrow-icon { width: 0.875rem; height: 0.875rem; opacity: 0.5; } .red-dot { width: 0.3125rem; height: 0.3125rem; background-color: #FF5252; border-radius: 50%; margin-right: 0.375rem; } /* 退出按钮 */ .logout-btn { background-color: #fff; margin: 0 0.9375rem; height: 2.75rem; line-height: 2.75rem; text-align: center; border-radius: 0.625rem; color: #FF5252; font-size: 0.875rem; font-weight: 500; box-shadow: 0 0.15625rem 0.46875rem 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: 18.75rem; background-color: #fff; border-radius: 0.5rem; padding: 0; box-sizing: border-box; overflow: hidden; } .service-header { display: flex; justify-content: space-between; align-items: center; padding: 0.9375rem; border-bottom: 0.03125rem solid #f5f5f5; } .service-title { /* 14号字体 = 28rpx,不加粗 */ font-size: 0.875rem; font-weight: normal; color: #333; } .close-icon { width: 0.875rem; height: 0.875rem; opacity: 0.6; } .qr-section { display: flex; flex-direction: column; align-items: center; padding: 1.25rem 0; background-color: #fff; } .qr-title { font-size: 0.875rem; color: #333; margin-bottom: 0.9375rem; font-weight: 500; } .qr-img { width: 6.25rem; height: 6.25rem; margin-bottom: 0.625rem; border-radius: 0.375rem; box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.1); } .qr-desc { /* 12号字体 = 24rpx */ font-size: 0.75rem; color: #999; } .service-list { padding: 0 0.9375rem; padding-bottom: 0.9375rem; } .service-row { display: flex; align-items: center; padding: 0.9375rem 0; border-top: 0.03125rem solid #f5f5f5; } .service-row:last-child { border-bottom: none; } .service-row-icon { width: 1.75rem; height: 1.75rem; margin-right: 0.75rem; } .service-info { flex: 1; display: flex; flex-direction: column; } .service-name { /* 13号字体 = 26rpx */ font-size: 0.8125rem; color: #333; margin-bottom: 0.125rem; font-weight: 500; } .service-desc { /* 12号字体 = 24rpx */ font-size: 0.75rem; color: #999; } .call-btn { display: flex; align-items: center; justify-content: center; background-color: #E8F5E9; padding: 0.25rem 0.75rem; border-radius: 0.9375rem; height: 1.75rem; box-sizing: border-box; } .call-btn uni-text { font-size: 0.75rem; color: #4CAF50; margin-left: 0.25rem; font-weight: 500; } .phone-icon-small { width: 0.75rem; height: 0.75rem; } /* 退出登录弹窗样式 */ .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: 16.25rem; background-color: #fff; border-radius: 0.9375rem; padding: 1.875rem 1.25rem; display: flex; flex-direction: column; align-items: center; box-shadow: 0 0.3125rem 1.25rem 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: 3.75rem; height: 3.75rem; background-color: #FFF3E0; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 0.9375rem; } .popup-icon-large { width: 1.875rem; height: 1.875rem; } .popup-title { font-size: 1.0625rem; font-weight: bold; color: #333; margin-bottom: 0.625rem; } .popup-desc { font-size: 0.875rem; color: #666; text-align: center; line-height: 1.5; margin-bottom: 1.5625rem; } .popup-actions { display: flex; width: 100%; justify-content: space-between; } .popup-btn { flex: 1; height: 2.5rem; line-height: 2.5rem; text-align: center; font-size: 0.875rem; border-radius: 1.25rem; margin: 0 0.46875rem; } .popup-btn.cancel { background-color: #F5F5F5; color: #666; } .popup-btn.confirm { background-color: #FF9800; color: #fff; box-shadow: 0 0.125rem 0.375rem rgba(255, 152, 0, 0.3); }