:root{--ink:#182e2a;--green:#184c3d;--paper:#f6f7f3;--line:#d8ded7;--lime:#dcf87e}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;max-width:1240px;margin:auto;padding:26px 40px;display:flex}.brand{letter-spacing:-3px;font-size:38px;font-weight:900;text-decoration:none}.brand span{vertical-align:top;letter-spacing:0;font-size:14px}nav{gap:25px;font-size:14px;display:flex}a{color:inherit;text-underline-offset:4px}main{max-width:1160px;min-height:65vh;margin:60px auto 90px;padding:0 28px}h1{letter-spacing:-1.7px;margin:12px 0 28px;font-size:clamp(32px,4vw,54px);font-weight:600;line-height:1.1}h2{letter-spacing:-.6px;font-size:26px;line-height:1.2}h3{margin-top:36px;font-size:18px}p{margin:16px 0}.eyebrow{letter-spacing:2px;font-size:12px;font-weight:700}.home{padding:20px 0}.home h1{letter-spacing:-5px;max-width:900px;font-size:clamp(56px,9vw,108px)}.intro{margin-bottom:32px;font-size:21px}.home-note{border-top:1px solid var(--line);letter-spacing:2px;gap:60px;margin-top:85px;padding-top:24px;font-size:12px;display:flex}.button,button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;text-align:center;border-radius:7px;padding:13px 20px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-block}.secondary{color:var(--green);background:0 0}button:disabled{opacity:.5;cursor:wait}.actions{flex-wrap:wrap;gap:12px;display:flex}input{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #9aa79d;border-radius:5px;margin-top:7px;padding:13px 14px}label{font-size:14px;font-weight:600;display:block}form{gap:20px;margin:26px 0;display:grid}form button{margin-top:5px}input:focus-visible,a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #779c2a}.panel{max-width:510px;margin:auto}.notice{border-left:3px solid var(--green);overflow-wrap:anywhere;background:#e8efdf;padding:15px}.small{color:#4d6057;font-size:14px}.title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:25px}.stats strong{font-size:45px;font-weight:500;line-height:1.3;display:block}.stats span{color:#4d6057;font-size:14px}.columns{grid-template-columns:1.3fr 1fr;gap:22px;display:grid}.box{border:1px solid var(--line);background:#fff;border-radius:12px;padding:30px}.qr-box{text-align:center;background:var(--lime)}.qr-box svg{max-width:100%;height:auto;margin:12px auto}.break{overflow-wrap:anywhere;font-size:14px}.activity{padding:0;list-style:none}.activity li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;font-size:14px;display:flex}.activity time{color:#4d6057;font-size:12px}.card-page{text-align:center;max-width:480px;margin:auto}.loyalty{background:var(--green);color:#fff;text-align:center;border-radius:22px;padding:30px;box-shadow:0 15px 45px #15372a18}.loyalty h1{margin-bottom:10px;font-size:36px}.stamps{grid-template-columns:repeat(5,1fr);gap:10px;margin:32px 0;display:grid}.stamps span{aspect-ratio:1;color:#cad6ce;border:1px solid #86a393;border-radius:50%;place-items:center;font-size:17px;display:grid}.stamps .filled{background:var(--lime);border-color:var(--lime);color:var(--green);font-weight:700}.balance strong{font-size:34px;display:block}.balance span{font-size:14px}.card-qr{border-top:1px solid #628477;margin-top:28px;padding-top:24px}.card-qr svg{background:#fff;border-radius:8px}.card-qr p{font-size:14px}.reward{background:var(--lime);color:var(--green);border-radius:6px;padding:12px}.card-page>button{margin-top:24px}.scanner-shell{border:1px dashed #9aa79d;border-radius:8px;margin-top:30px;padding:20px}.scanner-shell p{font-size:14px}.big-balance{font-size:55px;line-height:1.2}.empty{padding:35px 0}footer{border-top:1px solid var(--line);letter-spacing:1px;justify-content:space-between;gap:20px;padding:24px 40px;font-size:12px;display:flex}@media (max-width:700px){header{padding:18px 22px}nav{gap:12px;font-size:12px}main{margin:38px auto 60px;padding:0 20px}.columns{grid-template-columns:1fr}.stats{gap:8px}.stats article{padding:14px}.stats strong{font-size:32px}.stats span{font-size:12px}.home h1{letter-spacing:-3px}.home-note{gap:22px;font-size:10px}.box{padding:23px}.title-row{align-items:flex-start}.title-row button{padding:10px;font-size:14px}.loyalty{padding:24px}footer{padding:22px;font-size:10px}.activity li{flex-wrap:wrap}}@media (prefers-reduced-motion:no-preference){button,a{transition:opacity .15s}button:hover,a:hover{opacity:.8}}.camera-scanner{margin:24px 0}.camera-session video{aspect-ratio:4/3;object-fit:cover;background:#182e2a;border-radius:10px;width:100%;display:block}.camera-session p{font-size:14px}.camera-session button{width:100%}.save-card{text-align:left;margin-top:28px}.save-card h2{margin-top:0}.saved-cards{gap:16px;margin:24px 0;display:grid}.saved-card{text-decoration:none;display:block}.saved-card h2{margin-top:0}.saved-card span{font-size:14px}nav{flex-wrap:wrap;justify-content:flex-end}@media (max-width:420px){header{gap:18px}nav{gap:6px 12px;max-width:230px}}.business-link{color:#4d6057;letter-spacing:0;text-transform:none;font-size:13px}footer{flex-wrap:wrap;align-items:center}.slogan-editor{text-align:left}.qr-sign-preview{color:#182e2a;overflow-wrap:anywhere;background:#fff;border-radius:12px;margin:24px 0;padding:24px 18px}.sign-cafe{margin:0 0 22px;font-size:20px;font-weight:700}.sign-slogan{white-space:pre-wrap;margin:0 0 24px;font-size:36px;line-height:1.12}.sign-call{font-size:20px;font-weight:700}.sign-reward{font-size:16px}.sign-brand{letter-spacing:0;margin:24px 0 0;font-size:14px;font-weight:400}.qr-print-sheet{display:none}@media print{@page{size:A4 portrait;margin:0}html,body{background:#fff!important;margin:0!important;padding:0!important}body>*{display:none!important}body>.qr-print-sheet{text-align:center;color:#000;overflow-wrap:anywhere;break-inside:avoid;background:#fff;width:100%;padding:22mm 20mm;font-family:Arial,Helvetica,sans-serif;display:block!important}.qr-print-sheet .sign-cafe{margin:0 0 12mm;font-size:24pt}.qr-print-sheet .sign-slogan{letter-spacing:-1px;margin:0 0 12mm;font-size:36pt;line-height:1.12}.qr-print-sheet svg{width:75mm;height:75mm;margin:0 auto;display:block}.qr-print-sheet .sign-call{margin:9mm 0 4mm;font-size:19pt}.qr-print-sheet .sign-reward{margin:0;font-size:14pt}.qr-print-sheet .sign-brand{margin:10mm 0 0;font-size:11pt}.qr-print-sheet .sign-slogan-long{font-size:26pt}}.brand{letter-spacing:-1.5px;flex-shrink:0;font-size:32px;line-height:1.1}.sign-brand{letter-spacing:0}@media (max-width:420px){.brand{font-size:25px}header{gap:12px}}.welcome{max-width:940px;margin:auto;padding:12px 0}.welcome h1{letter-spacing:-3px;font-size:clamp(44px,7vw,78px);line-height:1.05}.welcome>.intro{max-width:660px;font-size:20px}.welcome-question{margin-top:36px;font-weight:700}.welcome-options{grid-template-columns:1fr 1fr;gap:22px;margin:20px 0;display:grid}.welcome-option{background:var(--green);color:#fff;border-radius:16px;flex-direction:column;padding:32px;text-decoration:none;display:flex}.welcome-option.maker{background:var(--lime);color:var(--ink)}.welcome-option h2{margin:16px 0 8px;font-size:32px}.welcome-option p{margin:8px 0 28px}.welcome-action{justify-content:space-between;gap:16px;margin-top:auto;font-weight:700;display:flex}.welcome-note{max-width:650px;margin-top:24px}@media (max-width:600px){.welcome-options{grid-template-columns:1fr;gap:16px}.welcome-option{padding:25px}.welcome h1{letter-spacing:-2px}}.analytics{border-top:1px solid var(--line);margin-top:56px;padding-top:28px}.analytics h2{margin:8px 0}.insight-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0;display:grid}.insight-grid .box{padding:22px}.insight-grid h3{margin:0;font-size:15px}.insight-grid strong{margin:8px 0;font-size:38px;font-weight:600;display:block}.insight-grid p{margin:0}.visit-trend{grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0;padding:0;list-style:none;display:grid}.visit-trend li{border:1px solid var(--line);background:#fff;border-radius:10px;padding:20px}.trend-heading{justify-content:space-between;gap:12px;font-size:14px;display:flex}.trend-track{background:#e5eadf;border-radius:8px;height:10px;margin-top:16px;overflow:hidden}.trend-track>div{background:var(--green);height:100%}@media (max-width:900px){.insight-grid,.visit-trend{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.insight-grid,.visit-trend{grid-template-columns:1fr}}select{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #9aa79d;border-radius:5px;margin-top:7px;padding:13px 14px}.business-themed{background:var(--paper);border-radius:12px}.theme-preview{background:var(--paper);border-color:var(--green)}.saved-card{border-left:5px solid var(--green)}@media screen and (max-width:700px){.card-page .card-qr{margin-top:6px;padding-top:6px}}.admin-page .box{margin:24px 0}.admin-page .stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.admin-controls{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.admin-controls label{flex:1;min-width:180px}.admin-table-wrap{max-height:520px;overflow:auto}.admin-table-wrap table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.admin-table-wrap th,.admin-table-wrap td{overflow-wrap:anywhere;vertical-align:top;border-bottom:1px solid #dce2da;min-width:130px;max-width:340px;padding:12px}.admin-table-wrap th{text-transform:capitalize;background:#f1f5eb;position:sticky;top:0}.admin-page textarea{font:inherit;border:1px solid #c7cec3;border-radius:8px;width:100%;min-height:90px;padding:12px}.admin-page input[type=checkbox]{width:auto}.admin-page fieldset{border:0;min-width:0;margin:0;padding:0}.admin-page fieldset:disabled{opacity:.65}.insights-subscribe{max-width:100%;margin:0 0 16px}.home-note-copy{border-top:1px solid var(--line);max-width:760px;margin-top:48px;padding-top:24px}.package-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.package-manager .package-grid .box{margin:0}.package-manager h3{margin-top:0}.sign-tagline{letter-spacing:1px;margin:10px 0 0;font-size:11px;line-height:1.5}@media print{.qr-print-sheet .sign-tagline{margin:3mm 0 0;font-size:9pt}}.subscription-tiers{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0;display:grid}.tier{flex-direction:column;min-width:0;display:flex}.tier-heading{text-align:center;border-bottom:1px solid var(--line);min-height:140px;padding-bottom:22px}.tier-heading h2{margin:0 0 8px;font-size:30px}.tier-heading p{margin:0;font-size:20px}.tier ul{flex:1;padding-left:20px}.tier li{margin:14px 0}.tier-state{font-weight:600}.current-plan{margin:-12px 0 20px;font-size:16px;font-weight:400}@media (max-width:750px){.subscription-tiers{grid-template-columns:1fr}.tier-heading{min-height:0}}.consent-option{align-items:flex-start;gap:10px;font-weight:400;display:flex}.consent-option input{flex:none;width:18px;height:18px;margin:4px 0 0}.marketing-preference{text-align:left;margin-top:24px}.marketing-preference h2{font-size:20px}.audit-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-width:480px;font-size:12px}.admin-table-wrap summary{cursor:pointer;white-space:nowrap}.brand-logo{letter-spacing:0;line-height:0;display:block}.brand-logo img{width:124px;max-width:100%;height:auto;display:block}@media (max-width:700px){.brand-logo img{width:92px}}.points-setting-row{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.points-setting-row span{flex:1;min-width:160px}.points-setting-row button{padding:6px 10px;font-size:13px}.loyalty-settings{border-bottom:1px solid var(--line);padding-bottom:24px}.points-button-amount{font-weight:400;display:block}.undo-points{color:#fff;background:#bf5100;border-color:#bf5100;min-width:150px;margin-top:16px}.points-card-balance{margin:24px 0}.points-card-rewards{text-align:left;max-height:150px;padding:0;font-size:14px;list-style:none;overflow:auto}.points-card-rewards li{border-bottom:1px solid #ffffff40;padding:6px 0}.reporting-zone{max-width:350px;margin:18px 0}.reporting-zone span{margin-top:6px;font-weight:400;display:block}.busy-times-chart,.popular-rewards-chart{margin-top:24px}.busy-times-chart h3,.popular-rewards-chart h3{margin:0 0 12px;font-size:22px}.heatmap-scroll{overflow-x:auto}.busy-heatmap{border-spacing:7px;table-layout:fixed;width:100%;min-width:560px}.busy-heatmap caption{text-align:left;margin-bottom:12px;font-size:14px}.busy-heatmap th{text-align:center;font-size:13px}.busy-heatmap th:first-child{text-align:left;width:54px}.busy-heatmap th span,.busy-heatmap th small{display:block}.busy-heatmap th small{margin-top:4px;font-weight:400}.busy-heatmap td{padding:0}.busy-heatmap button{border:1px solid #d8ded7;border-radius:5px;width:100%;min-height:44px;padding:9px 4px;font-size:16px}.busy-heatmap button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.chart-selection{font-size:14px;font-weight:600}.reward-popularity{max-height:500px;margin:20px 0;padding:0;list-style:none;overflow:auto}.reward-popularity li{margin:0 0 22px}.reward-popularity-label{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px;display:flex}.reward-popularity-label small{font-weight:400}.reward-popularity-track{background:#e5eadf;border-radius:4px;height:18px;overflow:hidden}.reward-popularity-track>div{background:var(--green);border-radius:4px;height:100%}.business-themed button,.business-themed .button{color:var(--on-primary,#fff);border-color:var(--primary-line,var(--green))}.business-themed button.secondary,.business-themed .button.secondary{color:#182e2a;background:#fff;border-color:#182e2a}.loyalty{color:var(--on-primary,#fff)}.loyalty .stamps span{color:var(--on-primary,#fff);border-color:currentColor}.loyalty .stamps .filled,.loyalty .reward{color:var(--on-accent,#182e2a);background:var(--lime);border-color:var(--lime)}.loyalty .card-qr{border-color:currentColor}.business-logo{object-fit:contain;background:#fff;border-radius:10px;width:128px;height:128px;margin:0 auto 20px;padding:8px;display:block}.brand-attribution{margin:22px 0 0;font-size:12px}.branding-settings{border-top:1px solid var(--line);margin:36px 0;padding-top:24px}.branding-preview{margin:24px 0}.colour-fields{grid-template-columns:64px 1fr;align-items:end;gap:12px;display:grid}.colour-fields input[type=color]{height:48px;padding:4px}.colour-swatches{grid-template-columns:repeat(6,minmax(0,44px));gap:10px;margin:12px 0;display:grid}.colour-swatches button{border:2px solid #182e2a;width:100%;min-width:0;height:44px;padding:0}.branding-settings fieldset{border:0;margin:20px 0;padding:0}.branding-settings input[type=checkbox]{width:auto}.branding-settings .loyalty h1{overflow-wrap:anywhere}.qr-sign-preview{border-top:6px solid var(--green)}.business-themed .undo-points{color:#fff;background:#bf5100;border-color:#bf5100}.loyalty h1{overflow-wrap:anywhere}input,select,textarea,.admin-page textarea,[contenteditable=true]{min-width:0;max-width:100%;font-size:max(16px,1rem)}fieldset,form,label,.columns>*,.title-row>*{min-width:0}fieldset{min-inline-size:0}.colour-fields{grid-template-columns:64px minmax(0,1fr)}.title-row{flex-wrap:wrap}.title-row h1,h1,h2,h3{overflow-wrap:anywhere}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats article{min-width:0}.stats strong{overflow-wrap:anywhere}button,.button{overflow-wrap:anywhere;max-width:100%}body{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}html{scroll-padding-top:16px;scroll-padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}main{min-height:65dvh}@media (max-width:700px){.stats strong{font-size:clamp(20px,5.5vw,32px)}}.google-review-action{overflow-wrap:anywhere;text-align:center;border-top:1px solid;gap:.65rem;margin-top:1.3rem;padding-top:1.3rem;display:grid}.google-review-action h2,.review-prompt h2{margin:0;font-size:1.2rem;line-height:1.35}.google-review-action p,.review-prompt p{margin:0;line-height:1.55}.review-eyebrow{letter-spacing:.13em;font-size:.7rem;font-weight:700}.google-review-action .button{white-space:normal;justify-self:center;max-width:100%;min-height:48px}.review-prompt{text-align:left;overflow-wrap:anywhere;border:2px solid;border-radius:18px;gap:.85rem;margin-top:1.2rem;padding:1.25rem;display:grid}.review-actions{flex-wrap:wrap;gap:.65rem;display:flex}.review-actions>*{text-align:center;white-space:normal;flex:160px;min-height:48px}.review-preview{background:var(--green);color:var(--on-primary,#fff);border-radius:16px;margin-top:1.4rem;padding:1.2rem}@media (max-width:480px){.review-prompt{padding:1rem}.google-review-action h2{font-size:1.1rem}.review-actions{flex-direction:column}.review-actions>*{flex:auto}}.loyalty .google-review-action .button,.loyalty .review-prompt .button,.review-preview .button{background:var(--lime);color:var(--on-accent,#182e2a);border-color:var(--lime)}.loyalty .review-prompt .secondary{color:inherit;background:0 0;border-color:currentColor}.loyalty .google-review-action .small,.loyalty .review-prompt .small,.review-preview .small{color:inherit}.send-register{text-align:center;margin:1rem 0 1.5rem}.send-register>button{width:100%;min-height:52px}.register-dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);width:min(440px,100vw - 32px);max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-wrap:anywhere;box-sizing:border-box;border-radius:20px;padding:clamp(20px,5vw,32px);overflow-y:auto}.register-dialog::backdrop{background:#0000008c}.register-dialog h2{font-size:1.5rem;line-height:1.25}.register-dialog button{min-height:48px}.checkin-queue .activity li{align-items:center;gap:12px}.register-person{overflow-wrap:anywhere;flex:1;min-width:0}.register-person small{display:block}.register-more{position:relative}.register-more summary{cursor:pointer;text-align:center;min-width:44px;padding:12px;list-style:none}.register-more[open]{z-index:2}.register-more button{white-space:normal;font-size:1rem}.loyalty .send-register>button{background:var(--lime);border-color:var(--lime);color:var(--on-accent,#182e2a)}.register-dialog .small{color:inherit}.register-dialog button{color:var(--on-primary,white)}.register-dialog button.secondary{color:var(--ink);border-color:var(--ink)}@media (max-width:480px){.checkin-queue .title-row{flex-wrap:wrap;align-items:flex-start}.checkin-queue .activity li{flex-wrap:wrap}}.mobile-wordmark{display:none}.compact-loyalty{padding:22px}.compact-loyalty .card-identity{justify-content:center;align-items:center;gap:12px;margin-bottom:14px;display:flex}.compact-loyalty .card-identity .business-logo{flex-shrink:0;width:60px;height:60px;margin:0;padding:4px}.compact-loyalty .card-identity h1{letter-spacing:-.6px;min-width:0;margin:0;font-size:clamp(24px,5vw,30px);line-height:1.15}.compact-loyalty .balance{margin:0}.compact-loyalty .balance strong{overflow-wrap:anywhere;font-size:40px;line-height:1.1}.compact-loyalty .balance span{margin-top:4px;font-size:15px;display:block}.compact-loyalty .points-card-rewards{text-align:center;scrollbar-width:thin;max-height:132px;margin:10px 0 0;overflow:auto}.compact-loyalty .points-card-rewards li{overflow-wrap:anywhere;border:0;padding:4px 0;line-height:1.4}.compact-loyalty .points-card-rewards li strong{margin-left:8px;font-size:13px;display:inline-block}.compact-loyalty .card-reward-goal{margin:6px 0 0;font-size:15px}.compact-loyalty .stamps{gap:8px;max-width:290px;margin:14px auto}.compact-loyalty .reward{margin:10px 0;padding:8px;font-size:15px}.compact-loyalty .card-qr{margin-top:14px;padding-top:14px}.compact-loyalty .card-qr svg{margin:auto;display:block}.compact-loyalty .send-register{margin:14px 0 0}.compact-loyalty .send-register>button{min-height:48px;padding:10px 16px}.compact-loyalty .google-review-action,.compact-loyalty .compact-review-prompt{border:0;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);text-align:center;border-radius:0;gap:8px;margin:14px 0 0;padding:12px 0 0}.compact-loyalty .google-review-action h2,.compact-loyalty .compact-review-prompt h2{font-size:16px;font-weight:500;line-height:1.4}.compact-loyalty .google-review-action .button,.compact-loyalty .review-prompt .button{color:inherit;background:0 0;border-color:currentColor;min-height:44px;padding:9px 14px}.compact-loyalty .review-actions{flex-direction:row;justify-content:center;gap:8px}.compact-loyalty .review-actions>*{flex:0 auto;min-height:44px;padding:9px 14px}.compact-loyalty .brand-attribution{margin-top:14px}.card-secondary{text-align:left;border-top:1px solid var(--line);margin:16px 0}.card-secondary summary{cursor:pointer;min-height:44px;padding:12px 0}.card-secondary .marketing-preference{margin-top:0}@media (max-width:700px){.customer-header{gap:12px;min-height:57px;padding:6px 16px}.customer-header .brand-logo{flex-shrink:1;align-items:center;min-width:0;min-height:44px;display:flex}.customer-header .brand-logo img{display:none}.customer-header .mobile-wordmark{letter-spacing:1.2px;font-size:15px;font-weight:800;line-height:1.2;display:block}.customer-header nav{flex-shrink:0;font-size:14px}.customer-header nav a{align-items:center;min-height:44px;display:flex}.customer-card-main{margin:14px auto 32px;padding:0 14px}.compact-loyalty{border-radius:18px;padding:18px}.card-page>button{margin-top:14px}}.google-review-dialog{background:var(--green);color:var(--on-primary,#fff);text-align:center;border-color:currentColor}.google-review-dialog h2{margin:0 0 24px;line-height:1.3}.review-dialog-actions{gap:12px;display:grid}.google-review-dialog .button{background:var(--lime);border-color:var(--lime);color:var(--on-accent,#182e2a);min-height:48px}.google-review-dialog button.secondary{color:inherit;border-color:currentColor;min-height:48px}.scanner-page{max-width:900px;margin:auto}.scanner-page>h1{letter-spacing:-.7px;margin-bottom:20px;font-size:28px}.scanner-page .checkin-queue{margin-bottom:18px}.scanner-page .register-person strong{letter-spacing:-.3px;font-size:26px;line-height:1.2;display:block}.scanner-page .waiting-age{color:#4d6057;margin:4px 0;font-size:14px;display:block}.scanner-page .register-person small{font-size:15px}.scanner-page .checkin-queue .actions>button{min-width:72px;min-height:48px}.scanner-tools summary{cursor:pointer;min-height:44px;padding:12px 0}.scanner-dialog{width:min(540px,100vw - 24px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--paper);color:var(--ink);overscroll-behavior:contain;border-radius:18px;padding:0;overflow-y:auto}.scanner-dialog::backdrop{background:#0000008c}.scanner-dialog-header{z-index:1;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.scanner-dialog-header h2{overflow-wrap:anywhere;margin:0;font-size:28px;line-height:1.2}.scanner-dialog .scanner-close{width:48px;height:48px;color:var(--ink);border-color:var(--line);flex:0 0 48px;padding:0;font-size:30px;line-height:1}.scanner-dialog-body{overflow-wrap:anywhere;padding:18px}.scanner-dialog .big-balance{margin:0 0 14px;font-size:40px;line-height:1.2}.scanner-dialog .actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px;display:grid}.scanner-dialog .actions button{white-space:normal;min-height:52px}.scanner-dialog h3{margin:22px 0 12px}.scanner-dialog .notice{margin-top:0}.scanner-page .checkin-queue{padding:20px}.scanner-page .checkin-queue .title-row{flex-wrap:nowrap;align-items:center;gap:8px}.scanner-page .checkin-queue h2{margin:0;font-size:23px;line-height:1.2}.scanner-page .queue-refresh{flex:0 0 44px;min-height:44px;padding:0;font-size:25px}.scanner-feedback:empty{display:none}.scanner-feedback .undo-points{margin:0 0 16px}.scanner-done{border-top:1px solid var(--line);gap:8px;margin-top:20px;padding-top:16px;display:grid}.scanner-done button{min-height:48px}.scanner-activity{margin-top:20px}.scanner-activity h2{margin:0;font-size:23px}.scanner-activity .title-row{align-items:center}.scanner-activity .activity li{overflow-wrap:anywhere}.scanner-activity .activity time{flex-shrink:0}@media (max-width:700px){.scanner-header{gap:12px;min-height:53px;padding:4px 16px}.scanner-header .brand-logo{flex-shrink:1;align-items:center;min-width:0;min-height:44px;display:flex}.scanner-header .brand-logo img{display:none}.scanner-header .mobile-wordmark{letter-spacing:1.2px;font-size:15px;font-weight:800;line-height:1.2;display:block}.scanner-header nav{flex-shrink:0;font-size:13px}.scanner-header nav a{align-items:center;min-height:44px;display:flex}.scanner-main{margin:12px auto 40px;padding:0 14px}.scanner-page>h1{letter-spacing:-.3px;margin:0 0 12px;font-size:20px;line-height:1.2}.scanner-page .checkin-queue{padding:16px}.scanner-activity{padding:18px}}.review-engagement{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.review-engagement h3{margin:0 0 16px;font-size:20px}.analytics-feature-locked{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:18px;font-size:15px;display:flex}.review-engagement-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.review-engagement-metrics>div{min-width:0}.review-engagement-metrics strong{font-size:28px;font-weight:600;display:block}.review-engagement-metrics span{font-size:14px}@media (max-width:600px){.review-engagement-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.stamp-symbol{flex-shrink:0;width:28px;height:28px;display:block}.stamps .stamp-symbol{width:56%;height:56%}.stamps span:not(.filled) .stamp-symbol{opacity:.35}.stamp-picker{border:0;min-width:0;margin:0;padding:0}.stamp-picker legend{font-size:18px;font-weight:600}.stamp-picker p{margin:8px 0 12px}.stamp-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stamp-options label{border:2px solid var(--line);cursor:pointer;min-height:84px;color:var(--ink);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:10px 4px;display:flex;position:relative}.stamp-options label.selected{border-color:var(--green);background:#eef3ec}.stamp-options input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.stamp-options label:focus-within{outline:3px solid var(--green);outline-offset:2px}.stamp-picker:disabled label{opacity:.6;cursor:wait}.business-settings-page{overflow-wrap:anywhere;max-width:720px;margin:auto}.settings-back{font-size:14px}.settings-page-heading{margin:22px 0 26px}.settings-page-heading h1{letter-spacing:-1px;margin:0 0 8px;font-size:32px}.settings-page-heading p{color:#4d6057;margin:0;font-size:18px}.settings-sections{gap:16px;display:grid}.business-settings-page .settings-section{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;margin:0;padding:24px}.business-settings-page .settings-section>h2{letter-spacing:-.3px;margin:0 0 14px;font-size:20px;line-height:1.3}.business-settings-page .settings-section h3:not(.loyalty h3){letter-spacing:0;margin:22px 0 10px;font-size:16px}.business-settings-page .settings-section p:not(.loyalty p){margin:10px 0;font-size:14px}.business-settings-page .settings-help{color:#4d6057;line-height:1.55}.business-settings-page .settings-model-name{color:var(--green);font-weight:600;font-size:18px!important}.business-settings-page form{gap:14px;margin:0;display:grid}.business-settings-page label{font-size:14px}.business-settings-page input:not([type=checkbox]):not([type=radio]):not([type=color]),.business-settings-page select{width:100%;max-width:100%;min-height:46px;margin-top:6px;font-size:16px}.business-settings-page button,.business-settings-page .button{border-radius:7px;min-height:44px;margin-top:0;padding:10px 16px;font-size:14px;line-height:1.5}.business-settings-page form>button{justify-self:start}.business-settings-page button:disabled{cursor:not-allowed}.business-settings-page .notice{margin:12px 0 0;padding:12px 14px;font-size:14px}.settings-fields{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;display:grid}.business-settings-page .stamp-picker legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.business-settings-page .stamp-picker p{margin:0 0 12px}.business-settings-page .stamp-options label{min-height:84px}.stamp-settings-disabled .stamp-options{filter:grayscale()}.business-settings-page .stamp-picker:disabled label{opacity:1;color:#657069;cursor:not-allowed;background:#f2f4f2;border-color:#d8ded7}.stamp-settings-disabled .stamp-options label.selected{border-style:dashed;border-color:#819086}.business-settings-page .consent-option{border:1px solid var(--line);border-radius:7px;align-items:center;gap:12px;min-height:44px;margin:12px 0;padding:10px 12px;display:flex}.business-settings-page input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);flex-shrink:0;margin:0}.business-settings-page .branding-settings fieldset{min-width:0;margin:0}.business-settings-page .branding-settings form>fieldset{gap:14px;display:grid}.business-settings-page .branding-settings form>fieldset>button{justify-self:start}.business-settings-page .colour-swatches button{width:100%;min-width:0;height:44px;padding:0}.business-settings-page .branding-preview{margin:20px 0 0}.business-settings-page .branding-preview .loyalty{max-width:380px;margin:auto}.business-settings-page .settings-editor{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin-top:16px;padding:16px}.business-settings-page .points-setting-row{border-bottom:1px solid var(--line);gap:8px;margin:0;padding:10px 0}.business-settings-page .points-setting-row+button{margin-top:12px}.business-settings-page .review-preview{margin-top:18px}@media (max-width:540px){.business-settings-page .settings-section{padding:18px}.settings-page-heading h1{font-size:28px}.settings-fields{grid-template-columns:1fr;gap:14px}.settings-sections{gap:12px}.business-settings-page form>button,.business-settings-page .branding-settings form>fieldset>button{width:100%}.business-settings-page .points-setting-row span{flex-basis:100%}.business-settings-page .settings-section[aria-labelledby=settings-checkin]>button{width:100%}}.business-settings-page .loyalty-item-editor{gap:16px;margin:0}.business-settings-page .loyalty-item-editor .actions{margin-top:4px}.business-settings-page .loyalty-item-editor .notice{margin-top:0}.scanner-dialog-header h2{flex:1;min-width:0}.checkin-claim{width:66px;color:var(--green);text-align:right;flex:none;position:relative}.checkin-claim [role=timer]{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.2;display:block}.claim-progress{background:var(--line);direction:ltr;border-radius:2px;width:100%;height:3px;margin-top:5px;display:block;overflow:hidden}.claim-progress>span{background:currentColor;height:100%;margin-right:auto;display:block}.claim-warning{color:#98600b}.claim-expired{color:#9d493a;width:auto;max-width:110px;font-size:14px;font-weight:700;line-height:1.2}.claim-warning-note{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-page{min-width:0}.admin-section-tabs,.admin-report-tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.admin-section-tabs button,.admin-report-tabs button{min-height:44px;padding:10px 14px;font-size:14px}.admin-section-tabs button[aria-pressed=true],.admin-report-tabs button[aria-pressed=true]{background:var(--green);color:#fff}.admin-report-tabs{border-bottom:1px solid var(--line);padding-bottom:16px}.admin-page .box{min-width:0}.admin-page .admin-controls{grid-template-columns:minmax(140px,.8fr) minmax(180px,1.3fr) minmax(180px,1fr);gap:14px;display:grid}.admin-page .admin-controls label{min-width:0}.admin-load-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.admin-page input:not([type=checkbox]),.admin-page select,.admin-page button,.admin-page .button{border-radius:8px;min-height:46px;font-size:14px}.admin-page input:not([type=checkbox]),.admin-page select{font-size:16px}.admin-page button,.admin-page .button{padding:10px 16px}.admin-page .admin-controls input,.admin-page .admin-controls select{margin-top:6px}.admin-filter-grid{grid-template-columns:minmax(200px,1.6fr) minmax(160px,1fr) minmax(160px,1fr);gap:14px;display:grid}.admin-toolbar-actions{justify-content:flex-end;margin:16px 0;display:flex}.admin-record-help{margin:16px 0 24px}.admin-record-help summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.admin-pagination{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.admin-responsive-table{max-height:none}.admin-responsive-table th,.admin-responsive-table td{min-width:90px;max-width:340px;padding:14px 10px}.admin-responsive-table th{text-transform:none;font-size:12px}.admin-responsive-table td:first-child button+button{margin-top:8px}.admin-responsive-table td.admin-card-count,.admin-responsive-table th.admin-card-count{text-align:right;font-variant-numeric:tabular-nums}.report-status{color:var(--green);background:#e8efdf;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.report-status.status-under_review{color:#76510a;background:#f9edce}.report-status.status-action_taken,.report-status.status-dismissed{color:#4d6057;background:#edf0ee}.report-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.report-actions button{width:100%;min-width:0;min-height:48px;padding:10px 12px}.customer-report-form textarea,.admin-report-detail textarea,.admin-moderation-confirm textarea{width:100%;min-height:130px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #8c9e91;border-radius:8px;margin-top:7px;padding:12px;font-weight:400}.customer-report-form form{gap:12px}.customer-report-form form .small{margin:0}.customer-report-form h2{margin-top:0}.queue-options{background:var(--paper);border:1px solid var(--line);z-index:3;border-radius:10px;width:min(320px,100vw - 60px);padding:12px;position:absolute;top:100%;right:0;box-shadow:0 8px 28px #15372a22}.queue-options>button{width:100%;margin-bottom:10px}.queue-moderation-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.scanner-page .queue-moderation-pair button{height:100%;min-height:56px;padding:9px 10px;font-size:13px;line-height:1.35}.register-dialog:has(.admin-report-detail){width:min(900px,100vw - 28px);padding:24px}.register-dialog:has(.admin-moderation-confirm){width:min(540px,100vw - 28px)}.admin-report-detail{min-width:0}.admin-report-detail h2{margin:0;font-size:26px}.admin-report-detail h3{margin:0 0 12px}.admin-report-detail>.title-row{align-items:flex-start}.admin-report-detail>.title-row>div{min-width:0}.admin-report-detail .eyebrow{margin:0 0 8px}.admin-report-detail button,.admin-report-detail .button,.admin-moderation-confirm button{border-radius:8px;min-height:46px;padding:10px 16px;font-size:14px}.report-detail-section{border-top:1px solid var(--line);margin:22px 0;padding:22px 0}.report-detail-section article{border-bottom:1px solid var(--line);padding:12px 0}.report-description{white-space:pre-wrap;overflow-wrap:anywhere}.report-contact-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;padding:20px 0;display:grid}.report-contact-grid section{min-width:0}.report-contact-grid dl{margin:0 0 16px}.report-contact-grid dt{color:#4d6057;margin-top:12px;font-size:12px}.report-contact-grid dd{overflow-wrap:anywhere;margin:3px 0 0}.admin-report-detail label{margin:14px 0}.admin-report-detail select{margin-top:6px}.admin-report-detail .small{font-size:13px}.admin-report-detail details summary{cursor:pointer;min-height:44px}.moderation-impact{background:#e8efdf;border-radius:8px;padding:14px}.moderation-checkbox{align-items:flex-start;gap:12px;margin-top:18px;display:flex}.moderation-checkbox input{width:20px;height:20px;accent-color:var(--green);flex:0 0 20px;margin:2px 0 0}@media (max-width:900px){.admin-filter-grid{grid-template-columns:1fr 1fr}.admin-filter-grid>label:first-child{grid-column:1/-1}.admin-page .admin-controls{grid-template-columns:1fr 1fr}.admin-page .admin-controls>label:nth-child(2){grid-area:1/1/auto/-1}}@media (max-width:600px){.admin-page h1{font-size:30px}.admin-page .admin-controls,.admin-filter-grid{grid-template-columns:1fr}.admin-page .admin-controls>label:nth-child(2){grid-area:auto}.admin-filter-grid>label:first-child{grid-column:auto}.admin-load-actions{grid-template-columns:1fr 1fr;display:grid}.admin-load-actions button{width:100%;padding:10px}.admin-pagination{flex-direction:column;align-items:flex-start}.admin-pagination .actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.admin-responsive-table,.admin-responsive-table table,.admin-responsive-table tbody,.admin-responsive-table tr,.admin-responsive-table td{width:100%;min-width:0;max-width:none;display:block;overflow:visible}.admin-responsive-table thead{display:none}.admin-responsive-table tr{border-bottom:1px solid var(--line);padding:14px 0}.admin-responsive-table td{overflow-wrap:anywhere;border:0;padding:5px 0;text-align:left!important}.admin-responsive-table td:before{content:attr(data-label);color:#4d6057;text-transform:capitalize;font-size:12px;font-weight:600;display:block}.admin-responsive-table td[data-label=Details]{flex-wrap:wrap;gap:8px;display:flex}.admin-responsive-table td[data-label=Details]:before{display:none}.admin-responsive-table td:first-child button+button{margin-top:0}.report-contact-grid{grid-template-columns:1fr;gap:20px}.register-dialog:has(.admin-report-detail){padding:18px}.admin-report-detail h2{font-size:23px}.admin-report-detail>.title-row{gap:12px}}body:has(.admin-page)>header{padding-top:16px;padding-bottom:16px}body:has(.admin-page)>header .brand-logo img{width:76px;height:auto}body:has(.admin-page)>main{margin-top:30px}.admin-page h1{font-size:36px}.admin-business-details{margin:8px 0}.admin-business-details summary{cursor:pointer;min-height:44px}.admin-business-details dl{font-size:13px}.admin-business-details dt{font-weight:600}.admin-business-details dd{overflow-wrap:anywhere;margin:2px 0 10px}@media (max-width:600px){.admin-page h1{font-size:28px}}.customer-report-form .report-actions button{padding:10px 8px;font-size:14px}.admin-directory td[data-label=Details]{min-width:150px}.admin-directory .admin-business-details{vertical-align:top;margin:0 0 0 8px;display:inline-block}.admin-directory .admin-business-details>summary{min-height:46px;padding:10px 4px}.admin-directory .admin-business-details[open]{margin:8px 0;display:block}.admin-directory .admin-business-details[open]>summary{padding-left:0}.admin-section-tabs{justify-content:flex-start;max-width:none}.admin-page>.title-row{align-items:center;gap:12px}.admin-page>.title-row>div{flex:1;min-width:0}.admin-page>.title-row>button{flex-shrink:0}.customer-reports .admin-filter-grid{grid-template-columns:minmax(160px,1.5fr) minmax(140px,1fr);align-items:end}.report-date-filter>summary{cursor:pointer;align-items:center;min-height:46px;font-size:14px;display:flex}.admin-date-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.report-date-filter[open]{grid-column:1/-1}.admin-filter-grid label{min-width:0}@media (max-width:600px){.admin-section-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-section-tabs button:last-child{grid-column:1/-1}.customer-reports .admin-filter-grid{grid-template-columns:1fr}.customer-reports .admin-filter-grid>label:first-child{grid-column:auto}.admin-date-fields{grid-template-columns:1fr}.report-date-filter[open]{grid-column:auto}.admin-page>.title-row .eyebrow{letter-spacing:1.2px;font-size:10px}.admin-page>.title-row h1{font-size:26px;line-height:1.2}}
