.page { padding: 28rpx; } .dashboard-page { display: grid; gap: 20rpx; } .custom-header { padding: 20rpx 4rpx 0; } .header-title { font-size: 44rpx; font-weight: 800; color: #0f172a; line-height: 1.22; } .header-sub { font-size: 26rpx; color: #64748b; margin-top: 6rpx; } .loading-card { padding: 40rpx; text-align: center; } .page-subtitle { font-size: 26rpx; color: #64748b; } .metrics-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16rpx; } .metric-card { padding: 28rpx 24rpx; text-align: center; } .metric-card.urgent { border-left: 6rpx solid #f59e0b; } .metric-label { font-size: 24rpx; color: #64748b; font-weight: 600; } .metric-value { margin: 12rpx 0 8rpx; font-size: 56rpx; font-weight: 800; color: #0f172a; } .metric-value.urgent-val { color: #d97706; } .metric-action { font-size: 24rpx; color: #2563eb; font-weight: 600; } .recent-card { padding: 24rpx; } .section-title { font-size: 28rpx; font-weight: 700; color: #0f172a; margin-bottom: 16rpx; } .item-row { padding: 16rpx 0; border-bottom: 1rpx solid #f1f5f9; } .item-row:last-child { border-bottom: none; } .row-main { display: flex; justify-content: space-between; align-items: center; gap: 16rpx; } .row-left { flex: 1; min-width: 0; } .row-title { font-size: 28rpx; font-weight: 700; color: #0f172a; } .row-sub { font-size: 24rpx; color: #64748b; margin-top: 4rpx; } .row-right { text-align: right; flex-shrink: 0; } .row-amount { font-size: 26rpx; font-weight: 700; color: #2563eb; margin-top: 6rpx; } .empty-hint { text-align: center; padding: 24rpx; color: #94a3b8; font-size: 26rpx; }