@@ -290,7 +290,7 @@ function AnnualBarChart({ data, ariaLabel }: AnnualBarChartProps) {
290290 < div key = { month } className = "flex flex-1 flex-col items-center gap-1" >
291291 < div className = "flex w-full items-end justify-center gap-0.5" style = { { height : 140 } } >
292292 < div
293- className = "w-full max-w-[14px] rounded-t bg-primary /70 transition-all"
293+ className = "w-full max-w-[14px] rounded-t bg-blue-500 /70 transition-all"
294294 style = { { height : incomeH || 2 } }
295295 title = { `${ month } 월 수입 ${ fmt ( income ) } 원` }
296296 />
@@ -307,7 +307,7 @@ function AnnualBarChart({ data, ariaLabel }: AnnualBarChartProps) {
307307 </ div >
308308 < div className = "mt-2 flex items-center justify-end gap-4 pr-1" aria-hidden = "true" >
309309 < div className = "flex items-center gap-1.5" >
310- < span className = "h-2 w-3 rounded-sm bg-primary /70" />
310+ < span className = "h-2 w-3 rounded-sm bg-blue-500 /70" />
311311 < span className = "text-xs text-muted-foreground" > 수입</ span >
312312 </ div >
313313 < div className = "flex items-center gap-1.5" >
@@ -335,7 +335,7 @@ function NetAssetCard({ summary }: { summary: BalanceReport['summary'] }) {
335335 < div
336336 className = { cn (
337337 'flex items-center gap-1 mt-1.5 text-sm font-medium' ,
338- isPositive ? 'text-emerald -500' : isNegative ? 'text-red-500 ' : 'text-muted-foreground' ,
338+ isPositive ? 'text-blue -500' : isNegative ? 'text-red-400 ' : 'text-muted-foreground' ,
339339 ) }
340340 >
341341 { isPositive ? (
@@ -351,11 +351,11 @@ function NetAssetCard({ summary }: { summary: BalanceReport['summary'] }) {
351351 < div className = "grid grid-cols-2 gap-3 mt-4 pt-4 border-t" >
352352 < div >
353353 < p className = "text-xs text-muted-foreground mb-0.5" > 총 자산</ p >
354- < p className = "text-sm font-semibold text-emerald -600" > { formatAmount ( summary . totalAssets ) } </ p >
354+ < p className = "text-sm font-semibold text-blue -600" > { formatAmount ( summary . totalAssets ) } </ p >
355355 </ div >
356356 < div >
357357 < p className = "text-xs text-muted-foreground mb-0.5" > 총 부채</ p >
358- < p className = "text-sm font-semibold text-red-500 " > { formatAmount ( summary . totalLiabilities ) } </ p >
358+ < p className = "text-sm font-semibold text-red-400 " > { formatAmount ( summary . totalLiabilities ) } </ p >
359359 </ div >
360360 </ div >
361361 </ div >
@@ -385,7 +385,7 @@ function AccountGroupSection({
385385 className = "w-full flex items-center justify-between px-4 py-3 bg-muted/40 hover:bg-muted/60 transition-colors"
386386 >
387387 < span className = "text-sm font-semibold" > { group . major } </ span >
388- < span className = { cn ( 'text-sm font-bold' , isAsset ? 'text-emerald -600' : 'text-red-500 ' ) } >
388+ < span className = { cn ( 'text-sm font-bold' , isAsset ? 'text-blue -600' : 'text-red-400 ' ) } >
389389 { formatAmount ( group . total ) }
390390 </ span >
391391 </ button >
@@ -411,7 +411,7 @@ function AccountGroupSection({
411411 )
412412 } ) }
413413 </ div >
414- < span className = { cn ( 'text-sm font-medium' , isAsset ? 'text-foreground' : 'text-red-500 ' ) } >
414+ < span className = { cn ( 'text-sm font-medium' , isAsset ? 'text-foreground' : 'text-red-400 ' ) } >
415415 { formatAmount ( account . balance ) }
416416 </ span >
417417 </ div >
@@ -442,7 +442,7 @@ function CashFlowCard({ cashFlow }: { cashFlow: CashFlow }) {
442442 < span
443443 className = { cn (
444444 'text-sm font-medium' ,
445- value > 0 ? 'text-emerald -600' : value < 0 ? 'text-red-500 ' : 'text-muted-foreground' ,
445+ value > 0 ? 'text-blue -600' : value < 0 ? 'text-red-400 ' : 'text-muted-foreground' ,
446446 ) }
447447 >
448448 { value === 0 ? '0원' : formatChange ( value ) }
@@ -455,7 +455,7 @@ function CashFlowCard({ cashFlow }: { cashFlow: CashFlow }) {
455455 < span
456456 className = { cn (
457457 'text-sm font-bold' ,
458- cashFlow . total > 0 ? 'text-emerald -600' : cashFlow . total < 0 ? 'text-red-500 ' : 'text-muted-foreground' ,
458+ cashFlow . total > 0 ? 'text-blue -600' : cashFlow . total < 0 ? 'text-red-400 ' : 'text-muted-foreground' ,
459459 ) }
460460 >
461461 { cashFlow . total === 0 ? '0원' : formatChange ( cashFlow . total ) }
@@ -801,8 +801,8 @@ function AnnualReportTab() {
801801 { incomeCategories . length > 0 && (
802802 < >
803803 < div className = { `flex items-center gap-1.5 px-4 pb-1 ${ expenseCategories . length > 0 ? 'border-t pt-3' : 'pt-3' } ` } >
804- < TrendingUp className = "size-3.5 text-primary " />
805- < span className = "text-xs font-medium text-primary " > 수입</ span >
804+ < TrendingUp className = "size-3.5 text-blue-600 " />
805+ < span className = "text-xs font-medium text-blue-600 " > 수입</ span >
806806 </ div >
807807 { incomeCategories . map ( ( cat ) => (
808808 < div key = { cat . categoryId } className = "flex items-center justify-between px-4 py-2.5" >
@@ -1001,6 +1001,7 @@ function ReportsPage() {
10011001
10021002 return (
10031003 < div className = "min-h-[calc(100dvh-4rem)] bg-background pb-10 sm:min-h-screen" >
1004+ < div className = "mx-auto w-full max-w-6xl" >
10041005
10051006 { /* Tab Bar */ }
10061007 < div role = "tablist" className = "sticky top-0 z-10 flex border-b bg-background" >
@@ -1290,6 +1291,7 @@ function ReportsPage() {
12901291 ) }
12911292 </ div >
12921293 </ div >
1294+ </ div >
12931295
12941296 { /* Drilldown sheet */ }
12951297 { drillStat && (
@@ -1328,7 +1330,7 @@ function ReportsPage() {
13281330 { tx . isFixed ? ' · 고정' : '' }
13291331 </ p >
13301332 </ div >
1331- < span className = { `ml-4 shrink-0 text-sm font-semibold tabular-nums ${ tx . type === 'INCOME' ? 'text-primary ' : 'text-destructive' } ` } >
1333+ < span className = { `ml-4 shrink-0 text-sm font-semibold tabular-nums ${ tx . type === 'INCOME' ? 'text-blue-600 ' : 'text-destructive' } ` } >
13321334 { tx . type === 'INCOME' ? '+' : '-' } { fmt ( tx . amount ) } 원
13331335 </ span >
13341336 </ li >
@@ -1361,8 +1363,8 @@ function SummaryCard({
13611363 const isPos = diff > 0
13621364 const DiffIcon = isPos ? TrendingUp : TrendingDown
13631365 const diffColor = diffPositiveIsGood
1364- ? isPos ? 'text-primary ' : 'text-muted-foreground'
1365- : isPos ? 'text-destructive' : 'text-primary '
1366+ ? isPos ? 'text-blue-600 ' : 'text-muted-foreground'
1367+ : isPos ? 'text-destructive' : 'text-blue-600 '
13661368
13671369 return (
13681370 < div className = "rounded-xl border bg-card p-4 shadow-sm" >
0 commit comments