# PriceInput
Ô nhập giá bán theo nghìn đồng, có đơn vị "k" phía sau, dùng trong tab Giá bán của chủ quán.
## Khi nào dùng
- Nhập giá một món (Trà sữa 25k, Matcha 30k), bước .5 nghìn.
- Nhập một thông số có đơn vị ngắn (phần trăm, ngày) trong bảng chủ game (đổi chữ ở `__unit`).
## Biến thể
| Biến thể | Lớp | Dùng khi |
|---|---|---|
| Mặc định | `tt-price` + `tt-price__input` | Ô rộng 88px |
| Rộng | `tt-price__input--wide` | Ô rộng 112px (bảng chủ game) |
## Cấu trúc
```html
k
```
## Trạng thái
| Trạng thái | Hiệu ứng |
|---|---|
| Mặc định | Viền 2px `line`, nền `bg`, số căn giữa |
| Focus | Vòng `focus-ring` 3px |
Game không có trạng thái "giá đắt" nên component không định nghĩa cảnh báo; nơi dùng có thể tự thêm bằng `aria-invalid` nếu cần.
## Token sử dụng
`line`, `bg`, `ink`, `soft`, `radius-10`, `space-4/8`.
## Khả năng tiếp cận
- Bắt buộc `aria-label` có tên món và đơn vị ("Trà sữa (nghìn đồng)") vì nhãn thấy được nằm ở hàng bên cạnh.
- `inputmode="decimal"`; nút spin mặc định bị ẩn.
## Nên / Không nên
| Nên | Không nên |
|---|---|
| Nhập theo nghìn đồng, hiển thị "k" | Bắt người chơi gõ "25000" |
| Dùng `tt-num` cho số đều cột | Đặt ô quá hẹp làm cắt số |
## Nguồn
`.pin`, `.pin input`, `.pin span`, `.owner .pin input` (112px), ẩn spin button — css/style.css; markup `class="pin"` trong js/game.js.