:root{--blue:#003cc8;--navy:#062c7a;--sky:#eaf4ff;--cyan:#33b5e5;--ink:#172033;--muted:#667085;--line:#d9e2f0;--ok:#087c55;--warn:#a15c00;--bad:#b42318;--white:#fff;--shadow:0 16px 42px rgba(26,58,112,.12);font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f3f6fb;font-synthesis:none}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#f3f6fb}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid #ffca3a;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;padding:calc(12px + env(safe-area-inset-top)) max(18px,calc((100% - 1120px)/2)) 12px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(217,226,240,.9);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:850}.brand img{width:86px;height:auto}.brand small{display:block;color:var(--muted);font-size:.68rem;font-weight:700}.top-actions{display:flex;align-items:center;gap:8px}.ghost,.icon-button{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:800}.ghost{padding:0 15px}.icon-button{width:42px;padding:0}.admin-menu{display:none}
.landing-canvas{position:relative;width:min(100%,390px);min-height:100vh;margin:0 auto;padding:22px 16px calc(96px + env(safe-area-inset-bottom));background:#fff}.landing-canvas+.topbar{display:none}.landing-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.landing-top img{width:58px;height:auto;border-radius:0}.ref-pill{min-height:28px;padding:0 9px;border:0;border-radius:7px;color:#27662e;background:#eaf6e8;font-size:.65rem;font-weight:850}.landing-canvas h1{max-width:340px;margin:30px 0 5px;font-size:1.75rem;line-height:.98;letter-spacing:-.045em}.landing-sub{margin:0 0 14px;color:var(--blue);font-size:.7rem;font-weight:750}.landing-benefits{display:grid;gap:7px}.landing-benefit{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;min-height:62px;padding:9px 11px;border-radius:10px;background:#e9f2ff}.landing-benefit strong,.landing-benefit small,.point-strip strong,.point-strip small{display:block}.landing-benefit strong{font-size:.76rem}.landing-benefit small,.point-strip small{margin-top:3px;color:var(--muted);font-size:.62rem}.landing-icon{position:relative;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue)}.motor-badge{display:block;width:30px!important;height:30px!important;object-fit:contain;border-radius:50%}.vi-icon{display:block}.point-icon{display:grid;place-items:center;color:var(--blue)}.cert-card{margin-top:10px;padding:15px;border-radius:11px;color:#fff;background:linear-gradient(145deg,#003cc8,#1236bf)}.cert-card small{font-size:.55rem;font-weight:800;letter-spacing:.08em}.cert-card h2{margin:7px 0 5px;font-size:1.22rem;line-height:1.1}.cert-card p{margin:0;font-size:.66rem;line-height:1.45}.point-strip{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:10px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px}.point-strip strong{font-size:.68rem}.landing-dock{position:fixed;z-index:10;left:50%;bottom:0;width:min(100%,390px);padding:10px 16px calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);background:linear-gradient(transparent,#fff 24%)}.landing-dock button{width:100%;min-height:46px;border-radius:10px;font-size:.75rem}
.hero{overflow:hidden;position:relative;padding:48px 20px 92px;color:#fff;background:linear-gradient(145deg,#062c7a 0%,#003cc8 62%,#2871ec 100%);border-radius:0 0 40px 40px}.hero-inner,.page,.admin-layout{width:min(100%,1120px);margin:auto}.hero-inner{position:relative;z-index:2}.kicker{margin:0 0 12px;color:#bfd4ff;font-size:.77rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:760px;margin:0;font-size:clamp(2.15rem,10vw,4.6rem);line-height:.98;letter-spacing:-.055em}.hero-copy{max-width:620px;margin:20px 0 28px;color:#e9f0ff;font-size:clamp(1rem,3vw,1.2rem);line-height:1.55}.hero-orb{position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%}.hero-orb.one{width:300px;height:300px;right:-120px;top:20px}.hero-orb.two{width:180px;height:180px;right:24px;bottom:-80px}.cta,.secondary,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:0;border-radius:15px;font-weight:850;text-decoration:none}.cta{color:var(--blue);background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.16)}.secondary{color:#fff;background:var(--blue)}.danger-button{color:#fff;background:var(--bad)}
.page{padding:24px 16px calc(86px + env(safe-area-inset-bottom))}.rider-shell>.page,.rider-shell>.dashboard-head+.page{width:min(100%,390px);margin:0 auto}.rider-shell{background:#f2f6ff}.rider-shell>.dashboard-head{width:min(100%,390px);margin:0 auto}.lift{margin-top:-58px;position:relative;z-index:4}.grid{display:grid;gap:12px}.card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(26,58,112,.07)}.card.flat{box-shadow:none}.card h2,.card h3{margin:0 0 8px;letter-spacing:-.025em}.card p{line-height:1.55}.muted{color:var(--muted)}.feature-grid{grid-template-columns:1fr}.feature{min-height:150px}.feature strong{display:block;margin-bottom:8px;color:var(--blue);font-size:1.05rem}.feature p{margin:0;color:var(--muted)}.step{display:flex;gap:14px}.step-number{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-weight:900}
.section-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:18px 0}.section-head h1,.section-head h2{margin:0}.status,.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:.76rem;font-weight:850}.status{padding:7px 11px}.badge{padding:5px 9px}.status.pending,.badge.warn{color:#875000;background:#fff1cc}.status.approved,.badge.ok{color:#06603f;background:#dff8ec}.status.returned,.badge.bad{color:#8f1c14;background:#fee4e2}.status.incomplete{color:#774a00;background:#fff4d6}.badge.info{color:#164eaa;background:#e8f0ff}
.form{display:grid;gap:18px}.field{display:grid;gap:7px}.field label,.legend{font-weight:800}.field small,.help{color:var(--muted);line-height:1.45}.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #c7d2e4;border-radius:13px;color:var(--ink);background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,72,200,.12);outline:0}.field-error{min-height:18px;margin:0;color:var(--bad);font-size:.8rem}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice label{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:#fff;font-weight:700}.choice input:checked+label{border-color:var(--blue);color:var(--blue);background:var(--sky)}.checkline{display:flex;align-items:flex-start;gap:10px}.checkline input{flex:0 0 auto;width:20px;height:20px;margin-top:2px}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.otp-row{display:grid;grid-template-columns:1fr auto;gap:9px}.file-list{display:grid;gap:8px}.file-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:11px;background:#f5f7fb}.notice{padding:13px 15px;border-left:4px solid var(--blue);border-radius:10px;background:var(--sky);line-height:1.5}.notice.warn{border-color:#e59a00;background:#fff7df}.notice.bad{border-color:var(--bad);background:#fff0ef}.loading{display:grid;place-items:center;min-height:220px;color:var(--muted)}.spinner{width:34px;height:34px;margin-bottom:12px;border:3px solid #dce7f8;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.dashboard-head{padding:26px 20px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--blue));border-radius:0 0 34px 34px}.balance{font-size:2.35rem;font-weight:900;letter-spacing:-.04em}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}.metric strong{display:block;margin-top:5px;font-size:1.35rem}.code-box{padding:14px;border:1px dashed #8aa7d6;border-radius:14px;background:#f6f9ff}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;font-weight:900;letter-spacing:.05em}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.small-button{min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--blue);font-weight:800}.small-button.primary{border-color:var(--blue);color:#fff;background:var(--blue)}.list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.list-item{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #edf1f6}.list-item:last-child{border:0}.list-item p{margin:3px 0 0}.empty{padding:28px;text-align:center;color:var(--muted)}.bottom-nav{position:fixed;z-index:15;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;min-height:62px;padding:7px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(22,45,82,.2);backdrop-filter:blur(16px)}.bottom-nav button{flex:1;border:0;border-radius:14px;color:var(--muted);background:transparent;font-size:.74rem;font-weight:800}.bottom-nav button.active{color:var(--blue);background:var(--sky)}
.product{display:grid;grid-template-columns:58px 1fr;gap:14px}.product-art{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;color:var(--blue);background:var(--sky);font-size:1.45rem;font-weight:900}.rule-group summary{cursor:pointer;padding:15px 0;font-weight:850}.rule-group div{padding-bottom:12px;color:var(--muted);line-height:1.6}
.redeem-balance{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:14px;color:#fff;background:var(--navy)}.redeem-balance strong{font-size:1.25rem}.redeem-intro{margin:0 2px}.product-grid{gap:10px}.product{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;padding:12px}.product .product-art{width:44px;height:44px;border-radius:12px}.product-copy h2{margin:0;font-size:.92rem}.product-copy p{margin:4px 0 0;font-size:.78rem}.product .small-button{min-height:36px}.redeem-note p{margin:6px 0 0}.redemption-row small{display:block;margin-top:4px}.redemption-row>div:last-child{text-align:right}
.admin-shell{background:#eef2f8}.admin-topbar{background:var(--navy);color:#fff;border:0}.admin-topbar .brand small{color:#bbcae5}.admin-topbar .ghost{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}.admin-layout{display:grid;grid-template-columns:190px 1fr;gap:0;width:min(100% - 32px,1120px);min-height:650px;margin:24px auto;padding:0;border:1px solid #cad4e6;background:#eef2fb}.side-nav{align-self:stretch;display:grid;align-content:start;gap:5px;padding:18px 12px;border:0;border-radius:0;color:#fff;background:#0a2875}.side-brand{display:grid;margin:0 8px 22px;font-size:1.1rem}.side-brand small{margin-top:2px}.side-nav button{min-height:42px;padding:0 12px;border:0;border-radius:7px;text-align:left;color:#fff;background:transparent;font-weight:750}.side-nav button.active{color:#fff;background:var(--blue)}.admin-main{min-width:0;padding:28px 24px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.table{width:100%;border-collapse:collapse;white-space:nowrap}.table th,.table td{padding:13px 14px;border-bottom:1px solid #edf1f6;text-align:left;font-size:.86rem}.table th{color:var(--muted);background:#f8fafc;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.toolbar input,.toolbar select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.demo-banner{padding:10px 16px;text-align:center;color:#6f4500;background:#fff0bd;font-size:.8rem;font-weight:750}.error-shell{max-width:520px;margin:80px auto;padding:20px}.toast{position:fixed;z-index:50;left:50%;bottom:90px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:12px 16px;border-radius:12px;color:#fff;background:#172033;box-shadow:var(--shadow)}
@media(min-width:720px){.rider-shell>.page{padding-left:20px;padding-right:20px}.hero{padding-top:70px}}
@media(max-width:799px){.admin-layout{display:block;padding-top:14px}.side-nav{position:static;display:flex;overflow-x:auto;margin-bottom:16px}.side-nav button{flex:0 0 auto}.admin-menu{display:inline-flex}.admin-main .section-head{display:block}.admin-main .section-head .toolbar{margin-top:12px}.table th:nth-child(n+4),.table td:nth-child(n+4){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner{animation:none}}

/* Rider canvas follows the approved 390 px H5 artboards. */
.rider-canvas,.rider-canvas>.page,.rider-canvas>.dashboard-head{width:min(100%,390px);margin-left:auto;margin-right:auto}
.qr-code{display:block;width:112px;height:112px;margin:0 auto 10px;object-fit:contain;background:#fff}
.bottom-nav{left:50%;right:auto;width:min(calc(100% - 20px),370px);transform:translateX(-50%)}
@media(max-width:799px){.table th,.table td{display:table-cell!important}}
.landing-actions{display:flex;align-items:center;gap:8px}.login-link{min-height:30px;padding:0 8px;border:0;background:transparent;color:var(--blue);font-size:.7rem;font-weight:850}
.rider-canvas>.dashboard-head{padding:15px 16px;color:var(--ink);background:#fff;border-radius:0;border-bottom:1px solid var(--line)}.rider-canvas>.dashboard-head .hero-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.rider-canvas>.dashboard-head .hero-inner:before{content:"";width:48px;height:24px;background:url('/assets/glek-logo-blue.png') center/contain no-repeat}.rider-canvas>.dashboard-head .kicker{display:none}.rider-canvas>.dashboard-head h1{margin:0;font-size:1rem}.rider-canvas>.dashboard-head .button-row{grid-column:1/-1;margin-top:2px}.rider-canvas .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rider-canvas .metric{padding:10px 7px}.rider-canvas .metric strong{font-size:1rem}.rider-canvas .code-box:has(.qr-code){display:grid;grid-template-columns:88px 1fr;gap:8px 12px;align-items:center}.rider-canvas .code-box:has(.qr-code) .qr-code{grid-row:1/3;width:88px;height:88px;margin:0}.rider-canvas .code-box:has(.qr-code) .button-row{margin-top:0}
