.client-app{--bg-app:var(--surface-2);--bg-surface:var(--bg);--ink-strong:var(--ink);--muted:var(--text-2);--faint:var(--line-strong);--pill-bg:var(--surface-3);--black:var(--ink);--on-black:#ffffff;--on-black-muted:rgba(255,255,255,0.72);--hairline:var(--line);--klarna:#ffb3c7;--backdrop:var(--surface-3);--gloss-hi:#33363c;--gloss-lo:var(--ink);--r-card:var(--radius-xl);--r-tile:var(--radius-md);--r-sheet:var(--radius-2xl);--r-pill:var(--radius-full);--shadow-card:var(--elev-flat);--shadow-float:var(--elev-floating);--pad-x:var(--app-gutter);--gap:var(--space-4);--pad-card:var(--space-5);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--hdrh:calc(64px + var(--sat));--tabh:calc(var(--nav-controls) + var(--sab));--font-client:var(--font-ui);font-family:var(--font-client);font-size:16px;touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1.45;color:var(--ink);background:var(--backdrop);display:flex;justify-content:center;min-height:100dvh;overscroll-behavior-y:none}.client-app *,.client-app :after,.client-app :before{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.client-app [role=button],.client-app a,.client-app button,.client-app input,.client-app label,.client-app select,.client-app summary,.client-app textarea{touch-action:manipulation}.client-app input,.client-app select,.client-app textarea{font-size:16px}.client-app h1,.client-app h2,.client-app h3{line-height:1.22;letter-spacing:0}.client-app :focus-visible{outline:2px solid var(--ink-strong);outline-offset:2px;border-radius:6px}.ca-device{width:100%;max-width:420px;min-height:100dvh;position:relative;background:var(--bg-app);overflow:hidden}@media (min-width:481px){.ca-device{box-shadow:0 0 0 1px rgba(16,20,32,.08),0 30px 90px rgba(16,20,32,.28)}}.ca-hdr{position:sticky;top:0;z-index:40;background:var(--bg-surface);padding-top:var(--sat)}.ca-hdr .row{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad-x)}.ca-htitle{font-size:30px;font-weight:700;color:var(--ink-strong);line-height:1}.ca-hlogo{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:12px}.ca-iconbtn{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:var(--ink-strong);position:relative;transition:transform .12s}.ca-iconbtn:active{transform:scale(.92)}.ca-cartbadge{position:absolute;top:8px;right:7px;min-width:20px;height:20px;border-radius:999px;background:var(--black);color:var(--on-black);font-size:14px;font-weight:600;display:grid;place-items:center;padding:0 4px}.ca-tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:var(--app-width);z-index:40;height:calc(var(--nav-controls) + var(--sab))}.ca-tabbar .bar{position:absolute;inset:0;background:var(--bg);border-top:1px solid var(--line);--cut:radial-gradient(circle var(--scan-cutout) at 50% 0,transparent 99%,#000 100%);-webkit-mask:var(--cut);mask:var(--cut)}.ca-tabbar .row{display:grid;grid-template-columns:73fr 74fr 96fr 73fr 74fr}.ca-tabbar .row,.ca-tabbtn{position:relative;height:var(--nav-controls)}.ca-tabbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-3);transition:transform var(--press-time)}.ca-tabbtn:active{transform:scale(var(--press-scale))}.ca-tabbtn .tic{position:relative;display:block}.ca-tabbtn .tic svg{stroke-width:1.8}.ca-tabbtn .tlab{font-size:var(--caption-size);line-height:var(--caption-line);font-weight:500}.ca-tabbtn.on{color:var(--ink)}.ca-tabbtn.on .tic svg{stroke-width:2.2}.ca-tabbtn.on .tlab{font-weight:700}.ca-tabbtn.on:before{content:"";top:0;width:24px;height:3px;border-radius:0 0 var(--radius-full) var(--radius-full)}.ca-rdot,.ca-tabbtn.on:before{position:absolute;background:var(--brand-strong)}.ca-rdot{top:-1px;right:-3px;width:8px;height:8px;border-radius:var(--radius-full)}.ca-tabscan{color:var(--text-3);justify-content:flex-end;padding-bottom:10px}.ca-tabscan .tlab{font-size:var(--caption-size);line-height:var(--caption-line);font-weight:500}.ca-tabscan.on{color:var(--ink)}.ca-tabscan.on .tlab{font-weight:700}.ca-scanbtn{position:absolute;left:50%;bottom:calc(var(--nav-controls) - var(--scan-rise));transform:translateX(-50%);z-index:41;width:var(--scan-size);height:var(--scan-size);border-radius:var(--radius-full);background:var(--brand-fill-white);color:#ffffff;display:grid;place-items:center;box-shadow:var(--elev-raised);transition:transform var(--press-time)}.ca-scanbtn:active{transform:translateX(-50%) scale(.94)}.ca-scanbtn svg{stroke-width:2.2}.ca-scanbtn:focus-visible{outline:none;box-shadow:var(--elev-raised),0 0 0 4px var(--brand-line)}.ca-cartbar{position:fixed;left:50%;transform:translateX(-50%);bottom:var(--cart-bar-bottom);z-index:39;width:calc(min(100%, var(--app-width)) - 2 * var(--space-4));height:var(--cart-bar-height);border-radius:var(--radius-full);background:var(--ink);color:#ffffff;box-shadow:var(--elev-floating);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-2) 0 var(--space-5);gap:var(--space-3);animation:ca-cartbar-in var(--cart-bar-time) var(--sheet-ease)}.ca-cartbar .lab{font-size:var(--label-size);line-height:var(--label-line);font-weight:600}.ca-cartbar .count{font-weight:400;color:rgba(255,255,255,.72)}.ca-cartbar .total{background:var(--brand);color:var(--on-brand);border-radius:var(--radius-full);padding:8px var(--space-4);font-size:var(--label-size);font-weight:700}@keyframes ca-cartbar-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.ca-splash{position:fixed;inset:0;z-index:9999}.ca-splash,.ca-splash-mark{display:flex;align-items:center;justify-content:center}.ca-splash-mark{width:96px;height:96px;animation:ca-splash-in var(--duration-base) var(--ease-standard)}.ca-splash-mark img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ca-splash-mark span{font-size:40px;font-weight:700}.ca-splash-out{animation:ca-splash-fade var(--duration-base) var(--ease-standard) forwards;pointer-events:none}@keyframes ca-splash-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes ca-splash-fade{0%{opacity:1}to{opacity:0}}.ca-page-enter{animation:ca-page-in var(--duration-base) var(--ease-standard)}@keyframes ca-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.gloss{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--gloss-hi) 0,var(--gloss-lo) 78%);color:var(--on-black);isolation:isolate}.gloss:after,.gloss:before{content:"";position:absolute;inset:-30%;pointer-events:none;z-index:1}.gloss:before{background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.14) 41%,rgba(255,255,255,.07) 49%,transparent 60%);filter:blur(14px)}.gloss:after{background:linear-gradient(115deg,transparent 55%,rgba(255,255,255,.06) 63%,transparent 72%);filter:blur(10px)}.gloss .grain{opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)'/%3E%3C/svg%3E")}.gloss .grain,.gloss .pts{position:absolute;inset:0;z-index:2;pointer-events:none}.gloss .pts .pt{position:absolute;border-radius:99px;background:var(--on-black)}.gloss>.gcontent{position:relative;z-index:3;height:100%}.gloss.bevel{box-shadow:inset 0 6px 14px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.05),0 18px 38px rgba(16,20,32,.25)}.ca-card{background:var(--bg-surface);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.btn-black{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--black);color:var(--on-black);border-radius:var(--r-pill);height:50px;font-weight:600;font-size:16px;width:100%;transition:transform .12s;box-shadow:0 10px 24px rgba(11,13,18,.18)}.btn-black:active{transform:scale(.97)}.btn-black:disabled{opacity:.45}.btn-white{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface);color:var(--ink-strong);border-radius:var(--r-pill);height:44px;padding:0 22px;font-weight:600;font-size:15px;transition:transform .12s}.btn-white:active{transform:scale(.96)}.btn-ghost{display:flex;align-items:center;justify-content:center;height:48px;width:100%;color:var(--muted);font-weight:500}.pill-badge{background:var(--black);color:var(--on-black)}.pill-badge,.pill-light{border-radius:var(--r-pill);font-size:15px;font-weight:600;padding:7px 14px;white-space:nowrap}.pill-light{background:var(--pill-bg);color:var(--ink)}.pill-light.dis,.status-pill{color:var(--muted)}.status-pill{background:var(--pill-bg);border-radius:var(--r-pill);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;white-space:nowrap}.status-pill.dark{background:var(--black);color:var(--on-black)}.h-sec{font-size:26px;font-weight:700;color:var(--ink-strong)}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--bg-surface);border-radius:var(--r-pill);box-shadow:var(--shadow-card);padding:10px 17px;font-size:15px;font-weight:500;color:var(--ink)}.chip:active{transform:scale(.96)}.outline-chip{display:inline-flex;border:1.5px solid var(--hairline);border-radius:var(--r-pill);padding:6px 14px;font-size:14px;font-weight:500;color:var(--muted)}.ca-press{transition:transform .12s}.ca-press:active{transform:scale(.98)}.sk{background:linear-gradient(90deg,var(--pill-bg) 25%,#f2f3f6 50%,var(--pill-bg) 75%);background-size:200% 100%;animation:ca-sh 1.1s infinite;border-radius:12px}@keyframes ca-sh{to{background-position:-200% 0}}.scribble{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 26px;text-align:center}.scribble p{color:var(--muted);font-size:17px}.scribble .btn-black{width:auto;padding:0 26px}.hero{height:24dvh;min-height:185px}.hero-inner{display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad-x) 40px}.hero-ghost,.hero-hi{font-size:28px;font-weight:700;color:var(--on-black)}.hero-ghost{opacity:.12;white-space:nowrap;overflow:hidden;-webkit-mask-image:linear-gradient(#000 20%,transparent 95%);mask-image:linear-gradient(#000 20%,transparent 95%)}.hero-fade{position:absolute;left:0;right:0;bottom:0;height:52px;z-index:3;background:linear-gradient(transparent,var(--bg-app));pointer-events:none}.wallet{display:flex;align-items:center;gap:10px;width:calc(100% - 2 * var(--pad-x));margin:10px auto 0;position:relative;z-index:5;background:var(--bg-surface);border-radius:var(--r-pill);box-shadow:var(--shadow-float);height:66px;padding:0 12px;transition:transform .12s}.wallet:active{transform:scale(.98)}.payband{background:var(--bg-surface);padding:16px var(--pad-x);display:flex;align-items:center;gap:14px;margin:4px 0}.klarna{width:46px;height:46px;border-radius:12px;background:var(--klarna);display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--ink-strong);flex:none}.offrow{display:flex;gap:12px;overflow-x:auto;padding:2px var(--pad-x) 8px;scroll-snap-type:x mandatory}.offcard{flex:0 0 224px;scroll-snap-align:start;background:var(--bg-surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .12s;text-align:left}.offcard:active{transform:scale(.98)}.locs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.locs::-webkit-scrollbar{display:none}.locslide{flex:0 0 100%;scroll-snap-align:start}.locinfo{padding:16px var(--pad-x) 0;display:flex;flex-direction:column;gap:8px}.locinfo h4{font-size:25px;font-weight:700;color:var(--ink-strong)}.locinfo .btn-black{border-radius:var(--r-tile);height:60px;margin-top:6px;text-decoration:none}.dots{display:flex;gap:6px;justify-content:center;padding:12px 0 2px}.dots i{width:7px;height:7px;border-radius:99px;background:var(--faint);transition:all .2s}.dots i.on{background:var(--black);width:18px}.seg{display:flex;background:var(--bg-surface);padding:2px var(--pad-x) 0;border-bottom:1px solid var(--hairline)}.seg,.seg button{position:relative}.seg button{flex:1;padding:12px 4px 14px;font-size:17px;font-weight:500;color:var(--muted);z-index:1;transition:color .15s}.seg button.on{color:var(--ink);font-weight:600}.seg .ind{position:absolute;bottom:0;height:3px;background:var(--black);border-radius:3px 3px 0 0;transition:left .2s ease-out,width .2s ease-out}.banner{height:190px;border-radius:var(--r-card)}.banner .gcontent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:16px}.catrow{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 6px}.catrow.single,.cattile{justify-content:center}.cattile{flex:0 0 104px;height:104px;background:var(--bg-surface);border:2px solid var(--black);border-radius:var(--r-tile);display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ink-strong);font-size:14px;font-weight:600;transition:transform .12s}.cattile:active{transform:scale(.96)}.cattile.on{background:var(--black);color:var(--on-black)}.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pgrid.single{display:flex;justify-content:center}.pgrid.single .pcard{width:46%}.pcard{background:var(--bg-surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .12s;text-align:left}.pcard:active{transform:scale(.98)}.pcard img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover}.pcard.sold{opacity:.55}.soldpill{position:absolute;top:10px;left:10px;background:var(--bg-surface);border-radius:999px;font-size:14px;font-weight:600;letter-spacing:.06em;padding:5px 11px}.plancard{padding:var(--pad-card);display:flex;flex-direction:column;gap:12px}.bens div{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--ink)}.treatcard{background:var(--bg-surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .12s;width:100%;text-align:left}.treatcard:active{transform:scale(.985)}.treatcard img{width:100%;height:190px;-o-object-fit:cover;object-fit:cover}.scanwrap{min-height:calc(100dvh - var(--hdrh) - var(--tabh));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px 0}.membercard{width:86%;border-radius:var(--r-card);box-shadow:var(--shadow-float);overflow:hidden;background:var(--bg-surface)}.membercard .qzone{height:310px;display:grid;place-items:center}.qwhite{width:44%;background:var(--bg-surface);border-radius:var(--r-tile);padding:12px}.qwhite svg{width:100%;height:auto;display:block}.avatar{width:42px;height:42px;border-radius:99px;background:var(--pill-bg);display:grid;place-items:center;font-weight:700;font-size:15px;color:var(--ink)}.loyal{height:190px;border-radius:var(--r-card)}.loyal .gcontent{padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between}.rwrow{display:flex;gap:12px;overflow-x:auto;padding:0 var(--pad-x) 8px}.rwcard{flex:0 0 168px;background:var(--bg-surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column}.rwcard .pill-badge,.rwcard .pill-light{font-size:14px;padding:6px 12px;width:100%;text-align:center}.needrow{display:flex;align-items:center;gap:14px;background:var(--bg-surface);border-radius:18px;min-height:72px;padding:11px 15px;transition:transform .12s;width:100%;text-align:left}.needrow:active{transform:scale(.98)}.setrow{display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);border-radius:18px;height:66px;padding:0 18px;font-size:16px;width:100%;color:inherit;text-decoration:none;transition:transform .12s}.setrow:active{transform:scale(.98)}.setrow.danger{color:var(--danger)}.ordcard{display:flex;gap:12px;align-items:center;background:var(--bg-surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:12px}.sheetWrap{position:fixed;inset:0;z-index:60;display:flex;justify-content:center}.sback{inset:0;background:rgba(11,13,18,.4);opacity:0;transition:opacity .22s}.sback,.sheet{position:absolute}.sheet{bottom:0;width:100%;max-width:420px;background:var(--bg-surface);border-radius:var(--r-sheet) var(--r-sheet) 0 0;transform:translateY(105%);transition:transform .22s cubic-bezier(.32,.72,.24,1);display:flex;flex-direction:column;max-height:90dvh}.sheetWrap.in .sback{opacity:1}.sheetWrap.in .sheet{transform:none}.sheet.full{max-height:100dvh;height:100dvh;border-radius:0}.grab{flex:none;padding:12px 0 6px;display:flex;justify-content:center;touch-action:none;cursor:grab}.grab:before{content:"";width:44px;height:5px;border-radius:999px;background:var(--faint)}.sheet-body{overflow-y:auto;overscroll-behavior-y:contain;padding:4px var(--pad-x) calc(var(--sab) + 18px)}.sheet-title{font-size:20px;font-weight:700;color:var(--ink-strong);padding:6px 0 14px}.sticky-cta{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg-surface) 34%);padding:14px 0 calc(4px + var(--sab))}.frm{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.frm label{font-size:14px;font-weight:600;color:var(--muted)}.frm input,.frm select{font-size:16px;border:1.5px solid var(--hairline);border-radius:14px;height:50px;padding:0 16px;background:var(--bg-surface);outline:none;color:var(--ink)}.frm input:focus,.frm select:focus{border-color:var(--ink)}.optrow{display:flex;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--hairline);width:100%;text-align:left;font-size:16px}.optrow .rad{width:22px;height:22px;border-radius:99px;border:2px solid var(--faint);flex:none;display:grid;place-items:center}.optrow.on .rad{border-color:var(--black)}.optrow.on .rad:after{content:"";width:10px;height:10px;border-radius:99px;background:var(--black)}.chipsel{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0 14px}.schip{border:1.5px solid var(--hairline);border-radius:999px;padding:9px 15px;font-size:14px;font-weight:500;color:var(--muted)}.schip.on{background:var(--black);border-color:var(--black);color:var(--on-black)}.grouplab{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 0 4px}.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--r-card);scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.carousel img{flex:0 0 100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;scroll-snap-align:start}.cdots{display:flex;gap:6px;justify-content:center;padding:10px 0 4px}.cdots i{width:7px;height:7px;border-radius:99px;background:var(--faint)}.cdots i.on{background:var(--black)}.dsec{justify-content:space-between;padding:12px 0}.dsec,.stepper{display:flex;align-items:center}.stepper{gap:2px;background:var(--pill-bg);border-radius:999px;padding:4px}.stepper button{width:36px;height:36px;border-radius:99px;display:grid;place-items:center;color:var(--ink-strong)}.stepper button:active{background:var(--bg-surface)}.stepper b{min-width:26px;text-align:center;font-size:16px}.crow{position:relative;margin-bottom:12px;overflow:hidden;border-radius:var(--r-tile)}.crow .delbg{position:absolute;inset:0;background:var(--danger);justify-content:flex-end;padding:0 22px;color:var(--on-black);font-weight:600}.crow .cin,.crow .delbg{display:flex;align-items:center;border-radius:var(--r-tile)}.crow .cin{position:relative;gap:12px;background:var(--bg-surface);box-shadow:var(--shadow-card);padding:12px;touch-action:pan-y;transition:transform .18s}.toastRoot{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:420px;bottom:calc(var(--tabh) + 14px);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:90;pointer-events:none}.toast{background:var(--black);color:var(--on-black);font-size:14px;font-weight:500;border-radius:999px;padding:11px 20px;box-shadow:var(--shadow-float);opacity:0;transform:translateY(8px);transition:all .25s}.toast.in{opacity:1;transform:none}.ovl{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:420px;top:0;bottom:0;background:var(--bg-app);z-index:80;display:flex;flex-direction:column}.ovl .oin{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:calc(var(--sat) + 30px) var(--pad-x) calc(var(--sab) + 26px)}.onblogo{width:88px;height:88px;border-radius:24px;-o-object-fit:cover;object-fit:cover;margin:8vh auto 16px;box-shadow:var(--shadow-float)}.onbdots{display:flex;gap:6px;justify-content:center;padding:0 0 24px}.onbdots i{width:7px;height:7px;border-radius:99px;background:var(--faint)}.onbdots i.on{width:18px}.okring,.onbdots i.on{background:var(--black)}.okring{width:80px;height:80px;border-radius:99px;display:grid;place-items:center;color:var(--on-black);margin-bottom:10px;box-shadow:var(--shadow-float)}.ptsCard{width:100%;height:112px;border-radius:var(--r-card);margin:20px 0}.ptsCard .gcontent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tabular{font-variant-numeric:tabular-nums}@media (max-width:400px){.client-app .hero-ghost,.client-app .hero-hi{font-size:26px}.client-app .h-sec{font-size:23px}}@media (prefers-reduced-motion:reduce){.client-app *,.client-app :after,.client-app :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.ca-install{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tabh) + 12px);width:calc(100% - 2 * var(--pad-x));max-width:380px;z-index:40;display:flex;align-items:center;gap:10px;padding:14px 10px 14px 18px;background:var(--bg-surface);border-radius:var(--r-tile);box-shadow:var(--shadow-float)}.ca-install-title{margin:0;font-size:15px;font-weight:700;color:var(--ink-strong)}.ca-install-body{margin:2px 0 0;font-size:14px;color:var(--muted)}.ca-install-body span{display:inline-flex;vertical-align:-3px}.ca-install-btn{height:38px;padding:0 16px;font-size:14px}.ca-pushcard{display:flex;align-items:center;gap:10px;margin:16px var(--pad-x) 0;padding:14px 12px 14px 16px;background:var(--bg-surface);border-radius:var(--r-tile);box-shadow:var(--shadow-card)}.ca-pushcard-title{margin:0;font-size:15px;font-weight:700;color:var(--ink-strong)}.ca-pushcard-body{margin:2px 0 0;font-size:14px;line-height:1.35;color:var(--muted)}.ca-pushsettings{padding:14px 0}.ca-pushsettings .row{display:flex;align-items:center;gap:12px}.ca-pushtest{margin-top:12px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.ca-switch{flex:0 0 auto;width:51px;height:31px;border-radius:999px;background:var(--pill-bg);position:relative;transition:background .18s ease}.ca-switch.on{background:var(--black)}.ca-switch .knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(0 0 0/.3);transition:transform .18s ease}.ca-switch.on .knob{transform:translateX(20px)}.ca-switch:disabled{opacity:.6}.ca-itemrow,.ca-itemscard{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:var(--bg-surface);border-radius:var(--r-tile);box-shadow:var(--shadow-card);text-align:left}.ca-itemscard{margin:16px var(--pad-x) 0;width:calc(100% - 2 * var(--pad-x))}.ca-itemrow.done{opacity:.55;box-shadow:none;background:var(--pill-bg)}.ca-itemqr{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--black);color:var(--on-black)}.ca-itemname{display:block;font-size:15px;font-weight:600;color:var(--ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-itemmeta{display:block;margin-top:2px}.ca-itemhead,.ca-itemmeta{font-size:14px;color:var(--muted)}.ca-itemhead{margin:10px 0 0;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ca-itemqrbox{max-width:280px;margin:0 auto;padding:16px;background:#fff;border-radius:var(--r-tile);box-shadow:var(--shadow-card)}.ca-itemcode{margin:18px 0 0;font-size:26px;letter-spacing:.22em}.ca-itemcode,.ca-resulttitle{font-weight:700;color:var(--ink-strong)}.ca-resulttitle{margin:14px 0 4px;font-size:20px}.ca-resultbody{margin:0;font-size:15px;line-height:1.4;color:var(--muted)}.ca-spinner{display:inline-block;width:34px;height:34px;border:3px solid var(--pill-bg);border-top-color:var(--black);border-radius:50%;animation:ca-spin .9s linear infinite}@keyframes ca-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ca-spinner{animation-duration:2.4s}}.client-app .v2-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;transition:transform var(--press-time);touch-action:manipulation}.client-app .v2-btn.has-amount{justify-content:space-between;text-align:left}.client-app .v2-btn:active:not(:disabled){transform:scale(var(--press-scale))}.client-app .v2-btn:disabled{background:var(--surface-3);color:var(--disabled);box-shadow:none}.client-app .v2-btn-brand,.client-app .v2-btn-primary{height:56px;border-radius:var(--radius-md);font-size:17px;font-weight:700;padding:0 var(--space-5)}.client-app .v2-btn-primary{background:var(--ink);color:#ffffff}.client-app .v2-btn-brand{background:var(--brand);color:var(--on-brand)}.client-app .v2-btn-grey,.client-app .v2-btn-outline{height:48px;border-radius:14px;font-size:var(--label-size);font-weight:600;padding:0 var(--space-4)}.client-app .v2-btn-grey{background:var(--surface-2);color:var(--ink)}.client-app .v2-btn-outline{background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.client-app .v2-btn-pill{height:40px;border-radius:var(--radius-full);font-size:var(--caption-size);font-weight:700;padding:0 var(--space-4);width:auto;background:var(--surface-2);color:var(--ink)}.client-app .v2-spinner{width:20px;height:20px;border-radius:var(--radius-full);border:2px solid;border-top:2px solid transparent;animation:v2-spin .7s linear infinite}@keyframes v2-spin{to{transform:rotate(1turn)}}.client-app .v2-add{position:relative;width:44px;height:44px;flex:none;display:grid;place-items:center;color:#ffffff;touch-action:manipulation;transition:transform var(--press-time)}.client-app .v2-add:before{content:"";position:absolute;width:36px;height:36px;border-radius:var(--radius-full);background:var(--ink)}.client-app .v2-add svg{position:relative;stroke-width:2.4}.client-app .v2-add:active{transform:scale(var(--press-scale))}.client-app .v2-field label{display:block;font-size:var(--caption-size);line-height:var(--caption-line);font-weight:600;color:var(--ink);margin-bottom:var(--space-2)}.client-app .v2-field input{width:100%;height:52px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);font-size:16px;padding:0 var(--space-4)}.client-app .v2-field input::-moz-placeholder{color:var(--text-3)}.client-app .v2-field input::placeholder{color:var(--text-3)}.client-app .v2-field input.bad{box-shadow:inset 0 0 0 1.5px var(--danger)}.client-app .v2-field .msg{margin-top:var(--space-2);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--danger)}.client-app .v2-switch{position:relative;width:52px;height:32px;flex:none;border-radius:var(--radius-full);background:var(--line-strong);transition:background var(--press-time)}.client-app .v2-switch.on{background:var(--ink)}.client-app .v2-switch .knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:var(--radius-full);background:#ffffff;transition:transform var(--press-time)}.client-app .v2-switch.on .knob{transform:translateX(20px)}.client-app .v2-radio{width:22px;height:22px;flex:none;border-radius:var(--radius-full);box-shadow:inset 0 0 0 1.5px var(--line-strong)}.client-app .v2-radio.on{box-shadow:inset 0 0 0 7px var(--ink)}.client-app .v2-seg{display:flex;gap:var(--space-1);padding:var(--space-1);height:44px;border-radius:var(--radius-full);background:var(--surface-3)}.client-app .v2-seg button{flex:1;border-radius:var(--radius-full);font-size:var(--small-size);font-weight:600;color:var(--text-3)}.client-app .v2-seg button.on{background:var(--bg);color:var(--ink);font-weight:700}.client-app .v2-tag{display:inline-flex;align-items:center;height:26px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--tag-size);line-height:var(--tag-line);font-weight:700;white-space:nowrap}.client-app .v2-tag-brand{background:var(--brand);color:var(--on-brand)}.client-app .v2-tag-soft{background:var(--brand-soft);color:var(--brand-strong)}.client-app .v2-tag-photo{background:var(--bg);color:var(--ink);box-shadow:var(--elev-raised)}.client-app .v2-tag-success{background:var(--success-tint);color:var(--success)}.client-app .v2-tag-warning{background:var(--warning-tint);color:var(--warning)}.client-app .v2-tag-danger{background:var(--danger-tint);color:var(--danger)}.client-app .v2-price .row{display:flex;align-items:center;gap:var(--space-2)}.client-app .v2-price .now{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800;color:var(--ink)}.client-app .v2-price .was{font-size:var(--caption-size);color:var(--text-3);text-decoration:line-through}.client-app .v2-price .member{display:block;margin-top:2px;font-size:var(--caption-size);line-height:var(--caption-line);font-weight:600;color:var(--brand-strong);text-align:left}.client-app .v2-card .photo{position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;background:var(--brand-soft)}.client-app .v2-card.row{display:flex;gap:var(--space-3);align-items:flex-start}.client-app .v2-card.row .photo{aspect-ratio:1/1;width:96px;flex:none}.client-app .v2-card .photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-card .photo .ph{display:grid;place-items:center;width:100%;height:100%;font-size:var(--title-1-size);font-weight:800;color:var(--brand-strong)}.client-app .v2-card .tags{position:absolute;top:var(--space-2);left:var(--space-2);display:flex;gap:var(--space-1)}.client-app .v2-card .body{padding-top:var(--space-2);min-width:0;flex:1}.client-app .v2-card h3{font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.client-app .v2-card .meta{font-size:var(--caption-size);line-height:var(--caption-line);font-weight:500;color:var(--text-2)}.client-app .v2-card .foot{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2)}.client-app .v2-home{background:var(--bg);padding-bottom:var(--space-6)}.client-app .v2-clinic{padding:0 var(--app-gutter)}.client-app .v2-clinic .cover{position:relative;margin-top:var(--space-2);aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--surface-3);margin-bottom:28px}.client-app .v2-clinic .cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-lg)}.client-app .v2-clinic .logo{position:absolute;left:var(--space-4);bottom:-24px;width:56px;height:56px;border-radius:var(--radius-md);background:var(--bg);box-shadow:var(--elev-raised);display:grid;place-items:center;overflow:hidden;font-size:var(--title-2-size);font-weight:800;color:var(--brand-strong)}.client-app .v2-clinic .logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-clinic .hi{font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2)}.client-app .v2-clinic h1{font-size:var(--title-1-size);line-height:var(--title-1-line);font-weight:800;color:var(--ink)}.client-app .v2-clinic .addr{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-clinic .addr span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-app .v2-clinic .addr a{flex:none;margin-left:var(--space-1);color:var(--ink);font-weight:600;text-decoration:underline}.client-app .v2-wallet{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-5) var(--app-gutter) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--ink);color:#ffffff}.client-app .v2-wallet .credit{text-align:left}.client-app .v2-wallet .lab{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:rgba(255,255,255,.72)}.client-app .v2-wallet .credit b{font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800}.client-app .v2-wallet .side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.client-app .v2-wallet .chip{display:inline-flex;align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);background:rgba(255,255,255,.14);color:#ffffff;font-size:var(--caption-size);font-weight:700;white-space:nowrap}.client-app .v2-wallet .chip.points{background:var(--brand);color:var(--on-brand)}.client-app .v2-notify:empty{display:none}.client-app .v2-notify{padding:0 var(--app-gutter)}.client-app .v2-sec{margin-top:var(--space-8)}.client-app .v2-sechead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:0 var(--app-gutter) var(--space-3)}.client-app .v2-sechead h2{font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800;color:var(--ink)}.client-app .v2-sechead button{display:inline-flex;align-items:center;gap:2px;font-size:var(--small-size);font-weight:600;color:var(--text-2);white-space:nowrap}.client-app .v2-rail{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--app-gutter);-webkit-overflow-scrolling:touch}.client-app .v2-railitem{flex:none;width:160px;scroll-snap-align:start}.client-app .v2-stack{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--app-gutter)}.client-app .v2-redeem{display:flex;align-items:center;gap:var(--space-3);width:calc(100% - 2 * var(--app-gutter));margin:var(--space-5) var(--app-gutter) 0;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink);text-align:left}.client-app .v2-redeem .ic{position:relative;flex:none;width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand-fill-white);color:#ffffff;display:grid;place-items:center}.client-app .v2-redeem .ic .n{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-full);background:var(--ink);color:#ffffff;font-size:var(--caption-size);font-weight:700;display:grid;place-items:center}.client-app .v2-redeem .txt{flex:1;min-width:0}.client-app .v2-redeem .txt b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:700}.client-app .v2-redeem .txt span{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-personal{margin:var(--space-5) var(--app-gutter) 0;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--brand-deep);color:#ffffff}.client-app .v2-personal .lead{font-size:var(--caption-size);line-height:var(--caption-line);color:rgba(255,255,255,.8)}.client-app .v2-personal b{display:block;font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800}.client-app .v2-personal .scope{display:block;margin-top:2px;font-size:var(--caption-size);line-height:var(--caption-line);color:rgba(255,255,255,.8)}.client-app .v2-personal .use{width:auto;margin-top:var(--space-4);height:44px;font-size:var(--label-size)}.client-app .v2-offer{flex:none;width:240px;scroll-snap-align:start;text-align:left}.client-app .v2-offer .art{position:relative;display:block;aspect-ratio:16/10;border-radius:var(--radius-lg);overflow:hidden;background:var(--brand-soft)}.client-app .v2-offer .art img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-offer .disc{position:absolute;top:var(--space-2);left:var(--space-2);height:26px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--brand);color:var(--on-brand);font-size:var(--tag-size);font-weight:700;display:inline-flex;align-items:center}.client-app .v2-offer b{display:block;margin-top:var(--space-2);font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink)}.client-app .v2-offer .meta{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-again{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-2)}.client-app .v2-again .thumb{flex:none;width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;background:var(--brand-soft);display:grid;place-items:center;font-weight:800;color:var(--brand-strong)}.client-app .v2-again .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-again .info{flex:1;min-width:0}.client-app .v2-again .info b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-app .v2-again .info span{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-again .again{width:auto;flex:none;height:40px;border-radius:var(--radius-full);font-size:var(--caption-size);font-weight:700}.client-app .v2-pitch{margin:0 var(--app-gutter);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.client-app .v2-pitch .top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.client-app .v2-pitch .price{text-align:right}.client-app .v2-pitch .price b{display:block;font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800;color:var(--ink)}.client-app .v2-pitch .price span{font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-pitch h3{margin-top:var(--space-3);font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800;color:var(--ink)}.client-app .v2-pitch p{margin-top:var(--space-2);font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2)}.client-app .v2-pitch .basis{color:var(--text-3)}.client-app .v2-pitch .v2-btn{margin-top:var(--space-5)}.client-app .v2-points{display:block;width:calc(100% - 2 * var(--app-gutter));margin:0 var(--app-gutter);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--surface-2);text-align:left}.client-app .v2-points .head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.client-app .v2-points .lab{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-points .head b{font-size:var(--title-1-size);line-height:var(--title-1-line);font-weight:800;color:var(--ink)}.client-app .v2-points .next{text-align:right}.client-app .v2-points .next b{font-size:var(--body-size);line-height:var(--body-line);font-weight:700}.client-app .v2-points .bar{display:block;height:8px;margin-top:var(--space-4);border-radius:var(--radius-full);background:var(--line-strong);overflow:hidden}.client-app .v2-points .bar span{display:block;height:100%;border-radius:var(--radius-full);background:var(--brand)}.client-app .v2-points .togo{display:block;margin-top:var(--space-2);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-card .photo .open{display:block;width:100%;height:100%}.client-app .v2-card .body .title{display:block;width:100%;text-align:left}.client-app .v2-shop{background:var(--bg);padding-bottom:var(--space-6)}.client-app .v2-shopseg{padding:var(--space-2) var(--app-gutter) 0}.client-app .v2-chips{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-4) var(--app-gutter) 0;-webkit-overflow-scrolling:touch}.client-app .v2-chips button{flex:none;height:40px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink);font-size:var(--caption-size);font-weight:600;white-space:nowrap}.client-app .v2-chips button.on{background:var(--ink);color:#ffffff;font-weight:700}.client-app .v2-memberstrip{display:flex;align-items:center;gap:var(--space-3);width:calc(100% - 2 * var(--app-gutter));margin:var(--space-5) var(--app-gutter) 0;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink);text-align:left}.client-app .v2-memberstrip .ic{flex:none;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-fill-white);color:#ffffff;display:grid;place-items:center}.client-app .v2-memberstrip .txt{flex:1;min-width:0;font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2)}.client-app .v2-memberstrip .txt b{color:var(--ink);font-weight:700}.client-app .v2-vatnote{margin:var(--space-6) var(--app-gutter) 0;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-3)}.client-app .v2-empty{margin:var(--space-6) var(--app-gutter) 0;padding:var(--space-6);border-radius:var(--radius-xl);background:var(--surface-2)}.client-app .v2-plans{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--app-gutter) 0}.client-app .v2-plan{padding:var(--space-5);border-radius:var(--radius-xl);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.client-app .v2-plan .top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.client-app .v2-plan h3{font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800;color:var(--ink)}.client-app .v2-plan .price{text-align:right;flex:none}.client-app .v2-plan .price b{display:block;font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800;color:var(--ink)}.client-app .v2-plan .price span{font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-plan .blurb{margin-top:var(--space-2);font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2)}.client-app .bens,.client-app .v2-plan .bens{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);list-style:none;padding:0}.client-app .bens li,.client-app .v2-plan .bens li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--small-size);line-height:var(--small-line);color:var(--ink)}.client-app .bens li svg,.client-app .v2-plan .bens li svg{color:var(--brand-strong);flex:none}.client-app .v2-plan .terms{margin:var(--space-4) 0;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-3)}.client-app .v2-reassure{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0}.client-app .v2-reassure span{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-reassure svg{color:var(--success)}.client-app .v2-treatments{padding:var(--space-5) var(--app-gutter) 0}.client-app .v2-treatments .filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.client-app .v2-treatments .rows{display:flex;flex-direction:column;gap:var(--space-4)}.client-app .v2-treatments .v2-vatnote{margin-left:0;margin-right:0}.client-app .v2-detail .shot{aspect-ratio:4/3;border-radius:var(--radius-lg);background:var(--brand-soft);display:grid;place-items:center}.client-app .v2-detail .shot span{font-size:var(--display-size);font-weight:800;color:var(--brand-strong)}.client-app .v2-detail .tags{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.client-app .v2-detail .tags:empty{display:none}.client-app .v2-detail h2{margin-top:var(--space-3);font-size:var(--title-1-size);line-height:var(--title-1-line);font-weight:800;color:var(--ink)}.client-app .v2-detail .priceline{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-2)}.client-app .v2-detail .facts{font-size:var(--small-size);color:var(--text-2)}.client-app .v2-detail .desc{margin-top:var(--space-4);font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2)}.client-app .v2-detail .qty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6);font-size:var(--title-3-size);font-weight:600;color:var(--ink)}.client-app .v2-ctapair{display:flex;gap:var(--space-2)}.client-app .v2-ctapair .v2-btn-grey,.client-app .v2-ctapair .v2-btn-outline{flex:1;height:56px;border-radius:var(--radius-md);font-size:17px;font-weight:700}.client-app .v2-ctapair .v2-btn-primary{flex:1.4}.client-app .v2-card .photo .v2-add{position:absolute;right:2px;bottom:2px;color:var(--ink)}.client-app .v2-card .photo .v2-add:before{background:var(--bg);box-shadow:var(--elev-raised)}.client-app .v2-card .v2-price .row{flex-wrap:wrap;row-gap:var(--space-1)}.client-app .sheet-head{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-4)}.client-app .sheet-head .sheet-title{flex:1;min-width:0;padding:0;font-size:var(--title-1-size);line-height:var(--title-1-line);font-weight:800;color:var(--ink)}.client-app .sheet-head .nav{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--ink)}.client-app .sheet-head .nav.close{background:var(--surface-2);width:40px;height:40px}.client-app .v2-buy{display:flex;flex-direction:column;gap:var(--space-4)}.client-app .v2-buy .grouphead{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:700;color:var(--ink)}.client-app .v2-cartline{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0}.client-app .v2-cartline .thumb{flex:none;width:64px;height:64px;border-radius:var(--radius-md);overflow:hidden;background:var(--brand-soft);display:grid;place-items:center;font-size:var(--title-3-size);font-weight:800;color:var(--brand-strong)}.client-app .v2-cartline .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-cartline .info{flex:1;min-width:0}.client-app .v2-cartline .info b{font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink)}.client-app .v2-cartline .right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.client-app .v2-cartline .right b{font-size:var(--title-3-size);font-weight:800;color:var(--ink)}.client-app .v2-details{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2)}.client-app .v2-details div{flex:1;min-width:0}.client-app .v2-details b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:700;color:var(--ink)}.client-app .v2-details span{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.client-app .v2-details button{flex:none;font-size:var(--small-size);font-weight:600;color:var(--ink);text-decoration:underline}.client-app .v2-options{border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.client-app .v2-options .row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left}.client-app .v2-options .row+.row{border-top:1px solid var(--line)}.client-app .v2-options .ic{flex:none;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);display:grid;place-items:center}.client-app .v2-options .txt{flex:1;min-width:0}.client-app .v2-options .txt b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink)}.client-app .v2-options .txt span{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-lines .line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2)}.client-app .v2-lines .line b{color:var(--ink);font-weight:600}.client-app .v2-lines .line.off,.client-app .v2-lines .line.off b{color:var(--brand-strong)}.client-app .v2-saving{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2)}.client-app .v2-note{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-totals{border-top:1px solid var(--line);padding-top:var(--space-3)}.client-app .v2-totals .row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:2px 0}.client-app .v2-totals .total{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:700;color:var(--ink)}.client-app .v2-totals .total b{font-weight:800}.client-app .v2-totals .earn{font-size:var(--small-size);line-height:var(--small-line);font-weight:600;color:var(--brand-strong)}.client-app .v2-nocosts{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-3)}.client-app .v2-paidwith{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--success-tint);color:var(--success);font-size:var(--body-size);font-weight:700}.client-app .v2-error{font-size:var(--small-size);line-height:var(--small-line);color:var(--danger)}.client-app .v2-pay .wallet[hidden]{display:none}.client-app .v2-pay .wallet .or{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;font-size:var(--caption-size);color:var(--text-3)}.client-app .v2-pay .wallet .or i{flex:1;height:1px;background:var(--line)}.client-app .v2-pay .err{margin-top:var(--space-3);font-size:var(--small-size);color:var(--danger)}.client-app .v2-pay .go{margin-top:var(--space-5)}.client-app .v2-pay .cancel{width:100%;margin-top:var(--space-3);font-size:var(--caption-size);font-weight:600;color:var(--text-2)}.client-app .v2-result{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-2)}.client-app .v2-result .head{text-align:center}.client-app .v2-result .mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto var(--space-4);border-radius:var(--radius-full);color:#ffffff}.client-app .v2-result .mark.ok{background:var(--success);box-shadow:0 0 0 10px var(--success-tint)}.client-app .v2-result .mark.bad{background:var(--danger);box-shadow:0 0 0 10px var(--danger-tint)}.client-app .v2-result .mark.waiting{background:var(--warning);box-shadow:0 0 0 10px var(--warning-tint)}.client-app .v2-result h2{font-size:var(--title-1-size);line-height:var(--title-1-line);font-weight:800;color:var(--ink)}.client-app .v2-result .head p{margin-top:var(--space-2);font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2)}.client-app .v2-next{padding:var(--space-5);border-radius:var(--radius-xl);background:var(--ink);color:#ffffff}.client-app .v2-next .top{display:flex;align-items:center;gap:var(--space-3)}.client-app .v2-next .ic{flex:none;width:44px;height:44px;border-radius:var(--radius-md);background:rgba(255,255,255,.14);display:grid;place-items:center}.client-app .v2-next .lead{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:rgba(255,255,255,.72)}.client-app .v2-next b{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:700}.client-app .v2-next p{margin-top:var(--space-3);font-size:var(--small-size);line-height:var(--small-line);color:rgba(255,255,255,.8)}.client-app .v2-next .go{margin-top:var(--space-4);background:var(--bg);color:var(--ink);height:56px;border-radius:var(--radius-md);font-size:17px;font-weight:700}.client-app .v2-earned{display:block;width:100%;padding:var(--space-5);border-radius:var(--radius-xl);background:var(--surface-2);text-align:left}.client-app .v2-earned .top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--brand-strong)}.client-app .v2-earned .top b{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800}.client-app .v2-earned .bar{display:block;height:8px;margin-top:var(--space-3);border-radius:var(--radius-full);background:var(--line-strong);overflow:hidden}.client-app .v2-earned .bar span{display:block;height:100%;border-radius:var(--radius-full);background:var(--brand)}.client-app .v2-earned .note{display:block;margin-top:var(--space-2);font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2)}.client-app .v2-receipt{padding:var(--space-5);border-radius:var(--radius-xl);box-shadow:inset 0 0 0 1px var(--line)}.client-app .v2-receipt .top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.client-app .v2-receipt .top b{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800;color:var(--ink)}.client-app .v2-receipt .line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2)}.client-app .v2-receipt .line.total{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);color:var(--ink);font-weight:700}.client-app .v2-receipt .paidwith{margin-top:var(--space-2);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-3)}.client-app .v2-result .outside{font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2);text-align:center}.client-app .v2-scan{padding:var(--space-5) var(--app-gutter) var(--space-6);background:var(--bg)}.client-app .v2-scan h1{font-size:var(--display-size);line-height:var(--display-line);font-weight:800;color:var(--ink)}.client-app .v2-scan .lead{margin-top:var(--space-2);font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2)}.client-app .v2-scan .card{margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);text-align:center}.client-app .v2-scan .qr{display:grid;place-items:center;aspect-ratio:1/1;padding:var(--space-4);border-radius:var(--radius-lg);background:#ffffff;box-shadow:inset 0 0 0 2px var(--brand-fill-white)}.client-app .v2-scan .qr img,.client-app .v2-scan .qr svg{width:100%;height:100%}.client-app .v2-scan .qr .msg{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2);padding:0 var(--space-4)}.client-app .v2-scan .who{display:block;margin-top:var(--space-4);font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:700;color:var(--ink)}.client-app .v2-scan .num{display:block;font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2);letter-spacing:.04em}.client-app .v2-scan .tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-4)}.client-app .v2-scan .tile{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);text-align:left}.client-app .v2-scan .tile span{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-scan .tile b{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800;color:var(--ink)}.client-app .v2-scan .ready{margin-top:var(--space-8)}.client-app .v2-scan .ready h2{font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800;color:var(--ink);margin-bottom:var(--space-3)}.client-app .v2-scan .list{border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.client-app .v2-scan .list .row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.client-app .v2-scan .list .row+.row{border-top:1px solid var(--line)}.client-app .v2-scan .thumb{flex:none;width:44px;height:44px;border-radius:var(--radius-sm);overflow:hidden;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center}.client-app .v2-scan .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-scan .list .txt{flex:1;min-width:0}.client-app .v2-scan .list .txt b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink)}.client-app .v2-scan .list .txt span{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-scan .tip{margin-top:var(--space-5);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-3);text-align:center}.client-app .v2-rewards{padding:var(--space-5) var(--app-gutter) var(--space-6);background:var(--bg)}.client-app .v2-rewards .head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.client-app .v2-rewards .head h1{font-size:var(--display-size);line-height:var(--display-line);font-weight:800;color:var(--ink)}.client-app .v2-rewards .head button{font-size:var(--small-size);font-weight:600;color:var(--ink);text-decoration:underline;white-space:nowrap}.client-app .v2-balance{margin-top:var(--space-4);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--ink);color:#ffffff}.client-app .v2-balance .top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.client-app .v2-balance .lab{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:rgba(255,255,255,.72)}.client-app .v2-balance .big{display:block;font-size:var(--display-size);line-height:var(--display-line);font-weight:800}.client-app .v2-balance .right{text-align:right}.client-app .v2-balance .right b{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:800}.client-app .v2-balance .bar{display:block;height:8px;margin-top:var(--space-4);border-radius:var(--radius-full);background:rgba(255,255,255,.22);overflow:hidden}.client-app .v2-balance .bar span{display:block;height:100%;border-radius:var(--radius-full);background:var(--brand)}.client-app .v2-balance .note{display:block;margin-top:var(--space-2);font-size:var(--small-size);line-height:var(--small-line);color:rgba(255,255,255,.8)}.client-app .v2-rewards .sec{margin-top:var(--space-8)}.client-app .v2-rewards .sec h2{font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800;color:var(--ink);margin-bottom:var(--space-3)}.client-app .v2-rewardlist{border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.client-app .v2-rewardlist .row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4)}.client-app .v2-rewardlist .row+.row{border-top:1px solid var(--line)}.client-app .v2-rewardlist .ic{flex:none;width:48px;height:48px;border-radius:var(--radius-md);background:var(--brand-fill-white);color:#ffffff;display:grid;place-items:center}.client-app .v2-rewardlist .row.goal .ic{background:var(--bg);color:var(--ink)}.client-app .v2-rewardlist .txt{flex:1;min-width:0}.client-app .v2-rewardlist .txt b{font-size:var(--body-size);line-height:var(--body-line);font-weight:700;color:var(--ink)}.client-app .v2-rewardlist .row .txt>span{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-rewardlist .line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.client-app .v2-rewardlist .cost{font-size:var(--caption-size);font-weight:600;color:var(--text-2);white-space:nowrap}.client-app .v2-rewardlist .bar{display:block;height:6px;margin:var(--space-2) 0;border-radius:var(--radius-full);background:var(--line-strong);overflow:hidden}.client-app .v2-rewardlist .bar span{display:block;height:100%;border-radius:var(--radius-full);background:var(--brand-strong)}.client-app .v2-rewardlist .take{flex:none;background:var(--ink);color:#ffffff}.client-app .v2-earn{display:flex;flex-direction:column;gap:var(--space-2)}.client-app .v2-earn .row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--line);text-align:left;color:var(--ink)}.client-app .v2-earn .ic{flex:none;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface-2);display:grid;place-items:center}.client-app .v2-earn .txt{flex:1;min-width:0}.client-app .v2-earn .txt b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:600}.client-app .v2-earn .txt span{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-earn .badge{flex:none;font-size:var(--caption-size);font-weight:700;color:var(--brand-strong);white-space:nowrap}.client-app .v2-steps{display:flex;flex-direction:column;gap:var(--space-3);padding-left:var(--space-5)}.client-app .v2-confirm p,.client-app .v2-steps{font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2)}.client-app .v2-confirm p+p{margin-top:var(--space-3);color:var(--ink)}.client-app .v2-redeemed{text-align:center}.client-app .v2-redeemed p{font-size:var(--small-size);line-height:var(--small-line);color:var(--text-2)}.client-app .v2-redeemed .code{width:60%;margin:var(--space-5) auto;padding:var(--space-4);border-radius:var(--radius-lg);background:#ffffff;box-shadow:inset 0 0 0 1px var(--line)}.client-app .v2-redeemed .digits{font-size:var(--title-3-size);font-weight:800;letter-spacing:.08em;color:var(--ink)}.client-app .v2-profile{background:var(--bg);padding-bottom:var(--space-6)}.client-app .v2-profile .who{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--app-gutter) 0}.client-app .v2-profile .avatar{flex:none;width:64px;height:64px;border-radius:var(--radius-full);background:var(--ink);color:#ffffff;display:grid;place-items:center;font-size:var(--title-2-size);font-weight:800}.client-app .v2-profile .info{min-width:0;flex:1}.client-app .v2-profile h1{font-size:var(--title-1-size);line-height:var(--title-1-line);font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.client-app .v2-profile .meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.client-app .v2-profile .points{display:inline-flex;align-items:center;gap:4px;font-size:var(--caption-size);font-weight:700;color:var(--brand-strong)}.client-app .v2-profile .tabs{padding:var(--space-5) var(--app-gutter) 0}.client-app .v2-items{padding:var(--space-6) var(--app-gutter) 0}.client-app .v2-items section+section{margin-top:var(--space-6)}.client-app .v2-items h2{font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800;color:var(--ink);margin-bottom:var(--space-3)}.client-app .v2-items .list{border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.client-app .v2-items .row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;color:var(--ink)}.client-app .v2-items .row+.row{border-top:1px solid var(--line)}.client-app .v2-items .list.past .row .txt b{color:var(--text-2)}.client-app .v2-items .thumb{flex:none;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center}.client-app .v2-items .list.past .thumb{background:var(--bg);color:var(--text-3)}.client-app .v2-items .txt{flex:1;min-width:0}.client-app .v2-items .txt b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:600}.client-app .v2-items .txt span{font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-items .none{padding:var(--space-10) 0;font-size:var(--body-size);line-height:var(--body-line);color:var(--text-2);text-align:center}.client-app .v2-profilelinks{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--app-gutter) 0}.client-app .v2-profilelinks .row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink);text-align:left}.client-app .v2-profilelinks .ic{flex:none;display:grid;place-items:center}.client-app .v2-profilelinks .txt{flex:1;font-size:var(--body-size);line-height:var(--body-line);font-weight:600}.client-app .v2-account{padding:var(--space-6) var(--app-gutter) 0}.client-app .v2-account h2{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:700;color:var(--text-2);margin-bottom:var(--space-3)}.client-app .v2-account h2+.group{margin-bottom:var(--space-6)}.client-app .v2-account .group{border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.client-app .v2-account .row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;color:var(--ink)}.client-app .v2-account .row+.row{border-top:1px solid var(--line)}.client-app .v2-account .ic{flex:none;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--bg);display:grid;place-items:center}.client-app .v2-account .txt{flex:1;min-width:0;font-size:var(--body-size);line-height:var(--body-line);font-weight:600}.client-app .v2-account .val{flex:none;font-size:var(--small-size);color:var(--text-2)}.client-app .v2-logout{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:56px;margin-top:var(--space-6);border-radius:var(--radius-md);background:var(--danger-tint);color:var(--danger);font-size:17px;font-weight:700}.client-app .v2-delete{width:100%;margin-top:var(--space-3);padding:var(--space-3);font-size:var(--small-size);font-weight:600;color:var(--text-2)}.client-app .v2-poweredby{margin-top:var(--space-5);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-3);text-align:center}.client-app .v2-items .rowwrap+.rowwrap{border-top:1px solid var(--line)}.client-app .v2-items .rowwrap .book{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:48px;margin:0 var(--space-4) var(--space-4);border-radius:var(--radius-md);background:var(--ink);color:#ffffff;font-size:var(--small-size);font-weight:700}.client-app .v2-next .books{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.client-app .v2-next .book{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:rgba(255,255,255,.12);color:#ffffff;font-size:var(--small-size)}.client-app .v2-next .book b{flex:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:var(--caption-size);font-weight:700}.client-app .v2-next .later{font-size:var(--caption-size);color:rgba(255,255,255,.72)}.client-app .v2-again .acts{display:flex;align-items:center;gap:var(--space-2);flex:none}.client-app .v2-again .bookagain{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--ink);color:#ffffff;font-size:var(--caption-size);font-weight:700;white-space:nowrap}.client-app .v2-railitem.wide{width:240px}.client-app .v2-pkgcard .art{position:relative;display:block;width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;background:var(--brand-soft)}.client-app .v2-pkgcard .art img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-pkgcard .art .ph{display:grid;place-items:center;width:100%;height:100%;font-size:var(--title-1-size);font-weight:800;color:var(--brand-strong)}.client-app .v2-pkgcard .art .tags{position:absolute;top:var(--space-2);left:var(--space-2)}.client-app .v2-pkgcard .art .sessions{position:absolute;bottom:var(--space-2);left:var(--space-2);height:26px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:var(--tag-size);font-weight:700;display:inline-flex;align-items:center}.client-app .v2-pkgcard .body{display:block;width:100%;padding-top:var(--space-2);text-align:left}.client-app .v2-pkgcard .body b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink)}.client-app .v2-pkgcard .meta{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-app .v2-pkgcard .price{display:flex;align-items:baseline;gap:var(--space-2);margin-top:var(--space-1)}.client-app .v2-pkgcard .price b{font-size:var(--title-3-size);font-weight:800;color:var(--ink)}.client-app .v2-pkgcard .price span{font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-pkggroup{margin-top:var(--space-8)}.client-app .v2-pkggroup h2{font-size:var(--title-2-size);line-height:var(--title-2-line);font-weight:800;color:var(--ink);margin-bottom:var(--space-3)}.client-app .v2-pkggroup .rows{border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.client-app .v2-pkggroup .row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-4);text-align:left}.client-app .v2-pkggroup .row+.row{border-top:1px solid var(--line)}.client-app .v2-pkggroup .txt b{display:block;font-size:var(--body-size);line-height:var(--body-line);font-weight:600;color:var(--ink)}.client-app .v2-pkggroup .txt span{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-pkggroup .txt .save{color:var(--brand-strong);font-weight:700}.client-app .v2-pkggroup .right{text-align:right;flex:none}.client-app .v2-pkggroup .right b{display:block;font-size:var(--title-3-size);font-weight:800;color:var(--ink)}.client-app .v2-pkggroup .right span{font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-pkgfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:var(--space-2);margin-top:var(--space-5)}.client-app .v2-pkgfacts span{display:block;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2);text-align:center}.client-app .v2-pkgfacts b{display:block;font-size:var(--body-size);font-weight:800;color:var(--ink)}.client-app .v2-pkgcovers{margin-top:var(--space-5)}.client-app .v2-pkgcovers h3{font-size:var(--title-3-size);line-height:var(--title-3-line);font-weight:700;color:var(--ink);margin-bottom:var(--space-2)}.client-app .v2-pkgcovers .row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.client-app .v2-pkgcovers .row:last-child{border-bottom:0}.client-app .v2-pkgcovers .txt b{display:block;font-size:var(--body-size);font-weight:600;color:var(--ink)}.client-app .v2-pkgcovers .how,.client-app .v2-pkgcovers .txt span{font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-pkgcovers .how{flex:none}.client-app .v2-pkgowned{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);margin-bottom:var(--space-3)}.client-app .v2-pkgowned .top{display:flex;align-items:flex-start;gap:var(--space-3)}.client-app .v2-pkgowned .thumb{flex:none;width:44px;height:44px;border-radius:var(--radius-sm);overflow:hidden;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center}.client-app .v2-pkgowned .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.client-app .v2-pkgowned .txt{flex:1;min-width:0}.client-app .v2-pkgowned .txt b{display:flex;align-items:center;gap:var(--space-2);font-size:var(--body-size);line-height:var(--body-line);font-weight:700;color:var(--ink)}.client-app .v2-pkgowned .txt span{display:block;font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-pkgowned .txt .from{color:var(--brand-strong)}.client-app .v2-pkgowned .pips{display:flex;gap:4px;margin-top:var(--space-3)}.client-app .v2-pkgowned .pips span{flex:1;height:6px;border-radius:var(--radius-full);background:var(--line-strong)}.client-app .v2-pkgowned .pips span.on{background:var(--brand-strong)}.client-app .v2-pkgowned .covers{margin-top:var(--space-3);border-radius:var(--radius-md);background:var(--bg);overflow:hidden}.client-app .v2-pkgowned .covers .row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--small-size);color:var(--ink)}.client-app .v2-pkgowned .covers .row+.row{border-top:1px solid var(--line)}.client-app .v2-pkgowned .covers .book{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--ink);color:#ffffff;font-size:var(--caption-size);font-weight:700}.client-app .v2-pkgowned .covers .desk{font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-pkgowned .give{display:flex;align-items:center;gap:var(--space-2);width:100%;margin-top:var(--space-3);padding:var(--space-3) 0 0;border-top:1px solid var(--line);font-size:var(--small-size);font-weight:600;color:var(--ink)}.client-app .v2-pkgowned .give svg:last-child{margin-left:auto}.client-app .v2-give{display:flex;flex-direction:column;gap:var(--space-4)}.client-app .v2-give .summary{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2)}.client-app .v2-give .summary b{display:block;font-size:var(--body-size);font-weight:700;color:var(--ink)}.client-app .v2-give .summary span{font-size:var(--caption-size);color:var(--text-2)}.client-app .v2-give .howmany{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--body-size);font-weight:600;color:var(--ink)}.client-app .v2-give .facts{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-5);font-size:var(--caption-size);line-height:var(--caption-line);color:var(--text-2)}.client-app .v2-give .left{font-size:var(--small-size);font-weight:600;color:var(--ink)}.client-app .v2-give .err{font-size:var(--small-size);color:var(--danger)}