# POS Terminal — Description Modal

**1:1 from `description-modal-spec.md`** — single-textarea note entry. Font **Inter** · radius **8px**.
3 states (empty · writing · filled) × 2 sizes (S 500 / M 600).

## Anatomy
- **Container** — w 500(S)/600(M) · white · 1px `--grey-300` · r8 · shadow `0 4px 16px /.08 + 0 1px 4px /.04` · flex column.
- **Header → NbNavShell** — h44 · `--secondary-500` (#35325E) · pad 0 16 · title 600/18 white "Receipt label" + close 32×32 r8 (20px X @ white .85).
- **Content** — pad 12(S)/16(M) · gap 12. **Textarea** min-h 104(S)/148(M) · pad 16 · r8 · 400/16 lh1.55:
  - empty → 1.5px `--grey-400`, placeholder `--text-placeholder` "Write a description...".
  - writing → 1.5px `--primary-500` + ring `rgba(38,132,255,.15)` + blinking caret.
  - filled → 1.5px `--grey-400`, value `--text-500` "Hello*".
- **Buttons** — flex gap8, each `flex:1` h48 r8 500/16: Cancel (transparent · 1px `--grey-300` · `--text-500`) · Save (`--primary-500` · 1px `--grey-200` · white · leading check).

## Tokens
header `--secondary-500` · textarea idle `--grey-400` / focus `--primary-500` · placeholder `--text-placeholder` · value `--text-500` · cancel border `--grey-300` · save border `--grey-200`. Caret = `--primary-500`, blink 1s.
