*{box-sizing:border-box}
:root{color-scheme:dark;--bg:#070608;--panel:#0e0c10;--panel2:#141016;--line:#30272d;--line-strong:#583d49;--text:#f5eef1;--muted:#b9adb3;--accent:#9b5770;--accent2:#d7a6b7;--warn:#d7ac7f;--bad:#df8790}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -28%,#1b1117 0,#0a080b 32rem,var(--bg) 56rem);color:var(--text);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:#e7b8c8}.admissionPage{width:min(920px,100%);margin:auto;padding:20px 16px 72px}.admissionNav{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.admissionNav .navGroup{display:flex;gap:9px;flex-wrap:wrap}.admissionNav a,.buttonLink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid var(--line-strong);border-radius:10px;color:#edc5d2;text-decoration:none;background:#141016;font-weight:700}.admissionHero{padding:8px 0 20px}.admissionHero.compact{padding-bottom:16px}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.18em;color:#d4a2b3}.admissionHero h1{font:clamp(2.15rem,7vw,4rem)/1.04 Georgia,serif;margin:.3rem 0 .65rem;letter-spacing:-.025em}.admissionHero p{max-width:720px;margin:0;color:var(--muted)}
.admissionSwitcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 22px}.admissionSwitcher a{display:grid;gap:3px;min-height:84px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#100d12;text-decoration:none;color:var(--muted)}.admissionSwitcher a span{font-size:.68rem;letter-spacing:.16em;font-weight:800}.admissionSwitcher a strong{font-size:1.06rem;color:var(--text)}.admissionSwitcher a.active{border-color:#8d5c70;background:#21141b;color:#e6b7c6}.admissionSwitcher a.active strong{color:#fff}
.admissionStatus{min-height:28px;color:#d3c7cd;margin:2px 0 14px}.admissionStatus.error,.error{color:#ffb0b6}.paymentGrid{display:grid;gap:14px}.paymentCard{border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}.paymentCardTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:19px 20px 0}.paymentCard h2{font:1.45rem/1.2 Georgia,serif;margin:0 0 6px}.eventMeta{color:var(--muted);font-size:.9rem}.moneyDue{font:750 1.08rem/1.2 system-ui;text-align:right;white-space:nowrap}.paymentBody{padding:15px 20px 20px}.statusPill{display:inline-flex;align-items:center;min-height:29px;padding:4px 10px;border:1px solid #654c58;border-radius:999px;font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#0f0c10}.statusPill.good{border-color:#765465;color:#f4c9d8}.statusPill.warn{border-color:#765f49;color:#eecba8}.statusPill.bad{border-color:#74434a;color:#ffb3ba}.paymentMessage{margin:12px 0;color:#d9cfd4}.paymentReason{padding:10px 12px;border-left:3px solid #87576b;background:#0e0b0f;border-radius:6px;color:#e6dbe0}.paymentForm{display:grid;gap:12px;margin-top:17px;padding-top:17px;border-top:1px solid var(--line)}.paymentForm label,.scannerPanel label{display:grid;gap:7px;font-weight:700}.paymentForm select,.paymentForm input[type=file],.paymentForm input[type=text],.adminPaymentCard input,.scannerPanel input{width:100%;min-height:48px;border:1px solid #574650;border-radius:10px;background:#09070a;color:var(--text);padding:10px 12px;font:inherit}.paymentForm input[type=file]{padding:8px}.paymentInstructions{margin:0;padding:12px 14px;border-radius:10px;background:#0d0a0e;border:1px solid #2c2429;color:#d7cad0}.paymentActions,.adminActions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.paymentActions button,.adminActions button,.scannerPanel button{min-height:45px;border:1px solid #8a5d70;border-radius:10px;padding:9px 14px;background:#74435a;color:#fff;font:700 .95rem system-ui;cursor:pointer}.paymentActions button.secondary,.adminActions button.secondary,.scannerPanel button.secondary{background:#141016;color:#edc5d2}.paymentActions button:disabled,.adminActions button:disabled,.scannerPanel button:disabled{opacity:.5;cursor:not-allowed}.inlineStatus{min-height:22px;color:#d4c7cd;font-size:.9rem}.paymentNote{font-size:.84rem;color:var(--muted)}.emptyState{border:1px dashed #4c3e45;border-radius:14px;padding:22px;background:#0e0b0f;color:#c9bdc3}
.adminQueue{display:grid;gap:14px}.adminPaymentCard{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.adminPaymentCard h2{font:1.3rem Georgia,serif;margin:0 0 5px}.adminPaymentCard .checkRow{display:flex;gap:9px;align-items:flex-start;margin:10px 0}.adminPaymentCard .checkRow input{margin-top:4px}.adminSectionTitle{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:26px 0 12px}.adminSectionTitle h2{font:1.5rem Georgia,serif;margin:0}
.scannerPage{max-width:760px}.scannerGate{padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.scannerPanel{display:grid;gap:16px}.manualDoorCode{padding:18px;border:1px solid #70485b;border-radius:16px;background:#171016}.manualDoorCode h2{margin:.25rem 0 .35rem;font:1.45rem Georgia,serif}.manualDoorCode p{margin:.2rem 0 14px;color:#cfc1c8}.manualDoorCode button{width:100%;margin-top:12px;min-height:50px}.scanResult{padding:15px;border:1px solid var(--line);border-radius:12px;min-height:56px;background:#0e0b0f}.scanResult h3{margin:.1rem 0}.cameraSupport{padding:12px 14px;border-radius:12px;background:#0e0b0f;color:var(--muted);border:1px solid #2d252a}.cameraScanner{border:1px solid var(--line);border-radius:14px;background:#0d0a0e;overflow:hidden}.cameraScanner summary{cursor:pointer;padding:14px 16px;font-weight:750}.cameraScanner video{display:block;width:calc(100% - 24px);margin:0 12px 12px;max-width:520px;aspect-ratio:4/3;object-fit:cover;border:1px solid #4c3b44;border-radius:12px;background:#050405}.cameraScanner .paymentActions{padding:0 12px 14px}.pageFooter{margin-top:34px;padding-top:18px;border-top:1px solid #30272c;color:#9f9299;font-size:.84rem}[hidden]{display:none!important}
@media(max-width:620px){.admissionPage{padding:14px 12px 54px}.admissionNav{margin-bottom:16px}.admissionNav a{flex:1 1 auto}.admissionHero h1{font-size:2.35rem}.admissionSwitcher{gap:7px}.admissionSwitcher a{min-height:76px;padding:12px}.paymentCardTop{padding:16px 15px 0;display:grid}.moneyDue{text-align:left}.paymentBody{padding:13px 15px 17px}.paymentActions>*{flex:1 1 150px}.adminPaymentCard{padding:15px}.manualDoorCode{padding:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v202 scanner fallback + calmer admission surfaces */
.scannerPhotoFallback{display:grid;gap:8px;margin:0 12px 14px;padding:13px;border:1px solid #493741;border-radius:10px;background:#0a080b;color:#e1d5da}.scannerPhotoFallback input{min-height:44px;border:1px solid #4b3a43;border-radius:8px;background:#070608;color:#eee2e7;padding:8px}.cameraScanner[open] summary{border-bottom:1px solid #2d252a}.paymentCard,.adminPaymentCard,.manualDoorCode,.scannerGate{box-shadow:none}.paymentCard{background:#0e0c10}.admissionSwitcher a{background:#0b090c}.admissionSwitcher a.active{background:#1a1116}.paymentInstructions,.scanResult,.cameraSupport{background:#09070a}
