+ {/* Budget & Costs Summary Cards */}
+
+ {[
+ { label: 'Total Budget', value: profitMetrics.totalBudget, icon: Wallet, color: 'text-sky-600 dark:text-[#00f0ff]', spotlight: 'rgba(0, 240, 255, 0.12)' },
+ { label: 'Total Expenses', value: profitMetrics.totalExpenses, icon: Wrench, color: 'text-amber-600 dark:text-[#fda913]', spotlight: 'rgba(253, 169, 19, 0.12)' },
+ { label: 'Payments Received', value: totalReceived, icon: Banknote, color: 'text-emerald-600 dark:text-[#39ff14]', spotlight: 'rgba(57, 255, 20, 0.12)' },
+ { label: 'Outstanding Expenses', value: profitMetrics.outstandingExpenses, icon: AlertCircle, color: 'text-orange-600 dark:text-[#ff4500]', spotlight: 'rgba(255, 69, 0, 0.12)' },
+ {
+ label: 'Net Profit',
+ value: profitMetrics.netProfit,
+ icon: TrendingUp,
+ color: profitMetrics.netProfit >= 0 ? 'text-emerald-600 dark:text-[#39ff14]' : 'text-red-600 dark:text-[#ff003c]',
+ spotlight: profitMetrics.netProfit >= 0 ? 'rgba(57, 255, 20, 0.12)' : 'rgba(255, 0, 60, 0.12)',
+ emphasis: true,
+ },
+ ].map((c, i) => {
+ const CardIcon = c.icon;
+ return (
+
+
+
+
{c.label}
-
+
+ {c.value >= 0 ? '' : '-'}{formatCurrency(Math.abs(c.value))}
+
+ {c.label === 'Net Profit' && (
+
+ Received − Expenses
+
+ )}
+ {c.label === 'Outstanding Expenses' && (
+
+ Paid: {formatCurrency(profitMetrics.paidExpenses)}
+
+ )}
+
+ );
+ })}
+
+
+ {budgetChartData.length > 0 && (
+