:root{--brand-bg:#000000;--brand-surface:#161616;--brand-text:#f2ede4;--brand-text-muted:#a49c8d;--brand-accent:#b8842f;--brand-accent-dark:#8f6423;--brand-accent-text:#d9a54c;--brand-input-border:#8a8375;--brand-link:#d9a54c;--brand-border:#2f2c26;--brand-danger:#b3402f;--brand-danger-text:#e0604a;--brand-success-text:#4caf58;--brand-free-ticket-bg:#2e7d32;--brand-nav-height:64px;--brand-header-height:68px;--brand-banner-height:0px;--brand-safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--brand-safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--brand-focus-ring:#f2ede4;--brand-font-body:Arial,Helvetica,sans-serif;--brand-font-heading:var(--brand-font-body);--brand-heading-weight:700;--brand-button-radius:10px;--brand-card-radius:16px;--brand-button-padding-y:14px;--brand-button-padding-x:18px;--brand-button-font-size:16px;--brand-neon-duration:480ms;--brand-neon-duration-nav:640ms}*{box-sizing:border-box}html{background:var(--brand-bg)}body,html{margin:0;padding:0;color:var(--brand-text);font-family:var(--brand-font-body);-webkit-font-smoothing:antialiased}a{color:var(--brand-link)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input.sr-only:focus-visible+label,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-focus-ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-48px;background:var(--brand-surface);color:var(--brand-text);padding:10px 16px;border-radius:8px;border:1px solid var(--brand-border);z-index:1000;transition:top .15s ease-in-out}.skip-link:focus{top:12px}h1,h2,h3,h4,h5,h6{margin:0 0 8px;font-family:var(--brand-font-heading);font-weight:var(--brand-heading-weight,700)}.brand-wordmark{display:flex;justify-content:center;margin-bottom:20px}.brand-wordmark img{width:220px;max-width:100%;height:auto}.card--compact{padding:14px 16px}.member-compact-row{display:flex;align-items:center;gap:14px}.qr-wrap.qr-wrap--compact{padding:0;flex-shrink:0;flex-direction:column;align-items:center;gap:6px}.member-compact-row>:last-child{flex:1 1 auto;min-width:0}.member-compact-row .member-meta-line,.member-compact-row .member-name,.member-compact-row .member-number{overflow-wrap:anywhere}.qr-wrap.qr-wrap--compact img{width:clamp(56px,22vh,140px);height:clamp(56px,22vh,140px);border-radius:8px}.qr-wrap.qr-wrap--compact img.qr-dimmed{filter:brightness(.45)}.card-compact-upgrade-link{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:999px;background:var(--brand-accent-dark);color:#fff;font-size:11px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.03em}.qr-dim-toggle{display:block;width:100%;margin-top:12px;padding:8px 12px;font-size:12.5px}body:before{content:"";position:fixed;top:0;left:0;right:0;height:var(--brand-safe-top);background:var(--brand-bg);z-index:999;pointer-events:none}.brand-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;padding-top:calc(12px + var(--brand-safe-top))}.brand-header img{height:44px;width:auto}.brand-header img.brand-logo{animation:brand-glow 2s ease-in-out 2 alternate}@keyframes brand-glow{0%{filter:drop-shadow(0 0 1px rgba(217,165,76,.35))}to{filter:drop-shadow(0 0 5px rgba(217,165,76,.7)) drop-shadow(0 0 12px rgba(217,165,76,.3))}}@media (prefers-reduced-motion:reduce){.brand-header img.brand-logo{animation:none;filter:drop-shadow(0 0 4px rgba(217,165,76,.5))}}.back-button{font-size:16px;font-weight:600;padding:10px 22px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text)}.page{max-width:480px;margin:0 auto;padding:24px 20px calc(var(--brand-nav-height) + var(--brand-safe-bottom) + 32px);min-height:calc(100vh - var(--brand-header-height) - var(--brand-safe-top));min-height:calc(100dvh - var(--brand-header-height) - var(--brand-safe-top));box-sizing:border-box}.page--admin{max-width:1100px;margin-left:auto;margin-right:auto;padding-bottom:calc(32px + var(--brand-safe-bottom))}.page--admin>*{max-width:100%}.page--admin.page--wide{max-width:1400px}.admin-nav{margin-bottom:20px}.admin-nav .admin-nav__toggle{font-size:15px;font-weight:600;padding:8px 16px;gap:10px}.admin-nav__icon{font-size:18px;line-height:1;width:18px;text-align:center}.admin-nav__current{font-weight:400}.admin-nav__panel{margin-top:10px;padding:14px;border:1px solid var(--brand-border);border-radius:16px;background:var(--brand-surface);display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px 18px;gap:14px 18px}.admin-nav__panel[hidden]{display:none}.admin-nav__group-title{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-text-muted);margin:0 0 6px 4px}.admin-nav__group ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.admin-nav__group a,.admin-nav__group button{width:100%;justify-content:flex-start}.admin-nav a,.admin-nav button{font-size:13px;padding:6px 12px;min-height:44px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--brand-border);color:var(--brand-text);text-decoration:none;background:var(--brand-surface);font-weight:400}.admin-nav a.active,.admin-nav button.active{background:var(--brand-accent-dark);border-color:var(--brand-accent-dark);color:#fff}.admin-nav button{cursor:pointer}.admin-tabs{max-width:1100px;margin:12px auto 0;padding:0 20px}.admin-tabs ul{list-style:none;margin:0;padding:0 0 10px;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--brand-border)}.admin-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text);font-size:14px;text-decoration:none}.admin-tabs a.active{background:var(--brand-accent-dark);border-color:var(--brand-accent-dark);color:#fff;font-weight:600}.admin-nav__badge{margin-left:6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#c62828;color:#fff;font-size:12px;font-weight:700;line-height:20px;text-align:center}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table td,.admin-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--brand-border)}.admin-table th{color:var(--brand-text-muted);font-weight:600;font-size:12px;text-transform:uppercase}.admin-table-wrap{overflow-x:auto;position:relative}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px}.kpi-card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:12px;padding:14px}.kpi-card .kpi-value{font-size:22px;font-weight:700}.kpi-card .kpi-label{font-size:12px;color:var(--brand-text-muted)}.page--auth{padding-bottom:calc(32px + var(--brand-safe-bottom));display:flex;flex-direction:column;justify-content:center}.page--no-header{padding-top:calc(24px + var(--brand-safe-top));min-height:100vh;min-height:100dvh}.page--card{max-width:480px;margin:0 auto;box-sizing:border-box;height:calc(100vh - var(--brand-header-height) - var(--brand-banner-height) - var(--brand-safe-top));height:calc(100dvh - var(--brand-header-height) - var(--brand-banner-height) - var(--brand-safe-top));padding:clamp(8px,2.5vh,24px) 20px calc(var(--brand-nav-height) + var(--brand-safe-bottom) + clamp(6px, 2vh, 16px));display:flex;flex-direction:column;gap:clamp(6px,2vh,16px);overflow-y:auto}.page--card h1{flex-shrink:0;font-size:clamp(18px,5vh,28px);margin:0 0 clamp(2px,1.5vh,8px)}.page--card h2{font-size:clamp(16px,4vh,20px);margin:0 0 clamp(4px,1.5vh,8px)}.page--card .card{margin-bottom:0;padding:clamp(10px,2.5vh,20px);flex-shrink:0}.page--card .button{padding:clamp(8px,2vh,14px) 18px;font-size:clamp(14px,3.5vh,16px)}.page--card .card--rewards{flex:0 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.page--card .signpost-hint{margin:0 0 clamp(4px,1.5vh,12px)}.page--card .page--card__membership-link{flex-shrink:0;display:block;text-align:center;font-size:13px;font-weight:600;color:var(--brand-link);text-decoration:underline;padding:2px 0}@media (max-height:700px){.page--card .card--wallet,.page--card .page--card__membership-link{display:none}}@media (max-height:460px){.page--card .signpost-hint{display:none}}@media (max-height:740px){.page--card .qr-wrap.qr-wrap--compact img{width:clamp(48px,20vh,120px);height:clamp(48px,20vh,120px)}.page--card .member-meta-line{display:none}.page--card h1{font-size:16px;margin-bottom:2px}.page--card .qr-dim-toggle{display:none}}@media (max-height:340px){.page--card{gap:4px}.page--card h1{font-size:13px;margin-bottom:0}.page--card h2{font-size:13px;margin-bottom:2px}.page--card .card{padding:6px 10px}.page--card .qr-wrap.qr-wrap--compact img{width:40px;height:40px}}.card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--brand-card-radius);padding:20px;margin-bottom:16px}body.card-shadow-on .card{box-shadow:0 6px 18px rgba(0,0,0,.45)}.my-tickets-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;background:var(--brand-accent-dark);border-radius:999px;padding:12px 18px;margin-bottom:12px;list-style:none}.my-tickets-toggle::-webkit-details-marker{display:none}.my-tickets-toggle h2{display:inline;font-size:16px;margin:0;color:white}.my-tickets-toggle:after{content:"▸";color:white;font-size:14px;transition:transform .2s;flex-shrink:0}details[open]>.my-tickets-toggle:after{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.my-tickets-toggle:after{transition:none}}.card--disabled{border-style:dashed;border-color:var(--brand-border);background:var(--brand-bg)}.card--empty{color:var(--brand-text-muted);text-align:center;font-size:14px}.stat-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.stat-row .label{color:var(--brand-text-muted);font-size:14px}.stat-row .value{font-weight:600;font-size:18px}.badge{display:inline-block;background:var(--brand-accent-dark);color:white;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}form{gap:12px}form,label{display:flex;flex-direction:column}label{font-size:14px;color:var(--brand-text-muted);gap:4px}input:not([type]),input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{font-size:16px;padding:12px 14px;border-radius:10px;border:1px solid var(--brand-input-border);background:var(--brand-surface);color:var(--brand-text);font-family:inherit}input::placeholder,textarea::placeholder{color:var(--brand-text-muted);opacity:1}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{opacity:1;width:22px;height:22px;cursor:pointer}.field{display:flex;flex-direction:column;gap:4px}.checkbox-row{flex-direction:row;align-items:flex-start;gap:8px}.password-field{position:relative;display:flex}.password-field input{flex:1 1;padding-right:68px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;padding:8px 10px;font-size:13px;font-weight:600;color:var(--brand-link);cursor:pointer}.field-group{border:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:12px}.field-group legend{padding:0;margin:0 0 4px;font-weight:600;font-size:14px}.checkbox-row input{margin-top:0}input[type=checkbox],input[type=radio]{width:24px;height:24px;min-width:24px;flex:0 0 auto;accent-color:var(--brand-accent)}.button,button{font-size:var(--brand-button-font-size);font-weight:600;padding:var(--brand-button-padding-y) var(--brand-button-padding-x);border-radius:var(--brand-button-radius);border:none;background:var(--brand-accent-dark);color:white;cursor:pointer;text-align:center;text-decoration:none;display:inline-block}body.btn-style-outline .button:not(.secondary):not(.danger):not(.free-ticket),body.btn-style-outline button:not(.secondary):not(.danger):not(.free-ticket){background:transparent;color:var(--brand-accent);border:2px solid var(--brand-accent)}body.btn-style-pill .button,body.btn-style-pill button{border-radius:999px}button:disabled{opacity:.6}@keyframes neon-flash{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5),0 0 0 0 var(--brand-accent)}35%{box-shadow:0 0 8px 2px rgba(255,255,255,.55),0 0 22px 6px var(--brand-accent)}to{box-shadow:0 0 0 0 rgba(255,255,255,0),0 0 0 0 rgba(0,0,0,0)}}.neon-flash{animation:neon-flash var(--brand-neon-duration) ease-out}@keyframes neon-flash-rainbow{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5),0 0 0 0 #75fbf6}25%{box-shadow:0 0 8px 2px rgba(255,255,255,.5),0 0 20px 5px #75fbf6}50%{box-shadow:0 0 8px 2px rgba(255,255,255,.5),0 0 20px 5px #e952dd}75%{box-shadow:0 0 8px 2px rgba(255,255,255,.5),0 0 20px 5px #fef760}to{box-shadow:0 0 0 0 rgba(255,255,255,0),0 0 0 0 #75fb68}}.neon-flash-nav{animation:neon-flash-rainbow var(--brand-neon-duration-nav) ease-out;border-radius:10px}@media (prefers-reduced-motion:reduce){.neon-flash,.neon-flash-nav{animation:none}}.button.secondary,button.secondary{background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-border)}.button.free-ticket,button.free-ticket{background:var(--brand-free-ticket-bg);color:white}button.danger{background:var(--brand-danger)}.error-text{color:var(--brand-danger-text);font-size:14px}.sq-card-message,.sq-card-message-error{color:var(--brand-danger-text)!important}.auth-switch{text-align:center;margin-top:16px;font-size:14px;color:var(--brand-text-muted)}.qr-wrap{display:flex;justify-content:center;padding:16px 0}.qr-wrap img{width:220px;height:220px;border-radius:12px;border:1px solid var(--brand-border)}.member-number{text-align:center;font-size:22px;font-weight:700;letter-spacing:.04em}.member-name{text-align:center;color:var(--brand-text-muted);font-size:14px;margin-bottom:4px}.ledger-list{list-style:none;margin:0;padding:0}.ledger-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--brand-border);font-size:14px}.ledger-list li:last-child{border-bottom:none}.ledger-points.positive{color:var(--brand-success-text);font-weight:600}.ledger-points.negative{color:var(--brand-danger-text);font-weight:600}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--brand-nav-height) + var(--brand-safe-bottom));padding-bottom:var(--brand-safe-bottom);background:var(--brand-surface);border-top:1px solid var(--brand-border);display:flex;max-width:480px;margin:0 auto}.bottom-nav a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--brand-text-muted);text-decoration:none}.bottom-nav a.active{color:var(--brand-accent-text);font-weight:600}.bottom-nav .icon{font-size:20px}.tier-PLUS{--brand-accent:#7a6bb0;--brand-accent-dark:#5c4f8f;--brand-accent-text:#a99be0}.tier-PREMIUM{--brand-accent:#cbb26a;--brand-accent-dark:#8a6d1f;--brand-accent-text:#cbb26a}.pull-refresh-bar{position:fixed;top:var(--brand-safe-top);left:0;right:0;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:500;pointer-events:none;transition:height .2s ease}.pull-refresh-icon{width:26px;height:26px;border-radius:50%;border:3px solid var(--brand-border);border-top-color:var(--brand-accent);transform:rotate(0deg);transition:transform .15s ease,border-top-color .15s ease}.pull-refresh-icon.ready{transform:rotate(180deg);border-top-color:var(--brand-accent-dark)}.pull-refresh-icon.spinning{animation:pull-refresh-spin .6s linear infinite}@keyframes pull-refresh-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.pull-refresh-icon.spinning{animation:none}}.announcement-banner{background:var(--brand-accent-dark);color:white;font-size:13px;font-weight:600;text-align:center;padding:10px 16px;line-height:1.4}.seasonal-overlay{--seasonal-band:calc(132px + var(--brand-safe-top));position:absolute;top:0;left:0;right:0;height:var(--seasonal-band);overflow:hidden;pointer-events:none;z-index:-1;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}.seasonal-particle{position:absolute;display:inline-block;animation-fill-mode:both;top:-48px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.seasonal-particle--fall{animation-name:seasonal-fall,seasonal-sway-x;animation-timing-function:linear,ease-in-out;animation-iteration-count:1,3;animation-direction:normal,alternate}.seasonal-particle--rise{top:auto;bottom:-48px;animation-name:seasonal-rise;animation-timing-function:linear;animation-iteration-count:1}.seasonal-particle--drift{animation-name:seasonal-drift-x,seasonal-sway-y;animation-timing-function:linear,ease-in-out;animation-iteration-count:1,4;animation-direction:normal,alternate}.seasonal-particle--pop{animation-name:seasonal-pop;animation-timing-function:ease-in-out;animation-iteration-count:1}@keyframes seasonal-fall{0%{transform:translateY(0) rotate(0deg)}to{transform:translateY(calc(var(--seasonal-band) + 32px)) rotate(200deg)}}@keyframes seasonal-rise{0%{transform:translateY(0);opacity:0}20%{opacity:.8}to{transform:translateY(calc(-1 * var(--seasonal-band) - 32px));opacity:0}}@keyframes seasonal-drift-x{0%{transform:translateX(-10vw)}to{transform:translateX(110vw)}}@keyframes seasonal-sway-x{0%{margin-left:-8px}to{margin-left:8px}}@keyframes seasonal-sway-y{0%{margin-top:-6px}to{margin-top:6px}}@keyframes seasonal-pop{0%,to{transform:scale(0);opacity:0}40%{transform:scale(1);opacity:.8}70%{transform:scale(1);opacity:.8}}.seasonal-glyph{display:inline-block;animation:seasonal-focus 2.6s ease-out both;text-shadow:0 0 6px var(--seasonal-glow,transparent),0 0 14px var(--seasonal-glow,transparent)}@keyframes seasonal-focus{0%{opacity:0;transform:scale(1.25);text-shadow:0 0 22px var(--seasonal-glow,transparent),0 0 40px var(--seasonal-glow,transparent)}to{opacity:1;transform:scale(1);text-shadow:0 0 6px var(--seasonal-glow,transparent),0 0 14px var(--seasonal-glow,transparent)}}.seasonal-sleigh{position:absolute;top:calc(18px + var(--brand-safe-top));left:0;display:inline-flex;align-items:flex-end;gap:2px;font-size:30px;line-height:1;white-space:nowrap;text-shadow:0 0 8px rgba(255,220,140,.9),0 0 18px rgba(255,190,90,.6);animation:seasonal-sleigh-fly 16s linear 2s 1 both,seasonal-sway-y 1.6s ease-in-out 0s 10 alternate;will-change:transform}.seasonal-sleigh__trail{font-size:18px;margin-right:2px;opacity:.85}.seasonal-sleigh__ride{position:relative;display:inline-block}.seasonal-sleigh__santa{position:absolute;left:4px;bottom:12px;font-size:24px}.seasonal-sleigh__flip{display:inline-block;transform:scaleX(-1)}@keyframes seasonal-sleigh-fly{0%{transform:translateX(-40vw)}to{transform:translateX(110vw)}}@media (prefers-reduced-motion:reduce){.seasonal-overlay{display:none}}.membership-carousel{margin:8px 0 16px;container-type:inline-size}.membership-carousel__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 10% 12px;scrollbar-width:none}.membership-carousel__track::-webkit-scrollbar{display:none}.membership-carousel__track:focus-visible{outline:2px solid var(--brand-focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.membership-carousel__track{scroll-behavior:auto}}.membership-card{flex:0 0 100%;scroll-snap-align:center;border-radius:var(--brand-card-radius);min-width:0}@container (min-width: 640px){.membership-carousel__track{padding-left:20%;padding-right:20%}}@container (min-width: 1024px){.membership-carousel__track{padding-left:31%;padding-right:31%}}.membership-card__inner{padding:20px;border-radius:var(--brand-card-radius);height:100%;box-sizing:border-box}.membership-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.membership-card h2{margin:0}.membership-card__current-badge{font-size:11px}.membership-card__price{display:flex;align-items:baseline;gap:8px;margin:8px 0 2px;flex-wrap:wrap}.membership-card__price-reference{text-decoration:line-through;opacity:.7;font-size:15px}.membership-card__price-current{font-size:22px;font-weight:700}.membership-card__promo-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;opacity:.85}.membership-card__tagline{margin:4px 0 12px;font-size:14px}.membership-card__hero-benefits{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.membership-card__hero-benefit{font-weight:700;font-size:14px;letter-spacing:.02em}.membership-card__hero-benefit span{display:block;font-weight:400;font-size:12px;opacity:.8}.membership-card__bullets{list-style:none;padding:0;margin:0 0 12px;font-size:13px;line-height:1.7}.membership-card__hero-value{margin:4px 0 14px;padding:12px 14px;border-radius:10px;background:rgba(128,128,128,.14);border:1px solid}.membership-card__hero-value-label{display:block;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.85;margin-bottom:2px}.membership-card__hero-value-amount{display:flex;align-items:center;font-size:30px;font-weight:800;line-height:1.1}.membership-card__info-toggle{background:none;border:none;padding:6px 0;min-height:24px;margin:0;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;color:inherit;display:inline-flex;align-items:center;gap:5px;position:relative}.membership-card__info-toggle:after{content:"";position:absolute;inset:-12px}.membership-card__calc-note{font-size:12px;line-height:1.5;padding:10px;margin-bottom:12px;border-radius:8px;background:rgba(128,128,128,.12)}.membership-card__calc-note a{display:inline-block;margin-top:4px}.membership-card__benefits-panel{margin-bottom:14px;font-size:13px}.membership-card__benefits-panel summary{cursor:pointer;font-weight:600;padding:8px 0;min-height:24px}.membership-card__benefits-panel ul{padding-left:18px;line-height:1.8}.membership-card__upgrade-comparison{margin-top:12px;padding-top:12px;border-top:1px solid}.membership-card__upgrade-comparison h3{font-size:14px;margin:0 0 8px}.membership-card__cta .button,.membership-card__cta button[type=submit]{display:block;width:100%;text-align:center;min-height:44px}.membership-card--free .membership-card__inner{background:linear-gradient(155deg,#f4f4f2,#e2e2df);color:#1a1a1a;border:1px solid #cfcfcb}.membership-card--free .membership-card__cta .button{background:#1a1a1a;color:#f4f4f2}.membership-card--plus .membership-card__inner{background:linear-gradient(155deg,#2a2724,#171513);color:#f2ede4;border:1px solid #4a3d33}.membership-card--plus .membership-card__hero-benefit,.membership-card--plus .membership-card__hero-value-amount,.membership-card--plus .membership-card__price-current,.membership-card--plus h2{color:#c9793f}.membership-card--plus .membership-card__hero-value{border-color:#4a3d33;background:rgba(201,121,63,.12)}.membership-card--plus .membership-card__cta .button{background:#c9793f;color:#171513}.membership-card--premium .membership-card__inner{background:linear-gradient(155deg,#0a0a0a,#000000);color:#f2ede4;border:1px solid #7a5a1e;position:relative;overflow:hidden}.membership-card--premium .membership-card__hero-benefit,.membership-card--premium .membership-card__hero-value-amount,.membership-card--premium .membership-card__price-current,.membership-card--premium h2{color:#e0b04c}.membership-card--premium .membership-card__hero-value{border-color:#7a5a1e;background:rgba(224,176,76,.1)}.membership-card--premium .membership-card__cta .button{background:linear-gradient(120deg,#e0b04c,#b8842f);color:#0a0a0a;font-weight:700}.membership-card--premium .membership-card__inner:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(224,176,76,.12) 50%,transparent 80%);background-size:200% 200%;animation:premium-gold-shimmer 7s ease-in-out 1;pointer-events:none}@media (prefers-reduced-motion:reduce){.membership-card--premium .membership-card__inner:before{animation:none}}@keyframes premium-gold-shimmer{0%{background-position:200% 0}to{background-position:-50% 0}}.membership-carousel__controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:4px}.membership-carousel__nav-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.membership-carousel__nav-btn:disabled{opacity:.35;cursor:default}.membership-carousel__dots{display:flex;gap:8px}.membership-carousel__dots button{box-sizing:content-box;width:10px;height:10px;min-width:10px;padding:0;margin:0;border-radius:50%;border:7px solid transparent;background:var(--brand-border);background-clip:content-box;cursor:pointer}.membership-carousel__dots button.active{background:var(--brand-accent);width:22px;border-radius:5px}.membership-banner{border-radius:var(--brand-card-radius);padding:16px 20px;margin-bottom:16px;display:block;text-decoration:none;color:inherit}.membership-banner--acquisition{background:linear-gradient(120deg,#171513,#000000 60%,#0a0a0a);border:1px solid #7a5a1e}.membership-banner h2{margin:0 0 4px;font-size:16px}.membership-banner p{margin:0 0 2px;font-size:13px;color:var(--brand-text-muted)}.membership-banner__cta{display:inline-block;margin-top:10px;font-weight:700;font-size:13px;color:var(--brand-link)}.membership-banner__hero-value{font-size:20px!important;font-weight:800!important;color:var(--brand-link)!important;margin:4px 0 8px!important}.print-only{display:none}@media print{.admin-nav,.brand-header,.no-print{display:none!important}.print-only{display:block!important}body{background:#fff!important;color:#000!important}body:before{display:none!important}.print-list{width:100%;border-collapse:collapse;font-size:11pt}.print-list td,.print-list th{border-bottom:1px solid #999;padding:4px 6px;text-align:left;vertical-align:top}}.apple-wallet-button{width:100%;background:#000;color:#fff;border:1px solid #a6a6a6;border-radius:10px;font-weight:600}.apple-wallet-button:hover:not(:disabled){background:#1a1a1a}.beta-page{max-width:560px;margin:0 auto;padding:calc(28px + var(--brand-safe-top)) 16px calc(40px + var(--brand-safe-bottom));box-sizing:border-box}.beta-hero{text-align:center;padding:8px 0 12px;background:radial-gradient(ellipse at top,rgba(184,132,47,.22),transparent 65%);border-radius:var(--brand-card-radius)}.beta-logo{height:64px;width:auto;margin:8px auto 12px;display:block}.beta-pill{display:inline-block;margin:0 0 12px;padding:4px 12px;border:1px solid var(--brand-accent);border-radius:999px;color:var(--brand-accent-text);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.beta-hero h1{font-size:clamp(30px,8vw,40px);line-height:1.1;margin:0 0 12px}.beta-lead{font-size:17px;line-height:1.5;color:var(--brand-text);margin:0 auto 16px;max-width:460px}.beta-count{font-size:15px;color:var(--brand-accent-text);font-weight:700;margin:0 0 12px}.beta-card{text-align:left;background:var(--brand-surface);border:1px solid var(--brand-accent-dark);border-radius:var(--brand-card-radius);padding:20px;margin:8px 0 0;display:flex;flex-direction:column;gap:12px;position:relative}.beta-card__title{margin:0;font-size:20px}.beta-device{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.beta-device legend{padding:0;margin-bottom:6px}.beta-device .checkbox-row{margin:0}.beta-card--done{text-align:center;align-items:center}.beta-card--done h2{margin:0}.beta-card--done h2:focus{outline:none}.beta-position{font-size:22px;margin:0;color:var(--brand-accent-text)}.beta-small{font-size:13px;color:var(--brand-text-muted);margin:0;text-align:center}.beta-section{margin-top:32px}.beta-section h2{font-size:22px;margin:0 0 12px}.beta-features{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.beta-feature{display:flex;gap:14px;align-items:flex-start;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:12px;padding:14px 16px;font-size:15px;line-height:1.45;color:var(--brand-text-muted)}.beta-feature strong{color:var(--brand-text);font-size:16px}.beta-feature__icon{font-size:26px;line-height:1}.beta-steps{list-style:none;padding:0;margin:0;display:grid;grid-gap:14px;gap:14px}.beta-steps li{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--brand-text-muted)}.beta-steps strong{color:var(--brand-text)}.beta-steps__num{flex:none;width:32px;height:32px;border-radius:50%;background:var(--brand-accent);color:#000;font-weight:700;display:flex;align-items:center;justify-content:center}.beta-note{font-size:14px;color:var(--brand-text-muted);margin:16px 0 0;line-height:1.5}.beta-faq{border-bottom:1px solid var(--brand-border);padding:12px 0}.beta-faq summary{cursor:pointer;font-weight:700;min-height:24px}.beta-faq p{margin:8px 0 0;line-height:1.5}.beta-faq p,.beta-footer{color:var(--brand-text-muted)}.beta-footer{text-align:center;font-size:12px;margin-top:32px}.bar-step{display:flex;gap:8px;margin:4px 0 6px;font-weight:700;color:var(--brand-text)}.bar-step,.bar-step__num{align-items:center;font-size:15px}.bar-step__num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--brand-accent);color:#000;display:inline-flex;justify-content:center}.bar-voucher{text-align:center;padding:12px;margin-bottom:10px}.bar-voucher__kind{margin:0;font-size:12px;color:var(--brand-text-muted);text-transform:uppercase;letter-spacing:.04em}.bar-voucher__name{margin:2px 0 8px;font-size:22px;font-weight:700}.bar-voucher__codes{display:inline-block;background:#fff;padding:8px;border-radius:12px}.bar-voucher__codes img{display:block;width:clamp(150px,26vh,220px);height:auto}.bar-voucher__codes img.bar-voucher__barcode{height:44px;margin-top:6px}.bar-voucher__meta{margin:8px 0 0;font-size:12px;color:var(--brand-text-muted)}.bar-voucher__staff{margin:4px 0 0;font-size:13px;font-weight:600}.bar-voucher__more{text-align:center;font-size:14px;margin:0 0 8px}.bar-scan{position:relative;margin-bottom:12px}.bar-scan__tabs{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto}.bar-scan__tab{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-size:14px;background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-border);min-height:44px}.bar-scan__tab--on{border-color:var(--brand-accent);box-shadow:inset 0 0 0 1px var(--brand-accent);font-weight:700}.bar-scan__panel{text-align:center;padding:14px;margin-bottom:8px}.bar-scan__eyebrow{margin:0;font-size:12px;color:var(--brand-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.bar-scan__title{margin:2px 0 10px;font-size:22px;font-weight:700}.bar-scan__code{display:inline-block;background:#fff;padding:10px;border-radius:14px}.bar-scan__code img{display:block;width:clamp(170px,34vh,260px);height:auto}.bar-scan__code img.bar-scan__barcode{height:48px;margin-top:8px}.bar-scan__code img.qr-dimmed{filter:brightness(.45)}.bar-scan__staff{margin:10px 0 0;font-weight:700;font-size:15px}.bar-scan__meta{margin:4px 0 0;font-size:12px;color:var(--brand-text-muted)}.bar-scan__actions{display:flex;flex-direction:column;gap:6px}.bar-scan__dim{font-size:13px;padding:8px 12px}.help-steps{margin:8px 0 0;padding-left:22px;line-height:1.55}.help-steps>li{margin-bottom:8px}.help-steps ul{margin:6px 0 0;padding-left:18px}.help-link{display:inline-block;font-size:14px;margin:-6px 0 12px}.impersonation-bar{position:-webkit-sticky;position:sticky;top:0;z-index:10003;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:calc(8px + env(safe-area-inset-top, 0px)) 12px 8px;background:#c0392b;color:#fff;font-size:14px;text-align:center}.impersonation-bar form{margin:0}.impersonation-bar button{background:#fff;color:#1c1a17;border:0;padding:6px 14px;border-radius:999px;font-weight:700;min-height:0;width:auto}.social-card h2{margin-bottom:4px}.social-card__intro{font-size:13px;color:var(--brand-text-muted);margin:0 0 12px}.social-card__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));grid-gap:6px;gap:6px}.social-card__link{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:var(--brand-text-muted);border-radius:12px;padding:2px 0}.social-card__icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.social-card__icon svg{width:22px;height:22px}.social-card__label{font-size:11px;line-height:1.15;text-align:center}.tour-layer{position:fixed;inset:0;z-index:10002}.tour-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72)}.tour-spotlight{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px rgba(0,0,0,.72),0 0 0 2px var(--brand-accent),0 0 18px 4px rgba(217,165,76,.55);pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.tour-bubble{position:fixed;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-accent-dark);border-radius:16px;padding:16px 18px 12px;box-shadow:0 10px 40px rgba(0,0,0,.6)}.tour-bubble h2{font-size:20px;margin:2px 0 8px}.tour-count{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--brand-accent-text);margin:0}.tour-body p{margin:0 0 8px;font-size:15px;line-height:1.45}.tour-tiers{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-gap:8px;gap:8px;font-size:14px}.tour-tiers span{display:block;color:var(--brand-text-muted);font-size:13px}.tour-actions{display:flex;gap:8px;margin-top:8px}.tour-actions button{flex:1 1}.tour-skip{display:block;margin:8px auto 0;background:none;border:none;color:var(--brand-text-muted);text-decoration:underline;font-size:13px;padding:6px 8px;min-height:0;cursor:pointer}.tour-toast{position:fixed;left:50%;bottom:calc(var(--brand-nav-height) + var(--brand-safe-bottom) + 16px);transform:translateX(-50%);z-index:10003;width:min(360px,calc(100vw - 32px));background:var(--brand-accent-dark);color:#fff;font-weight:700;text-align:center;padding:12px 16px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.5)}.tour-replay-wide{display:block;width:100%}@media (prefers-reduced-motion:reduce){.tour-spotlight{transition:none}}.platform-body{margin:0;background:#f8fafc;color:#0f172a;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.platform-page{max-width:40rem;margin:0 auto;padding:4rem 1rem}.platform-page h1{font-size:2rem;margin:0 0 1rem}.brand-wordmark{display:inline-block;font-weight:800;font-size:1.25rem;letter-spacing:.02em;color:var(--brand-text);line-height:1.2}.beta-logo.brand-wordmark,.login-hero .brand-wordmark{font-size:2rem}.embedded body{background:transparent}.embedded .announcement-banner,.embedded .bottom-nav,.embedded .brand-header,.embedded .impersonation-bar,.embedded .skip-link{display:none!important}.embedded .page{padding-top:8px;padding-bottom:8px}.seasonal-stop{position:absolute;top:calc(72px + var(--brand-safe-top));right:12px;z-index:5;margin:0;padding:6px 12px;min-height:32px;font-size:13px;width:auto}.embedded .seasonal-stop{display:none}@media (prefers-reduced-motion:reduce){.seasonal-stop{display:none}}label.button:focus-within{outline:3px solid var(--brand-focus-ring);outline-offset:2px}.card-photo{border-radius:50%;object-fit:cover;border:2px solid var(--brand-accent);flex:0 0 auto}.card-photo--add{display:inline-flex;text-align:center;font-size:11px;line-height:1.1;color:var(--brand-text-muted);border:2px dashed var(--brand-text-muted);background:transparent;text-decoration:none}.bar-scan__who,.card-photo--add{align-items:center;justify-content:center}.bar-scan__who{display:flex;gap:8px}.live-card-strip{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;margin:6px auto 0;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--brand-accent) 18%,var(--brand-surface));color:var(--brand-text)}.live-card-strip__dot{width:8px;height:8px;border-radius:50%;background:#1f9d55;animation:live-card-pulse 1.2s ease-in-out infinite}.live-card-strip__time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.live-card-strip__note{color:var(--brand-text-muted);font-weight:400}.live-card-strip:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-100%);animation:live-card-shimmer 2.4s linear infinite;pointer-events:none}@keyframes live-card-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@keyframes live-card-shimmer{to{transform:translateX(100%)}}.qr-wrap.qr-wrap--compact .live-card-strip{display:flex;width:-moz-fit-content;width:fit-content;margin:0;padding:3px 10px;font-size:12px;white-space:nowrap}.qr-wrap.qr-wrap--compact .live-card-strip__note{display:none}.screenshot-guard{display:contents}.screenshot-guard__notice{position:fixed;inset:0;z-index:10004;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;background:#000;color:#fff;text-align:center;font-size:16px}.screenshot-guard__title{font-size:20px;font-weight:700;margin:0}@media (prefers-reduced-motion:reduce){.live-card-strip__dot{animation:none}.live-card-strip:after{animation:none;display:none}}.stale-build-banner{position:fixed;left:0;right:0;bottom:0;z-index:10000;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding:12px max(16px,env(safe-area-inset-left,0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px,env(safe-area-inset-right,0px));background:#fff8e1;color:#1a1a1a;border-top:2px solid #7a5c00;font-size:15px}.stale-build-banner p{margin:0;max-width:60ch}.stale-build-banner button{min-height:44px;padding:8px 16px;background:#1a1a1a;color:#ffffff;border:0;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.stale-build-banner button:focus-visible,.stale-build-banner:focus-visible{outline:3px solid #1a5fb4;outline-offset:2px}.rezy-panel-toggle{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:9000;min-height:48px;padding:10px 20px;border-radius:999px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.35)}.rezy-panel{position:fixed;top:0;right:0;bottom:0;z-index:8999;width:min(440px,100vw);box-sizing:border-box;overflow-y:auto;padding:calc(16px + env(safe-area-inset-top, 0px)) max(16px,env(safe-area-inset-right,0px)) 96px 16px;background:var(--brand-bg);color:var(--brand-text);border-left:1px solid var(--brand-input-border);box-shadow:-8px 0 30px rgba(0,0,0,.35)}.rezy-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rezy-panel__head h2{margin:0;font-size:20px}.rezy-panel__intro{font-size:14px;color:var(--brand-text-muted)}@media (min-width:1100px){body.rezy-panel-open{padding-right:440px}}.rezy-pointing{outline:5px solid var(--brand-accent)!important;outline-offset:5px!important;border-radius:6px;box-shadow:0 0 0 14px color-mix(in srgb,var(--brand-accent) 30%,transparent)!important;position:relative;z-index:40;animation:rezy-pointing-pulse 1.4s ease-in-out infinite}@keyframes rezy-pointing-pulse{50%{outline-offset:11px;box-shadow:0 0 0 24px color-mix(in srgb,var(--brand-accent) 12%,transparent)}}.rezy-pointer-badge{position:fixed;top:0;left:0;z-index:1000;pointer-events:none;padding:8px 14px;border-radius:999px;background:var(--brand-text);color:var(--brand-bg);border:3px solid var(--brand-accent);font-weight:700;font-size:1rem;line-height:1.2;white-space:nowrap;box-shadow:0 6px 18px rgb(0 0 0/.3);animation:rezy-pointer-bob 1.4s ease-in-out infinite}.rezy-pointer-badge:after{content:"";position:absolute;left:var(--rezy-arrow-x,50%);top:100%;translate:-50% 0;border:8px solid transparent;border-top:8px solid var(--brand-text)}.rezy-pointer-badge--below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--brand-text)}@keyframes rezy-pointer-bob{50%{margin-top:-6px}}@media (prefers-reduced-motion:reduce){.rezy-pointer-badge,.rezy-pointing{animation:none}}.rezy-filled{outline:3px dashed var(--brand-accent)!important;outline-offset:3px!important}.appPrompt_prompt__Z4Ic1{position:fixed;left:12px;right:12px;bottom:calc(12px + var(--brand-safe-bottom));max-width:456px;margin:0 auto;z-index:40;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-accent);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.45)}.appPrompt_aboveNav__7kPNE{bottom:calc(var(--brand-nav-height) + 10px + var(--brand-safe-bottom))}.appPrompt_icon__sgQif{border-radius:9px;flex:none}.appPrompt_text__B9fG8{flex:1 1;min-width:0;display:flex;flex-direction:column;font-size:14px;line-height:1.3}.appPrompt_text__B9fG8 span{color:var(--brand-text-muted)}.appPrompt_prompt__Z4Ic1 .appPrompt_open__UdfBr{flex:none;padding:8px 16px;font-size:15px;width:auto;margin:0;min-height:32px}.appPrompt_prompt__Z4Ic1 .appPrompt_close__Fj2Aj{flex:none;width:36px;height:36px;padding:0;margin:0;background:transparent;color:var(--brand-text);border:none;font-size:24px;line-height:1}