In the red corner: Rock.
In the blue corner: Hard Place.
In the middle: You.
You're in a lose-lose situation. You can't say "All the text books and the stuff I've looked at on the internet say that any estimate at this stage is +/- 50%." Fact is: the text books and the internet do say that.
You can't say "This is my first job out of college and I'm still learning." Fact is: it is.
The best you can do, I think, is to give an estimate and add "But when I get further into the project, I will revise it and give you a more accurate estimate."
You could try developing your own algorithm. I did one for a language you've never heard of that basically took the number of files (one day each), number of transaction types (one day each) and number of reports (1 day each). There were a few other factors which had days or hours assigned to them. Then I validated it against work I'd already done and made some mods to my algorithm.
You could use a similar approach. Start with 1 day per screen, 1 day per table, 1 day for help screens, 1 day per report (it *always* takes a day to get a report to line up correctly) and see how accurately it works on projects you've already done and then modify it as appropriate. Remember: this is not just coding time we're estmating; this is coding, testing, compiling, debugging.
Remember to add time for end user documentation, your own department documentation, time for developing the distribution/installation file(s).
As a rule of thumb: for every 8 hours you are at work, you are productive for 5-6 of them. The rest get lost in downtime, administrivia, shop talk, meetings, coffee runs. So, when you get the number of days, those are "100% dedicated" and you are not 100% dedicated.
You could also add "Let's allow two days for your department staff to do end user acceptance and a day for me to fix any bugs that they might find. If you want anything changed, that will increase the estimate. This looks like a really interesting project ... shall I get started on it now?"
One thing you should get started on: an updated resume.