/* Desktop keeps the established web workspace; phone-sized guest pages use the app layout. */
.mobile-loyalty,.mobile-card-screen,.mobile-collection-feedback,.mobile-customer-nav{display:none}
.responsive-card{min-width:0}.desktop-loyalty .stamp img{width:58%;height:68%;object-fit:contain}.web-gift-badge{width:30px;height:34px;object-fit:contain;flex-shrink:0;margin-right:10px}
.collection-signin{max-width:440px;width:100%;margin:auto}.collection-signin h1{font-size:29px;line-height:1.2;letter-spacing:-.8px;color:#275f66;margin:20px 0 12px}.collection-signin>p{font-size:14px;line-height:1.6;color:#617572}.collection-signin form{margin-top:24px}.collection-venue{display:flex;align-items:center;gap:12px;color:#275f66;font-size:16px;font-weight:650}.collection-venue .business-logo-large{width:54px;height:54px;font-size:19px}.web-app-note{font-size:11px!important;margin-top:22px!important;color:#71847b!important}.web-app-note a{color:inherit;text-underline-offset:3px}.collection-signin-layout{align-items:start}.collection-public-preview{padding-top:20px}.collection-extras>.btn{margin-bottom:20px}
.card-front-heading{border:0;padding:0;margin:0;background:transparent;color:white;font:700 16px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left;cursor:pointer}
.reward-slide[data-redeem-slider]{touch-action:pan-y;user-select:none;overflow:hidden}.reward-slide[data-redeem-slider] b{opacity:calc(1 - var(--redeem-progress,0));pointer-events:none}.reward-thumb{position:absolute;left:2px;top:2px;width:32px;height:32px;border:1px solid #ffffffe6;border-radius:50%;display:grid;place-items:center;background:#d02b87;color:white;padding:0;cursor:grab;touch-action:none;z-index:1}.reward-thumb:active{cursor:grabbing}.reward-thumb:focus-visible{outline:3px solid white;outline-offset:-5px}
.gift-awaiting-deposit .reward-box,.gift-awaiting-deposit .web-gift-badge{opacity:.17;filter:grayscale(1)}
.web-rewards{display:grid;gap:16px;max-width:720px}.web-reward-row{display:flex;align-items:center;gap:15px;width:100%;border:0;background:linear-gradient(90deg,#163c57,#d02b87);border-radius:18px;padding:18px;color:white;text-align:left}.web-reward-row img{width:45px;height:50px;object-fit:contain}.web-reward-row>span{flex:1}.web-reward-row strong{display:block;font-size:17px}.web-reward-row small{display:block;font-size:12px;margin-top:5px;opacity:.8}.web-reward-row>.icon{width:22px}
.web-scan-instructions{text-align:center}.web-scan-instructions>img{width:95px;height:95px;object-fit:contain;margin:10px auto 24px}.web-scan-instructions p{font-size:15px;line-height:1.6;margin-top:14px}.web-scan-instructions h3{font-size:23px;color:#275f66}
.stamp-celebration-layer{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden;perspective:800px}.stamp-mascot-position{position:absolute;top:0;left:0;will-change:transform;filter:drop-shadow(0 6px 6px #0002)}.stamp-mascot-position>img{display:block;width:100%;height:100%;object-fit:contain;will-change:transform;backface-visibility:hidden}.stamp-flying-gift{position:absolute;top:0;left:0;width:54px;height:54px;object-fit:contain;will-change:transform;filter:drop-shadow(0 2px 3px #0002)}.stamp-impact{animation:stamp-ink-impact .35s ease-out}.stamp-celebrating nav,.stamp-celebrating .web-card-dots,.stamp-celebrating .web-card-pager{pointer-events:none!important}.stamp-celebrating .web-card-pager{overflow:hidden!important}
@keyframes stamp-ink-impact{0%{box-shadow:0 0 0 0 #d02b8780}100%{box-shadow:0 0 0 13px #d02b8700}}
@media(prefers-reduced-motion:reduce){.stamp-impact{animation:none}.web-card-pager{scroll-behavior:auto!important}}
@media(max-width:700px){
 :is(.web-customer,.web-merchant){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f7faf7;color:#142b2f;padding-left:0!important}
 :is(.web-customer,.web-merchant).has-user{padding-top:68px;padding-bottom:110px}
 :is(.web-customer,.web-merchant) .footer{display:none}:is(.web-customer,.web-merchant).has-user .header{position:fixed;inset:0 0 auto;height:68px;background:#f7faf7;border:0;z-index:20}
 :is(.web-customer,.web-merchant) .header-inner{padding:12px 23px;gap:0;display:flex;align-items:center;justify-content:space-between;height:68px}
 :is(.web-customer,.web-merchant) .header-inner .logo{font-size:27px;gap:9px;color:#275f66;letter-spacing:-1.2px;padding:0}:is(.web-customer,.web-merchant) .header-inner .logo>svg{width:29px;height:29px}
 :is(.web-customer,.web-merchant) .header-account{display:none!important}
 :is(.web-customer,.web-merchant).has-user .header-inner nav{position:fixed;inset:auto 12px calc(12px + env(safe-area-inset-bottom)) 12px;width:auto;height:68px;display:flex;align-items:center;justify-content:space-around;gap:0;padding:0 12px;background:#131f21;border:0;border-radius:27px;box-shadow:none;z-index:30}
 :is(.web-customer,.web-merchant) .header-inner nav a{display:flex;align-items:center;justify-content:center;flex:1;width:auto;min-width:0;height:68px;min-height:0;padding:0;border:0;border-radius:0;color:#889195;background:transparent!important}
 :is(.web-customer,.web-merchant) .header-inner nav a.active{color:#dcf5e7}:is(.web-customer,.web-merchant) .header-inner nav a:before{display:none}:is(.web-customer,.web-merchant) .header-inner nav a>.icon{width:26px;height:26px}:is(.web-customer,.web-merchant) .header-inner nav a>span:not(.nav-avatar){display:none}
 :is(.web-customer,.web-merchant) .header-inner nav .nav-avatar{width:30px;height:30px;border-radius:50%;box-shadow:0 0 0 2px white;font-size:11px}
 :is(.web-customer,.web-merchant) .mobile-customer-nav{display:flex}:is(.web-customer,.web-merchant) .header-inner nav .web-stamp-button{flex:0 0 82px;width:82px;height:82px;min-height:82px;border:4px solid #f7faf7;border-radius:50%;padding:8px 0 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(135deg,#efff67,#a8efc2);color:#193d42;transform:translateY(-15px);font:700 11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
 .web-stamp-hand{display:block;width:32px;height:34px;background:#d02b87;mask:url('/assets/stampedli-ink-hand.png') center/contain no-repeat;-webkit-mask:url('/assets/stampedli-ink-hand.png') center/contain no-repeat}
 :is(.web-customer,.web-merchant) main{padding:18px 18px 15px;min-height:0;max-width:540px;margin:auto}:is(.web-customer,.web-merchant) .page-heading h1{font-size:27px;letter-spacing:-.8px}:is(.web-customer,.web-merchant) .page-heading p{font-size:13px}
 .mobile-loyalty{display:block}.desktop-loyalty,.desktop-wallet,.desktop-card-detail,.desktop-collection{display:none!important}
 .customer-card-screen{height:100dvh;overflow:hidden;padding-top:68px!important;padding-bottom:104px!important}
 .customer-card-screen main{height:calc(100dvh - 68px - 104px - env(safe-area-inset-bottom));padding:7px 16px 0;display:flex;flex-direction:column;max-width:480px;overflow:visible}
 .mobile-card-screen{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;position:relative}
 .web-card-pager{display:flex;flex:1;min-height:0;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.web-card-pager::-webkit-scrollbar{display:none}
 .consumer-card-stage{flex:0 0 100%;height:100%;min-width:0;scroll-snap-align:start;padding:0 4px;overflow:visible}
 .consumer-card-stage .responsive-card,.consumer-card-stage .mobile-loyalty{height:100%}
 :is(.web-customer,.web-merchant) .mobile-loyalty .loyalty-card.merchant-native-card{height:100%;padding-top:14px;margin:0;border:0;background:transparent}
 :is(.web-customer,.web-merchant) .mobile-loyalty .merchant-card-surface{height:calc(100% - 14px);display:grid;grid-template-rows:66px minmax(0,1fr) 118px;overflow:hidden;border-radius:22px}
 :is(.web-customer,.web-merchant) .mobile-loyalty .card-brand{height:66px;min-height:66px;padding:12px 86px 12px 17px}:is(.web-customer,.web-merchant) .mobile-loyalty .card-brand strong,.card-front-heading{font-size:16px;line-height:1.3}
 :is(.web-customer,.web-merchant) .mobile-loyalty .card-business-logo{width:58px;height:58px;right:16px;top:0;border-radius:50%;border:4px solid #f9faf7}
 :is(.web-customer,.web-merchant) .mobile-loyalty .stamp-grid{height:100%;min-height:0;margin:0;padding:8px 12px;gap:8px 6px;grid-template-rows:repeat(var(--stamp-rows),minmax(0,1fr));align-items:center}
 :is(.web-customer,.web-merchant) .mobile-loyalty .stamp{width:min(100%,var(--stamp-fit,58px));height:auto;aspect-ratio:1}
 :is(.web-customer,.web-merchant) .mobile-loyalty .card-bottom{height:106px;min-height:0;margin:0 12px 12px;padding:10px;align-items:center;gap:9px;box-sizing:border-box}
 :is(.web-customer,.web-merchant) .mobile-loyalty .card-bottom strong{font-size:13px}:is(.web-customer,.web-merchant) .mobile-loyalty .card-bottom small{font-size:11px}:is(.web-customer,.web-merchant) .mobile-loyalty .card-bottom progress{margin-top:9px}
 :is(.web-customer,.web-merchant) .mobile-loyalty .card-bottom.ready{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:6px}:is(.web-customer,.web-merchant) .mobile-loyalty .reward-heading{gap:10px;min-height:40px;flex:0 0 auto}:is(.web-customer,.web-merchant) .mobile-loyalty .reward-heading strong{font-size:16px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:is(.web-customer,.web-merchant) .mobile-loyalty .reward-box{width:36px;height:40px}:is(.web-customer,.web-merchant) .mobile-loyalty .reward-slide{min-height:36px;height:36px;flex:0 0 36px;font-size:13px}
 .web-card-dots{display:flex;justify-content:center;gap:7px;padding:14px 0 5px;flex-shrink:0}.web-card-dots button{border:0;padding:0;width:6px;height:6px;border-radius:50%;background:#d5dfe0}.web-card-dots button.active{background:#275f66}
 .mobile-collection-feedback{display:block;flex-shrink:0}.mobile-collection-feedback .collection-inline{padding:10px 12px;background:white;border-radius:13px;align-items:center;font-size:12px;margin:5px 4px 0}.mobile-collection-feedback .collection-inline p{line-height:1.4}.mobile-collection-feedback:has(.sr-only){height:0}
 .customer-auth-screen{padding:0!important;height:auto;overflow:auto}.customer-auth-screen .header{position:static;background:#f7faf7;border:0;height:68px}.customer-auth-screen .header-inner>.btn{display:none}.customer-auth-screen main{padding:12px 20px 30px;min-height:0;max-width:480px}.collection-signin-layout{display:block}.collection-public-preview{display:none}.collection-signin{border:0;box-shadow:none;padding:14px 0;background:transparent}.collection-signin h1{font-size:30px}.collection-signin form{margin-top:24px}.collection-signin .auth-note{font-size:12px}.collection-signin input{font-size:16px;min-height:49px}.collection-signin .btn{min-height:49px}
 .web-empty-wallet{align-items:center;justify-content:center;text-align:center;gap:18px;padding:25px}.web-empty-wallet img{width:130px;height:150px;object-fit:contain}.web-empty-wallet h1{font-size:25px;line-height:1.2;color:#275f66}.web-empty-wallet p{font-size:14px;color:#617572;line-height:1.5}
 .web-reward-row{padding:15px;border-radius:17px}.web-reward-row strong{font-size:16px}:is(.web-customer,.web-merchant) .account-layout{display:block}:is(.web-customer,.web-merchant) .account-layout .panel{padding:20px 0;border:0;box-shadow:none;background:transparent}:is(.web-customer,.web-merchant) .account-layout .panel>.business-logo-large{margin-bottom:18px}:is(.web-customer,.web-merchant) .account-layout .panel h2{font-size:24px}:is(.web-customer,.web-merchant) .account-layout .panel>.btn{display:block;margin-top:16px;width:100%}
}
@media(max-height:680px) and (max-width:700px){:is(.web-customer,.web-merchant) .mobile-loyalty .merchant-card-surface{grid-template-rows:54px minmax(0,1fr) 108px}:is(.web-customer,.web-merchant) .mobile-loyalty .card-brand{height:54px;min-height:54px}:is(.web-customer,.web-merchant) .mobile-loyalty .card-bottom{height:98px;margin-bottom:10px;padding:8px}:is(.web-customer,.web-merchant) .mobile-loyalty .card-bottom.ready{gap:4px}:is(.web-customer,.web-merchant) .mobile-loyalty .reward-heading{min-height:34px}:is(.web-customer,.web-merchant) .mobile-loyalty .reward-box{width:30px;height:34px}:is(.web-customer,.web-merchant) .mobile-loyalty .reward-heading strong{font-size:14px}:is(.web-customer,.web-merchant) .mobile-loyalty .card-business-logo{height:50px;width:50px}}

.web-enrollment-note{flex-shrink:0;text-align:center;font-size:12px;line-height:1.4;color:#617572;padding:8px 12px 0;margin:0}
@media(max-width:700px){
 :is(.web-customer,.web-merchant).has-user .header-inner nav{overflow:visible;margin:0}
 :is(.web-customer,.web-merchant) .mobile-loyalty progress{display:block;width:100%;height:4px;border:0;border-radius:8px;overflow:hidden;appearance:none;color:#275f66;background:#dfe4e2;margin-top:9px}
 :is(.web-customer,.web-merchant) .mobile-loyalty progress::-webkit-progress-bar{background:#dfe4e2;border-radius:8px}:is(.web-customer,.web-merchant) .mobile-loyalty progress::-webkit-progress-value{background:#275f66;border-radius:8px}:is(.web-customer,.web-merchant) .mobile-loyalty progress::-moz-progress-bar{background:#275f66;border-radius:8px}
}

.customer-auth-screen .header-inner>.btn{display:none}
@media(max-width:700px){:is(.web-customer,.web-merchant) input,:is(.web-customer,.web-merchant) select,:is(.web-customer,.web-merchant) textarea{font-size:16px}}

.mobile-merchant-home{display:none}.personal-qr-button{border:0;background:transparent;color:#275f66;padding:8px;cursor:pointer}.personal-qr-button .icon{width:27px;height:27px}.personal-code>.business-logo-large{margin:auto}.personal-code h3{margin:12px 0}.personal-code p{line-height:1.6}.scan-success{text-align:center}.scan-success>.business-logo-large{margin:0 auto 16px}.scan-success p{margin:12px 0 22px}.scan-success .btn+.btn{margin-top:12px}.qr-camera-view{position:relative;aspect-ratio:1;max-height:50dvh;overflow:hidden;background:#131f21;border-radius:18px}.qr-camera-view video{width:100%;height:100%;object-fit:cover}.qr-camera-frame{position:absolute;inset:16%;border:3px solid #efff67;border-radius:20px;box-shadow:0 0 0 100px #0003;pointer-events:none}.qr-camera-body>p{line-height:1.5;margin:18px 0;font-size:14px}.qr-photo-label{position:relative;overflow:hidden}.qr-photo-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
@media(max-width:700px){
 .web-merchant{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f7faf7!important;padding-left:0!important;display:block!important}
 .web-merchant .header{width:100%!important;max-width:none!important}.web-merchant .header-inner{width:100%;max-width:none;flex-direction:row!important}.web-merchant .header-inner .logo{margin:0!important}.web-merchant .header-inner nav .desktop-merchant-nav{display:none}
 .mobile-merchant-home{display:block}.desktop-merchant-home{display:none}.app-merchant-home>h1{font-size:27px;letter-spacing:-.7px;margin:5px 0 20px;color:#275f66}.app-business-label{font-size:12px;color:#617572;margin:0}.app-merchant-metrics{display:flex;background:white;border-radius:16px;padding:17px 10px;margin-bottom:22px}.app-merchant-metrics>div{flex:1;text-align:center}.app-merchant-metrics strong{font-size:23px;display:block}.app-merchant-metrics span{display:block;font-size:12px;color:#617572;margin-top:6px}
 .app-merchant-home>.merchant-native-card{margin:0 0 20px!important}.app-merchant-home>.btn{margin-top:12px}.web-merchant .header-inner nav{overflow:visible!important;margin:0!important}.web-merchant main{padding:18px 20px 25px!important}.web-merchant .footer{display:none!important}.web-merchant .header-inner nav a{font-size:0!important}.web-merchant .header-inner nav a>.icon{margin:0!important}.web-merchant .header-inner nav a.active{box-shadow:none!important}
 .personal-qr-button{position:absolute;right:17px;top:17px;padding:4px}.qr-camera-body{padding:14px 18px 22px}
}
@media(min-width:701px){.personal-qr-button{position:fixed;left:200px;top:33px;z-index:40}}

.mobile-merchant-guests{display:none}
@media(max-width:700px){.mobile-merchant-guests{display:block}.desktop-merchant-guests{display:none}.mobile-merchant-guests h1{font-size:27px;color:#275f66;margin:0 0 18px}.mobile-merchant-guests input{font-size:16px;width:100%;margin-bottom:18px}.mobile-guest-row{display:flex;gap:13px;align-items:center;background:transparent;border:0;border-bottom:1px solid #dce5df;padding:17px 0;width:100%;text-align:left;color:#142b2f}.mobile-guest-row>.avatar{width:43px;height:43px;flex-shrink:0}.mobile-guest-row>span:not(.avatar){flex:1;min-width:0}.mobile-guest-row strong{display:block;font-size:16px}.mobile-guest-row small{display:block;font-size:12px;color:#617572;margin-top:5px;line-height:1.4}.mobile-guest-row>.icon{width:20px;color:#275f66;flex-shrink:0}.mobile-empty-guests{font-size:14px;text-align:center;color:#617572;padding:35px 10px}}
@media(min-width:701px){.web-merchant .header-inner nav .web-stamp-button{display:flex;width:100%;min-height:48px;align-items:center;gap:13px;border:0;border-radius:14px;background:linear-gradient(135deg,#efff67,#a8efc2);padding:10px 16px;text-align:left;color:#193d42;font:650 14px inherit;cursor:pointer}.web-merchant .web-stamp-hand{display:block;width:25px;height:27px;background:#d02b87;mask:url('/assets/stampedli-ink-hand.png') center/contain no-repeat;-webkit-mask:url('/assets/stampedli-ink-hand.png') center/contain no-repeat}}

.app-intro{max-width:430px;margin:0 auto;padding:6px 0 30px;color:#275f66}.intro-venue{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650;color:#617572}.intro-venue .business-logo-large{width:30px;height:30px;font-size:11px}.intro-art{height:180px;position:relative;display:flex;justify-content:center;align-items:center;margin:9px 0 12px}.intro-art>.intro-orbit{position:absolute;width:165px;height:165px;border-radius:50%;background:linear-gradient(140deg,#f1ff8c,#d5f4e5);transform:rotate(-14deg)}.intro-art>img{position:relative;width:145px;height:173px;object-fit:contain;filter:drop-shadow(0 7px 8px #275f661a)}.intro-ink,.intro-gift{position:absolute;display:grid;place-items:center;background:white;border-radius:18px;box-shadow:0 5px 20px #275f6612;width:53px;height:56px}.intro-ink{left:calc(50% - 105px);top:96px;transform:rotate(-13deg)}.intro-ink img{width:32px;height:38px;object-fit:contain}.intro-gift{right:calc(50% - 110px);top:37px;transform:rotate(13deg)}.intro-gift img{width:39px;height:44px;object-fit:contain}.intro-eyebrow{font-size:9px;font-weight:750;letter-spacing:1.3px;color:#6c817a}.app-intro h1{font-size:29px;line-height:1.13;letter-spacing:-1px;margin:10px 0 12px;font-weight:780}.intro-lead{font-size:13px;line-height:1.55;color:#718079;margin:0}.intro-benefits{list-style:none;margin:20px 0 22px;padding:0;display:grid;gap:15px}.intro-benefits li{display:flex;gap:12px;align-items:center}.intro-benefits li>.icon,.intro-feature-icon{flex-shrink:0;width:25px;height:25px;color:#275f66}.intro-feature-icon{font-size:36px;font-weight:600;line-height:24px;text-align:center}.intro-benefits strong{display:block;font-size:13px;line-height:1.35;color:#275f66}.intro-benefits div>span{display:block;font-size:11px;line-height:1.5;color:#718079;margin-top:3px}.intro-benefits small{font-size:8px;font-weight:650;color:#8c6590;background:#f6eaf0;border-radius:5px;padding:3px 5px;vertical-align:1px;white-space:nowrap}.intro-download{min-height:49px;border-radius:24px;font-size:14px}.intro-availability{font-size:10px;text-align:center;color:#8b9790;margin:8px 0 12px}.intro-skip{display:block;width:100%;background:none;border:0;color:#617572;font-size:12px;padding:10px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.intro-testflight{text-align:center}.intro-testflight>img{width:90px;height:110px;object-fit:contain}.intro-testflight p{font-size:14px;line-height:1.6;margin:12px 0 18px}
@media(min-width:701px){.app-intro{padding-top:12px}.intro-art{height:200px}}
@media(max-width:700px) and (max-height:740px){.app-intro .intro-art{height:128px;margin:0 0 8px}.intro-art>.intro-orbit{width:118px;height:118px}.intro-art>img{width:110px;height:128px}.intro-ink{top:66px;left:calc(50% - 90px);width:45px;height:47px}.intro-gift{top:20px;right:calc(50% - 92px);width:45px;height:47px}.app-intro h1{font-size:25px;margin:7px 0 9px}.intro-benefits{gap:10px;margin:14px 0 17px}.intro-lead{font-size:12px}.intro-availability{margin:6px 0}.intro-skip{padding:8px}}
