:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#29252b;background:#faf7f1;font-synthesis:none;--muted:#777078;--line:#e8e1d8;--coral:#ff684b;--plum:#49354f}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;border:0;border-radius:12px;padding:13px 19px;font-weight:650;background:#29252b;color:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.3}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ff987e;outline-offset:3px}.primary{background:var(--coral);color:#291c17}.secondary{background:#f1ece5;color:#39303c;border:1px solid var(--line)}.text-button{padding:9px 4px;background:none;color:#514854;font-size:14px}.wide{width:100%}header{height:90px;max-width:1232px;padding:0 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;font-size:32px;font-weight:800;letter-spacing:-1.7px;gap:9px}.brand-dot{color:var(--coral);margin-left:-9px}.header-right{display:flex;align-items:center;gap:24px}.badge{font-size:12px;letter-spacing:.3px;border:1px solid var(--line);border-radius:40px;padding:8px 12px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:#668f63}.username{font-size:13px;color:var(--muted)}main{max-width:1160px;margin:0 auto;padding:44px 0 70px;min-height:calc(100vh - 172px)}h1,h2,h3,p{margin-top:0}h1{font-size:44px;letter-spacing:-1.9px;line-height:1.1;margin-bottom:16px;font-weight:750}h2{font-size:24px;letter-spacing:-.7px;margin-bottom:10px}h3{font-size:17px;letter-spacing:-.2px}p{line-height:1.65;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:750;color:#a75b45;margin-bottom:18px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;padding:35px 0 60px}.hero h1{font-size:66px;letter-spacing:-3.5px;line-height:1.04}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#b75d45}.hero p{max-width:480px;font-size:17px}.hero-art{position:relative;padding:32px 12px}.hero-art:before{content:'';position:absolute;inset:0;background:#f2e5d7;border-radius:50%;transform:rotate(-14deg);z-index:-1}.hero-art>.loyalty{transform:rotate(-5deg);box-shadow:0 25px 45px #49354f20}.floating-note{position:relative;margin:-9px 0 0 auto;width:max-content;background:white;padding:16px 22px;box-shadow:0 8px 30px #49354f10;border-radius:14px;font-size:14px;transform:rotate(3deg)}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading h1{font-size:38px;margin-bottom:8px}.page-heading p{margin:0}.panel{border:1px solid var(--line);background:#fffdf9;border-radius:22px;padding:28px}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.stack{display:grid;gap:24px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.section-title h2{margin:0}.mini-label{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{padding:22px 25px;background:#f1ece5;border:1px solid var(--line);border-radius:16px}.stat strong{display:block;font-size:34px;letter-spacing:-1px;margin-bottom:7px}.stat span{font-size:13px;color:var(--muted)}.loyalty{background:var(--card);color:#fff9f0;border-radius:23px;padding:26px;max-width:440px;width:100%;box-shadow:0 10px 25px #49354f0c}.loyalty.dark-ink{color:#231e25}.card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px;font-weight:650}.card-head>span:first-child{overflow-wrap:anywhere}.card-brand{font-weight:750;font-size:23px;letter-spacing:-1px;opacity:.8}.card-title{font-family:Georgia,serif;font-size:29px;line-height:1.13;margin:26px 0 22px;letter-spacing:-.6px}.stamps{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:12px;align-items:center}.stamp{aspect-ratio:1;max-width:58px;display:flex;align-items:center;justify-content:center;border:1px dashed currentColor;opacity:.4;border-radius:50%;font-size:22px}.stamp.filled{background:#fff9f0;color:#49354f;opacity:1;border:0}.dark-ink .stamp.filled{background:#29252b;color:white}.card-bottom{display:flex;align-items:end;justify-content:space-between;gap:18px;border-top:1px solid #ffffff2c;margin-top:23px;padding-top:18px;font-size:12px;line-height:1.5}.card-bottom>span{max-width:75%}.card-bottom strong{white-space:nowrap;font-size:17px}.tabs{border-bottom:1px solid var(--line);display:flex;gap:28px;padding:0 max(36px,calc((100vw - 1160px)/2));font-size:14px}.tabs a{padding:17px 0;color:var(--muted)}.tabs .active{color:#29252b;border-bottom:2px solid var(--coral)}label{display:grid;gap:9px;font-weight:650;font-size:13px;margin-bottom:20px}input,select{width:100%;background:#fff;border:1px solid #ded7ce;border-radius:10px;padding:13px 14px;color:#29252b;min-height:47px}input[type=color]{padding:5px;width:100%;height:48px}input[type=file]{font-size:13px;padding:10px}input::placeholder{color:#a79ea5}form p,.small{font-size:13px;line-height:1.55}.muted{color:var(--muted)}.help{background:#f3eee7;padding:15px 17px;border-radius:12px;font-size:13px;color:#6a606a;line-height:1.6}.help strong{color:#49354f}.auth{max-width:440px;margin:10px auto}.auth h1{font-size:34px}.auth-switch{display:flex;background:#eee8df;border-radius:12px;padding:4px;gap:4px;margin-bottom:26px}.auth-switch button{width:50%;background:none;color:#776d77;font-size:14px}.auth-switch button.active{background:white;color:#29252b;box-shadow:0 2px 5px #49354f08}.form-error{color:#a82920;font-size:14px;line-height:1.5;min-height:0;margin-bottom:14px}.form-error:empty{display:none}.join-qr{width:160px;height:160px;background:white;border-radius:14px}.join-box{display:flex;gap:20px;align-items:center;margin:18px 0}.join-box p{font-size:13px;margin:0}.link-copy{display:flex;gap:8px}.link-copy input{font-size:12px;min-width:0}.link-copy button{font-size:12px;padding:10px}.empty{padding:30px 12px;text-align:center;color:#918690;font-size:14px;line-height:1.6}.shops{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.shop-link{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fffdf9;border:1px solid var(--line);border-radius:16px;padding:24px}.shop-link:hover{border-color:#c8b9af}.shop-link small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.shop-dot{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff9f0;flex-shrink:0}.shop-link .shop-name{flex:1;overflow-wrap:anywhere}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{font-weight:500;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#918690;padding:12px 6px;border-bottom:1px solid var(--line)}td{padding:15px 6px;border-bottom:1px solid #eee8df}td button{font-size:12px;padding:8px 12px;background:#f1ece5;color:#49354f}td:first-child{font-variant-numeric:tabular-nums;white-space:nowrap}.progress{display:block;width:65px;height:4px;border-radius:2px;background:#eee8df;margin-top:6px}.progress i{display:block;height:4px;background:#ff876b;border-radius:2px}.cashier-result{margin-top:20px;border-top:1px solid var(--line);padding-top:22px}.cashier-count{font-size:36px;letter-spacing:-1px;font-weight:750;margin:14px 0 5px}.cashier-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px}.photo-label{margin:18px 0 0;padding-top:18px;border-top:1px solid var(--line);color:#776d77;font-weight:500}.customer{max-width:440px;margin:0 auto}.customer-heading{text-align:center;margin-bottom:28px}.customer-heading h1{font-size:35px}.customer-heading p{font-size:14px}.customer .loyalty{margin-bottom:22px}.customer-actions{display:grid;gap:12px}.qr-card{margin-top:22px;text-align:center}.qr-card img{width:180px;height:180px}.card-code{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:3px;font-weight:650;margin-bottom:8px}.live-line{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#7d737c;margin:18px 0}.live-line i{width:6px;height:6px;border-radius:50%;background:#7a9872}.google-note{text-align:center;font-size:12px;color:#948991;margin:4px 0 0}.preview{position:sticky;top:25px;padding:35px;background:#eee5dc;border-radius:22px}.preview>.loyalty{margin:20px auto}.preview p{text-align:center;font-size:12px;margin:20px 0 0}.activity{list-style:none;padding:0;margin:0}.activity li{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #eee8df;padding:14px 0;font-size:13px}.activity small{color:var(--muted);white-space:nowrap;font-size:11px}footer{max-width:1160px;margin:auto;padding:24px 0;border-top:1px solid var(--line);color:#9a8e96;display:flex;justify-content:space-between;font-size:12px}#notice{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#29252b;color:white;border-radius:12px;box-shadow:0 8px 40px #0002;font-size:14px;z-index:10;max-width:calc(100% - 30px);width:max-content}#notice:empty{display:none}.loading{padding:80px;text-align:center;color:#918690}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1240px){main,footer{margin-left:36px;margin-right:36px}}@media(max-width:850px){.hero{gap:30px}.hero h1{font-size:50px}.grid{grid-template-columns:1fr 1fr}.panel{padding:22px}.join-box{flex-direction:column;text-align:center}.shops{grid-template-columns:1fr 1fr}.header-right{gap:14px}.username{display:none}}@media(max-width:650px){header{height:76px;padding:0 20px}.brand{font-size:29px}.brand img{width:32px;height:32px}.header-right .text-button{font-size:12px}.header-right{gap:12px}.badge{font-size:10px;padding:6px 9px}main{margin:0 20px;padding:28px 0 45px}.hero{grid-template-columns:1fr;gap:20px;padding:12px 0 50px}.hero h1{font-size:53px}.hero p{font-size:16px}.hero-art{max-width:400px;width:100%;margin:auto;padding:25px 15px}.grid{grid-template-columns:1fr}.page-heading{align-items:start}.page-heading h1{font-size:32px}.page-heading .button{font-size:12px}.stats{gap:8px}.stat{padding:16px 13px}.stat strong{font-size:29px}.stat span{font-size:11px}.shops{grid-template-columns:1fr}.tabs{padding:0 20px;gap:24px;font-size:13px}.panel{padding:22px;border-radius:18px}.join-box{flex-direction:row;text-align:left}.join-qr{width:130px;height:130px}.preview{position:static;padding:22px}.loyalty{padding:23px}.card-title{font-size:28px}.stamp{font-size:19px}.stamps{gap:10px}.customer-heading h1{font-size:32px}footer{margin:0 20px;font-size:10px}.auth{margin:10px 0}.page-heading>div{min-width:0}.link-copy{flex-wrap:wrap}.link-copy input{flex:1;min-width:140px}}@media(prefers-reduced-motion:no-preference){.loyalty{transition:background .2s}.button,button{transition:filter .15s}}

/* Fast checkout: one merchant release, one stamp. */
.counter-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;background:#eee5dc;border:1px solid #e1d3c5;border-radius:20px;margin-bottom:26px}.counter-banner .eyebrow{display:block;margin-bottom:10px}.counter-banner h2{margin-bottom:5px}.counter-banner p{margin:0;font-size:14px}.counter-banner>.button{flex-shrink:0}.counter-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:60px;align-items:start}.counter-console{padding:26px;background:#fffdf9;border:1px solid var(--line);border-radius:26px;box-shadow:0 15px 50px #49354f08}.counter-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.counter-top>.mini-label{font-size:10px;text-align:right}.counter-status{font-size:12px;color:#786a78;background:#f0ebe5;border-radius:30px;padding:8px 12px}.counter-status[data-state=ready]{color:#3f6445;background:#edf3e9}.counter-status[data-state=claimed]{color:#3f6445;background:#edf3e9}.counter-visual{min-height:385px;display:flex;align-items:center;justify-content:center;background:#f7f3ed;border-radius:19px;overflow:hidden}.counter-placeholder{text-align:center;padding:35px 28px;width:100%}.counter-placeholder h2{font-size:28px;letter-spacing:-1px;margin:23px 0 10px}.counter-placeholder p{font-size:14px;max-width:290px;margin:0 auto}.counter-emblem{display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;font-size:45px;background:#ede2d5;border-radius:28px;color:var(--plum)}.counter-success .counter-emblem{background:#dcebd7;color:#46704b}.counter-success h2{color:#365d3b}.counter-qr{width:100%;padding:12px 14px 24px;background:white;display:flex;align-items:center;flex-direction:column;text-align:center}.counter-qr img{width:min(100%,340px);height:auto;aspect-ratio:1;display:block}.counter-qr strong{font-size:21px;letter-spacing:-.6px;margin-top:2px}.counter-qr>span{font-size:12px;color:var(--muted);margin-top:8px}.counter-timer{font-size:12px;color:#7a6d7a;text-align:center;padding:18px 0}.counter-track{height:4px;background:#eee8df;margin:13px 0 0;border-radius:4px;overflow:hidden}.counter-track i{display:block;background:var(--coral);height:100%;width:0;transition:width .15s linear}.counter-actions{display:flex;gap:9px}.counter-actions>.primary{flex:1;font-size:15px;min-height:52px}.counter-actions>.secondary{padding:12px 16px}.counter-console>.form-error{margin-top:15px}.counter-test{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.counter-test summary{cursor:pointer;color:#958792;font-size:11px}.counter-test .small{font-size:11px;margin:9px 0 0}.counter-test a[hidden]{display:none}.counter-guide{padding-top:18px}.counter-guide h2{font-size:31px}.counter-steps{padding:0;list-style:none;display:grid;gap:20px;margin:28px 0}.counter-steps li{display:flex;gap:16px}.counter-steps li>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:31px;height:31px;border:1px solid #decfc1;border-radius:50%;font-size:12px;color:#9c6652}.counter-steps strong{font-size:15px}.counter-steps p{font-size:13px;margin:6px 0 0;max-width:330px}.counter-rule{display:flex;gap:15px;padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.counter-rule>span{font-size:24px;color:#bb725b}.counter-rule strong{font-size:13px}.counter-rule p{font-size:12px;margin:6px 0 0}.counter-session{padding:21px 0}.counter-session>div{display:flex;align-items:center;gap:13px}.counter-session strong{font-size:35px;line-height:1}.counter-session span{font-size:12px;color:var(--muted)}.counter-session p{font-size:11px;margin:11px 0 0}.nfc-preview{display:flex;gap:16px;margin-top:25px;padding-top:23px;border-top:1px solid var(--line)}.nfc-mark{display:flex;align-items:center;justify-content:center;background:#eee8df;color:#7e6d7c;letter-spacing:2px;border-radius:12px;width:42px;height:48px;flex-shrink:0;font-size:14px;font-weight:750}.nfc-preview strong{font-size:14px}.nfc-preview p{font-size:12px;margin:7px 0}.nfc-preview .mini-label{font-size:10px}.collect-page .loyalty{margin-bottom:23px}.collect-page .customer-heading h1{font-size:36px}.collect-success-mark{margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:#dfecd9;color:#426248;width:62px;height:62px;border-radius:50%;font-size:30px}.card-reconnect{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.card-reconnect summary{font-size:12px;cursor:pointer;color:#81717f;margin-bottom:18px}.collect-page>.small a{text-decoration:underline}.collect-page .panel p:last-child{margin-bottom:0}.counter-guide .help{font-size:12px}button:disabled{cursor:default}@media(max-width:1000px){.counter-grid{gap:30px}.counter-console{padding:21px}.counter-visual{min-height:335px}}@media(max-width:650px){.counter-grid{grid-template-columns:1fr;gap:25px}.counter-console{padding:19px;border-radius:22px}.counter-visual{min-height:305px}.counter-qr{padding:0 5px 20px}.counter-qr strong{font-size:19px}.counter-qr>span{font-size:11px}.counter-actions{flex-wrap:wrap}.counter-actions .primary{min-width:210px}.counter-actions .secondary{flex:1}.counter-top{gap:8px}.counter-status{font-size:10px;padding:7px 9px}.counter-top>.mini-label{font-size:9px}.counter-placeholder{padding:27px 19px}.counter-placeholder h2{font-size:26px}.counter-guide{padding:0 4px}.counter-guide h2{font-size:28px}.counter-banner{padding:22px;align-items:start;flex-direction:column}.counter-banner .button{width:100%}.counter-banner h2{font-size:23px}.counter-page .page-heading{display:block}.counter-page .page-heading>a{display:inline-block;margin-top:12px}.counter-page .page-heading h1{font-size:34px}.collect-page .customer-heading h1{font-size:32px}.counter-test summary{font-size:11px}}
@media(min-width:651px){.counter-mode header{height:64px}.counter-mode .brand{font-size:28px}.counter-mode .brand img{width:32px;height:32px}.counter-mode .tabs a{padding:13px 0}.counter-mode main{padding-top:24px}.counter-page>.page-heading{margin-bottom:22px}.counter-page>.page-heading h1{font-size:34px;margin-bottom:8px}.counter-page>.page-heading .eyebrow{margin-bottom:10px}.counter-page>.page-heading p{font-size:14px}.counter-console{padding:20px}.counter-top{margin-bottom:12px}.counter-visual{min-height:295px}.counter-qr{padding:0 10px 18px}.counter-qr img{max-width:250px}.counter-qr strong{font-size:19px}.counter-qr>span{font-size:11px}.counter-placeholder{padding:30px 24px}.counter-placeholder .counter-emblem{width:76px;height:76px;font-size:36px}.counter-placeholder h2{font-size:26px;margin-top:18px}.counter-timer{padding:14px 0}.counter-track{margin-top:10px}.counter-actions>.primary{min-height:48px}.counter-test{margin-top:13px;padding-top:12px}.counter-guide{padding-top:10px}.counter-guide .eyebrow{margin-bottom:14px}.counter-guide h2{font-size:28px}.counter-steps{gap:15px;margin:22px 0}.counter-rule{padding:17px 0}.counter-session{padding:18px 0}}

[hidden]{display:none!important}.wallet-status{border:1px solid #cbd9cd;background:#f1f7f0}.wallet-status p{margin:8px 0}.wallet-status small{line-height:1.6;display:block}.wallet-summary{padding:16px 0;color:#406746}.wallet-summary strong{font-size:32px;margin-right:8px}

/* Earned rewards remain separate from the next stamp round. */
.card-rewards{margin-top:16px;padding-top:14px;border-top:1px solid currentColor;font-size:12px;line-height:1.5}.reward-panel{margin:24px 0;padding:24px;background:#fffdf9;border:1px solid #dfd4c6;border-radius:22px}.reward-panel .eyebrow{margin-bottom:12px}.reward-panel h2{font-size:25px}.reward-item{display:grid;gap:13px;border-top:1px solid var(--line);padding:18px 0}.reward-item strong{display:block;overflow-wrap:anywhere}.reward-item small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.reward-code-box{text-align:center;border-top:1px solid var(--line);padding-top:22px;margin-top:10px}.reward-code-box img{display:block;width:min(100%,260px);height:auto;margin:auto}.reward-digits{display:block;letter-spacing:2px;font-size:22px;font-variant-numeric:tabular-nums;margin:8px 0}.reward-code-box [data-countdown]{font-size:12px}.reward-receipt{border:1px solid #cbd9cd;background:#f1f7f0;border-radius:14px;padding:18px;margin:16px 0}.reward-receipt>strong{color:#406746}.reward-receipt p{margin:9px 0;font-size:14px}.reward-receipt small{display:block;font-size:10px;line-height:1.6;overflow-wrap:anywhere;color:#6a7067}.reward-history{margin-top:18px}.reward-history summary,.reward-undo summary{font-size:13px;cursor:pointer;color:#625161;line-height:1.6}.reward-history button{display:block;text-align:left}.reward-merchant{padding-top:24px;border-top:1px solid var(--line);margin-top:24px}.reward-check{display:flex;align-items:flex-start;gap:12px;background:#f3eee7;padding:16px;border-radius:12px;line-height:1.6}.reward-check input{width:21px;height:21px;min-height:21px;flex-shrink:0;margin:2px 0;accent-color:var(--coral)}.reward-undo{margin-top:22px}.reward-undo form{margin-top:16px}.reward-code .help{margin-top:16px}.reward-merchant .form-error,.reward-undo .form-error{margin-top:12px}

/* Optional merchant branding, with the existing text/symbol layout as fallback. */
.shop-identity{display:flex;align-items:center;gap:10px;min-width:0}.shop-identity>span:last-child{overflow-wrap:anywhere}.shop-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:52px;height:44px;padding:5px;border-radius:9px}.shop-logo img{width:100%;height:100%;object-fit:contain}.stamp{overflow:hidden}.stamp-logo{width:100%;height:100%;object-fit:contain;padding:7px;border-radius:50%}.branding-fields{border:1px solid var(--line);border-radius:16px;padding:20px;margin:28px 0;min-width:0}.branding-fields legend{font-size:16px;font-weight:700;padding:0 6px}.branding-fields legend span,.optional{font-size:11px;color:var(--muted);font-weight:400}.brand-upload{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:18px 0;border-top:1px solid var(--line)}.brand-upload-preview{display:flex;align-items:center;justify-content:center;background:#eee8df;width:64px;height:64px;padding:6px;border-radius:12px;overflow:hidden}.brand-upload-preview img{width:100%;height:100%;object-fit:contain}.brand-upload-preview>span{font-size:26px;color:var(--plum);font-family:Georgia,serif}.brand-upload label{margin-bottom:6px;gap:6px}.brand-upload p{font-size:11px;margin:6px 0 0}.brand-upload input{font-size:11px;max-width:100%}.brand-upload .text-button{font-size:12px;padding:8px 0}.branding-fields>.small:last-of-type{margin:13px 0 0}#branding-status:empty{display:none}@media(max-width:650px){.branding-fields{padding:14px}.brand-upload{grid-template-columns:48px minmax(0,1fr);gap:10px}.brand-upload-preview{width:48px;height:48px}.shop-logo{width:44px;height:38px}.shop-identity{gap:8px}.card-head .card-brand{font-size:19px}.stamp-logo{padding:5px}}


/* A completed card stays full; earning a reward never spends it. */
.card-complete{position:relative;overflow:hidden;box-shadow:0 10px 30px #49354f20,0 0 0 3px #d7b87c}.completion-seal{display:inline-flex;border:1px solid currentColor;border-radius:30px;padding:7px 12px;font-size:11px;margin:-8px 0 20px;letter-spacing:.3px}.reward-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.reward-sparkles i{position:absolute;top:36%;left:15%;color:#f7cf81;font-size:25px;opacity:0;font-style:normal}.reward-sparkles i:nth-child(2){left:32%;top:18%;--delay:.08s}.reward-sparkles i:nth-child(3){left:62%;top:36%;--delay:.16s}.reward-sparkles i:nth-child(4){left:86%;top:23%;--delay:.24s}.reward-sparkles i:nth-child(5){left:76%;top:70%;--delay:.32s}.reward-sparkles i:nth-child(6){left:40%;top:80%;--delay:.4s}.dark-ink .reward-sparkles i{color:#49354f}.claim-reward-choice{padding:24px;border:1px solid #dfd4c6;border-radius:22px;background:#fffdf9;text-align:center}.claim-reward-choice h2{font-size:24px}.claim-reward-choice>.small{margin:18px 0 0;color:var(--muted)}.merchant-reward-ready{padding:22px;border:1px solid #d7b87c;background:#fbf2df;border-radius:16px;line-height:1.7;font-size:14px}.merchant-reward-ready .primary{margin-top:16px}.reward-table-action{display:block;margin-top:8px!important;background:#49354f!important;color:#fff9f0!important}.counter-visual{flex-direction:column}.counter-reward-callout{padding:22px;margin:0 18px 20px;background:#fbf2df;border:1px solid #d7b87c;border-radius:16px;text-align:center;width:calc(100% - 36px)}.counter-reward-callout .eyebrow{font-size:10px}.counter-reward-callout h3{font-size:21px;margin:12px 0}.counter-reward-callout p{font-size:13px;line-height:1.6}.counter-redeem-link{margin-top:12px;font-size:13px}.reward-merchant #redeem-entry{margin-top:22px}.reward-merchant #redeem-entry .form-error{margin-top:12px}
@media(prefers-reduced-motion:no-preference){.celebrate .stamp.filled:last-child{animation:stamp-arrives .65s cubic-bezier(.2,.8,.3,1.2) both}.celebrate .reward-sparkles i{animation:reward-sparkle 1.4s ease-out var(--delay,0s) both}.celebrate .completion-seal{animation:seal-arrives .5s ease-out .45s both}@keyframes stamp-arrives{0%{transform:scale(1.7) rotate(-18deg);opacity:0}65%{transform:scale(.88) rotate(3deg);opacity:1}100%{transform:scale(1) rotate(0)}}@keyframes reward-sparkle{0%{transform:translateY(30px) scale(.2);opacity:0}30%{opacity:1}100%{transform:translateY(-70px) scale(1.1) rotate(40deg);opacity:0}}@keyframes seal-arrives{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.google-wallet{text-align:center}.google-wallet-button{display:block;background:transparent;padding:0;border:0;border-radius:0;margin:8px auto;max-width:100%;width:100%}.google-wallet-button img{display:block;width:100%;height:auto;min-height:48px}.google-wallet-button:hover{filter:none}.google-wallet-button:disabled{opacity:.55}.google-wallet-button:focus-visible{outline:3px solid #ff876b;outline-offset:4px}.google-wallet .small{margin:12px 0 0}.google-wallet .form-error{margin-top:12px}#merchant-google-wallet .text-button{display:inline-block;margin-top:14px}
/* Language, account and subscription screens */
.language-control{margin:0;display:block}.language-control select{width:auto;min-width:98px;margin:0;padding:8px 26px 8px 10px;border-radius:10px;font-size:13px;background:transparent}.billing-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;background:#e9efdf;border-radius:18px;margin-bottom:26px}.billing-banner p{margin:6px 0 0;font-size:13px}.billing-attention{background:#f5e4cf}.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:950px;margin:32px auto}.billing-page>h1{max-width:760px}.billing-page>p{max-width:650px}.plan-price{font-size:66px;letter-spacing:-3px;font-weight:600;margin:24px 0 8px}.plan-price span{font-size:18px;letter-spacing:0;font-weight:400}.plan-features{list-style:none;padding:0;margin:28px 0;display:grid;gap:16px}.plan-features li:before{content:'✓';margin-inline-end:12px;color:#466347}.billing-details{display:grid;gap:8px;margin:24px 0}.billing-details dt{font-size:12px;color:#746b77}.billing-details dd{margin:0 0 16px;overflow-wrap:anywhere}.account-panel{max-width:600px}.billing-page .text-button{display:block;margin-top:20px}.billing-page #billing-notice{color:#466347}.header-right{flex-wrap:wrap}.tabs{overflow-x:auto}.tabs a{white-space:nowrap}[dir=rtl] body{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}[dir=rtl] .eyebrow,[dir=rtl] .mini-label,[dir=rtl] h1,[dir=rtl] h2{letter-spacing:0}[dir=rtl] input[type=email],[dir=rtl] input[name=code],[dir=rtl] .card-bottom strong,[dir=rtl] .cashier-count{direction:ltr;unicode-bidi:isolate}[dir=rtl] .plan-price{letter-spacing:0}[dir=rtl] table{text-align:right}[dir=rtl] .brand{direction:ltr}[dir=rtl] .floating-note{transform:rotate(5deg)}
@media(max-width:700px){.billing-grid{grid-template-columns:1fr}.billing-banner{align-items:flex-start;flex-direction:column;gap:14px}.plan-price{font-size:54px}.header-right{gap:10px}.username{display:none}.language-control select{min-width:85px}.tabs{gap:20px}}

.preview-notice{padding:14px 20px;border:1px solid #e8d9c7;border-radius:12px;background:#f4e9dc;color:#72523e;font-size:14px;margin-bottom:10px}

@media(max-width:700px){.hero-art:before{transform:none}.header-right{justify-content:flex-end}.hero-art{min-width:0}}

/* Clear, separate cashier tasks and progressive fallbacks. */
.merchant-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.merchant-action{display:block;text-align:start;background:#fff9f0;border:1px solid #e4dcd8;border-radius:22px;padding:24px;color:#352e38;text-decoration:none;cursor:pointer;font:inherit;transition:transform .15s,box-shadow .15s}.merchant-action:hover{transform:translateY(-2px);box-shadow:0 8px 24px #49354f12}.merchant-action h2{font-size:1.35rem;margin:14px 0 10px}.merchant-action p{font-size:.95rem;line-height:1.55;font-weight:400;margin-bottom:20px}.merchant-action strong{font-size:.95rem}.action-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#49354f;color:white;font-weight:700}.action-stamp{background:#49354f;color:#fff9f0}.action-stamp p{color:#eee4ef}.action-stamp .action-number{background:#fff9f0;color:#49354f}.action-reward{background:#e7eee5}#join-card-panel{scroll-margin-top:24px;border:2px solid #c4b0a0}.manual-entry{margin-top:20px}.manual-entry summary{cursor:pointer;margin-bottom:16px;font-size:.95rem}.scanner-dialog{width:min(520px,calc(100% - 32px));padding:24px;border:0;border-radius:24px;background:#fff9f0;color:#352e38;max-height:90dvh;overflow:auto}.scanner-dialog::backdrop{background:#19121dcc}.scanner-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.scanner-heading h2{font-size:1.35rem}.scanner-heading button{font-size:1.8rem;padding:4px 12px}.scanner-dialog video{display:block;width:100%;max-height:45dvh;object-fit:cover;background:#211c25;border-radius:16px;margin:18px 0}.scanner-dialog video[hidden]{display:none}.scanner-status{min-height:2.5em;font-size:.95rem}.address-field{position:relative;margin-bottom:20px}.address-field>input{width:100%}.address-field [role=listbox]{border:1px solid #d6c8d9;border-radius:12px;background:white;max-height:250px;overflow:auto;margin-top:5px}.address-field [role=option]{display:block;width:100%;border:0;border-radius:0;background:white;text-align:start;padding:12px 14px;font-weight:400;color:#352e38}.address-field [role=option]:hover,.address-field [role=option][aria-selected=true]{background:#eee6ef}.address-field .help{font-size:.78rem;line-height:1.5}.shop-address{font-size:.95rem;color:#6a606c}.address-status:empty{display:none}@media(max-width:760px){.merchant-actions{grid-template-columns:1fr;gap:10px}.merchant-action{padding:20px}.merchant-action h2{margin-top:10px}.merchant-action p{margin-bottom:12px}}
