:root{--color-background:#101214;--color-surface:#1a1c20;--color-on-background:#f2f4f6;--color-kd-on-surface:#e8eaec;--color-primary:#3da3ff;--color-on-primary:#fff;--color-secondary:#1f2226;--color-on-secondary:#fff;--color-success:#00e68a;--color-warning:#ffd54f;--color-error:#ff5a52;--color-divider:#2e3238;--color-disabled:#5a5e66;--color-stroke:#3a3e44;background-color:var(--color-background);color:var(--color-on-background);-webkit-user-select:none;user-select:none;font-family:ui-sans-serif,system-ui,-apple-system,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{margin:0;padding:0;overflow:hidden}.video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1s}.video.visible{opacity:1}.waiting-container{width:100%;height:100vh;position:relative;overflow:hidden}.waiting-video-container{z-index:0;width:100%;height:100%;position:absolute;inset:0}.waiting-video-container video{object-fit:cover;width:100%;height:100%}.waiting-container h1{z-index:1;color:#fff;text-align:center;text-shadow:0 0 30px #00000080;font-size:2.5rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.waiting-container p{z-index:1;color:#fff;text-align:center;opacity:.65;position:absolute;bottom:0;left:50%;transform:translate(-50%,-50%)}.waiting-container:after{content:"";z-index:0;background:#0006;position:absolute;inset:0}.help-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:10px;padding:8px 12px;font-size:1rem;display:flex;position:fixed;top:16px;right:16px}.help-overlay.open{display:flex}.restart-button{background-color:var(--color-surface);color:var(--color-on-surface);border:none;border:2px solid var(--color-stroke);cursor:pointer;border-radius:20px;flex-direction:row;justify-content:center;align-items:center;gap:5px;padding:10px 20px;font-size:20px;transition:transform .3s;display:flex}.help-popup-overlay{z-index:99999;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-popup{z-index:100000;background:var(--color-background);min-width:320px;max-width:min(80vw,700px);color:var(--color-on-background);border:2px solid var(--color-stroke);border-radius:20px;flex-direction:column;justify-content:start;align-items:center;gap:20px;padding:24px;display:flex;position:relative}.help-popup-header{flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-bottom:10px;display:flex}.help-popup-title{flex-direction:row;align-items:center;gap:12px;display:flex}.help-popup-close-button{border-radius:50%}.help-popup-content{flex-direction:column;align-items:center;gap:20px;transition:all .3s;display:flex}.help-popup-action-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.help-popup-action-button{background-color:var(--color-surface);color:var(--color-on-surface);border:none;border:2px solid var(--color-stroke);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:20px;padding:20px 20px 10px;font-size:16px;transition:transform .3s;display:flex}.help-popup-action-button.disabled{pointer-events:none;cursor:not-allowed;background-color:var(--color-background);border:2px solid var(--color-stroke)}.help-popup-action-button.disabled svg,.help-popup-action-button.disabled h3{opacity:.2}.help-icon-wrapper{justify-content:center;align-items:center;display:inline-flex;position:relative}.help-time-overlay{color:#fff;justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex;position:absolute;inset:0}.help-popup-footer{flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:10px;display:flex}.q-and-a-container{flex-direction:column;align-items:center;max-height:400px;display:flex}.q-and-a-header{flex-direction:row;justify-content:start;align-items:center;gap:10px;width:100%;margin-bottom:20px;display:flex;position:relative}.q-and-a-header:after{content:"";background-color:var(--color-stroke);width:100%;height:2px;position:absolute;bottom:-20px;left:0}.q-and-a-questions-list{scrollbar-width:none;flex-direction:column;align-items:center;gap:20px;width:100%;padding:20px 0;display:flex;position:relative;overflow:hidden scroll}.question{background:var(--color-surface);border:2px solid var(--color-stroke);box-sizing:border-box;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:10px;font-size:17px;font-weight:lighter;transition:all .3s;display:flex}.question-header{flex-direction:row;justify-content:space-between;align-items:center;gap:20px;width:100%;font-size:17px;font-weight:700;transition:all .3s;display:flex}.question .chevron{transition:transform .3s;transform:rotate(-90deg)}.question .answer{opacity:0;filter:blur(5px);scrollbar-width:none;max-height:0;transition:transform .3 ease;margin-top:-20px;overflow:hidden scroll}.question.expanded .answer{opacity:.65;filter:blur();max-height:100px;margin-top:0}.question.expanded .chevron{transform:rotate(0)}.answer{flex-direction:column;align-items:center;gap:10px;width:100%;transition:all .3s;display:flex}.q-and-a-divider{background-color:var(--color-stroke);width:100%;height:2px}.scanner-maintenance-page{background:var(--color-background);min-height:100vh;color:var(--color-on-background);justify-content:center;align-items:center;padding:32px;display:flex}.scanner-maintenance-panel{border:2px solid var(--color-stroke);background:var(--color-surface);border-radius:18px;grid-template-columns:minmax(220px,.7fr) minmax(260px,1fr);align-items:center;gap:36px;width:min(860px,100%);min-height:420px;padding:42px;display:grid}.scanner-maintenance-image{object-fit:contain;width:100%;max-height:300px}.scanner-maintenance-copy{flex-direction:column;gap:14px;display:flex}.scanner-maintenance-copy p{color:var(--color-primary);text-transform:uppercase;margin:0;font-size:1rem;font-weight:800}.scanner-maintenance-copy h1{color:var(--color-on-background);margin:0;font-size:2.5rem;line-height:1.08}.scanner-maintenance-copy span{color:var(--color-kd-on-surface);font-size:1.25rem;line-height:1.5}@media (width<=760px){.scanner-maintenance-page{padding:18px}.scanner-maintenance-panel{grid-template-columns:1fr;min-height:auto;padding:28px}.scanner-maintenance-image{max-height:180px}.scanner-maintenance-copy h1{font-size:1.85rem}.scanner-maintenance-copy span{font-size:1rem}}.terminal-problem-container{--terminal-problem-accent:var(--color-warning);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;max-width:650px;display:flex}.terminal-problem-icon{background:color-mix(in srgb, var(--terminal-problem-accent) 15%, transparent);width:180px;height:180px;color:var(--terminal-problem-accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:50px;font-size:110px;font-weight:900;line-height:1;display:flex}.terminal-problem-title{margin:0;font-size:38px;font-weight:800;line-height:1.1}.terminal-problem-message{opacity:.65;max-width:500px;margin:5px 0 0;font-size:20px;font-weight:200;line-height:1.5}.terminal-problem-help{background:color-mix(in srgb, var(--color-primary) 18%, transparent);color:var(--color-primary);border-radius:24px;margin-top:32px;padding:18px 28px;font-size:22px;font-weight:700}.action-countdown{width:100%;margin-top:28px}.action-countdown-bar{background:color-mix(in srgb, var(--action-countdown-accent) 18%, transparent);border-radius:999px;width:100%;height:10px;overflow:hidden}.action-countdown-progress{border-radius:inherit;background:var(--action-countdown-accent);transform-origin:0;width:100%;height:100%;animation:action-countdown-shrink var(--action-countdown-duration) linear forwards}.action-countdown-text{color:var(--action-countdown-accent);opacity:.9;margin:12px 0 0;font-size:18px;font-weight:600;line-height:1.3}@keyframes action-countdown-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.scanner-setup-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;max-width:650px;display:flex}.scanner-setup-icon{background:color-mix(in srgb, var(--color-warning) 15%, transparent);width:180px;height:180px;color:var(--color-warning);border-radius:50%;justify-content:center;align-items:center;margin-bottom:50px;font-size:110px;font-weight:900;line-height:1;display:flex}.scanner-setup-title{margin:0;font-size:38px;font-weight:800;line-height:1.1}.scanner-setup-message{opacity:.65;max-width:500px;margin:5px 0 0;font-size:20px;font-weight:200;line-height:1.5}.scanner-setup-help{background:color-mix(in srgb, var(--color-primary) 18%, transparent);color:var(--color-primary);border-radius:24px;margin-top:32px;padding:18px 28px;font-size:22px;font-weight:700}.session-registration-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;max-width:650px;display:flex}.session-registration-icon{background:color-mix(in srgb, var(--color-warning) 15%, transparent);width:180px;height:180px;color:var(--color-warning);border-radius:50%;justify-content:center;align-items:center;margin-bottom:50px;font-size:110px;font-weight:900;line-height:1;display:flex}.session-registration-title{margin:0;font-size:38px;font-weight:800;line-height:1.1}.session-registration-message{opacity:.65;max-width:500px;margin:5px 0 0;font-size:20px;font-weight:200;line-height:1.5}.session-registration-help{background:color-mix(in srgb, var(--color-primary) 18%, transparent);color:var(--color-primary);border-radius:24px;padding:18px 28px;font-size:22px;font-weight:700}.member-checkin-layout{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:1100px;display:flex}.member-checkin-container{grid-template-columns:minmax(280px,.85fr) minmax(420px,1.4fr);align-items:stretch;gap:28px;width:100%;max-width:1100px;display:grid}.checkin-welcome-section,.checkin-card{background:var(--color-surface);border:2px solid var(--color-stroke);border-radius:34px}.checkin-welcome-section{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;min-height:560px;padding:52px 34px;display:flex}.checkin-member-footer{flex-direction:column;gap:16px;width:100%;margin-top:auto;display:flex}.checkin-member-info{background:color-mix(in srgb, var(--color-onSurface) 5%, transparent);border-radius:20px;padding:18px}.checkin-member-info-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.checkin-member-info-row+.checkin-member-info-row{margin-top:10px}.checkin-member-info-row span{opacity:.6}.checkin-member-info-row strong{font-weight:700}.checkin-logout-button{background:color-mix(in srgb, var(--color-error) 12%, transparent);width:100%;color:var(--color-error);cursor:pointer;border:none;border-radius:20px;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.checkin-logout-button:hover{background:color-mix(in srgb, var(--color-error) 18%, transparent)}.checkin-profile-image-wrapper{margin-top:18px;margin-bottom:42px}.checkin-profile-image,.checkin-profile-placeholder{object-fit:cover;border-radius:50%;width:170px;height:170px;box-shadow:0 18px 45px #00000038}.checkin-profile-placeholder{background:color-mix(in srgb, var(--color-primary) 18%, transparent);color:var(--color-primary);justify-content:center;align-items:center;font-size:76px;font-weight:900;display:flex}.checkin-welcome-kicker,.checkin-section-label{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:15px;font-weight:800}.checkin-welcome-title{margin:8px 0 0;font-size:42px;font-weight:850;line-height:1.05}.checkin-welcome-message{opacity:.65;margin:12px 0 0;font-size:21px;font-weight:300}.member-checkin-content{grid-template-rows:1.15fr .85fr;gap:28px;display:grid}.checkin-card{padding:30px}.checkin-next-booking-section{flex-direction:column;gap:24px;display:flex}.checkin-section-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.checkin-booking-title,.checkin-empty-title{margin:8px 0 0;font-size:34px;font-weight:850;line-height:1.1}.checkin-time-pill{background:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:13px 18px;font-size:18px;font-weight:800;display:flex}.checkin-booking-details{justify-content:space-between;align-items:center;gap:18px;display:flex}.checkin-booking-details.large{background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-radius:26px;padding:24px}.checkin-booking-name{margin:0;font-size:22px;font-weight:800}.checkin-booking-details.large .checkin-booking-name{font-size:28px}.checkin-booking-meta{opacity:.65;margin:6px 0 0;font-size:17px;font-weight:300}.checkin-status-badge{background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary);white-space:nowrap;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:800}.checkin-status-badge.attended{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.checkin-status-badge.cancelled{background:color-mix(in srgb, var(--color-error) 16%, transparent);color:var(--color-error)}.checkin-primary-button{background:var(--color-primary);width:100%;color:var(--color-onPrimary);cursor:pointer;box-shadow:0 18px 40px color-mix(in srgb, var(--color-primary) 34%, transparent);border:none;border-radius:26px;justify-content:center;align-items:center;gap:12px;padding:22px 28px;font-size:24px;font-weight:850;display:flex}.checkin-primary-button:active{transform:scale(.985)}.checkin-success-box{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success);border-radius:26px;justify-content:center;align-items:center;gap:12px;padding:20px 24px;font-size:22px;font-weight:800;display:flex}.checkin-bookings-list-section{overflow:hidden}.checkin-bookings-list{flex-direction:column;gap:12px;max-height:260px;margin:20px 0;display:flex;overflow-y:auto}.checkin-booking-row{background:var(--color-background);border:2px solid var(--color-stroke);border-radius:22px;padding:18px 20px}.checkin-no-more-bookings{opacity:.55;margin:18px 0 0;font-size:15px;font-weight:300}.checkin-empty-message{opacity:.65;margin:10px 0 0;font-size:19px;line-height:1.5}.member-admin-section-button{background:color-mix(in srgb, var(--color-primary) 18%, transparent);color:var(--color-primary);border:none;border-radius:24px;margin-top:18px;padding:16px 28px;font-size:18px;font-weight:700}@media (width<=900px){.member-checkin-container{grid-template-columns:1fr}.checkin-welcome-section{min-height:unset}}.admin-dashboard-container{flex-direction:column;gap:28px;width:100%;max-width:900px;display:flex}.admin-dashboard-header,.admin-action-card{color:var(--color-on-surface);background:color-mix(in srgb, var(--color-surface) 92%, transparent);border:2px solid color-mix(in srgb, var(--color-primary) 14%, transparent);border-radius:34px;box-shadow:0 24px 70px #00000029}.admin-dashboard-header{border-color:var(--color-stroke);justify-content:space-between;align-items:center;gap:28px;padding:36px;display:flex}.admin-dashboard-kicker{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:15px;font-weight:800}.admin-dashboard-title{margin:8px 0 0;font-size:42px;font-weight:850;line-height:1.05}.admin-dashboard-message{opacity:.65;max-width:520px;margin:12px 0 0;font-size:20px;font-weight:300;line-height:1.5}.admin-dashboard-logout{background:var(--color-background);border:2px solid var(--color-stroke);color:var(--color-on-background);border-radius:999px;align-items:center;gap:8px;padding:16px 22px;font-size:18px;font-weight:850;display:flex}.admin-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.admin-action-card{text-align:left;cursor:pointer;align-items:flex-start;gap:22px;min-height:190px;padding:28px;transition:all .2s;display:flex}.admin-action-card:hover{transform:translateY(-2px)}.admin-action-card:active{transform:scale(.985)}.admin-action-icon{border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:34px;display:flex}.admin-action-card.normal .admin-action-icon{background:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-primary)}.admin-action-card.destructive{border-color:color-mix(in srgb, var(--color-error) 22%, transparent)}.admin-action-card.destructive .admin-action-icon{background:color-mix(in srgb, var(--color-error) 14%, transparent);color:var(--color-error)}.admin-action-content h2{margin:0;font-size:24px;font-weight:850;line-height:1.15}.admin-action-content p{opacity:.65;margin:10px 0 0;font-size:16px;font-weight:300;line-height:1.45}.admin-action-card.destructive .admin-action-content h2{color:var(--color-error)}@media (width<=800px){.admin-dashboard-header{flex-direction:column;align-items:flex-start}.admin-actions-grid{grid-template-columns:1fr}}.page{box-sizing:border-box;width:100%;min-height:100vh;color:var(--color-on-background);background-color:var(--color-background);flex-direction:column;align-items:center;padding:32px;display:flex}.page-centered{justify-content:center}.page-title{color:var(--color-on-background);text-align:center;margin:0;font-size:32px;font-weight:800}.page-subtitle{color:var(--color-on-background);opacity:.65;text-align:center;margin:10px 0 0;font-size:17px;font-weight:400}.page-section{flex-direction:column;align-items:center;gap:15px;display:flex}.primary-button{background-color:var(--color-primary);color:var(--color-on-primary);border:2px solid var(--color-primary);cursor:pointer;border-radius:20px;flex-direction:row;justify-content:center;align-items:center;gap:5px;padding:10px 20px;font-size:17px;transition:transform .3s;display:flex}.secondary-button{background-color:var(--color-surface);color:var(--color-on-surface);border:2px solid var(--color-stroke);cursor:pointer;border-radius:20px;flex-direction:row;justify-content:center;align-items:center;gap:5px;padding:10px 20px;font-size:17px;transition:transform .3s;display:flex}.primary-button:hover,.secondary-button:hover{transform:scale(1.04)}.primary-button:active,.secondary-button:active{transform:scale(.96)}
