.rewards-page{flex-direction:column;gap:16px;display:flex}.rewards-heading{margin:8px 0}.rewards-heading h1{letter-spacing:-.8px;font-size:28px}.rewards-heading p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.6}.claim-success{color:#773a12;background:#fbe6cf;border:1px solid #edbd8c;border-radius:14px;padding:14px 16px;font-size:14px;font-weight:600}.issued-reward{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px}.issued-reward.is-available{border-color:#ebc49e}.reward-status{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.reward-status .icon{width:18px;height:18px}.reward-status.status-available,.reward-status.status-pending_claim{color:#8d4918}.issued-reward h2{letter-spacing:-.6px;margin-top:12px;font-size:24px;line-height:1.2}.issued-description{margin-top:12px;font-size:14px;line-height:1.6}.reward-validity{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6}.issued-reward>.button{margin-top:20px}.issued-reward .identity-card{background:#fbf4ec;border:0;border-radius:16px;margin-top:20px;padding:16px}.issued-reward .identity-intro h2{margin-top:0;font-size:16px}.issued-reward .identity-intro p{font-size:13px}.issued-reward .identity-intro{gap:10px}.issued-reward .identity-intro .info-icon{flex-basis:36px;height:36px}.issued-reward .identity-saved{margin-top:16px;padding:16px}.issued-reward .identity-saved h2{margin:0;font-size:16px}.reward-notice{color:var(--text);background:#f1f4f0;border:1px solid #dce3de;border-radius:16px;padding:16px;font-size:14px;line-height:1.6}.reward-notice.is-technical{background:#fff5f2;border-color:#f0cdc5}.reward-notice .button{margin-top:12px}.issued-reward .reward-notice{margin-top:16px}.redemption-view{text-align:center;background:var(--surface);border:1px solid #ebc49e;border-radius:24px;padding:32px 24px 16px}.redemption-icon{color:#8d4918;background:#fbe6cf;border-radius:20px;place-items:center;width:64px;height:64px;margin:0 auto 24px;display:grid}.redemption-icon .icon{width:32px;height:32px}.redemption-view h1{letter-spacing:-.8px;margin-top:8px;font-size:28px;line-height:1.2}.redemption-token-card{background:#fbf3e9;border:1px solid #ebc49e;border-radius:20px;margin:24px 0;padding:24px 16px}.redemption-token-card>p:first-child{font-size:14px;font-weight:600}.redemption-code{letter-spacing:1px;color:#302218;overflow-wrap:anywhere;word-break:break-all;white-space:pre-wrap;-webkit-user-select:all;user-select:all;margin:24px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:20px;line-height:1.8;display:block}.token-countdown{color:#773a12;font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.redemption-instruction{color:#655747;margin-top:16px;font-size:14px;line-height:1.6}.redemption-view>.button{margin-top:16px}.redemption-view>.text-button{margin-top:8px}.redemption-outcome,.code-expired{background:#f1f4f0;border-radius:16px;margin:24px 0;padding:24px 16px}.redemption-outcome .reward-status{color:var(--text);justify-content:center;font-size:18px}.redemption-outcome>p:last-child{color:var(--muted);margin-top:8px;font-size:14px}.code-expired h2{letter-spacing:-.5px;font-size:20px}.code-expired p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.6}.business-shell{background:var(--background);grid-template-columns:236px minmax(0,1fr);min-height:100svh;display:grid}.business-sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;gap:32px;min-width:0;padding:32px 24px;display:flex}.business-sidebar>.taply-brand{flex-wrap:wrap}.business-sidebar .taply-brand>span{color:var(--muted);letter-spacing:0;font-size:11px;font-weight:500}.business-org{overflow-wrap:anywhere;flex-direction:column;gap:8px;display:flex}.business-org strong{letter-spacing:-.4px;font-size:17px;line-height:1.4}.business-org span{color:var(--muted);font-size:12px}.business-sidebar nav{flex-direction:column;gap:8px;display:flex}.business-sidebar nav a{color:#4c6058;border-radius:12px;align-items:center;min-height:44px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.business-sidebar nav a:hover{background:#f5f7f3}.business-sidebar nav a.active{color:var(--primary);background:#e7f2ef}.business-account{flex-direction:column;gap:16px;margin-top:auto;display:flex}.business-account>span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.business-account .button{font-size:13px}.business-content{width:100%;min-width:0;max-width:1280px;margin:0 auto;padding:48px clamp(24px,4vw,64px)}.business-page{flex-direction:column;gap:24px;display:flex}.business-page a:not(.button),.business-auth a:not(.taply-brand){color:var(--primary);text-underline-offset:4px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:8px;display:flex}.page-header h1{letter-spacing:-1px;font-size:30px;font-weight:700;line-height:1.2}.page-header p{color:var(--muted);max-width:560px;margin-top:12px;font-size:14px;line-height:1.6}.page-header>.button{flex:none;width:auto}.panel{border:1px solid var(--border);background:#fff;border-radius:20px;min-width:0;padding:24px}.panel h2{letter-spacing:-.5px;font-size:20px;font-weight:600;line-height:1.35}.panel h3{font-size:16px;line-height:1.4}.panel>p{margin-top:12px;font-size:14px;line-height:1.6}.panel>.button{margin-top:24px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.panel-heading .button{width:auto}.muted{color:var(--muted)}.business-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.badge{color:#586760;background:#f0f2ef;border-radius:8px;flex-shrink:0;align-items:center;padding:6px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge-active{color:#216d54;background:#e8f3ee}.business-loading{color:var(--muted);align-items:center;gap:16px;padding:32px 0;font-size:14px;display:flex}.business-session{max-width:600px;margin:80px auto;padding:24px}.business-session h1{margin-bottom:24px;font-size:28px}.navigation-status{color:var(--muted);margin-bottom:16px;font-size:12px}.business-shell form,.business-auth form{margin-top:24px}.business-shell fieldset,.business-auth fieldset{border:0;flex-direction:column;gap:20px;min-width:0;margin:0;padding:0;display:flex}.form-field{flex-direction:column;gap:8px;min-width:0;display:flex}.form-field>label{font-size:14px;font-weight:500;line-height:1.5}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;font:inherit;color:var(--text);background:#fff;border:1px solid #a8b9b2;border-radius:12px;padding:12px 14px;font-size:16px}.form-field textarea{resize:vertical}.form-field [aria-invalid=true]{border-color:var(--error)}.field-hint,.field-error{font-size:12px;line-height:1.6}.field-hint{color:var(--muted)}.field-error{color:#b42318}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.form-actions .button{width:auto;min-width:120px}.checkbox-label{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:14px;line-height:1.5;display:flex}.checkbox-label input{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0}.business-error{color:#7e372a;overflow-wrap:anywhere;background:#fff5f2;border:1px solid #f0cdc5;border-radius:14px;padding:16px;font-size:14px;line-height:1.6}.business-error .button{width:auto;margin-top:12px}.business-success{color:#265b3b;background:#eff7f0;border:1px solid #d9e7d9;border-radius:14px;padding:16px 20px;font-size:14px;line-height:1.6}.business-success h3,.business-success p{margin-top:8px}.neutral-notice{border:1px solid var(--border);background:#f0f2ef;border-radius:14px;padding:16px 20px;font-size:14px;line-height:1.6}.button.button-danger{color:#a13628;background:#fff;border-color:#e3b7af}.button.button-danger:hover:not(:disabled){background:#fff0ed}.empty-panel{text-align:center;padding:48px 24px}.empty-panel .button{width:auto;margin:24px auto 0}.narrow-panel{max-width:640px}.overview-counts .panel{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.overview-counts .panel p{color:var(--muted);margin:0;font-size:14px}.overview-counts .panel>strong{letter-spacing:-1px;font-size:40px;line-height:1}.overview-counts .panel>a{align-items:center;min-height:44px;font-size:13px;display:flex}.overview-list{margin:16px 0 0;padding:0;list-style:none}.overview-list li{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:16px 0;display:flex}.overview-list li a{min-height:28px}.overview-list li span{color:var(--muted);font-size:13px}.quick-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.quick-actions .button{width:auto}.program-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.program-actions .button{width:auto}.program-summary{flex-direction:column;gap:12px;margin:20px 0 24px;font-size:13px;display:flex}.program-summary>div{justify-content:space-between;gap:16px;display:flex}.program-summary dt{color:var(--muted)}.program-summary dd{margin:0}.back-link{align-self:flex-start;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.version-tabs{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.version-tabs button{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:12px;min-height:44px;padding:12px 16px;font-size:13px}.version-tabs button[aria-pressed=true]{color:var(--primary);background:#e7f2ef;border-color:#abd3c8}.version-panel{flex-direction:column;gap:24px;display:flex}.editor-section{border-bottom:1px solid var(--border);flex-direction:column;gap:20px;padding-bottom:24px;display:flex}.business-shell fieldset.location-choices{border:1px solid var(--border);border-radius:12px;gap:4px;padding:16px}.location-choices legend{padding:0 4px;font-size:13px}.location-choices p{font-size:14px;line-height:1.6}.rules-summary{flex-direction:column;margin:24px 0 0;display:flex}.rules-summary>div{border-top:1px solid var(--border);grid-template-columns:190px minmax(0,1fr);gap:24px;padding:16px 0;font-size:14px;line-height:1.6;display:grid}.rules-summary dt{color:var(--muted)}.rules-summary dd{overflow-wrap:anywhere;margin:0}.reward-editor-form{border:1px solid var(--border);background:#fafaf8;border-radius:16px;margin:24px 0;padding:24px}.reward-option-list{flex-direction:column;gap:16px;margin-top:24px;display:flex}.reward-option{background:#fffaf4;border:1px solid #ebd8c3;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:20px;display:flex}.reward-option h3{margin-top:8px;font-size:18px}.reward-option p{margin-top:8px;font-size:13px;line-height:1.6}.reward-threshold{color:#8d4918;font-size:12px;font-weight:600}.option-actions{gap:8px;display:flex}.option-actions .button{width:auto;min-width:64px;padding:10px 16px}.empty-copy{color:var(--muted);padding:24px 0;font-size:14px}.publish-bar{background:#eff6f2;border:1px solid #bdd9cf;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.publish-bar h2{font-size:18px}.publish-bar p{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.6}.publish-bar .button{flex-shrink:0;width:auto}.confirmation{border:1px solid var(--border);width:min(480px,100vw - 32px);color:var(--text);border-radius:24px;padding:32px;box-shadow:0 16px 60px #17211f20}.confirmation::backdrop{background:#17211f66}.confirmation h2{letter-spacing:-.6px;font-size:24px}.confirmation>p{color:var(--muted);margin:16px 0 24px;font-size:14px;line-height:1.7}.confirmation .business-error{margin-bottom:24px}.business-auth{max-width:500px;min-height:100svh;margin:0 auto;padding:40px 24px}.business-auth>.taply-brand{color:var(--text);margin-bottom:32px;text-decoration:none}.auth-card{border:1px solid var(--border);background:#fff;border-radius:24px;padding:32px}.section-kicker{text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);margin-bottom:16px;font-size:11px;font-weight:600}.auth-card h1{letter-spacing:-.9px;font-size:28px;line-height:1.2}.auth-card>p:not(.section-kicker){color:var(--muted);margin-top:16px;font-size:14px;line-height:1.6}.auth-card .auth-switch{margin-top:24px!important}.skip-link{z-index:10;background:#fff;padding:16px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}@media (width<=900px){.business-shell{grid-template-columns:1fr}.business-sidebar{border-right:0;border-bottom:1px solid var(--border);gap:16px;padding:20px 24px 16px}.business-sidebar .business-org{display:none}.business-sidebar nav{flex-flow:wrap;gap:4px}.business-sidebar nav a{padding:10px 12px}.business-account{flex-flow:wrap;align-items:center;gap:12px;margin-top:0}.business-account .button{width:auto;min-height:44px;margin-left:auto}.business-account .business-error{flex-basis:100%}.business-content{padding:32px 24px}}@media (width<=600px){.business-sidebar{padding:16px}.business-sidebar nav a{padding:10px;font-size:12px}.business-content{padding:24px 16px}.business-page{gap:20px}.page-header{flex-direction:column;gap:16px}.page-header h1{font-size:28px}.panel{padding:20px}.panel-heading{flex-wrap:wrap}.business-grid,.form-grid{grid-template-columns:1fr;gap:20px}.rules-summary>div{grid-template-columns:1fr;gap:6px}.reward-option{flex-direction:column;align-items:flex-start;padding:16px}.reward-editor-form{padding:16px}.publish-bar{flex-direction:column;align-items:flex-start;padding:20px}.publish-bar .button{width:100%}.auth-card{padding:24px}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}:root{color:#17211f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--primary:#0f766e;--primary-light:#14b8a6;--background:#fafaf8;--surface:#fff;--border:#e5ecea;--text:#17211f;--muted:#687773;--reward:#f4a261;--success:#16a34a;--error:#dc2626;background:#fafaf8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,input,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--primary);outline-offset:4px}h1,h2,h3,p{margin:0}button,h1,h2,h3,p,li{overflow-wrap:anywhere}.icon{flex:none;width:24px;height:24px}.page-shell{flex-direction:column;width:100%;max-width:480px;min-height:100svh;margin:0 auto;padding:0 24px;display:flex}.site-header{justify-content:space-between;align-items:center;gap:16px;padding:32px 0;display:flex}.taply-brand{letter-spacing:-.7px;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.taply-brand .icon{color:var(--primary);width:26px;height:26px}.header-link{min-height:44px;color:var(--primary);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:flex}.header-link .icon{width:18px;height:18px}.header-link:hover{text-underline-offset:4px;text-decoration:underline}main{flex:1}.tap-page{flex-direction:column;gap:16px;display:flex}.tap-status{align-items:center;gap:16px;padding:8px 0 12px;display:flex}.status-icon{color:#15803d;background:#e5f4eb;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.status-icon .icon{stroke-width:2.6px}.tap-status h1{letter-spacing:-.65px;font-size:20px;font-weight:700;line-height:1.3}.tap-status p{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.5}.tone-neutral .status-icon{color:var(--primary);background:#eef3f1}.tone-reward .status-icon{color:#99501c;background:#fcead9}.loyalty-card{color:#fff;background:#26302f;border:1px solid #35413f;border-radius:24px;overflow:hidden;box-shadow:0 6px 16px #17211f0c}.merchant-identity{padding:24px 24px 16px}.merchant-heading{align-items:center;gap:16px;display:flex}.merchant-heading>div{min-width:0}.merchant-logo{border:1px solid var(--merchant-accent,#9eaba5);color:#f0dfc5;letter-spacing:1px;background:#ffffff06;border-radius:16px;flex:0 0 56px;place-items:center;height:56px;font-size:20px;display:grid}.merchant-logo img{object-fit:contain;border-radius:inherit;width:100%;height:100%}.merchant-heading h2{letter-spacing:-.7px;font-size:24px;font-weight:600;line-height:1.15}.merchant-location{color:#cbd6d1;align-items:center;gap:5px;margin-top:6px;font-size:12px;line-height:1.5;display:flex}.merchant-location .icon{width:13px;height:13px}.merchant-address{color:#b8c9c2;margin-top:8px;font-size:11px;line-height:1.5}.loyalty-content{padding:0 24px 24px}.progress-heading{border-top:1px solid #ffffff25;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-top:16px;display:flex}.progress-heading h3{font-size:14px;font-weight:500}.progress-heading p{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.progress-heading strong{font-size:24px;font-weight:600}.progress-heading p>span{color:#b8c9c2}.stamp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.stamp{aspect-ratio:1;color:#d2ddd8;border:1px solid #93aaa380;border-radius:50%;place-items:center;width:100%;display:grid}.stamp .icon{width:23px;height:23px}.stamp-dot{background:#acc0b760;border-radius:50%;width:3px;height:3px}.stamp.is-filled{background:var(--primary);color:#fff;border-color:#28a397;box-shadow:inset 0 0 0 3px #ffffff06}.stamp.is-filled .icon{stroke-width:2px}.stamp.is-reward{color:var(--reward);border-color:#d6a371}.stamp.is-reward.is-filled{color:#44250f;background:#f4a261;border-color:#f4a261}.stamp-window{color:#cbd6d1;margin-top:12px;font-size:12px}.reward-preview{color:var(--text);background:#f6e8d7;border-radius:16px;align-items:center;gap:16px;margin-top:24px;padding:18px 16px;display:flex}.reward-icon{color:#975020;background:#f4a26135;border-radius:50%;flex:0 0 44px;place-items:center;height:44px;display:grid}.reward-icon .icon{width:26px;height:26px}.reward-preview .reward-label{color:#655747;margin-bottom:6px;font-size:10px;font-weight:500}.reward-preview h3{letter-spacing:-.75px;font-size:22px;font-weight:600;line-height:1.15}.reward-preview p{color:#655747;margin-top:5px;font-size:12px;line-height:1.5}.reward-preview .reward-description{font-size:11px}.reward-preview.is-unlocked{border:1px solid var(--reward);background:#f8d8b6}.reward-preview.is-unlocked .reward-label{color:#773a12;font-size:12px;font-weight:700}.reward-preview-content{flex:1;min-width:0}.reward-preview.is-unlocked{align-items:flex-start}.reward-preview.is-unlocked .reward-icon{margin-top:4px}.reward-preview .reward-button{margin-top:16px}.button.reward-button{background:var(--reward);color:#3d260f;border-color:#d88d50}.button.reward-button:hover:not(:disabled){background:#ed9450}.reward-link{min-height:44px;color:inherit;text-underline-offset:4px;align-items:center;font-size:13px;display:inline-flex}.claim-issue,.other-rewards{margin-top:16px}.other-rewards summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;font-size:13px;display:flex}.other-rewards summary:after{content:"+";font-size:20px}.other-rewards[open] summary:after{content:"−"}.other-rewards summary span{color:#b8c9c2;margin-left:auto;padding-right:12px;font-size:11px}.other-rewards ul{margin:0;padding:0;list-style:none}.other-rewards li{border-top:1px solid #ffffff25;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:12px;display:flex}.other-reward-action{flex:0 0 100%}.other-rewards li div{flex-direction:column;gap:5px;display:flex}.other-rewards li span{color:#b8c9c2}.other-rewards li .unlocked-label{color:#ffc58e}.info-card{background:#f0f2ef;border:1px solid #ebeeea;border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex}.info-icon{color:#305d57;background:#ffffffb3;border:1px solid #e4e9e4;border-radius:14px;flex:0 0 44px;place-items:center;height:44px;display:grid}.small-label{color:var(--muted);margin-bottom:5px;font-size:11px}.next-visit h2{letter-spacing:-.5px;font-size:18px;font-weight:600}.exact-date{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5}.identity-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px 20px 16px}.identity-intro{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.identity-intro .info-icon{background:#f1f7f4}.identity-intro h2{letter-spacing:-.3px;font-size:15px;font-weight:600;line-height:1.4}.identity-intro p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.6}.button{background:var(--primary);color:#fff;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:50px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.button:hover:not(:disabled){background:#0b625b}.button.button-secondary{color:var(--primary);background:0 0;border-color:#97aaa2}.button.button-secondary:hover:not(:disabled){background:#edf3ee}.button .icon{width:18px;height:18px}.identity-form{flex-direction:column;gap:12px;display:flex}.identity-form label{font-size:13px;font-weight:600}.identity-form input{width:100%;min-height:48px;color:var(--text);background:#fff;border:1px solid #99aaa3;border-radius:12px;padding:12px;font-size:16px}.code-hint{color:var(--muted);font-size:13px;line-height:1.6}.text-button{color:var(--primary);text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:8px;font-size:12px;text-decoration:underline}.form-error{color:#b42318;font-size:13px;line-height:1.6}.identity-saved{background:#eff8f2;border:1px solid #cee7d7;border-radius:20px;gap:16px;padding:24px;display:flex}.identity-saved .icon{color:#15803d}.identity-saved h2{font-size:16px}.identity-saved p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.6}.site-footer{padding:32px 0 max(24px, env(safe-area-inset-bottom));color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.site-footer .icon{width:17px;height:17px}.site-footer strong{color:#4c6058;font-weight:600}.empty-state{border:1px solid var(--border);text-align:center;background:#fff;border-radius:24px;margin:24px 0;padding:40px 24px}.empty-icon{width:64px;height:64px;color:var(--primary);background:#eff5f2;border-radius:20px;place-items:center;margin:0 auto 24px;display:grid}.empty-icon .icon{width:32px;height:32px}.empty-state.is-error .empty-icon{color:var(--error);background:#fff0ed}.empty-state h1{letter-spacing:-1px;font-size:28px;line-height:1.2}.empty-state p{color:var(--muted);margin-top:16px;font-size:14px;line-height:1.7}.empty-state .button{margin-top:24px}.no-program{color:#cbd6d1;padding:0 24px 24px;font-size:14px;line-height:1.6}.no-rewards{color:#cbd6d1;font-size:14px;line-height:1.6}.loading-state{padding-top:16px}.loading-heading{align-items:center;gap:16px;display:flex}.loading-state h1{font-size:20px}.loading-state p{color:var(--muted);margin-top:12px;font-size:14px}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}.skeleton-card{border:1px solid var(--border);background:#eff2ee;border-radius:24px;flex-direction:column;gap:24px;height:390px;margin-top:32px;padding:32px;display:flex}.skeleton-card span{background:#e2e7e1;border-radius:6px;width:70%;height:18px;display:block}.skeleton-card span:nth-child(2){width:45%}.skeleton-card div{flex:1}.skeleton-card span:last-child{width:100%;height:72px}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=700px){body{background:#f0f2ee}.page-shell{background:var(--background);border:1px solid #e1e6df;border-radius:32px;min-height:calc(100svh - 80px);margin:40px auto;padding:0 28px;box-shadow:0 8px 40px #17211f04}.site-header{padding-top:32px}}@media (width<=374px){.page-shell{padding:0 16px}.merchant-identity{padding:20px 20px 16px}.loyalty-content{padding:0 20px 20px}.merchant-heading h2{font-size:24px}.stamp-grid{gap:10px}.reward-preview{gap:12px;padding:16px 12px}.reward-preview h3{font-size:20px}.identity-card{padding:20px 16px 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
