.page-container { background-color: #f3f3f3; padding-top: 10px; // height: calc(100vh - 44px); height: calc(100vh - 180rpx); // 减去 navbar 和 tabs 的高度(约 180rpx) flex: 1; overflow-y: hidden; box-sizing: border-box; // box-sizing: border-box; // -webkit-overflow-scrolling: touch; /* 兼容底部安全区,增加额外内边距防遮挡 */ // padding-bottom: calc(env(safe-area-inset-bottom) + 24rpx); } .treatment-card { background: #fff; border-radius: 16rpx; margin: 0 24rpx 24rpx 24rpx; padding: 24rpx 24rpx 18rpx 24rpx; box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.03); } .treatment-title { font-size: 28rpx; font-weight: 500; color: #222; margin-bottom: 12rpx; } .treatment-row { font-size: 26rpx; color: #666; margin-bottom: 8rpx; display: flex; flex-wrap: wrap; } .label { color: black; margin-right: 8rpx; } .treatment-detail-card { display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 16rpx; margin: 0 15rpx 20rpx 15rpx; padding: 24rpx 54rpx 18rpx 24rpx; box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.03); font-size: 28rpx; transition: background-color 0.3s ease; } .treatment-detail-card--highlighted { background: #f9e8f6; border: 1rpx solid #f9e8f6; } .row { display: flex; align-items: center; color: #222; font-size: 28rpx; margin-bottom: 20rpx; } .between { justify-content: space-between; } .bold { font-weight: 600; } .status { font-size: 28rpx; font-weight: 500; margin-bottom: 20rpx; text-align: center; } .status.done { color: #43A047; margin-left: 16rpx; } .center{ text-align: center; } .count { margin-left: 16rpx; color: #222; } .divider { height: 1rpx; background: #eee; margin: 18rpx 0; } .sub-label { color: #bbb; } /* 底部安全区占位,确保列表最后一项不被遮挡 */ .safe-bottom-spacer { height: calc(env(safe-area-inset-bottom) + 48rpx); min-height: 48rpx; flex: none; } /* 预约相关样式 */ .appointment-action { margin-top: 100rpx; display: flex; justify-content: flex-end; } .appointment-btn { padding: 12rpx 32rpx; background: linear-gradient(135deg, #1d6ff6 0%, #4a90ff 100%); color: #fff; font-size: 26rpx; font-weight: 500; border-radius: 20rpx; box-shadow: 0 2rpx 8rpx rgba(29, 111, 246, 0.3); transition: all 0.3s ease; &:active { opacity: 0.9; transform: scale(0.98); } } .appointment-tag { padding: 12rpx 32rpx; background: #fff; color: #f44336; font-size: 24rpx; font-weight: 500; border: 1rpx solid #f44336; border-radius: 20rpx; }