1) Card--I don't care if we use debit or credit, but a card is great for keeping a record at the time of transaction. We sometimes forget if it's cash.
2) Google Spreadsheet--1 sheet for monthly budget, 1 sheet for data entry, 1 sheet for monthly/annual progress reports, and a separate sheet for every budget category. The only sheets I actually enter numbers into are the first two--monthly budget and data entry. I've automated all of the others, so I don't have to touch them at all. Wife and I share the doc and update a few times each week. Takes minutes to update and is fully customizable. Heck, I spend much more time in front the bathroom sink in the morning than I do on my budget/spending, but I can see my history and track my progress toward goals in just a few clicks.
3) Inventory--(a) Food inventory of items we should always have on hand. After years of marriage, our list is very accurate. (b) Non-food inventory of items we should always have on hand, e.g. cleaning supplies, light bulbs, HVAC filters, printer paper, etc. Again, experience is a great teacher. Keep a record of your household items, and you'll figure out your list within a year. We shop once a month for the items on the non-food list and the non-perishable items on the food list. We shop bi-weekly for a handful of semi-perishable items on the food list. We shop weekly for the perishable food and for food items not on the list.
As to the grocery budget overrun question, we can easily eat an entire week on the monthly staples that we buy because we never run out of all of those items at the same time in the same month. If we're over budget, we just skip or minimize the last week's shopping. Pretty easy once you've worked this way for a while.
And in the spirit of the Mustachian forum, you'll do better financially if you don't blindly budget dollars for "fun money" and restaurants. You might fall into the trap of getting to the end of the month with $X.00 in a category and looking for a way to have fun with it over the weekend. Instead, when a good time with friends presents itself, enjoy it without reservation. A good motto that sums up the idea--"Let your spending match your living." Most folks follow the "Let your living match your spending" approach.