.scrollarea { height: 100vh; background: #f5f6f8; } .page { padding: 32rpx; } .title { margin-bottom: 24rpx; font-size: 40rpx; font-weight: 600; } .card, .ledger-item { margin-top: 20rpx; padding: 28rpx; border-radius: 16rpx; background: #ffffff; } .member-name, .section-title { font-size: 32rpx; font-weight: 600; } .muted { margin-top: 8rpx; color: #667085; } .balance-band { display: flex; justify-content: space-between; gap: 24rpx; margin-top: 20rpx; padding: 32rpx; border-radius: 16rpx; background: #174a3f; color: #ffffff; } .label, .balance-split { color: rgba(255, 255, 255, 0.76); } .balance { margin-top: 8rpx; font-size: 48rpx; font-weight: 700; } .balance-split { display: flex; flex-direction: column; justify-content: center; gap: 8rpx; text-align: right; } .metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12rpx; margin-top: 20rpx; } .metric { min-height: 112rpx; padding: 18rpx 8rpx; border-radius: 12rpx; background: #ffffff; text-align: center; } .metric-value { color: #1f6feb; font-size: 32rpx; font-weight: 700; } .metric-label { margin-top: 6rpx; color: #667085; font-size: 24rpx; } .row { display: flex; justify-content: space-between; gap: 24rpx; margin-top: 16rpx; } .ledger-title { margin-top: 28rpx; } .empty { padding: 80rpx 0; color: #888888; text-align: center; } .error { margin: 16rpx 0; color: #c73535; }