:root{--font:"Manrope", system-ui, -apple-system, sans-serif;--sky:#96c8e2;--sky-strong:#5fa8cf;--sky-hero-1:#7fbbea;--sky-hero-2:#b9d8f3;--sky-50:#f0f9ff;--sky-100:#eaf3ff;--sky-150:#e9f2fc;--sky-200:#d6e9ff;--navy:#1e3a8a;--violet:#6458be;--violet-50:#efedfb;--ink:#1b1819;--ink-2:#333;--text:#374151;--muted:#6b7280;--line:#e5e7eb;--line-2:#d1d5db;--bg:#fff;--bg-soft:#f8fafc;--ok:#16a34a;--ok-50:#ecfdf3;--warn:#d97706;--warn-50:#fff7ed;--bad:#ef4444;--bad-50:#fef2f2;--r-sm:6px;--r-md:12px;--r-lg:20px;--r-xl:28px;--shadow:0 1px 2px #1018280a, 0 6px 24px #1018280f;--shadow-lg:0 10px 40px #1e3a8a1f}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{letter-spacing:-.02em;color:var(--ink);margin:0}p{margin:0}button{font:inherit;cursor:pointer}input{font:inherit}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.mono{letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600}.text-bad{color:var(--bad)}.text-accent{color:var(--violet);font-weight:700}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;font-size:12px;font-weight:800}.logo{color:var(--sky);align-items:center;gap:4px;display:inline-flex}.logo__icon{width:28px;height:28px}.logo__word{letter-spacing:-.03em;font-size:26px;font-weight:600}.logo__tag{background:var(--sky-100);color:var(--navy);letter-spacing:.02em;border-radius:999px;margin-left:8px;padding:3px 8px;font-size:11px;font-weight:700}.logo--lg .logo__icon{width:40px;height:40px}.logo--lg .logo__word{font-size:38px}.btn{border-radius:var(--r-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,transform 50ms,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--sm{padding:8px 14px;font-size:14px}.btn--lg{padding:14px 22px;font-size:16px}.btn--block{width:100%}.btn--pill{border-radius:999px;padding:10px 26px}.btn--dark{background:var(--ink-2);color:#fff}.btn--dark:hover:not(:disabled){background:#111}.btn--outline{color:var(--ink-2);border-color:var(--line-2);background:#fff}.btn--outline:hover:not(:disabled){border-color:var(--ink-2)}.btn--primary{background:var(--violet);color:#fff;border-radius:999px}.btn--primary:hover:not(:disabled){background:#5245ad}.btn--ghost{color:var(--muted);background:0 0}.btn--ghost:hover{background:var(--bg-soft);color:var(--ink)}.link-btn{color:var(--muted);background:0 0;border:0;font-size:13px;text-decoration:underline}.spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.spinner--dark{border-color:var(--line);border-top-color:var(--ink-2)}@keyframes spin{to{transform:rotate(360deg)}}.card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);background:#fff}.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.field input{border:1px solid var(--line-2);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:12px 14px;font-weight:500;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--sky-strong);box-shadow:0 0 0 4px var(--sky-100)}.field small{font-size:12px;font-weight:500}.input-prefix{position:relative}.input-prefix i{color:var(--muted);font-style:normal;font-weight:600;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-prefix input{padding-left:42px}.alert{border-radius:10px;padding:12px 14px;font-size:14px;font-weight:500}.alert--error{background:var(--bad-50);color:#b91c1c}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-bottom:1px solid #0000;position:sticky;top:0}.topbar__inner{justify-content:space-between;align-items:center;gap:16px;height:72px;display:flex}.topnav{gap:32px;display:flex}.topnav__link{color:var(--ink);border-bottom:2px solid #0000;padding:6px 0;font-size:16px}.topnav__link:hover{color:var(--navy)}.topnav__link.active{border-bottom-color:var(--sky);font-weight:700}.topbar__right{align-items:center;gap:10px;display:flex}.merchant-chip{background:var(--sky-100);max-width:220px;color:var(--navy);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:14px;font-weight:600;display:flex}.merchant-chip__icon{width:28px;height:28px;color:var(--sky-strong);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.merchant-chip__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{padding-top:8px;padding-bottom:48px}.bottomnav{display:none}.hero{border-radius:var(--r-xl);background:linear-gradient(180deg, var(--sky-hero-1) 0%, var(--sky-hero-2) 100%);text-align:center;color:#fff;padding:64px 24px 72px;position:relative;overflow:hidden}.hero__inner{z-index:1;max-width:720px;margin:0 auto;position:relative}.hero__pill{background:#ffffff40;border-radius:999px;align-items:center;gap:6px;margin-bottom:18px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.hero h1{color:#fff;font-size:clamp(32px,5.4vw,56px);font-weight:600;line-height:1.1}.hero p{opacity:.95;margin-top:12px;font-size:17px}.hero__hint{opacity:.85!important;font-size:13px!important}.searchbar{background:#fff;border-radius:999px;align-items:center;gap:8px;max-width:520px;margin:32px auto 0;padding:6px 6px 6px 18px;display:flex;box-shadow:0 8px 30px #1e3a8a2e}.searchbar__icon{color:var(--muted);flex-shrink:0}.searchbar input{letter-spacing:.08em;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:20px;font-weight:700}.searchbar input::placeholder{color:#b3b3b3;font-weight:600}.searchbar--pin{gap:0;max-width:640px;padding-left:6px}.searchbar__seg{align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.searchbar__seg--code{flex:1}.searchbar__seg--pin{border-left:1px solid var(--line);flex-shrink:0;width:200px}.searchbar .pin-input{letter-spacing:.22em;width:100%;font-size:18px}.searchbar .pin-input::placeholder{letter-spacing:.06em}.pin-toggle{color:var(--muted);background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;padding:4px;display:grid}.pin-toggle:hover{color:var(--ink);background:var(--bg-soft)}.searchbar__submit{margin-left:4px}.hero__shapes .ticket{color:#fff;background:#ffffff38;border:1.5px dashed #fff9;border-radius:12px;padding:10px 16px;font-size:15px;font-weight:800;position:absolute}.ticket--a{top:22%;left:6%;transform:rotate(-10deg)}.ticket--b{top:30%;right:7%;transform:rotate(8deg)}.ticket--c{bottom:14%;left:14%;transform:rotate(6deg)}.result{z-index:2;max-width:760px;box-shadow:var(--shadow-lg);margin-top:-36px;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.result__head{align-items:flex-start;gap:14px;padding:20px 22px;display:flex}.result__head h3{font-size:18px}.result__head p{color:var(--text);margin-top:2px;font-size:14px}.result__badge{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.result__close{margin-left:auto;padding:8px}.result--ok .result__head{background:var(--ok-50)}.result--ok .result__badge{background:var(--ok)}.result--warn .result__head{background:var(--warn-50)}.result--warn .result__badge{background:var(--warn)}.result--bad .result__head{background:var(--bad-50)}.result--bad .result__badge{background:var(--bad)}.result__body{gap:18px;padding:20px 22px 22px;display:grid}.result__footer{justify-content:flex-end;padding:16px 22px 20px;display:flex}.deal-box{background:var(--sky-100);border-radius:var(--r-md);gap:14px;padding:16px;display:flex}.deal-box__icon{width:40px;height:40px;color:var(--violet);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.deal-box h4{margin:6px 0 4px;font-size:17px}.deal-box p{color:var(--text);font-size:13px;line-height:1.5}.badge-off{background:var(--violet);color:#fff;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-block}.meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 20px;margin:0;display:grid}.meta dt{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600}.meta dd{flex-wrap:wrap;align-items:center;gap:4px;margin:0;font-size:15px;font-weight:600;display:flex}.meta dd small{width:100%;color:var(--muted);font-size:12px;font-weight:500}.redeem{border-top:1px dashed var(--line-2);gap:14px;padding-top:18px;display:grid}.redeem__fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.redeem__actions{justify-content:flex-end;gap:10px;display:flex}.calc{border-radius:var(--r-md);background:var(--sky-50);border:1px solid var(--sky-200);gap:24px;padding:14px 16px;display:flex}.calc div{flex-direction:column;gap:2px;display:flex}.calc span{color:var(--muted);font-size:12px;font-weight:600}.calc b{font-size:17px}.calc__total{color:var(--navy);font-size:20px!important}.calc--center{justify-content:center;margin:4px 0 8px}.success{z-index:2;text-align:center;max-width:560px;box-shadow:var(--shadow-lg);justify-items:center;gap:10px;margin-top:-36px;margin-left:auto;margin-right:auto;padding:32px 24px;display:grid;position:relative}.success__check{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:6px;animation:.35s ease-out pop;display:grid}.success h3{font-size:22px}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px;display:grid}.stat{flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stat__label{color:var(--muted);font-size:13px;font-weight:600}.stat__value{letter-spacing:-.02em;font-size:26px;font-weight:700}.howto{border-radius:var(--r-lg);background:var(--sky-150);margin-top:36px;padding:28px}.howto__grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;display:grid}.howto__item{gap:14px;display:flex}.howto__num{background:var(--violet);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.howto h4{margin-bottom:4px;font-size:16px}.howto p{color:var(--text);font-size:14px;line-height:1.5}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin:24px 0 20px;display:flex}.page-head h2{font-size:clamp(26px,3.4vw,36px);font-weight:700}.page-head p{margin-top:6px}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px;display:flex}.search-sm{border:1px solid var(--line-2);min-width:220px;max-width:420px;color:var(--muted);background:#fff;border-radius:999px;flex:1;align-items:center;gap:8px;padding:0 14px;display:flex}.search-sm input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:11px 0;font-size:15px}.segmented{background:var(--sky-100);border-radius:999px;padding:4px;display:inline-flex}.segmented button{color:var(--text);background:0 0;border:0;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}.segmented button.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #00000014}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg-soft);border-bottom:1px solid var(--line);padding:14px 18px;font-size:12px;font-weight:700}.table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 18px}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--sky-50)}.table .num{text-align:right}.history-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.history-item{gap:4px;padding:14px 16px;font-size:14px;display:grid}.history-item__top,.history-item__bottom{justify-content:space-between;align-items:center;display:flex}.history-item__top .muted{font-size:12px}.history-item__bottom{margin-top:6px;font-weight:600}.empty{text-align:center;justify-items:center;gap:6px;padding:48px 24px;display:grid}.deal-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.deal-card{flex-direction:column;gap:8px;padding:20px;display:flex}.deal-card.is-off{opacity:.6}.deal-card__top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.deal-card__icon{background:var(--sky-100);width:42px;height:42px;color:var(--violet);border-radius:50%;place-items:center;display:grid}.deal-card h3{font-size:18px}.deal-card p{flex:1;font-size:13px;line-height:1.5}.deal-card .badge-off{align-self:flex-start}.deal-card__price{background:var(--sky-50);text-align:center;color:var(--ink);border-radius:10px;margin-top:4px;padding:10px;font-size:14px;font-weight:700}.status-pill{background:var(--bg-soft);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.status-pill--on{background:var(--ok-50);color:var(--ok);border-color:#bbf7d0}.progress{background:var(--sky-100);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.progress__bar{background:linear-gradient(90deg, var(--sky), var(--violet));border-radius:inherit;height:100%}.deal-card__foot{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.deal-card__foot b{color:var(--ink)}.demo-reset{text-align:center;margin-top:28px}:root{--bottomnav-h:0px}.code-form{text-align:left;grid-template-columns:minmax(0,1fr);gap:10px;max-width:520px;margin:28px auto 0;display:grid}.code-form>*{min-width:0}.code-form__label{color:#fff;padding-left:6px;font-size:13px;font-weight:700}.code-input{background:#fff;border:2px solid #0000;border-radius:18px;align-items:center;gap:10px;height:64px;padding:0 10px 0 18px;transition:border-color .15s;display:flex;box-shadow:0 8px 30px #1e3a8a2e}.code-input:focus-within{border-color:var(--violet)}.code-input.is-ready{border-color:var(--ok)}.code-input__icon{color:var(--muted);flex-shrink:0;width:22px;height:22px}.code-input input{min-width:0;color:var(--ink);letter-spacing:.08em;background:0 0;border:0;outline:none;flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:22px;font-weight:700}.code-input input::placeholder{color:#b8bcc4;font-weight:600}.code-input__clear{background:var(--bg-soft);width:40px;height:40px;color:var(--muted);border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.code-progress{grid-template-columns:repeat(3,1fr);gap:6px;padding:0 4px;display:grid}.code-progress span{background:#fff6;border-radius:999px;height:4px;position:relative;overflow:hidden}.code-progress span:after{content:"";width:var(--fill);border-radius:inherit;background:#fff;transition:width .15s;position:absolute;inset:0}.code-form__submit{justify-self:center;min-width:260px;min-height:52px;margin-top:8px}.result-anchor{scroll-margin-top:84px}.result{overflow:clip}.field input{font-size:16px}.field em{color:var(--muted);font-style:normal;font-weight:500}.input-prefix--lg input{height:58px;padding-left:50px;font-size:24px;font-weight:700}.input-prefix--lg i{font-size:18px;left:16px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--sky-200);background:var(--sky-50);color:var(--navy);border-radius:999px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:700}.chip:active{background:var(--sky-100)}.action-bar{justify-content:flex-end;gap:10px;display:flex}.action-bar .btn{min-height:52px}.receipt{border-radius:var(--r-md);background:var(--sky-50);border:1px dashed var(--sky);gap:8px;width:100%;max-width:360px;margin:8px 0 6px;padding:14px 16px;display:grid}.receipt div{justify-content:space-between;font-size:15px;display:flex}.receipt span{color:var(--muted);font-weight:600}.receipt__total{border-top:1px dashed var(--sky);padding-top:8px}.receipt__total b{color:var(--navy);font-size:20px}.success-screen{z-index:2;margin-top:-36px;position:relative}.success-screen .success{margin-top:0}.success__next{min-height:54px;margin-top:8px}.sheet{z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet__backdrop{background:#0f172a73;animation:.2s ease-out fade;position:absolute;inset:0}.sheet__panel{text-align:center;background:#fff;border-radius:24px;outline:none;width:100%;max-width:380px;padding:28px 24px 24px;animation:.22s ease-out pop;position:relative;box-shadow:0 20px 60px #0f172a40}.sheet__grip{display:none}.sheet__close{background:var(--bg-soft);width:40px;height:40px;color:var(--muted);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.sheet__lock{background:var(--violet-50);width:52px;height:52px;color:var(--violet);border-radius:50%;place-items:center;margin-bottom:10px;display:inline-grid}.sheet__panel h3{font-size:20px}.sheet__sub{margin-top:4px;font-size:14px}.sheet__msg{min-height:20px;margin:4px 0 14px;font-size:13px;font-weight:600}.sheet__checking{border-radius:inherit;background:#ffffff8c;place-items:center;display:grid;position:absolute;inset:0}.pin-dots{justify-content:center;gap:14px;margin:22px 0 10px;display:flex}.pin-dots span{border:2px solid var(--line-2);border-radius:50%;width:16px;height:16px;transition:background .12s,border-color .12s,transform .12s}.pin-dots span.is-on{background:var(--ink-2);border-color:var(--ink-2);transform:scale(1.05)}.pin-dots.is-error span{border-color:var(--bad)}.pin-dots.is-shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes fade{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(100%)}}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.keypad__key{background:var(--bg-soft);height:60px;color:var(--ink);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:16px;font-size:26px;font-weight:600;transition:background 80ms,transform 50ms}.keypad__key:active:not(:disabled){background:var(--sky-200);transform:scale(.97)}.keypad__key:disabled{opacity:.4}.keypad__key--fn{color:var(--muted);background:0 0;font-size:16px}.keypad__key--fn[aria-label=Hapus]{font-size:24px}.store-badge{max-width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:999px;align-items:center;gap:10px;margin-top:16px;padding:6px 6px 6px 8px;display:inline-flex;box-shadow:0 4px 16px #1e3a8a1f}.store-badge__icon{background:var(--sky-100);width:32px;height:32px;color:var(--navy);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.store-badge__text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.store-badge__text b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.store-badge__text small{color:var(--muted);font-size:12px;font-weight:600}.store-badge__change{background:var(--bg-soft);color:var(--navy);border:0;border-radius:999px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:700}.public{--bottomnav-h:0px}.public .main{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.public__note{text-align:center;max-width:560px;color:var(--muted);margin:24px auto 0;font-size:13px;line-height:1.5}.public__note a{color:var(--navy);font-weight:700;text-decoration:underline}.demo-hint--light{color:#fff;text-align:center;background:#ffffff40;border-color:#ffffffb3}.or-divider{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--line);flex:1;height:1px}.login__hint{text-align:center;margin-top:-6px;font-size:13px}.kasir-link{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:18px 22px;display:flex}.kasir-link h3{font-size:17px}.kasir-link p{max-width:560px;margin-top:4px;font-size:14px;line-height:1.5}.kasir-link__box{background:var(--sky-50);border:1px solid var(--sky-200);border-radius:12px;align-items:center;gap:8px;max-width:100%;padding:6px 6px 6px 14px;display:flex}.kasir-link__box code{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:700;overflow:hidden}@media (width<=600px){.kasir-link{padding:16px}.kasir-link__box{flex-wrap:wrap;width:100%;padding:10px}.kasir-link__box code{width:100%}.kasir-link__box .btn{flex:1;min-height:44px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono-sm{letter-spacing:.03em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:20px 0;display:flex}.dash-head h2{font-size:clamp(24px,3vw,34px);font-weight:700}.dash-head p{margin-top:6px}.quick{border-radius:var(--r-xl);color:#fff;background:radial-gradient(600px 200px at 90% 120%, #ffffff59, transparent 60%), linear-gradient(180deg, var(--sky-hero-1), var(--sky-hero-2));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.quick h3{color:#fff;font-size:clamp(22px,2.6vw,30px);font-weight:600}.quick p{opacity:.95;margin-top:6px}.quick .hero__pill{margin-bottom:12px}.quick__side{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.quick__today{color:var(--navy);background:#fff;border-radius:14px;flex-direction:column;padding:10px 18px;display:flex;box-shadow:0 4px 16px #1e3a8a1f}.quick__today span{color:var(--muted);font-size:12px;font-weight:700}.quick__today b{font-size:28px;line-height:1.1}.quick p{text-shadow:0 1px 2px #1e3a8a40}.kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;display:grid}.kpi{flex-direction:column;gap:4px;padding:18px 20px;display:flex}.kpi__label{color:var(--muted);font-size:13px;font-weight:600}.kpi__value{letter-spacing:-.02em;font-size:28px;font-weight:700}.kpi__delta{color:var(--muted);font-size:13px;font-weight:700}.kpi__delta small{color:var(--muted);font-weight:500}.kpi__delta.is-up{color:var(--ok)}.kpi__delta.is-down{color:var(--bad)}.dash-grid{grid-template-columns:2fr 1fr;gap:16px;margin-top:16px;display:grid}.panel{min-width:0;padding:20px 22px}.panel__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panel__head h3{font-size:17px}.panel__head p{margin-top:2px;font-size:13px}.link-more{color:var(--navy);white-space:nowrap;font-size:14px;font-weight:700}.link-more:hover{text-decoration:underline}.chart__plot{height:240px;margin:8px 0 28px 28px;position:relative}.chart__grid{border-top:1px solid var(--line);position:absolute;left:0;right:0}.chart__grid span{text-align:right;width:22px;color:var(--muted);font-size:11px;position:absolute;top:-8px;left:-28px}.chart__bars{align-items:flex-end;gap:2px;display:flex;position:absolute;inset:0}.chart__col{outline:none;flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.chart__bar{background:var(--violet);border-radius:4px 4px 0 0;width:100%;max-width:22px;min-height:2px;transition:opacity .15s}.chart__bars:hover .chart__bar{opacity:.45}.chart__col:hover .chart__bar,.chart__col:focus .chart__bar{opacity:1}.chart__x{color:var(--muted);white-space:nowrap;margin-top:8px;font-size:11px;position:absolute;top:100%}.chart__tip{z-index:3;background:var(--ink-2);color:#fff;white-space:nowrap;pointer-events:none;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:none;position:absolute;bottom:calc(100% - 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000002e}.chart__col:hover .chart__tip,.chart__col:focus .chart__tip{display:flex}.chart__col:first-child .chart__tip,.chart__col:nth-child(2) .chart__tip{left:0;transform:none}.chart__col:last-child .chart__tip,.chart__col:nth-last-child(2) .chart__tip{left:auto;right:0;transform:none}.hbars,.quota{gap:16px;margin:0;padding:0;list-style:none;display:grid}.hbars__row,.quota__row{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:14px;display:flex}.hbars__track{background:var(--sky-100);border-radius:999px;height:10px;overflow:hidden}.hbars__bar{background:var(--violet);border-radius:999px;height:100%}.hbars__sub,.quota__sub{margin-top:4px;font-size:12px;display:block}.peak{border-radius:var(--r-md);background:var(--sky-50);border:1px solid var(--sky-200);align-items:center;gap:12px;margin-top:20px;padding:14px;display:flex}.peak__icon{width:36px;height:36px;color:var(--navy);background:#fff;border-radius:50%;place-items:center;display:grid}.peak div{flex-direction:column;font-size:13px;display:flex}.peak b{font-size:16px}.recent{margin:0;padding:0;list-style:none}.recent li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.recent li:last-child{border-bottom:0}.recent__avatar{background:var(--sky-100);width:38px;height:38px;color:var(--navy);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}.recent__main{flex-direction:column;flex:1;min-width:0;font-size:14px;display:flex}.recent__side{flex-direction:column;align-items:flex-end;font-size:14px;font-weight:600;display:flex}.recent__side .muted{font-size:12px;font-weight:500}@media (width<=960px){.kpis{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}@media (width<=600px){.quick{border-radius:var(--r-lg);padding:22px 18px}.quick__side{justify-content:space-between;width:100%}.kpi__value{font-size:22px}.kpi__delta small{display:block}.chart__plot{height:200px}.chart__bar{border-radius:3px 3px 0 0}.panel{padding:16px}}.login{grid-template-columns:1.1fr 1fr;gap:16px;min-height:100%;padding:16px;display:grid}.login__hero{border-radius:var(--r-xl);color:#fff;background:radial-gradient(1200px 400px at 20% 110%, #ffffff73, transparent 60%), linear-gradient(180deg, var(--sky-hero-1), var(--sky-hero-2));align-items:center;padding:48px;display:flex}.login__hero .logo{color:#fff}.login__hero h1{color:#fff;margin:28px 0 14px;font-size:clamp(30px,3.6vw,48px);font-weight:600;line-height:1.12}.login__hero p{opacity:.95;max-width:460px;font-size:17px;line-height:1.55}.login__points{gap:12px;margin:28px 0 0;padding:0;font-weight:600;list-style:none;display:grid}.login__points li{align-items:center;gap:10px;display:flex}.dot-check{background:#ffffff4d;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.login__panel{place-items:center;padding:24px;display:grid}.login__form{gap:16px;width:100%;max-width:420px;padding:32px;display:grid}.login__form h2{font-size:26px;font-weight:700}.login__form>.muted{margin-top:-10px;font-size:14px}.demo-hint{border:1px dashed var(--sky);background:var(--sky-50);color:var(--navy);text-align:left;border-radius:10px;padding:10px 12px;font-size:13px}.show-md{display:none}@media (width<=960px){.topnav{display:none}.stats{grid-template-columns:repeat(2,1fr)}.howto__grid,.login{grid-template-columns:1fr}.login__hero{padding:32px 24px}.login__points,.hide-md{display:none}.show-md{display:grid}.bottomnav{z-index:30;border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav__link{color:var(--muted);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px;font-size:12px;font-weight:600;display:flex}.bottomnav__link.active{color:var(--navy);background:var(--sky-100)}.main{padding-bottom:96px}:root{--bottomnav-h:calc(62px + env(safe-area-inset-bottom))}}@media (width<=600px){.hero--redeem{padding:26px 16px 28px}.hero--redeem .hero__pill{margin-bottom:10px}.hero--redeem h1{font-size:30px}.hero__lead{margin-top:6px!important;font-size:14px!important}.code-form{margin-top:20px}.code-input{border-radius:16px;height:60px;padding-left:14px}.code-input input{letter-spacing:.05em;font-size:20px}.code-form__submit{justify-self:stretch;min-width:0}.result,.success-screen{margin-top:16px}.result{border-radius:var(--r-lg)}.result__head{padding:16px}.result__body{gap:16px;padding:16px}.meta{grid-template-columns:1fr 1fr}.meta>div:nth-child(2){order:-1;grid-column:1/-1}.btn--block-sm{width:100%}.result__footer{padding:0 16px 16px}.action-bar{bottom:var(--bottomnav-h);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);background:#fffffff5;margin:0 -16px -16px;padding:12px 16px;position:sticky}.action-bar .btn--outline{flex:none;padding-left:16px;padding-right:16px}.action-bar__main{flex:1}.success-screen{z-index:45;background:linear-gradient(180deg, var(--ok-50), #fff 45%);padding:24px 16px calc(24px + env(safe-area-inset-bottom));place-items:center;margin:0;animation:.2s ease-out fade;display:grid;position:fixed;inset:0;overflow-y:auto}.success-screen .success{box-shadow:none;background:0 0;border:0;width:100%;margin:0}.success__next{width:100%}.sheet{align-items:flex-end}.sheet__panel{max-width:none;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.25s cubic-bezier(.2,.8,.2,1) slideup}.sheet__grip{background:var(--line-2);border-radius:999px;width:40px;height:5px;margin:0 auto 14px;display:block}.sheet__close{top:12px}.keypad{gap:8px}.keypad__key{height:62px}.redeem-page .howto{display:none}.stats--compact{gap:10px;margin-top:20px}.stats--compact .stat{padding:14px}.stats--compact .stat__value{font-size:20px}.topbar__inner{height:60px}.logo__word{font-size:22px}.logo__icon{width:24px;height:24px}.merchant-chip,.hide-sm{display:none}.hero{border-radius:var(--r-lg);padding:40px 16px 60px}.hero p{font-size:15px}.hero__shapes{display:none}.searchbar{padding-left:14px}.searchbar input{letter-spacing:.04em;font-size:17px}.searchbar--pin{border-radius:20px;flex-direction:column;align-items:stretch;padding:6px}.searchbar--pin .searchbar__seg{padding:4px 12px}.searchbar--pin .searchbar__seg--pin{border-left:0;border-top:1px solid var(--line);width:auto}.searchbar--pin .searchbar__submit{margin:6px 0 0;padding:12px}.btn--pill{padding:10px 18px}.redeem__fields{grid-template-columns:1fr}.redeem__actions{flex-direction:column-reverse}.redeem__actions .btn{width:100%}.calc{flex-wrap:wrap;gap:16px}.stat__value{font-size:22px}.page-head{flex-direction:column;align-items:flex-start}.result__head,.result__body{padding-left:16px;padding-right:16px}.login{padding:8px}.login__form{padding:24px 20px}}
