body { font-family: Arial, sans-serif; margin: 0; padding: 20px; background: #f5f5f5; }
.container { max-width: 800px; margin: 0 auto; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.menu { background: #333; padding: 10px 20px; border-radius: 4px; margin-bottom: 20px; }
.menu a { color: white; text-decoration: none; margin-right: 14px; font-size: 15px; white-space: nowrap; }
.menu a:hover { text-decoration: underline; }
.menu a.active { font-weight: bold; color: #4CAF50; }
h1 { color: #333; border-bottom: 2px solid #4CAF50; padding-bottom: 10px; }
h2 { color: #555; }
.footer { text-align: center; margin-top: 30px; padding-top: 20px; border-top: 1px solid #ddd; color: #777; font-size: 12px; }
input, textarea { padding: 8px; margin: 5px 0; border: 1px solid #ddd; border-radius: 4px; }
input[type="text"], input[type="email"], textarea { width: 100%; max-width: 400px; }
button, input[type="submit"] { background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 4px; cursor: pointer; }
button:hover, input[type="submit"]:hover { background: #45a049; }
.message { background: #e7f3e7; padding: 10px; border-radius: 4px; margin: 10px 0; }
.error { background: #f3e7e7; color: #c00; }
table { width: 100%; border-collapse: collapse; margin: 10px 0; }
th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
th { background: #f5f5f5; }
.guest-entry { background: #f9f9f9; padding: 15px; margin: 10px 0; border-radius: 4px; border-left: 3px solid #4CAF50; }
.guest-name { font-weight: bold; color: #333; }
.guest-date { color: #999; font-size: 12px; }
.todo-item { }
.todo-item.done { text-decoration: line-through; color: #999; }
.counter { font-size: 48px; font-weight: bold; color: #4CAF50; text-align: center; padding: 20px; }
form label { display: block; }
div.error { padding: 10px; border-radius: 4px; margin: 10px 0; }
span.error { display: block; background: none; font-size: 13px; }
[aria-invalid="true"] { border-color: #c00; }
code { background: #f5f5f5; padding: 2px 6px; border-radius: 4px; font-size: 13px; }
.qr-big { text-align: center; margin: 20px 0; }
.label { display: inline-block; border: 2px dashed #999; padding: 15px 20px; margin: 10px 0; line-height: 1.6; }
pre { background: #f5f5f5; padding: 10px 14px; border-radius: 4px; font-size: 13px; overflow: auto; }
table.mini { width: auto; }
table.mini th, table.mini td { width: 34px; padding: 6px 0; text-align: center; border: 0; position: relative; }
table.mini td.other { color: #ccc; }
table.mini td.today { background: #4CAF50; color: white; border-radius: 50%; }
table.mini td i { position: absolute; left: 50%; bottom: 1px; width: 5px; height: 5px; margin-left: -2px; border-radius: 50%; background: #4CAF50; }
table.mini td.today i { background: white; }
pre code { padding: 0; background: none; }
