:root{--bg: #f5f5f3;--panel: #ffffff;--text: #1b1d1f;--muted: #666b70;--line: #e4e4e0;--brand: #2e5a4c;--brand-ink: #ffffff;--ok: #1f8a5b;--warn: #b7791f;--danger: #c0392b;--shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 4px 16px rgba(0, 0, 0, .05);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #131517;--panel: #1c1f22;--text: #eceeef;--muted: #9aa0a6;--line: #2d3135;--brand: #6fb59d;--brand-ink: #0e1a16;--shadow: none;color-scheme:dark}}:root[data-theme=dark]{--bg: #131517;--panel: #1c1f22;--text: #eceeef;--muted: #9aa0a6;--line: #2d3135;--brand: #6fb59d;--brand-ink: #0e1a16;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;cursor:pointer}input,select{font:inherit;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text)}label{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:14px}label.check{display:flex;align-items:center;gap:10px;color:var(--text)}label.check input{width:auto}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.fine{font-size:12px;color:var(--muted);margin:8px 0}.center{text-align:center}.pad{padding:48px 16px}.error{color:var(--danger);font-size:13px}.strong{font-weight:600}.row{display:flex;gap:8px;flex-wrap:wrap}.btn,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none;border:1px solid transparent}.btn{background:var(--brand);color:var(--brand-ink)}.btn.danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn-ghost.sm{padding:4px 10px;font-size:12px}.link{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;font-size:13px}.link.danger{color:var(--danger)}.pill{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:99px;background:var(--line);color:var(--muted)}.pill.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.pill.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-weight:700;flex:none}.avatar.sm{width:28px;height:28px;font-size:13px}.home{max-width:980px;margin:0 auto;padding:48px 16px}.home-hero{text-align:center;margin-bottom:32px}.home-hero h1{font-size:clamp(32px,6vw,48px);letter-spacing:-.02em;margin:8px 0}.home-hero p{color:var(--muted);max-width:560px;margin:0 auto}.platform-mark{color:var(--brand)}.platform-mark.big{font-size:40px}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:24px}.home-tile{border-radius:18px;padding:20px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;text-decoration:none;box-shadow:var(--shadow)}.admin-tile{background:var(--panel);border:1px solid var(--line)}.admin-tile b{font-size:20px}.admin-tile span{color:var(--muted)}.home-logo{height:70px;max-width:100%}.home-logo svg,.home-logo img{height:100%;width:auto;max-width:100%}.home-links{display:flex;gap:8px;flex-wrap:wrap}.home-links a{padding:7px 12px;border-radius:99px;font-size:13px;font-weight:600;text-decoration:none;background:#ffffff24}.brand-screen{--b-shadow: 0 6px 24px rgba(0, 0, 0, .08);min-height:100dvh;background:var(--b-surface);color:#1a1a1a;font-family:var(--b-font);color-scheme:light}.brand-screen.embedded{min-height:100%;height:100%;overflow-y:auto}.brand-screen input{background:#fff;color:#1a1a1a;border-color:#0000001f}.brand-screen label{color:#0009}.brand-screen .muted,.brand-screen .fine{color:#0000008c}.logo-svg svg{width:100%;height:100%;display:block}.logo-text{font-weight:700;font-size:26px;color:var(--b-on);display:grid;place-items:center;height:100%;text-align:center}.btn-brand{width:100%;padding:14px;border-radius:14px;border:0;background:var(--b-primary);color:var(--b-on);font-weight:700;font-size:16px;margin-top:4px}.btn-brand:disabled{opacity:.6}.join{max-width:460px;margin:0 auto}.join-hero{background:var(--b-primary);color:var(--b-on);padding:calc(52px + env(safe-area-inset-top)) 20px 26px;text-align:center;border-radius:0 0 28px 28px}.join-logo{height:84px;margin:0 auto;max-width:260px}.join-logo img{height:100%}.join-tag{margin:12px 0 16px;font-weight:600;opacity:.95}.mini-stamps{max-width:260px;margin:0 auto}.mini-stamps .stamp{background:#ffffff1f;border-color:#ffffff40;color:var(--b-on)}.mini-stamps .stamp .free{color:var(--b-on)}.mini-stamps .stamp.on{background:var(--b-accent);color:var(--b-on-accent)}.join-body{padding:24px 20px 32px}.join-body h1{font-size:24px;margin-bottom:4px}.join-body form>p.muted{margin:0 0 18px}.join-body>p.join-sub{margin:0 0 18px}.join-hero,.card-head{position:relative}.back{position:absolute;top:calc(12px + env(safe-area-inset-top));left:12px;z-index:2;background:#0000002e;color:var(--b-on);border:0;border-radius:99px;padding:6px 12px 6px 10px;font-size:13px;font-weight:600}.phone .back{top:34px}.sso-buttons{display:grid;gap:10px}.sso{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;border-radius:99px;font-weight:600;font-size:16px;font-family:-apple-system,system-ui,Inter,sans-serif}.sso:disabled{opacity:.6}.sso-apple{background:#000;color:#fff;border:0}.sso-google{background:#fff;color:#1f1f1f;border:1px solid #747775}.gsi-slot{min-height:44px;display:flex;justify-content:center}.or{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:13px;color:#00000073}.or:before,.or:after{content:"";flex:1;height:1px;background:#0000001f}.btn-outline{width:100%;padding:12px;border-radius:14px;background:transparent;border:1px solid color-mix(in srgb,var(--b-primary, #333) 35%,transparent);color:var(--b-primary, inherit);font-weight:600}.btn-danger{flex:1;padding:12px;border-radius:14px;border:0;background:var(--danger);color:#fff;font-weight:700}.account-foot{text-align:center;margin-top:18px}.foot-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.remove-box{background:#fff;border-radius:16px;padding:14px;text-align:left;box-shadow:var(--b-shadow)}.remove-box p{margin:0 0 12px;font-size:14px}.remove-box .row{flex-wrap:nowrap}.remove-box .btn-outline{flex:1;width:auto}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:min(460px,100%);background:#fff;color:#1a1a1a;border-radius:22px 22px 0 0;padding:20px 18px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0003;animation:rise .2s ease;font-family:-apple-system,system-ui,Inter,sans-serif}.sheet-head{display:flex;align-items:center;gap:10px;font-size:17px}.sheet .fine{margin:6px 0 12px}.account{display:flex;align-items:center;gap:12px;width:100%;padding:10px 6px;background:none;border:0;border-top:1px solid #eee;text-align:left;color:inherit}.account span:last-child{display:grid}.account small{color:#666}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e8eaed;color:#3c4043;font-weight:700;flex:none}.sheet-cancel{display:block;margin:12px auto 0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px);opacity:0}}.otp{font-size:26px;letter-spacing:.4em;text-align:center}.stamps{display:grid;gap:8px}.stamp{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;min-width:0;container-type:inline-size;border:2px dashed color-mix(in srgb,var(--b-primary) 30%,transparent);color:color-mix(in srgb,var(--b-primary) 35%,transparent);background:transparent;transition:transform .3s}.stamp.on{background:var(--b-primary);color:var(--b-accent);border:2px solid var(--b-primary)}.stamp.last:not(.on){border-style:solid;border-color:var(--b-accent);background:color-mix(in srgb,var(--b-accent) 25%,transparent)}.stamp .free{font-size:9px;font-size:min(9px,21cqi);font-weight:800;letter-spacing:.05em;color:var(--b-primary)}.stamp.pop{animation:pop .6s ease}@keyframes pop{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}.card-screen{max-width:460px;margin:0 auto;padding:0 16px 32px;position:relative}.card-head{background:var(--b-primary);margin:0 -16px;padding:calc(18px + env(safe-area-inset-top)) 20px 54px;border-radius:0 0 28px 28px}.card-logo{height:64px;max-width:220px;margin:0 auto}.card-logo img{height:100%;display:block;margin:0 auto}.loyalty{background:#fff;border-radius:20px;padding:18px;margin-top:-38px;position:relative;box-shadow:var(--b-shadow)}.hello{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:8px}.hello span{font-weight:700;font-size:18px}.hello strong{font-size:13px;color:#0000008c;font-weight:600;white-space:nowrap}.togo{text-align:center;margin:14px 0 0;font-size:14px;color:#0009}.reward{display:flex;gap:12px;align-items:center;background:var(--b-accent);color:var(--b-on-accent);border-radius:18px;padding:14px 16px;margin-top:12px}.reward-badge{font-size:30px}.reward p{margin:2px 0 0;font-size:14px}.code-panel{background:#fff;border-radius:20px;padding:18px;margin-top:12px;text-align:center;box-shadow:var(--b-shadow)}.code-label{font-weight:700;margin:0 0 10px}.code-qr{width:min(240px,100%);margin:0 auto}.qr svg{width:100%;height:auto;display:block}.short{font-family:ui-monospace,Menlo,monospace;font-size:18px;letter-spacing:.08em;margin:10px 0 8px;font-weight:600}.timer{height:4px;background:#00000014;border-radius:4px;overflow:hidden;max-width:240px;margin:0 auto}.timer-bar{height:100%;background:var(--b-primary);transition:width 1s linear}.a2hs{margin:16px 4px 6px;font-size:14px}.a2hs summary{font-weight:600;cursor:pointer}.a2hs p{color:#0009}.card-screen>.link{display:block;margin:18px auto 0}.toast{position:sticky;top:12px;z-index:5;margin:0 auto -44px;width:max-content;background:var(--b-accent);color:var(--b-on-accent);padding:10px 18px;border-radius:99px;font-weight:800;font-size:18px;box-shadow:0 8px 24px #0003;animation:pop .5s ease}.brand-screen.staff{background:var(--b-primary);color:var(--b-on)}.on-dark{color:var(--b-on)!important;opacity:.75}.pin-screen{min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;gap:14px}.pin-logo{height:70px;max-width:220px}.pin-logo img{height:100%}.pin-title{font-weight:600;margin:4px 0 0}.pin-dots{display:flex;gap:14px}.pin-dots span{width:14px;height:14px;border-radius:50%;border:2px solid var(--b-on);opacity:.6}.pin-dots span.on{background:var(--b-accent);border-color:var(--b-accent);opacity:1}.shake{animation:shake .35s}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.pad{display:grid;grid-template-columns:repeat(3,72px);gap:12px;padding:0}.pad button{height:72px;border-radius:50%;border:0;background:#ffffff1a;color:var(--b-on);font-size:26px;font-weight:500}.pad button:active{background:var(--b-accent);color:var(--b-on-accent)}.counter{min-height:inherit;display:flex;flex-direction:column}.staff-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.12);gap:12px}.staff-logo{height:40px;max-width:120px}.staff-logo img{height:100%}.who{display:flex;flex-direction:column;align-items:flex-end;font-size:13px}.staff-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 16px;text-align:center}.stepper{display:flex;align-items:center;gap:14px;background:#ffffff14;padding:8px 10px 8px 18px;border-radius:99px}.stepper button{width:44px;height:44px;border-radius:50%;border:0;background:#ffffff24;color:var(--b-on);font-size:22px}.stepper b{font-size:24px;min-width:24px}.btn-scan{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(320px,100%);padding:34px 20px;border-radius:26px;border:0;background:var(--b-accent);color:var(--b-on-accent);font-size:22px;font-weight:800;box-shadow:0 10px 30px #00000040}.btn-scan.small{flex-direction:row;padding:16px 20px;font-size:18px}.btn-accent{padding:12px 18px;border-radius:12px;border:0;background:var(--b-accent);color:var(--b-on-accent);font-weight:700}.brand-screen .btn-ghost{color:var(--b-on);border-color:#ffffff4d}.scan-hint{margin:0;font-weight:600}.scanner{position:relative;width:min(340px,100%);aspect-ratio:1;border-radius:20px;overflow:hidden;background:#000}.scanner video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:3px solid var(--b-accent);border-radius:18px;box-shadow:0 0 0 999px #00000059}.scanner.blocked{display:grid;place-items:center;padding:24px;aspect-ratio:auto;min-height:140px;background:#00000040;font-size:14px}.typed{display:flex;gap:8px;width:min(340px,100%)}.typed input{font-family:ui-monospace,Menlo,monospace;text-transform:uppercase}.result h2{font-size:26px}.result h2 span{display:block;font-size:16px;font-weight:500;opacity:.8;margin-top:4px}.big-check{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:44px;font-weight:800;background:var(--b-accent);color:var(--b-on-accent);animation:pop .5s ease}.result.err .big-check{background:#e74c3c;color:#fff}.result-card{background:#fff;color:#1a1a1a;border-radius:18px;padding:16px;width:min(360px,100%)}.result-card p{margin:10px 0 0;font-size:14px;color:#0009}.reward-box{background:#ffffff1a;border:2px solid var(--b-accent);border-radius:18px;padding:14px;width:min(360px,100%)}.reward-box p{margin:0 0 10px}.phone{width:300px;height:620px;border-radius:42px;border:10px solid #111;background:#111;overflow:hidden;position:relative;transform:translateZ(0);box-shadow:0 20px 60px #00000040;flex:none}.phone>.brand-screen{border-radius:32px}.phone .card-head{padding-top:34px}.phone .join-hero{padding-top:70px}.phone-notch{position:absolute;top:6px;left:50%;transform:translate(-50%);width:90px;height:22px;background:#111;border-radius:12px;z-index:10}.tablet{width:560px;max-width:100%;height:620px;border-radius:26px;border:12px solid #111;overflow:hidden;box-shadow:0 20px 60px #00000040}.demo{min-height:100dvh}.demo-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line);font-size:14px}.demo-bar a{font-weight:600;text-decoration:none;white-space:nowrap}.demo-bar span{text-align:center;color:var(--muted)}.demo-panes{display:flex;gap:32px;justify-content:center;align-items:flex-start;padding:28px 16px;flex-wrap:wrap}.demo-panes figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%}.demo-panes figcaption{font-size:13px;font-weight:600;color:var(--muted)}.admin{min-height:100dvh}.admin-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line)}.platform{font-weight:800;text-decoration:none;display:flex;align-items:center;gap:6px;font-size:17px}.platform small{font-weight:600;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-left:4px}.crumbs{flex:1;font-size:14px;color:var(--muted);display:flex;gap:6px;min-width:0;overflow:hidden;white-space:nowrap}.crumbs a{text-decoration:none}.crumbs b{color:var(--text);overflow:hidden;text-overflow:ellipsis}.me{display:flex;align-items:center;gap:10px}.admin-main{max-width:1120px;margin:0 auto;padding:28px 20px 120px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-head h1{font-size:28px}.page-head p{margin:6px 0 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.panel h3{font-size:15px;margin:0 0 14px}.panel h3:not(:first-child){margin-top:22px}.panel.narrow{max-width:560px}.new-tenant{max-width:520px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.kpi span{font-size:12px;color:var(--muted);font-weight:500}.kpi b{display:block;font-size:28px;letter-spacing:-.02em}.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tenant-tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s}.tenant-tile:hover{transform:translateY(-2px)}.tile-brand{height:120px;display:grid;place-items:center;padding:16px}.tile-logo{height:76px;max-width:220px}.tile-logo img{height:100%}.tile-body{padding:14px 16px}.tile-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.tile-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.tile-stats b{color:var(--text)}.tenant-head{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}.th-logo{width:110px;height:64px;border-radius:12px;display:grid;place-items:center;padding:6px}.th-logo .tile-logo{height:52px}.tenant-head h1{font-size:24px}.tenant-head p{margin:4px 0 0;font-size:14px}.th-actions{margin-left:auto}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.tabs a{padding:10px 14px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14px;border-bottom:2px solid transparent;white-space:nowrap}.tabs a.on{color:var(--text);border-color:var(--brand)}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.two .panel{margin-bottom:0}.bars{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:18px}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}.bar{width:100%;max-width:26px;background:var(--brand);border-radius:4px 4px 0 0;min-height:2px}.bar-val,.bar-col small{font-size:10px;color:var(--muted)}.feed{list-style:none;margin:0;padding:0;font-size:14px}.feed li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.feed li:last-child{border:0}.feed li>span:nth-child(2){flex:1;min-width:0}.feed small{color:var(--muted)}.feed time{font-size:12px;color:var(--muted);white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex:none}.dot.join{background:#3b82f6}.dot.redeem{background:#e0a100}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.preview-col{position:sticky;top:76px;display:flex;flex-direction:column;align-items:center;gap:12px}.seg{display:inline-flex;background:var(--line);border-radius:10px;padding:3px}.seg button{border:0;background:none;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted)}.seg button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.logo-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file{position:relative;margin:0;color:var(--text);font-size:14px}.file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.palettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-bottom:16px}.palette{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.palette span{height:22px;border-radius:4px;border:1px solid rgba(0,0,0,.06)}.palette small{grid-column:1 / -1;font-size:11px;color:var(--muted)}.colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 12px}.color{display:flex;align-items:center;gap:10px;color:var(--text)}.color input{width:44px;height:44px;padding:2px;border-radius:10px;flex:none}.color span{display:grid;font-size:13px}.color code{font-size:11px;color:var(--muted)}.field{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:500;color:var(--muted)}.icons{display:flex;gap:8px}.icon-pick{width:48px;height:48px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);display:grid;place-items:center}.icon-pick.on{border:2px solid var(--brand);color:var(--brand)}.staff-list{list-style:none;padding:0;margin:0}.staff-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.staff-list li b{flex:1}.staff-list li.off{opacity:.5}.staff-list .muted{font-size:12px}.poster{border-radius:16px;padding:24px;text-align:center;max-width:320px;margin:0 auto 16px}.poster-logo{height:70px;max-width:220px;margin:0 auto}.poster-logo img{height:100%}.poster-head{font-size:20px;font-weight:800;margin:14px 0}.poster-qr{background:#fff;padding:12px;border-radius:12px;width:200px;margin:0 auto}.poster-foot{margin:14px 0 0;font-weight:600}.linkrow{margin-bottom:14px;font-size:13px}.linkrow>span{color:var(--muted);font-weight:500}.linkrow div{display:flex;gap:8px;align-items:center;margin-top:4px}.linkrow code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bg);padding:6px 8px;border-radius:8px;font-size:12px}.checklist{padding-left:0;list-style:none;margin:0;font-size:14px}.checklist li{padding:6px 0 6px 28px;position:relative}.checklist li:before{content:"";position:absolute;left:0;top:8px;width:16px;height:16px;border-radius:5px;border:2px solid var(--line)}.checklist li.done:before{background:var(--ok);border-color:var(--ok)}.danger-zone{border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.savebar{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:10px;background:#1b1d1f;color:#fff;padding:10px 10px 10px 18px;border-radius:14px;box-shadow:0 10px 40px #0000004d;font-size:14px;max-width:calc(100% - 32px);flex-wrap:wrap}.savebar .btn-ghost{color:#fff;border-color:#ffffff40}.savebar .btn{background:#6fb59d;color:#0e1a16}@media(max-width:860px){.split{grid-template-columns:1fr}.preview-col{position:static}}@media(max-width:600px){.admin-top{padding:10px 16px}.platform small,.crumbs{display:none}.admin-main{padding:20px 16px 120px}.page-head{flex-direction:column}.two{grid-template-columns:1fr}.demo-bar span{display:none}.phone{width:min(300px,100%)}.tablet{height:560px}.th-actions{margin-left:0}}@media print{body *{visibility:hidden}#poster,#poster *{visibility:visible}#poster{position:absolute;left:0;top:0;width:100%;max-width:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.inline-form{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.inline-form input{width:96px;padding:6px 8px}.btn.sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.login{max-width:380px;margin:40px auto}.login h1{font-size:24px}.login p.muted{margin:4px 0 18px}.wallet{max-width:520px;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));min-height:100dvh}.wallet-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.wallet-head h1{font-size:26px}.wallet h2{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 10px}.wallet-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.wallet-card{position:relative;height:96px;border-radius:18px;border:0;padding:14px;box-shadow:var(--shadow);display:grid;place-items:center}.wallet-card-logo{height:54px;width:100%}.wallet-card-logo svg,.wallet-card-logo img{height:100%;width:100%;object-fit:contain}.wallet-card-count{position:absolute;right:8px;bottom:8px;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:800}.wallet input[type=search]{margin-bottom:8px}.cafe-list{list-style:none;margin:0;padding:0}.cafe-list button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 4px;background:none;border:0;border-bottom:1px solid var(--line);color:inherit;text-align:left}.cafe-list button>span:nth-child(2){display:grid;flex:1;min-width:0}.cafe-list small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cafe-dot{width:46px;height:46px;border-radius:12px;flex:none;display:grid;place-items:center;padding:6px;overflow:hidden}.cafe-dot-logo{width:100%;height:100%}.cafe-dot-logo svg,.cafe-dot-logo img{width:100%;height:100%;object-fit:contain}.cafe-dot-logo .logo-text{font-size:11px}.chev{color:var(--muted);font-size:22px}img.cafe-dot-logo,img.wallet-card-logo{object-fit:contain}.result .reward-line{margin:-4px 0 14px;font-weight:700;color:var(--b-accent);font-size:17px}.lang-switch{display:inline-flex;gap:2px;padding:2px;border-radius:99px;background:#0000002e;color:var(--b-on);flex:none}.lang-switch button{border:0;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 10px;border-radius:99px;opacity:.8}.lang-switch button[aria-pressed=true]{background:#ffffffeb;color:#1a1a1a;opacity:1}.lang-switch.corner{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;z-index:2}.phone .lang-switch.corner{top:34px}.pin-screen{position:relative}.pin-screen .lang-switch.corner{top:calc(16px + env(safe-area-inset-top));right:16px}.staff-head .lang-switch,.wallet-head .lang-switch{margin-left:auto}.lang-switch.brand{margin-top:16px;background:color-mix(in srgb,var(--b-primary) 8%,transparent);color:var(--b-primary)}.lang-switch.brand button[aria-pressed=true]{background:var(--b-primary);color:var(--b-on)}.lang-switch.light{background:#0000000f;color:var(--text)}.lang-switch.light button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #00000026}
