/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.validationOverlay{z-index:20;color:#fff;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.validationOverlay.success{background:#087a5df2}.validationOverlay.denied{background:#a52f2ff2}.validationMessage{text-align:center;width:min(560px,100%)}.validationMessage>span{border:5px solid #fff;border-radius:50%;place-items:center;width:120px;height:120px;margin:0 auto 25px;font-size:72px;font-weight:700;display:grid}.validationMessage>p{letter-spacing:.22em;font-size:13px;font-weight:800}.validationMessage h2{margin:18px 0;font:700 clamp(42px,9vw,78px)/1 Arial}.validationMessage h3{margin:0 0 25px;font-size:20px;font-weight:400}.validationMessage>div{border-top:1px solid #fff7;border-bottom:1px solid #fff7;max-width:420px;margin:25px auto;padding:18px}.validationMessage b,.validationMessage small{display:block}.validationMessage b{font-size:27px}.validationMessage small{margin-top:8px;font-size:16px}.validationMessage button{color:#17302b;background:#fff;border:0;border-radius:6px;padding:16px 28px;font-size:16px;font-weight:800}:root{--ink:#0a1d1b;--muted:#63716f;--line:#dce3e1;--mint:#16c79a;--pale:#effaf6;--red:#c53e3e}*{box-sizing:border-box}body{color:var(--ink);background:#f4f7f6;margin:0;font-family:Arial,Helvetica,sans-serif}.authGate{color:#0a2f24;background:#fafafa;align-content:center;justify-items:start;gap:16px;min-height:100vh;padding:clamp(32px,8vw,100px);display:grid}.authGate img{width:min(290px,72vw);height:auto;margin-bottom:26px}.authGate p{color:#009530;margin:0;font-weight:700}.authGate h1{max-width:720px;margin:0;font-size:clamp(38px,7vw,68px);line-height:1.05}.authGate span{max-width:620px;font-size:18px;line-height:1.5}.authGate a{color:#fff;background:#0a2f24;border-radius:6px;margin-top:12px;padding:15px 22px;font-weight:700;text-decoration:none;display:inline-block}.deniedGate{border-top:18px solid #3dcd58}button,input{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{color:#fff;background:#071b19;justify-content:space-between;align-items:center;height:82px;padding:0 5vw;display:flex}.brand{letter-spacing:.12em;align-items:center;gap:12px;display:flex}.brandMark{background:var(--mint);color:#071b19;border-radius:3px;place-items:center;width:40px;height:40px;font:700 17px Georgia;display:grid}.brand small,.brand b{display:block}.brand small{color:#9fb4b0;margin-top:3px;font-size:9px}.event{text-align:center}.event span,.event b{display:block}.event span{color:#8ca09d;text-transform:uppercase;letter-spacing:.18em;margin-bottom:4px;font-size:10px}.event b{font-size:13px}.live{color:#bcd0cc;font-size:12px}.live i{background:var(--mint);border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block;box-shadow:0 0 0 5px #16c79a20}.tabs{border-bottom:1px solid var(--line);background:#fff;gap:28px;padding:0 5vw;display:flex}.tabs button{color:#74817f;background:0 0;border:0;border-bottom:3px solid #0000;padding:19px 2px 16px;font-size:13px;font-weight:700}.tabs button.active{color:var(--ink);border-color:var(--mint)}.tabs em{background:#e9efed;border-radius:10px;margin-left:5px;padding:2px 7px;font-style:normal}.accessGrid,.guestPage{max-width:1180px;margin:auto;padding:48px 28px}.accessGrid{grid-template-columns:1.35fr .85fr;gap:32px;display:grid}.scanPanel{border:1px solid var(--line);background:#fff;border-radius:7px;padding:42px;box-shadow:0 14px 35px #14332c0a}.eyebrow{letter-spacing:.18em;color:#78908b;font-size:10px;font-weight:800}.scanPanel h1,.sectionHead h1{margin:12px 0;font:500 42px/1.05 Georgia,serif}.lead{color:var(--muted);margin:0 0 28px;line-height:1.6}.selectedEventBanner{border-left:4px solid var(--mint);background:#edf7f3;border-radius:4px;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 22px;padding:13px 15px;display:flex}.selectedEventBanner span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.selectedEventBanner b{color:var(--ink);text-align:right}.staffActions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dangerText{color:var(--red)!important}.scannerBox{background:linear-gradient(135deg,#f7fbfa,#edf5f2);border:1px dashed #9aada8;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;height:255px;display:flex;position:relative;overflow:hidden}.scannerBox:after{content:"";background:var(--mint);height:2px;box-shadow:0 0 12px var(--mint);position:absolute;top:50%;left:15%;right:15%}.scanIcon{color:#164c43;font-size:54px;line-height:1}.scannerBox b{margin-top:18px}.scannerBox small{color:#81908d;margin-top:7px}.corners{background:linear-gradient(var(--mint), var(--mint)) left top/36px 2px no-repeat, linear-gradient(var(--mint), var(--mint)) left top/2px 36px no-repeat, linear-gradient(var(--mint), var(--mint)) right top/36px 2px no-repeat, linear-gradient(var(--mint), var(--mint)) right top/2px 36px no-repeat, linear-gradient(var(--mint), var(--mint)) left bottom/36px 2px no-repeat, linear-gradient(var(--mint), var(--mint)) left bottom/2px 36px no-repeat, linear-gradient(var(--mint), var(--mint)) right bottom/36px 2px no-repeat, linear-gradient(var(--mint), var(--mint)) right bottom/2px 36px no-repeat;border:2px solid #0000;position:absolute;inset:24px}.manual{gap:10px;margin-top:18px;display:flex}.manual input,.createForm input{border:1px solid #bdc9c6;border-radius:4px;outline:none;flex:1;padding:14px}.manual input:focus,.createForm input:focus{border-color:var(--mint);box-shadow:0 0 0 3px #16c79a20}.manual button,.createForm>button,.print{background:var(--ink);color:#fff;border:0;border-radius:4px;padding:0 24px;font-weight:800}.hint{color:#8a9694;font-size:11px}.hint button{color:#426b64;background:0 0;border:0;padding:0;text-decoration:underline}.resultCard{text-align:center;border:1px solid var(--line);background:#edf2f0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;min-height:505px;padding:38px;display:flex}.resultCard.valid{background:var(--pale);border-color:#9edfc9}.resultCard.used,.resultCard.invalid,.resultCard.revoked{background:#fff2ef;border-color:#e8b6ae}.resultIcon{color:#61736f;background:#dce7e3;border-radius:50%;place-items:center;width:78px;height:78px;margin-bottom:18px;font-size:38px;display:grid}.valid .resultIcon{background:var(--mint);color:#fff}.used .resultIcon,.invalid .resultIcon,.revoked .resultIcon{background:var(--red);color:#fff}.resultCard h2{margin:5px 0 12px;font:500 30px Georgia}.resultCard>p{color:#6c7b78;line-height:1.55}.guestResult{border-top:1px solid #bdd8d0;border-bottom:1px solid #bdd8d0;width:100%;margin:16px 0;padding:18px}.guestResult b,.guestResult span,.guestResult small{display:block}.guestResult b{font-size:20px}.guestResult span,.guestResult small{color:#5f716d;margin-top:6px;font-size:12px}.next{background:#fff;border:1px solid #94aaa5;border-radius:4px;padding:12px 20px;font-weight:700}.metrics{background:var(--line);border:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.metrics div{background:#fff;padding:20px 25px}.metrics span,.metrics b{display:block}.metrics span{color:#7d8c89;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.metrics b{margin-top:8px;font:500 30px Georgia}.sectionHead{margin-bottom:28px}.guestLayout{grid-template-columns:340px 1fr;align-items:start;gap:25px;display:grid}.guestTools{gap:20px;display:grid}.bulkCard{background:#f5fbf8;border:1px solid #a9d8c9;border-radius:6px;padding:25px}.bulkCard h2{margin:4px 0 12px;font:500 24px Georgia}.bulkCard>p:not(.eyebrow){color:#60716d;font-size:13px;line-height:1.55}.bulkCard button,.fileButton{text-align:center;cursor:pointer;border-radius:5px;width:100%;padding:13px;font-weight:800;display:block}.templateButton{color:#0f6554;background:#fff;border:1px solid #0f7560;margin:18px 0 10px}.fileButton{color:#fff;background:#0f413a}.fileButton.disabled{cursor:wait;opacity:.65}.fileButton input{display:none}.bulkCard progress{accent-color:#18a77f;width:100%;height:10px;margin-top:12px}.bulkCard>small{color:#71817e;margin-top:12px;display:block}.bulkSummary{color:#42524f;background:#fff;border-left:3px solid #18a77f;gap:5px;margin-top:14px;padding:12px;font-size:12px;display:grid}.bulkSummary b,.bulkSummary span{display:block}.bulkSummary small{color:#6b7976;line-height:1.35}.createForm,.tableCard{border:1px solid var(--line);background:#fff;border-radius:6px}.createForm{padding:25px}.createForm h2{margin:0 0 20px;font:500 24px Georgia}.createForm label{text-transform:uppercase;letter-spacing:.05em;margin:15px 0;font-size:11px;font-weight:700;display:block}.createForm input{text-transform:none;width:100%;margin-top:7px}.createForm>button{background:#0f413a;width:100%;margin-top:5px;padding:14px}.createForm>small{color:#7c8b88;margin-top:12px;line-height:1.5;display:block}.tableCard{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e7ecea;padding:18px;font-size:13px}th{text-transform:uppercase;letter-spacing:.08em;color:#7d8d89;background:#f8faf9;font-size:10px}td small,td b{display:block}td small{color:#81908d;margin-top:4px}.pill{text-transform:uppercase;border-radius:12px;padding:5px 9px;font-size:10px;font-weight:700}.pill.valid{color:#087a5d;background:#dff7ef}.pill.used{color:#9a5b00;background:#fff0cf}.pill.revoked{color:#a52f2f;background:#ffe2de}.modalBackdrop{z-index:5;background:#071b19cc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ticketModal{text-align:center;background:#fff;border-radius:8px;width:min(430px,100%);padding:38px;position:relative;box-shadow:0 30px 80px #0007}.ticketModal:before{content:"";background:var(--mint);border-radius:8px 8px 0 0;height:8px;position:absolute;top:0;left:0;right:0}.close{color:#697875;background:0 0;border:0;font-size:28px;position:absolute;top:12px;right:14px}.ticketModal h2{margin:12px 0;font:500 32px Georgia}.ticketModal img{width:210px;height:210px;margin:8px auto}.ticketModal h3{margin:8px 0 4px}.ticketModal>p{color:#687874}.ticketRule{background:#f0f5f3;margin:18px 0;padding:13px;font-size:11px;line-height:1.5}.print{padding:13px 22px}@media (width<=800px){.event{display:none}.accessGrid,.guestLayout{grid-template-columns:1fr}.accessGrid{padding:24px 16px}.scanPanel{padding:25px}.metrics{grid-template-columns:1fr}.resultCard{min-height:400px}.guestPage{padding:30px 16px}.tableCard{overflow-x:auto}.topbar{padding:0 18px}.live{font-size:0}.live i{margin:0}.scanPanel h1,.sectionHead h1{font-size:35px}}@media print{body>*{visibility:hidden}.modalBackdrop,.modalBackdrop *{visibility:visible}.modalBackdrop{background:#fff;position:absolute}.close,.print{display:none}.ticketModal{box-shadow:none;border:1px solid #ddd}}.scannerBox{height:320px}.scannerBox video{object-fit:cover;width:100%;height:100%;display:none;position:absolute;inset:0}.scannerBox.cameraOn video{display:block}.scannerBox.cameraOn:after{z-index:2}.scannerBox.cameraOn .corners{z-index:3}.scanStatus{z-index:4;color:#fff;background:#071b19d9;border-radius:20px;padding:8px 13px;font-size:13px;position:absolute;bottom:14px;margin:0!important}.cameraButton{color:#fff;background:#0f413a;border:0;border-radius:5px;width:100%;margin-top:14px;padding:15px;font-weight:800}.cameraButton.stop{background:#6c3d39}.cameraError{color:#a52f2f;margin:10px 0 0;font-size:13px;font-weight:700}.guestReportTable{min-width:1210px}.attendance,.retryBadge{border-radius:14px;justify-content:center;align-items:center;min-width:34px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.attendance.yes{color:#087a5d;background:#dff7ef}.attendance.no,.retryBadge{color:#687874;background:#edf1f0}.retryBadge.alert{color:#a52f2f;background:#ffe2de}.reportHead{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.reportHead .lead{margin-bottom:0}.excelButton{color:#fff;background:#087a5d;border:0;border-radius:5px;flex:none;padding:14px 20px;font-weight:800}.excelButton:disabled{cursor:not-allowed;opacity:.55}.deleteLink{color:#a52f2f;background:0 0;border:0;padding:4px;font-size:12px;font-weight:800;text-decoration:underline}.confirmModal{text-align:center;background:#fff;border-radius:8px;width:min(520px,100%);padding:36px;box-shadow:0 30px 80px #0007}.dangerIcon{color:#a52f2f;background:#ffe2de;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:38px;font-weight:900;display:grid}.confirmModal h2{margin:10px 0 16px;font:500 30px Georgia,serif}.confirmModal>p:not(.eyebrow){color:#5f6f6c;line-height:1.55}.confirmModal>strong{color:#a52f2f;margin-top:18px;display:block}.confirmActions{justify-content:center;gap:12px;margin-top:26px;display:flex}.confirmActions button{background:#fff;border:1px solid #b9c5c2;border-radius:5px;padding:13px 18px;font-weight:800}.confirmActions .dangerButton{color:#fff;background:#a52f2f;border-color:#a52f2f}.deleteError{font-weight:800;color:#a52f2f!important}@media (width<=800px){.reportHead{flex-direction:column;align-items:stretch}.excelButton{width:100%}}.eventPicker{text-align:center}.eventPicker span{color:#8ca09d;text-transform:uppercase;letter-spacing:.18em;margin-bottom:5px;font-size:9px;display:block}.eventPicker select{color:#fff;background:#11302c;border:1px solid #31504b;border-radius:4px;max-width:360px;padding:8px 12px;font-weight:700}.eventLayout{grid-template-columns:310px 1fr;align-items:start;gap:25px;display:grid}.eventCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.eventCard{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:24px}.eventCard.selected{border-color:var(--mint);box-shadow:0 0 0 2px #16c79a22}.eventCard h3{margin:20px 0 8px;font:500 23px Georgia}.eventCard p,.eventCard small{display:block}.eventCard p{color:#41534f}.eventCard small{color:#7c8c88;margin:10px 0 22px}.eventActions{justify-content:space-between;align-items:center;gap:12px;display:flex}.eventActions button{color:#0c725c;background:0 0;border:0;padding:0;font-weight:800}.eventActions .deleteLink{color:#a52f2f}@media (width<=800px){.eventPicker{display:none}.eventLayout,.eventCards{grid-template-columns:1fr}}.connectButton{color:#fff;background:#0f413a;border-radius:4px;padding:14px 20px;font-weight:800;text-decoration:none;display:inline-block}.createForm select{background:#fff;border:1px solid #bdc9c6;border-radius:4px;width:100%;margin-top:7px;padding:14px}.mailState{border-radius:4px;padding:10px 12px;font-weight:700;font-size:12px!important}.mailState.ok{background:#dff7ef;color:#087a5d!important}.mailState.pending{background:#fff0cf;color:#8a5a00!important}
