The solution is for you to leave everything in trust for your daughter. That way it will be protected from your daughter’s husband and also not affect her eligibility for public benefits. The problem is that both creating and managing an individual trust can be expensive in relation to the amount of money involved. Rather than an individual trust, it probably makes sense to sign up with a non-profit organization that manages trusts for many beneficiaries (these are called "pooled trusts"), usually at a lower cost than that charged by lawyers and professional trustees.
Find a list of organizations providing this service in your state.