.page { min-height: 100vh; background: #f5f5f5; padding: 24rpx; padding-bottom: 48rpx; box-sizing: border-box; } .loading-wrap { padding: 120rpx 0; text-align: center; } .loading-text { font-size: 28rpx; color: #9ca3af; } .empty { display: flex; flex-direction: column; align-items: center; padding-top: 160rpx; } .empty-icon { font-size: 100rpx; margin-bottom: 24rpx; } .empty-title { font-size: 32rpx; color: #374151; font-weight: 600; margin-bottom: 12rpx; } .empty-desc { font-size: 26rpx; color: #9ca3af; text-align: center; padding: 0 48rpx; } .order-card { background: #fff; border-radius: 16rpx; padding: 28rpx; margin-bottom: 24rpx; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); } .card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16rpx; margin-bottom: 12rpx; } .title { flex: 1; font-size: 30rpx; font-weight: 600; color: #111827; line-height: 1.4; } .status { font-size: 24rpx; flex-shrink: 0; padding: 4rpx 14rpx; border-radius: 8rpx; } .status-pending { color: #d97706; background: #fffbeb; } .status-paid, .status-completed { color: #059669; background: #ecfdf5; } .status-cancelled { color: #6b7280; background: #f3f4f6; } .order-no { font-size: 24rpx; color: #9ca3af; margin-bottom: 16rpx; word-break: break-all; } .card-foot { display: flex; justify-content: space-between; align-items: center; } .time { font-size: 24rpx; color: #6b7280; } .amount { font-size: 32rpx; font-weight: 700; color: #7c3aed; } .load-more { text-align: center; padding: 24rpx; } .load-more-text { font-size: 28rpx; color: #7c3aed; } .list-end { text-align: center; padding: 16rpx; } .list-end-text { font-size: 24rpx; color: #9ca3af; }