:root{--product-canvas:#fcfbf8;--product-surface:#fffefa;--product-surface-strong:#ffffff;--product-border:#ddd8d0;--product-text:#161514;--product-muted:#6f6863;--product-red:#dc002a;--product-red-dark:#b70022;--product-radius:18px;--product-shadow:0 1px 2px rgb(36 25 18/4%),0 14px 36px rgb(36 25 18/5%)}.ops-page,.scanner-page,.wallet-page{color:var(--product-text);font-size:15px;line-height:1.5}.eyebrow,.panel-label,.store-page small,.wallet-page small{font-size:12px}.panel{border:1px solid var(--product-border);border-radius:var(--product-radius);background:var(--product-surface);box-shadow:var(--product-shadow);padding:clamp(20px,2.2vw,28px)}.button,.icon-button,.search-box input,.ui-select-trigger,.wallet-mobile-nav a{min-height:46px;font-size:14px}.button{border-radius:11px;font-weight:750}.button--red{background:var(--product-red)}.button--red:hover{background:var(--product-red-dark)}.ops-billing-row{min-height:58px;padding-block:12px}.ops-billing-row strong{font-size:14px}.ui-dialog-content{width:min(540px,calc(100vw - 32px));border-radius:18px;border:1px solid var(--product-border);background:var(--product-surface-strong);box-shadow:0 28px 90px rgb(20 13 10/22%)}.ui-dialog-heading [data-radix-dialog-title],.ui-dialog-heading h2{font-size:22px}.ui-dialog-field{display:grid;gap:8px;font-size:13px;font-weight:700}.ui-dialog-field input,.ui-dialog-field textarea{width:100%;padding:12px 13px;border:1px solid var(--product-border);border-radius:10px;font:inherit}.wallet-header__context{color:var(--product-muted);font-size:13px;font-weight:700}.wallet-page{background:var(--product-canvas)}.wallet-header{position:sticky;top:0;z-index:45;border-bottom-color:var(--product-border);background:rgb(255 254 250/94%);backdrop-filter:blur(16px)}.wallet-memberships,.wallet-privacy,.wallet-ready,.wallet-welcome{width:min(1180px,calc(100% - 40px))}.wallet-welcome{padding:clamp(50px,7vw,84px) 0 44px}.wallet-welcome h1{max-width:820px;font-size:clamp(42px,5vw,68px);line-height:.98}.wallet-welcome>div>p:last-child{max-width:620px;color:var(--product-muted);font-size:14px;line-height:1.6}.wallet-memberships>header h2,.wallet-ready h2{font-size:24px}.wallet-memberships>header span{font-size:12px}.wallet-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}.wallet-grid>.empty-state{width:100%;min-height:320px;grid-column:1/-1}.wallet-grid>.empty-state h2{margin:0;font-size:clamp(26px,3vw,38px);letter-spacing:-.04em}.wallet-grid>.empty-state p{margin:8px 0 0;font-size:14px}.wallet-loading-avatar{width:44px;height:44px;justify-self:end;border-radius:50%;background:#eee8e0;animation:product-pulse 1.35s ease-in-out infinite}.surface-loading-state{min-height:calc(100dvh - 76px);display:grid;place-items:center;align-content:center;gap:10px;padding:40px 20px;text-align:center}.surface-loading-state>svg{width:34px;height:34px;margin-bottom:10px;color:var(--product-red)}.surface-loading-state h1{margin:0;font-size:clamp(30px,4vw,46px);letter-spacing:-.045em}.surface-loading-state>p:last-child{max-width:460px;margin:0;color:var(--product-muted);font-size:14px}.wallet-privacy.panel{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center}.ops-sidebar nav a{display:flex;gap:10px;padding:10px 12px;border-radius:10px}.ops-sidebar nav a,.ops-sidebar>a{align-items:center;min-height:44px}.ops-sidebar>a{font-size:12px}.ops-mobile-nav{display:none}.ops-page small,.scanner-page small,.status-pill,.wallet-page small{font-size:12px}.membership-card small,.wallet-page .chart-summary span{font-size:12px!important}.status-pill{min-height:28px}.scanner-location{min-height:44px}.scanner-location strong{font-size:14px}.scanner-mode-tabs button{font-size:13px}.scanner-mode-tabs button:not(.active){color:#bdb6b1}.scanner-page{background:#11100f}.scanner-header{border-bottom-color:#34302d}.scanner-location small{color:#aaa39e;font-size:12px}.scanner-main{width:min(720px,100%);padding:clamp(22px,4vh,36px) 22px 48px}.scanner-action button{min-height:108px}.scanner-action strong{font-size:14px}.camera-busy span,.camera-placeholder p,.issue-panel>p,.manual-toggle,.scanner-action small,.scanner-footer{color:#b4ada8;font-size:12px}.camera-view{height:clamp(330px,52vh,470px);border-color:#45403c}.camera-placeholder h2{color:white;font-size:clamp(24px,4vw,32px)}.camera-placeholder button,.manual-entry button{min-height:44px;font-size:13px}.manual-toggle{min-height:44px}.surface-loading-state--dark{min-height:auto;color:white}.surface-loading-state--dark>p:last-child{color:#aaa39e}.scanner-loading-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--product-red);color:white}.scanner-page--loading .scanner-header{grid-template-columns:44px 1fr 44px;text-align:center}.scanner-page--loading .scanner-header strong{font-size:14px}.audit-log small,.audit-log strong,.audit-log>div>span:nth-child(3),.ops-alert button,.ops-alert p,.ops-alert strong,.ops-badge,.ops-environment,.ops-row-actions button,.ops-sidebar nav a,.ops-sidebar nav span,.ops-sidebar>a,.ops-stats small,.ops-table-head,.queue-labels{font-size:12px}.audit-log>div>span:nth-child(3){color:#625b56}.ops-main>header p,.ops-main>header p:last-child,.ops-table-row,.ops-table-row strong,.shopify-queue footer strong,.shopify-queue header strong{font-size:14px}.shopify-queue article{min-height:280px;display:flex;flex-direction:column}.shopify-queue{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}.ops-main>.ops-empty,.shopify-queue>.ops-empty{width:100%;min-height:320px;grid-column:1/-1}.ops-empty h2{margin:0;font-size:clamp(24px,3vw,34px);letter-spacing:-.035em}.ops-empty p{font-size:14px}.shopify-queue footer{margin-top:auto}.shopify-queue footer .button{min-height:46px;padding-inline:14px;font-size:12px}.ops-page .shopify-queue footer small,.ops-page .shopify-queue header small{font-size:12px}.ops-dialog-form,.ops-dialog-form label,.ops-manual-actions article,.ops-manual-actions article label{display:grid;gap:8px}.ops-dialog-form input,.ops-dialog-form textarea,.ops-manual-actions input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--product-border);border-radius:10px;background:#fff;color:var(--product-ink);font:inherit}.ops-dialog-form small{color:var(--product-muted)}.ops-manual-actions{padding:24px}.ops-manual-actions>header{margin-bottom:18px}.ops-manual-actions article p,.ops-manual-actions>header p:last-child{color:var(--product-muted)}.ops-manual-actions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ops-manual-actions article{align-content:start;padding:18px;border:1px solid var(--product-border);border-radius:14px;background:var(--product-surface)}.ops-manual-actions article h3,.ops-manual-actions article p{margin:0}.ops-manual-actions article .button{width:100%;margin-top:6px}.ops-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-block:4px 24px}.ops-pagination span{min-width:74px;text-align:center;color:var(--product-muted);font-size:13px;font-weight:700}.demo-product{min-height:100vh;background:var(--product-canvas)}.demo-product .demo-surface__bar{min-height:56px;position:relative;z-index:100;padding-block:8px;font-size:13px}.demo-product .demo-label{width:fit-content;padding:6px 9px;border-radius:8px;background:#fff0c7;color:#765000;font-size:11px;font-weight:800;letter-spacing:.08em}.demo-fixture-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding-block:38px 90px}.demo-product--wallet .demo-fixture-shell{width:100%;padding-top:0}.wallet-app{min-height:calc(100vh - 56px);background:#f6f3ed}.wallet-hero,.wallet-memberships,.wallet-section{width:min(1160px,calc(100% - 40px));margin-inline:auto}.wallet-hero{padding:58px 0 30px}.wallet-hero h1{margin:0;font-size:44px}.wallet-hero p:last-child{color:var(--product-muted)}.wallet-memberships{display:grid;grid-template-columns:minmax(280px,420px)}.wallet-memberships .membership-card{--card-accent:var(--store-accent);min-height:330px;display:flex;flex-direction:column;padding:24px;border-radius:24px;background:var(--store-accent);color:white}.wallet-memberships .membership-card header{display:flex;align-items:center;gap:12px}.wallet-memberships .membership-card header>div{flex:1}.wallet-memberships .membership-card h2{margin:2px 0}.membership-balance{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto}.membership-balance span{display:grid}.membership-balance strong{font-size:34px}.membership-balance em,.membership-balance small{color:#ffffffb8;font-size:12px;font-style:normal}.stamp-progress{display:flex;gap:6px;margin:18px 0}.stamp-progress i{display:grid;place-items:center;flex:1;aspect-ratio:1;max-width:34px;border:1px solid #ffffff80;border-radius:50%;font-size:10px;font-style:normal}.stamp-progress i.filled{background:white;color:var(--store-accent)}.wallet-section{padding-top:48px}.wallet-reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wallet-reward-grid article{min-height:190px}.wallet-reward-grid svg{color:var(--product-red)}.scanner-simulated-qr{display:grid;place-items:center;width:190px;height:190px;margin:70px auto 20px;border-radius:20px;background:white;color:#111}.demo-camera-view .scanner-simulated-qr{position:absolute;top:50%;left:50%;z-index:2;margin:0;transform:translate(-50%,-50%)}.demo-camera-view .scan-frame{z-index:3;pointer-events:none}.scanner-simulated-qr svg{width:130px;height:130px}.scanner-camera>p{color:#aaa39e;text-align:center}.scanner-actions{display:flex;justify-content:center;gap:8px;margin-top:14px}.scanner-page .button--quiet{border-color:#746d68;color:#fff}.scanner-policy{display:flex;gap:12px;margin-top:18px;background:#1c1a19;color:white}.scanner-policy p{color:#9b948f}.demo-product--ops .ops-page{min-height:calc(100vh - 56px)}.demo-product--ops .demo-fixture-shell{width:100%;margin:0;padding:0}.demo-product--ops .ops-header{top:56px}.demo-product--ops .ops-sidebar{top:calc(56px + 76px)}.demo-product--ops .ops-main{padding-top:112px}@media (max-width:767px){.wallet-privacy.panel{grid-template-columns:auto 1fr}.wallet-privacy.panel button{grid-column:1/-1;width:100%}.ops-manual-actions>div,.wallet-reward-grid{grid-template-columns:1fr}.ops-billing-list{overflow:visible}.ops-billing-row{min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:start;padding:16px 0}.ops-billing-row>:not(.ops-company-avatar){grid-column:2}.ops-billing-row .button{width:100%}.ops-pagination{justify-content:space-between}.demo-product .demo-surface__bar{align-items:stretch}}@media (max-width:900px){.ops-page{display:block;padding-bottom:calc(68px + env(safe-area-inset-bottom))}.ops-sidebar{display:none}.ops-main{width:100%;padding-bottom:96px}.ops-mobile-nav{height:calc(68px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;right:0;bottom:0;left:0;z-index:90;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--product-border);background:rgb(255 253 249/96%);backdrop-filter:blur(16px)}.ops-mobile-nav a{min-height:46px;display:grid;place-items:center;align-content:center;gap:2px;color:var(--product-muted);font-size:12px;font-weight:650}.ops-mobile-nav a.active{color:var(--product-red)}.ops-mobile-nav svg{width:18px}}@media (prefers-reduced-motion:reduce){.ops-page *,.scanner-page *,.wallet-page *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.demo-label,.demo-product .demo-label,.membership-card small,.ops-main>header p:last-child,.ops-page .shopify-queue footer small,.ops-page .shopify-queue header small,.stamp-progress i,.wallet-avatar{font-size:12px}.membership-card .membership-balance em{color:#fff}:where([data-product-mode]){--product-canvas:#f5f1ea;--product-surface:#fffdf9;--product-subtle:#f9f6f0;--product-ink:#171513;--product-muted:#6b645f;--product-soft:#746c66;--product-border:#ddd6cd;--product-border-strong:#c9bfb5;--product-accent:#cf1839;--product-accent-dark:#ad102d;--product-success:#176b4c;--product-warning:#8b5b19;--product-danger:#b5122e;--product-radius-control:14px;--product-radius-surface:22px;--product-shadow-focus:0 20px 60px rgb(34 24 19/14%);min-height:100dvh;background:var(--product-canvas);color:var(--product-ink)}:where([data-product-mode]) :where(button,a,input,textarea,select):focus-visible{outline:3px solid rgb(207 24 57/26%);outline-offset:2px}:where([data-product-mode]) :where(button,a){transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease}:where([data-product-mode]) .button:hover{transform:none}:where([data-product-mode]) :where(.button,.icon-button){min-height:44px}:where([data-product-mode]) :where(input,select,textarea){min-height:44px}:where([data-product-mode]) [role=button],:where([data-product-mode]) button:not([role=menuitem]){min-height:44px}:where([data-product-mode]) :where(small,.supporting-copy){font-size:max(12px,.75rem)}.demo-product .demo-surface__bar{width:min(680px,calc(100% - 24px));min-height:48px;position:fixed;inset:auto auto 12px 50%;z-index:200;padding:6px 10px;border:1px solid rgb(255 255 255/12%);border-radius:14px;background:rgb(29 26 24/96%);box-shadow:0 16px 46px rgb(22 15 11/25%);transform:translateX(-50%);backdrop-filter:blur(14px)}.demo-product .demo-surface__bar strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.demo-product:is(.demo-product--wallet,.demo-product--scanner) .demo-surface__bar{width:100%;position:relative;inset:auto;border-radius:0;transform:none}[data-product-mode=auth].auth-page{min-height:100dvh;grid-template-columns:minmax(340px,.78fr) minmax(440px,1.22fr);background:#faf7f1}[data-product-mode=auth] .auth-aside{padding:clamp(34px,5vw,72px);color:white}[data-product-mode=auth] .auth-aside :where(.brand-mark span,.eyebrow--light,p,small){color:white!important}[data-product-mode=auth] .auth-aside .brand-mark span{font-size:12px}[data-product-mode=auth] .auth-aside__copy h2{font-size:clamp(42px,5.4vw,72px);line-height:.98}[data-product-mode=auth] .auth-main{place-items:center;padding:72px clamp(24px,6vw,96px)}[data-product-mode=auth] .login-card{width:min(460px,100%)}[data-product-mode=auth] .login-card h1{font-family:var(--font-geist-sans);font-size:clamp(30px,4vw,42px)}[data-product-mode=customer]{--product-canvas:#faf6ef;--product-surface:#fffdfa;--product-subtle:#f3ede4;--product-radius-surface:18px}[data-product-mode=customer] :where(.wallet-welcome,.store-hero) h1{font-size:clamp(34px,5vw,56px);line-height:1}[data-product-mode=customer] .wallet-page{background:var(--product-canvas)}[data-product-mode=customer] .wallet-header{min-height:68px;border-bottom:1px solid var(--product-border);background:rgb(250 246 239/94%);backdrop-filter:blur(14px)}[data-product-mode=customer] .wallet-mobile-nav a{color:var(--product-muted)}[data-product-mode=customer] .wallet-mobile-nav a.active{color:var(--product-accent)}[data-product-mode=customer] .wallet-welcome{align-items:end;padding-block:clamp(28px,4vw,52px) 24px}[data-product-mode=customer] .wallet-grid{gap:12px}[data-product-mode=customer] .membership-card{min-height:250px;border-radius:20px;box-shadow:0 18px 50px rgb(30 20 16/10%);color:var(--card-accent-foreground,white)}[data-product-mode=customer] .membership-card :where(h2,button,a){color:inherit}[data-product-mode=customer] .membership-card :where(small,.membership-card__meta,.membership-points span){color:inherit!important;opacity:1!important}[data-product-mode=customer] .membership-card :where(.membership-card__head>span,.membership-card__head button,.membership-card__actions button,.membership-card__actions a){border-color:currentColor;background:color-mix(in srgb,currentColor 9%,transparent);color:inherit}[data-product-mode=customer] .membership-stamps i{border-color:currentColor}[data-product-mode=customer] .membership-stamps i.filled{background:currentColor}[data-product-mode=customer] .membership-card__meta strong{background:color-mix(in srgb,currentColor 12%,transparent);color:inherit}[data-product-mode=customer] .wallet-quick-actions{width:min(1160px,calc(100% - 40px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 auto 28px;overflow:hidden;border-block:1px solid var(--product-border)}[data-product-mode=customer] .wallet-quick-actions>:where(button,a){min-height:72px;display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px 16px;border:0;background:transparent;color:var(--product-ink);text-align:left}[data-product-mode=customer] .wallet-quick-actions>:where(button,a)+:where(button,a){border-left:1px solid var(--product-border)}[data-product-mode=customer] .wallet-quick-actions>:where(button,a)>svg:first-child{width:40px;height:40px;padding:10px;border-radius:12px;background:var(--product-subtle);color:var(--product-accent)}[data-product-mode=customer] .wallet-quick-actions span{display:grid;gap:2px}.customer-legal-overlay{position:fixed;inset:0;z-index:180;background:rgb(23 18 16/48%);backdrop-filter:blur(7px);animation:product-fade-in .18s ease-out}.customer-legal-dialog{width:min(620px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:fixed;inset:50% auto auto 50%;z-index:181;overflow:hidden;border:1px solid var(--product-border);border-radius:28px;background:var(--product-surface);box-shadow:0 34px 110px rgb(23 18 16/28%);transform:translate(-50%,-50%);animation:product-dialog-in .22s cubic-bezier(.22,1,.36,1)}.customer-legal-dialog>header{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;align-items:start;gap:14px;padding:24px 24px 20px;border-bottom:1px solid var(--product-border)}.customer-legal-dialog>header>span{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#fbe9ec;color:var(--product-accent)}.customer-legal-dialog>header>span svg,.customer-legal-summary svg{width:20px}.customer-legal-dialog :where(h2,p){margin:0}.customer-legal-dialog>header p,.customer-program-rules>small{color:var(--product-accent);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.customer-legal-dialog>header h2{margin-top:4px;font-size:24px;letter-spacing:-.04em}.customer-legal-dialog>header [data-radix-dialog-description]{margin-top:5px;color:var(--product-muted);font-size:13px;line-height:1.5}.customer-legal-dialog>header>button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--product-border);border-radius:14px;background:white;color:var(--product-ink)}.customer-legal-scroll{min-height:0;overflow-y:auto;padding:22px 24px}.customer-legal-summary{display:grid;gap:10px}.customer-legal-summary>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px;border-radius:16px;background:var(--product-subtle)}.customer-legal-summary svg{color:var(--product-success)}.customer-legal-summary span{display:grid;gap:2px}.customer-legal-summary strong{font-size:13px}.customer-legal-summary small{color:var(--product-muted);font-size:12px;line-height:1.45}.customer-program-rules{margin-top:18px;padding:20px;border:1px solid var(--product-border);border-radius:18px;background:white}.customer-program-rules h2{margin-top:6px;font-size:18px}.customer-program-rules p{margin-top:10px;color:var(--product-muted);font-size:13px;line-height:1.65;white-space:pre-wrap}.customer-legal-links{display:grid;gap:8px;margin-top:18px}.customer-legal-links a{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border:1px solid var(--product-border);border-radius:14px;color:var(--product-ink);font-size:13px;font-weight:720}.customer-legal-links svg{width:15px}.customer-legal-error{margin-top:14px!important;color:var(--product-danger);font-size:13px}.customer-legal-dialog>footer{min-height:78px;display:flex;justify-content:flex-end;gap:9px;padding:14px 24px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--product-border);background:rgb(255 253 250/96%)}.customer-legal-dialog>footer button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:1px solid var(--product-border);border-radius:14px;background:white;color:var(--product-ink);font:inherit;font-size:13px;font-weight:760}.customer-legal-dialog>footer button:last-child{border-color:var(--product-accent);background:var(--product-accent);color:white}.customer-legal-dialog>footer button:disabled{opacity:.55}@keyframes product-fade-in{0%{opacity:0}}@keyframes product-dialog-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.985)}}@media (max-width:640px){.customer-legal-dialog{width:100vw;max-height:100dvh;height:100dvh;inset:0;border:0;border-radius:0;transform:none}.customer-legal-dialog>header{grid-template-columns:42px minmax(0,1fr) 44px;padding:18px 16px}.customer-legal-dialog>header>span{width:42px;height:42px}.customer-legal-scroll{padding:18px 16px}.customer-legal-dialog>footer{display:grid;grid-template-columns:.75fr 1.25fr;padding-inline:16px}}@media (prefers-reduced-motion:reduce){.customer-legal-dialog,.customer-legal-overlay{animation-duration:.01ms!important}}.customer-legal-status{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;margin-block:22px;padding:16px;border:1px solid var(--product-border);border-radius:18px;background:var(--product-subtle);text-align:left}.customer-legal-status>svg{width:46px;height:46px;padding:12px;border-radius:15px;background:white;color:var(--product-accent)}.customer-legal-status :where(small,h2,p){margin:0}.customer-legal-status small{color:var(--product-accent);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.customer-legal-status h2{margin-top:3px;font-size:16px}.customer-legal-status p{margin-top:3px;color:var(--product-muted);font-size:12px}.reward-detail-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.wallet-reward-card{min-height:220px;display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;align-items:stretch!important;gap:18px!important;padding:16px!important;border:1px solid var(--product-border)!important;border-radius:22px!important;background:var(--product-surface)!important;box-shadow:0 18px 54px rgb(30 20 16/7%)}.wallet-reward-card__art{min-height:132px;display:grid;place-items:center;border-radius:16px;background:#efe8df 50%/cover no-repeat}.wallet-reward-card__art svg{width:28px}.wallet-reward-card>div{min-width:0;display:grid;align-content:center;gap:6px}.wallet-reward-card h3,.wallet-reward-card p{margin:0}.wallet-reward-card h3{font-size:20px;letter-spacing:-.03em}.wallet-reward-card p,.wallet-reward-card>div>span{color:var(--product-muted);font-size:12px;line-height:1.5}.wallet-reward-card>a{min-height:48px;display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;padding:0 14px;border-radius:14px;background:var(--product-ink);color:white;font-size:13px;font-weight:750}.wallet-reward-card>a svg{width:16px}.legal-page[data-product-mode=customer]{min-height:100dvh;background:var(--product-canvas)}.legal-page[data-product-mode=customer]>header{width:min(1180px,calc(100% - 40px));min-height:76px;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--product-border);background:rgb(250 246 239/94%);backdrop-filter:blur(16px)}.legal-page[data-product-mode=customer]>header>button{min-height:46px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--product-border);border-radius:13px;background:var(--product-surface);color:var(--product-ink);font:inherit;font-size:13px;font-weight:720}.legal-page[data-product-mode=customer]>header>button svg{width:16px}.legal-layout{width:min(1080px,calc(100% - 40px));display:grid;grid-template-columns:220px minmax(0,720px);justify-content:space-between;gap:clamp(50px,8vw,110px);margin:0 auto;padding:72px 0 140px}.legal-page .legal-layout>article{width:auto;margin:0}.legal-toc{align-self:start;display:grid;gap:4px;position:sticky;top:112px}.legal-toc p,.legal-toc strong{margin:0}.legal-toc p{color:var(--product-muted);font-size:12px}.legal-toc strong{font-size:15px}.legal-toc nav{display:grid;gap:4px;margin-top:18px;padding-top:14px;border-top:1px solid var(--product-border)}.legal-toc a{min-height:40px;display:flex;align-items:center;border-radius:10px;color:var(--product-muted);font-size:12px}.legal-toc a:hover{color:var(--product-accent)}.legal-page .legal-layout h1{font-size:clamp(46px,6vw,72px);line-height:.98}.legal-page .legal-layout .legal-lede{margin-top:24px;font-size:18px!important;line-height:1.65}.legal-page .legal-layout section{scroll-margin-top:110px}.legal-page .legal-layout h2{margin-top:58px;font-size:26px}.legal-page .legal-layout section p{color:var(--product-muted);font-size:15px;line-height:1.8}.product-not-found{background:radial-gradient(circle at 20% 20%,rgb(201 24 56/9%),transparent 30%),var(--product-canvas)}.product-not-found__code{display:block;margin:44px 0 -8px;color:var(--product-accent);font-size:13px;font-weight:850;letter-spacing:.18em}.product-not-found>div{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.product-not-found .button{min-height:52px;border-radius:15px}@media (max-width:760px){.legal-layout{grid-template-columns:1fr;gap:30px;padding-top:38px}.legal-toc{position:static}.legal-toc nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.legal-toc a{min-height:42px;flex:0 0 auto;padding:0 12px;border:1px solid var(--product-border);background:var(--product-surface)}}@media print{.legal-page>header,.legal-toc{display:none!important}.legal-layout{width:100%;display:block;padding:0}.legal-page .legal-layout h1{font-size:38px}}[data-product-mode=customer] .find-store-card p,[data-product-mode=customer] .find-store-card small,[data-product-mode=customer] .wallet-quick-actions small{color:var(--product-muted);font-size:12px}[data-product-mode=customer] .find-store-card.is-joined{border-style:solid;background:var(--product-subtle)}[data-product-mode=customer] .find-store-card>small{margin-top:12px;font-weight:700}[data-product-mode=customer] .invitation-acceptance article{max-height:260px;overflow-y:auto;padding:16px;border-block:1px solid var(--product-border);text-align:left}[data-product-mode=customer] .invitation-acceptance article h2{margin-block:5px 10px;font-family:var(--font-geist-sans);font-size:18px}[data-product-mode=customer] .invitation-acceptance article p{font-size:13px;line-height:1.6}[data-product-mode=customer] .find-store-card,[data-product-mode=customer] .ready-grid article{border-radius:14px;box-shadow:none}[data-product-mode=customer] .store-page{background:var(--product-canvas)}[data-product-mode=customer] .store-hero{color:var(--store-accent-foreground,white)}[data-product-mode=customer] .store-hero__copy :where(p,span){color:var(--store-accent-foreground,white)!important}[data-product-mode=customer] .store-page :where(.member-summary small,.member-summary span,.store-rewards p,.store-locations p,.store-locations small),[data-product-mode=customer].store-page :where(.member-summary small,.member-summary span,.store-rewards p,.store-locations p,.store-locations small){color:#625b56!important;font-size:12px!important}[data-product-mode=customer] .store-hero h1{max-width:720px}[data-product-mode=customer] .store-header{width:min(980px,100%);height:76px;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--product-border);background:rgb(255 253 250/94%);backdrop-filter:blur(16px)}[data-product-mode=customer] .store-header>:where(a,button){width:46px;height:46px;border:1px solid var(--product-border);border-radius:14px;background:var(--product-surface)}[data-product-mode=customer] .store-header__logo{width:44px;height:44px;border-radius:14px;color:var(--store-accent-foreground,white);font-size:22px}[data-product-mode=customer] .store-header strong{font-size:14px}[data-product-mode=customer] .store-header small{color:var(--product-muted);font-size:11px}[data-product-mode=customer] .store-hero{height:clamp(390px,53vw,520px)}[data-product-mode=customer] .store-hero__copy{width:min(980px,calc(100% - 40px));padding-bottom:clamp(62px,8vw,90px)}[data-product-mode=customer] .store-hero__copy p{font-size:12px}[data-product-mode=customer] .store-hero__copy h1{max-width:820px;font-size:clamp(64px,11vw,112px)}[data-product-mode=customer] .store-hero__copy span{max-width:620px;margin-top:24px;font-size:16px}[data-product-mode=customer] .store-content{width:min(980px,calc(100% - 40px))}[data-product-mode=customer] :where(.member-summary,.join-card){margin-top:-38px;border:1px solid rgb(223 214 205/70%);border-radius:28px;box-shadow:0 24px 70px rgb(39 24 18/10%)}[data-product-mode=customer] .member-summary{padding:clamp(24px,4vw,38px)}[data-product-mode=customer] .member-summary__top p{font-size:11px}[data-product-mode=customer] .member-summary__top h2{font-size:clamp(29px,5vw,42px)}[data-product-mode=customer] .member-summary__top small,[data-product-mode=customer] .member-summary__top span{font-size:11px!important}[data-product-mode=customer] .member-summary__top strong{font-size:34px}[data-product-mode=customer] .store-stamps{gap:12px;margin-top:30px}[data-product-mode=customer] .store-stamps i{min-width:42px;min-height:42px;font-size:12px}[data-product-mode=customer] .member-summary>.member-summary__pause{padding:14px 16px;border-radius:14px;font-size:12px}[data-product-mode=customer] .member-summary>button{min-height:54px;border-radius:15px;font-size:14px}[data-product-mode=customer] .member-summary>button span{font-size:10px!important}[data-product-mode=customer] .join-card{grid-template-columns:auto minmax(0,1fr);padding:clamp(24px,4vw,38px)}[data-product-mode=customer] .join-card__icon{width:64px;height:64px;border-radius:20px}[data-product-mode=customer] .join-card>div h2{font-size:clamp(26px,4vw,38px)}[data-product-mode=customer] .join-card>div>p:last-child{font-size:13px}[data-product-mode=customer] .join-card>:where(article,button,.surface-alert){grid-column:1/-1}[data-product-mode=customer] .join-card>button{min-height:52px;justify-self:stretch;border-radius:15px;font-size:14px}[data-product-mode=customer] .store-section{padding-top:clamp(68px,9vw,100px)}[data-product-mode=customer] .store-section h2{font-size:clamp(38px,6vw,54px)}[data-product-mode=customer] .store-rewards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}[data-product-mode=customer] .store-rewards article{min-height:370px;padding:18px;border-radius:22px}[data-product-mode=customer] .store-reward-art{height:166px;border-radius:17px}[data-product-mode=customer] .store-pill{padding:6px 9px;font-size:10px}[data-product-mode=customer] .store-rewards h3{font-size:20px}[data-product-mode=customer] .store-rewards p{font-size:12px!important}[data-product-mode=customer] .store-rewards button{min-height:48px;align-items:center;padding-top:12px;font-size:12px}[data-product-mode=customer] .store-locations{gap:16px}[data-product-mode=customer] .store-locations article{min-height:132px;padding:22px;border-radius:20px}[data-product-mode=customer] .store-locations article>span{width:46px;height:46px;border-radius:14px}[data-product-mode=customer] .store-locations h3{font-size:16px}[data-product-mode=customer] .store-locations :where(p,small){font-size:12px!important}[data-product-mode=customer] .store-locations article>a{width:44px;height:44px}[data-product-mode=customer] .store-actions{gap:16px;margin-top:76px}[data-product-mode=customer] .store-actions>:where(a,button){min-height:90px;padding:20px;border-radius:20px}[data-product-mode=customer] .store-actions strong{font-size:14px}[data-product-mode=customer] .store-actions small{font-size:11px}[data-product-mode=customer] .store-wallet-passes{border-radius:24px}[data-product-mode=customer] .store-wallet-passes :where(strong,button){font-size:13px}[data-product-mode=customer] .store-wallet-passes small{font-size:11px}[data-product-mode=customer] .store-footer{min-height:116px;font-size:11px}[data-product-mode=customer] .store-footer strong{font-size:16px}[data-product-mode=customer] .store-footer a{min-height:44px;display:inline-flex;align-items:center}[data-product-mode=customer] :where(.store-reward-card,.store-location-card){box-shadow:none}[data-product-mode=customer] .customer-confirm__card h1{font-size:clamp(30px,8vw,44px)}[data-product-mode=customer] .wallet-header{width:min(1180px,100%);min-height:76px;padding-inline:20px}[data-product-mode=customer] .wallet-header input,[data-product-mode=customer] .wallet-header__context{font-size:13px}[data-product-mode=customer] .wallet-header>label{min-height:48px;border-radius:14px}[data-product-mode=customer] .wallet-header :where(.icon-button,.wallet-avatar){width:46px;height:46px;border-radius:14px}[data-product-mode=customer] :where(.wallet-welcome,.wallet-memberships,.wallet-ready){width:min(1160px,calc(100% - 40px))}[data-product-mode=customer] .wallet-welcome>div>p:last-child{max-width:640px;font-size:15px;line-height:1.55}[data-product-mode=customer] :where(.wallet-memberships,.wallet-ready)>header{margin-bottom:20px}[data-product-mode=customer] :where(.wallet-memberships,.wallet-ready)>header h2{font-size:clamp(28px,4vw,38px)}[data-product-mode=customer] :where(.wallet-memberships,.wallet-ready)>header span{color:#625b56;font-size:12px}[data-product-mode=customer] .wallet-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px}[data-product-mode=customer] .membership-card{min-height:286px;padding:24px;border-radius:24px}[data-product-mode=customer] .membership-card__head>span{width:48px;height:48px;border-radius:15px;font-size:20px}[data-product-mode=customer] .membership-card__head button{width:44px;height:44px;border-radius:13px}[data-product-mode=customer] .membership-card>div:nth-child(2) small{font-size:11px!important}[data-product-mode=customer] .membership-card h2{font-size:27px}[data-product-mode=customer] .membership-points strong{font-size:38px}[data-product-mode=customer] .membership-card :where(.membership-card__meta,.membership-points span){font-size:12px}[data-product-mode=customer] .membership-card__pause{padding:10px 12px;border-radius:12px;font-size:11px}[data-product-mode=customer] .membership-card__actions{gap:8px}[data-product-mode=customer] .membership-card__actions :where(button,a){min-height:50px;border-radius:14px;font-size:13px}[data-product-mode=customer] .find-store-card{min-height:250px;padding:22px;border:1px solid var(--product-border);border-radius:22px!important;background:var(--product-surface);transition:transform .18s ease,border-color .18s ease}[data-product-mode=customer] .find-store-card:hover{border-color:color-mix(in srgb,var(--product-accent) 32%,transparent);transform:translateY(-2px)}[data-product-mode=customer] .find-store-card>span{width:58px;height:58px;border-radius:18px}[data-product-mode=customer] .find-store-card strong{margin-top:28px;font-size:22px;letter-spacing:-.035em}[data-product-mode=customer] .find-store-card p{font-size:13px;line-height:1.5}[data-product-mode=customer] .find-store-card>small{font-size:11px}.wallet-settings-grid{width:min(940px,calc(100% - 40px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 auto 100px}.wallet-setting-card{min-height:340px;display:grid;grid-template-rows:auto 1fr auto;gap:24px;padding:28px;border-radius:24px}.wallet-setting-card>span{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:var(--product-subtle);color:var(--product-accent)}.wallet-setting-card :where(h2,p){margin:0}.wallet-setting-card h2{margin-top:8px;font-size:28px;letter-spacing:-.045em}.wallet-setting-card div>p:last-child{margin-top:10px;color:var(--product-muted);font-size:13px;line-height:1.55}.wallet-setting-card>button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--product-border);border-radius:15px;background:var(--product-surface);color:var(--product-ink);font:inherit;font-size:13px;font-weight:750}.wallet-setting-card--danger{border-color:#d9b5b5;background:#fffafa}.wallet-setting-card--danger .eyebrow,.wallet-setting-card--danger>button,.wallet-setting-card--danger>span{color:#9e2f35}[data-product-mode=customer] .wallet-mobile-nav{min-height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgb(255 253 250/96%);backdrop-filter:blur(16px)}[data-product-mode=customer] .wallet-mobile-nav a{min-height:60px;font-size:11px}@media (max-width:760px){[data-product-mode=customer] .store-header{padding-inline:12px}[data-product-mode=customer] .store-hero{height:390px}[data-product-mode=customer] .store-hero__copy{width:min(100% - 28px,980px);padding-bottom:62px}[data-product-mode=customer] .store-hero__copy h1{font-size:clamp(54px,18vw,80px)}[data-product-mode=customer] .store-content{width:min(100% - 24px,980px);padding-bottom:calc(88px + env(safe-area-inset-bottom))}[data-product-mode=customer] .member-summary__top{gap:20px}[data-product-mode=customer] .store-stamps{grid-template-columns:repeat(4,1fr)}[data-product-mode=customer] .join-card{grid-template-columns:1fr;gap:16px}[data-product-mode=customer] .join-card__icon{width:56px;height:56px}[data-product-mode=customer] .store-rewards{grid-template-columns:minmax(0,1fr)}[data-product-mode=customer] .store-rewards article{min-height:340px}[data-product-mode=customer] :where(.store-locations,.store-actions){grid-template-columns:1fr}.wallet-settings-grid{width:min(100% - 24px,940px);grid-template-columns:1fr}[data-product-mode=customer] .wallet-header{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding-inline:12px}[data-product-mode=customer] .wallet-header__context{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}[data-product-mode=customer] :where(.wallet-welcome,.wallet-memberships,.wallet-ready){width:min(100% - 24px,1160px)}}[data-product-mode=scanner]{--product-canvas:#0d0c0b;--product-surface:#181614;--product-subtle:#211e1b;--product-ink:#fff;--product-muted:#b9b0aa;--product-border:#39332f;color-scheme:dark}[data-product-mode=scanner].scanner-page{background:var(--product-canvas)}[data-product-mode=scanner] :where(small,.scanner-footer){color:var(--product-muted)}[data-product-mode=scanner] .scanner-header{min-height:70px;border-color:var(--product-border);background:rgb(13 12 11/96%);backdrop-filter:blur(12px)}[data-product-mode=scanner] .scanner-main{width:min(720px,calc(100% - 28px));padding-block:32px 56px}[data-product-mode=scanner] .scanner-mode-tabs{min-height:52px;margin-top:16px;border:1px solid var(--product-border);border-radius:16px;background:var(--product-surface)}[data-product-mode=scanner] .scanner-mode-tabs button{min-height:48px;border-radius:12px;font-size:13px}[data-product-mode=scanner] .scanner-mode-tabs button.active{background:#373330;box-shadow:inset 0 0 0 1px #4b4541}[data-product-mode=scanner] .scanner-task-heading{max-width:560px;margin-bottom:24px}[data-product-mode=scanner] .scanner-task-heading .eyebrow{margin:0 0 8px;color:#ff7b8e}[data-product-mode=scanner] .scanner-task-heading h1{margin:0;color:#fff;font-size:clamp(34px,7vw,52px);line-height:.98;letter-spacing:-.06em}[data-product-mode=scanner] .scanner-task-heading>p:last-child{max-width:500px;margin:12px 0 0;color:var(--product-muted);font-size:14px;line-height:1.55}[data-product-mode=scanner] .scanner-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}[data-product-mode=scanner] .scanner-steps li{min-height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--product-border);border-radius:14px;color:#8f8781;font-size:12px;font-weight:650}[data-product-mode=scanner] .scanner-steps span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#2a2725;font-size:11px}[data-product-mode=scanner] .scanner-steps li:where([aria-current=step],[data-complete=true]){border-color:#6f3440;color:#fff;background:#24181a}[data-product-mode=scanner] .scanner-steps li:where([aria-current=step],[data-complete=true]) span{background:var(--red);color:#fff}[data-product-mode=scanner] .scanner-action{gap:12px;margin-top:16px}[data-product-mode=scanner] .scanner-action button{min-height:126px;padding:20px;border-radius:22px}[data-product-mode=scanner] .scanner-action button>span{width:48px;height:48px;border-radius:14px}[data-product-mode=scanner] .scanner-action strong{font-size:15px}[data-product-mode=scanner] .scanner-action small{font-size:12px}[data-product-mode=scanner] .scanner-amount{gap:10px;margin-top:18px;font-size:12px;font-weight:650}[data-product-mode=scanner] .scanner-amount>div{height:68px;border-radius:18px;font-size:15px}[data-product-mode=scanner] .scanner-amount input{font-size:28px}[data-product-mode=scanner] .camera-view{height:clamp(380px,56vh,560px);border-radius:28px}[data-product-mode=scanner] .camera-placeholder p,[data-product-mode=scanner] .issue-panel>p{font-size:13px;line-height:1.55}[data-product-mode=scanner] .camera-placeholder button{min-height:48px;padding-inline:20px;border-radius:13px;font-size:13px}[data-product-mode=scanner] .manual-toggle{min-height:48px;font-size:13px}[data-product-mode=scanner] .manual-entry{padding:12px;border-radius:18px}[data-product-mode=scanner] .manual-entry button{min-height:52px;border-radius:13px;font-size:13px}[data-product-mode=scanner] .issue-panel{border-radius:28px}[data-product-mode=scanner] .scanner-requirement{max-width:400px;margin:14px auto 0;color:#d9aaa9;font-size:12px;line-height:1.45}[data-product-mode=scanner] .scan-result{min-height:min(620px,72vh);border-radius:28px}[data-product-mode=scanner] .scan-result h1{font-size:clamp(30px,7vw,46px)}[data-product-mode=scanner] .scan-result>p:not(.eyebrow){font-size:14px}[data-product-mode=scanner] .scan-reference span{font-size:11px}[data-product-mode=scanner] .scan-reference strong{font-size:12px}[data-product-mode=scanner] .scanner-footer{min-height:48px;padding-bottom:env(safe-area-inset-bottom);font-size:11px}@media (max-width:640px){[data-product-mode=scanner] .scanner-main{width:min(100% - 20px,720px);padding-block:24px calc(52px + env(safe-area-inset-bottom))}[data-product-mode=scanner] .scanner-task-heading>p:last-child{font-size:13px}[data-product-mode=scanner] .scanner-steps li{min-height:40px;justify-content:center;padding-inline:6px;font-size:11px}[data-product-mode=scanner] .scanner-action button{min-height:112px;padding:16px}[data-product-mode=scanner] .scanner-action button>span{width:42px;height:42px}[data-product-mode=scanner] .scanner-action strong{font-size:13px}[data-product-mode=scanner] .scanner-action small{font-size:11px}[data-product-mode=scanner] .issue-panel{padding:32px 20px}}[data-product-mode=ops]{--product-canvas:#f3f1ed;--product-surface:#fff;--product-subtle:#ebe8e2;--product-radius-surface:10px}[data-product-mode=ops].ops-page{background:var(--product-canvas)}[data-product-mode=ops] .ops-main h1{max-width:760px;font-family:var(--font-geist-sans);font-size:clamp(28px,3vw,38px);line-height:1.04;letter-spacing:-.045em}[data-product-mode=ops] .ops-main{padding:28px clamp(22px,4vw,52px) 48px}[data-product-mode=ops] :where(.ops-card,.ops-panel,.panel){border-radius:10px;box-shadow:none}[data-product-mode=ops] :where(.ops-table,.ops-list)>*+*{border-top:1px solid var(--product-border)}[data-product-mode=ops] .shopify-queue{gap:0;overflow:hidden;border-block:1px solid var(--product-border)}[data-product-mode=ops] .shopify-queue>article.panel{min-height:96px;border:0;border-radius:0;background:transparent}[data-product-mode=ops] .shopify-queue>article.panel+article.panel{border-top:1px solid var(--product-border)}[data-product-mode=ops] .ops-billing-list{overflow:hidden}[data-product-mode=ops] :where(.ops-billing-row,.audit-log>div){min-height:62px}[data-product-mode=ops] :where(.ops-billing-row,.audit-log>div) :where(small,span){font-size:max(12px,.75rem)}[data-product-mode=ops] .ops-action-launcher{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 0;border-top:1px solid var(--product-border)}[data-product-mode=ops] :where(.ops-sidebar>a,.ops-main>header p:last-child,.shopify-queue small,.audit-log small){color:#625b56!important}@media (max-width:900px){[data-product-mode=auth].auth-page{grid-template-columns:1fr}[data-product-mode=auth] .auth-aside{display:none}[data-product-mode=auth] .auth-main{min-height:100dvh}}@media (max-width:640px){.demo-product .demo-surface__bar{min-height:52px;align-items:center;flex-direction:row;gap:8px}.demo-product .demo-surface__bar>:where(.brand-mark,a:first-child){display:none}.demo-product .demo-surface__bar strong{min-width:0;flex:1}.demo-product .demo-surface__bar>a:last-child{min-height:44px;flex:0 0 auto;font-size:12px}[data-product-mode=customer] .wallet-quick-actions{width:min(100% - 24px,1160px);grid-template-columns:1fr}[data-product-mode=customer] .wallet-quick-actions>:where(button,a)+:where(button,a){border-top:1px solid var(--product-border);border-left:0}}@media (max-width:767px){[data-product-mode=customer] .wallet-welcome h1{font-size:36px}[data-product-mode=customer] .membership-card{min-height:238px}}@media (prefers-reduced-motion:reduce){:where([data-product-mode]) *,:where([data-product-mode]) :after,:where([data-product-mode]) :before{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}