/* OWNER: Charlie. Glamaroo Pay register styles (DIRECTION-PAY.md, lane P2, Sep 29 2026).
   The reader sheet reuses .sheet-wrap/.sheet/.sheet-head/.sheet-body/.sheet-foot from css/design.css.
   No animation lives here: js/motion-register.js (lane M2) owns motion for [data-pay-state]. */
.pay-sheet .pay-state-words { display: flex; align-items: center; gap: 10px; font-size: var(--fs-card); font-weight: 600; margin: 0; }
.pay-sheet .pay-state-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--muted); flex: 0 0 auto; }
.pay-sheet[data-pay-state="captured"] { border-top: 3px solid var(--ok); }
.pay-sheet[data-pay-state="captured"] .pay-state-dot { background: var(--ok); }
.pay-sheet[data-pay-state="failed"],
.pay-sheet[data-pay-state="timed_out"],
.pay-sheet[data-pay-state="canceled"] { border-top: 3px solid var(--danger); }
.pay-sheet[data-pay-state="failed"] .pay-state-dot,
.pay-sheet[data-pay-state="timed_out"] .pay-state-dot,
.pay-sheet[data-pay-state="canceled"] .pay-state-dot { background: var(--danger); }

/* The no show fee presets in Settings, Salon (Sophie, Sep 29 2026). */
.set-presets { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 10px; }
.set-presets .btn { min-width: 64px; }
