I'm an experienced landlord (15+ years), with experience in single-family, multi-family, single-room, and commercial investment real estate chiefly in the United States but with some of experience in Canada also.
Landlord-tenant law is a special type of contract law with protections and processes built in to protect both the landlord and the tenant, but chiefly the tenant. It's a very user-friendly system and anybody with 8th-grade reading skills does not actually need a lawyer to understand and follow the law, provided they're willing to look up the statute, read it, and follow it.
Exactly how much of a late fee is legal depends on two things: where your rental site is, and what terms you built into your rental contract.
The Uniform Owner Resident Relations Act (UORRA) in the United States is tailored by each state to meet the specific economic and cultural needs of that state. Some states are more tenant-friendly than others.
The important thing to remember is that nothing you put in your lease or rental agreement is enforceable if it violates your state's version of the UORRA, and if your lease or rental agreement doesn't mention something, the UORRA provides the default assumptions and rules of behavior. (By "your state" I mean the state in which your rental property is located because that's the state that has jurisdiction. Where the landlord lives is irrelevant. You could be gone for an extended missionary trip to Mozambique for a year, and you still have to follow your state's UORRA.) Other nations have some kind of landlord-tenant act which may or may not be modifiable at the provincial or state level.
One of the things in the original UORRA template is a section that limited what landlords could do if the tenant did not pay the rent on time. What varies from state to state is the cap on the late fees a landlord may charge. The intent is to make sure landlords don't engage in a form of predatory lending that results in a tenant being constantly in debt. Yet late penalties or penalties for returned checks are seldom forbidden outright, because the law recognizes that it's important to give tenants incentive to pay rent on time. Therefore most states do allow landlords to charge a late fee of some kind.
In New Mexico, for example, it's not legal for a landlord to charge more than 10% of the monthly rent in late fees. Other states have different percentage caps, and some places may forbid late fees altogether because they are regarded as an excessive interest rate on borrowed money and they violate the spirit (and sometimes the letter) of usury laws.
One means that is permissible under every state's version of the UORRA is the Notice To Pay Rent or Quit, commonly called a "3-day notice", which basically tells the tenant to pay up or leave within three days (although states have the right to require more than 3 days, there can never be less). Should the tenant stay longer than the three days, the landlord begins the formal eviction process which may involve a court date for the judge to break the lease and free you (and the tenant) to make other arrangements. It permanently damages the business relationship with the tenant, and I only use the 3-day notice when the business relationship with the tenant is not salvageable.
If I have a tenant who is chronically late with the rent, or has a problem that is impacting his or her ability to pay the rent (compulsive gambling, for example), then my policy is to accept late rent ONCE, with the maximum late penalty allowed by law, but I'm nice about it. After that, the moment they step out of line and are late a second time, it's a 3-day notice the day after rent is due. They can either take off, or pay up. If they take off, I follow my state's process for using the damage deposit to pay for any necessary repairs or cleaning, and for covering as much of the rent shortfall as possible. At the end of the month, I send the tenant a full accounting plus receipts by registered mail. If they pay up, if there's a third offense I hit them with another 3-day notice, at which point they either take off or pay up. If they pay up, I terminate the month-to-month agreement from my end at the start of the next month. You can't keep people like that around. They drive out your good tenants, they're very hard on your property, and they're bloody irritating to have around.
If I have a tenant who is basically reliable and easy to live with, who has a history of paying rent on time and who doesn't make trouble, then my policy is to accept late rent ONCE, with the maximum late penalty allowed by law, but I'm nice about it... etc., etc. Actually, come to think of it, the process I use for bad tenants is identical to the process I use for good tenants, except good tenants never get to the 3-day notice because they don't step out of line the second time. It's because they have a desire to hold up their end of the deal and the wherewithal to act on that desire.
Overall, based on what you've said, it appears to me that you have a basically good tenant. Accept the late rent since it's due to a matter beyond her control, but collect the maximum late penalty allowed by law IF your rental agreement or lease permits you to do so. If your contract doesn't include a clause that lets you do this, fix it before you rent out the space after this tenant leaves.
Be nice about it, but if the law allows you to charge a late penalty and your rental agreement or lease allows it, don't be a pushover and don't let your tenant off the hook.