:root{--bg0:#f7f8ff;--bg1:#eef2ff;--card:#ffffff;--text:#0b1220;--muted:#5b6b84;--border:#e6eaf2;--shadow:0 18px 50px rgba(15,23,42,.12);--shadow2:0 10px 28px rgba(15,23,42,.10);--primary:#4f46e5;--primary2:#06b6d4;--ring:rgba(79,70,229,.16);--glass:rgba(255,255,255,.72)}
*{box-sizing:border-box}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;margin:0;color:var(--text);background:radial-gradient(1200px 800px at 10% -10%,rgba(79,70,229,.16),transparent 60%),radial-gradient(1000px 700px at 90% 0%,rgba(6,182,212,.14),transparent 55%),radial-gradient(900px 700px at 60% 110%,rgba(236,72,153,.10),transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1));min-height:100vh}
a{color:inherit;text-decoration:none}

.noise{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;mix-blend-mode:multiply;background-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2296%22 height=%2296%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.8%22 numOctaves=%224%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%2296%22 height=%2296%22 filter=%22url(%23n)%22 opacity=%220.65%22/%3E%3C/svg%3E')}

.bgfx{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.bgParticles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.55;mix-blend-mode:normal}
.blob{position:absolute;width:520px;height:520px;border-radius:999px;filter:blur(48px);opacity:.22;mix-blend-mode:multiply;animation:float 10s ease-in-out infinite}
.blob.b1{left:-140px;top:-160px;background:radial-gradient(circle at 30% 30%,rgba(79,70,229,.65),transparent 60%)}
.blob.b2{right:-180px;bottom:-200px;background:radial-gradient(circle at 40% 40%,rgba(6,182,212,.55),transparent 60%);animation-duration:12s}
@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,24px,0)}}

.container{max-width:1240px;margin:0 auto;padding:18px;position:relative;z-index:1}
.container.wide{max-width:1760px}
.container.full{max-width:none;padding:0}

.nav{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(2,6,23,.08);background:var(--glass);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.nav:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgba(79,70,229,.0),rgba(79,70,229,.45),rgba(6,182,212,.40),rgba(236,72,153,.22),rgba(79,70,229,.0))}
.nav-inner{max-width:1760px;margin:0 auto;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.brand{font-weight:900;letter-spacing:.2px}
.brand a{display:inline-flex;align-items:center;gap:10px}
.brand-dot{width:10px;height:10px;border-radius:99px;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 10px 20px rgba(79,70,229,.18)}
.brand a{position:relative}
.brand a:after{content:"";position:absolute;inset:-10px -14px;border-radius:999px;background:radial-gradient(circle at 30% 30%,rgba(79,70,229,.18),transparent 60%);opacity:.0;transition:opacity .18s ease}
.brand a:hover:after{opacity:1}

.nav-left{display:flex;align-items:center;gap:14px;min-width:0}
.nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav-link{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid transparent;color:rgba(15,23,42,.85);transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.nav-link:hover{background:rgba(15,23,42,.04);border-color:rgba(2,6,23,.06);transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.06)}
.nav-link.active{background:linear-gradient(135deg,rgba(79,70,229,.12),rgba(6,182,212,.10));border-color:rgba(79,70,229,.22);box-shadow:0 12px 24px rgba(79,70,229,.10)}
.nav-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

.userMenu{position:relative}
.userBtn{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border-radius:999px;border:1px solid rgba(2,6,23,.08);background:rgba(255,255,255,.88);box-shadow:0 10px 20px rgba(15,23,42,.06);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.userBtn:hover{transform:translateY(-1px);box-shadow:var(--shadow2)}
.avatar{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-weight:900;font-size:12px;color:#0b1220;background:linear-gradient(135deg,rgba(79,70,229,.18),rgba(6,182,212,.14));border:1px solid rgba(2,6,23,.08)}
.userName{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900;color:rgba(15,23,42,.9)}
.caret{font-weight:900;color:rgba(15,23,42,.7)}

.menuPop{position:absolute;right:0;top:calc(100% + 10px);width:min(92vw,320px);border-radius:16px;border:1px solid rgba(2,6,23,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(15,23,42,.22);padding:10px;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.menuPop.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.menuHead{padding:10px;border-radius:14px;border:1px solid rgba(2,6,23,.08);background:rgba(2,6,23,.03)}
.menuHead .n{font-weight:900}
.menuHead .e{color:var(--muted);font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menuList{display:grid;gap:6px;margin-top:10px}
.menuItem{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px;border-radius:12px;border:1px solid transparent;background:transparent;transition:background .15s ease,border-color .15s ease}
.menuItem:hover{background:rgba(15,23,42,.04);border-color:rgba(2,6,23,.06)}
.menuItem .t{font-weight:800}
.menuItem .d{color:var(--muted);font-size:12px}
.menuDivider{height:1px;background:rgba(2,6,23,.08);margin:8px 0}

.navToggle{display:none}
.mobilePanel{display:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.9);border:1px solid var(--border);box-shadow:0 10px 20px rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;color:var(--text);position:relative;overflow:hidden}
.btn:before{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-30%) rotate(8deg);opacity:0;transition:opacity .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow2)}
.btn:hover:before{opacity:1;animation:shine 1.15s ease}
.btn:active{transform:translateY(0);box-shadow:0 6px 16px rgba(15,23,42,.10)}
.btn.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 16px 30px rgba(79,70,229,.22)}
.btn.primary:hover{box-shadow:0 18px 36px rgba(79,70,229,.28)}
.btn.ghost{background:transparent;box-shadow:none}
.btn.ghost:hover{background:rgba(15,23,42,.04);box-shadow:none}

@keyframes shine{0%{transform:translateX(-60%) rotate(8deg)}100%{transform:translateX(80%) rotate(8deg)}}

.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.card{border:1px solid rgba(2,6,23,.08);background:rgba(255,255,255,.86);border-radius:16px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.06);backdrop-filter:blur(6px);transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow2)}
.muted{color:var(--muted)}

.flash{border-radius:14px;padding:12px 14px;margin:14px 0;border:1px solid rgba(2,6,23,.08);box-shadow:0 8px 18px rgba(15,23,42,.06)}
.flash.err{background:linear-gradient(180deg,#fff1f2,#ffe4e6);border-color:#fecaca}
.flash.ok{background:linear-gradient(180deg,#ecfdf5,#d1fae5);border-color:#bbf7d0}

.toastWrap{position:fixed;right:18px;top:84px;z-index:9999;display:grid;gap:10px;max-width:min(92vw,420px);pointer-events:none}
.toast{border-radius:16px;padding:14px 14px;border:1px solid rgba(2,6,23,.08);box-shadow:0 20px 60px rgba(15,23,42,.22);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease;pointer-events:auto}
.toast.show{opacity:1;transform:translateY(0)}
.toast.err{background:linear-gradient(180deg,#fff1f2,#ffe4e6);border-color:#fecaca}
.toast.ok{background:linear-gradient(180deg,#ecfdf5,#d1fae5);border-color:#bbf7d0}

input,textarea,select{width:100%;padding:12px 12px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.95);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
input:focus,textarea:focus,select:focus{border-color:rgba(79,70,229,.55);box-shadow:0 0 0 4px rgba(79,70,229,.14)}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}

.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.page{position:relative;animation:fadeUp .25s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.reveal{opacity:0;transform:translate3d(0,14px,0);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms);will-change:opacity,transform}
.reveal[data-reveal="up"]{transform:translate3d(0,16px,0)}
.reveal[data-reveal="down"]{transform:translate3d(0,-16px,0)}
.reveal[data-reveal="left"]{transform:translate3d(16px,0,0)}
.reveal[data-reveal="right"]{transform:translate3d(-16px,0,0)}
.reveal[data-reveal="scale"]{transform:scale(.98)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .blob{animation:none}
  .btn:hover:before{animation:none}
  .page{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
}

.footer{margin-top:26px;border-top:1px solid rgba(2,6,23,.08);background:rgba(255,255,255,.62);backdrop-filter:blur(10px)}
.footer-inner{max-width:1760px;margin:0 auto;padding:22px 18px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}
.footer-title{font-weight:900;margin:0 0 8px 0}
.footer a{color:rgba(15,23,42,.82)}
.footer a:hover{text-decoration:underline}
.footer-bottom{max-width:1760px;margin:0 auto;padding:0 18px 16px 18px;color:var(--muted);font-size:13px}

@media(max-width:900px){
  .grid{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .container{padding:14px}
  .nav-links{display:none}
  .navToggle{display:inline-flex}
  .mobilePanel{display:block;position:fixed;inset:0;z-index:60;pointer-events:none}
  .mobileOverlay{position:absolute;inset:0;background:rgba(15,23,42,.35);opacity:0;transition:opacity .18s ease}
  .mobileSheet{position:absolute;right:0;top:0;height:100%;width:min(88vw,360px);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-left:1px solid rgba(2,6,23,.08);transform:translateX(102%);transition:transform .18s ease;box-shadow:0 20px 60px rgba(15,23,42,.24);padding:14px}
  .mobilePanel.open{pointer-events:auto}
  .mobilePanel.open .mobileOverlay{opacity:1}
  .mobilePanel.open .mobileSheet{transform:translateX(0)}
  .mobileNav{display:grid;gap:8px;margin-top:10px}
  .footer-inner{grid-template-columns:1fr}
  .toastWrap{right:12px;left:12px;max-width:none}
}

.tableWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:900px){
  .mobileSheet .btn{width:100%}
  .mobileSheet form .btn{width:100%}

  .table-modern{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table-modern{min-width:680px}
}

@media(max-width:600px){
  .affiliate-container,.me-container,.orders-container,.my-container{padding:12px!important}
  .table-modern{min-width:560px}
}

@media(max-width:420px){
  .table-modern{min-width:520px}
}

@media(max-width:600px){
  .nav-inner{padding:10px 12px}
  .container{padding:12px}
  .userName{max-width:120px}

  .btn{padding:12px 14px}
  input,textarea,select{padding:12px 14px}

  .supportChat{right:12px;bottom:12px}
  .supportFab{padding:12px 14px}
}

@media(max-width:420px){
  .brand a{gap:8px}
  .brand-dot{width:9px;height:9px}
  .userName{max-width:96px}
}

@media (hover: none){
  .btn:hover{transform:none;box-shadow:0 10px 20px rgba(15,23,42,.06)}
  .nav-link:hover{transform:none;box-shadow:none}
  .card:hover{transform:none;box-shadow:0 10px 24px rgba(15,23,42,.06)}
  .supportFab:hover{transform:none;box-shadow:0 18px 46px rgba(79,70,229,.32)}
}

@keyframes navShimmer{0%{transform:translateX(-40%) rotate(8deg)}100%{transform:translateX(60%) rotate(8deg)}}
@keyframes softPulse{0%,100%{opacity:.62}50%{opacity:.92}}

.nav{border-bottom:1px solid rgba(2,6,23,.10);background:rgba(255,255,255,.70);backdrop-filter:blur(16px) saturate(1.15)}
.nav::after{content:"";position:absolute;left:-20%;top:-2px;height:3px;width:40%;background:linear-gradient(90deg,transparent,rgba(79,70,229,.60),rgba(6,182,212,.55),transparent);opacity:.0;transform:translateX(-40%) rotate(8deg);pointer-events:none}
.nav.is-scrolled{box-shadow:0 18px 50px rgba(15,23,42,.14)}
.nav.is-scrolled::after{opacity:1;animation:navShimmer 1.2s ease}

.nav-links{gap:8px}
.nav-link{position:relative;padding:9px 12px;border-radius:999px;font-weight:900;letter-spacing:-.1px}
.nav-link::after{content:"";position:absolute;inset:-1px;border-radius:999px;background:linear-gradient(135deg,rgba(79,70,229,.32),rgba(6,182,212,.24),rgba(236,72,153,.18));opacity:0;transition:opacity .18s ease}
.nav-link:hover::after{opacity:1}
.nav-link.active{background:linear-gradient(135deg,rgba(79,70,229,.14),rgba(6,182,212,.10));border-color:rgba(79,70,229,.26)}

.userBtn{border-color:rgba(2,6,23,.10);background:rgba(255,255,255,.86);backdrop-filter:blur(14px);position:relative;overflow:hidden}
.userBtn::before{content:"";position:absolute;inset:-60% -80%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-30%) rotate(10deg);opacity:0}
.userBtn:hover::before{opacity:1;animation:navShimmer 1.25s ease}
.avatar{border-color:rgba(79,70,229,.18);background:linear-gradient(135deg,rgba(79,70,229,.18),rgba(6,182,212,.14));box-shadow:0 10px 20px rgba(79,70,229,.16)}
.caret{transition:transform .18s ease}
.userBtn[aria-expanded="true"] .caret{transform:rotate(180deg)}

.menuPop{border-color:rgba(2,6,23,.10);background:rgba(255,255,255,.92);box-shadow:0 26px 80px rgba(15,23,42,.26)}
.menuHead{background:linear-gradient(180deg,rgba(79,70,229,.10),rgba(6,182,212,.06));border-color:rgba(79,70,229,.16)}
.menuItem{position:relative;overflow:hidden}
.menuItem::after{content:"";position:absolute;inset:-1px;border-radius:12px;background:linear-gradient(135deg,rgba(79,70,229,.16),rgba(6,182,212,.12));opacity:0;transition:opacity .18s ease;pointer-events:none}
.menuItem:hover::after{opacity:1}

.footer{background:radial-gradient(900px 260px at 30% 0%,rgba(79,70,229,.14),transparent 60%),radial-gradient(800px 260px at 80% 0%,rgba(6,182,212,.12),transparent 58%),rgba(255,255,255,.55);backdrop-filter:blur(14px);border-top:1px solid rgba(2,6,23,.10)}
.footer-inner{gap:14px}
.footer-inner>div{border:1px solid rgba(2,6,23,.08);background:rgba(255,255,255,.70);border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.footer-inner>div:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(15,23,42,.12);border-color:rgba(79,70,229,.16)}
.footer-title{letter-spacing:-.2px}
.footer a{position:relative;display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;transition:background .15s ease,transform .15s ease}
.footer a:hover{background:rgba(15,23,42,.04);transform:translateY(-1px);text-decoration:none}
.footer a::after{content:"";width:6px;height:6px;border-radius:99px;background:linear-gradient(135deg,var(--primary),var(--primary2));opacity:.0;transition:opacity .15s ease}
.footer a:hover::after{opacity:1}

.supportChat{position:fixed;right:18px;bottom:18px;z-index:9998}
.supportFab{display:inline-flex;align-items:center;gap:10px;border:none;cursor:pointer;border-radius:999px;padding:12px 14px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:1000;box-shadow:0 18px 46px rgba(79,70,229,.32);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;position:relative;overflow:hidden}
.supportFab:before{content:"";position:absolute;inset:-60% -80%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-30%) rotate(10deg);opacity:.0}
.supportFab:hover{transform:translateY(-2px);box-shadow:0 22px 62px rgba(79,70,229,.38)}
.supportFab:hover:before{opacity:1;animation:shine 1.15s ease}
.supportFab:active{transform:translateY(0)}
.supportFabIcon{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22)}
.supportFabText{white-space:nowrap}

.supportBackdrop{position:fixed;inset:0;background:rgba(15,23,42,.24);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:9996}

.supportPanel{position:absolute;right:0;bottom:calc(100% + 12px);width:min(92vw,340px);border-radius:18px;border:1px solid rgba(2,6,23,.10);background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 26px 80px rgba(15,23,42,.22);padding:12px;opacity:0;transform:translateY(10px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:9999}

.supportChat.open .supportPanel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.supportChat.open .supportBackdrop{opacity:1;pointer-events:auto}
.supportChat.open .supportFab{filter:saturate(1.05)}

.supportHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 8px 10px 8px}
.supportTitle{font-weight:1000;letter-spacing:-.25px}
.supportSub{margin-top:2px;color:var(--muted);font-size:12px}
.supportClose{border:none;background:rgba(2,6,23,.06);border:1px solid rgba(2,6,23,.10);cursor:pointer;border-radius:12px;width:36px;height:36px;display:grid;place-items:center;font-weight:1000;transition:transform .18s ease,background .18s ease}
.supportClose:hover{transform:translateY(-1px);background:rgba(2,6,23,.08)}

.supportList{display:grid;gap:10px;padding:0 8px 8px 8px}
.supportItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px;border-radius:16px;border:1px solid rgba(2,6,23,.08);background:rgba(255,255,255,.92);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.supportItem:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.10);border-color:rgba(79,70,229,.18)}
.supportIcon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:1000;color:#fff;flex-shrink:0}
.supportItem.zalo .supportIcon{background:linear-gradient(135deg,#2563eb,#06b6d4)}
.supportItem.ms .supportIcon{background:linear-gradient(135deg,#7c3aed,#ec4899)}
.supportMeta{display:grid;gap:2px;min-width:0;flex:1}
.supportName{font-weight:1000}
.supportDesc{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.supportArrow{font-weight:1000;color:rgba(15,23,42,.60)}

.ktConfirm{position:fixed;inset:0;z-index:100001;display:none}
.ktConfirm.show{display:block}
.ktConfirmOverlay{position:absolute;inset:0;background:rgba(15,23,42,.44);backdrop-filter:blur(10px)}
.ktConfirmDialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,520px);border-radius:18px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 26px 80px rgba(15,23,42,.26);padding:16px}
.ktConfirmTitle{font-weight:1000;letter-spacing:-.2px}
.ktConfirmMsg{margin-top:8px;color:rgba(15,23,42,.72);line-height:1.55}
.ktConfirmActions{margin-top:14px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

@media(max-width:600px){
  .ktConfirmDialog{width:min(94vw,520px);padding:14px;border-radius:16px}
  .ktConfirmActions{justify-content:stretch}
  .ktConfirmActions .btn{flex:1}
}

@media(max-width:900px){
  .supportChat{right:12px;bottom:12px}
  .supportFabText{display:none}
}
