body { background: #f4f5f7; }
.navbar-brand { font-weight: 600; letter-spacing: .01em; }
.event-header { background: #fff; border-bottom: 1px solid #dee2e6; }
.event-header .nav-link { color: #495057; }
.event-header .nav-link.active { font-weight: 600; }
.card { border: 1px solid #e3e6ea; box-shadow: none; }
.table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: #6c757d; white-space: nowrap; }
.table td { vertical-align: middle; }
.stat-value { font-size: 1.9rem; font-weight: 600; line-height: 1.1; }
.login-wrap { max-width: 400px; margin: 8vh auto 0; }
.matrix th, .matrix td { text-align: center; }
.matrix th:first-child, .matrix td:first-child { text-align: left; white-space: nowrap; }
.person-photo { width: 120px; height: 150px; object-fit: cover; border-radius: .375rem; background: #e9ecef; }
.json-cell { font-family: var(--bs-font-monospace); font-size: .75rem; max-width: 340px; word-break: break-all; }
.import-row-fehler { background: #fff3f3; }
.status-badge { font-weight: 500; }
.pass-qr svg { width: 100%; max-width: 320px; height: auto; }
@media (max-width: 480px) { .login-wrap { margin-top: 1rem; } }
