A quick glance at your code leaves me with the following impressions.
(1) It’s very organized and neatly written. That is a bonus for anyone helping you, as well as a year from now when you try to remember how all those styles play together. Organized, structured code is easier to read.
(2) Using absolute positioning for layout should be reserved to those occasions when it is absolutely necesssary. If you increase the size of the font only, you will find that the buttons overlap because they are NOT designed to “go with the flow” of the page. I suggest that you read-up on other methods of placing things on a page.
(3) I would encourage you to use classes instead of IDs unless an ID is necessary. IDs are sometimes needed by JavaScript and ID’s are needed for on-page targets for anchors using fragment identifiers. You will avoid some specificity headaches by minimizing the use of IDs.
Personally, I think you’re off to a good beginning; but I’m partial to human-readable code like yours.