:root{
  --bg:#061713;--bg2:#0a241d;--panel:#0d2a22;--panel2:#102f27;--line:rgba(255,255,255,.10);
  --text:#f7fbf8;--muted:#9cb4aa;--gold:#d7b56d;--gold2:#f0d89f;--green:#20c58b;--red:#ff5a67;--amber:#ffb84d;
  --shadow:0 26px 80px rgba(0,0,0,.42);--radius:28px
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:
  radial-gradient(circle at 10% -10%,rgba(39,157,112,.23),transparent 34%),
  radial-gradient(circle at 100% 20%,rgba(215,181,109,.12),transparent 28%),
  linear-gradient(180deg,#071a16 0%,#061713 100%);overflow-x:hidden}
button,input{font:inherit}.hidden{display:none!important}
.ambient{position:fixed;pointer-events:none;filter:blur(60px);opacity:.42;border-radius:50%;z-index:0}.ambient-a{width:230px;height:230px;background:#0c6046;top:8%;left:-120px}.ambient-b{width:210px;height:210px;background:#735b2c;right:-140px;top:42%}
.app-shell{position:relative;z-index:1;width:min(620px,100%);margin:0 auto;padding:18px 14px max(34px,env(safe-area-inset-bottom))}
.hero{padding:8px 6px 18px}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold2),var(--gold));box-shadow:0 10px 28px rgba(215,181,109,.18);color:#10271f;font-weight:950;font-size:21px}.brand-name{font-size:12px;letter-spacing:.22em;font-weight:900}.brand-sub{margin-top:3px;font-size:11px;color:var(--muted);letter-spacing:.06em}.event-title{padding:29px 2px 23px;line-height:.84;letter-spacing:-.055em}.event-title span,.event-title strong{display:block}.event-title span{font-size:clamp(39px,11vw,66px);font-weight:330;color:#dbe6e1}.event-title strong{margin-top:8px;font-size:clamp(49px,14vw,82px);font-weight:950;background:linear-gradient(100deg,#fff 15%,var(--gold2) 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.status-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.status-pill,.secure-pill{height:32px;border-radius:999px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.08em;background:rgba(255,255,255,.035);backdrop-filter:blur(10px)}.status-pill{color:#cfe1d8}.secure-pill{color:var(--gold2)}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px;box-shadow:0 0 0 5px rgba(32,197,139,.10),0 0 16px rgba(32,197,139,.8)}
.scanner-panel,.stats-card,.manual-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(18,51,42,.92),rgba(10,35,29,.96));box-shadow:var(--shadow);backdrop-filter:blur(15px)}.scanner-panel{border-radius:var(--radius);padding:18px}.scanner-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:1px 2px 15px}.section-kicker{font-size:9px;letter-spacing:.2em;color:var(--gold);font-weight:900}.scanner-topline h1{font-size:21px;margin:5px 0 0;letter-spacing:-.025em}.icon-button{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:white;display:grid;place-items:center}.icon-button.active{background:var(--gold);color:#10271f}.icon-button svg{width:20px;fill:currentColor}
.camera-wrap{position:relative;overflow:hidden;border-radius:22px;background:#020706;aspect-ratio:1/1;max-height:74vh;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.reader{width:100%;height:100%;position:relative}.reader video{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:22px}.reader canvas{display:none!important}.camera-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 0 31%,rgba(0,0,0,.08) 32%,rgba(0,0,0,.54) 76%,rgba(0,0,0,.64) 100%)}
.scan-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(68vw,290px);height:min(68vw,290px);max-width:76%;max-height:76%;pointer-events:none}.corner{position:absolute;width:42px;height:42px;border-color:var(--gold2);filter:drop-shadow(0 0 9px rgba(240,216,159,.28))}.tl{left:0;top:0;border-left:3px solid;border-top:3px solid;border-radius:13px 0 0 0}.tr{right:0;top:0;border-right:3px solid;border-top:3px solid;border-radius:0 13px 0 0}.bl{left:0;bottom:0;border-left:3px solid;border-bottom:3px solid;border-radius:0 0 0 13px}.br{right:0;bottom:0;border-right:3px solid;border-bottom:3px solid;border-radius:0 0 13px 0}.scan-line{position:absolute;left:12px;right:12px;height:2px;top:18px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);box-shadow:0 0 16px rgba(240,216,159,.7);animation:scan 2.4s ease-in-out infinite}@keyframes scan{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(calc(min(68vw,290px) - 39px));opacity:1}}
.camera-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:linear-gradient(180deg,rgba(3,13,11,.78),rgba(3,13,11,.92));z-index:5}.camera-message strong{font-size:18px;margin-top:15px}.camera-message span{font-size:12px;color:var(--muted);margin-top:6px}.spinner{width:38px;height:38px;border:3px solid rgba(255,255,255,.12);border-top-color:var(--gold2);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.instruction{display:flex;gap:11px;align-items:center;padding:14px 4px 1px}.instruction-icon{font-size:22px;color:var(--gold2)}.instruction p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.ghost-button{width:100%;margin-top:13px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:white;padding:13px 15px;border-radius:14px;font-weight:800}
.result-sheet{position:relative;overflow:hidden;margin-top:14px;border-radius:var(--radius);padding:27px 20px 20px;text-align:center;border:1px solid rgba(255,255,255,.13);box-shadow:var(--shadow)}.result-sheet.approved{background:linear-gradient(145deg,#0a674b,#0a4032)}.result-sheet.already_used{background:linear-gradient(145deg,#7d2e25,#4b211e)}.result-sheet.invalid,.result-sheet.server_error{background:linear-gradient(145deg,#6e2430,#3d1820)}.result-glow{position:absolute;inset:-120px 30% auto -20%;height:240px;border-radius:50%;background:rgba(255,255,255,.11);filter:blur(35px);pointer-events:none}.result-icon{position:relative;margin:0 auto 11px;width:66px;height:66px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.20);font-size:34px;font-weight:950}.result-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:900;opacity:.75}.result-sheet h2{position:relative;margin:7px 0 6px;font-size:30px;letter-spacing:-.035em}.result-sheet>p{position:relative;margin:0 auto 17px;max-width:430px;font-size:13px;line-height:1.5;opacity:.83}.guest-card{position:relative;text-align:left;background:rgba(4,19,15,.27);border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden;margin-top:12px}.guest-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px}.guest-main span,.guest-grid span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.62;margin-bottom:5px}.guest-main strong{font-size:17px}.demo-badge{font-size:9px;font-weight:950;letter-spacing:.15em;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 9px;background:rgba(255,255,255,.08)}.guest-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.12)}.guest-grid>div{padding:12px 15px}.guest-grid>div+div{border-left:1px solid rgba(255,255,255,.12)}.guest-grid strong{font-size:12px}.primary-button{position:relative;width:100%;border:0;border-radius:16px;padding:15px 18px;margin-top:15px;background:linear-gradient(100deg,var(--gold2),var(--gold));color:#10271f;font-weight:950;box-shadow:0 14px 28px rgba(0,0,0,.18)}
.stats-card{margin-top:14px;border-radius:21px;padding:15px 10px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;text-align:center;align-items:center}.stats-card span{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.stats-card strong{display:block;font-size:20px;margin-top:4px}.divider{width:1px;height:29px;background:var(--line)}
.manual-card{margin-top:14px;border-radius:19px;padding:14px 15px}.manual-card summary{font-size:12px;font-weight:800;color:#cbd9d3;cursor:pointer}.manual-card form{display:flex;gap:8px;margin-top:13px}.manual-card input{min-width:0;flex:1;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;padding:13px;outline:none}.manual-card input:focus{border-color:rgba(215,181,109,.55);box-shadow:0 0 0 3px rgba(215,181,109,.08)}.manual-card button{border:0;border-radius:13px;padding:0 15px;background:var(--gold);color:#10271f;font-weight:900}.manual-card small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:9px}
footer{text-align:center;padding:25px 8px 5px;color:#698379}footer span,footer small{display:block}footer span{font-size:9px;font-weight:900;letter-spacing:.18em}footer small{font-size:9px;margin-top:5px}
@media(max-width:420px){.app-shell{padding:12px 10px max(28px,env(safe-area-inset-bottom))}.scanner-panel{padding:14px}.event-title{padding-top:25px}.camera-wrap{border-radius:19px}.reader video{border-radius:19px}.manual-card form{flex-direction:column}.manual-card button{padding:13px}.guest-grid{grid-template-columns:1fr}.guest-grid>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.12)}}
@media(min-width:700px){.app-shell{padding-top:30px}.camera-wrap{aspect-ratio:1.12/1}}
