.tf { height: 100dvh; max-height: 100dvh; }
.tf-stage:has(.tf-coupon) { overflow-y: auto; align-items: safe center; }
.tf-coupon { margin-top: 1.75rem; padding: 1.15rem 1.25rem; border: 1px solid rgba(255,255,255,.22); border-radius: 14px; background: rgba(255,255,255,.06); }
.tf-coupon .tf-field { max-width: 25rem; }
.tf-coupon .tf-field > span { color: rgba(255,255,255,.82); letter-spacing: .05em; text-transform: none; }
.tf-coupon .tf-field input { font-size: 1.35rem; }
.tf-coupon [data-coupon-status] { margin: .65rem 0 0; color: rgba(255,255,255,.73); font-size: .9rem; line-height: 1.45; }
.tf-coupon [data-coupon-status][data-tone=ok], .tf-coupon-confirmed { color: #d9f3df; }
.tf-coupon [data-coupon-status][data-tone=error] { color: #ffb4a6; }
.tf-coupon-confirmed { max-width: 38rem; margin: -1rem 0 1.6rem; padding: .85rem 1rem; border: 1px solid rgba(217,243,223,.35); border-radius: 10px; background: rgba(217,243,223,.1); line-height: 1.45; }
