:root{--ink:#08111f;--muted:#60708a;--line:#dce3ea;--paper:#f4f7fa;--red:#c9222b;--green:#187e52;--gold:#95691d}*{box-sizing:border-box}html{min-height:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{min-height:100%;margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;overscroll-behavior-y:none;touch-action:manipulation}.appbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:8px max(18px,calc((100% - 1120px)/2));border-bottom:1px solid var(--line);background:#fff}.brand img{display:block;width:114px;height:auto}.appbar nav{display:flex;gap:18px}.appbar a{color:var(--ink);font-size:.88rem;font-weight:700;text-decoration:none}.shell{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:58px 0}.eyebrow{margin:0 0 10px;color:#299bb0;font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}h1{max-width:700px;margin:0 0 12px;font-size:clamp(2.4rem,6vw,5rem);line-height:.95}h2{margin:0 0 8px;font-size:1.4rem}.pageHead{margin-bottom:32px}.pageHead>p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.6}.loginCard{width:min(480px,100%);margin:42px auto;border:1px solid var(--line);border-radius:8px;padding:30px;background:#fff;box-shadow:0 18px 48px rgba(8,17,31,.08)}.loginCard>p{color:var(--muted);line-height:1.6}.loginCard form,.scanner form{display:grid;gap:15px;margin:25px 0}.loginCard label,.scanner label{display:grid;gap:7px;color:#2a3a50;font-size:.83rem;font-weight:800}input{min-height:46px;border:1px solid #cbd5df;border-radius:5px;padding:0 12px;font:inherit;font-size:16px}button,.button{display:inline-flex;min-height:45px;align-items:center;justify-content:center;border:0;border-radius:5px;padding:0 17px;background:var(--red);color:#fff;cursor:pointer;font:inherit;font-weight:800;text-decoration:none}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}small{color:var(--muted);line-height:1.5}.notice{margin-top:16px;border-left:4px solid #386d92;padding:13px;background:#eef5f8;color:#31465e;line-height:1.5}.notice.error{border-color:var(--red);background:#fff1f1;color:#8f2026}.passGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pass{display:grid;grid-template-columns:1fr 150px;gap:14px;min-height:218px;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:8px;padding:20px;background:#fff}.pass span{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.06em}.pass h2{margin-top:18px}.pass p{margin:0;color:var(--muted)}.pass small{display:block;margin-top:18px}.passActions{margin-top:18px}.ticketDownload{min-height:38px;padding:0 12px;font-size:.78rem}.ticketDownload:disabled{cursor:wait;opacity:.7}.valid,.used,.pending{display:inline-block;margin-top:10px;border-radius:20px;padding:5px 9px;font-size:.72rem}.valid{background:#eaf7f0;color:var(--green)}.used{background:#fff4df;color:var(--gold)}.pending{background:#eef2f6;color:#46566e}.qr{position:relative;display:grid;place-items:center;min-height:142px;background:repeating-linear-gradient(45deg,#071522 0 3px,#fff 3px 6px);overflow:hidden}.qr::after{content:"";position:absolute;inset:20px;background:#fff}.qr i{position:relative;z-index:1;width:28px;height:28px;border:6px solid #071522;background:#fff}.qr i:nth-child(1){position:absolute;top:10px;left:10px}.qr i:nth-child(2){position:absolute;top:10px;right:10px}.qr i:nth-child(3){position:absolute;bottom:10px;left:10px}.qr em{position:absolute;z-index:2;bottom:3px;left:3px;right:3px;padding:3px;background:#fff;color:#071522;font-size:8px;font-style:normal;font-weight:800;text-align:center}.organiserHead{display:flex;align-items:end;justify-content:space-between;gap:24px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.metrics article,.tableCard,.scanner{border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff}.metrics span{display:block;color:var(--muted);font-size:.84rem;font-weight:700}.metrics strong{display:block;margin-top:12px;font-size:2rem}.tableCard{padding:22px 0 0}.tableCard>div:first-child{padding:0 22px}.tableWrap{overflow:auto;margin-top:16px;border-top:1px solid var(--line)}table{width:100%;min-width:620px;border-collapse:collapse;text-align:left}th,td{padding:15px 22px;border-bottom:1px solid var(--line);font-size:.9rem}th{color:var(--muted);font-size:.75rem;text-transform:uppercase}td strong,td small{display:block}.scanner{max-width:700px}.scanner video{display:none;width:100%;min-height:280px;max-height:500px;background:#071522;object-fit:cover}.scanner video.cameraActive{display:block}.cameraPlaceholder{display:grid;min-height:280px;place-items:center;background:#071522;color:#c2d2df;font-weight:800}.scanActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.qr canvas{position:relative;z-index:2;padding:5px;background:#fff}.registerLink{margin-bottom:16px}.registrationHead{max-width:730px;margin-bottom:30px}.registrationHead>p:last-child{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.6}.registrationForm{display:grid;gap:18px}.registrationForm fieldset{min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;padding:22px;background:#fff}.registrationForm legend{padding:0 8px;color:var(--ink);font-size:1.05rem;font-weight:800}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.formGrid label{display:grid;gap:7px;color:#2a3a50;font-size:.83rem;font-weight:800}.fullWidth{grid-column:1/-1}.formHint{align-self:end;color:var(--muted);font-size:.8rem;line-height:1.45}.fieldsetLead{margin:0 0 16px;color:var(--muted);font-size:.9rem;line-height:1.5}.billingChoices{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:18px}.billingChoices label{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:800}.billingChoices input{min-height:auto;margin:0}.registrationActions{display:flex;align-items:center;justify-content:space-between;gap:20px}.registrationActions>a{color:var(--ink);font-size:.86rem;font-weight:800}.formNotice{margin:0}@media(max-width:650px){.shell{padding:36px 0 calc(90px + env(safe-area-inset-bottom))}.passGrid,.metrics,.formGrid{grid-template-columns:1fr}.pass{grid-template-columns:1fr}.qr{max-width:190px}.organiserHead{display:grid;align-items:start}.appbar nav{gap:11px}.appbar a{font-size:.8rem}.scanner{min-height:calc(100svh - 160px)}.registrationForm fieldset{padding:18px}.fullWidth{grid-column:auto}.registrationActions{align-items:stretch;flex-direction:column-reverse}.registrationActions button{width:100%}}
