@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #f1f5f9;--panel: #ffffff;--panel-soft: #f6faf9;--ink: #0f172a;--muted: #5b6b78;--faint: #94a3b8;--line: #e2e8f0;--accent: #14a085;--accent-soft: #d9f5ec;--accent-strong: #0d4d45;--accent-light: #34d399;--green: #0f7a5e;--green-soft: #dcfce7;--orange: #b45309;--orange-soft: #fef3c7;--red: #b91c1c;--red-soft: #fee2e2;--shadow: 0 18px 45px rgba(15, 23, 42, .07);--radius: 20px}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100%;color:var(--ink);background:radial-gradient(circle at 85% 5%,rgba(52,211,153,.16),transparent 26rem),var(--bg);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid rgba(20,160,133,.35);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(26px,3vw,40px);letter-spacing:-.045em;line-height:1.05}h2{margin-bottom:0;font-size:20px;letter-spacing:-.025em}h3{margin-bottom:8px;font-size:15px}a{color:var(--accent-strong)}.hidden{display:none!important}.full{width:100%}.centered{text-align:center}.stack{display:grid;gap:12px}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:14px}.btn{border:0;border-radius:12px;padding:11px 14px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-primary{color:#fff;background:var(--ink);box-shadow:0 8px 20px #17171424}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-secondary{color:#1e293b;background:#fff;border:1px solid var(--line)}.btn-secondary:hover:not(:disabled){background:#f6faf9}.btn-ghost{color:var(--muted);background:transparent;border:1px solid var(--line)}.btn-accent{color:#06251f;background:linear-gradient(145deg,var(--accent-light),var(--accent))}.btn-warn{color:#8a4b0b;background:var(--orange-soft);border:1px solid #f5d9a8}.btn-danger{color:var(--red);background:var(--red-soft);border:1px solid #f0d3d3}.btn-text{padding:6px 0;color:var(--accent-strong);background:transparent;border:0;text-align:left;font-weight:750}.btn-small{padding:8px 10px;font-size:12px}.btn-large{padding:15px 16px}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:20;height:100vh;padding:22px 18px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(175deg,#0d4d45,#06251f);box-shadow:18px 0 45px #00000014;overflow-y:auto}.mobile-bar{display:none;position:fixed;top:0;left:0;right:0;z-index:50;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(175deg,#0d4d45,#06251f);color:#fff;box-shadow:0 10px 30px #0000001f}.burger{width:40px;height:40px;flex:none;border-radius:12px;font-size:18px;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.1);cursor:pointer}.mobile-title{display:flex;align-items:center;gap:9px;min-width:0}.mobile-title strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#0f172a73}.drawer-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:10px;font-size:20px;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.1);cursor:pointer}.level-switch{display:flex;flex-direction:column;gap:6px;padding:8px;margin-bottom:14px;border-radius:16px;background:#00000029;border:1px solid rgba(255,255,255,.06)}.level-row{position:relative;width:100%;display:flex;align-items:center;gap:9px;padding:9px;border:0;border-radius:12px;background:transparent;color:#fff;text-align:left;font-family:inherit;cursor:pointer}.level-row:hover{background:#ffffff0d}.level-row:focus-visible{outline:3px solid rgba(52,211,153,.45);outline-offset:2px}.level-row.here{background:#34d3991f;border:1px solid rgba(52,211,153,.32);padding:8px}.level-row .ic-slot{flex:none;color:#8aa39d;display:grid;place-items:center}.level-row .level-text{min-width:0;flex:1}.level-row small{display:block;color:#8aa39d;font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:3px}.level-row strong{display:block;font-size:13px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-row em{display:block;font-size:12px;font-style:normal;color:#8aa39d}.level-badge{flex:none;padding:3px 7px;border-radius:8px;background:#34d39938;color:#b8f2de;font-size:10px;font-weight:900;letter-spacing:.06em}.nav-group-title{margin:0 5px 7px;color:#8aa39d;font-size:10px;font-weight:900;letter-spacing:.14em}.setup-panel{position:fixed;right:22px;bottom:22px;z-index:45;width:min(340px,calc(100vw - 32px));max-height:min(70vh,620px);overflow-y:auto;padding:16px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.setup-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.setup-panel>header strong{display:block;font-size:15px}.setup-steps{display:flex;flex-direction:column;gap:12px}.setup-step{display:flex;align-items:flex-start;gap:10px;font-size:13px}.setup-step strong{font-weight:700;line-height:1.35}.setup-step a{color:var(--accent-strong);text-decoration:none}.setup-step a:hover strong{text-decoration:underline}.setup-step small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}.setup-step.done strong{color:var(--faint);font-weight:600;text-decoration:line-through}.setup-tick{flex:none;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:800}.setup-step.done .setup-tick{background:var(--green-soft);border-color:transparent;color:var(--green)}.setup-pill{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:inherit;font-size:13px;font-weight:800;box-shadow:var(--shadow);cursor:pointer}.setup-pill:hover{border-color:var(--accent);color:var(--accent-strong)}.setup-line{justify-content:flex-start}.setup-count{margin-left:auto;padding:2px 7px;border-radius:8px;background:#34d39938;color:#b8f2de;font-size:10px;font-weight:900;letter-spacing:.06em}.setup-count.ok{background:#ffffff1a;color:#cfe6e0}@media (max-width: 860px){.setup-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:60vh}.setup-pill{right:12px;left:12px;bottom:12px;justify-content:center}}.visiting-bar{position:fixed;top:0;left:0;right:0;z-index:70;height:32px;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--orange-soft);color:#8a4b0b;font-size:12px;line-height:1.2;border-bottom:1px solid rgba(138,75,11,.2)}.visiting-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visiting-bar a{margin-left:auto;flex:none;color:inherit;font-weight:800}.shell.visiting{padding-top:32px}.shell.visiting .sidebar{top:32px;height:calc(100vh - 32px)}.shell.visiting .mobile-bar{top:32px}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:12px;color:var(--muted)}.breadcrumb .sep{display:inline-flex;align-items:center}.nav-item:focus-visible,.burger:focus-visible,.drawer-close:focus-visible{outline:3px solid rgba(52,211,153,.45);outline-offset:2px}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent-strong);text-decoration:underline}.breadcrumb strong{color:var(--ink);font-weight:700}.breadcrumb .sep{color:var(--faint);margin:0 2px}.brand{display:flex;align-items:center;gap:12px;padding:4px 3px 20px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ffffff12;border:1px solid rgba(255,255,255,.08)}.brand-name{font-weight:900;letter-spacing:-.02em}.brand-caption{color:#8aa39d;font-size:11px;margin-top:2px}.side-chip{display:flex;align-items:center;gap:10px;padding:13px;margin-bottom:16px;border-radius:15px;background:#ffffff0f;border:1px solid rgba(255,255,255,.07)}.dot{width:8px;height:8px;border-radius:50%;background:#69d391;box-shadow:0 0 0 5px #69d3911c}.dot.amber{background:var(--accent);box-shadow:0 0 0 5px #14a08524}.side-chip small{display:block;color:#9fb3ad;font-size:10px;margin-bottom:3px}.side-chip strong{display:block;font-size:13px}.side-chip.switchable{width:100%;text-align:left;color:inherit;cursor:pointer;transition:background .15s ease}.side-chip.switchable:hover{background:#ffffff1c}.chip-caret{margin-left:auto;color:#9fb3ad;font-size:15px}.recipient-callout{display:flex;align-items:center;gap:14px;margin-top:6px;padding:14px 16px;border-radius:15px;background:var(--accent-soft);border:1px solid #b6e6d5}.recipient-callout.loud{background:var(--orange-soft);border-color:#f5d9a8}.recipient-callout strong{font-size:30px;letter-spacing:-.04em;line-height:1;color:var(--accent-strong)}.recipient-callout.loud strong{color:#8a4b0b}.recipient-callout span{display:block;font-size:13px;font-weight:800;color:#4c3a18}.recipient-callout small{display:block;margin-top:3px;font-size:11px;color:#4a6b62}.timeline-item.as-row{width:100%;border-radius:0;background:transparent;border-left:0;border-right:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.timeline-item.as-row:hover{background:var(--panel-soft)}.nav{display:grid;gap:5px}.nav-section{margin:16px 5px 7px;color:#8aa39d;font-size:10px;font-weight:900;letter-spacing:.14em}.nav-item{width:100%;padding:10px 12px;border:0;border-radius:12px;display:flex;align-items:center;gap:10px;color:#aaa69d;background:transparent;text-align:left;font-weight:750;text-decoration:none;font-size:14px}.nav-item span.ic{width:20px;text-align:center;font-size:15px}.nav-item:hover{color:#fff;background:#ffffff0e}.nav-item.active{color:#06251f;background:linear-gradient(145deg,var(--accent-light),var(--accent))}.side-foot{margin-top:auto;padding-top:16px}.side-foot p{margin:12px 5px 0;color:#7d938e;font-size:10px;line-height:1.5}.main{min-width:0;padding:32px clamp(18px,4vw,52px) 56px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.eyebrow{margin-bottom:6px;color:var(--faint);font-size:10px;font-weight:900;letter-spacing:.16em}.eyebrow.light{color:#a7ded0}.subtitle{margin-bottom:0;color:var(--muted);line-height:1.5;max-width:62ch}.panel{padding:20px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.panel+.panel{margin-top:16px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:1.25fr .75fr}.metric{min-height:128px;padding:18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.metric-label{display:block;color:#7d776f;font-size:11px;font-weight:800}.metric-value{display:block;margin:12px 0 6px;font-size:33px;letter-spacing:-.04em;line-height:1}.metric-note{display:block;color:var(--faint);font-size:11px}.metric.accent{color:#06251f;background:linear-gradient(145deg,var(--accent-light),var(--accent));border-color:transparent}.metric.accent .metric-label,.metric.accent .metric-note{color:#0b3b33}.trend-up{color:var(--green);font-weight:800}.trend-down{color:var(--orange);font-weight:800}.hero{position:relative;overflow:hidden;min-height:232px;color:#fff;background:linear-gradient(145deg,#06251f,#0d4d45 68%,#14a085);border:0}.hero h2{max-width:440px;font-size:29px}.hero p{color:#c3d3d0;line-height:1.55;margin-bottom:0;max-width:52ch}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:64px;position:relative;z-index:2}.hero .panel-head{position:relative;z-index:2}.orb{position:absolute;border-radius:50%}.orb-a{width:240px;height:240px;right:-80px;top:-95px;background:#34d39933}.orb-b{width:145px;height:145px;right:70px;bottom:-105px;background:#ffffff0e}.pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:900}.pill-live{color:#d6f1de;background:#489d6029;border:1px solid rgba(132,220,157,.18)}.pill-ok{color:var(--green);background:var(--green-soft)}.pill-warn{color:var(--orange);background:var(--orange-soft)}.pill-accent{color:var(--accent-strong);background:var(--accent-soft)}.pill-muted{color:var(--muted);background:#eef2f6}.pill-danger{color:var(--red);background:var(--red-soft)}.table-panel{padding:4px 18px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 9px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#8b857c;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:800}td{font-size:13px}tr:last-child td{border-bottom:0}.cell-name{display:flex;align-items:center;gap:10px}.avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:11px;color:var(--accent-strong);background:var(--accent-soft);font-weight:900;flex:none}.avatar.rank{background:#eef2f6;color:var(--muted);font-size:12px}.progress{display:inline-flex;align-items:center;gap:8px}.progress-bar{width:66px;height:7px;overflow:hidden;border-radius:99px;background:#e2e8f0;flex:none}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.empty{padding:26px 4px;color:var(--faint);font-size:13px;text-align:center}.field{display:block;margin-bottom:13px}.field>span{display:block;margin-bottom:6px;font-size:12px;font-weight:800}.field small{display:block;margin-top:5px;color:var(--faint);font-size:11px;line-height:1.45}.input{width:100%;padding:12px 13px;background:#fff;border:1px solid var(--line);border-radius:12px;outline:0}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #14a08521}textarea.input{min-height:112px;resize:vertical;line-height:1.5}.input-color{width:100%;height:44px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff}.search{min-width:220px;flex:1;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.search input{width:100%;padding:11px 0;border:0;outline:0;background:transparent}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.checkbox-row input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--accent)}.checkbox-row span{font-size:12px;line-height:1.5;color:#334155}.form-error{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:12px;font-weight:700}.sql-block{margin:0 0 12px;padding:13px 15px;border-radius:12px;background:#17150f;color:#d7e3e0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre}.form-note{margin:8px 0 0;color:var(--faint);font-size:11px;line-height:1.5}.client-page{min-height:100vh;display:grid;place-items:center;padding:22px 14px 40px}.phone{width:min(420px,100%);padding:20px;border-radius:28px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.phone-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;font-size:11px;color:var(--muted)}.card-hello{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.bell{position:relative;width:40px;height:40px;border-radius:13px;border:1px solid var(--line);background:#fff;font-size:17px}.bell-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--red);color:#fff;font-size:10px;font-weight:900}.loyalty{position:relative;overflow:hidden;padding:20px;margin-bottom:14px;border-radius:22px;color:#fff;background:linear-gradient(145deg,var(--card-b, #0f172a),var(--card-a, #14a085))}.loyalty-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.1em;font-weight:900}.loyalty-count{display:flex;align-items:baseline;gap:6px;margin:18px 0 14px}.loyalty-count strong{font-size:46px;letter-spacing:-.05em;line-height:1}.loyalty-count span{color:#ffffffad;font-size:13px}.stamps{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.stamp{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px dashed rgba(255,255,255,.22);color:#ffffff4d;font-size:13px}.stamp.on{border-style:solid;border-color:transparent;color:var(--on-accent, #06251f);background:linear-gradient(145deg,var(--accent-light),var(--accent));font-weight:900}.loyalty.landed{animation:cardPulse .5s ease}@keyframes cardPulse{0%{transform:scale(1)}35%{transform:scale(1.018);box-shadow:0 0 0 6px #ffffff29}to{transform:scale(1)}}.loyalty-count{position:relative}.plus-one{position:absolute;left:0;bottom:100%;color:var(--accent);font-size:22px;font-weight:900;letter-spacing:-.02em;animation:plusOne 1.3s cubic-bezier(.2,.8,.3,1) forwards;pointer-events:none}@keyframes plusOne{0%{opacity:0;transform:translateY(14px) scale(.7)}22%{opacity:1;transform:translateY(-2px) scale(1.08)}70%{opacity:1;transform:translateY(-14px) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.95)}}.stamp.land{animation:stampLand .55s cubic-bezier(.2,1.5,.4,1) both}@keyframes stampLand{0%{transform:scale(2.4) rotate(-16deg);opacity:0}55%{transform:scale(.9) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.stamp.next{border-style:solid;border-color:var(--accent-light, rgba(255, 255, 255, .6));color:var(--accent-light, #fff);animation:stampNext 1.9s ease-in-out infinite}@keyframes stampNext{0%,to{box-shadow:0 0 #ffffff4d}50%{box-shadow:0 0 0 7px #fff0}}.loyalty-foot .almost{color:var(--accent-light, #8ef0cd);font-weight:800}.loyalty-reward{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:11px 13px;margin-bottom:12px;border-radius:13px;background:#ffffff12;border:1px solid rgba(255,255,255,.09);position:relative;z-index:2}.loyalty-reward span{color:#fff9;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.loyalty-reward strong{font-size:14px;text-align:right}.loyalty-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#ffffffad;position:relative;z-index:2}.brand-logo{display:block;max-width:132px;max-height:62px;margin:4px auto 16px;object-fit:contain}.brand-preview{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.brand-preview img{max-width:96px;max-height:48px;object-fit:contain}.brand-fallback{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:var(--on-accent, #06251f);font-weight:900;font-size:19px}.offer-badge{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-top:16px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--accent-line, #b6e6d5);text-align:center}.offer-badge span{color:var(--accent-strong);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.offer-badge strong{color:var(--accent-strong);font-size:15px}.consent-compact{margin-bottom:14px;padding:11px 12px}.consent-compact span{font-size:11px;line-height:1.45;color:#5c574f}.install-tip{margin-bottom:12px}.install-tip strong{display:block;margin-bottom:5px;font-size:13px}.install-tip p{margin:0;font-size:12px;line-height:1.5}.key{display:inline-block;padding:1px 6px;border-radius:6px;background:#ffffffa6;border:1px solid rgba(13,77,69,.22);font-weight:800;font-size:11px;white-space:nowrap}.client-box{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:12px;border-radius:17px;background:var(--panel-soft);border:1px solid var(--line)}.client-box strong{display:block;margin-bottom:3px;font-size:13px}.client-box p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.box-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:13px;color:var(--accent-strong);background:var(--accent-soft);font-weight:900}.reward-ready{background:var(--accent-soft);border-color:#b6e6d5}.reward-code{display:block;margin-top:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:27px;letter-spacing:.18em;font-weight:800}.reward-screen{position:relative;overflow:hidden}.reward-medal{width:74px;height:74px;margin:10px auto 16px;display:grid;place-items:center;border-radius:50%;color:#06251f;background:linear-gradient(145deg,var(--accent-soft),var(--accent));font-size:32px;box-shadow:0 12px 34px #d3a75757;animation:medalIn .6s cubic-bezier(.2,1.4,.4,1) both}@keyframes medalIn{0%{transform:scale(.4) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.reward-ticket{position:relative;margin:18px 0 14px;padding:20px 16px;border-radius:18px;text-align:center;background:linear-gradient(145deg,#11110f,#2c251a 72%,#6d4d1d);color:#fff;box-shadow:var(--shadow)}.reward-ticket span{display:block;color:#9fb3ad;font-size:10px;font-weight:900;letter-spacing:.16em}.reward-ticket strong{display:block;margin-top:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:34px;letter-spacing:.2em;color:var(--accent-soft)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:3}.confetti-piece{position:absolute;top:-14px;width:8px;height:13px;border-radius:2px;animation-name:confettiFall;animation-timing-function:cubic-bezier(.3,.5,.6,1);animation-fill-mode:forwards}@keyframes confettiFall{0%{opacity:0;transform:translateY(-10px) rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(340px) rotate(520deg)}}@media (prefers-reduced-motion: reduce){.loyalty.landed,.plus-one,.stamp.land,.stamp.next,.reward-medal,.confetti-piece{animation:none!important}.plus-one,.confetti{display:none}}.hero-symbol{width:52px;height:52px;margin:6px auto 16px;display:grid;place-items:center;border-radius:17px;color:var(--on-accent, #06251f);background:linear-gradient(145deg,var(--accent-light),var(--accent));font-size:22px}.client-copy{color:var(--muted);line-height:1.55;text-align:center;font-size:14px}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line)}.timeline-item:first-child{border-top:0}.timeline-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--accent-strong);background:var(--accent-soft);font-size:13px;font-weight:900}.timeline-icon.muted{background:#eef2f6;color:#7d786f}.timeline strong{display:block;font-size:13px;margin-bottom:2px}.timeline span{color:var(--muted);font-size:11px}.qr-block{display:grid;place-items:center;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line)}.qr-block svg{width:100%;height:auto;display:block}.qr-layout{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:18px}.notice{padding:13px 15px;border-radius:14px;font-size:12px;line-height:1.5}.notice-info{background:var(--accent-soft);color:var(--accent-strong)}.notice-warn{background:var(--orange-soft);color:#8a4b0b}.notice-ok{background:var(--green-soft);color:#1f6740}.flow-list{display:grid;gap:10px}.flow-row{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--panel-soft);border:1px solid var(--line);font-size:13px}.flow-arrow{color:var(--accent);font-weight:900}.flow-count{font-weight:800;font-size:12px;color:var(--muted)}.overlap-row{display:grid;gap:8px;padding:13px 15px;border-radius:14px;background:var(--panel-soft);border:1px solid var(--line)}.overlap-names{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.overlap-names span{color:var(--faint);font-size:11px}.overlap-figures{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.bar-track{height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.bar-track span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-light),var(--accent));border-radius:inherit}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:18px;background:#18140c61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(560px,100%);max-height:88vh;overflow-y:auto;padding:22px;border-radius:22px;background:var(--panel);box-shadow:0 30px 70px #1e180c47}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.icon-btn{width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:20px}.picker-list{display:grid;gap:8px;max-height:46vh;overflow-y:auto}.picker-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border-radius:13px;border:1px solid var(--line);background:#fff;text-align:left}.picker-row:hover{background:var(--panel-soft)}.toast{position:fixed;left:50%;bottom:26px;z-index:90;transform:translate(-50%,20px);max-width:min(440px,92vw);padding:13px 17px;border-radius:14px;color:#fff;background:#1c1a15;box-shadow:0 18px 40px #00000038;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.22s ease}.toast.show{opacity:1;transform:translate(-50%)}.loader{padding:60px 20px;text-align:center;color:var(--muted)}.mode-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:14px 17px;margin-bottom:16px;border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.mode-badge{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--accent-strong);background:var(--accent-soft);font-weight:900;font-size:12px}.mode-banner strong{display:block;margin-bottom:3px;font-size:14px}.mode-banner p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.home{max-width:940px;margin:0 auto;padding:48px 20px 70px}.home-card{display:block;padding:18px;border-radius:17px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;color:inherit}.home-card:hover{transform:translateY(-2px)}.home-card strong{display:block;margin-bottom:5px}.home-card span{color:var(--muted);font-size:12px;line-height:1.45}.legal{max-width:760px;margin:0 auto;padding:44px 20px 70px}.legal h2{margin:28px 0 10px}.legal p,.legal li{color:#3f3b35;line-height:1.65;font-size:14px}.legal ul{padding-left:20px}.swatches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.swatch{width:38px;height:38px;border-radius:12px;border:2px solid transparent;display:grid;place-items:center;color:#fff;font-weight:900;font-size:14px;cursor:pointer;box-shadow:inset 0 0 0 1px #00000014}.swatch.on{border-color:var(--ink)}.swatch-custom{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.swatch-custom input{width:22px;height:22px;padding:0;border:0;background:none}.stepper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stepper .btn{width:42px;height:42px;padding:0;font-size:20px;line-height:1}.stepper-value{min-width:96px;text-align:center}.stepper-value strong{display:block;font-size:32px;letter-spacing:-.04em;line-height:1}.stepper-value span{display:block;margin-top:3px;color:var(--faint);font-size:11px;font-weight:800}.pill.as-button{border:1px solid var(--line);cursor:pointer;font:inherit;font-size:10px;font-weight:900}.pill.as-button:hover{background:var(--accent-soft);color:var(--accent-strong)}.save-bar{position:sticky;bottom:0;margin-top:16px;padding:14px 0;background:linear-gradient(180deg,rgba(244,241,234,0),var(--bg) 40%)}.modal-save-bar{position:sticky;bottom:-22px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px -22px -22px;padding:16px 22px 20px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.7),var(--panel) 45%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-save-bar .btn-accent{font-size:15px}.preview-column{position:sticky;top:24px;align-self:start}.preview-phone{width:100%;max-width:none;margin:0;box-shadow:none;border:1px solid var(--line)}.step-card{position:relative;padding-top:22px}.step-number{position:absolute;top:-12px;left:18px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:#06251f;background:linear-gradient(145deg,var(--accent-light),var(--accent));font-weight:900;font-size:13px}.presentation{max-width:1280px;margin:0 auto;padding:22px 24px 32px;min-height:100vh;display:flex;flex-direction:column}.presentation-back{align-self:flex-start;margin-bottom:18px}.presentation-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.presentation-head h1{max-width:26ch;font-size:clamp(24px,3.4vw,38px);letter-spacing:-.03em;margin:0}.presentation-body{flex:1;min-height:min(58vh,560px)}.presentation-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:24px}.presentation-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}.presentation-tab span{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#eef2f6;color:var(--muted);font-size:10px;font-weight:900}.presentation-tab.done{color:#334155}.presentation-tab.done span{background:var(--accent-soft);color:var(--accent-strong)}.presentation-tab.on{color:#06251f;background:linear-gradient(145deg,var(--accent-light),var(--accent));border-color:transparent}.presentation-tab.on span{background:#00000021;color:#17140d}.act{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:44px;align-items:start}.act-text h2{font-size:clamp(21px,2.6vw,28px);letter-spacing:-.025em;margin-bottom:14px}.act-text p{color:var(--muted);line-height:1.65;margin-bottom:13px;max-width:60ch}.act-text strong{color:#1e293b}.act-list{margin:0 0 15px;padding:0;list-style:none;display:grid;gap:10px;max-width:60ch}.act-list li{position:relative;padding-left:22px;color:var(--muted);font-size:14px;line-height:1.55}.act-list li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:900}.act-visual{position:sticky;top:22px}.act-phone{width:100%;max-width:none;margin:0}.presentation-foot{position:sticky;bottom:0;z-index:6;display:grid;grid-template-columns:190px minmax(0,1fr) 190px;align-items:center;gap:14px;margin-top:32px;padding:14px 0 16px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(241,245,249,.82),var(--bg) 42%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.presentation-step-btn{width:100%;padding:13px 14px;text-align:center;text-decoration:none}.presentation-progress{text-align:center;line-height:1.25}.presentation-progress strong{display:block;font-size:14px}.presentation-progress small{color:var(--faint);font-size:11px;font-weight:800;letter-spacing:.06em}.poster-mock{padding:22px 18px 18px;border-radius:20px;background:#fff;border:2px solid var(--line);text-align:center;box-shadow:var(--shadow)}.poster-name{display:block;font-size:27px;letter-spacing:-.03em}.poster-venue{display:block;margin-top:3px;color:var(--muted);font-size:13px}.poster-qr{display:flex;justify-content:center;margin:16px 0 14px}.poster-offer{display:block;font-size:17px}.poster-note{display:block;margin-top:8px;color:var(--faint);font-size:11px;line-height:1.45}.poster-rule{display:block;width:120px;height:3px;margin:14px auto 0;border-radius:2px}.mock-dashboard{padding:16px;border-radius:18px;background:var(--panel-soft);border:1px solid var(--line)}.mock-rows{display:grid;gap:8px;margin-top:12px}.mock-result{margin-top:14px;padding:13px;border-radius:14px;background:#fff;border:1px solid var(--line)}.split-card{padding:15px;border-radius:15px;background:#fff;border:1px solid var(--line)}.split-card+.split-card{margin-top:10px}.split-card.accent{background:var(--accent-soft);border-color:#b6e6d5}.split-card ul{margin:0;padding-left:18px}.split-card li{color:var(--muted);font-size:13px;line-height:1.6}.split-card.accent li{color:var(--accent-strong)}.stamp-grid{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.stamp-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px dashed var(--line);background:#fff;color:var(--faint);font-size:12px;font-weight:800;cursor:pointer;transition:transform .12s ease,background .15s ease}.stamp-btn:hover:not(:disabled){transform:scale(1.08);border-color:var(--accent);color:var(--accent-strong)}.stamp-btn.on{border-style:solid;border-color:transparent;color:#06251f;background:linear-gradient(145deg,var(--accent-light),var(--accent));font-weight:900}.stamp-btn:disabled{opacity:.5;cursor:default}.stamp-grid-count{margin-left:6px;color:var(--faint);font-size:12px;font-weight:800}.setup-list{margin:0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:setup}.setup-list li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:13px;border:1px solid var(--line);background:#fff}.setup-list li.done{background:var(--panel-soft);border-style:dashed}.setup-list li.done strong{color:var(--faint);text-decoration:line-through}.setup-list strong{display:block;font-size:13px;margin-bottom:2px}.setup-list span{color:var(--muted);font-size:11.5px;line-height:1.45}.setup-list li>div{flex:1;min-width:0}.setup-check{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px dashed var(--line);background:#fff;color:#06251f;font-weight:900;font-size:13px}.setup-list li.done .setup-check{border-style:solid;border-color:transparent;background:linear-gradient(145deg,var(--accent-light),var(--accent))}@media (max-width: 1080px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main,.grid-3{grid-template-columns:minmax(0,1fr)}.act{grid-template-columns:minmax(0,1fr);gap:28px}.act-visual{position:static;max-width:420px}}@media (max-width: 720px){.presentation{padding:16px 14px 24px}.presentation-foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.presentation-progress{grid-row:1;grid-column:1 / -1}}@media (max-width: 860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.mobile-bar{display:flex}.sidebar.drawer{display:flex;position:fixed;top:0;left:0;bottom:0;width:min(300px,86vw);height:100vh;z-index:60}.nav{grid-auto-flow:row}.main{padding:76px 16px 48px}.shell.visiting .main{padding-top:108px}.breadcrumb .trail-parent{display:none}.grid-2,.qr-layout{grid-template-columns:minmax(0,1fr)}.flow-row{grid-template-columns:1fr auto 1fr}.flow-row .flow-count{grid-column:1 / -1}}@media (max-width: 520px){.grid-4{grid-template-columns:minmax(0,1fr)}.metric-value{font-size:30px}}@media (max-width: 1080px){.preview-column{position:static}}.metric-note.up{color:var(--green);font-weight:800}.metric-note.down{color:var(--red);font-weight:800}.metric-note.flat{color:var(--faint)}.qr-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:14px;border-radius:15px;border:1px solid var(--line);background:#fff}.qr-row-body{min-width:0}.qr-stats{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:12px}.qr-stats strong{color:var(--ink);font-size:15px}@media (max-width: 620px){.qr-row{grid-template-columns:minmax(0,1fr)}}.kpi-grid{display:grid;gap:12px;margin-bottom:16px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.kpi{padding:16px 18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-left:4px solid var(--line)}.kpi-up{border-left-color:var(--green)}.kpi-down{border-left-color:var(--red)}.kpi-flat{border-left-color:var(--faint)}.kpi-label{display:block;color:var(--muted);font-size:12px;font-weight:800}.kpi-value{display:block;margin:10px 0 4px;font-size:31px;letter-spacing:-.04em;line-height:1}.kpi-delta{display:block;font-size:12px;font-weight:800}.kpi-up .kpi-delta{color:var(--green)}.kpi-down .kpi-delta{color:var(--red)}.kpi-flat .kpi-delta{color:var(--faint)}.kpi-help{display:block;margin-top:9px;color:var(--faint);font-size:11px;line-height:1.45}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sparkline{width:100%;height:96px;display:block}.sparkline-axis{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:var(--faint);font-size:11px}.sparkline-axis strong{color:var(--ink);font-size:13px}.todo{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:13px;border:1px solid var(--line);background:var(--panel-soft);text-align:left;font-size:13px;color:var(--faint)}.todo.active{background:#fff;color:var(--ink);font-weight:700}.todo.active:hover{border-color:var(--accent)}.todo-count{min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border-radius:11px;background:#eef2f6;color:var(--faint);font-size:16px;font-weight:900;flex:none}.todo.active .todo-count{color:#06251f;background:linear-gradient(145deg,var(--accent-light),var(--accent))}.todo-go{margin-left:auto;color:var(--accent);font-weight:900}.offer-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:12px;border-radius:15px;color:#06251f;background:linear-gradient(135deg,var(--accent-light),var(--accent))}.offer-banner strong{display:block;font-size:13px}.offer-banner p{margin:2px 0 0;font-size:12px;line-height:1.4;opacity:.85}.offer-flash{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:11px;background:#ffffff59;font-size:16px}.tech-note{margin-top:18px}.tech-note summary{cursor:pointer;color:var(--faint);font-size:12px;padding:8px 0}.tech-note summary:hover{color:var(--muted)}.mini-spark{width:100%;height:30px;display:block;margin-top:12px}.bars{display:flex;align-items:flex-end;gap:8px;height:132px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-value{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:4px}.bar-slot{flex:1;width:100%;display:flex;align-items:flex-end}.bar-fill{width:100%;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--accent-light),var(--accent));min-height:3px}.bar-fill.best{background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.bar-label{margin-top:7px;font-size:10px;color:var(--faint);text-transform:capitalize}.donut-layout{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.donut{width:118px;height:118px;flex:none}.donut-total{font-size:21px;font-weight:800;fill:var(--ink)}.donut-caption{font-size:8px;fill:var(--faint)}.donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px;flex:1;min-width:130px}.donut-legend li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.donut-legend strong{margin-left:auto;color:var(--ink)}.dot-legend{width:9px;height:9px;border-radius:50%;flex:none}.rank{display:grid;gap:11px}.rank-row{display:grid;grid-template-columns:minmax(70px,1fr) 2fr auto;align-items:center;gap:10px}.rank-label{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-track{height:8px;border-radius:99px;background:#eef2f6;overflow:hidden}.rank-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-light),var(--accent))}.rank-share{font-size:12px;font-weight:800;color:var(--ink);min-width:34px;text-align:right}.link-button{padding:0;border:0;background:none;font:inherit;color:var(--accent-strong);text-decoration:underline;cursor:pointer}.link-button:hover{color:var(--accent)}.link-button:disabled{opacity:.5;cursor:default}
