@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";.floating-zalo{z-index:9999;cursor:pointer;background:#0068ff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;text-decoration:none;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 4px 15px #0068ff66}.floating-zalo:hover{transform:scale(1.1)translateY(-4px)}.zalo-text{color:#fff;z-index:2;letter-spacing:-.5px;font-family:sans-serif;font-size:18px;font-weight:800}.zalo-pulse{z-index:1;background:#0068ff;border-radius:50%;width:100%;height:100%;animation:2s cubic-bezier(.2,.8,.2,1) infinite zaloPulse;position:absolute;top:0;left:0}@keyframes zaloPulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@media (width<=768px){.floating-zalo{width:48px;height:48px;bottom:calc(60px + env(safe-area-inset-bottom,0px) + 12px);right:14px}.zalo-text{font-size:13px}}.live-comment-toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-fern);border-radius:var(--radius-lg);z-index:9998;opacity:0;background:#0f172ae6;align-items:flex-start;gap:12px;max-width:300px;padding:12px 16px;transition:all .5s cubic-bezier(.68,-.55,.265,1.55);display:flex;position:fixed;bottom:20px;left:20px;transform:translate(-150%);box-shadow:0 10px 25px #00000080,0 0 15px #7fee641a}.live-comment-toast.show{opacity:1;transform:translate(0)}.live-comment-toast.hide{opacity:0;transform:translateY(20px)}.live-comment-icon{background:linear-gradient(135deg, var(--color-reactor-green), #22c55e);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 0 10px #7fee6466}.live-comment-content{flex-direction:column;gap:4px;display:flex}.live-comment-name{color:var(--color-phosphor-mint);font-size:11px;font-weight:700}.live-comment-name span{color:var(--color-slate);font-size:10px;font-weight:400}.live-comment-text{color:#fff;font-size:13px;font-style:italic;line-height:1.4}@media (width<=768px){.live-comment-toast{display:none}}.bottom-nav{display:none}@media (width<=768px){.bottom-nav{z-index:500;padding:8px 0 max(12px, env(safe-area-inset-bottom));background:#0d1117;border-top:1px solid #ffffff12;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:#4b5563;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px;text-decoration:none;transition:color .2s;display:flex;position:relative}.bottom-nav-item.active{color:#a78bfa}.bottom-nav-icon{justify-content:center;align-items:center;width:34px;height:28px;display:flex;position:relative}.bottom-nav-item.active .bottom-nav-icon{background:#a78bfa26;border-radius:10px}.bottom-nav-label{letter-spacing:.2px;text-align:center;font-size:10px;font-weight:600}.bottom-nav-item.active .bottom-nav-label{color:#a78bfa}.bottom-nav-item:active{transition:transform .1s;transform:scale(.92)}.page-wrapper{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}.page-transition-wrapper{will-change:transform, opacity;min-height:100vh}@keyframes ptEnterForward{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes ptEnterBack{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes ptEnterFade{0%{opacity:0}to{opacity:1}}.pt-enter-forward{animation:.28s cubic-bezier(.25,.46,.45,.94) both ptEnterForward}.pt-enter-back{animation:.28s cubic-bezier(.25,.46,.45,.94) both ptEnterBack}.pt-enter-fade{animation:.25s both ptEnterFade}@media (prefers-reduced-motion:reduce){.pt-enter-forward,.pt-enter-back,.pt-enter-fade{animation:.15s both ptEnterFade}}:root{--nebula-void:#06060d;--nebula-space:#0b0b16;--nebula-surface:#0f0f1e;--nebula-raised:#14142a;--nebula-border:#8b5cf61f;--nebula-border-glow:#8b5cf659;--nebula-blue:#2563eb;--nebula-violet:#8b5cf6;--nebula-cyan:#06b6d4;--nebula-emerald:#10b981;--nebula-rose:#f43f5e;--nebula-amber:#f59e0b;--grad-brand:linear-gradient(135deg, #2563eb 0%, #8b5cf6 100%);--grad-brand-r:linear-gradient(135deg, #8b5cf6 0%, #2563eb 100%);--grad-glow:linear-gradient(135deg, #2563ebcc 0%, #8b5cf6cc 100%);--grad-hero:linear-gradient(160deg, #06060d 0%, #0b0b1f 40%, #0d0920 100%);--grad-card-border:linear-gradient(135deg, #2563eb66, #8b5cf666);--text-white:#fff;--text-bright:#f0f0ff;--text-main:#c8c8e0;--text-muted:#6b7280;--text-dim:#4b5563;--text-accent:var(--nebula-violet);--text-price:var(--nebula-emerald);--color-aubergine:var(--text-bright);--color-aubergine-ink:var(--nebula-void);--color-fuchsia-signal:var(--nebula-blue);--color-heather:var(--text-muted);--color-glowstick:var(--nebula-amber);--color-plum-tinted:var(--nebula-border);--color-plum-border:var(--nebula-border-glow);--color-ink:var(--text-bright);--color-smoke:var(--text-dim);--color-charcoal:var(--text-main);--color-frost:var(--text-muted);--color-forest:var(--nebula-emerald);--color-mint:#10b9814d;--color-honeydew:#10b98114;--color-strawberry:var(--nebula-rose);--color-mango:var(--nebula-emerald);--color-canvas:var(--nebula-space);--color-hero-glow:var(--nebula-violet);--gradient-hero:var(--grad-hero);--color-signal-blue:var(--nebula-blue);--surface-canvas:var(--nebula-space);--surface-warm-wash:var(--nebula-surface);--surface-dark-plum:var(--nebula-void);--surface-success-wash:#10b98114;--surface-void-canvas:var(--nebula-void);--surface-carbon-surface:var(--nebula-surface);--surface-moss-surface:var(--nebula-raised);--surface-fern-surface:var(--nebula-raised);--surface-pale-mist-surface:var(--nebula-surface);--surface-page-canvas:var(--nebula-space);--surface-card-surface:var(--nebula-surface);--surface-raised-surface:var(--nebula-raised);--bg-primary:var(--nebula-void);--bg-secondary:var(--nebula-surface);--bg-card:var(--nebula-surface);--bg-glass:#ffffff08;--border-subtle:var(--nebula-border);--text-primary:var(--text-bright);--text-secondary:var(--text-main);--gradient-brand:var(--grad-brand);--accent-green:var(--nebula-emerald);--accent-red:var(--nebula-rose);--accent-gold:var(--nebula-amber);--transition-fast:.15s ease;--font-goga:"Inter", ui-sans-serif, system-ui, sans-serif;--font-inter-variable:"Inter", ui-sans-serif, system-ui, sans-serif;--font-display:"Inter", ui-sans-serif, system-ui, sans-serif;--font-jetbrains-mono:"JetBrains Mono", ui-monospace, monospace;--font-permanent-marker:"Inter", cursive;--text-micro:clamp(9px, 2.5vw, 10px);--text-caption:clamp(11px, 3vw, 12px);--text-body-sm:clamp(13px, 3.5vw, 14px);--text-body:clamp(14px, 4vw, 16px);--text-subheading:clamp(16px, 4.5vw, 20px);--text-heading-sm:clamp(20px, 5vw, 24px);--text-heading:clamp(26px, 6vw, 36px);--text-heading-lg:clamp(32px, 7vw, 56px);--text-display:clamp(40px, 8vw, 80px);--leading-micro:1.4;--leading-caption:1.5;--leading-body-sm:1.5;--leading-body:1.5;--leading-subheading:1.4;--leading-heading-sm:1.2;--leading-heading:1.2;--leading-heading-lg:1.1;--leading-display:1;--tracking-micro:-.2px;--tracking-caption:-.16px;--tracking-body-sm:-.14px;--tracking-body:-.16px;--tracking-subheading:-.16px;--tracking-heading-sm:-.1px;--tracking-heading:-.14px;--tracking-heading-lg:-1.12px;--tracking-display:-1.6px;--touch-target:44px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-4:4px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--spacing-32:32px;--spacing-36:36px;--spacing-40:40px;--spacing-48:48px;--spacing-56:56px;--spacing-60:60px;--spacing-64:64px;--spacing-80:80px;--spacing-96:96px;--spacing-100:100px;--spacing-120:120px;--spacing-128:128px;--page-max-width:1200px;--section-gap:80px;--card-padding:20px;--element-gap:16px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:999px;--radius-cards:16px;--radius-pills:999px;--radius-buttons:10px;--radius-inputs:10px;--radius-images:12px;--radius-badges:999px;--radius-links:8px;--shadow-glow-blue:0 0 24px #2563eb40;--shadow-glow-violet:0 0 24px #8b5cf640;--shadow-card:0 4px 24px #0006, 0 1px 4px #0000004d;--shadow-card-hover:0 8px 40px #00000080, 0 0 0 1px #8b5cf64d;--shadow-btn:0 4px 16px #2563eb66;--shadow-btn-hover:0 6px 24px #2563eb99;--shadow-md:var(--shadow-card);--shadow-subtle:var(--shadow-card);--shadow-subtle-2:0 1px 4px #0000004d;--shadow-subtle-3:#8b5cf614 0 0 0 1px;--shadow-subtle-4:#2563eb26 0 0 0 1px inset;--shadow-subtle-5:var(--shadow-card);--shadow-subtle-6:var(--shadow-card);--shadow-subtle-7:var(--shadow-card);--shadow-subtle-8:#8b5cf61a 0 0 0 1px;--shadow-subtle-9:#8b5cf614 0 0 0 1px;--shadow-subtle-10:#ffffff0a 0 0 0 1px;--shadow-subtle-11:0 2px 8px #0006;--shadow-subtle-12:var(--shadow-card);--color-phosphor-mint:var(--text-bright);--color-reactor-green:var(--nebula-violet);--color-soft-glow:var(--text-muted);--color-pale-mist:var(--text-muted);--color-sage-tint:var(--text-dim);--color-void:var(--nebula-void);--color-carbon:var(--nebula-surface);--color-moss:var(--nebula-raised);--color-fern:var(--nebula-border);--color-lichen:var(--text-muted);--color-slate:var(--text-muted);--color-stone:var(--text-muted);--color-bone:var(--text-bright)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-inter-variable);background:var(--nebula-space);color:var(--text-bright);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#2563eb0f 0%,#8b5cf60a 40%,#0000 70%);width:80vw;height:60vh;position:fixed;top:-20vh;left:50%;transform:translate(-50%)}@keyframes pageSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-wrapper{animation:.4s cubic-bezier(.2,.8,.2,1) forwards pageSlideUp}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;transition:transform .15s,background .2s,border-color .2s,color .2s,box-shadow .2s}button:active{transform:scale(.97)}input,textarea,select{outline:none;font-family:inherit}img{max-width:100%;display:block}ul{list-style:none}h1,h2,h3,h4,h5,h6{color:var(--text-white);font-family:var(--font-inter-variable);font-weight:var(--font-weight-bold);letter-spacing:-.02em}h1{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}h2{font-size:var(--text-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.btn-primary{justify-content:center;align-items:center;gap:var(--spacing-8);border-radius:var(--radius-buttons);font-family:var(--font-inter-variable);font-size:var(--text-body);font-weight:var(--font-weight-semibold);background:var(--grad-brand);color:#fff;box-shadow:var(--shadow-btn);border:none;padding:13px 24px;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:#fff0;transition:background .2s;position:absolute;inset:0}.btn-primary:hover:before{background:#ffffff14}.btn-primary:hover{box-shadow:var(--shadow-btn-hover);transform:translateY(-1px)}.btn-secondary{justify-content:center;align-items:center;gap:var(--spacing-8);border-radius:var(--radius-buttons);font-family:var(--font-inter-variable);font-size:var(--text-body);font-weight:var(--font-weight-medium);color:var(--text-bright);border:1px solid var(--nebula-border-glow);background:0 0;padding:12px 24px;transition:all .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--nebula-violet);background:#8b5cf60f}.btn-ghost{justify-content:center;align-items:center;gap:var(--spacing-8);border-radius:var(--radius-buttons);font-family:var(--font-inter-variable);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);color:var(--text-main);border:1px solid var(--nebula-border);background:0 0;padding:11px 20px;transition:all .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--nebula-border-glow);color:var(--text-bright);background:#ffffff08}.text-muted{color:var(--text-muted)}.container{max-width:var(--page-max-width);padding:0 var(--spacing-20);margin:0 auto}.eyebrow{font-family:var(--font-jetbrains-mono);font-size:var(--text-caption);letter-spacing:.12em;color:var(--nebula-violet);text-transform:uppercase;font-weight:400}.badge-success{color:var(--nebula-emerald);border-radius:var(--radius-badges);font-size:var(--text-caption);font-weight:var(--font-weight-medium);background:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:4px;padding:4px 12px;display:inline-flex}.gradient-border{background:var(--nebula-surface);border-radius:var(--radius-cards);position:relative}.gradient-border:before{content:"";border-radius:inherit;background:var(--grad-card-border);-webkit-mask-composite:xor;opacity:0;padding:1px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.gradient-border:hover:before{opacity:1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--nebula-void)}::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8b5cf680}@media (width<=768px){h1{font-size:var(--text-heading)}h2{font-size:var(--text-heading-sm)}}.animate-fade-in-up,.animate-slide-left,.animate-slide-right,.hover-lift,.product-card,.order-card,.live-comment-toast,.modal-box,.scan-box,.scanner-line{will-change:transform, opacity}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-fade-in-up{animation:.5s both fadeInUp}.animate-slide-left{animation:.5s both slideLeft}.animate-slide-right{animation:.5s both slideRight}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){.desktop-only{display:none!important}.header-pill,.order-card,.scan-right,.modal-box,.face-scan-main .scan-right{-webkit-backdrop-filter:blur(6px)!important}.product-card{transition:box-shadow .2s!important;transform:none!important}.product-card:hover{transform:translateY(-4px)!important}button,a,[role=button],input[type=submit],input[type=button]{min-width:44px;min-height:44px}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:15px;line-height:1.6}}img,video,iframe{max-width:100%;height:auto}.product-card-img{aspect-ratio:4/3;object-fit:cover;width:100%}.order-img-box img{aspect-ratio:3/2;object-fit:cover;width:100%}html{scroll-behavior:smooth;overscroll-behavior-y:contain}.orders-list,.product-grid,.table-responsive{-webkit-overflow-scrolling:touch}@font-face{font-display:swap}html,body{max-width:100vw;overflow-x:hidden}button,a,input,select,textarea{touch-action:manipulation}html{height:-webkit-fill-available}body{min-height:-webkit-fill-available}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-tap-highlight-color:transparent}.page-wrapper{background:var(--nebula-space);min-height:100dvh;padding-top:80px;overflow-x:hidden}.page-wrapper.detail-page-dark{padding-top:76px}section{position:relative}.animate-fade-in-up{opacity:0;animation:.4s cubic-bezier(.2,.8,.2,1) forwards fadeInUp}@media (width<=767px){.page-wrapper{padding-top:68px;padding-bottom:72px}.page-wrapper.detail-page-dark{padding-top:68px;padding-bottom:80px}}@supports (padding:env(safe-area-inset-bottom)){@media (width<=767px){.page-wrapper{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}}.desktop-only{display:block}@media (width<=768px){.desktop-only{display:none!important}}.hide-on-mobile{display:flex}@media (width<=768px){.hide-on-mobile{display:none!important}}@media (width<=767px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],textarea,select{font-size:16px!important}}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.status-message{border-radius:12px;align-items:center;gap:10px;margin:16px 0;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.status-message.success{color:var(--nebula-emerald);background:#10b9811f;border:1px solid #10b9814d}.status-message.error{color:var(--nebula-rose);background:#f43f5e1f;border:1px solid #f43f5e4d}.admin-layout-wrapper{overflow-x:hidden}.overflow-scroll-touch{-webkit-overflow-scrolling:touch;overflow-y:scroll}.particles-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.particle{background:#8b5cf680;border-radius:50%;width:2px;height:2px;animation:8s linear infinite particleFloat;position:absolute}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh)translate(0)}10%{opacity:1}90%{opacity:.5}to{opacity:0;transform:translateY(-20px)translate(40px)}}.particle:first-child{animation-duration:10s;animation-delay:0s;left:10%}.particle:nth-child(2){animation-duration:8s;animation-delay:1.5s;left:25%}.particle:nth-child(3){animation-duration:12s;animation-delay:3s;left:40%}.particle:nth-child(4){animation-duration:9s;animation-delay:4.5s;left:55%}.particle:nth-child(5){animation-duration:11s;animation-delay:.8s;left:70%}.particle:nth-child(6){animation-duration:7s;animation-delay:2.2s;left:82%}.particle:nth-child(7){animation-duration:13s;animation-delay:3.7s;left:15%}.particle:nth-child(8){animation-duration:9s;animation-delay:1s;left:90%}@media (width<=768px){.particles-bg{display:none}}img[loading=lazy]{background:var(--nebula-surface)}@media (width<=767px){.product-categories,.topup-tabs,.overflow-x-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}}@keyframes ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";pointer-events:none;background:#ffffff4d;border-radius:50%;width:60px;height:60px;animation:.6s ease-out ripple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--nebula-surface) 25%, var(--nebula-raised) 50%, var(--nebula-surface) 75%);background-size:800px 100%;border-radius:8px;animation:1.5s ease-in-out infinite shimmer}
