90-day reporting window in-person is 15 days in advance until 7 days after the due date, including holidays. It includes the time of "acceptable for you to do late a 90-day report". Sadly, you already missed this period. Now, when you go to the immigration office for a 90-day report in person, they usually charge you 2,000 baht for lack of report. This fine is fixed, and won't be changed if you go tomorrow or months later.
The online reporting window is between 15 days in advance and 7 days in advance of the due date, never been after the due date. If you did today, it would be rejected.
Q. Is it possible to do this all online or do I need to visit an Immigration Office?
-> You have to go to the office in person. There is an eExtension service, and you can apply with an extra fee added to the official fee, even though, you have to go to the office in person to get a sticker on your passport on appointment date with eExtension service.
Q. which Immigration Office would you recommend?
-> It's more like depending on from where you go to the office.
Q. can I apply 2 weeks in advance?
-> Yes. The Chiang Mai office accepts extension applications within 45 days of the current stay expiry.
Q. can I make photocopies of passport and take passport photos at the Inmigration Offices?