Demo mode — Firebase not connected.
Your ../firebase-init.js must export db and auth using the Firebase v9 modular SDK.
Live mode — Connected to Firestore. All changes persist.
Budget Workspace
Budgets are defined at Project → Activity → Bucket.
If no budget exists for the selected combination, it will be created on first save.
Commitment controls enforce against these envelopes.
budget: —
Project
Activity
Version
Currency
Status
Total Budget AED
—
idleCommitment enforcement depends on this.
Lines count
—
Unique bucket + COA rows.
Budget Status workflow
—
APPROVED / LOCKED blocks edits.
Buckets Used coverage
—
of 7 standard buckets
Budget Lines
Each line is a bucket allocation. Optional COA account is supported, but bucket is mandatory for commitment control.