# POS Terminal — Numpad Modal

**1:1 from `numpad-modal-spec.md`** — generic numpad-input shell (porsiya · guest count · receipt lookup · weight · discount).
Font **Inter** · radius **8px** · width **400px**.

## Anatomy
- **Container** — 400 · white · r8 · shadow `0 4px 16px /.10 + 0 1px 4px /.04` · flex column.
- **Header** — h56 · `--secondary-500` (#35325E) · pad 13 16 · title 500/20 white (configurable) + close 24 (#fff sw1.8 X).
- **Display (one of 3)**:
  - **A value+chip** — desc 400/14 `--text-secondary` centered + value 500/32 `--text-600` + ₼ chip (h28 pad 0 10 r8 `--primary-50` / `--primary-500`).
  - **B value-only** — desc + value 500/32 `--text-600` (no chip).
  - **C input** — field w100% h56 1.5px `--grey-400` r8 · search icon 24 `--text-secondary` + placeholder 400/16 `--text-placeholder`.
- **Numpad** — pad 0 16 16 · tray r8 `--metal-grey-200` (#F2F4F5) gap2 pad2 · 4 rows×3 (1-9 · . · 0 · ⌫) · key flex1 h74 r8 white 500/24 `--text-500`.
- **Action row** — h56 gap12, each `flex:1` r8 500/16: Cancel (transparent · 1px `--grey-400` · `--text-500`) · CTA (disabled `--text-disabled` #C4C4CC → active `--primary-500`, white, leading check, label Add/Save/Return).

## Tokens
header `--secondary-500` · desc/icon `--text-secondary` · value `--text-600` · chip `--primary-50`/`--primary-500` · input border `--grey-400` · placeholder `--text-placeholder` · tray `--metal-grey-200` · key `--white-500`/`--text-500` · CTA `--text-disabled`/`--primary-500`. Verbatim icons (close · search · check · backspace). All radii 8px.
