/* Admin portal: plain Bootstrap, tuned for speed and clarity. */
body { background: #F5F7FA; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }
.admin-nav { background: #0E2A47; border-bottom: 3px solid #C9A24A; }
.admin-nav .nav-link.active { color: #fff; font-weight: 600; }
.card { border-color: #E1E6EE; }
.stat { background: #fff; border: 1px solid #E1E6EE; border-radius: .5rem; padding: 1rem 1.25rem; height: 100%; }
.stat .num { font-size: 1.9rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat .lbl { color: #5B6A7E; font-size: .9rem; }
.table > :not(caption) > * > * { vertical-align: middle; }
.table thead th { font-size: .82rem; color: #5B6A7E; font-weight: 600; white-space: nowrap; }
.thumb { width: 44px; height: 44px; object-fit: cover; border-radius: .35rem; background: #E7EFF9; }
.thumb-logo { object-fit: contain; background: #fff; border: 1px solid #E1E6EE; }
dl.details dt { color: #5B6A7E; font-weight: 500; }
dl.details dd { margin-bottom: .7rem; }

/* Check-in: big, high-contrast results that can be read at arm's length. */
.scanner { max-width: 520px; margin: 0 auto; }
#reader { width: 100%; border-radius: .5rem; overflow: hidden; background: #000; min-height: 260px; }
#reader video { width: 100% !important; height: auto !important; }
.result { border-radius: .75rem; padding: 1.25rem 1.5rem; color: #fff; }
.result h2 { font-size: 1.6rem; margin: 0 0 .5rem; font-weight: 700; }
.result .who { font-size: 1.25rem; font-weight: 600; }
.guest-details { display: grid; grid-template-columns: max-content 1fr; gap: .2rem .9rem; margin: .9rem 0 0; padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.3); font-size: .95rem; }
.guest-details dt { font-weight: 400; opacity: .8; }
.guest-details dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.result-valid { background: #15803D; }
.result-done { background: #1F5FA8; }
.result-warn { background: #B45309; }
.result-bad { background: #B42318; }
