Brian - my sympathies, it sounds like you've taken over one of my old clients. Sorry for the mess I left you, but I did try to get things cleaned up before the client ran out of money.
Seriously, I had a client with 25+ apps in a similar mess - after two years, about 1/2 of them have been reviewed, and the top 5 cleaned up a bit.
You don't mention the size of the team, but overcoming reluctance to change things may make it impossible to do anything. If that's the case, run away - there's nothing more frustrating that to re-write something just to find that your other developers are sabotaging your efforts by not being onboard.
Assuming you have support, you can look at solving this from a top-down or a bottom-up perspective.
The first thing to do is put some structure in place: get the whole mess into a version system, so at least you can track what you're doing, and roll back if needed. Set up a separate testing environment so you can try things without affecting the on-going development and ability to support the system.
If you're approaching this from a top-down perspective, you'll want to start by cleaning up the UI elements: strip out all the embedded CSS, clean up & rationalize it. Inventory the pages, dependencies, etc (this alone may take some time, especially with classic ASP). Identify repeated code blocks, and consider moving them into shared user controls. See if you can map the UI components into database elements.
Analyze access logs to find what's being used, and hopefully identify code that's no longer needed. You'll probably find a number of errors, too - these can actually be quite helpful in understanding the system. You'll probably find that a small subset of the application gets used more often - that's good place to look for an easier, early win.
Create a set of small, clean CSS files, and create some master pages you can use to standardize the look & feel. You'll have to re-write the asp pages, but you may be able to update webforms pages to use the new master pages more easily.
The goal of this approach is not to fix much, but to understand the structure and impose some organization on it. Low-tech can help: print out every page on the most common applications, and tape them up on a wall. Seeing everything laid out like that can be a big help.
The bottom-up approach starts at the db: inventory all your tables & stored procs. See if you can figure out where & how each is used. You may think something isn't used, but really the only way to know for sure is to remove the object from the database (or rename it) and do testing. (Yes, I've seen code that dynamically builds table names based on user input - no analysis tool is going to help with that.)
Once you get a better idea of the dependencies between the different parts, you can start planning how to gradually do the fixes. If you can isolate different subsystems, consider doing a migration to a new schema/set of tables, and build a proper data access layer. You can consider incorporating unit testing at this point, but honestly you're going to have enough problems on your hands, and this might turn out to be a deal-breaker for people unfamiliar with it - learn to walk before trying to fly.
If you can't completely separate parts, consider still doing the migration, but see if you can put into place views or new sprocs as your facade layer until that code can be re-written.
There are a number of books dealing with re-engineering legacy systems, I'm not sure that any one of them is going to deal with this situation, but it couldn't hurt to review the literature for additional tips.
Good luck, and don't forget to keep the resume updated!