:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f5f3ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;accent-color:#8b5cf6;background:#0b0712;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-block-size:100dvh;min-inline-size:320px;margin:0}button,a{font:inherit}button{cursor:pointer}:root{--base:#0b0712;--surface:#1a1330;--elevated:#241a3d;--accent:#8b5cf6;--muted:#a0a0c0;--border:#2e2447;--green:#22c55e;--amber:#f59e0b}html,body{margin:0;padding:0}#root{min-block-size:100dvh}.app-shell{background:radial-gradient(circle at 75% 0%, #261445 0, transparent 35%), var(--base);grid-template-columns:248px minmax(0,1fr);min-block-size:100dvh;display:grid}.sidebar{border-inline-end:1px solid var(--border);background:#1a1330c2;flex-direction:column;gap:32px;padding:28px 18px 22px;display:flex}.brand-lockup{letter-spacing:.01em;align-items:center;gap:10px;font-weight:700;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;block-size:30px;inline-size:30px;display:grid;box-shadow:0 0 22px #8b5cf666}.event-switcher{border:1px solid var(--border);background:#21183a;border-radius:8px;gap:6px;padding:16px;display:grid}.event-switcher strong{font-size:14px}.event-switcher span:last-child,.stat-card small{color:var(--muted);font-size:12px}.eyebrow{color:#8d83aa;letter-spacing:.14em;font-size:10px;font-weight:800}nav{gap:6px;display:grid}.nav-item{color:var(--muted);border-radius:6px;align-items:center;gap:12px;padding:11px 12px;font-size:13px;text-decoration:none;display:flex}.nav-item span{text-align:center;inline-size:18px;font-size:18px}.nav-item:hover,.nav-item-active{color:#fff;background:#342252}.sidebar-footer{color:var(--muted);gap:18px;margin-block-start:auto;font-size:12px;display:grid}.status-dot{background:var(--green);block-size:7px;inline-size:7px;box-shadow:0 0 10px var(--green);border-radius:50%;margin-inline-end:6px;display:inline-block}.user-button{color:#f5f3ff;text-align:start;background:0 0;border:0;align-items:center;gap:10px;font-size:12px;display:flex}.user-button span{color:var(--muted)}.content{inline-size:100%;min-inline-size:0;max-inline-size:1540px;margin-inline:auto;padding:34px clamp(22px,4vw,64px) 54px}.topbar,.section-heading,.panel-header,.progress-meta,.topbar-actions,.scanner-legend{justify-content:space-between;align-items:center;gap:16px;display:flex}h1,h2{letter-spacing:-.03em;margin:0}h1{margin-block-start:8px;font-size:clamp(24px,3vw,38px)}h2{margin-block-start:6px;font-size:20px}.topbar-actions{align-self:end}.live-pill,.panel-count{color:var(--muted);font-size:12px}.icon-button,.outline-button{color:#dcd5f4;border:1px solid var(--border);background:0 0;border-radius:6px;padding:9px 12px}.overview-grid{grid-template-columns:minmax(280px,1.6fr) repeat(3,minmax(150px,1fr));gap:12px;margin-block:38px 44px;display:grid}.hero-card,.stat-card,.activity-panel,.scanner-panel{background:linear-gradient(145deg, #20183a, var(--surface));border:1px solid var(--border);border-radius:8px}.hero-card{background:linear-gradient(135deg,#38205d,#1d1536 68%);padding:24px;position:relative;overflow:clip}.hero-card:after{content:"";border:1px solid #9d76e433;border-radius:50%;block-size:190px;inline-size:190px;position:absolute;inset-block-start:-95px;inset-inline-end:-80px}.card-kicker{color:#d5bfff;letter-spacing:.12em;font-size:11px;font-weight:800}.hero-number{letter-spacing:-.06em;margin-block:22px 4px;font-size:clamp(42px,5vw,68px);font-weight:700;line-height:1}.hero-label{color:#bcb0d4;font-size:13px}.progress-track{background:#0e091b99;border-radius:4px;height:6px;margin-block-start:30px;overflow:clip}.progress-track span{border-radius:inherit;background:#b78cff;block-size:100%;display:block;box-shadow:0 0 16px #b78cff}.progress-meta{color:#bcb0d4;margin-block-start:9px;font-size:11px}.stat-card{flex-direction:column;align-items:flex-start;min-block-size:184px;padding:20px;display:flex}.stat-icon{border-radius:8px;place-items:center;block-size:32px;inline-size:32px;margin-block-end:auto;font-size:18px;display:grid}.stat-icon-purple{color:#c7a9ff;background:#8b5cf633}.stat-icon-amber{color:#fbd38d;background:#f59e0b2b}.stat-icon-green{color:#86efac;background:#22c55e2b}.stat-card strong{margin-block:8px 2px;font-size:30px}.stat-card em{color:#8d83aa;font-size:14px;font-style:normal}.section-heading{margin-block-end:16px}.outline-button{padding:8px 11px;font-size:12px}.outline-button span{color:#b78cff;margin-inline-start:10px}.operations-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:12px;display:grid}.activity-panel,.scanner-panel{padding:20px}.panel-header{border-block-end:1px solid var(--border);padding-block-end:18px;font-size:13px}.activity-list{display:grid}.activity-row{border-block-end:1px solid #2e244766;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding-block:15px;font-size:12px;display:grid}.activity-row:last-child{border-block-end:0}.result-icon{border-radius:50%;place-items:center;block-size:28px;inline-size:28px;font-weight:800;display:grid}.result-success{color:#86efac;background:#22c55e22}.result-duplicate{color:#fcd34d;background:#f59e0b22}.activity-person{gap:4px;min-inline-size:0;display:grid}.activity-person span,time{color:var(--muted)}.status-label{border-radius:4px;padding:4px 7px;font-size:10px}.status-success{color:#86efac;background:#22c55e1f}.status-duplicate{color:#fcd34d;background:#f59e0b1f}.scanner-summary{align-items:baseline;gap:9px;margin-block:26px 18px;display:flex}.scanner-summary strong{letter-spacing:-.06em;font-size:46px}.scanner-summary span{color:var(--muted);font-size:12px}.scanner-bars{border-block-end:1px solid var(--border);align-items:end;gap:6px;block-size:100px;display:flex}.scanner-bars span{background:var(--accent);border-radius:3px 3px 0 0;flex:1;box-shadow:0 0 12px #8b5cf655}.scanner-bars .bar-offline{box-shadow:none;background:#554568}.scanner-legend{color:var(--muted);justify-content:flex-start;margin-block-start:16px;font-size:11px}.scanner-legend span{align-items:center;gap:6px;display:flex}.scanner-legend i{background:var(--accent);border-radius:50%;block-size:7px;inline-size:7px}.scanner-legend .legend-offline{background:#554568}@media (width<=1100px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.overview-grid{grid-template-columns:repeat(2,1fr)}.hero-card{grid-column:span 2}}@media (width<=760px){.app-shell{display:block}.sidebar{display:none}.content{padding-block-start:24px}.topbar{align-items:flex-start}.topbar-actions{align-self:center}.topbar-actions .icon-button{display:none}.overview-grid,.operations-grid{grid-template-columns:1fr}.hero-card{grid-column:auto}.stat-card{min-block-size:150px}.section-heading{align-items:end}.activity-row{grid-template-columns:auto minmax(0,1fr) auto}.activity-row time{grid-area:2/2}.status-label{grid-area:1/3/span 2}}.scanner-login{color:#f5f3ff;background:radial-gradient(circle at 50% 0,#261445,#0000 55%),#08050e;place-items:center;min-height:100dvh;padding:24px;display:grid}.scanner-login form{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:16px;inline-size:min(100%,440px);padding:28px;display:grid}.scanner-login h1{margin-block:0 14px;font-size:30px}.scanner-login label{color:var(--muted);gap:7px;font-size:12px;display:grid}.scanner-login input{border:1px solid var(--border);color:#fff;background:#0e091b;border-radius:5px;min-block-size:46px;padding:0 12px}.scanner-view{color:#f5f3ff;box-sizing:border-box;background:radial-gradient(circle at 50% 30%,#1e1338 0%,#08050e 100%);justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:0;display:flex}.scanner-mobile-container{background:#000;grid-template-rows:1fr auto;width:100%;max-width:480px;height:100dvh;display:grid;position:relative;overflow:hidden}@media (width>=600px){.scanner-mobile-container{border:1px solid #8b5cf64d;border-radius:24px;height:min(92dvh,840px);box-shadow:0 25px 60px #000000bf,0 0 40px #8b5cf633}}.scanner-camera-wrapper{background:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.scanner-camera{background:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}#scanner-reader video{object-fit:contain!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:100%!important;margin:auto!important;display:block!important}#qr-shaded-region{border-radius:16px!important}#qr-shaded-region div{border-color:#8b5cf6!important;box-shadow:0 0 12px #8b5cf699!important}.scanner-camera-controls{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#08050ef2 0%,#08050e99 75%,#0000 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px 20px;display:flex;position:absolute;top:0;left:0;right:0}.scanner-status-badge{color:#fff;letter-spacing:.06em;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.scanner-controls-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scanner-select{color:#fff;background:#1a1330d9;border:1px solid #8b5cf666;border-radius:6px;max-width:140px;padding:6px 10px;font-size:11px}.scanner-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px!important;min-block-size:auto!important;padding:6px 11px!important;font-size:11px!important}.scanner-result{border-top:3px solid var(--accent);background:var(--surface);z-index:5;align-items:center;gap:14px;padding:16px 20px;display:flex}.scanner-result-info{flex:1;min-width:0}.scanner-result h1{word-break:break-word;margin:4px 0 0;font-size:clamp(16px,3.5vw,24px);line-height:1.25}.result-symbol{color:#d8c5ff;background:#8b5cf633;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:22px;font-weight:800;display:grid}.result-banner-success{border-color:var(--green);background:#0d2417}.result-banner-success .result-symbol{color:#86efac;background:#22c55e33}.result-banner-duplicate{border-color:var(--amber);background:#271d0b}.result-banner-duplicate .result-symbol{color:#fcd34d;background:#f59e0b33}.result-banner-invalid_token,.result-banner-revoked_token,.result-banner-error{background:#280d11;border-color:#ef4444}.result-banner-invalid_token .result-symbol,.result-banner-revoked_token .result-symbol,.result-banner-error .result-symbol{color:#fca5a5;background:#ef444433}.scan-next{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:8px;flex:none;min-block-size:42px;padding-inline:18px;font-weight:700;box-shadow:0 0 16px #8b5cf666}.participant-details{color:#d2c9e5;flex-wrap:wrap;gap:8px 14px;margin-top:8px;display:flex}.participant-details span{gap:1px;font-size:12px;display:grid}.participant-details b{color:#8d83aa;text-transform:uppercase;letter-spacing:.08em;font-size:9px}@media (width<=480px){.scanner-result{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px 14px}.scanner-result h1{font-size:15px}.result-symbol{width:36px;height:36px;font-size:18px}.scan-next{text-align:center;width:100%;margin-top:6px}.scanner-camera-controls{padding:10px 12px 16px}.scanner-select{max-width:110px}}.auth-screen{background:radial-gradient(circle at 50% 0, #261445, transparent 55%), var(--base);place-items:center;min-block-size:100dvh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:16px;inline-size:min(100%,430px);padding:32px;display:grid;box-shadow:0 24px 70px #0006}.auth-card h1{margin-block:0 4px;font-size:30px}.auth-card label,.scanner-login label{color:var(--muted);gap:7px;font-size:12px;display:grid}.auth-card input,.scanner-login input,.toolbar input,.toolbar select,.inline-form input,.event-picker select{border:1px solid var(--border);min-block-size:44px;color:var(--text-primary,#f5f3ff);background:#0e091b;border-radius:5px;padding:0 12px}.primary-button,.row-button,.danger-button{border:0;border-radius:6px;min-block-size:42px;padding:0 16px;font-weight:700}.primary-button{color:#fff;background:var(--accent);box-shadow:0 0 18px #8b5cf644}.row-button{color:#d6c5ff;background:#8b5cf622}.danger-button{color:#fca5a5;background:#ef444422}.scanner-link{color:#c4a7ff;text-align:center;font-size:12px}.muted{color:var(--muted);font-size:13px}.form-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef444466;border-radius:5px;padding:10px 12px;font-size:12px}.empty-state{text-align:center;background:var(--base);place-content:center;justify-items:center;gap:14px;min-block-size:100dvh;padding:24px;display:grid}.empty-state h1{margin:0}.event-picker{gap:7px;display:grid}.event-picker select{min-block-size:42px;inline-size:100%}.toolbar,.inline-form{flex-wrap:wrap;gap:10px;margin-block-end:16px;display:flex}.toolbar input{flex:260px}.toolbar select,.inline-form input{flex:0 220px}.inline-form{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.table-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:auto}.table-row{min-inline-size:700px;color:var(--muted);border-block-end:1px solid #2e244766;grid-template-columns:1fr 2fr 1fr 1fr;align-items:center;gap:16px;padding:14px 18px;font-size:12px;display:grid}.table-row:last-child{border-block-end:0}.table-row strong{color:#f5f3ff}.table-head{color:#8d83aa;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.scanner-row{grid-template-columns:auto 1fr 1fr 1.5fr auto}.offline-dot{box-shadow:none;background:#6b7280}.empty-copy{color:var(--muted);padding:30px 18px;font-size:13px}.status-registered{color:#c4b5fd;background:#8b5cf622}.status-qr_generated{color:#fcd34d;background:#f59e0b1f}.status-checked_in{color:#86efac;background:#22c55e1f}.status-revoked,.status-invalid_token,.status-revoked_token,.status-error{color:#fca5a5;background:#ef44441f}.import-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;margin-block-end:16px;padding:16px;display:grid}.import-panel textarea{resize:vertical;border:1px solid var(--border);color:#f5f3ff;background:#0e091b;border-radius:5px;min-block-size:90px;padding:12px;font:12px/1.5 ui-monospace,monospace}
