## Why

Nhân viên bán hàng hiện không có cách nào để ghi nhận việc khách hàng mua chịu (nợ) tại quầy, hoặc theo dõi tổng công nợ của từng khách hàng. Mọi đơn hàng hiện được coi là đã thanh toán đủ (`paid = total` luôn đúng ở `OrderController@store`/`@update`), nên không có chỗ nào trong hệ thống phản ánh được số tiền khách còn nợ. Cần bổ sung khả năng ghi nợ (tại POS và độc lập), thu nợ, và một màn hình tổng hợp công nợ theo khách hàng.

## What Changes

- Thêm bảng ledger `customer_debts` (nguồn sự thật, có audit trail) ghi nhận từng lần phát sinh/giảm nợ, với 3 loại: `pos_debt` (ghi nợ khi tạo/sửa đơn POS), `manual_debt` (ghi nợ tay, không gắn đơn hàng), `repayment` (thu nợ).
- Thêm cột cache `customers.debt_total`, được cộng/trừ trực tiếp trong cùng transaction với mỗi ledger entry (theo đúng pattern đang dùng cho `customer.points`), để tránh phải `SUM()` lại mỗi lần hiển thị.
- Màn Bán hàng (POS): thêm input "Tiền nợ" — chỉ cho nhập khi đã chọn khách hàng; khi đơn được tạo/lưu với trạng thái hoàn tất (`status=done`) và có số tiền nợ, hệ thống lưu một `pos_debt` ledger entry gắn với đơn đó và cộng vào `debt_total` của khách hàng. Không áp dụng cho đơn nháp (`draft`). Khi sửa một đơn `done` trong khung giờ còn được phép sửa, số tiền nợ của đơn đó được điều chỉnh lại tương ứng (không bị cộng dồn lặp).
- Thêm chức năng ghi nợ độc lập: cho phép nhập một khoản nợ trực tiếp cho một khách hàng, không gắn với đơn hàng nào.
- Thêm chức năng thu nợ ("Thu nợ"): ghi nhận khách trả bớt/trả hết nợ, với ràng buộc số tiền thu không được vượt quá `debt_total` hiện tại của khách hàng đó. Nút thu nợ có ở cả màn Danh sách công nợ và trang chi tiết khách hàng.
- Thêm màn hình mới "Danh sách công nợ": liệt kê khách hàng đang có nợ, kèm tên khách hàng, tổng số tiền nợ, và (khi xem chi tiết một khách) danh sách các đơn hàng liên quan đến khoản nợ đó.

## Capabilities

### New Capabilities
- `customer-debt-ledger`: Mô hình dữ liệu và quy tắc nghiệp vụ cốt lõi của công nợ — bảng ledger `customer_debts`, cách `customers.debt_total` được cộng/trừ theo từng loại giao dịch, và ràng buộc thu nợ không vượt quá số dư nợ.
- `pos-debt-entry`: Hành vi của input "Tiền nợ" tại màn Bán hàng — điều kiện bật/tắt theo việc đã chọn khách hàng, việc ghi nợ chỉ áp dụng khi đơn hoàn tất, và việc điều chỉnh lại khoản nợ khi đơn được sửa.
- `debt-management-screen`: Màn hình "Danh sách công nợ" (tên khách hàng, tổng nợ, đơn hàng liên quan), chức năng ghi nợ độc lập (thủ công), và chức năng thu nợ ở cả màn danh sách lẫn trang chi tiết khách hàng.

### Modified Capabilities
(không có — tính năng này không thay đổi hành vi của các spec hiện có; các capability hiện có như `pos-receipt-customer-points` và `customer-purchase-statistics` không bị ảnh hưởng)

## Impact

- **Database**: migration mới tạo bảng `customer_debts`; migration mới thêm cột `debt_total` vào bảng `customers`.
- **Models**: `App\Models\Customer` (thêm quan hệ `debts()`, xử lý cộng/trừ `debt_total`), `App\Models\Order` (thêm quan hệ tới ledger entry liên quan), model mới `App\Models\CustomerDebt`.
- **Controllers**: `App\Http\Controllers\OrderController` (`store`, `update` — thêm xử lý `debt_amount`), `App\Http\Controllers\CustomerController` (thêm hành động ghi nợ tay / thu nợ trên trang chi tiết khách hàng), controller mới cho màn Danh sách công nợ.
- **Views**: `resources/views/pages/pos.blade.php` (input "Tiền nợ" — đã có sẵn trong mockup UI), `resources/views/pages/customer-statis.blade.php` (hiển thị nợ hiện tại + nút Thu nợ), view mới cho màn Danh sách công nợ.
- **Routes**: `routes/web.php` — thêm route cho màn Danh sách công nợ, ghi nợ tay, và thu nợ.
- Không đụng đến `customer_order_summary.owe_total` (cột đã tồn tại từ trước, hiện không được sử dụng và có lỗi tiềm ẩn trong job daily) — nằm ngoài phạm vi thay đổi này, để nguyên hiện trạng.
