- Move "新建优惠码" / "批量生成" into header-launched <dialog>s - Extract forms into PayCouponsForms trait with shared rule fields, hints, validation and currency/percent unit switching - Generated codes card gets a copy-all button; list codes copy on click - Drop old inline forms, render_generated_dump and the unread aksrt_coupon_generated redirect arg Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>