def generate_attachment_filename(kind: str, invoice_number: str) -> str:
    """Unique, deterministic filenames like Invoice_INV-XXXX.pdf per campaign rules."""
    inv = re.sub(r"[^A-Za-z0-9-]", "", invoice_number or "")
    if kind == "invoice":
        return f"Invoice_{inv or 'INV' + secrets.token_hex(3)}.pdf"
    if kind == "order":
        return f"Order_{inv or 'ORD' + secrets.token_hex(3)}.pdf"
    if kind == "receipt":
        return f"Receipt_{inv or 'RF' + secrets.token_hex(3)}.pdf"
    return f"Document_{inv or secrets.token_hex(4)}.pdf"
---GREP-TESTS-ENUM---
tests/test_api_accounts_campaigns_testsend_unsubscribe.py:113:        "attach_mode": "none",
tests/test_send_one_task.py:435:        """attach_mode=pdf renders the PDF template with variables via real
tests/test_send_one_task.py:444:            f = _seed_sendable(db, attach_mode="pdf", attach_pdf=True)
tests/test_sse_dashboard.py:105:        "attach_mode": "none",
