:root { --fire: #b32025; --surface: #f5f6f8; }
body { background: var(--surface); color: #222; min-width: 320px; }
.navbar.bg-danger, .btn-danger, .bg-danger { background-color: var(--fire) !important; border-color: var(--fire) !important; }
.public-card { max-width: 680px; border-radius: 1rem; }
.login-card { max-width: 460px; border-radius: 1rem; }
.brand-icon, .error-icon { color: var(--fire); font-size: 2.5rem; }
.capacity-box { background: #f2f3f5; border-radius: .75rem; display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; }
.capacity-box strong { font-size: 1.5rem; }
.response-choice { border: 1px solid #d8dadd; border-radius: .65rem; padding: .85rem 1rem .85rem 2.4rem; margin-bottom: .65rem; }
.response-choice:has(input:checked) { border-color: var(--fire); background: #fff5f5; }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }
.stat-card { background: #fff; border-radius: .75rem; box-shadow: 0 .125rem .5rem rgba(0,0,0,.06); padding: 1rem; height: 100%; }
.stat-card span { color: #6c757d; font-size: .8rem; display: block; }
.stat-card strong { font-size: 1.5rem; }
.status-accepted { background: #198754; }.status-declined { background: #6c757d; }.status-pending { background: #ffc107; color: #212529; }
table th { white-space: nowrap; font-size: .8rem; text-transform: uppercase; letter-spacing: .02em; color: #59616a !important; }
@media (max-width: 575.98px) { .public-card .card-body { padding: 1.25rem !important; } .capacity-box { padding: .85rem 1rem; } }
