:root{--xventx-charcoal:#2c3e50;--xventx-navy:#00376b;--xventx-deep-navy:#002b55;--xventx-teal:#2a9d8f;--xventx-slate:#7f9caf;--xventx-ink:#21313e;--xventx-canvas:#f4f8fa;--ok:#1f7a4d;--fail:#b42318;--pending:#8a6100;--radius:10px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--xventx-ink);background:var(--xventx-canvas);flex-direction:column;min-height:100vh;line-height:1.5;display:flex}a{color:var(--xventx-teal)}.topbar{background:var(--xventx-deep-navy);color:#fff}.topbar-inner,.container{max-width:960px;margin:0 auto;padding:0 20px}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.topbar img{width:auto;height:30px;display:block}.nav{flex-wrap:wrap;gap:18px;display:flex}.nav a{color:#dbe7ee;font-size:15px;text-decoration:none}.nav a:hover{color:#fff;text-decoration:underline}main{flex:1;padding:32px 0 48px}h1{color:var(--xventx-charcoal);margin:0 0 8px;font-size:28px}h2{color:var(--xventx-charcoal);margin:28px 0 8px;font-size:20px}.lead{color:#4a5d6c;margin:0 0 24px}.card{border-radius:var(--radius);background:#fff;border:1px solid #dde6ec;margin-bottom:16px;padding:20px}.btn{appearance:none;background:var(--xventx-teal);color:#fff;font:600 16px var(--font);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:10px;padding:12px 22px;display:inline-flex}.btn:hover{background:#238a7e}.btn:disabled{opacity:.75;cursor:progress}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-list{margin:16px 0 0;padding:0;list-style:none}.result-list li{border-top:1px solid #eef2f5;grid-template-columns:90px 1fr;gap:12px;padding:12px 0;display:grid}.badge{text-transform:uppercase;text-align:center;border-radius:999px;align-self:start;padding:3px 10px;font-size:12px;font-weight:700}.badge.ok{color:var(--ok);background:#e3f4ea}.badge.fail{color:var(--fail);background:#fde8e6}.badge.pending{color:var(--pending);background:#fdf3dc}.result-name{font-weight:600}.result-detail{color:#4a5d6c;font-size:14px}.error-box{color:var(--fail);background:#fde8e6;border-radius:8px;margin-top:16px;padding:12px 14px}.field-row{flex-wrap:wrap;gap:10px;display:flex}.input{font:16px var(--font);color:var(--xventx-ink);background:#fff;border:1px solid #c9d6de;border-radius:8px;flex:260px;padding:11px 14px}.input:focus{outline:2px solid var(--xventx-teal);outline-offset:1px;border-color:#0000}.success-box{color:var(--ok);background:#e3f4ea;border-radius:8px;margin-top:16px;padding:12px 14px}.success-box .muted,.error-box .muted{color:inherit;opacity:.85}.muted{color:#6b7c89;font-size:14px}.signed-in{margin:0 0 12px}.link-btn{appearance:none;font:inherit;color:var(--xventx-teal);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:disabled{opacity:.7;cursor:progress}.inline-error{color:var(--fail)}.footer{color:var(--xventx-slate);text-align:center;border-top:1px solid #dde6ec;padding:18px 0;font-size:14px}.hero-logo{width:100%;max-width:420px;height:auto;margin:8px 0 24px}.nav-signout .link-btn{color:#dbe7ee;font-size:15px;text-decoration:none}.nav-signout .link-btn:hover{color:#fff;text-decoration:underline}.btn-small{padding:8px 14px;font-size:14px}.btn-wide{justify-content:center;width:100%;padding:16px;font-size:18px}.btn-secondary{background:var(--xventx-slate)}.btn-secondary:hover{background:#6d8a9d}.checkin{max-width:560px}.checkin-bar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.checkin-event{color:var(--xventx-charcoal);font-size:18px;font-weight:700}.pill{border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.pill-on{color:var(--ok);background:#e3f4ea}.pill-off{color:var(--pending);background:#fdf3dc}.sync-row{justify-content:space-between;align-items:center;gap:10px;margin:8px 0 12px;display:flex}.flash{border-radius:var(--radius);margin-bottom:16px;padding:16px 18px;font-size:16px}.flash-title{font-size:22px;font-weight:700}.flash-ok{color:#fff;background:#1f7a4d}.flash-again{color:#fff;background:#8a6100}.flash-unknown{color:#fff;background:#b42318}.scan-box{background:#000;border-radius:8px;margin-bottom:12px;overflow:hidden}.scan-video{object-fit:cover;width:100%;max-height:50vh;display:block}.guest-list{margin:8px 0 0;padding:0;list-style:none}.guest-list li{border-top:1px solid #eef2f5;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.phone-card{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.qr svg{width:100%;height:auto;display:block}.phone-card .qr{width:180px}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.qr-tile{border-radius:var(--radius);text-align:center;background:#fff;border:1px solid #dde6ec;padding:12px}.screen-pulse{pointer-events:none;z-index:50;animation:.65s ease-out forwards pulse;position:fixed;inset:0}.screen-pulse-ok{background:#1f7a4d73}.screen-pulse-bad{background:#b4231873}@keyframes pulse{0%{opacity:1}to{opacity:0}}.sound-toggle{margin:12px auto 0;font-size:14px;display:block}.flash{flex-direction:column;justify-content:center;min-height:96px;display:flex}.flash-title{font-size:26px}@media (min-width:700px){.checkin{max-width:760px}.flash-title{font-size:32px}}.pdf-btn{flex-direction:column;gap:0;display:flex}
