.login[data-v-a4ba4a85]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--vl-surface-bg, #f8f9fa);padding:16px}.login__card[data-v-a4ba4a85]{width:100%;max-width:360px;background:var(--vl-surface-card, #ffffff);border-radius:var(--vl-radius-card, 16px);padding:32px 24px;box-shadow:var(--vl-shadow-card, 0 2px 12px rgba(0, 0, 0, .08))}.login__title[data-v-a4ba4a85]{margin:0;text-align:center;font-size:var(--vl-text-hero, 1.75rem);color:var(--vl-zalo-blue, #0068ff);font-weight:700;letter-spacing:-.5px}.login__subtitle[data-v-a4ba4a85]{text-align:center;color:var(--vl-text-secondary, #757575);margin:4px 0 24px;font-size:var(--vl-text-body, .875rem)}.login__form[data-v-a4ba4a85]{display:flex;flex-direction:column;gap:16px}.login__field label[data-v-a4ba4a85]{display:block;font-size:.8125rem;color:var(--vl-text-primary, #333333);margin-bottom:4px;font-weight:500}.login__field input[data-v-a4ba4a85]{width:100%;padding:12px;min-height:var(--vl-touch-min, 44px);border:1px solid var(--vl-surface-variant, #ddd);border-radius:var(--vl-radius-sm, 8px);font-size:1rem;outline:none;background:var(--vl-surface-card, #ffffff);color:var(--vl-text-primary, #333333);transition:border-color .2s,box-shadow .2s;box-sizing:border-box;font-family:inherit}.login__field input[data-v-a4ba4a85]::placeholder{color:var(--vl-text-secondary, #757575)}.login__field input[data-v-a4ba4a85]:focus{border-color:var(--vl-zalo-blue, #0068ff);box-shadow:0 0 0 3px #0068ff1f}.login__error[data-v-a4ba4a85]{color:var(--vl-status-error, #e74c3c);font-size:.8125rem;text-align:center;margin:0;font-weight:500}.login__btn[data-v-a4ba4a85]{background:var(--vl-zalo-blue, #0068ff);color:var(--vl-text-on-primary, #ffffff);border:none;padding:14px;min-height:var(--vl-touch-min, 44px);border-radius:var(--vl-radius-sm, 8px);font-size:1rem;font-weight:600;cursor:pointer;transition:filter .2s,transform .15s;font-family:inherit}.login__btn[data-v-a4ba4a85]:hover{filter:brightness(.85)}.login__btn[data-v-a4ba4a85]:active{transform:scale(.98)}.login__btn[data-v-a4ba4a85]:disabled{background:var(--vl-surface-container, #e0e0e0);color:var(--vl-text-secondary, #757575);cursor:default;filter:none}.sync-badge[data-v-d6b766f4]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--vl-radius-badge, 9999px);border:none;font-size:var(--vl-text-tiny, .625rem);font-weight:500;cursor:pointer;transition:filter .15s,transform .15s;font-family:inherit;min-height:var(--vl-touch-min, 44px)}.sync-badge[data-v-d6b766f4]:hover{filter:brightness(.96)}.sync-badge[data-v-d6b766f4]:active{transform:scale(.97)}.sync-badge[data-v-d6b766f4]:disabled{opacity:.6;cursor:default}.sync-badge__dot[data-v-d6b766f4]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status--online[data-v-d6b766f4]{background:#2ecc711f;color:var(--vl-earn, #2ecc71)}.status--online .sync-badge__dot[data-v-d6b766f4]{background:var(--vl-earn, #2ecc71)}.status--pending[data-v-d6b766f4]{background:#f59e0b1f;color:var(--vl-redeem, #f59e0b)}.status--pending .sync-badge__dot[data-v-d6b766f4]{background:var(--vl-redeem, #f59e0b);animation:pulse-d6b766f4 2s infinite}.status--error[data-v-d6b766f4]{background:#e74c3c1f;color:var(--vl-status-error, #e74c3c)}.status--error .sync-badge__dot[data-v-d6b766f4]{background:var(--vl-status-error, #e74c3c)}.status--offline[data-v-d6b766f4]{background:var(--vl-surface-container, #f0eded);color:var(--vl-text-secondary, #757575)}.status--offline .sync-badge__dot[data-v-d6b766f4]{background:var(--vl-text-secondary, #9e9e9e)}@keyframes pulse-d6b766f4{0%,to{opacity:1}50%{opacity:.4}}.home[data-v-79fa0946]{min-height:100vh;background:var(--vl-surface-bg, #f8f9fa);display:flex;flex-direction:column}.home__header[data-v-79fa0946]{background:var(--vl-zalo-blue, #0068ff);color:var(--vl-text-on-primary, #ffffff);padding:20px 16px 16px;display:flex;flex-direction:column;gap:10px}.home__header-top[data-v-79fa0946]{display:flex;justify-content:space-between;align-items:center}.home__greeting[data-v-79fa0946]{margin:0;font-size:var(--vl-text-title, 1.25rem);font-weight:600;color:var(--vl-text-on-primary, #ffffff)}.home__logout[data-v-79fa0946]{background:#fff3;color:var(--vl-text-on-primary, #ffffff);border:none;padding:6px 14px;min-height:var(--vl-touch-min, 44px);border-radius:var(--vl-radius-sm, 8px);font-size:.8125rem;cursor:pointer;font-family:inherit;transition:background .15s}.home__logout[data-v-79fa0946]:hover{background:#ffffff4d}.home__logout[data-v-79fa0946]:active{background:#fff6}.home__actions[data-v-79fa0946]{flex:1;display:flex;flex-direction:column;gap:16px;padding:24px 16px}.home__action[data-v-79fa0946]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--vl-radius-card, 16px);padding:32px 16px;cursor:pointer;transition:transform .15s,box-shadow .15s;min-height:140px;box-shadow:var(--vl-shadow-card, 0 2px 12px rgba(0, 0, 0, .08));font-family:inherit}.home__action[data-v-79fa0946]:hover{box-shadow:var(--vl-shadow-lg, 0 12px 24px -4px rgba(51, 51, 51, .1))}.home__action[data-v-79fa0946]:active{transform:scale(.97)}.home__action[data-v-79fa0946]:focus-visible{outline:3px solid var(--vl-zalo-blue, #0068ff);outline-offset:4px}.home__action--earn[data-v-79fa0946]{background:linear-gradient(135deg,#2ecc712e,#2ecc7114);color:var(--vl-earn, #2ecc71)}.home__action--redeem[data-v-79fa0946]{background:linear-gradient(135deg,#ffd7004d,#d4af372e);color:var(--vl-primary, #705d00)}.home__action-icon[data-v-79fa0946]{font-size:36px;color:inherit}.home__action-label[data-v-79fa0946]{font-size:var(--vl-text-title, 1.25rem);font-weight:700;color:inherit}.home__action-desc[data-v-79fa0946]{font-size:.8125rem;opacity:.75;color:inherit}.home__toast[data-v-79fa0946]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--vl-inverse-surface, #303030);color:var(--vl-text-on-primary, #ffffff);padding:12px 24px;border-radius:var(--vl-radius-sm, 8px);font-size:.875rem;z-index:100;box-shadow:var(--vl-shadow-lg, 0 12px 24px -4px rgba(0, 0, 0, .2));white-space:nowrap}.toast-enter-active[data-v-79fa0946],.toast-leave-active[data-v-79fa0946]{transition:opacity .3s,transform .3s}.toast-enter-from[data-v-79fa0946],.toast-leave-to[data-v-79fa0946]{opacity:0;transform:translate(-50%) translateY(10px)}.app-bar[data-v-6c54eff0]{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--vl-margin, 16px);background:var(--vl-surface-card, #fff);position:sticky;top:0;z-index:50;transition:box-shadow .2s}.app-bar--shadow[data-v-6c54eff0]{box-shadow:0 1px 4px #3333330f}.app-bar__left[data-v-6c54eff0],.app-bar__right[data-v-6c54eff0]{display:flex;align-items:center;min-width:40px}.app-bar__right[data-v-6c54eff0]{justify-content:flex-end}.app-bar__back[data-v-6c54eff0]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-8px;border:none;background:none;cursor:pointer;color:var(--vl-text-primary, #333);border-radius:var(--vl-radius-full, 9999px);transition:background .15s}.app-bar__back[data-v-6c54eff0]:active{background:var(--vl-surface-container, #f0eded)}.app-bar__icon[data-v-6c54eff0]{font-size:24px}.app-bar__title[data-v-6c54eff0]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-title, 1.25rem);font-weight:600;color:var(--vl-text-primary, #333);text-align:center;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.app-bar__right[data-v-6c54eff0]{display:flex;align-items:center;justify-content:flex-end}.tier-badge[data-v-47a75f14]{display:inline-flex;align-items:center;font-family:var(--vl-font, "Inter", sans-serif);font-weight:600;letter-spacing:.02em;border-radius:var(--vl-radius-badge, 9999px);white-space:nowrap}.tier-badge--sm[data-v-47a75f14]{height:22px;padding:0 10px;font-size:var(--vl-text-tiny, .625rem)}.tier-badge--md[data-v-47a75f14]{height:26px;padding:0 12px;font-size:var(--vl-text-small, .75rem)}.tier-badge--lg[data-v-47a75f14]{height:30px;padding:0 16px;font-size:var(--vl-text-body, .875rem)}.tier-badge--member[data-v-47a75f14]{background:#f0f2f5;color:#8e9aaf}.tier-badge--silver[data-v-47a75f14]{background:#f4f6f8;color:#a8b5c4}.tier-badge--gold[data-v-47a75f14]{background:#fff8e1;color:#d4a017}.tier-badge--diamond[data-v-47a75f14]{background:#f0edff;color:#6c5ce7}.points-display[data-v-ae000c94]{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--vl-font, "Inter", sans-serif)}.points-display__value[data-v-ae000c94]{font-weight:700;letter-spacing:-.02em}.points-display__label[data-v-ae000c94]{font-weight:500;color:var(--vl-text-secondary, #757575)}.points-display__suffix[data-v-ae000c94]{font-weight:600;color:var(--vl-text-secondary, #757575)}.points-display--sm .points-display__value[data-v-ae000c94]{font-size:var(--vl-text-body, .875rem)}.points-display--sm .points-display__label[data-v-ae000c94],.points-display--sm .points-display__suffix[data-v-ae000c94]{font-size:var(--vl-text-small, .75rem)}.points-display--md .points-display__value[data-v-ae000c94]{font-size:var(--vl-text-title, 1.25rem)}.points-display--md .points-display__label[data-v-ae000c94],.points-display--md .points-display__suffix[data-v-ae000c94]{font-size:var(--vl-text-body, .875rem)}.points-display--lg .points-display__value[data-v-ae000c94]{font-size:var(--vl-text-hero, 2rem)}.points-display--lg .points-display__label[data-v-ae000c94],.points-display--lg .points-display__suffix[data-v-ae000c94]{font-size:var(--vl-text-title, 1.25rem)}.points-display--animate .points-display__value[data-v-ae000c94]{animation:pointsPop-ae000c94 .4s var(--vl-ease-out, cubic-bezier(.16, 1, .3, 1))}@keyframes pointsPop-ae000c94{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.tier-progress[data-v-e5252f7f]{display:flex;flex-direction:column;gap:8px;width:100%}.tier-progress__bar[data-v-e5252f7f]{height:6px;background:var(--vl-surface-container, #f0eded);border-radius:var(--vl-radius-badge, 9999px);overflow:hidden}.tier-progress__fill[data-v-e5252f7f]{height:100%;background:linear-gradient(90deg,var(--vl-gold, #FFD700),var(--vl-zalo-blue, #0068FF));border-radius:var(--vl-radius-badge, 9999px);transition:width .5s var(--vl-ease-out, cubic-bezier(.16, 1, .3, 1))}.tier-progress__text[data-v-e5252f7f]{margin:0;font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-small, .75rem);color:var(--vl-text-secondary, #757575);line-height:1.4}.tier-progress__text--max[data-v-e5252f7f]{color:var(--vl-zalo-blue, #0068FF);font-weight:600}.tier-progress__next[data-v-e5252f7f]{color:var(--vl-gold, #D4A017)}.token-expiry[data-v-9276f27f]{display:inline-flex;align-items:center;gap:4px;font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-small, .75rem);font-weight:500}.token-expiry__timer[data-v-9276f27f]{color:var(--vl-text-secondary, #757575)}.token-expiry__expired[data-v-9276f27f]{color:var(--vl-red, #E74C3C)}.token-expiry__icon[data-v-9276f27f]{font-size:14px}.qr-display[data-v-f824cc35]{display:flex;flex-direction:column;align-items:center;gap:16px}.qr-display__border[data-v-f824cc35]{background:var(--vl-surface-card, #fff);border-radius:var(--vl-radius-card, 16px);box-shadow:var(--vl-shadow-lg, 0 12px 24px -4px rgba(51, 51, 51, .1));padding:16px;width:100%;max-width:280px;position:relative}.qr-display--earn .qr-display__border[data-v-f824cc35]{border:4px solid var(--vl-earn, #2ecc71);box-shadow:var(--vl-shadow-earn, 0 4px 14px rgba(46, 204, 113, .25))}.qr-display--redeem .qr-display__border[data-v-f824cc35]{border:4px solid var(--vl-redeem, #ffd700);box-shadow:var(--vl-shadow-redeem, 0 4px 14px rgba(255, 215, 0, .25))}.qr-display__code[data-v-f824cc35]{aspect-ratio:1;display:flex;align-items:center;justify-content:center}.qr-display__img[data-v-f824cc35]{width:100%;height:100%;display:block;image-rendering:pixelated}.qr-display__placeholder[data-v-f824cc35]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--vl-surface-container-lo, #f6f3f2);border-radius:8px}.qr-display__placeholder .material-symbols-outlined[data-v-f824cc35]{font-size:64px;color:var(--vl-text-secondary, #757575);opacity:.4}.qr-display__expiry[data-v-f824cc35]{margin-top:12px;text-align:center}.qr-display__instruction[data-v-f824cc35]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);color:var(--vl-text-secondary, #757575);text-align:center;margin:0}.scanner[data-v-c5d59cf6]{display:flex;flex-direction:column;min-height:100vh;background:var(--vl-scanner-bg, #000000)}.scanner__header[data-v-c5d59cf6]{position:relative;display:flex;justify-content:space-between;padding:16px;background:#00000080;z-index:20}.scanner__back[data-v-c5d59cf6],.scanner__toggle[data-v-c5d59cf6]{background:#fff3;color:var(--vl-scanner-overlay-text, #ffffff);border:none;padding:8px 16px;min-height:var(--vl-touch-min, 44px);border-radius:var(--vl-radius-sm, 8px);font-size:.875rem;cursor:pointer;font-family:inherit;transition:background .15s}.scanner__back[data-v-c5d59cf6]:hover,.scanner__toggle[data-v-c5d59cf6]:hover{background:#ffffff4d}.scanner__camera[data-v-c5d59cf6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.scanner__video-container[data-v-c5d59cf6]{position:absolute;inset:0;width:100%;height:100%;background:#000;z-index:1}.scanner__native-trigger[data-v-c5d59cf6]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000;z-index:1}.scanner__trigger-btn[data-v-c5d59cf6]{background:var(--vl-zalo-blue, #0068ff);color:#fff;border:none;padding:16px 32px;border-radius:var(--vl-radius-md, 12px);font-size:1.125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:48px;font-family:inherit;box-shadow:0 4px 12px #0068ff4d;transition:transform .2s,filter .2s}.scanner__trigger-btn[data-v-c5d59cf6]:hover{filter:brightness(.9)}.scanner__trigger-btn[data-v-c5d59cf6]:active{transform:scale(.97)}.scanner__trigger-icon[data-v-c5d59cf6]{font-size:24px}.scanner__overlay[data-v-c5d59cf6]{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.scanner__frame[data-v-c5d59cf6]{position:relative;width:250px;height:250px;border-width:4px;border-style:dashed;border-radius:var(--vl-radius-card, 16px);z-index:10;pointer-events:none}.scanner__frame--earn[data-v-c5d59cf6]{border-color:var(--vl-earn, #2ecc71)}.scanner__frame--redeem[data-v-c5d59cf6]{border-color:var(--vl-redeem, #ffd700)}.scanner__hint[data-v-c5d59cf6]{position:relative;color:var(--vl-scanner-overlay-text, #ffffff);z-index:10;margin-top:16px;font-size:.875rem;background:#00000080;padding:6px 16px;border-radius:var(--vl-radius-badge, 20px);pointer-events:none}.scanner__phone[data-v-c5d59cf6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;background:var(--vl-surface-bg, #f8f9fa)}.scanner__phone-icon[data-v-c5d59cf6]{font-size:48px;color:var(--vl-zalo-blue, #0068ff)}.scanner__phone-title[data-v-c5d59cf6]{color:var(--vl-text-primary, #333333);font-size:1rem;text-align:center;margin:0}.scanner__phone-input[data-v-c5d59cf6]{width:100%;max-width:280px;padding:14px;min-height:var(--vl-touch-min, 44px);border:1px solid var(--vl-surface-variant, #ddd);border-radius:var(--vl-radius-sm, 8px);font-size:1.125rem;text-align:center;background:var(--vl-surface-card, #ffffff);color:var(--vl-text-primary, #333333);outline:none;font-family:inherit;box-sizing:border-box}.scanner__phone-input[data-v-c5d59cf6]:focus{border-color:var(--vl-zalo-blue, #0068ff);box-shadow:0 0 0 3px #0068ff1f}.scanner__phone-btn[data-v-c5d59cf6]{background:var(--vl-zalo-blue, #0068ff);color:var(--vl-text-on-primary, #ffffff);border:none;padding:14px 32px;min-height:var(--vl-touch-min, 44px);border-radius:var(--vl-radius-sm, 8px);font-size:1rem;cursor:pointer;width:100%;max-width:280px;font-family:inherit;transition:filter .2s}.scanner__phone-btn[data-v-c5d59cf6]:hover{filter:brightness(.9)}.scanner__error[data-v-c5d59cf6]{position:relative;color:var(--vl-scanner-error, #ff5252);text-align:center;padding:8px;font-size:.8125rem;background:#00000080;margin:0;z-index:20}.loading-spinner[data-v-bb106a24]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.loading-spinner__ring[data-v-bb106a24]{border-radius:50%;border:3px solid var(--vl-surface-container, #f0eded);border-top-color:var(--vl-zalo-blue, #0068FF);animation:spin-bb106a24 .7s linear infinite}.loading-spinner--sm .loading-spinner__ring[data-v-bb106a24]{width:20px;height:20px}.loading-spinner--md .loading-spinner__ring[data-v-bb106a24]{width:32px;height:32px}.loading-spinner--lg .loading-spinner__ring[data-v-bb106a24]{width:48px;height:48px;border-width:4px}.loading-spinner__label[data-v-bb106a24]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);color:var(--vl-text-secondary, #757575);margin:0}@keyframes spin-bb106a24{to{transform:rotate(360deg)}}.empty-state[data-v-d787a9ad]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:12px}.empty-state__icon[data-v-d787a9ad]{width:64px;height:64px;border-radius:50%;background:var(--vl-surface-container, #f0eded);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.empty-state__icon .material-symbols-outlined[data-v-d787a9ad]{font-size:32px;color:var(--vl-text-secondary, #757575)}.empty-state__title[data-v-d787a9ad]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-title, 1.25rem);font-weight:600;color:var(--vl-text-primary, #333);margin:0}.empty-state__desc[data-v-d787a9ad]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);color:var(--vl-text-secondary, #757575);margin:0;max-width:280px;line-height:1.5}.empty-state__action[data-v-d787a9ad]{margin-top:8px;height:var(--vl-touch-min, 44px);padding:0 24px;border:none;border-radius:var(--vl-radius-sm, 8px);background:var(--vl-zalo-blue, #0068FF);color:var(--vl-text-on-primary, #fff);font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:600;cursor:pointer;transition:opacity .15s}.empty-state__action[data-v-d787a9ad]:active{opacity:.8}.popup-overlay[data-v-22aa0e20]{position:fixed;inset:0;background:var(--vl-surface-overlay, rgba(51,51,51,.4));backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--vl-margin, 16px);z-index:1000}.popup-card[data-v-22aa0e20]{background:var(--vl-surface-card, #fff);border-radius:24px;box-shadow:var(--vl-shadow-lg, 0 12px 24px -4px rgba(51,51,51,.1));width:100%;max-width:343px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.popup-blob[data-v-22aa0e20]{position:absolute;width:160px;height:160px;border-radius:50%;filter:blur(60px);pointer-events:none}.popup-blob--tl[data-v-22aa0e20]{top:-80px;right:-80px}.popup-blob--br[data-v-22aa0e20]{bottom:-80px;left:-80px}.popup-card--success .popup-blob--tl[data-v-22aa0e20]{background:#2ecc7133}.popup-card--success .popup-blob--br[data-v-22aa0e20]{background:#ffd70026}.popup-card--error .popup-blob--tl[data-v-22aa0e20]{background:#e74c3c33}.popup-card--error .popup-blob--br[data-v-22aa0e20]{background:#ffd7001a}.popup-icon[data-v-22aa0e20]{width:88px;height:88px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative;z-index:1}.popup-icon[data-v-22aa0e20]:before{content:"";position:absolute;inset:0;border-radius:50%;animation:popupPulse-22aa0e20 2s cubic-bezier(0,0,.2,1) infinite}.popup-card--success .popup-icon[data-v-22aa0e20]:before{background:#2ecc7126}.popup-card--error .popup-icon[data-v-22aa0e20]:before{background:#e74c3c26}.popup-icon .material-symbols-outlined[data-v-22aa0e20]{font-size:56px;position:relative;z-index:1;font-variation-settings:"FILL" 1}.popup-card--success .popup-icon .material-symbols-outlined[data-v-22aa0e20]{color:var(--vl-earn, #2ECC71)}.popup-card--error .popup-icon .material-symbols-outlined[data-v-22aa0e20]{color:var(--vl-red, #E74C3C)}.popup-title[data-v-22aa0e20]{font-family:var(--vl-font, "Inter", sans-serif);font-size:1.5rem;font-weight:700;color:var(--vl-text-primary, #333);margin:0 0 8px;position:relative;z-index:1}.popup-desc[data-v-22aa0e20]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);color:var(--vl-text-secondary, #757575);margin:0 0 24px;line-height:1.5;position:relative;z-index:1}.popup-action[data-v-22aa0e20]{width:100%;height:48px;border:none;border-radius:16px;font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:600;cursor:pointer;border-radius:var(--vl-radius-card, 16px);transition:transform .15s,opacity .15s;position:relative;z-index:1}.popup-action[data-v-22aa0e20]:active{transform:scale(.97)}.popup-card--success .popup-action[data-v-22aa0e20]{background:var(--vl-redeem, #FFD700);color:var(--vl-text-primary, #333);box-shadow:var(--vl-shadow-redeem, 0 4px 14px rgba(255,215,0,.25))}.popup-card--error .popup-action[data-v-22aa0e20]{background:var(--vl-zalo-blue, #0068FF);color:var(--vl-text-on-primary, #fff)}.popup-confetti[data-v-22aa0e20]{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.popup-confetti__piece[data-v-22aa0e20]{position:absolute;width:10px;height:20px;top:0;opacity:0;animation:confettiFall-22aa0e20 2s linear forwards}@keyframes confettiFall-22aa0e20{0%{opacity:1;transform:translateY(-60px) rotate(0)}to{opacity:0;transform:translateY(100vh) rotate(720deg)}}@keyframes popupPulse-22aa0e20{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.popup-enter-active[data-v-22aa0e20]{transition:opacity .25s}.popup-leave-active[data-v-22aa0e20]{transition:opacity .2s}.popup-enter-from[data-v-22aa0e20],.popup-leave-to[data-v-22aa0e20]{opacity:0}.popup-enter-active .popup-card[data-v-22aa0e20]{animation:popupBounce-22aa0e20 .45s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes popupBounce-22aa0e20{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.error-overlay[data-v-489ac9af]{position:fixed;inset:0;background:var(--vl-surface-overlay, rgba(51,51,51,.4));display:flex;align-items:center;justify-content:center;padding:var(--vl-margin, 16px);z-index:1000}.error-card[data-v-489ac9af]{background:var(--vl-surface-card, #fff);border-radius:20px;box-shadow:var(--vl-shadow-lg);width:100%;max-width:320px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center}.error-icon[data-v-489ac9af]{width:56px;height:56px;border-radius:50%;background:#e74c3c1a;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.error-icon .material-symbols-outlined[data-v-489ac9af]{font-size:32px;color:var(--vl-red, #E74C3C);font-variation-settings:"FILL" 1}.error-title[data-v-489ac9af]{margin:0 0 8px;font-family:var(--vl-font, "Inter", sans-serif);font-size:1.125rem;font-weight:600;color:var(--vl-text-primary, #333)}.error-desc[data-v-489ac9af]{margin:0 0 20px;font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);color:var(--vl-text-secondary, #757575);line-height:1.5}.error-actions[data-v-489ac9af]{display:flex;flex-direction:column;gap:8px;width:100%}.error-btn[data-v-489ac9af]{height:44px;border-radius:var(--vl-radius-sm, 8px);font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:600;cursor:pointer;transition:opacity .15s}.error-btn[data-v-489ac9af]:active{opacity:.8}.error-btn--primary[data-v-489ac9af]{border:none;background:var(--vl-zalo-blue, #0068FF);color:var(--vl-text-on-primary, #fff)}.error-btn--secondary[data-v-489ac9af]{border:1px solid var(--vl-surface-container, #e0e0e0);background:transparent;color:var(--vl-text-primary, #333)}.popup-enter-active[data-v-489ac9af]{transition:opacity .2s}.popup-leave-active[data-v-489ac9af]{transition:opacity .15s}.popup-enter-from[data-v-489ac9af],.popup-leave-to[data-v-489ac9af]{opacity:0}.offline-banner[data-v-b6a97679]{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px var(--vl-margin, 16px);background:var(--vl-surface-container-lo, #F6F3F2);color:var(--vl-text-secondary, #757575);font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-small, .75rem);font-weight:500;min-height:28px}.offline-banner__icon[data-v-b6a97679]{font-size:16px}.offline-banner__text[data-v-b6a97679]{flex:1;text-align:center}.offline-banner__retry[data-v-b6a97679]{border:none;background:none;color:var(--vl-zalo-blue, #0068FF);font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-small, .75rem);font-weight:600;cursor:pointer;padding:4px 8px}.sheet-overlay[data-v-e83f4451]{position:fixed;inset:0;background:var(--vl-surface-overlay, rgba(51,51,51,.4));display:flex;align-items:flex-end;justify-content:center;z-index:1000}.sheet-card[data-v-e83f4451]{background:var(--vl-surface-card, #fff);border-radius:20px 20px 0 0;width:100%;max-width:var(--vl-max-width, 480px);padding:8px 24px 24px;display:flex;flex-direction:column;gap:16px}.sheet-handle[data-v-e83f4451]{width:36px;height:4px;border-radius:2px;background:var(--vl-surface-container, #e0e0e0);margin:0 auto}.sheet-title[data-v-e83f4451]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-title, 1.25rem);font-weight:600;color:var(--vl-text-primary, #333);text-align:center;margin:0}.sheet-actions[data-v-e83f4451]{display:flex;flex-direction:column;gap:8px}.sheet-btn[data-v-e83f4451]{height:var(--vl-touch-min, 44px);border-radius:var(--vl-radius-sm, 8px);font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:600;cursor:pointer;transition:opacity .15s}.sheet-btn[data-v-e83f4451]:active{opacity:.8}.sheet-btn--confirm[data-v-e83f4451]{border:none;background:var(--vl-earn, #2ECC71);color:var(--vl-text-on-primary, #fff)}.sheet-btn--confirm[data-v-e83f4451]:disabled{background:var(--vl-surface-container, #e0e0e0);color:var(--vl-text-secondary, #757575);cursor:not-allowed}.sheet-btn--cancel[data-v-e83f4451]{border:none;background:transparent;color:var(--vl-text-secondary, #757575)}.sheet-enter-active[data-v-e83f4451]{transition:opacity .2s}.sheet-leave-active[data-v-e83f4451]{transition:opacity .15s}.sheet-enter-from[data-v-e83f4451],.sheet-leave-to[data-v-e83f4451]{opacity:0}.sheet-enter-active .sheet-card[data-v-e83f4451]{animation:sheetUp-e83f4451 .3s ease-out}@keyframes sheetUp-e83f4451{0%{transform:translateY(100%)}to{transform:translateY(0)}}.contact-row[data-v-ebac4cd8]{display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer;transition:background .15s}.contact-row[data-v-ebac4cd8]:active{background:var(--vl-surface-container-lo, #F6F3F2);margin:0 -16px;padding-left:16px;padding-right:16px;border-radius:var(--vl-radius-sm, 8px)}.contact-row__icon[data-v-ebac4cd8]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-row__icon .material-symbols-outlined[data-v-ebac4cd8]{font-size:20px;font-variation-settings:"FILL" 1}.contact-row__icon--default[data-v-ebac4cd8]{background:#0068ff1a;color:var(--vl-zalo-blue, #0068FF)}.contact-row__icon--green[data-v-ebac4cd8]{background:#2ecc711f;color:var(--vl-earn, #2ECC71)}.contact-row__icon--gold[data-v-ebac4cd8]{background:#ffd70026;color:var(--vl-gold, #D4A017)}.contact-row__icon--red[data-v-ebac4cd8]{background:#e74c3c1a;color:var(--vl-red, #E74C3C)}.contact-row__icon--facebook[data-v-ebac4cd8]{background:#1877f21a;color:#1877f2}.contact-row__icon--zalo[data-v-ebac4cd8]{background:#0068ff1a;color:#0068ff}.contact-row__content[data-v-ebac4cd8]{flex:1;min-width:0}.contact-row__label[data-v-ebac4cd8]{margin:0;font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:500;color:var(--vl-text-primary, #333)}.contact-row__detail[data-v-ebac4cd8]{margin:2px 0 0;font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-small, .75rem);color:var(--vl-text-secondary, #757575)}.contact-row__chevron[data-v-ebac4cd8]{color:var(--vl-text-secondary, #757575);font-size:20px}.contact-row__btn[data-v-ebac4cd8]{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:14px;background:var(--vl-earn, #2ECC71);color:#fff;font-size:var(--vl-text-small, .75rem);font-weight:600}.contact-row__badge[data-v-ebac4cd8]{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;background:var(--vl-surface-container, #f0eded);color:var(--vl-text-secondary, #757575);font-size:var(--vl-text-tiny, .625rem);font-weight:500}.consent-checkbox[data-v-85d423ce]{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--vl-radius-sm, 8px);border:1px solid var(--vl-surface-container, #e0e0e0);background:var(--vl-surface-card, #fff);cursor:pointer;transition:border-color .15s,background .15s;position:relative}.consent-checkbox[data-v-85d423ce]:active{background:var(--vl-surface-container-lo, #F6F3F2)}.consent-checkbox__box[data-v-85d423ce]{width:24px;height:24px;border-radius:6px;border:2px solid var(--vl-surface-container-hi, #d0d0d0);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;margin-top:1px}.consent-checkbox__box--checked[data-v-85d423ce]{background:var(--vl-earn, #2ECC71);border-color:var(--vl-earn, #2ECC71)}.consent-checkbox__check[data-v-85d423ce]{font-size:16px;color:#fff;font-variation-settings:"FILL" 1}.consent-checkbox__content[data-v-85d423ce]{flex:1;min-width:0}.consent-checkbox__header[data-v-85d423ce]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.consent-checkbox__label[data-v-85d423ce]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:600;color:var(--vl-text-primary, #333)}.consent-checkbox__badge[data-v-85d423ce]{font-size:var(--vl-text-tiny, .625rem);font-weight:600;padding:2px 8px;border-radius:9999px;line-height:1.4}.consent-checkbox__badge--required[data-v-85d423ce]{background:#2ecc711f;color:var(--vl-earn, #2ECC71)}.consent-checkbox__badge--optional[data-v-85d423ce]{background:var(--vl-surface-container, #f0eded);color:var(--vl-text-secondary, #757575)}.consent-checkbox__desc[data-v-85d423ce]{margin:4px 0 0;font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-small, .75rem);color:var(--vl-text-secondary, #757575);line-height:1.4}.consent-checkbox[data-v-85d423ce]:focus-within{outline:2px solid var(--vl-zalo-blue, #0068FF);outline-offset:2px;border-radius:var(--vl-radius-sm, 8px)}.consent-checkbox__input[data-v-85d423ce]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.transaction-item[data-v-239e9d34]{display:flex;align-items:stretch;gap:12px;padding:12px 0;border-bottom:1px solid var(--vl-surface-container, #f0eded)}.transaction-item[data-v-239e9d34]:last-child{border-bottom:none}.transaction-item__indicator[data-v-239e9d34]{width:3px;border-radius:2px;flex-shrink:0}.transaction-item--earn .transaction-item__indicator[data-v-239e9d34]{background:var(--vl-earn, #2ECC71)}.transaction-item--redeem .transaction-item__indicator[data-v-239e9d34]{background:var(--vl-red, #E74C3C)}.transaction-item--adjust .transaction-item__indicator[data-v-239e9d34]{background:var(--vl-zalo-blue, #0068FF)}.transaction-item__content[data-v-239e9d34]{flex:1;min-width:0}.transaction-item__top[data-v-239e9d34]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.transaction-item__label[data-v-239e9d34]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:500;color:var(--vl-text-primary, #333)}.transaction-item__points[data-v-239e9d34]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-body, .875rem);font-weight:700}.transaction-item__points--earn[data-v-239e9d34]{color:var(--vl-earn, #2ECC71)}.transaction-item__points--redeem[data-v-239e9d34]{color:var(--vl-red, #E74C3C)}.transaction-item__bottom[data-v-239e9d34]{display:flex;flex-direction:column;gap:2px}.transaction-item__note[data-v-239e9d34]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-small, .75rem);color:var(--vl-text-secondary, #757575)}.transaction-item__date[data-v-239e9d34]{font-family:var(--vl-font, "Inter", sans-serif);font-size:var(--vl-text-tiny, .625rem);color:var(--vl-text-subtle, #999)}.bottom-nav[data-v-2e3bedef]{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:space-around;align-items:center;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);height:72px;background:var(--vl-surface-card, #fff);border-top:1px solid var(--vl-surface-container, #e0e0e0);box-shadow:0 -2px 4px #0000000d;max-width:var(--vl-max-width, 480px);margin:0 auto}.bottom-nav__tab[data-v-2e3bedef]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;border:none;background:none;cursor:pointer;position:relative;transition:transform .15s;color:var(--vl-text-secondary, #757575);font-family:var(--vl-font, "Inter", sans-serif)}.bottom-nav__tab[data-v-2e3bedef]:active{transform:scale(.9)}.bottom-nav__tab--active[data-v-2e3bedef]{color:var(--vl-zalo-blue, #0068FF);font-weight:700}.bottom-nav__icon[data-v-2e3bedef]{font-size:24px;margin-bottom:2px}.bottom-nav__label[data-v-2e3bedef]{font-size:var(--vl-text-tiny, .625rem);font-weight:500}.bottom-nav__badge[data-v-2e3bedef]{position:absolute;top:6px;right:50%;transform:translate(16px);width:8px;height:8px;border-radius:50%;background:var(--vl-red, #E74C3C)}.bottom-nav__fab[data-v-2e3bedef]{width:48px;height:48px;border-radius:50%;background:var(--vl-zalo-blue, #0068FF);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:-18px;box-shadow:0 4px 12px #0068ff59;border:4px solid var(--vl-surface-card, #fff)}.bottom-nav__fab .material-symbols-outlined[data-v-2e3bedef]{font-size:24px}.earn[data-v-c3cfa91c]{min-height:100vh;background:var(--vl-surface-bg, #f8f9fa);display:flex;flex-direction:column}.earn__amount[data-v-c3cfa91c]{flex:1;display:flex;flex-direction:column}.earn__amount-header[data-v-c3cfa91c]{padding:16px}.earn__back[data-v-c3cfa91c]{background:none;border:none;color:var(--vl-zalo-blue, #0068ff);font-size:.875rem;cursor:pointer;font-family:inherit;padding:8px 0;min-height:var(--vl-touch-min, 44px);display:inline-flex;align-items:center}.earn__back[data-v-c3cfa91c]:hover{filter:brightness(.85)}.earn__amount-body[data-v-c3cfa91c]{flex:1;padding:16px;display:flex;flex-direction:column;gap:16px}.earn__amount-title[data-v-c3cfa91c]{font-size:var(--vl-text-body, .875rem);font-weight:600;margin:0;color:var(--vl-text-primary, #333333)}.earn__quick-select[data-v-c3cfa91c]{display:flex;flex-wrap:wrap;gap:10px}.earn__chip[data-v-c3cfa91c]{padding:12px 20px;min-height:var(--vl-touch-min, 44px);border:2px solid var(--vl-surface-variant, #ddd);border-radius:var(--vl-radius-md, 12px);background:var(--vl-surface-card, #ffffff);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .15s;color:var(--vl-text-primary, #333333);font-family:inherit}.earn__chip[data-v-c3cfa91c]:hover{border-color:var(--vl-earn, #2ecc71)}.earn__chip--active[data-v-c3cfa91c]{border-color:var(--vl-earn, #2ecc71);background:#2ecc711f;color:var(--vl-earn, #2ecc71)}.earn__custom input[data-v-c3cfa91c]{width:100%;padding:12px;min-height:var(--vl-touch-min, 44px);border:1px solid var(--vl-surface-variant, #ddd);border-radius:var(--vl-radius-sm, 8px);font-size:1rem;text-align:center;background:var(--vl-surface-card, #ffffff);color:var(--vl-text-primary, #333333);box-sizing:border-box;font-family:inherit}.earn__custom input[data-v-c3cfa91c]:focus{border-color:var(--vl-earn, #2ecc71);outline:none;box-shadow:0 0 0 3px #2ecc7126}.earn__submit[data-v-c3cfa91c]{background:var(--vl-earn, #2ecc71);color:var(--vl-text-on-primary, #ffffff);border:none;padding:14px;min-height:48px;border-radius:var(--vl-radius-sm, 8px);font-size:1rem;font-weight:600;cursor:pointer;margin-top:auto;font-family:inherit;transition:filter .2s,transform .15s}.earn__submit[data-v-c3cfa91c]:hover{filter:brightness(.9)}.earn__submit[data-v-c3cfa91c]:active{transform:scale(.98)}.earn__submit[data-v-c3cfa91c]:disabled{background:var(--vl-surface-container, #e0e0e0);color:var(--vl-text-secondary, #757575);cursor:default;filter:none}.earn__processing[data-v-c3cfa91c]{flex:1;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--vl-earn, #2ecc71);font-weight:500}.earn__result[data-v-c3cfa91c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px}.earn__result-icon[data-v-c3cfa91c]{font-size:64px;color:var(--vl-earn, #2ecc71)}.earn__result-msg[data-v-c3cfa91c]{font-size:var(--vl-text-title, 1.25rem);font-weight:600;color:var(--vl-earn, #2ecc71);text-align:center;margin:0}.earn__result-error[data-v-c3cfa91c]{color:var(--vl-status-error, #e74c3c);font-size:.875rem;text-align:center;margin:0}.earn__done[data-v-c3cfa91c]{background:var(--vl-earn, #2ecc71);color:var(--vl-text-on-primary, #ffffff);border:none;padding:12px 32px;min-height:48px;border-radius:var(--vl-radius-sm, 8px);font-size:1rem;cursor:pointer;font-family:inherit;transition:filter .2s}.earn__done[data-v-c3cfa91c]:hover{filter:brightness(.9)}.redeem[data-v-240494fd]{min-height:100vh;background:var(--vl-surface-bg, #f8f9fa);display:flex;flex-direction:column}.redeem__rewards[data-v-240494fd]{flex:1;display:flex;flex-direction:column}.redeem__rewards-header[data-v-240494fd]{padding:16px}.redeem__back[data-v-240494fd]{background:none;border:none;color:var(--vl-zalo-blue, #0068ff);font-size:.875rem;cursor:pointer;font-family:inherit;padding:8px 0;min-height:var(--vl-touch-min, 44px);display:inline-flex;align-items:center}.redeem__back[data-v-240494fd]:hover{filter:brightness(.85)}.redeem__rewards-body[data-v-240494fd]{flex:1;padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.redeem__rewards-title[data-v-240494fd]{font-size:var(--vl-text-body, .875rem);font-weight:600;margin:0;color:var(--vl-text-primary, #333333)}.redeem__points[data-v-240494fd]{font-size:.8125rem;color:var(--vl-text-secondary, #757575);margin:0}.redeem__empty[data-v-240494fd]{text-align:center;color:var(--vl-text-secondary, #757575);padding:32px}.redeem__reward-card[data-v-240494fd]{display:flex;justify-content:space-between;align-items:center;background:var(--vl-surface-card, #ffffff);padding:16px;border-radius:var(--vl-radius-md, 12px);cursor:pointer;box-shadow:var(--vl-shadow-sm, 0 1px 4px rgba(51, 51, 51, .05));border:2px solid transparent;transition:border-color .15s,transform .15s;min-height:var(--vl-touch-min, 44px)}.redeem__reward-card[data-v-240494fd]:hover{border-color:var(--vl-redeem, #ffd700);transform:translateY(-1px)}.redeem__reward-card[data-v-240494fd]:active{transform:scale(.99)}.redeem__reward-name[data-v-240494fd]{font-weight:600;margin:0;font-size:.9375rem;color:var(--vl-text-primary, #333333)}.redeem__reward-desc[data-v-240494fd]{font-size:.75rem;color:var(--vl-text-secondary, #757575);margin:2px 0 0}.redeem__reward-cost[data-v-240494fd]{background:#ffd70033;color:var(--vl-primary, #705d00);padding:4px 10px;border-radius:var(--vl-radius-md, 12px);font-size:.8125rem;font-weight:600;white-space:nowrap}.redeem__confirm[data-v-240494fd]{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.redeem__confirm-card[data-v-240494fd]{max-width:320px;width:100%;background:var(--vl-surface-card, #ffffff);border-radius:var(--vl-radius-card, 16px);padding:24px;box-shadow:var(--vl-shadow-card, 0 2px 12px rgba(0, 0, 0, .08));display:flex;flex-direction:column;gap:12px}.redeem__confirm-card h3[data-v-240494fd]{margin:0;text-align:center;color:var(--vl-text-primary, #333333)}.redeem__confirm-item[data-v-240494fd]{font-size:var(--vl-text-title, 1.25rem);font-weight:600;text-align:center;margin:0;color:var(--vl-text-primary, #333333)}.redeem__confirm-cost[data-v-240494fd]{text-align:center;color:var(--vl-text-secondary, #757575);margin:0}.redeem__confirm-after[data-v-240494fd]{text-align:center;color:var(--vl-text-primary, #333333);margin:0}.redeem__guard[data-v-240494fd]{background:#f59e0b26;color:var(--vl-redeem, #f59e0b);padding:10px;border-radius:var(--vl-radius-sm, 8px);font-weight:700;font-size:.75rem;text-align:center;border:2px solid var(--vl-redeem, #f59e0b)}.redeem__guard--offline[data-v-240494fd]{background:#e74c3c1f;color:var(--vl-status-error, #e74c3c);border-color:var(--vl-status-error, #e74c3c)}.redeem__confirm-btn[data-v-240494fd]{background:var(--vl-redeem, #ffd700);color:var(--vl-on-primary, #544600);border:none;padding:14px;min-height:var(--vl-touch-min, 44px);border-radius:var(--vl-radius-sm, 8px);font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit;transition:filter .2s,transform .15s}.redeem__confirm-btn[data-v-240494fd]:hover{filter:brightness(.92)}.redeem__confirm-btn[data-v-240494fd]:active{transform:scale(.98)}.redeem__confirm-btn[data-v-240494fd]:disabled{background:var(--vl-surface-container, #e0e0e0);color:var(--vl-text-secondary, #757575);cursor:default;filter:none}.redeem__cancel-btn[data-v-240494fd]{background:none;border:1px solid var(--vl-surface-variant, #ddd);padding:10px;min-height:var(--vl-touch-min, 44px);border-radius:var(--vl-radius-sm, 8px);font-size:.875rem;cursor:pointer;color:var(--vl-text-secondary, #757575);font-family:inherit}.redeem__cancel-btn[data-v-240494fd]:hover{border-color:var(--vl-zalo-blue, #0068ff);color:var(--vl-zalo-blue, #0068ff)}.redeem__processing[data-v-240494fd]{flex:1;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--vl-redeem, #ffd700);font-weight:500}.redeem__result[data-v-240494fd]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px}.redeem__result-icon[data-v-240494fd]{font-size:64px;color:var(--vl-redeem, #ffd700)}.redeem__result-msg[data-v-240494fd]{font-size:var(--vl-text-title, 1.25rem);font-weight:600;color:var(--vl-earn, #2ecc71);text-align:center;margin:0}.redeem__result-error[data-v-240494fd]{color:var(--vl-status-error, #e74c3c);font-size:.875rem;text-align:center;margin:0}.redeem__done[data-v-240494fd]{background:var(--vl-redeem, #ffd700);color:var(--vl-on-primary, #544600);border:none;padding:12px 32px;min-height:48px;border-radius:var(--vl-radius-sm, 8px);font-size:1rem;cursor:pointer;font-family:inherit;transition:filter .2s}.redeem__done[data-v-240494fd]:hover{filter:brightness(.92)}:root{--clr-brand: oklch(38% .11 215);--clr-brand-hover: oklch(32% .11 215);--clr-brand-light: oklch(94% .04 215);--clr-brand-mid: oklch(55% .1 215);--clr-accent: oklch(72% .17 62);--clr-accent-light: oklch(95% .05 62);--clr-success: oklch(60% .15 155);--clr-success-light: oklch(95% .04 155);--clr-warning: oklch(78% .16 82);--clr-warning-light: oklch(96% .04 82);--clr-danger: oklch(58% .2 25);--clr-danger-light: oklch(96% .04 25);--clr-bg: oklch(96.5% .01 215);--clr-surface: oklch(100% 0 0);--clr-surface-2: oklch(98% .01 215);--clr-border: oklch(90% .02 215);--clr-border-strong: oklch(80% .03 215);--clr-text: oklch(18% .03 215);--clr-text-muted: oklch(50% .04 215);--clr-text-subtle: oklch(70% .03 215);--clr-text-on-brand: oklch(100% 0 0);--clr-tier-member: oklch(70% .03 215);--clr-tier-silver: oklch(65% .04 215);--clr-tier-gold: oklch(72% .17 62);--clr-tier-diamond: oklch(65% .18 285);--font-sans: "Inter", "Roboto", "Segoe UI", -apple-system, system-ui, "Helvetica Neue", Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.25rem, 2vw, 1.5rem);--text-2xl: clamp(1.5rem, 3vw, 1.875rem);--text-3xl: clamp(1.75rem, 4vw, 2.25rem);--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .875rem;--radius-xl: 1.25rem;--radius-2xl: 1.75rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px oklch(0% 0 0 / .05);--shadow-sm: 0 1px 4px oklch(0% 0 0 / .07), 0 1px 2px oklch(0% 0 0 / .04);--shadow-md: 0 4px 12px oklch(0% 0 0 / .09), 0 2px 4px oklch(0% 0 0 / .05);--shadow-lg: 0 8px 28px oklch(0% 0 0 / .11), 0 4px 8px oklch(0% 0 0 / .06);--shadow-xl: 0 16px 48px oklch(0% 0 0 / .14), 0 6px 12px oklch(0% 0 0 / .07);--shadow-brand: 0 4px 14px oklch(38% .11 215 / .3);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--dur-fast: .12s;--dur-normal: .22s;--dur-slow: .38s;--sidebar-w: 260px;--header-h: 60px;--content-max: 1100px;--vl-gold: #ffd700;--vl-zalo-blue: var(--clr-brand);--vl-green: var(--clr-success);--vl-charcoal: #333333;--vl-red: var(--clr-danger);--vl-earn: var(--clr-success);--vl-earn-light: var(--clr-success-light);--vl-redeem: #ffd700;--vl-redeem-light: rgba(255, 215, 0, .15);--vl-brand: var(--clr-brand);--vl-brand-light: var(--clr-brand-light);--vl-surface-card: var(--clr-surface);--vl-surface-bg: #f8f9fa;--vl-surface-container: #f0eded;--vl-surface-container-lo: #f6f3f2;--vl-surface-container-hi: #eae8e7;--vl-surface-overlay: rgba(51, 51, 51, .4);--vl-text-primary: var(--vl-charcoal);--vl-text-secondary: #757575;--vl-text-on-primary: var(--clr-text-on-brand);--vl-text-link: var(--clr-brand);--vl-shadow-card: 0 2px 12px rgba(51, 51, 51, .08);--vl-shadow-sm: 0 1px 4px rgba(51, 51, 51, .05);--vl-shadow-lg: 0 12px 24px -4px rgba(51, 51, 51, .1);--vl-shadow-earn: 0 4px 14px rgba(46, 204, 113, .25);--vl-shadow-redeem: 0 4px 14px rgba(255, 215, 0, .25);--vl-radius-card: 16px;--vl-radius-md: 12px;--vl-radius-sm: 8px;--vl-radius-badge: 9999px;--vl-font: "Inter", -apple-system, system-ui, sans-serif;--vl-text-title: 1.25rem;--vl-text-body: .875rem;--vl-text-small: .75rem;--vl-text-tiny: .625rem;--vl-text-hero: clamp(2rem, 5vw, 2.5rem);--vl-touch-min: 44px;--vl-margin: 16px;--vl-gutter: 12px;--vl-max-width: 480px}:root{font-family:var( --vl-font, "Inter", -apple-system, BlinkMacSystemFont, sans-serif );-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100dvh;background:var(--vl-surface-bg, #f8f9fa);color:var(--vl-text-primary, #333333)}#app{max-width:var(--vl-max-width, 480px);margin:0 auto;min-height:100dvh;background:var(--vl-surface-card, #ffffff);box-shadow:var(--vl-shadow-lg, 0 12px 24px -4px rgba(51, 51, 51, .1))}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}button:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:2px solid var(--vl-zalo-blue, #0068ff);outline-offset:2px}
