:root{color:#ecdfe2;font-synthesis:none;text-rendering:optimizelegibility;--bg:#171214;--surface:#241e20;--surface-strong:#2f282a;--primary:#ffb598;--primary-strong:#ef8354;--secondary:#61d8d8;--text:#ecdfe2;--muted:#dcc1b7;--outline:#56433b;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;background:#171214;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{background:#120d0f}body{min-width:320px;min-height:100svh;color:var(--text);background:radial-gradient(circle at 50% -10%, #302326 0, var(--bg) 30rem);margin:0}button,input,select{font:inherit}button,.button{color:#090607;background:var(--primary);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}button:disabled{opacity:.55;cursor:wait}button.secondary,.button.secondary{color:var(--text);background:var(--surface-strong)}button.danger{color:#fff;background:var(--danger)}button.link-button{min-height:36px;color:var(--primary);background:0 0;padding:.35rem}a{color:var(--primary)}h1,h2,h3{margin-top:0;font-family:Epilogue,ui-sans-serif,system-ui,sans-serif}h1{letter-spacing:-.035em;margin-bottom:.5rem;font-size:clamp(1.9rem,8vw,2.6rem);line-height:1.05}h2{margin-bottom:.5rem;font-size:1.2rem}p{margin:0;line-height:1.55}ul{margin:0;padding:0;list-style:none}label{color:var(--muted);gap:.45rem;font-weight:700;display:grid}input,select{border:1px solid var(--outline);width:100%;min-height:48px;color:var(--text);background:#120d0f;border-radius:12px;padding:.75rem}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}.eyebrow{color:var(--primary-strong);letter-spacing:.14em;margin:0 0 .5rem;font:800 .75rem/1.2 Space Grotesk,sans-serif}.panel{background:linear-gradient(145deg, #282124, var(--surface));border:1px solid #a48c8261;border-radius:18px;padding:1.1rem;box-shadow:0 14px 36px #00000029}.error{color:#ffb4ab}.centered{align-content:center;gap:1rem;width:min(100% - 2rem,480px);min-height:100svh;margin:auto;display:grid}.status.valid{color:var(--success)}.status.used{color:var(--warning)}.status.invalid,.status.networkError{color:var(--danger)}.status.notFound{color:#9ca3af}@media (width>=700px){body{border-inline:1px solid #2f282a;max-width:600px;margin-inline:auto}}#root,.app-shell{min-height:100svh}.page{width:100%;max-width:600px;margin:auto}main.page{flex-direction:column;gap:1.25rem;padding:1.25rem 1rem 2rem;display:flex}.page-header{padding-top:.25rem}.page-header h1{margin-bottom:0}.top-bar{z-index:10;padding:max(.65rem, env(safe-area-inset-top)) 1rem .65rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#171214e6;border-bottom:1px solid #56433ba6;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.top-bar a{width:fit-content;color:var(--text);align-items:center;gap:.7rem;font-weight:900;text-decoration:none;display:flex}.top-bar img{border-radius:10px;width:38px;height:38px;box-shadow:0 5px 16px #ef835438}.top-nav{gap:.25rem;display:flex}.top-nav a{color:var(--muted);border-radius:8px;padding:.4rem .55rem;font-size:.8rem;font-weight:800}.top-nav a.active{color:var(--text);background:var(--surface-strong)}.auth-shell{align-content:center;gap:1.5rem;width:min(100%,440px);min-height:100svh;margin:auto;padding:1.25rem;display:grid}.brand-logo{border-radius:25px;width:112px;height:112px;margin:auto;box-shadow:0 18px 50px #ef835438}.auth-panel{gap:1.1rem;padding:1.25rem;display:grid}.auth-panel form{gap:1rem;display:grid}.section-heading,.row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.page-actions,.actions{gap:.75rem;display:grid}.page-actions .button,.actions .button,.page>button{width:100%}.upcoming-toggle{justify-content:space-between}.form{gap:.9rem;display:grid}.switch-row{grid-template-columns:auto 1fr;align-items:center}.switch-row input{width:1.25rem;min-height:1.25rem;accent-color:var(--primary-strong)}.card-list,.history-list{gap:.8rem;display:grid}.card-list>li,.history-list>li{border:1px solid var(--outline);background:var(--surface);border-radius:16px;gap:.4rem;display:grid}.card-list a,.history-list a{color:var(--text);gap:.4rem;text-decoration:none;display:grid}.card-list a,.access-history-item{padding:0}.access-history-item>a{padding:1.1rem}.history-list>li{gap:.4rem;padding:1rem;display:grid}.history-list a{padding:0}.card-list span,.history-list span{color:var(--muted);line-height:1.4}.card-list strong,.history-list strong{font-size:1.05rem}.card-list strong,.card-list span,.history-list strong,.history-list span,.scan-result p{overflow-wrap:anywhere}.scanner{gap:1rem;display:grid}.scanner-viewport{aspect-ratio:3/4;background:#090607;border-radius:14px;position:relative;overflow:hidden}.scanner-viewport video{object-fit:cover;width:100%;height:100%}.scanner-processing,.scan-result-overlay{z-index:2;position:absolute;inset:auto .75rem .75rem}.scan-result{background:var(--surface);border:1px solid;border-radius:16px;padding:1rem}.scan-result.valid{color:var(--success)}.scan-result.used{color:var(--warning)}.scan-result.invalid,.scan-result.networkError{color:var(--danger)}.scan-result.notFound{color:#9ca3af}.scan-result strong,.scan-result p{color:var(--text)}.scanner-consent{gap:.75rem;display:grid}.event-card,.ticket-card{border:1px solid var(--outline);background:var(--surface);border-radius:16px;gap:.5rem;padding:1.1rem;display:grid}.event-card a,.ticket-card a{color:inherit;text-decoration:none}.metric-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.metric{background:var(--surface-strong);border-radius:14px;padding:1rem}.metric strong{font-size:1.5rem;display:block}progress{width:100%;accent-color:var(--primary-strong)}dl{grid-template-columns:minmax(5rem,auto) 1fr;gap:.7rem 1rem;margin:1rem 0 0;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;text-align:right;margin:0}main.page>a:first-child,main.page>.back-link{width:fit-content;color:var(--muted);background:0 0;border:0;padding:0;font-weight:700;text-decoration:none}main.page>a:first-child:hover,main.page>.back-link:hover{color:var(--primary)}.bottom-sheet{border:1px solid var(--outline);width:min(100%,600px);max-height:min(82svh,720px);color:var(--text);background:var(--surface-strong);border-radius:20px 20px 0 0;margin:auto auto 0;padding:0}.bottom-sheet::backdrop{background:#0009}.bottom-sheet-content{max-height:inherit;padding:1.25rem 1rem max(1.25rem, env(safe-area-inset-bottom));gap:1rem;display:grid;overflow-y:auto}.history-end{height:1px}@media (hover:hover){.card-list>li:hover,.history-list>li:hover{border-color:var(--primary-strong);transform:translateY(-1px)}}
