I need to add comprehensive trial balance functionality to my Filament application with adjustment capabilities:

1. Create models for:
   - TrialBalance (main trial balance report)
   - TrialBalanceAdjustment (for adjusting entries)
   - SuspenseAccount (temporary holding for discrepancies)

2. TrialBalance fields:
   - period_start_date, period_end_date
   - account_code, account_name
   - debit_balance, credit_balance
   - account_type (asset, liability, equity, revenue, expense)
   - is_adjusted (boolean)
   - created_at, updated_at

3. TrialBalanceAdjustment fields:
   - trial_balance_id (foreign key)
   - adjustment_type (enum: accrual, deferral, depreciation, correction, suspense)
   - account_code
   - description
   - debit_amount, credit_amount
   - adjustment_date
   - created_by (user_id)
   - status (enum: draft, posted, reversed)

4. Filament Resource features:
   - Main trial balance table showing all accounts with balances
   - Summary footer showing:
     * Total Debits
     * Total Credits
     * Difference (highlighted in red if non-zero)
   - Action button "Add Adjustment Entry" that opens a modal form
   - Adjustment form with:
     * Account selection dropdown
     * Adjustment type selector
     * Debit/Credit amount inputs (with validation that one must be zero)
     * Description field
     * Auto-calculation of new balance
   - "Create Suspense Entry" button for unexplained differences
   - Table filter for: adjusted/unadjusted entries, date range, account type
   - Relation manager showing all adjustments for each account
   - Color coding: green when balanced, red when unbalanced
   - "Post Adjustments" action to finalize entries
   - "Adjusted Trial Balance" view showing balances after adjustments

5. Additional features:
   - Audit trail for all adjustments
   - Ability to reverse adjustments
   - Automatic journal entry creation from adjustments
   - Export to PDF/Excel with adjustments detailed
   - Before/after comparison view
   - Permission checks (only accountants can add adjustments)

6. Include these methods:
   - calculateTrialBalance() - generates from ledger
   - addAdjustment() - creates adjustment entry
   - postAdjustments() - finalizes and posts to general ledger
   - reverseAdjustment() - reverses a posted adjustment
   - getAdjustedBalance() - calculates balance after adjustments
   - checkBalance() - verifies debits equal credits

Please provide the complete code including models, migrations, Fila ment resources, and form components.