- |
+ |
{{ diversificationGuidance }}
Consider developing: {{ suggestedCategories.join(", ") }}
@@ -78,21 +78,21 @@
|
{{ category.name }}
|
-
+ |
{{ formatCurrency(category.planned) }}
|
{{ category.percentage }}% |
-
+
| Total Expenses |
-
+ |
{{ formatCurrency(totalExpensesPlanned) }}
|
100% |
@@ -103,7 +103,7 @@
class="border-t-2 border-black font-bold text-lg"
:class="netTotalClass">
NET TOTAL |
-
+ |
{{ formatCurrency(netTotal) }}
|
- |
@@ -244,7 +244,7 @@ const netTotal = computed(
const netTotalClass = computed(() => {
if (netTotal.value > 0) return "bg-green-50";
if (netTotal.value < 0) return "bg-red-50";
- return "bg-gray-50";
+ return "bg-neutral-50";
});
// Diversification guidance
@@ -397,7 +397,7 @@ function getPercentageClass(percentage: number): string {
if (percentage > 50) return "text-red-600 font-bold";
if (percentage > 35) return "text-yellow-600 font-semibold";
if (percentage > 20) return "text-black font-medium";
- return "text-gray-500";
+ return "text-neutral-500";
}
// Initialize
diff --git a/components/BudgetCategorySelector.vue b/components/BudgetCategorySelector.vue
index e1a68be..c035b85 100644
--- a/components/BudgetCategorySelector.vue
+++ b/components/BudgetCategorySelector.vue
@@ -2,7 +2,7 @@
@@ -94,7 +94,7 @@
@click="showAddRevenueModal = true"
size="xs"
:ui="{
- base: 'bg-white text-black hover:bg-zinc-200 transition-none',
+ base: 'bg-white text-black hover:bg-neutral-200 transition-none',
}">
+ Add
@@ -107,9 +107,9 @@
-
+
|
{{ categoryName }}
|
@@ -118,17 +118,17 @@
v-for="item in items"
:key="item.id"
:class="[
- 'border-t border-gray-200 hover:bg-zinc-50 transition-all duration-300',
+ 'border-t border-neutral-200 hover:bg-neutral-50 transition-all duration-300',
highlightedItemId === item.id &&
'bg-yellow-100 animate-pulse',
]">
+ class="border-r-1 border-neutral-200 px-4 py-2 sticky left-0 bg-white z-10">
{{ item.name }}
-
@@ -147,7 +147,7 @@
+ class="border-r border-neutral-200 px-1 py-1 last:border-r-0">
|
|
@@ -167,9 +167,9 @@
+ class="border-t-1 border-black border-b-1 font-bold bg-neutral-100">
|
+ class="border-r-1 border-black px-4 py-2 sticky left-0 bg-neutral-100 z-10">
TOTAL REVENUE
|
+ Add
@@ -202,9 +202,9 @@
-
+
|
{{ categoryName }}
|
@@ -213,12 +213,12 @@
v-for="item in items"
:key="item.id"
:class="[
- 'border-t border-gray-200 hover:bg-zinc-50 transition-all duration-300',
+ 'border-t border-neutral-200 hover:bg-neutral-50 transition-all duration-300',
highlightedItemId === item.id &&
'bg-yellow-100 animate-pulse',
]">
+ class="border-r-1 border-neutral-200 px-4 py-2 sticky left-0 bg-white z-10">
@@ -236,7 +236,7 @@
Auto
-
@@ -258,7 +258,7 @@
+ class="border-r border-neutral-200 px-1 py-1 last:border-r-0">
+ |
|
+ class="border-r-1 border-black px-4 py-2 sticky left-0 bg-neutral-100 z-10">
TOTAL EXPENSES
|
+ class="border-r border-neutral-400 px-2 py-2 text-right last:border-r-0">
{{ formatCurrency(monthlyTotals[month.key]?.expenses || 0) }}
|
@@ -311,7 +311,7 @@
@@ -320,7 +320,7 @@
| |
-
+
|
CUMULATIVE BALANCE
@@ -328,7 +328,7 @@
|
@@ -403,19 +403,19 @@
placeholder="Enter annual amount (e.g., 12000)"
size="lg">
- $
+ $
-
+
- Distribution Preview
-
+
This will divide
- ${{ newRevenue.annualAmount || 0 }}
equally across all 12 months (
- $
+ $
-
+
- Monthly Preview
-
+
This will set
${{ newRevenue.monthlyAmount || 0 }}
-
+ class="bg-white rounded-lg p-6 border border-neutral-200 text-center">
+
The revenue item will be created with no initial values. You
can fill them in later directly in the budget table.
@@ -545,19 +545,19 @@
size="lg"
class="text-sm font-medium w-full">
- $
+ $
-
+
- Distribution Preview
-
+
This will divide
- ${{ newExpense.annualAmount || 0 }}
equally across all 12 months (
- $
+ $
-
+
- Monthly Preview
-
+
This will set
${{ newExpense.monthlyAmount || 0 }}
-
+ class="bg-white rounded-lg p-6 border border-neutral-200 text-center">
+
The expense item will be created with no initial values. You
can fill them in later directly in the budget table.
@@ -650,8 +650,8 @@
📈 Revenue Calculation
- Revenue comes from your setup wizard streams and any manual additions:
-
+ Revenue comes from your setup wizard streams and any manual additions:
+
- • Monthly amounts you entered for each revenue stream
- • Varies by month based on your specific projections
@@ -660,7 +660,7 @@
👥 Smart Payroll Calculation
- Payroll uses a cumulative balance approach to ensure sustainability:
+ Payroll uses a cumulative balance approach to ensure sustainability:
Step-by-step process:
@@ -671,7 +671,7 @@
- 5. Ensure cumulative balance doesn't fall below threshold
-
+
This means payroll varies by month - higher in good cash flow months, lower when cash is tight.
@@ -679,8 +679,8 @@
💰 Cumulative Balance
- Shows your running cash position over time:
-
+ Shows your running cash position over time:
+
- • Starts at $0 (current cash position)
- • Adds each month's net income (Revenue - All Expenses)
- • Helps you see when cash might run low
@@ -691,7 +691,7 @@
⚖️ Pay Policy: {{ getPolicyName() }}
-
+
Everyone gets equal hourly wage (${{ coopBuilderStore.equalHourlyWage || 0 }}/hour) based on their monthly hours.
@@ -704,8 +704,8 @@
-
-
+
+
Key insight: This system prioritizes sustainability over theoretical maximums.
You might not always get full theoretical wages, but you'll never run out of cash.
@@ -1231,7 +1231,7 @@ function formatCurrency(amount: number): string {
function getNetIncomeClass(amount: number): string {
if (amount > 0) return "text-green-600 font-bold";
if (amount < 0) return "text-red-600 font-bold";
- return "text-gray-600";
+ return "text-neutral-600";
}
function getCumulativeBalanceClass(amount: number): string {
diff --git a/pages/coop-builder.vue b/pages/coop-builder.vue
index 058a51e..4b7161c 100644
--- a/pages/coop-builder.vue
+++ b/pages/coop-builder.vue
@@ -7,7 +7,7 @@
- Co-op Builder
+ Budget Builder
@@ -57,7 +57,7 @@
+ class="p-8 bg-neutral-50 dark:bg-neutral-900 border-t-2 border-black dark:border-neutral-500">
@@ -109,7 +109,7 @@
+ class="p-8 bg-neutral-50 dark:bg-neutral-900 border-t-2 border-black dark:border-neutral-500">
@@ -161,7 +161,7 @@
+ class="p-8 bg-neutral-50 dark:bg-neutral-900 border-t-2 border-black dark:border-neutral-500">
@@ -213,7 +213,7 @@
+ class="p-8 bg-neutral-50 dark:bg-neutral-900 border-t-2 border-black dark:border-neutral-500">
@@ -262,7 +262,7 @@
class="export-btn"
@click="resetWizard"
:disabled="isResetting">
- Start Over
+ Clear Data
@@ -289,16 +289,6 @@
>
-
-
-
| | |