*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{text-decoration:none;color:inherit}input,select,button{font:inherit}code{display:inline-block;max-width:100%;overflow:auto;background:#eef2ff;color:#3730a3;border-radius:10px;padding:6px 9px}.app-shell{max-width:980px;margin:0 auto;min-height:100vh;padding-bottom:80px}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(148,163,184,.22)}.brand{display:flex;gap:10px;align-items:center}.logo{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-weight:900}.brand b{display:block;font-size:18px}.brand span{font-size:12px;color:#64748b}.pill{border:1px solid #dbeafe;border-radius:999px;padding:9px 12px;background:#fff;font-weight:800;color:var(--primary)}.content{padding:14px}.hero-card{border-radius:28px;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;padding:28px 20px;box-shadow:0 18px 50px rgba(37,99,235,.22);text-align:center}.hero-card.compact{display:flex;text-align:left;align-items:center;justify-content:space-between;gap:14px}.hero-icon{font-size:54px}.hero-card h1{font-size:32px;margin:8px 0}.hero-card p{opacity:.9;margin:0 0 18px}.hero-buttons{display:flex;gap:10px;justify-content:center}.btn{border:0;border-radius:16px;padding:12px 16px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.ghost{background:#edf2ff;color:#1e293b;border:1px solid #dbeafe}.btn.small{padding:8px 12px;border-radius:12px;font-size:13px}.stats-grid,.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.admin-cards{grid-template-columns:repeat(4,1fr)}.stat{background:var(--card);border:1px solid #e5e7eb;border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.stat b{display:block;font-size:23px;color:var(--primary)}.stat span{color:#64748b;font-size:13px}.section-title{font-size:22px;font-weight:900;margin:20px 0 12px}.package-list{display:grid;gap:12px}.package-card,.card,.number-box,.profile-card,.wallet-card{background:var(--card);border:1px solid #e5e7eb;border-radius:24px;padding:16px;box-shadow:0 12px 34px rgba(15,23,42,.06)}.package-card{display:flex;justify-content:space-between;gap:14px;align-items:center}.package-card h3{margin:0 0 5px;font-size:18px}.package-card p{margin:0;color:#64748b;font-size:14px}.price{font-size:18px;font-weight:900;color:var(--accent);white-space:nowrap}.rent-side{text-align:right;display:grid;gap:10px}.badge{background:#eef2ff;color:#4338ca;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;display:inline-block}.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(980px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-top:1px solid #e5e7eb;padding:7px 4px}.bottom-nav a{text-align:center;color:#64748b;font-size:20px;border-radius:16px;padding:7px 0}.bottom-nav a span{display:block;font-size:11px;margin-top:2px}.bottom-nav a.active{background:#eef2ff;color:var(--primary);font-weight:900}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at top,var(--primary),transparent 35%),var(--bg)}.auth-card{width:min(420px,100%);background:var(--card);border-radius:28px;padding:24px;box-shadow:0 22px 70px rgba(15,23,42,.16)}.auth-card h1{margin-top:0}.auth-card label,.form-card label,.admin-form label{display:grid;gap:7px;font-weight:800;margin-bottom:12px}.auth-card input,.form-card input,.admin-form input,.admin-form select{border:1px solid #dbe3ef;border-radius:15px;padding:13px;background:#fff;width:100%}.auth-card .btn,.form-card .btn{width:100%;margin-top:8px}.muted{color:#64748b}.alert{padding:12px 14px;border-radius:16px;margin:10px 0}.alert.success{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}.alert.danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.number-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.number-head b{font-size:22px}.number-head span{display:block;color:#64748b;margin-top:4px}.sms-list{display:grid;gap:10px;margin-top:12px}.sms-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:12px}.sms-meta{display:flex;justify-content:space-between;color:#64748b;font-size:13px}.sms-body{font-weight:700;margin-top:7px;white-space:pre-wrap}.empty{text-align:center;color:#64748b;padding:18px;background:#fff;border:1px dashed #cbd5e1;border-radius:20px}.empty.small{padding:10px;font-size:13px}.wallet-card{background:linear-gradient(135deg,#111827,var(--primary));color:#fff}.wallet-card span{display:block;opacity:.75}.wallet-card b{font-size:34px}.qr-card{text-align:center;margin-top:14px}.qr-card img{width:min(280px,100%);border-radius:18px;border:1px solid #e5e7eb}.history-item{display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px;margin-bottom:8px}.history-item span{display:block;color:#64748b;font-size:13px}.plus{color:#16a34a}.minus{color:#ef4444}.profile-card{text-align:center}.avatar{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:34px;font-weight:900;margin:0 auto 12px}.admin-layout{display:flex;min-height:100vh}.admin-side{width:250px;background:#0f172a;color:#cbd5e1;padding:14px;position:sticky;top:0;height:100vh;overflow:auto}.admin-logo{font-size:20px;color:#fff;margin-bottom:14px}.admin-side a{display:block;padding:12px 13px;border-radius:14px;margin-bottom:5px}.admin-side a.active,.admin-side a:hover{background:#1e293b;color:#fff}.admin-main{flex:1;padding:20px;overflow:auto}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.admin-form,.admin-table,.admin-main .card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:16px;margin-bottom:16px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.admin-table th{background:#f8fafc}.admin-table form{margin:0}@media(max-width:760px){.hero-card.compact{display:block;text-align:center}.stats-grid,.admin-cards{grid-template-columns:1fr}.package-card{align-items:flex-start}.admin-layout{display:block}.admin-side{position:relative;width:100%;height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.admin-logo{grid-column:1/-1}.admin-main{padding:12px}.grid2{grid-template-columns:1fr}.admin-table{font-size:13px;display:block;overflow:auto}.topbar{padding:10px}.content{padding:12px}.brand span{display:none}}
/* ===== PLUS MOBILE APP UI ===== */
.zlp-top{background:#fff;border-bottom:0;box-shadow:0 4px 18px rgba(15,23,42,.06)}
.logo{overflow:hidden}.logo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.logo span{font-size:13px}.top-actions{display:flex;gap:8px;align-items:center}.circle-btn{width:42px;height:42px;border-radius:50%;background:#f1f5f9;display:grid;place-items:center;position:relative;font-weight:900}.circle-btn em{position:absolute;right:-3px;top:-4px;background:#ef4444;color:#fff;font-size:10px;border-radius:999px;padding:2px 5px;font-style:normal}.admin-mini{background:#eef2ff;color:#1d4ed8}
.zlp-banner{height:190px;margin:-14px -14px 12px;position:relative;overflow:hidden;background:linear-gradient(135deg,#c7e8ff,#dcfce7 55%,#fff7ed);border-radius:0 0 28px 28px}.zlp-banner .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:.55s ease;display:flex;align-items:center;padding:24px;color:#064e3b;font-size:24px;font-weight:1000;line-height:1.15}.zlp-banner .slide.show{opacity:1}.zlp-banner .slide:not([style*="url"]){background:radial-gradient(circle at 80% 20%,rgba(37,99,235,.35),transparent 30%),linear-gradient(135deg,#dbeafe,#bbf7d0 58%,#fff)}.zlp-banner .slide span{max-width:62%;text-shadow:0 1px 0 rgba(255,255,255,.75)}
.greeting-row{display:flex;align-items:center;gap:10px;margin:10px 0 14px}.avatar-mini{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#111827,var(--primary));color:#fff;display:grid;place-items:center;font-weight:900;flex:none}.greeting-row b{font-size:14px;line-height:1.25;flex:1}.search-mini{width:38px;height:38px;border-radius:50%;background:#f1f5f9;display:grid;place-items:center}
.zlp-cards{display:grid;grid-template-columns:1.45fr .95fr;gap:8px;margin-bottom:10px}.balance-blue,.diamond-card{min-height:106px;border-radius:13px;padding:12px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.balance-blue{background:linear-gradient(135deg,#0b49df,#2563eb)}.balance-blue:after{content:'';position:absolute;right:-20px;bottom:-28px;width:150px;height:84px;background:linear-gradient(135deg,transparent,#22d3ee);opacity:.55;border-radius:50%}.diamond-card{background:linear-gradient(135deg,#1f2937,#111827)}.diamond-card:after{content:'Z';position:absolute;right:18px;bottom:18px;color:#39ff88;font-size:42px;font-weight:1000;opacity:.75}.zlp-cards span{font-size:13px;opacity:.9}.zlp-cards b{font-size:20px}.zlp-cards small{font-size:12px;opacity:.9;z-index:1}
.quick-actions{background:#fff;border-radius:10px;box-shadow:0 5px 18px rgba(15,23,42,.08);display:grid;grid-template-columns:repeat(4,1fr);margin:10px 0 20px;padding:12px 5px}.quick-actions a{text-align:center;font-size:28px;color:#071d3a}.quick-actions span{display:block;font-size:12px;margin-top:5px;color:#111827}
.section-line{display:flex;justify-content:space-between;align-items:center;margin:18px 0 12px}.section-line b{font-size:18px}.section-line a{color:var(--primary);font-weight:900}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 10px}.service-grid a{text-align:center;color:#0f172a}.service-grid i{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;margin:0 auto 7px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 5px 16px rgba(37,99,235,.08);font-style:normal;font-size:24px}.service-grid span{font-size:13px;display:block;line-height:1.2}.service-grid.big{grid-template-columns:repeat(3,1fr);background:#fff;border-radius:20px;padding:16px}
.product-scroll{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.mini-product{min-width:118px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.prod-img{height:68px;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#fdf2f8);display:grid;place-items:center;font-size:28px;overflow:hidden}.prod-img img{width:100%;height:100%;object-fit:cover}.mini-product b{display:block;margin-top:7px;font-size:14px}.mini-product span{color:var(--accent);font-weight:900;font-size:13px}.remind-card{display:block;background:linear-gradient(135deg,#e0f2fe,#f0fdf4);border-radius:12px;padding:16px;margin-bottom:20px}.remind-card b,.remind-card span{display:block}.remind-card span{color:#64748b;margin-top:4px}
.zlp-nav{padding:8px 5px 10px;border-radius:22px 22px 0 0;box-shadow:0 -8px 28px rgba(15,23,42,.08)}.zlp-nav .nav-center{background:#0b49df;color:#fff;border-radius:50%;width:60px;height:60px;margin:-27px auto 0;box-shadow:0 8px 24px rgba(37,99,235,.35);display:grid;place-items:center;padding:4px 0}.zlp-nav .nav-center span{font-size:10px;color:#fff}.zlp-nav a.active:not(.nav-center){background:#eef2ff;color:#0b49df}
.tab-note{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px;color:#64748b;margin-bottom:12px}.license-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.license-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.06)}.license-img{height:130px;background:linear-gradient(135deg,#eff6ff,#fdf2f8);display:grid;place-items:center;font-size:46px}.license-img img{width:100%;height:100%;object-fit:cover}.license-info{padding:14px}.license-info h3{margin:8px 0 6px}.license-info p{color:#64748b;font-size:14px;margin:0 0 10px}.space{display:flex;justify-content:space-between;align-items:center;gap:10px}.buy-form{display:grid;gap:8px;margin-top:12px}.buy-form input,.buy-form textarea,.chat-form textarea{border:1px solid #dbe3ef;border-radius:15px;padding:12px;width:100%;background:#fff}.order-card,.notice-card,.support-box{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:15px;margin-bottom:12px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.order-card h3,.notice-card h3{margin:0}.delivery{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px}.delivery pre{white-space:pre-wrap;word-break:break-word;font-family:inherit}.chat-list{display:grid;gap:10px;margin-bottom:12px}.chat-msg{max-width:86%;border-radius:18px;padding:10px 12px;background:#f1f5f9}.chat-msg p{margin:5px 0;white-space:pre-wrap}.chat-msg span{font-size:11px;color:#64748b}.chat-msg.user{margin-right:auto}.chat-msg.admin{margin-left:auto;background:#dbeafe}.admin-chat{max-height:430px;overflow:auto}.chat-form{display:grid;gap:8px}.admin-thumb{width:120px;height:55px;object-fit:cover;border-radius:10px}.admin-logo{display:flex;gap:8px;align-items:center}.admin-logo .logo{width:34px;height:34px;border-radius:12px;flex:none}
.admin-form textarea,.admin-form input,.admin-form select{border:1px solid #dbe3ef;border-radius:15px;padding:13px;background:#fff;width:100%;font:inherit}.admin-form textarea{min-height:90px}.admin-table small{color:#64748b}.admin-table img{max-width:160px}
@media(max-width:760px){.zlp-banner{height:205px}.zlp-banner .slide{font-size:20px;padding:20px}.zlp-banner .slide span{max-width:70%}.license-grid{grid-template-columns:1fr}.zlp-cards{grid-template-columns:1.35fr .9fr}.balance-blue,.diamond-card{min-height:106px;padding:11px}.zlp-cards b{font-size:18px}.service-grid{gap:15px 4px}.quick-actions{margin-left:-2px;margin-right:-2px}.admin-side{grid-template-columns:repeat(3,1fr)}.admin-side a{font-size:13px;padding:10px 8px}.admin-logo{grid-column:1/-1}.top-actions .circle-btn{width:38px;height:38px}.brand b{font-size:16px}.brand .logo{width:40px;height:40px}}
@media(max-width:390px){.service-grid span{font-size:12px}.quick-actions span{font-size:11px}.zlp-cards{gap:7px}.zlp-cards b{font-size:17px}.zlp-cards span{font-size:12px}.zlp-banner{height:196px}}


/* ===== ICON PNG CHO NÚT DỊCH VỤ ===== */
.service-grid .service-icon-box{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;margin:0 auto 7px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 5px 16px rgba(37,99,235,.08);font-style:normal;font-size:24px;overflow:hidden}
.service-grid .service-icon-box.has-img{padding:7px}
.service-grid .service-icon-box img{width:100%;height:100%;object-fit:contain;display:block}
.admin-service-icon-preview{width:58px;height:58px;object-fit:contain;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:8px}
.admin-table .service-icon-box{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#fff;border:1px solid #e5e7eb;font-style:normal;overflow:hidden}
.admin-table .service-icon-box img{width:34px;height:34px;object-fit:contain}

/* ===== VIP MEMBER / XU / NO-PHP UI SYNC ===== */
.old-price{display:block;color:#94a3b8;text-decoration:line-through;font-size:12px;font-weight:800}.rent-side small,.license-info small{display:block;color:#64748b;font-size:12px}.points-input{display:grid;gap:5px;margin-top:10px;font-size:12px;color:#475569;font-weight:800}.points-input input,.buy-form input[name="use_points"]{border:1px solid #dbe3ef;border-radius:13px;padding:10px 12px;background:#fff;width:100%}.member-mini{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px;margin-bottom:14px;color:#475569;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.rank-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:950}.rank-bronze{background:#dcfce7;color:#15803d}.rank-silver{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.rank-gold{background:#fef3c7;color:#a16207;border:1px solid #fde68a}.rank-diamond{background:#111827;color:#39ff88;border:1px solid #334155}.member-card.rank-bronze{background:linear-gradient(135deg,#22c55e,#16a34a)}.member-card.rank-silver{background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#0f172a}.member-card.rank-gold{background:linear-gradient(135deg,#fde68a,#eab308);color:#3f2d00}.member-card.rank-diamond{background:linear-gradient(135deg,#1f2937,#111827);color:#fff}.member-card.rank-bronze:after{content:'✓';color:#dcfce7}.member-card.rank-silver:after{content:'B';color:#f8fafc}.member-card.rank-gold:after{content:'V';color:#fff7ed}.member-card.rank-diamond:after{content:'Z';color:#39ff88}.member-card:after{position:absolute;right:18px;bottom:18px;font-size:42px;font-weight:1000;opacity:.8}
.member-page{display:grid;gap:14px}.member-hero{border-radius:28px;padding:22px;color:#fff;box-shadow:0 16px 44px rgba(15,23,42,.13)}.member-page.rank-bronze .member-hero{background:linear-gradient(135deg,#22c55e,#15803d)}.member-page.rank-silver .member-hero{background:linear-gradient(135deg,#94a3b8,#475569)}.member-page.rank-gold .member-hero{background:linear-gradient(135deg,#f59e0b,#ca8a04)}.member-page.rank-diamond .member-hero{background:linear-gradient(135deg,#111827,#0f172a)}.member-hero span{opacity:.85;font-weight:800}.member-hero h1{font-size:42px;margin:6px 0}.member-hero p{margin:6px 0;line-height:1.45}.progress-card,.rank-list{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.progress{height:12px;background:#e2e8f0;border-radius:999px;margin-top:12px;overflow:hidden}.progress i{height:100%;display:block;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px}.rank-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.rank-list div{border:1px solid #e5e7eb;border-radius:18px;padding:12px}.rank-list b{display:block}.rank-list span{display:block;color:#64748b;font-size:13px;margin-top:4px}.profile-rank{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:12px;margin:12px 0;color:#475569}.status-completed{background:#dcfce7;color:#166534}.status-active{background:#dbeafe;color:#1d4ed8}.status-expired,.status-cancelled{background:#fee2e2;color:#991b1b}.wallet-card small{display:block;margin-top:8px;opacity:.86;font-weight:800}.content>.section-title,.content>.wallet-card,.content>.profile-card,.content>.support-box,.content>.notice-card,.content>.order-card,.content>.number-box,.content>.card,.content>.package-list,.content>.license-grid,.content>.service-grid.big{animation:softIn .18s ease}@keyframes softIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:760px){.rank-list{grid-template-columns:1fr}.member-hero h1{font-size:34px}.package-card{display:grid;grid-template-columns:1fr;}.rent-side{text-align:left}.rent-side .btn{width:100%}}

/* ===== FIX ĐỒNG BỘ GIAO DIỆN APP + ADMIN MOBILE v3 ===== */
:root{color-scheme:light}
body{background:#f6f8fc!important;color:#102033!important}
.app-shell{max-width:520px;background:#fff;box-shadow:0 0 0 1px rgba(15,23,42,.04);position:relative}
.content{padding:12px 12px 96px;background:#fff;min-height:calc(100vh - 68px)}
.zlp-top{height:72px;padding:12px 14px;background:#fff!important;box-shadow:0 3px 18px rgba(15,23,42,.06)!important}
.brand b{font-weight:1000;letter-spacing:.1px}.brand span{font-weight:700}.logo{background:#e5e7eb;color:#fff}.logo span{font-size:0}.logo span:after{content:'A';font-size:22px;color:#fff;font-weight:1000}.circle-btn{background:#f3f6ff;color:#0b49df;box-shadow:0 4px 16px rgba(15,23,42,.05)}
.section-title,.section-line b{font-weight:1000;color:#172033;letter-spacing:-.3px}.section-title{font-size:23px;margin:18px 0 12px}.section-line{margin:22px 0 13px}.section-line a{color:#9ca3af;font-weight:1000}
.zlp-banner{height:190px;margin:-12px -12px 12px;border-radius:0 0 26px 26px}.zlp-banner .slide{padding:18px;font-size:22px}.zlp-banner .slide span{text-shadow:0 1px 0 rgba(255,255,255,.8)}
.greeting-row{margin:12px 0 14px}.avatar-mini{background:linear-gradient(135deg,#111827,#9ca3af);box-shadow:0 5px 14px rgba(15,23,42,.12)}.search-mini{background:#f3f6ff;color:#0b49df}
.zlp-cards{grid-template-columns:1.38fr .92fr;gap:9px}.balance-blue,.diamond-card{border-radius:13px;min-height:124px;padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.08)}.balance-blue span,.balance-blue small,.balance-blue b{position:relative;z-index:1}.balance-blue b{font-size:22px}.balance-blue small{font-weight:800}.balance-blue:after{width:180px;height:96px;right:-38px;bottom:-36px}
.member-card{isolation:isolate;gap:5px}.member-card:after{right:16px;bottom:10px;font-size:56px;line-height:1;opacity:.55;z-index:-1}.member-card .member-top{font-size:12px;font-weight:850;opacity:.72!important}.member-card .member-rank-line{display:flex;align-items:center;gap:6px;font-size:22px!important;line-height:1;color:inherit}.member-card .member-xu-line{display:flex;align-items:center;gap:5px;font-weight:850;color:inherit;opacity:.9!important}.member-card.rank-bronze{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important}.member-card.rank-silver{background:linear-gradient(135deg,#f8fafc,#cbd5e1)!important;color:#334155!important}.member-card.rank-gold{background:linear-gradient(135deg,#fde68a,#f59e0b)!important;color:#422006!important}.member-card.rank-diamond{background:linear-gradient(135deg,#1f2937,#0f172a)!important;color:#fff!important}
.coin-icon{width:18px;height:18px;min-width:18px;border-radius:50%;display:inline-grid!important;place-items:center;background:linear-gradient(145deg,#ffd166,#f59e0b);color:#fff;font-size:10px;font-style:normal;font-weight:1000;box-shadow:inset 0 1px 2px rgba(255,255,255,.6),0 2px 5px rgba(245,158,11,.3);vertical-align:-2px}.coin-icon.small{width:15px;height:15px;min-width:15px;font-size:8px;vertical-align:-2px}.points-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#fff7ed;color:#b45309;font-size:12px;font-weight:1000;margin-left:4px;white-space:nowrap}.profile-rank .points-pill,.tab-note .points-pill,.member-mini .points-pill{margin-top:5px}
.quick-actions{border-radius:12px;margin:10px 0 22px;padding:13px 4px;box-shadow:0 10px 28px rgba(15,23,42,.08);border:1px solid #f1f5f9}.quick-actions a{font-size:27px}.quick-actions span{font-size:12px;font-weight:650;color:#0f172a}
.service-grid{grid-template-columns:repeat(4,1fr);gap:18px 6px;margin-bottom:4px}.service-grid a{min-width:0}.service-grid .service-icon-box{width:48px;height:48px;border-radius:17px;margin-bottom:8px;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.07)}.service-grid span{font-weight:650;color:#0f172a;min-height:30px}
.product-scroll{margin-left:-2px;margin-right:-2px}.mini-product{min-width:132px;border-radius:20px}.remind-card,.tab-note,.member-mini,.order-card,.notice-card,.support-box,.number-box,.package-card,.license-card,.progress-card,.rank-list,.profile-card,.card,.form-card{background:#fff!important;border:1px solid #e9edf5!important;box-shadow:0 10px 28px rgba(15,23,42,.055)!important}.empty{background:#fff!important}.profile-card{border-radius:26px;text-align:center;padding:22px 18px}.profile-card .btn{margin:6px 2px;min-width:138px}.profile-rank{background:#f8fbff!important;border:1px solid #e5eaf5!important;color:#334155!important}.profile-rank small{display:block;margin-top:7px;color:#64748b;font-weight:800}.rank-and-xu{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.wallet-card{background:linear-gradient(135deg,#0b49df,#2563eb)!important;border:0!important}.license-grid{gap:12px}.bottom-nav{z-index:40;background:#fff!important;border:1px solid #e5e7eb;border-bottom:0;box-shadow:0 -8px 30px rgba(15,23,42,.10);padding-top:9px}.bottom-nav a{font-weight:800}.zlp-nav .nav-center{background:#0b49df!important;color:#fff!important}
.package-card{align-items:stretch}.package-card h3,.license-info h3,.order-card h3,.notice-card h3{color:#172033}.btn.primary{background:#0b49df;color:#fff;box-shadow:0 8px 20px rgba(11,73,223,.18)}.btn.ghost{background:#eef4ff;color:#0f2f67;border:0}.badge{font-weight:1000}

/* Admin đồng bộ mobile */
.admin-layout{background:#f6f8fc;min-height:100vh}.admin-side{background:#0b1222;color:#dbeafe}.admin-logo{display:flex;align-items:center;gap:9px;color:#fff}.admin-logo .logo{width:38px;height:38px;border-radius:14px;flex:0 0 auto}.admin-side a{font-weight:850}.admin-main{background:#f6f8fc}.admin-top{background:#fff;border:1px solid #e9edf5;border-radius:24px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.055)}.admin-top h1{margin:0;font-size:34px;letter-spacing:-.9px}.admin-cards{gap:12px}.admin-cards .stat,.stat{background:#fff!important;border-color:#e9edf5!important}.stat b{color:#0b49df}.admin-form,.admin-table,.admin-main .card{background:#fff!important;border-color:#e9edf5!important;border-radius:24px!important}.admin-form h2{margin-top:0}.admin-form input,.admin-form select,.admin-form textarea{background:#fff!important}.admin-table th{background:#f8fbff!important;color:#475569}.admin-table td{background:#fff}.admin-table a{font-weight:900;color:#0b49df}
@media(max-width:760px){
    body{background:#fff!important}.app-shell{max-width:none;box-shadow:none}.content{padding-left:12px;padding-right:12px}.zlp-top{height:70px}.brand .logo{width:46px;height:46px}.brand b{font-size:19px!important}.brand span{display:none!important}.top-actions .circle-btn{width:44px;height:44px}.zlp-banner{height:238px}.zlp-banner .slide{font-size:22px}.zlp-cards{grid-template-columns:1.35fr .9fr;gap:8px}.balance-blue,.diamond-card{min-height:124px}.member-card .member-rank-line{font-size:21px!important}.quick-actions{border-radius:12px}.service-grid{gap:18px 2px}.service-grid span{font-size:13px}.license-grid{grid-template-columns:1fr}.profile-card{min-height:0}.bottom-nav{width:100%;left:0;transform:none;border-radius:22px 22px 0 0}.bottom-nav a span{font-size:11px}.zlp-nav .nav-center{width:64px;height:64px;margin:-32px auto 0}
    .admin-layout{display:block;background:#f6f8fc}.admin-side{position:sticky!important;top:0;z-index:50;width:100%!important;height:auto!important;display:flex!important;grid-template-columns:none!important;gap:8px;overflow-x:auto;overflow-y:hidden;background:#fff!important;color:#0f172a!important;border-bottom:1px solid #e5e7eb;padding:10px 10px 11px;box-shadow:0 6px 24px rgba(15,23,42,.08);scrollbar-width:none}.admin-side::-webkit-scrollbar{display:none}.admin-logo{min-width:max-content;margin:0 4px 0 0;color:#0f172a!important}.admin-side a{flex:0 0 auto;margin:0!important;white-space:nowrap;background:#f1f5f9!important;color:#0f172a!important;border-radius:999px;padding:10px 14px!important;font-size:13px}.admin-side a.active{background:#0b49df!important;color:#fff!important}.admin-main{padding:12px 10px 96px!important}.admin-top{border-radius:22px;padding:14px 15px;margin-bottom:12px}.admin-top h1{font-size:28px}.admin-top span{font-weight:900;color:#64748b}.admin-cards{grid-template-columns:repeat(2,1fr)!important;gap:10px;margin:12px 0}.admin-cards .stat{min-height:92px;border-radius:22px;padding:14px}.admin-cards .stat b{font-size:28px}.admin-form,.admin-table,.admin-main .card{border-radius:22px!important;padding:14px!important;margin-bottom:12px!important}.grid2{grid-template-columns:1fr!important}.admin-table{display:block;width:100%;overflow-x:auto;white-space:nowrap}.admin-table th,.admin-table td{padding:11px 10px}.admin-form label{margin-bottom:11px}.admin-form textarea{min-height:110px}.admin-table form{display:inline-flex!important;gap:6px;align-items:center}.admin-thumb{width:90px;height:48px}.admin-main code{white-space:nowrap}
}
@media(max-width:390px){.zlp-banner{height:210px}.balance-blue,.diamond-card{min-height:116px;padding:12px}.member-card .member-rank-line{font-size:19px!important}.quick-actions span,.service-grid span{font-size:12px}.admin-top h1{font-size:24px}}
.otp-show{display:inline-flex;align-items:center;justify-content:center;margin:8px 0;padding:10px 14px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;color:#ea580c;font-size:20px;font-weight:950;letter-spacing:1px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

/* ===== v7 split pages + Zalo chat + quick services ===== */
.split-menu{display:grid;gap:14px;margin:12px 0 18px}.split-menu a{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:18px;text-decoration:none;color:#0f172a;box-shadow:0 12px 28px rgba(15,23,42,.06)}.split-menu b{display:block;font-size:20px;margin-bottom:7px}.split-menu span{display:block;color:#64748b;line-height:1.45}
.quick-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 18px}.quick-service{border:1px solid #e5e7eb;background:#fff;border-radius:18px;min-height:82px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-weight:800;color:#0f172a;box-shadow:0 8px 20px rgba(15,23,42,.05);cursor:pointer}.quick-service i{font-style:normal;font-size:25px}.quick-service span{font-size:12px;line-height:1.2}.quick-service.active{border-color:var(--primary);background:#eef5ff;color:#0b55e6;box-shadow:0 12px 26px rgba(37,99,235,.16)}
.license-card.pick-card{text-decoration:none;color:#0f172a;display:grid;grid-template-columns:92px 1fr;gap:12px}.license-detail{display:grid;gap:14px}.license-detail-hero{display:grid;grid-template-columns:120px 1fr;gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:26px;padding:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.license-img.big{width:120px;height:120px;border-radius:28px;font-size:48px}.license-detail h1{margin:6px 0 8px;font-size:25px}.old-price{display:block;color:#94a3b8;text-decoration:line-through;font-size:13px}.price{font-size:22px;color:var(--primary)}
.zalo-chat{background:#f3f6fb;border:1px solid #e5e7eb;border-radius:28px;overflow:hidden;box-shadow:0 14px 40px rgba(15,23,42,.08);min-height:520px;display:flex;flex-direction:column}.zalo-chat-head{background:#fff;padding:15px 17px;border-bottom:1px solid #e5e7eb}.zalo-chat-head b{display:block;font-size:18px}.zalo-chat-head span{font-size:13px;color:#64748b}.zalo-messages{flex:1;min-height:360px;max-height:560px;overflow:auto;padding:14px;background:linear-gradient(180deg,#eef5ff,#f8fafc)}.zmsg{display:flex;margin:8px 0}.zmsg.user{justify-content:flex-end}.zmsg.admin{justify-content:flex-start}.zmsg-bubble{max-width:78%;background:#fff;border-radius:18px 18px 18px 6px;padding:10px 12px;box-shadow:0 5px 14px rgba(15,23,42,.06)}.zmsg.user .zmsg-bubble{background:#0b72ff;color:white;border-radius:18px 18px 6px 18px}.zmsg-bubble b{display:block;font-size:12px;margin-bottom:4px;opacity:.85}.zmsg-bubble p{margin:0;line-height:1.45;white-space:pre-wrap;word-break:break-word}.zmsg-bubble span{display:block;margin-top:5px;font-size:10px;opacity:.72}.zalo-input{display:flex;gap:8px;align-items:flex-end;background:#fff;border-top:1px solid #e5e7eb;padding:10px}.zalo-input textarea{flex:1;min-height:44px;max-height:100px;resize:vertical;border:1px solid #dbe3ef;border-radius:18px;padding:12px;font-family:inherit}.zalo-input button{width:46px;height:46px;border:0;border-radius:50%;background:var(--primary);color:#fff;font-size:18px;font-weight:900}.admin-support-layout{display:grid;grid-template-columns:320px 1fr;gap:14px}.support-thread-list,.admin-chat-panel{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:12px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.thread-item{display:block;text-decoration:none;color:#0f172a;border:1px solid #e5e7eb;border-radius:16px;padding:10px;margin:8px 0;background:#fff}.thread-item.active{border-color:var(--primary);background:#eff6ff}.thread-item b,.thread-item span,.thread-item small{display:block}.thread-item span{color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-item small{color:#94a3b8;margin-top:4px}.admin-zalo-chat{min-height:620px}.admin-zalo-chat .zalo-messages{max-height:650px}
.status-cancelled{background:#fee2e2!important;color:#991b1b!important}.status-completed{background:#dcfce7!important;color:#166534!important}
@media(max-width:760px){.quick-service-grid{grid-template-columns:repeat(3,1fr);gap:8px}.quick-service{min-height:76px}.license-card.pick-card{grid-template-columns:80px 1fr}.license-detail-hero{grid-template-columns:1fr;text-align:center}.license-img.big{margin:auto}.admin-support-layout{grid-template-columns:1fr}.support-thread-list{max-height:260px;overflow:auto}.zalo-chat{min-height:calc(100vh - 190px)}.zalo-messages{max-height:calc(100vh - 305px)}.split-menu a{padding:16px;border-radius:20px}}

/* ===== V8 mobile polish + custom colors ===== */
body{background:var(--bg)!important;color:var(--text)!important}.zlp-top{background:var(--topbar)!important}.logo{background:var(--logo_bg)!important;color:var(--primary)!important;box-shadow:0 10px 26px rgba(15,23,42,.08)}.logo .logo-letter{font-size:24px;font-weight:1000;letter-spacing:-1px}.brand b{letter-spacing:-.3px}.balance-blue{background:linear-gradient(135deg,var(--wallet1),var(--wallet2))!important}.diamond-card,.member-card{background:linear-gradient(135deg,var(--member1),var(--member2))!important}.diamond-card:after{content:'✓';color:rgba(255,255,255,.55);font-size:68px;right:14px;bottom:2px}.custom-bottom-nav{background:var(--bottom_nav)!important}.bottom-nav a.active{background:var(--bottom_active)!important}.tiny-icon-img{width:28px;height:28px;object-fit:contain;display:block;margin:0 auto}.tiny-icon-emoji{font-style:normal;display:block;font-size:24px;line-height:1}.quick-actions.custom-actions a{display:flex;flex-direction:column;align-items:center;gap:5px}.quick-actions.custom-actions .tiny-icon-img{width:30px;height:30px}.zlp-nav .tiny-icon-img{width:25px;height:25px}.zlp-nav .nav-center .tiny-icon-img{filter:drop-shadow(0 2px 6px rgba(255,255,255,.45))}.public-landing{padding:8px 0 90px}.public-hero-card{min-height:360px;border-radius:32px;background:radial-gradient(circle at 75% 15%,rgba(34,197,94,.25),transparent 30%),linear-gradient(135deg,#eaf2ff,#dcfce7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;box-shadow:0 18px 50px rgba(15,23,42,.08)}.public-logo .logo{width:82px;height:82px;border-radius:26px;margin:0 auto 14px}.public-hero-card h1{font-size:38px;margin:8px 0 6px}.public-hero-card p{color:#475569;max-width:420px;line-height:1.5}.public-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.public-feature-grid a{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.public-feature-grid b,.public-feature-grid span{display:block}.public-feature-grid span{color:#64748b;margin-top:6px}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:12px}.auth-logo .logo{width:48px;height:48px}.app-auth-card{box-shadow:0 28px 90px rgba(15,23,42,.16)}.remember-note{font-size:13px;color:#16a34a;background:#ecfdf5;border-radius:12px;padding:9px 10px;margin:4px 0 10px;font-weight:800}.social-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 16px}.social-cat-grid a{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:14px;text-align:center;box-shadow:0 10px 25px rgba(15,23,42,.05)}.social-cat-grid i{font-style:normal;font-size:28px}.social-cat-grid b,.social-cat-grid span{display:block}.social-cat-grid span{font-size:12px;color:#64748b;margin-top:3px}.social-service-list{display:grid;gap:10px}.social-service-card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.055)}.social-service-card h3{margin:7px 0 5px;font-size:16px}.social-service-card p{margin:0;color:#64748b;font-size:13px;line-height:1.35}.social-service-card small{color:#64748b}.social-service-card>b{color:var(--primary);font-size:18px;text-align:right;white-space:nowrap}.social-service-card>b small{display:block;font-size:11px;color:#64748b}.social-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:26px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.06);margin-bottom:12px}.social-detail-card h1{font-size:24px;margin:8px 0}.social-price-box{display:inline-flex;align-items:end;gap:8px;border-radius:18px;background:#eef5ff;color:#0b49df;padding:12px 14px}.social-price-box b{font-size:24px}.social-price-box span{font-size:12px;color:#475569}.admin-thumb{max-width:120px;max-height:70px;object-fit:cover;border-radius:12px}.admin-service-icon-preview{width:56px;height:56px;object-fit:contain;border:1px solid #e5e7eb;border-radius:16px;padding:8px;background:#fff}.admin-form textarea{width:100%;border:1px solid #dbe3ef;border-radius:15px;padding:13px;background:#fff;font:inherit}.admin-main .badge{white-space:nowrap}
@media(max-width:760px){.public-hero-card{min-height:310px;border-radius:0 0 30px 30px;margin:-12px -12px 12px}.public-feature-grid{grid-template-columns:1fr}.public-hero-card h1{font-size:32px}.social-cat-grid{grid-template-columns:repeat(2,1fr)}.social-service-card{align-items:flex-start}.social-service-card>b{font-size:16px}.admin-logo .logo{width:34px!important;height:34px!important}.admin-logo b{font-size:15px}.admin-side{align-items:center}.admin-side a{box-shadow:0 6px 18px rgba(15,23,42,.05)}.admin-main{font-size:14px}.admin-form h2{font-size:21px}.admin-table{border-radius:18px}.admin-table table{min-width:760px}.zlp-banner{margin-top:-12px}.topbar{background:var(--topbar)!important}.bottom-nav a .tiny-icon-emoji{font-size:22px}.quick-actions.custom-actions .tiny-icon-emoji{font-size:25px}}


/* ===== V9: tách cấu hình + logo wide SIMVN + admin mobile ===== */
.logo.has-logo-img{background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;color:transparent!important}
.logo.has-logo-img img.logo-img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.brand .logo.has-logo-img{width:150px!important;height:46px!important;flex:0 0 150px!important}
.brand .logo.has-logo-img + div{display:none!important}
.admin-logo .logo.has-logo-img{width:128px!important;height:34px!important;flex:0 0 128px!important}
.admin-logo .logo.has-logo-img + b{display:none!important}
.auth-logo .logo.has-logo-img,.public-logo .logo.has-logo-img{width:170px!important;height:50px!important;margin:0 auto 8px!important}.auth-logo .logo.has-logo-img + b{display:none!important}
.admin-side{scroll-snap-type:x proximity}.admin-side a{scroll-snap-align:start}.admin-form{overflow:hidden}.admin-form .muted{color:#64748b;line-height:1.5;margin:4px 0 14px}.admin-form input[type=file]{padding-top:13px}.admin-form h3{margin-top:18px;padding-top:14px;border-top:1px solid #e5e7eb}.admin-top{position:relative}.admin-main{max-width:1160px;margin:0 auto}.admin-form input,.admin-form select,.admin-form textarea{font-size:16px!important}.quick-actions.custom-actions{min-height:94px}.quick-actions.custom-actions a span,.bottom-nav a span{min-height:16px}.balance-blue,.diamond-card{color:#fff!important}.balance-blue span,.balance-blue small,.diamond-card span,.diamond-card small{color:rgba(255,255,255,.92)!important}.balance-blue b,.diamond-card b{color:#fff!important}
@media(max-width:760px){.admin-side{padding-top:calc(env(safe-area-inset-top) + 10px)!important}.admin-logo .logo.has-logo-img{width:115px!important;height:32px!important}.brand .logo.has-logo-img{width:132px!important;height:42px!important;flex-basis:132px!important}.topbar{padding-left:14px!important;padding-right:14px!important}.admin-main{padding-bottom:110px!important}.admin-form{box-shadow:0 16px 42px rgba(15,23,42,.06)!important}.admin-form h2{font-size:22px!important}.admin-form label{font-size:15px!important}.admin-form input,.admin-form select{min-height:52px!important}.admin-form button.btn{width:auto;min-width:170px}.auth-logo{justify-content:center}.public-logo .logo.has-logo-img{width:190px!important;height:54px!important}}


/* v11 fixes: avatar + dashboard guest + logo */
.logo.has-logo-img{background:transparent!important;box-shadow:none!important;border:0!important;width:auto!important;min-width:0!important}
.logo-img{max-width:142px;max-height:56px;object-fit:contain;display:block}
.topbar .brand>div:last-child b,.topbar .brand>div:last-child span{display:none}
.guest-dashboard-card{background:linear-gradient(135deg,#eaf5ff,#d9ffe9);border-radius:28px;padding:28px 18px;margin:12px 0 18px;text-align:center;box-shadow:0 16px 34px rgba(15,23,42,.08)}
.guest-dashboard-card .guest-logo img{max-width:190px;margin:auto;display:block}
.guest-dashboard-card h1{font-size:34px;margin:12px 0 8px}
.guest-dashboard-card p{font-size:18px;color:#64748b;margin:0 0 16px}
.avatar-mini,.avatar{overflow:hidden;display:flex;align-items:center;justify-content:center}
.avatar-mini.has-avatar img,.avatar.has-avatar img,.profile-avatar.has-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-avatar{width:108px!important;height:108px!important;border-radius:999px!important;margin:0 auto 14px!important;background:#0f172a;color:#fff;font-size:42px;font-weight:950}
.avatar-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:12px;margin:12px 0;display:grid;gap:10px}
.avatar-form input{padding:10px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff}
.balance-blue .avatar-wallet{position:absolute;right:18px;top:14px;width:46px;height:46px;border-radius:50%;overflow:hidden}
@media(max-width:768px){
  .logo-img{max-width:136px;max-height:50px}
  .topbar{padding-left:12px!important;padding-right:12px!important}
  .guest-dashboard-card{margin-top:8px}
}

/* ===== V16: quick service compact, rewards, vouchers, PC polish ===== */
.app-shell{max-width:430px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 0 1px rgba(15,23,42,.04)}
@media(min-width:900px){.app-shell{max-width:520px}.content{padding-left:22px!important;padding-right:22px!important}.service-grid{grid-template-columns:repeat(4,1fr)!important}.zlp-banner img{max-height:260px;object-fit:cover}.package-card,.number-box,.license-detail,.profile-card,.wallet-card{border-radius:28px}.bottom-nav{max-width:720px;left:50%!important;transform:translateX(-50%)!important}}
.quick-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:14px 0 18px}.quick-service{min-height:74px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:900;color:#0f172a;box-shadow:0 10px 24px rgba(15,23,42,.04)}.quick-service.active{background:#eef5ff;border-color:#0f172a;box-shadow:0 10px 28px rgba(37,99,235,.12)}.quick-service i{font-style:normal;font-size:24px;width:34px;height:34px;display:flex;align-items:center;justify-content:center}.quick-service i.has-img img{width:34px;height:34px;object-fit:contain}.quick-service span{font-size:12px;line-height:1.1;text-align:center}
@media(max-width:420px){.quick-service-grid{grid-template-columns:repeat(4,1fr);gap:8px}.quick-service{min-height:70px;border-radius:16px}.quick-service span{font-size:11px}.quick-service i{font-size:22px}}
.xu-card{background:linear-gradient(135deg,#0f172a,#172554)!important}.xu-card:after{content:'Z';font-size:66px;color:#22c55e;font-weight:1000;opacity:.9}.member-rank-line .coin-icon{vertical-align:middle}.reward-top{display:flex;gap:8px;align-items:center;margin:8px 0 12px;overflow:auto}.pill-tab{white-space:nowrap;border-radius:999px;background:#eef4ff;color:#0b49df;text-decoration:none;font-weight:900;padding:10px 14px}.pill-tab.active{background:#0b49df;color:#fff}.zlp-member-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f172a,#172554)!important;color:#fff!important;border-radius:28px;padding:20px;box-shadow:0 18px 50px rgba(15,23,42,.18)}.zlp-member-hero h1{font-size:34px;margin:6px 0}.zlp-member-hero p,.zlp-member-hero small,.zlp-member-hero span{color:rgba(255,255,255,.86)!important}.zlp-member-hero .z-big{position:absolute;right:22px;top:30px;color:#22c55e;font-size:96px;line-height:1}.zlp-member-hero .progress{height:8px;background:#183c70;border-radius:99px;margin-top:14px;overflow:hidden}.zlp-member-hero .progress i{display:block;height:100%;background:#22c55e;border-radius:99px}.zlp-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#172554;border-radius:24px;padding:14px;margin:12px 0;color:#fff}.zlp-shortcuts a{text-decoration:none;color:#fff;text-align:center;font-weight:800}.zlp-shortcuts a:first-child,.zlp-shortcuts a:nth-child(2),.zlp-shortcuts a:nth-child(3){display:flex;flex-direction:column;align-items:center;gap:7px}.checkin-card{background:#122350;color:#fff;border-radius:24px;padding:16px;margin:14px 0}.checkin-card h3{margin:0}.checkin-card .muted{color:rgba(255,255,255,.72)!important}.fake-switch{display:inline-block;width:34px;height:20px;background:#334155;border-radius:999px;vertical-align:middle}.checkin-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:14px 0}.checkin-day{text-align:center;font-size:11px;color:#cbd5e1}.checkin-day b,.checkin-day i,.checkin-day span{display:block}.checkin-day i{width:30px;height:30px;margin:4px auto;border-radius:50%;background:#334155;display:flex;align-items:center;justify-content:center;font-style:normal}.checkin-day.done i{background:#16a34a;color:#fff}.voucher-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:10px 0 18px}.voucher-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px;box-shadow:0 12px 30px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:6px;text-align:left}.voucher-card h3{font-size:14px;margin:0}.voucher-card p{font-size:13px;color:#0f172a;margin:0;font-weight:800}.voucher-card small{color:#64748b;line-height:1.35}.voucher-img{height:76px;border-radius:14px;background:linear-gradient(135deg,#0b49df,#38bdf8);display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;overflow:hidden}.voucher-img img{width:100%;height:100%;object-fit:cover}.voucher-card .space{margin-top:auto}.voucher-card.owned{opacity:.98}.status-unused{background:#dcfce7!important;color:#166534!important}.status-used,.status-expired{background:#f1f5f9!important;color:#64748b!important}.admin-form .grid2{align-items:end}
@media(max-width:520px){.voucher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkin-days{gap:4px}.checkin-day b{font-size:10px}.zlp-member-hero h1{font-size:29px}.zlp-member-hero .z-big{font-size:76px}.zlp-shortcuts{border-radius:20px}.voucher-img{height:68px}}

/* ===== V17: lịch sử riêng, nhắc điểm danh, gói bản quyền, admin xoá ===== */
.history-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 14px}.history-entry-card h3{font-size:18px}.history-shortcut{margin:14px 0}.full{width:100%}.block{display:block}.checkin-head{align-items:center;gap:10px}.reminder-form{display:flex;align-items:center;gap:8px;font-weight:800}.switch-btn{width:52px;height:30px;border:0;border-radius:999px;padding:4px;display:flex;align-items:center;transition:.2s;background:#334155;cursor:pointer}.switch-btn i{display:block;width:22px;height:22px;border-radius:50%;background:#fff;transition:.2s}.switch-btn.on{background:#22c55e}.switch-btn.on i{transform:translateX(22px)}.switch-btn.off{background:#475569}.reminder-notice{border-left:4px solid #22c55e;background:#f0fdf4}.notice-card .btn{margin-top:10px}.badge-soft{background:#f1f5f9;color:#334155}.license-card.enhanced{display:flex;flex-direction:column;gap:10px}.license-card.enhanced .license-img{height:148px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#e0f2fe,#ede9fe);display:flex;align-items:center;justify-content:center;font-size:56px}.license-card.enhanced .license-img img{width:100%;height:100%;object-fit:cover}.license-card.enhanced .license-info{display:flex;flex-direction:column;gap:8px}.license-topline{display:flex;flex-wrap:wrap;gap:6px}.license-card.enhanced h3{margin:0;font-size:18px;line-height:1.2}.license-card.enhanced p{margin:0;color:#64748b;min-height:38px}.license-meta-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.stock-pill{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-weight:800}.detail-price-box{margin-top:10px;padding:12px 14px;background:#f8fafc;border-radius:18px;border:1px solid #e5e7eb}.detail-price-box .price{font-size:26px}.social-cat-grid.compact-slider{display:flex!important;gap:10px;overflow:auto;padding-bottom:6px;scroll-snap-type:x proximity}.social-cat-chip{min-width:138px;flex:0 0 auto;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;scroll-snap-align:start;box-shadow:0 10px 24px rgba(15,23,42,.04)}.social-cat-chip.active{background:#eff6ff;border-color:#2563eb}.social-cat-chip i{font-style:normal;font-size:24px}.social-cat-chip b{font-size:15px}.social-cat-chip span{font-size:12px;color:#64748b}.social-service-list{display:grid;gap:10px}.social-service-card{border-radius:18px}.admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn.danger{background:#ef4444;color:#fff}@media(min-width:900px){.app-shell{max-width:760px}.topbar .brand{gap:14px}.service-grid.big{grid-template-columns:repeat(4,1fr)}.social-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.license-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid;gap:14px}.license-detail{padding:20px}.bottom-nav{max-width:760px}}@media(max-width:520px){.license-card.enhanced .license-img{height:122px;border-radius:18px}.social-cat-chip{min-width:126px}.history-tabs .pill-tab{padding:9px 13px}}

/* ===== V18 effects, voucher checkout, search, balance eye ===== */
:root{scroll-behavior:smooth}body{overflow-x:hidden}.content{animation:pageFade .28s ease both}.app-shell{animation:phonePop .32s ease both}@keyframes pageFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes phonePop{from{opacity:.94;transform:scale(.992)}to{opacity:1;transform:none}}a,button,.quick-service,.service-grid a,.mini-product,.license-card,.voucher-card,.package-card,.social-service-card,.search-item{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}a:active,button:active,.tap-pop{transform:scale(.965)!important}.service-grid a:hover,.mini-product:hover,.license-card:hover,.voucher-card:hover,.package-card:hover,.social-service-card:hover,.search-item:hover{box-shadow:0 18px 38px rgba(15,23,42,.12);transform:translateY(-2px)}.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);background:#0f172a;color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;z-index:9999;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.balance-eye{border:0;background:transparent;font-size:16px;padding:0 2px;vertical-align:middle}.balance-value{transition:.2s}.pay-box{margin-top:12px;border:1px solid #e2e8f0;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);padding:12px;display:grid;gap:10px}.pay-box label{font-weight:900}.pay-box select{margin-top:6px;width:100%;border:1px solid #dbe4f0;border-radius:14px;padding:12px;background:#fff;font-weight:800}.points-slider-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px;display:grid;gap:10px}.points-slider-row>div{display:flex;justify-content:space-between;align-items:center}.points-value{color:#0b49df;font-weight:900}.points-range{width:100%;accent-color:#0b49df}.pay-summary{display:grid;gap:5px;color:#64748b;font-size:13px}.pay-summary span{display:flex;justify-content:space-between;gap:10px}.pay-summary strong{display:flex;justify-content:flex-end;color:#0f172a;font-size:18px}.voucher-cta{margin:16px 0}.reward-top{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.reward-top .pill-tab{white-space:nowrap}.voucher-grid.exchange-page,.my-vouchers{align-items:stretch}.voucher-ticket{min-height:265px;display:flex;flex-direction:column}.voucher-ticket .voucher-img{height:126px;border-radius:20px;background:linear-gradient(135deg,#0b49df,#38bdf8);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:42px}.voucher-ticket .voucher-img img{width:100%;height:100%;object-fit:cover}.voucher-ticket h3{margin:12px 0 6px;line-height:1.2}.voucher-ticket p{min-height:48px}.voucher-ticket .space{margin-top:auto}.search-card{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);z-index:3;padding:8px 0}.big-search{width:100%;border:1px solid #dbe4f0;border-radius:22px;padding:16px 18px;font-size:17px;font-weight:800;box-shadow:0 12px 32px rgba(15,23,42,.06)}.search-results{display:grid;gap:10px;margin-top:12px}.search-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:12px;text-decoration:none;color:#0f172a}.search-item span{width:58px;height:58px;border-radius:18px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;flex:0 0 auto}.search-item img{width:100%;height:100%;object-fit:cover}.search-item b{display:block}.search-item small{display:block;color:#64748b;margin-top:4px}.quick-service-grid{scroll-behavior:smooth}.quick-service{animation:tileIn .28s ease both}.quick-service:nth-child(2n){animation-delay:.025s}.quick-service:nth-child(3n){animation-delay:.05s}@keyframes tileIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.product-scroll{scroll-snap-type:x proximity;scroll-behavior:smooth}.mini-product{scroll-snap-align:start}.bottom-nav a.active{animation:navPulse .35s ease}@keyframes navPulse{0%{transform:scale(.9)}70%{transform:scale(1.06)}100%{transform:scale(1)}}@media(min-width:900px){.voucher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pay-box{grid-template-columns:1fr}.search-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.pay-summary strong{font-size:16px}.voucher-ticket{min-height:250px}.voucher-ticket .voucher-img{height:110px}}


/* ===== V18B FIX: thanh cuối trang bị tụt / bị Safari che =====
   Mục tiêu:
   - Bottom nav luôn nổi trên thanh địa chỉ Safari/iPhone.
   - Không bị tụt xuống mất icon giữa.
   - Chừa khoảng trống cuối trang để nội dung không đè vào nav.
*/
:root{
  --safe-bottom-v18b: env(safe-area-inset-bottom, 0px);
  --nav-height-v18b: 86px;
}

html, body{
  min-height: 100%;
}

body{
  padding-bottom: calc(var(--nav-height-v18b) + var(--safe-bottom-v18b) + 28px) !important;
}

/* Nếu web dùng khung app riêng thì cũng chừa đáy */
.app-shell,
.app,
.page,
.main,
.content,
main{
  padding-bottom: calc(var(--nav-height-v18b) + var(--safe-bottom-v18b) + 22px);
}

/* Thanh menu cuối */
.bottom-nav,
.app-bottom-nav,
.mobile-nav,
.nav-bottom,
.footer-nav{
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(var(--safe-bottom-v18b) + 10px) !important;
  transform: translateX(-50%) !important;
  width: min(94vw, 760px) !important;
  max-width: 760px !important;
  min-height: var(--nav-height-v18b) !important;
  height: var(--nav-height-v18b) !important;
  padding: 8px 10px calc(8px + var(--safe-bottom-v18b)) !important;
  border-radius: 28px !important;
  z-index: 99999 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

/* Item trong thanh nav */
.bottom-nav a,
.app-bottom-nav a,
.mobile-nav a,
.nav-bottom a,
.footer-nav a{
  min-width: 0 !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 3px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  overflow: visible !important;
}

/* Icon giữa nổi */
.bottom-nav .center,
.bottom-nav .middle,
.bottom-nav .nav-center,
.bottom-nav .active-center,
.app-bottom-nav .center,
.mobile-nav .center,
.nav-bottom .center,
.footer-nav .center{
  transform: translateY(-22px) !important;
  width: 74px !important;
  height: 74px !important;
  border-radius: 999px !important;
  z-index: 2 !important;
  box-shadow: 0 16px 38px rgba(29,78,216,.28) !important;
}

/* Trường hợp icon giữa không có class, bắt item thứ 3 */
.bottom-nav a:nth-child(3),
.app-bottom-nav a:nth-child(3),
.mobile-nav a:nth-child(3),
.nav-bottom a:nth-child(3),
.footer-nav a:nth-child(3){
  overflow: visible !important;
}

.bottom-nav a:nth-child(3) .ico,
.bottom-nav a:nth-child(3) i,
.app-bottom-nav a:nth-child(3) .ico,
.mobile-nav a:nth-child(3) .ico,
.nav-bottom a:nth-child(3) .ico,
.footer-nav a:nth-child(3) .ico{
  overflow: visible !important;
}

/* Chống nội dung bị nav che khi scroll tới cuối */
body::after{
  content:"";
  display:block;
  height: calc(var(--nav-height-v18b) + var(--safe-bottom-v18b) + 44px);
}

/* iPhone Safari nhỏ */
@media (max-width: 520px){
  .bottom-nav,
  .app-bottom-nav,
  .mobile-nav,
  .nav-bottom,
  .footer-nav{
    width: calc(100vw - 16px) !important;
    bottom: calc(var(--safe-bottom-v18b) + 8px) !important;
    border-radius: 26px !important;
  }
  .bottom-nav a,
  .app-bottom-nav a,
  .mobile-nav a,
  .nav-bottom a,
  .footer-nav a{
    font-size: 13px !important;
  }
}

/* Khi Safari hiện thanh địa chỉ dưới, giảm độ tụt icon giữa để không mất nút */
@supports (-webkit-touch-callout: none){
  .bottom-nav,
  .app-bottom-nav,
  .mobile-nav,
  .nav-bottom,
  .footer-nav{
    bottom: calc(var(--safe-bottom-v18b) + 12px) !important;
  }
}


/* ===== V18C FINAL FIX: bottom nav tách khỏi app-shell / Safari =====
   Lý do bản cũ vẫn lỗi: bottom-nav nằm bên trong .app-shell có animation/transform,
   iOS Safari có thể tính position:fixed theo khung app thay vì viewport.
*/
.app-shell{
  transform:none !important;
  animation:none !important;
  overflow:visible !important;
  contain:none !important;
  padding-bottom: calc(150px + env(safe-area-inset-bottom,0px)) !important;
}
.content{
  padding-bottom: calc(150px + env(safe-area-inset-bottom,0px)) !important;
}

/* Nav hiện là con trực tiếp của body sau V18C */
body > .bottom-nav,
.bottom-nav.custom-bottom-nav,
.bottom-nav.zlp-nav{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:calc(env(safe-area-inset-bottom,0px) + 12px) !important;
  transform:translate3d(-50%,0,0) !important;
  width:calc(100vw - 18px) !important;
  max-width:760px !important;
  min-height:82px !important;
  height:82px !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  align-items:center !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(226,232,240,.96) !important;
  border-radius:30px !important;
  box-shadow:0 -12px 34px rgba(15,23,42,.13) !important;
  z-index:2147483000 !important;
  padding:7px 8px !important;
  margin:0 !important;
  overflow:visible !important;
  -webkit-backdrop-filter:blur(18px) !important;
  backdrop-filter:blur(18px) !important;
  pointer-events:auto !important;
}

body > .bottom-nav a,
.bottom-nav.custom-bottom-nav a,
.bottom-nav.zlp-nav a{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  min-width:0 !important;
  height:64px !important;
  padding:5px 2px !important;
  border-radius:20px !important;
  color:#64748b !important;
  line-height:1.1 !important;
  overflow:visible !important;
}

body > .bottom-nav a span,
.bottom-nav.custom-bottom-nav a span,
.bottom-nav.zlp-nav a span{
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body > .bottom-nav a.active:not(.nav-center),
.bottom-nav.custom-bottom-nav a.active:not(.nav-center),
.bottom-nav.zlp-nav a.active:not(.nav-center){
  background:#eef2ff !important;
  color:#0b49df !important;
}

body > .bottom-nav .nav-center,
.bottom-nav.custom-bottom-nav .nav-center,
.bottom-nav.zlp-nav .nav-center{
  width:76px !important;
  height:76px !important;
  min-height:76px !important;
  border-radius:999px !important;
  transform:translateY(-24px) !important;
  margin:0 auto !important;
  background:#0b49df !important;
  color:#fff !important;
  box-shadow:0 18px 38px rgba(11,73,223,.34) !important;
}

body > .bottom-nav .nav-center span,
.bottom-nav.custom-bottom-nav .nav-center span,
.bottom-nav.zlp-nav .nav-center span{
  color:#fff !important;
  font-size:11px !important;
}

/* Đảm bảo body không tạo after quá lớn gây tưởng nav nằm giữa trang */
body::after{
  content:"";
  display:block;
  height:calc(120px + env(safe-area-inset-bottom,0px)) !important;
}

/* Khi mở bàn phím/toolbar co giãn, nav vẫn bám viewport */
@supports (-webkit-touch-callout:none){
  body > .bottom-nav,
  .bottom-nav.custom-bottom-nav,
  .bottom-nav.zlp-nav{
    bottom:calc(env(safe-area-inset-bottom,0px) + 14px) !important;
    position:fixed !important;
  }
}


/* ===== V19 UI fixes ===== */
.app-shell{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))!important;min-height:auto!important}
.content{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))!important}
body{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))!important}
body::after{height:16px!important}
.xu-card{position:relative;overflow:hidden}
.xu-card::after{content:"✓";position:absolute;right:18px;bottom:8px;font-size:58px;line-height:1;color:rgba(255,255,255,.38);font-weight:1000;transform:none!important}
.xu-card .member-rank-line{display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}
.xu-card .member-rank-line .coin-icon{order:2;margin-left:2px}.xu-card .member-rank-line{font-size:28px!important}
.featured-price{display:block;color:#64748b;font-size:13px;font-weight:800;margin-top:4px}
.quick-service small{display:block;margin-top:4px;color:#0b49df;font-weight:900;font-size:12px}
.wallet-tabs{position:sticky;top:70px;background:rgba(255,255,255,.92);z-index:8;padding:8px 0}
.withdraw-form input,.card-form input,.card-form select{min-height:52px}
.zalo-profile{margin:-14px;background:#edf4ff;min-height:calc(100vh - 120px);padding-bottom:140px}
.zalo-profile-head{background:linear-gradient(180deg,#0b49df,#13c2f3);color:#fff;border-radius:0 0 28px 28px;padding:28px 22px 86px}
.zp-title{text-align:center;font-weight:1000;font-size:22px;margin-bottom:32px}
.zp-user{display:flex;align-items:center;gap:18px;position:relative}
.zp-user .profile-avatar{width:108px!important;height:108px!important;border:3px solid rgba(255,255,255,.85);box-shadow:0 12px 28px rgba(0,0,0,.14)}
.zp-user h2{margin:0;color:#fff;font-size:26px}.zp-user p{margin:6px 0;color:rgba(255,255,255,.92);font-size:19px}
.verified{display:inline-grid;place-items:center;background:#22c55e;color:#fff;border:2px solid #fff;border-radius:50%;font-size:16px;width:25px;height:25px}
.verify-badge{display:inline-block;background:#e8fff2;color:#087a38;border-radius:12px;padding:7px 14px;font-weight:1000}
.edit-pen{position:absolute;right:4px;top:10px;font-size:24px;color:#fff}
.zp-body{margin:-62px 14px 0}.zp-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.zp-mini,.zp-section{background:#fff;border:1px solid #dbeafe;border-radius:18px;box-shadow:0 14px 38px rgba(15,23,42,.08)}
.zp-mini{padding:16px;min-height:104px}.zp-mini b,.zp-mini span{display:block}.zp-mini b{font-size:19px}.zp-mini span{color:#64748b;margin-top:6px}
.zp-section{padding:16px;margin-bottom:18px}.zp-section h3{margin:0 0 12px;font-size:23px}
.zp-row{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px dashed #e2e8f0}.zp-row:last-child{border-bottom:0}
.zp-row>span{font-size:30px;width:46px;text-align:center}.zp-row div{flex:1}.zp-row b{display:block;font-size:19px}.zp-row small{display:block;color:#64748b;margin-top:4px}.zp-row i{font-size:30px;color:#94a3b8;font-style:normal}
.avatar-form.neat{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:10px 0}
.avatar-form.neat label{margin:0}.avatar-form.neat input,.avatar-form.neat select{width:100%;min-height:50px;border-radius:16px;border:1px dashed #cbd5e1;background:#f8fafc;padding:10px}
.avatar-form.neat .btn{height:50px;white-space:nowrap}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-actions .btn:first-child,.profile-actions .btn:last-child{grid-column:span 2}
.admin-actions input{min-height:38px;border-radius:10px;border:1px solid #dbeafe;padding:7px 9px}
.admin-table select,.admin-table input{min-height:40px;border:1px solid #dbeafe;border-radius:10px;padding:7px}
@media(max-width:520px){.zp-user .profile-avatar{width:92px!important;height:92px!important}.zp-user h2{font-size:23px}.zp-two{grid-template-columns:1fr}.avatar-form.neat{grid-template-columns:1fr}.profile-actions{grid-template-columns:1fr}.profile-actions .btn{grid-column:auto!important}.xu-card .member-rank-line{font-size:25px!important}}


/* ===== V20: no gap, product prices, voucher image, Coin, no check V ===== */
html,body{min-height:100%;margin:0!important;overflow-x:hidden!important;background:var(--bg,#f6f8fc)!important}
body{padding-bottom:0!important}
.app-shell{min-height:100dvh!important;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important}
.content{min-height:auto!important;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
body::after,.app-shell::after,.content::after{display:none!important;content:none!important}
.bottom-nav,.zlp-nav,.custom-bottom-nav{position:fixed!important;left:max(10px,env(safe-area-inset-left,0px))!important;right:max(10px,env(safe-area-inset-right,0px))!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;margin:0 auto!important;max-width:920px!important;z-index:9999!important}
.xu-card::after,.Coin-card::after,.member-card::after{display:none!important;content:none!important}
.xu-card .member-rank-line,.Coin-card .member-rank-line,.member-card .member-rank-line{display:flex!important;align-items:center!important;gap:8px!important}
.coin-icon{font-style:normal!important;background:linear-gradient(135deg,#ffd45c,#f59e0b)!important;color:#fff!important;border-radius:999px!important;min-width:24px!important;height:24px!important;display:inline-grid!important;place-items:center!important;font-size:13px!important;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)}
.coin-icon.small{min-width:20px!important;height:20px!important;font-size:11px!important}
.mini-product.price-side{width:188px!important;min-height:190px!important;text-align:left!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:12px!important}
.mini-product.price-side .prod-img{width:100%!important;height:94px!important;border-radius:16px!important;overflow:hidden!important}
.mini-product.price-side .prod-img img{width:100%!important;height:100%!important;object-fit:cover!important}
.mini-product-info{display:flex;flex-direction:column;gap:3px}
.mini-product-info b{font-size:18px!important;line-height:1.15!important;color:#0f172a!important}
.mini-product-info small{font-size:12px!important;color:#64748b!important;line-height:1.2!important;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.prod-price,.featured-price{display:inline-flex!important;align-items:center!important;align-self:flex-start!important;background:#eaf2ff!important;color:#0b49df!important;border-radius:999px!important;padding:5px 9px!important;font-weight:1000!important;font-size:13px!important;margin-top:2px!important}
.recommend-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:10px 0 20px!important}
.recommend-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:12px;box-shadow:0 12px 34px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:6px;min-height:190px}
.recommend-card div{height:86px;border-radius:16px;background:#f1f5f9;overflow:hidden;display:grid;place-items:center;font-size:32px}
.recommend-card img{width:100%;height:100%;object-fit:cover}
.recommend-card b{font-size:18px;color:#0f172a}.recommend-card span{font-size:13px;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recommend-card em{font-style:normal;color:#0b49df;background:#eaf2ff;border-radius:999px;padding:5px 9px;font-weight:1000;align-self:flex-start}
.voucher-img{width:100%!important;height:126px!important;border-radius:18px!important;background:linear-gradient(135deg,#1677ff,#36d1dc)!important;overflow:hidden!important;display:grid!important;place-items:center!important}
.voucher-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.voucher-ticket,.voucher-card{overflow:hidden!important}
.voucher-admin-preview{grid-column:1/-1;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:12px}
.voucher-admin-preview img{display:block;width:260px;max-width:100%;height:120px;object-fit:cover;border-radius:14px;margin-top:8px}
@media(max-width:520px){
  .content{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
  .bottom-nav,.zlp-nav,.custom-bottom-nav{bottom:calc(6px + env(safe-area-inset-bottom,0px))!important}
  .recommend-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mini-product.price-side{width:170px!important}
}


/* ===== V21: giá đều, Zalo đề xuất, nhiệm vụ xu, Telegram, rank màu chuẩn ===== */
.quick-service-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(92px,1fr))!important;
  gap:12px!important;
}
.quick-service{
  min-height:132px!important;
  height:132px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:6px!important;
  padding:12px 8px!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.quick-service span{
  flex:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.05!important;
  min-height:34px!important;
  font-size:17px!important;
}
.quick-service small{
  margin-top:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  font-size:17px!important;
  color:#0757e8!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
.quick-service small::after{content:'💎';font-size:15px;margin-left:2px}
.service-icon-box,.quick-service i{
  width:54px!important;height:54px!important;min-width:54px!important;
  display:grid!important;place-items:center!important;overflow:hidden!important;
}
.quick-service img,.service-icon-box img{width:100%!important;height:100%!important;object-fit:contain!important}
.compact-pay .pay-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-top:10px!important;
  padding:12px 14px!important;
  background:#f8fbff!important;
  border-radius:16px!important;
  border:1px solid #dbe7f6!important;
}
.compact-pay .pay-total{display:flex;align-items:center;gap:8px}
.compact-pay .pay-total span{color:#64748b;font-weight:900}
.compact-pay .pay-total b{font-size:22px;color:#0b49df}
.compact-pay .pay-summary small{color:#64748b;font-weight:800;text-align:right}
.quick-rent-side{display:flex!important;align-items:stretch!important}
.quick-rent-side .btn{width:100%!important;min-height:52px!important}
.z-suggest-title{margin-top:24px!important}
.z-suggest-scroll{
  display:flex!important;
  gap:16px!important;
  overflow-x:auto!important;
  padding:8px 2px 18px!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
}
.z-suggest-scroll::-webkit-scrollbar,.rank-carousel::-webkit-scrollbar{display:none}
.z-suggest-card{
  min-width:112px!important;
  width:112px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
  scroll-snap-align:start!important;
  color:#08203f!important;
  position:relative!important;
}
.z-suggest-card i{
  width:66px!important;height:66px!important;border:1px solid #e2eaf5!important;
  border-radius:22px!important;background:#fff!important;display:grid!important;place-items:center!important;
  font-style:normal!important;font-size:30px!important;box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
}
.z-suggest-card img{width:70%!important;height:70%!important;object-fit:contain!important}
.z-suggest-card span{text-align:center!important;font-weight:850!important;font-size:16px!important;line-height:1.15!important}
.z-suggest-card em{position:absolute!important;top:-6px!important;right:8px!important;background:#ffedf0!important;color:#e11d48!important;border-radius:999px!important;padding:2px 6px!important;font-style:normal!important;font-weight:900!important;font-size:12px!important}
.member-card.rank-bronze,.xu-card.rank-bronze{background:linear-gradient(135deg,#16b957,#20d074)!important;color:white!important}
.member-card.rank-silver,.xu-card.rank-silver{background:linear-gradient(135deg,#9fb5d5,#dbeafe)!important;color:#0f172a!important}
.member-card.rank-gold,.xu-card.rank-gold{background:linear-gradient(135deg,#d5a928,#ffe17c)!important;color:#172033!important}
.member-card.rank-diamond,.xu-card.rank-diamond{background:linear-gradient(135deg,#061224,#14264a)!important;color:white!important}
.member-card.rank-silver small,.xu-card.rank-silver small,.member-card.rank-gold small,.xu-card.rank-gold small{color:#172033!important}
.member-card .member-rank-line{display:flex!important;align-items:center!important;gap:8px!important;color:inherit!important}
.member-card .member-top,.member-card small{color:inherit!important;opacity:.92!important}
.member-page.rank-bronze{--rank-grad:linear-gradient(135deg,#0fc560,#18a758)}
.member-page.rank-silver{--rank-grad:linear-gradient(135deg,#aabbd3,#dbeafe)}
.member-page.rank-gold{--rank-grad:linear-gradient(135deg,#d7ad2b,#fbe36b)}
.member-page.rank-diamond{--rank-grad:linear-gradient(135deg,#061224,#122446)}
.zlp-member-hero{background:var(--rank-grad)!important;color:#fff!important}
.member-page.rank-silver .zlp-member-hero,.member-page.rank-gold .zlp-member-hero{color:#10213d!important}
.zlp-member-hero h1,.zlp-member-hero p,.zlp-member-hero small{color:inherit!important}
.rank-carousel{
  display:flex!important;
  gap:14px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  padding:4px 2px 18px!important;
}
.rank-card{
  min-width:78%!important;
  border-radius:24px!important;
  padding:18px!important;
  color:white!important;
  box-shadow:0 14px 36px rgba(15,23,42,.14)!important;
  scroll-snap-align:center!important;
  position:relative!important;
  overflow:hidden!important;
}
.rank-card::after{content:'Z';position:absolute;right:22px;top:14px;font-size:72px;font-weight:1000;opacity:.18}
.rank-card-silver,.rank-card-gold{color:#10213d!important}
.rank-card-bronze{background:linear-gradient(135deg,#16b957,#20d074)!important}
.rank-card-silver{background:linear-gradient(135deg,#aabbd3,#eaf2ff)!important}
.rank-card-gold{background:linear-gradient(135deg,#d7ad2b,#fbe36b)!important}
.rank-card-diamond{background:linear-gradient(135deg,#061224,#14264a)!important}
.rank-card.active{outline:3px solid rgba(255,255,255,.9)!important}
.rank-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.rank-card-top b{font-size:22px}.rank-card-top span{font-weight:900;border-radius:999px;background:rgba(255,255,255,.22);padding:5px 9px}
.rank-card p{font-size:18px;font-weight:850;margin:18px 0 8px}.rank-card small{display:block;opacity:.9;line-height:1.3}.rank-card .progress{margin-top:16px;height:8px;border-radius:99px;background:rgba(255,255,255,.28);overflow:hidden}.rank-card .progress i{display:block;height:100%;background:#22e16b;border-radius:inherit}
.dark-title span{font-size:13px;color:#64748b;font-weight:800}
.task-page{background:#eef7ff;margin:-10px -2px 0;padding:0 0 120px;border-radius:0 0 26px 26px}
.task-hero{background:linear-gradient(180deg,#064bdc,#0d68ff);color:white;padding:24px 22px 110px;position:relative}
.task-hero h2{margin:0;text-align:center}.task-hero .back{position:absolute;left:18px;top:18px;background:rgba(255,255,255,.14);color:white;width:42px;height:42px;border-radius:99px;display:grid;place-items:center;font-size:30px}.task-hero span{position:absolute;right:18px;top:24px;font-weight:900;background:rgba(0,0,0,.15);border-radius:999px;padding:7px 10px}
.task-check-card,.task-card{background:white;border-radius:24px;margin:0 18px 14px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.08);border:1px solid #e2e8f0}
.task-check-card{margin-top:-78px;position:relative;z-index:2}
.checkin-days.compact{gap:8px;overflow-x:auto}
.task-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:14px}
.task-card i{width:52px;height:52px;border-radius:16px;background:#f2f8ff;display:grid;place-items:center;font-style:normal;font-size:28px;overflow:hidden}
.task-card i img{width:100%;height:100%;object-fit:cover}.task-card h3{margin:0 0 6px;font-size:18px}.task-card p{margin:0 0 8px;color:#64748b;font-weight:700;line-height:1.35}.task-card b{color:#0b49df;font-size:17px}
.telegram-link-box code{background:#eef4ff;color:#0b49df;border-radius:8px;padding:2px 6px;font-weight:900}
.copy-link-code{margin-top:10px!important}
.admin-thumb{width:48px;height:48px;object-fit:cover;border-radius:12px}.link-danger{border:0;background:transparent;color:#ef4444;font-weight:900;cursor:pointer}
@media(max-width:560px){
  .quick-service-grid{grid-template-columns:repeat(5, minmax(86px,1fr))!important;overflow-x:auto!important;display:flex!important}
  .quick-service{min-width:92px!important;width:92px!important;height:132px!important}
  .quick-service span{font-size:15px!important}
  .quick-service small{font-size:16px!important}
  .compact-pay .pay-summary{flex-direction:column!important;align-items:flex-start!important}
  .compact-pay .pay-summary small{text-align:left!important}
  .rank-card{min-width:82%!important}
}

/* V21.1 mobile quick-grid stays 5 equal columns */
@media(max-width:560px){
  .quick-service-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
  .quick-service{min-width:0!important;width:100%!important;height:126px!important;padding:9px 4px!important}
  .quick-service span{font-size:13.5px!important;line-height:1.05!important;word-break:normal!important}
  .quick-service small{font-size:14px!important}
  .quick-service i,.quick-service .service-icon-box{width:46px!important;height:46px!important;min-width:46px!important}
}

.admin-webhook-helper-v22b{margin:14px 0;padding:14px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;color:#334155;line-height:1.5;word-break:break-all}.admin-webhook-helper-v22b small{display:block;margin-top:4px;color:#64748b;font-weight:800}


/* ===== V24: Telegram status, support chat app UI, auto reply, no coin icon ===== */
.coin-icon,.coin-badge i,.points-pill i,.member-rank-line .coin-icon,.task-coin-badge .coin-icon{display:none!important}
.verified.bad{background:#ef4444!important}
.verify-badge.tg-status{display:inline-flex!important;align-items:center!important;gap:6px!important;font-weight:1000!important;border-radius:14px!important;padding:8px 14px!important}
.verify-badge.tg-status.linked{background:#dcfce7!important;color:#087a38!important}
.verify-badge.tg-status.unlinked{background:#fee2e2!important;color:#b91c1c!important}
.telegram-link-box .zp-row b{color:#0f172a}
.telegram-link-box .zp-row b:has(+ small){font-weight:1000}
.z-suggest-title{margin-top:22px!important}
.z-suggest-scroll{margin-bottom:18px!important}
.app-chat{overflow:hidden!important;border-radius:28px!important;background:#fff!important;box-shadow:0 16px 45px rgba(15,23,42,.08)!important}
.zalo-chat-head{background:#fff!important;border-bottom:1px solid #e2e8f0!important}
.zalo-chat-head b{font-size:22px!important}
.zalo-chat-head span{color:#64748b!important;font-weight:800!important}
.zalo-messages{
  min-height:430px!important;
  max-height:62vh!important;
  overflow-y:auto!important;
  background:#eef5ff!important;
  padding:20px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.zmsg{display:flex!important;max-width:100%!important}
.zmsg.user{justify-content:flex-end!important}
.zmsg.admin{justify-content:flex-start!important}
.zmsg-bubble{
  max-width:78%!important;
  border-radius:24px!important;
  padding:13px 15px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
  position:relative!important;
}
.zmsg.user .zmsg-bubble{background:#1478ff!important;color:#fff!important;border-bottom-right-radius:8px!important}
.zmsg.admin .zmsg-bubble{background:#fff!important;color:#0f172a!important;border-bottom-left-radius:8px!important}
.zmsg-bubble b{display:flex!important;align-items:center!important;gap:6px!important;font-size:14px!important;margin-bottom:6px!important;opacity:.9}
.zmsg-bubble p{margin:0!important;font-size:17px!important;line-height:1.32!important;white-space:pre-wrap!important}
.zmsg-bubble span{display:block!important;margin-top:8px!important;font-size:12px!important;opacity:.75!important}
.admin-check{
  display:inline-grid!important;place-items:center!important;
  width:18px!important;height:18px!important;border-radius:50%!important;
  background:#22c55e!important;color:white!important;font-size:12px!important;font-weight:1000!important;
}
.chat-img-link{display:block!important;margin-top:8px!important}
.chat-img-link img{max-width:220px!important;max-height:260px!important;border-radius:16px!important;object-fit:cover!important;display:block!important}
.zalo-input.app-chat-input{
  display:grid!important;
  grid-template-columns:48px 1fr 54px!important;
  align-items:end!important;
  gap:10px!important;
  padding:14px 16px!important;
  background:#fff!important;
  border-top:1px solid #e2e8f0!important;
  position:relative!important;
}
.zalo-input.app-chat-input textarea{
  min-height:52px!important;
  max-height:120px!important;
  resize:none!important;
  border:1px solid #dbe7f6!important;
  border-radius:22px!important;
  background:#fff!important;
  padding:14px 16px!important;
  font-size:17px!important;
  font-weight:750!important;
  outline:none!important;
}
.zalo-input.app-chat-input button{
  width:54px!important;height:54px!important;border:0!important;border-radius:50%!important;
  background:linear-gradient(135deg,#0b49df,#1478ff)!important;color:white!important;
  font-size:22px!important;font-weight:1000!important;display:grid!important;place-items:center!important;
}
.chat-attach{
  width:48px!important;height:48px!important;border-radius:50%!important;
  background:#eef4ff!important;color:#0b49df!important;display:grid!important;place-items:center!important;
  font-size:22px!important;cursor:pointer!important;margin:0!important;
}
.chat-attach input{display:none!important}
.tg-mini{display:inline-flex!important;margin-left:8px!important;background:#dcfce7!important;color:#087a38!important;border-radius:999px!important;padding:4px 8px!important;font-size:12px!important}
.tg-mini.off{background:#fee2e2!important;color:#b91c1c!important}
.support-thread-list .thread-item b{font-size:15px!important}
.support-thread-list .thread-item span{font-weight:800!important;line-height:1.25!important}
.support-thread-list .thread-item small{color:#64748b!important}
@media(max-width:720px){
  .admin-support-layout{display:block!important}
  .support-thread-list{max-height:none!important;margin-bottom:14px!important}
  .zalo-messages{min-height:390px!important;max-height:58vh!important;padding:16px!important}
  .zmsg-bubble{max-width:84%!important}
  .zalo-input.app-chat-input{grid-template-columns:44px 1fr 50px!important;padding:12px!important}
  .zalo-input.app-chat-input button{width:50px!important;height:50px!important}
  .chat-attach{width:44px!important;height:44px!important}
}

/* Keep account/profile from cutting behind bottom nav */
.zalo-profile{padding-bottom:180px!important}


/* ===== V25: đồng bộ màu theo cấp bậc + icon ô Đổi quà/Kiếm xu/Voucher chỉnh trong admin ===== */
.member-page.rank-bronze{
  --rank-main:#16b957;
  --rank-main-2:#20d074;
  --rank-soft:#dcfce7;
  --rank-text:#ffffff;
  --rank-on-soft:#0f172a;
  --rank-track:rgba(255,255,255,.32);
}
.member-page.rank-silver{
  --rank-main:#9fb5d5;
  --rank-main-2:#eaf2ff;
  --rank-soft:#eaf2ff;
  --rank-text:#10213d;
  --rank-on-soft:#10213d;
  --rank-track:rgba(15,23,42,.14);
}
.member-page.rank-gold{
  --rank-main:#d7ad2b;
  --rank-main-2:#fbe36b;
  --rank-soft:#fff7cc;
  --rank-text:#172033;
  --rank-on-soft:#172033;
  --rank-track:rgba(15,23,42,.14);
}
.member-page.rank-diamond{
  --rank-main:#061224;
  --rank-main-2:#14264a;
  --rank-soft:#e8f0ff;
  --rank-text:#ffffff;
  --rank-on-soft:#ffffff;
  --rank-track:rgba(255,255,255,.28);
}

/* Nền trang hạng vẫn chỉnh được trong admin, nhưng card bên trong đồng bộ theo hạng */
.member-page.zlp-reward-page{
  background:var(--rank_page_bg,#dcfce7)!important;
}
.member-page .zlp-member-hero,
.member-page .rank-sync-shortcuts,
.member-page .checkin-card{
  background:linear-gradient(135deg,var(--rank-main),var(--rank-main-2))!important;
  color:var(--rank-text)!important;
}
.member-page .zlp-member-hero *,
.member-page .rank-sync-shortcuts *,
.member-page .checkin-card *{
  color:inherit!important;
}
.member-page.rank-silver .zlp-member-hero,
.member-page.rank-silver .rank-sync-shortcuts,
.member-page.rank-silver .checkin-card,
.member-page.rank-gold .zlp-member-hero,
.member-page.rank-gold .rank-sync-shortcuts,
.member-page.rank-gold .checkin-card{
  color:#10213d!important;
}
.member-page.rank-diamond .rank-sync-shortcuts,
.member-page.rank-diamond .checkin-card{
  background:linear-gradient(135deg,#061224,#122446)!important;
  color:#fff!important;
}
.member-page .zlp-member-hero .progress,
.member-page .rank-card .progress,
.member-page .checkin-card .progress{
  background:var(--rank-track)!important;
}
.member-page .zlp-member-hero .progress i,
.member-page .rank-card .progress i{
  background:rgba(255,255,255,.78)!important;
}
.member-page.rank-bronze .zlp-member-hero .progress i,
.member-page.rank-bronze .rank-card .progress i{
  background:#bbf7d0!important;
}
.member-page.rank-diamond .zlp-member-hero .progress i,
.member-page.rank-diamond .rank-card .progress i{
  background:#22e16b!important;
}

/* Ô Đổi quà / Kiếm xu / Voucher hiện có */
.rank-sync-shortcuts{
  box-shadow:0 14px 38px rgba(15,23,42,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
.rank-sync-shortcuts a{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:86px!important;
  border-radius:18px!important;
  text-decoration:none!important;
  font-weight:1000!important;
}
.rank-sync-shortcuts .shortcut-ico{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.18)!important;
  font-size:25px!important;
  font-style:normal!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.rank-sync-shortcuts .shortcut-ico.custom{
  background:rgba(255,255,255,.24)!important;
}
.rank-sync-shortcuts .shortcut-ico img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.rank-sync-shortcuts span{
  font-size:18px!important;
  line-height:1.08!important;
  text-align:center!important;
}
.member-page.rank-silver .rank-sync-shortcuts .shortcut-ico,
.member-page.rank-gold .rank-sync-shortcuts .shortcut-ico{
  background:rgba(255,255,255,.55)!important;
}
.member-page.rank-diamond .rank-sync-shortcuts .shortcut-ico{
  background:rgba(34,197,94,.16)!important;
}

/* Điểm danh nhận xu: đồng bộ màu với card hạng */
.member-page .checkin-card{
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 16px 42px rgba(15,23,42,.14)!important;
}
.member-page .checkin-card .muted{
  color:color-mix(in srgb, currentColor 72%, transparent)!important;
}
.member-page .checkin-day{
  color:inherit!important;
  opacity:.9!important;
  font-weight:850!important;
}
.member-page .checkin-day i{
  background:rgba(255,255,255,.24)!important;
  color:inherit!important;
}
.member-page .checkin-day.done i{
  background:rgba(255,255,255,.9)!important;
  color:var(--rank-main)!important;
}
.member-page.rank-diamond .checkin-day.done i{
  color:#16a34a!important;
}
.member-page .switch-btn.on{
  background:rgba(255,255,255,.9)!important;
}
.member-page.rank-bronze .switch-btn.on i,
.member-page.rank-diamond .switch-btn.on i{
  background:#16a34a!important;
}

/* Cho phép admin ép màu chữ riêng nếu nhập trong Cài đặt */
body{
  --rank-shortcut-text: var(--rank_shortcut_text_color,);
  --rank-checkin-text: var(--rank_checkin_text_color,);
}

/* Fix chữ bị sát bottom nav trong trang hạng */
.member-page .checkin-card{
  margin-bottom:28px!important;
}


/* ===== V26 fixes: task verify, app toast, unit icons, telegram button, quick price ===== */
.unit-icon-img{width:18px;height:18px;object-fit:contain;vertical-align:-3px;display:inline-block}
.unit-label,.unit-icon-text{display:inline-flex;align-items:center;font-weight:900}
.price-chip{width:100%;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;font-variant-numeric:tabular-nums!important;line-height:1.05!important}
.price-chip .price-num{display:inline-block;min-width:0;white-space:nowrap}
.price-chip::after{display:none!important}
.quick-service{justify-content:space-between!important}
.quick-service span{flex:0 0 auto!important;min-height:36px!important}
.quick-service small{width:100%!important;margin-top:0!important;padding:0 2px!important}
.telegram-link-box .btn + .btn{margin-left:0}
.toast{bottom:88px!important;background:#0b1c47!important;color:#fff!important;padding:14px 24px!important;font-size:16px!important;box-shadow:0 16px 44px rgba(15,23,42,.24)!important}
.toast::before{content:'✨ ';font-weight:900}
.task-hero span .unit-icon-img,.zlp-member-hero h1 .unit-icon-img,.zlp-member-hero small .unit-icon-img,.zp-row small .unit-icon-img{width:17px;height:17px}
.zp-row small .unit-label,.zlp-member-hero h1 .unit-label,.task-card b .unit-label,.task-hero span .unit-label{font-weight:900}


/* ===== V27 fixes: money/coin icons, quick-service image crop, price colors ===== */
.unit-icon-img{width:var(--money_icon_size)!important;height:var(--money_icon_size)!important;object-fit:contain!important;vertical-align:-4px!important;display:inline-block!important}
.member-rank-line .unit-icon-img,.member-xu-line .unit-icon-img,.points-pill .unit-icon-img,.task-card .unit-icon-img,.task-hero .unit-icon-img{width:var(--coin_icon_size)!important;height:var(--coin_icon_size)!important;vertical-align:-4px!important}
.balance-value,.price,.prod-price,.featured-price,.recommend-card em{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.detail-price-box{background:linear-gradient(135deg,var(--price_bg),color-mix(in srgb,var(--price_bg) 78%, #ffffff 22%))!important;border:0!important;box-shadow:0 12px 28px rgba(15,23,42,.09)!important}
.detail-price-box .price-highlight{display:inline-flex!important;align-items:center!important;gap:8px!important;color:var(--price_text)!important;background:rgba(255,255,255,.16)!important;padding:12px 16px!important;border-radius:18px!important;font-size:30px!important;font-weight:1000!important}
.detail-price-box small{display:block!important;margin-top:8px!important;color:var(--price_text)!important;opacity:.96!important;font-weight:850!important}
.detail-price-box .old-price{color:rgba(255,255,255,.8)!important}
.price-chip{background:var(--price_bg)!important;color:var(--price_text)!important;border-radius:999px!important;padding:6px 8px!important;min-height:28px!important;box-shadow:0 8px 18px rgba(15,23,42,.08)!important}
.price-chip .unit-icon-img{width:18px!important;height:18px!important}
.quick-service-grid{gap:10px!important}
.quick-service{background:var(--quick_bg)!important;color:var(--quick_text)!important;border:1px solid var(--quick_border)!important;min-height:136px!important;height:136px!important;padding:10px 6px 12px!important;overflow:visible!important;justify-content:flex-start!important}
.quick-service.active{background:var(--quick_active_bg)!important;color:var(--quick_active_text)!important;border-color:var(--quick_active_text)!important}
.quick-service .price-chip{margin-top:auto!important}
.quick-service span{width:100%!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.08!important;padding:0 2px!important;color:inherit!important}
.quick-service i,.quick-service .service-icon-box{width:58px!important;height:58px!important;min-width:58px!important;padding:6px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;background:transparent!important;border:none!important;box-shadow:none!important;line-height:1!important}
.quick-service img,.quick-service .service-icon-box img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;object-position:center center!important;display:block!important}
@media(max-width:760px){
  .quick-service-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
  .quick-service{width:100%!important;min-width:0!important;height:132px!important}
  .quick-service i,.quick-service .service-icon-box{width:52px!important;height:52px!important;min-width:52px!important}
  .quick-service span{font-size:12px!important}
  .quick-service small{font-size:12px!important}
}


/* ===== V28: làm số ở thẻ ví to như mẫu ảnh 4 ===== */
.balance-blue .balance-value{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  font-size:0!important;
  line-height:1!important;
  margin:4px 0 2px!important;
}
.balance-blue .balance-value .num{
  font-size:52px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-1px!important;
  color:#fff!important;
}
.balance-blue .balance-value .unit-icon-img,
.balance-blue .balance-value .unit-label,
.balance-blue .balance-value .unit-icon-text{
  font-size:28px!important;
  width:28px!important;
  height:28px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
@media(max-width:760px){
  .balance-blue .balance-value .num{font-size:50px!important}
  .balance-blue .balance-value .unit-icon-img,
  .balance-blue .balance-value .unit-label,
  .balance-blue .balance-value .unit-icon-text{width:26px!important;height:26px!important;font-size:26px!important}
}
@media(max-width:390px){
  .balance-blue .balance-value .num{font-size:44px!important}
  .balance-blue .balance-value .unit-icon-img,
  .balance-blue .balance-value .unit-label,
  .balance-blue .balance-value .unit-icon-text{width:24px!important;height:24px!important;font-size:24px!important}
}


/* ===== V29: khôi phục giao diện đẹp theo mẫu ảnh 1 + ảnh 2 ===== */
/* thẻ số dư ví: số to vừa phải, icon nhỏ gọn như ảnh 1 */
.balance-blue .balance-value{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:0!important;
}
.balance-blue .balance-value .num{
  font-size:28px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.4px!important;
  color:#fff!important;
  background:none!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.balance-blue .balance-value .unit-icon-img,
.balance-blue .balance-value .unit-label,
.balance-blue .balance-value .unit-icon-text{
  width:22px!important;
  height:22px!important;
  font-size:22px!important;
  line-height:1!important;
  flex:0 0 auto!important;
  background:none!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
/* thẻ xu của tôi: chỉ hiển thị số xu bình thường */
.member-card .member-rank-line,
.xu-card .member-rank-line{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
  color:inherit!important;
}
.member-card .member-rank-line .num,
.xu-card .member-rank-line .num{
  font-size:24px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:inherit!important;
  background:none!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.member-card .member-rank-line .unit-icon-img,
.xu-card .member-rank-line .unit-icon-img,
.member-card .member-rank-line .unit-label,
.xu-card .member-rank-line .unit-label,
.member-card .member-rank-line .unit-icon-text,
.xu-card .member-rank-line .unit-icon-text{
  width:20px!important;
  height:20px!important;
  font-size:20px!important;
  line-height:1!important;
  background:none!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
/* thuê số nhanh: khôi phục giá đơn giản như ảnh 2 */
.quick-service{
  background:#fff!important;
  color:var(--quick_text)!important;
  border:1px solid #dbe4f0!important;
  min-height:136px!important;
  height:136px!important;
  padding:10px 8px 12px!important;
  justify-content:flex-start!important;
}
.quick-service.active{
  background:#eef5ff!important;
  border:2px solid #1f2937!important;
  color:#0f172a!important;
}
.quick-service i,.quick-service .service-icon-box{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  padding:4px!important;
  overflow:visible!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.quick-service img,.quick-service .service-icon-box img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.quick-service span{
  width:100%!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.08!important;
  padding:0 2px!important;
  color:#0f172a!important;
}
.quick-service .price-chip{
  background:transparent!important;
  color:#0b55e6!important;
  border-radius:0!important;
  padding:0!important;
  min-height:auto!important;
  box-shadow:none!important;
  width:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  font-weight:1000!important;
  margin-top:auto!important;
}
.quick-service .price-chip .price-num{
  color:#0b55e6!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.quick-service .price-chip .unit-icon-img,
.quick-service .price-chip .unit-label,
.quick-service .price-chip .unit-icon-text{
  width:20px!important;
  height:20px!important;
  font-size:20px!important;
  line-height:1!important;
}
@media(max-width:760px){
  .quick-service-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
  .quick-service{height:132px!important;min-height:132px!important;padding:10px 6px 12px!important}
  .quick-service i,.quick-service .service-icon-box{width:52px!important;height:52px!important;min-width:52px!important}
  .quick-service span{font-size:12px!important}
  .quick-service .price-chip .price-num{font-size:16px!important}
  .quick-service .price-chip .unit-icon-img,
  .quick-service .price-chip .unit-label,
  .quick-service .price-chip .unit-icon-text{width:18px!important;height:18px!important;font-size:18px!important}
}


/* ===== V30: đồng bộ icon tiền tệ + căn đẹp toàn bộ card ===== */
.unit-icon-img,.unit-icon-text,.unit-label{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important}
.balance-value,.price,.prod-price,.featured-price,.recommend-card em,.points-pill,.wallet-card b,.wallet-card small,.pay-summary b,.pay-inline-coin,.social-price-box b,.social-service-card b{display:inline-flex!important;align-items:center!important;flex-wrap:nowrap!important;white-space:nowrap!important}
.balance-value .num,.price .num,.prod-price .num,.featured-price .num,.recommend-card em .num,.points-pill .num,.wallet-card b .num,.wallet-card small .num,.social-price-box b .num,.social-service-card b .num{line-height:1!important}
/* icon sát số, không chừa khoảng trắng thừa */
.balance-value .unit-icon-img,.price .unit-icon-img,.prod-price .unit-icon-img,.featured-price .unit-icon-img,.recommend-card em .unit-icon-img,.points-pill .unit-icon-img,.wallet-card b .unit-icon-img,.wallet-card small .unit-icon-img,.social-price-box b .unit-icon-img,.social-service-card b .unit-icon-img,.pay-inline-coin .unit-icon-img,.pay-summary b .unit-icon-img{margin-left:2px!important}
/* home balance + xu */
.balance-blue .balance-value{gap:0!important;font-size:0!important}
.balance-blue .balance-value .num{font-size:28px!important;font-weight:1000!important;color:#fff!important;letter-spacing:-.4px!important}
.balance-blue .balance-value .unit-icon-img,.balance-blue .balance-value .unit-label,.balance-blue .balance-value .unit-icon-text{width:26px!important;height:26px!important;font-size:26px!important}
.member-card .member-rank-line,.xu-card .member-rank-line{gap:0!important;font-size:0!important}
.member-card .member-rank-line .num,.xu-card .member-rank-line .num{font-size:24px!important;font-weight:1000!important;color:inherit!important}
.member-card .member-rank-line .unit-icon-img,.xu-card .member-rank-line .unit-icon-img,.member-card .member-rank-line .unit-label,.xu-card .member-rank-line .unit-label,.member-card .member-rank-line .unit-icon-text,.xu-card .member-rank-line .unit-icon-text{width:24px!important;height:24px!important;font-size:24px!important}
/* quick service như mẫu đẹp, đều card */
.quick-service-grid{gap:10px!important}
.quick-service{background:#fff!important;border:1px solid #dbe4f0!important;min-height:136px!important;height:136px!important;padding:10px 7px 12px!important;justify-content:flex-start!important}
.quick-service.active{background:#eef5ff!important;border:2px solid #1f2937!important}
.quick-service span{color:#111827!important;font-weight:900!important}
.quick-service .price-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important;white-space:nowrap!important;background:transparent!important;color:#0b55e6!important;padding:0!important;border-radius:0!important;box-shadow:none!important;margin-top:auto!important;align-self:center!important}
.quick-service .price-chip .num{font-size:18px!important;font-weight:1000!important;color:#0b55e6!important;letter-spacing:-.2px!important}
.quick-service .price-chip .unit-icon-img,.quick-service .price-chip .unit-label,.quick-service .price-chip .unit-icon-text{width:22px!important;height:22px!important;font-size:22px!important}
.quick-service i,.quick-service .service-icon-box{width:58px!important;height:58px!important;min-width:58px!important;padding:4px!important;overflow:visible!important;background:transparent!important;border:none!important;box-shadow:none!important}
.quick-service img,.quick-service .service-icon-box img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
@media(max-width:760px){
  .quick-service-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
  .quick-service{height:132px!important;min-height:132px!important;padding:10px 6px 12px!important}
  .quick-service i,.quick-service .service-icon-box{width:52px!important;height:52px!important;min-width:52px!important}
  .quick-service span{font-size:12px!important}
  .quick-service .price-chip .num{font-size:16px!important}
  .quick-service .price-chip .unit-icon-img,.quick-service .price-chip .unit-label,.quick-service .price-chip .unit-icon-text{width:20px!important;height:20px!important;font-size:20px!important}
}
/* giá sản phẩm / recommend / chi tiết */
.recommend-card em,.featured-price,.prod-price,.social-price-box b,.social-service-card b{gap:0!important;color:#111827!important;font-weight:1000!important}
.recommend-card em .num,.featured-price .num,.prod-price .num,.social-price-box b .num,.social-service-card b .num{font-size:inherit!important}
.recommend-card em .unit-icon-img,.featured-price .unit-icon-img,.prod-price .unit-icon-img,.social-price-box b .unit-icon-img,.social-service-card b .unit-icon-img{width:20px!important;height:20px!important}
.detail-price-box{background:linear-gradient(135deg,var(--price_bg),color-mix(in srgb,var(--price_bg) 82%, #ffffff 18%))!important}
.detail-price-box .price-highlight{display:inline-flex!important;align-items:center!important;gap:0!important;color:#111827!important;background:rgba(255,255,255,.18)!important;padding:12px 18px!important;border-radius:20px!important;font-size:31px!important;font-weight:1000!important;white-space:nowrap!important}
.detail-price-box .price-highlight .unit-icon-img,.detail-price-box .price-highlight .unit-label,.detail-price-box .price-highlight .unit-icon-text{width:26px!important;height:26px!important;font-size:26px!important;margin-left:3px!important}
.detail-price-box small{color:#10223f!important;opacity:.92!important;font-weight:850!important}
/* thẻ ví/nạp tiền ảnh 4 */
.wallet-card b{gap:0!important;font-size:0!important;margin-top:6px!important}
.wallet-card b .num{font-size:52px!important;font-weight:1000!important;color:#fff!important;letter-spacing:-.6px!important}
.wallet-card b .unit-icon-img,.wallet-card b .unit-label,.wallet-card b .unit-icon-text{width:30px!important;height:30px!important;font-size:30px!important}
.wallet-card small{gap:0!important;margin-top:10px!important;color:#fff!important;opacity:.94!important}
.wallet-card small .num{font-size:22px!important;font-weight:1000!important;color:#fff!important}
.wallet-card small .unit-icon-img,.wallet-card small .unit-label,.wallet-card small .unit-icon-text{width:24px!important;height:24px!important;font-size:24px!important}
.wallet-card small .num + .unit-icon-img,.wallet-card small .num + .unit-label,.wallet-card small .num + .unit-icon-text{margin-left:3px!important}
.points-pill{gap:0!important;color:#0b49df!important;font-weight:1000!important}
.points-pill .unit-icon-img,.points-pill .unit-label,.points-pill .unit-icon-text{width:20px!important;height:20px!important;font-size:20px!important}
/* pay box dùng icon set */
.points-value,.pay-summary b,.pay-inline-coin{gap:0!important;color:#0b49df!important;font-weight:1000!important}
.points-value .num,.pay-inline-coin .num{font-size:inherit!important}
.points-value .unit-icon-img,.points-value .unit-label,.points-value .unit-icon-text,.pay-summary b .unit-icon-img,.pay-summary b .unit-label,.pay-summary b .unit-icon-text,.pay-inline-coin .unit-icon-img,.pay-inline-coin .unit-label,.pay-inline-coin .unit-icon-text{width:20px!important;height:20px!important;font-size:20px!important}
@media(max-width:520px){
  .balance-blue .balance-value .num{font-size:26px!important}
  .member-card .member-rank-line .num,.xu-card .member-rank-line .num{font-size:22px!important}
  .wallet-card b .num{font-size:46px!important}
  .wallet-card small .num{font-size:20px!important}
}


/* ===== V31: gọn đẹp lại quick service, recommend, detail, wallet ===== */
/* ô thuê số nhanh */
.quick-service-grid{gap:10px!important}
.quick-service{
  border-radius:24px!important;
  box-shadow:0 4px 14px rgba(15,23,42,.05)!important;
  padding:12px 6px 10px!important;
  gap:7px!important;
}
.quick-service span{
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.08!important;
  color:#111827!important;
}
.quick-service .price-chip{
  margin-top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:6px 10px!important;
  min-height:30px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  color:#0b55e6!important;
  box-shadow:none!important;
}
.quick-service .price-chip .price-num,
.quick-service .price-chip .num{
  font-size:17px!important;
  font-weight:1000!important;
  line-height:1!important;
  color:#0b55e6!important;
}
.quick-service .price-chip .unit-icon-img,
.quick-service .price-chip .unit-label,
.quick-service .price-chip .unit-icon-text{
  width:17px!important;
  height:17px!important;
  font-size:17px!important;
  margin-left:0!important;
}
.quick-service.active{
  background:#eef5ff!important;
  border:2px solid #1f2937!important;
  box-shadow:0 8px 20px rgba(37,99,235,.10)!important;
}
.quick-service.active .price-chip{background:#dbeafe!important}
@media(max-width:760px){
  .quick-service{height:134px!important;min-height:134px!important;padding:10px 5px 10px!important}
  .quick-service i,.quick-service .service-icon-box{width:50px!important;height:50px!important;min-width:50px!important}
  .quick-service span{font-size:12px!important;min-height:32px!important}
  .quick-service .price-chip{padding:5px 8px!important;min-height:28px!important}
  .quick-service .price-chip .price-num,.quick-service .price-chip .num{font-size:15px!important}
  .quick-service .price-chip .unit-icon-img,.quick-service .price-chip .unit-label,.quick-service .price-chip .unit-icon-text{width:15px!important;height:15px!important;font-size:15px!important}
}
/* bản quyền nổi bật / đề xuất */
.recommend-grid{gap:12px!important}
.recommend-card{
  min-height:198px!important;
  padding:12px 12px 14px!important;
  gap:8px!important;
}
.recommend-card div{height:88px!important;border-radius:16px!important}
.recommend-card b{
  font-size:17px!important;
  line-height:1.12!important;
  color:#0f172a!important;
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.recommend-card span{
  font-size:12.5px!important;
  color:#64748b!important;
  line-height:1.2!important;
  min-height:30px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.recommend-card em{
  margin-top:auto!important;
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  padding:7px 12px!important;
  min-height:34px!important;
  border-radius:999px!important;
  background:#edf4ff!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:1000!important;
}
.recommend-card em .num{color:#0f172a!important;font-size:14px!important;font-weight:1000!important}
.recommend-card em .unit-icon-img,.recommend-card em .unit-label,.recommend-card em .unit-icon-text{width:18px!important;height:18px!important;font-size:18px!important;margin-left:0!important}
/* chi tiết bản quyền */
.license-detail-hero{gap:18px!important}
.detail-price-box{
  padding:16px!important;
  border-radius:24px!important;
}
.detail-price-box .price-highlight{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-height:60px!important;
  padding:14px 18px!important;
  border-radius:20px!important;
  font-size:30px!important;
  line-height:1!important;
  color:#0f172a!important;
}
.detail-price-box .price-highlight .num{font-size:30px!important;color:#0f172a!important;line-height:1!important}
.detail-price-box .price-highlight .unit-icon-img,.detail-price-box .price-highlight .unit-label,.detail-price-box .price-highlight .unit-icon-text{width:22px!important;height:22px!important;font-size:22px!important;margin-left:0!important}
.detail-price-box small{display:block!important;margin-top:10px!important;color:#25405f!important}
.compact-pay{padding:16px!important;border-radius:24px!important}
.compact-pay .points-slider-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.compact-pay .points-slider-row > div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.compact-pay .points-slider-row b{font-size:18px!important;color:#111827!important}
.points-value{font-size:18px!important;color:#0b49df!important;gap:2px!important}
.points-value .num{font-size:18px!important;line-height:1!important}
.points-value .unit-icon-img,.points-value .unit-label,.points-value .unit-icon-text{width:18px!important;height:18px!important;font-size:18px!important;margin-left:0!important}
.pay-summary{margin-top:10px!important}
.pay-summary b,.pay-inline-coin{gap:2px!important}
.pay-summary b .unit-icon-img,.pay-inline-coin .unit-icon-img{width:18px!important;height:18px!important;margin-left:0!important}
/* ví */
.wallet-card{
  padding:24px 28px!important;
  border-radius:28px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.wallet-card > span{font-size:18px!important;font-weight:800!important;opacity:.92!important}
.wallet-card b{
  display:flex!important;
  align-items:flex-end!important;
  gap:4px!important;
  margin-top:2px!important;
}
.wallet-card b .num{font-size:52px!important;font-weight:1000!important;line-height:.95!important;letter-spacing:-.8px!important}
.wallet-card b .unit-icon-img,.wallet-card b .unit-label,.wallet-card b .unit-icon-text{width:28px!important;height:28px!important;font-size:28px!important;margin-left:0!important}
.wallet-card .wallet-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:4px!important;
  color:#fff!important;
  opacity:.98!important;
}
.wallet-card .wallet-points,
.wallet-card .wallet-rank{display:inline-flex!important;align-items:center!important;gap:4px!important}
.wallet-card .wallet-points .num{font-size:22px!important;font-weight:1000!important;color:#fff!important;line-height:1!important}
.wallet-card .wallet-points .unit-icon-img,.wallet-card .wallet-points .unit-label,.wallet-card .wallet-points .unit-icon-text{width:22px!important;height:22px!important;font-size:22px!important;margin-left:0!important}
.wallet-card .wallet-dot{font-size:18px!important;line-height:1!important;opacity:.72!important}
.wallet-card .wallet-rank{font-size:18px!important;font-weight:900!important;line-height:1.1!important;color:#fff!important}
@media(max-width:560px){
  .wallet-card{padding:20px 22px!important;gap:8px!important}
  .wallet-card b .num{font-size:48px!important}
  .wallet-card b .unit-icon-img,.wallet-card b .unit-label,.wallet-card b .unit-icon-text{width:26px!important;height:26px!important;font-size:26px!important}
  .wallet-card .wallet-points .num{font-size:20px!important}
  .wallet-card .wallet-points .unit-icon-img,.wallet-card .wallet-points .unit-label,.wallet-card .wallet-points .unit-icon-text{width:20px!important;height:20px!important;font-size:20px!important}
  .wallet-card .wallet-rank{font-size:16px!important}
}


/* ===== V32: featured/recommend/product cards + quick service price cleaner ===== */
/* Bản quyền nổi bật */
.product-scroll{gap:12px!important;align-items:stretch!important}
.mini-product.price-side{
  width:182px!important;
  min-height:198px!important;
  border-radius:22px!important;
  padding:12px!important;
  gap:10px!important;
  justify-content:flex-start!important;
}
.mini-product.price-side .prod-img{
  width:100%!important;
  height:96px!important;
  border-radius:18px!important;
  background:#f6f8fc!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.mini-product.price-side .prod-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.mini-product-info{height:100%!important;display:flex!important;flex-direction:column!important;gap:4px!important}
.mini-product-info b{
  font-size:17px!important;
  line-height:1.12!important;
  min-height:20px!important;
}
.mini-product-info small{
  font-size:12.5px!important;
  line-height:1.22!important;
  min-height:32px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.product-scroll .prod-price{
  margin-top:auto!important;
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#edf3ff!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:1000!important;
}
.product-scroll .prod-price .num{font-size:14px!important;font-weight:1000!important;color:#111827!important;line-height:1!important}
.product-scroll .prod-price .unit-icon-img,
.product-scroll .prod-price .unit-label,
.product-scroll .prod-price .unit-icon-text{width:18px!important;height:18px!important;font-size:18px!important;margin-left:0!important}
/* sản phẩm đề xuất */
.recommend-grid{gap:12px!important;align-items:stretch!important}
.recommend-card{
  min-height:236px!important;
  padding:12px!important;
  gap:8px!important;
  border-radius:22px!important;
}
.recommend-card div{
  height:104px!important;
  border-radius:18px!important;
  background:#f6f8fc!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.recommend-card img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.recommend-card b{font-size:18px!important;line-height:1.12!important;color:#111827!important}
.recommend-card span{
  font-size:12.5px!important;
  line-height:1.22!important;
  min-height:34px!important;
  color:#64748b!important;
}
.recommend-card em{
  margin-top:auto!important;
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#edf3ff!important;
  color:#111827!important;
}
.recommend-card em .num{font-size:14px!important;font-weight:1000!important;color:#111827!important;line-height:1!important}
.recommend-card em .unit-icon-img,
.recommend-card em .unit-label,
.recommend-card em .unit-icon-text{width:18px!important;height:18px!important;font-size:18px!important;margin-left:0!important}
/* Thuê số nhanh */
.quick-service{padding:10px 5px 10px!important;gap:6px!important}
.quick-service span{
  min-height:30px!important;
  font-size:12px!important;
}
.quick-service .price-chip{
  width:auto!important;
  max-width:88%!important;
  margin-top:auto!important;
  padding:5px 9px!important;
  min-height:26px!important;
  gap:3px!important;
  background:#edf3ff!important;
  border-radius:999px!important;
}
.quick-service .price-chip .price-num,
.quick-service .price-chip .num{font-size:15px!important;font-weight:1000!important;line-height:1!important}
.quick-service .price-chip .unit-icon-img,
.quick-service .price-chip .unit-label,
.quick-service .price-chip .unit-icon-text{width:14px!important;height:14px!important;font-size:14px!important;margin-left:0!important}
@media(max-width:560px){
  .mini-product.price-side{width:170px!important;min-height:192px!important}
  .mini-product.price-side .prod-img{height:92px!important}
  .product-scroll .prod-price{padding:6px 10px!important;min-height:32px!important}
  .product-scroll .prod-price .num{font-size:13px!important}
  .product-scroll .prod-price .unit-icon-img,.product-scroll .prod-price .unit-label,.product-scroll .prod-price .unit-icon-text{width:17px!important;height:17px!important;font-size:17px!important}
  .recommend-card{min-height:226px!important}
  .recommend-card div{height:98px!important}
  .recommend-card em{padding:6px 10px!important;min-height:32px!important}
  .recommend-card em .num{font-size:13px!important}
  .recommend-card em .unit-icon-img,.recommend-card em .unit-label,.recommend-card em .unit-icon-text{width:17px!important;height:17px!important;font-size:17px!important}
  .quick-service{height:130px!important;min-height:130px!important}
}


/* ===== V33: force mobile compact quick-service + black prices ===== */
/* thuê số nhanh: nhỏ gọn hơn, giá nằm gọn trong ô */
.quick-service-grid#quickServiceGrid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
}
.quick-service-grid#quickServiceGrid .quick-service{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:122px!important;
  min-height:122px!important;
  padding:10px 5px 8px!important;
  gap:6px!important;
  border:1px solid #dbe4f0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(15,23,42,.05)!important;
  overflow:hidden!important;
}
.quick-service-grid#quickServiceGrid .quick-service.active{
  background:#eef5ff!important;
  border:2px solid #1f2937!important;
  box-shadow:0 8px 18px rgba(37,99,235,.10)!important;
}
.quick-service-grid#quickServiceGrid .quick-service i,
.quick-service-grid#quickServiceGrid .quick-service .service-icon-box{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:0!important;
  margin-top:2px!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.quick-service-grid#quickServiceGrid .quick-service img,
.quick-service-grid#quickServiceGrid .quick-service .service-icon-box img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.quick-service-grid#quickServiceGrid .quick-service span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:30px!important;
  line-height:1.08!important;
  font-size:11.5px!important;
  font-weight:900!important;
  color:#111827!important;
  margin:0!important;
}
.quick-service-grid#quickServiceGrid .quick-service .price-chip{
  margin-top:auto!important;
  margin-bottom:0!important;
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  min-height:24px!important;
  max-width:88%!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  color:#111827!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.quick-service-grid#quickServiceGrid .quick-service .price-chip .price-num,
.quick-service-grid#quickServiceGrid .quick-service .price-chip .num{
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:#111827!important;
}
.quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-icon-img,
.quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-label,
.quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-icon-text{
  width:14px!important;
  height:14px!important;
  font-size:14px!important;
  margin-left:0!important;
}
/* bản quyền nổi bật: giá đen rõ */
.product-scroll .mini-product.price-side .prod-price,
.product-scroll .mini-product.price-side .prod-price *{
  color:#111827!important;
}
.product-scroll .mini-product.price-side .prod-price{
  background:#eef4ff!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  min-height:32px!important;
}
.product-scroll .mini-product.price-side .prod-price .num{font-size:14px!important;font-weight:1000!important}
.product-scroll .mini-product.price-side .prod-price .unit-icon-img,
.product-scroll .mini-product.price-side .prod-price .unit-label,
.product-scroll .mini-product.price-side .prod-price .unit-icon-text{width:17px!important;height:17px!important;font-size:17px!important}
/* sản phẩm đề xuất: icon/ảnh đều + giá đen */
.recommend-grid .recommend-card{
  min-height:230px!important;
}
.recommend-grid .recommend-card div{
  height:104px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f6f8fc!important;
  overflow:hidden!important;
}
.recommend-grid .recommend-card div img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.recommend-grid .recommend-card em,
.recommend-grid .recommend-card em *{
  color:#111827!important;
}
.recommend-grid .recommend-card em{
  background:#eef4ff!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  min-height:34px!important;
}
@media(max-width:560px){
  .quick-service-grid#quickServiceGrid .quick-service{height:118px!important;min-height:118px!important;padding:9px 4px 7px!important}
  .quick-service-grid#quickServiceGrid .quick-service i,
  .quick-service-grid#quickServiceGrid .quick-service .service-icon-box{width:42px!important;height:42px!important;min-width:42px!important}
  .quick-service-grid#quickServiceGrid .quick-service span{font-size:11px!important;min-height:28px!important}
  .quick-service-grid#quickServiceGrid .quick-service .price-chip{padding:4px 7px!important;min-height:23px!important}
  .quick-service-grid#quickServiceGrid .quick-service .price-chip .price-num,
  .quick-service-grid#quickServiceGrid .quick-service .price-chip .num{font-size:13px!important}
  .product-scroll .mini-product.price-side{width:168px!important;min-height:192px!important}
  .recommend-grid .recommend-card{min-height:224px!important}
}


/* ===== V34: quick service price like ref + fix recommend icon jumping ===== */
/* Thuê số nhanh: giữ icon tiền, giá xanh đẹp như mẫu */
.quick-service-grid#quickServiceGrid .quick-service .price-chip{
  margin-top:auto!important;
  margin-bottom:0!important;
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:26px!important;
  max-width:88%!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#edf3ff!important;
  color:#1d4ed8!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.quick-service-grid#quickServiceGrid .quick-service .price-chip .price-num,
.quick-service-grid#quickServiceGrid .quick-service .price-chip .num{
  color:#1d4ed8!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:0!important;
}
.quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-icon-img,
.quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-label,
.quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-icon-text{
  width:16px!important;
  height:16px!important;
  font-size:16px!important;
  margin-left:0!important;
  transform:none!important;
}
@media(max-width:560px){
  .quick-service-grid#quickServiceGrid .quick-service .price-chip{padding:5px 9px!important;min-height:25px!important}
  .quick-service-grid#quickServiceGrid .quick-service .price-chip .price-num,
  .quick-service-grid#quickServiceGrid .quick-service .price-chip .num{font-size:14px!important}
  .quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-icon-img,
  .quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-label,
  .quick-service-grid#quickServiceGrid .quick-service .price-chip .unit-icon-text{width:15px!important;height:15px!important;font-size:15px!important}
}
/* Sản phẩm đề xuất: fix icon nhảy, ảnh căn giữa đều */
.recommend-grid .recommend-card div{
  position:relative!important;
  height:104px!important;
  min-height:104px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#f6f8fc!important;
}
.recommend-grid .recommend-card div img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:78%!important;
  max-height:78%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  transform:none!important;
}
/* nếu ảnh ngang lớn như capcut thì cho phủ đều hơn nhưng vẫn cân */
.recommend-grid .recommend-card div img.wide,
.recommend-grid .recommend-card div img[src*="capcut"],
.recommend-grid .recommend-card div img[src*="youtube"]{
  max-width:86%!important;
  max-height:86%!important;
}
@media(max-width:560px){
  .recommend-grid .recommend-card div{height:100px!important;min-height:100px!important}
  .recommend-grid .recommend-card div img{max-width:80%!important;max-height:80%!important}
}


/* ===== FORCE V35 - quick/recommend only ===== */

/* FORCE V35 - chỉ fix thuê số nhanh + sản phẩm đề xuất */
body .quick-service-grid#quickServiceGrid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
}
body .quick-service-grid#quickServiceGrid button.quick-service{
  height:126px!important;
  min-height:126px!important;
  padding:10px 5px 8px!important;
  gap:6px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
body .quick-service-grid#quickServiceGrid button.quick-service span{
  font-size:11.5px!important;
  line-height:1.08!important;
  min-height:30px!important;
  color:#111827!important;
  font-weight:900!important;
}
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip{
  margin-top:auto!important;
  margin-bottom:0!important;
  align-self:center!important;
  width:auto!important;
  max-width:92%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0!important;
  min-height:22px!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#0b55e6!important;
  white-space:nowrap!important;
}
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .price-num,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .num{
  color:#0b55e6!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.15px!important;
}
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-img,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-label,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-text{
  width:17px!important;
  height:17px!important;
  font-size:17px!important;
  line-height:1!important;
  margin-left:0!important;
  position:static!important;
  transform:none!important;
  flex:0 0 17px!important;
}
body .quick-service-grid#quickServiceGrid button.quick-service i,
body .quick-service-grid#quickServiceGrid button.quick-service .service-icon-box{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
}
@media(max-width:560px){
  body .quick-service-grid#quickServiceGrid button.quick-service{
    height:122px!important;
    min-height:122px!important;
    padding:9px 4px 7px!important;
  }
  body .quick-service-grid#quickServiceGrid button.quick-service i,
  body .quick-service-grid#quickServiceGrid button.quick-service .service-icon-box{
    width:43px!important;
    height:43px!important;
    min-width:43px!important;
  }
  body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .price-num,
  body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .num{font-size:15px!important}
  body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-img,
  body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-label,
  body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-text{
    width:16px!important;height:16px!important;font-size:16px!important;flex-basis:16px!important
  }
}

/* sản phẩm đề xuất: ảnh/icon cố định, giá icon không nhảy */
body .recommend-grid .recommend-card{
  min-height:226px!important;
  display:flex!important;
  flex-direction:column!important;
}
body .recommend-grid .recommend-card > div{
  height:102px!important;
  min-height:102px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#f6f8fc!important;
  border-radius:18px!important;
  font-size:42px!important;
  line-height:1!important;
}
body .recommend-grid .recommend-card > div img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:86%!important;
  max-height:86%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  position:static!important;
  transform:none!important;
}
body .recommend-grid .recommend-card em,
body .product-scroll .mini-product.price-side .prod-price{
  margin-top:auto!important;
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  white-space:nowrap!important;
  background:#eef4ff!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  min-height:34px!important;
  color:#111827!important;
  font-weight:1000!important;
  box-shadow:none!important;
}
body .recommend-grid .recommend-card em .num,
body .product-scroll .mini-product.price-side .prod-price .num{
  color:#111827!important;
  font-size:14px!important;
  font-weight:1000!important;
  line-height:1!important;
}
body .recommend-grid .recommend-card em .unit-icon-img,
body .recommend-grid .recommend-card em .unit-label,
body .recommend-grid .recommend-card em .unit-icon-text,
body .product-scroll .mini-product.price-side .prod-price .unit-icon-img,
body .product-scroll .mini-product.price-side .prod-price .unit-label,
body .product-scroll .mini-product.price-side .prod-price .unit-icon-text{
  width:18px!important;
  height:18px!important;
  font-size:18px!important;
  line-height:1!important;
  margin-left:0!important;
  position:static!important;
  transform:none!important;
  flex:0 0 18px!important;
}



/* duplicated V36 hotfix in CSS file */


/* V36 inline hotfix: ép thẳng trên HTML để không bị cache Safari */
.money-inline,.coin-inline{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;white-space:nowrap!important;line-height:1!important}
.money-inline .num,.coin-inline .num{display:inline-block!important;line-height:1!important}
.money-inline .unit-icon-img,.coin-inline .unit-icon-img,.money-inline .unit-label,.coin-inline .unit-label,.money-inline .unit-icon-text,.coin-inline .unit-icon-text{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin-left:0!important;position:static!important;transform:none!important;vertical-align:middle!important}

/* Thuê số nhanh: giá xanh như mẫu, giữ icon tiền hiện tại */
#quickServiceGrid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
#quickServiceGrid .quick-service{height:126px!important;min-height:126px!important;padding:9px 5px 8px!important;border-radius:22px!important;overflow:hidden!important;gap:6px!important}
#quickServiceGrid .quick-service .price-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:auto!important;max-width:90%!important;margin-top:auto!important;padding:5px 9px!important;min-height:26px!important;border-radius:999px!important;background:#eef4ff!important;box-shadow:none!important;white-space:nowrap!important;color:#0b55e6!important}
#quickServiceGrid .quick-service .price-chip .price-num,#quickServiceGrid .quick-service .price-chip .num{color:#0b55e6!important;font-size:14.5px!important;font-weight:1000!important;line-height:1!important;letter-spacing:0!important}
#quickServiceGrid .quick-service .price-chip .unit-icon-img,#quickServiceGrid .quick-service .price-chip .unit-label,#quickServiceGrid .quick-service .price-chip .unit-icon-text{width:15px!important;height:15px!important;font-size:15px!important;margin-left:0!important;flex:0 0 15px!important}
#quickServiceGrid .quick-service i,#quickServiceGrid .quick-service .service-icon-box{width:44px!important;height:44px!important;min-width:44px!important}
#quickServiceGrid .quick-service span{min-height:30px!important;font-size:11.5px!important;line-height:1.08!important;color:#111827!important}

/* Sản phẩm đề xuất + bản quyền nổi bật: fix icon/giá nhảy */
.recommend-grid .recommend-card em,.product-scroll .mini-product.price-side .prod-price{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:0!important;width:fit-content!important;min-width:0!important;max-width:max-content!important;align-self:flex-start!important;flex:0 0 auto!important;padding:7px 12px!important;border-radius:999px!important;background:#eef4ff!important;color:#111827!important;white-space:nowrap!important;box-shadow:none!important}
.recommend-grid .recommend-card em .money-inline,.product-scroll .mini-product.price-side .prod-price .money-inline{gap:4px!important}
.recommend-grid .recommend-card em .num,.product-scroll .mini-product.price-side .prod-price .num{font-size:14px!important;font-weight:1000!important;color:#111827!important;line-height:1!important}
.recommend-grid .recommend-card em .unit-icon-img,.product-scroll .mini-product.price-side .prod-price .unit-icon-img,.recommend-grid .recommend-card em .unit-label,.product-scroll .mini-product.price-side .prod-price .unit-label,.recommend-grid .recommend-card em .unit-icon-text,.product-scroll .mini-product.price-side .prod-price .unit-icon-text{width:18px!important;height:18px!important;font-size:18px!important;margin-left:0!important;flex:0 0 18px!important}
.recommend-grid .recommend-card div{height:104px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#f6f8fc!important}
.recommend-grid .recommend-card div img{display:block!important;width:auto!important;height:auto!important;max-width:82%!important;max-height:82%!important;object-fit:contain!important;object-position:center!important;margin:auto!important;position:static!important;transform:none!important}
@media(max-width:560px){
 #quickServiceGrid .quick-service{height:124px!important;min-height:124px!important}
 #quickServiceGrid .quick-service .price-chip .price-num,#quickServiceGrid .quick-service .price-chip .num{font-size:14px!important}
 .recommend-grid .recommend-card em .num,.product-scroll .mini-product.price-side .prod-price .num{font-size:13.5px!important}
 .recommend-grid .recommend-card em .unit-icon-img,.product-scroll .mini-product.price-side .prod-price .unit-icon-img{width:17px!important;height:17px!important;flex-basis:17px!important}
}


/* ===== V26: cân icon/xu/tiền, thuê nhanh gọn, thanh toán đẹp, bỏ card xanh detail ===== */
.money-inline,.coin-inline,.price-chip,.featured-price,.prod-price,.recommend-card em,.points-value,.pay-inline-coin{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  white-space:nowrap!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.money-inline .num,.coin-inline .num,.price-chip .price-num,.price-chip .num,.points-value .num{
  line-height:1!important;
  display:inline-block!important;
  font-variant-numeric:tabular-nums!important;
}
.unit-icon-img,.money-inline .unit-icon-img,.coin-inline .unit-icon-img,.price-chip .unit-icon-img,.points-value .unit-icon-img,.pay-inline-coin .unit-icon-img,.pay-total .unit-icon-img,.prod-price .unit-icon-img,.recommend-card em .unit-icon-img{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  flex:0 0 20px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  margin:0!important;
  position:static!important;
  transform:none!important;
  vertical-align:middle!important;
}
.unit-label,.unit-icon-text{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
}
#quickServiceGrid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
}
#quickServiceGrid .quick-service{
  height:114px!important;
  min-height:114px!important;
  padding:8px 3px 7px!important;
  border-radius:18px!important;
  gap:5px!important;
  overflow:hidden!important;
}
#quickServiceGrid .quick-service i,#quickServiceGrid .quick-service .service-icon-box{
  width:40px!important;height:40px!important;min-width:40px!important;
}
#quickServiceGrid .quick-service span{
  min-height:28px!important;
  font-size:11px!important;
  line-height:1.06!important;
  letter-spacing:-.2px!important;
}
#quickServiceGrid .quick-service .price-chip{
  max-width:100%!important;
  min-height:24px!important;
  padding:4px 6px!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  color:#0b55e6!important;
  gap:3px!important;
  margin-top:auto!important;
}
#quickServiceGrid .quick-service .price-chip .price-num,#quickServiceGrid .quick-service .price-chip .num{
  font-size:13.2px!important;
  color:#0b55e6!important;
  letter-spacing:-.35px!important;
}
#quickServiceGrid .quick-service .price-chip .unit-icon-img{
  width:15px!important;height:15px!important;min-width:15px!important;flex-basis:15px!important;
}
.package-card.quick-rent-form,.package-card:has(.pay-box){
  display:block!important;
  padding:16px!important;
  border-radius:26px!important;
}
.package-card.quick-rent-form h3,.package-card:has(.pay-box) h3{
  font-size:22px!important;
  line-height:1.12!important;
  margin-bottom:7px!important;
}
.package-card.quick-rent-form p,.package-card:has(.pay-box) p{
  font-size:14.5px!important;
  line-height:1.35!important;
}
.package-card.quick-rent-form .rent-side,.package-card:has(.pay-box) .rent-side{
  text-align:left!important;
  margin-top:12px!important;
}
.package-card.quick-rent-form .rent-side .btn,.package-card:has(.pay-box) .rent-side .btn{
  width:100%!important;
  min-height:50px!important;
  border-radius:16px!important;
  font-size:16px!important;
}
.pay-box.compact-pay{
  margin-top:14px!important;
  padding:14px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #dbe7f6!important;
  box-shadow:0 12px 32px rgba(15,23,42,.055)!important;
  gap:12px!important;
}
.pay-box .voucher-field>span,.pay-box label>span{
  display:block!important;
  margin-bottom:7px!important;
  font-size:15px!important;
  color:#0f172a!important;
}
.pay-box select{
  height:54px!important;
  border-radius:17px!important;
  font-size:15px!important;
}
.points-slider-row{
  background:#f8fbff!important;
  border:1px solid #dbe7f6!important;
  border-radius:20px!important;
  padding:13px!important;
  gap:12px!important;
}
.points-slider-row>div b{font-size:18px!important;color:#0f172a!important}
.points-value{font-size:18px!important;color:#0b49df!important;font-weight:1000!important}
.points-range{height:8px!important}
.pay-summary{
  background:#f3f7ff!important;
  border:1px solid #dbe7f6!important;
  border-radius:20px!important;
  padding:14px!important;
  display:grid!important;
  gap:10px!important;
}
.pay-total{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.pay-total span{color:#64748b!important;font-size:15px!important;font-weight:900!important}
.pay-total b{font-size:26px!important;color:#0f172a!important;font-weight:1000!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
.pay-mini-rows{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.pay-mini-rows span{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:8px!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#64748b!important;
  font-weight:850!important;
  font-size:13px!important;
}
.pay-mini-rows b{color:#0b49df!important;display:inline-flex!important;align-items:center!important;gap:4px!important}
.detail-price-box{
  background:linear-gradient(180deg,#ffffff,#f7fbff)!important;
  border:1px solid #dbe7f6!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
  border-radius:26px!important;
  padding:18px!important;
  text-align:left!important;
}
.detail-price-box .old-price{
  display:inline-flex!important;
  color:#94a3b8!important;
  text-decoration:line-through!important;
  font-size:15px!important;
  margin-bottom:8px!important;
}
.detail-price-box .price-highlight{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  background:#eef5ff!important;
  color:#0f172a!important;
  padding:16px 18px!important;
  border-radius:22px!important;
  font-size:34px!important;
  font-weight:1000!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.detail-price-box small{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin-top:10px!important;
  color:#64748b!important;
  font-weight:900!important;
  opacity:1!important;
}
.license-detail-hero{
  grid-template-columns:1fr!important;
  text-align:center!important;
}
.license-detail-hero .license-img.big{
  margin:0 auto!important;
  width:150px!important;
  height:150px!important;
  border-radius:26px!important;
}
.license-detail-hero .license-topline{
  justify-content:center!important;
}
.recommend-grid .recommend-card em,.product-scroll .mini-product.price-side .prod-price{
  align-items:center!important;
  gap:5px!important;
}
.recommend-grid .recommend-card em .unit-icon-img,.product-scroll .mini-product.price-side .prod-price .unit-icon-img{
  width:19px!important;height:19px!important;min-width:19px!important;flex-basis:19px!important;
}
@media(max-width:380px){
  #quickServiceGrid{gap:5px!important}
  #quickServiceGrid .quick-service{height:108px!important;min-height:108px!important}
  #quickServiceGrid .quick-service span{font-size:10.2px!important}
  #quickServiceGrid .quick-service .price-chip .price-num,#quickServiceGrid .quick-service .price-chip .num{font-size:12.2px!important}
  .pay-total b{font-size:22px!important}
  .detail-price-box .price-highlight{font-size:29px!important}
}


/* ===== V27: ví/xu rõ hơn + fix icon giá + bio page ===== */
.balance-blue .balance-value,
.balance-blue b.balance-value{
  color:#ffffff!important;
  font-size:36px!important;
  font-weight:1000!important;
  letter-spacing:-.5px!important;
  text-shadow:0 2px 8px rgba(0,0,0,.2)!important;
}
.balance-blue .money-inline .num{color:#fff!important}
.balance-blue .money-inline .unit-icon-img{
  width:28px!important;height:28px!important;min-width:28px!important;filter:drop-shadow(0 3px 7px rgba(0,0,0,.25))!important;
}
.xu-card .member-top{color:#172033!important;font-size:16px!important;font-weight:1000!important;opacity:.98!important}
.xu-card .member-rank-line{
  color:#ffffff!important;
  font-size:34px!important;
  font-weight:1000!important;
  letter-spacing:-.6px!important;
  text-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}
.xu-card.rank-silver .member-rank-line,
.xu-card.rank-gold .member-rank-line{color:#0f172a!important;text-shadow:none!important}
.xu-card .member-rank-line .coin-inline{gap:8px!important}
.xu-card .member-rank-line .unit-icon-img{
  width:31px!important;height:31px!important;min-width:31px!important;filter:drop-shadow(0 3px 7px rgba(0,0,0,.18))!important;
}
.xu-card .member-xu-line{color:#0f172a!important;opacity:.9!important;font-size:15px!important;line-height:1.15!important}

/* ép icon giá nằm ngay cạnh số, không rơi xuống đáy chip */
.recommend-grid .recommend-card em,
.product-scroll .mini-product.price-side .prod-price{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:max-content!important;
  min-width:112px!important;
  height:40px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  overflow:visible!important;
}
.recommend-grid .recommend-card em .money-inline,
.product-scroll .mini-product.price-side .prod-price .money-inline{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  height:100%!important;
}
.recommend-grid .recommend-card em .money-inline .num,
.product-scroll .mini-product.price-side .prod-price .money-inline .num{
  font-size:17px!important;
  color:#0f172a!important;
  font-weight:1000!important;
  line-height:1!important;
}
.recommend-grid .recommend-card em .unit-icon-img,
.product-scroll .mini-product.price-side .prod-price .unit-icon-img{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  flex:0 0 22px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0!important;
  position:static!important;
  transform:none!important;
  vertical-align:middle!important;
}
.recommend-grid .recommend-card{
  min-height:252px!important;
}
.recommend-grid .recommend-card b{
  font-size:21px!important;
  line-height:1.1!important;
}
.recommend-grid .recommend-card span{
  font-size:14px!important;
  line-height:1.22!important;
  min-height:36px!important;
}

/* Bio */
.bio-admin-card,.bio-public-card{
  background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:18px;box-shadow:0 14px 36px rgba(15,23,42,.07);
}
.bio-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bio-admin-head b{display:block;font-size:19px}
.bio-admin-head span{display:block;color:#64748b;font-weight:850;word-break:break-all;margin-top:4px}
.bio-verify-buy{margin-top:14px;background:linear-gradient(135deg,#eff6ff,#e0f2fe);border:1px solid #bfdbfe;border-radius:22px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bio-verify-buy b{display:block}.bio-verify-buy span{display:block;color:#64748b;margin-top:4px}
.bio-verified-ok{margin-top:12px;background:#dcfce7;color:#166534;border-radius:18px;padding:12px 14px;font-weight:1000}
.bio-edit-form textarea{border:1px solid #dbe3ef;border-radius:15px;padding:13px;background:#fff;width:100%;font-weight:750}
.bio-link-editor{margin:16px 0;border-top:1px dashed #dbe3ef;padding-top:12px}
.bio-link-row{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-bottom:8px}
.bio-premium-box{margin:16px 0;padding:14px;border-radius:22px;border:1px solid #dbeafe;background:#f8fbff}
.bio-premium-box.locked{opacity:.72;background:#f8fafc}
.bio-public{min-height:calc(100vh - 120px);margin:-14px;background:var(--bio-bg);padding:18px 14px 150px;color:var(--bio-text)}
.bio-cover{height:170px;border-radius:0 0 34px 34px;background-size:cover;background-position:center;margin:-18px -14px 0}
.bio-public-card{max-width:520px;margin:24px auto 0;background:var(--bio-card);text-align:center;color:var(--bio-text);position:relative;overflow:hidden}
.bio-public.theme-glass .bio-public-card{background:color-mix(in srgb,var(--bio-card) 72%, transparent);backdrop-filter:blur(16px)}
.bio-public.theme-dark{background:#07111f!important}
.bio-public.theme-dark .bio-public-card{background:#101c32!important;color:#fff!important;border-color:#243654}
.bio-avatar-big{width:112px;height:112px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,#0b49df,#38bdf8);display:grid;place-items:center;color:#fff;font-size:44px;font-weight:1000;border:5px solid rgba(255,255,255,.9);overflow:hidden}
.bio-avatar-big img{width:100%;height:100%;object-fit:cover}
.bio-public h1{margin:4px 0;font-size:30px;line-height:1.1}.bio-public h2{font-size:18px;color:#64748b;margin:6px 0 12px}.bio-public p{line-height:1.55;color:inherit}
.bio-verify{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#22c55e;color:#fff;font-size:17px;border:3px solid #fff;vertical-align:middle}
.bio-public-links{display:grid;gap:10px;margin:18px 0}
.bio-public-links a{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:17px;background:var(--bio-btn);color:#fff;text-decoration:none;font-weight:1000;box-shadow:0 12px 28px color-mix(in srgb,var(--bio-btn) 30%, transparent)}
.bio-public-card small{color:#64748b;font-weight:850}
@media(max-width:520px){
  .bio-link-row{grid-template-columns:1fr}
  .bio-verify-buy{display:grid}
  .balance-blue .balance-value{font-size:32px!important}
  .xu-card .member-rank-line{font-size:31px!important}
}


/* ===== V28: bio riêng trang + chỉ làm đậm số dư/xu + xanh hạng dịu hơn ===== */
/* chỉ số đậm, text xung quanh nhẹ hơn */
.balance-blue > span,
.balance-blue > small{
  color:rgba(255,255,255,.86)!important;
  font-weight:750!important;
  text-shadow:none!important;
}
.balance-blue .balance-value,
.balance-blue b.balance-value,
.balance-blue .balance-value .money-inline,
.balance-blue .balance-value .money-inline .num{
  color:#ffffff!important;
  font-size:38px!important;
  font-weight:1000!important;
  letter-spacing:-.6px!important;
  line-height:1!important;
  text-shadow:0 2px 10px rgba(0,0,0,.32)!important;
}
.balance-blue .balance-value .unit-icon-img{
  width:28px!important;height:28px!important;min-width:28px!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.25))!important;
}
.xu-card .member-top,
.xu-card .member-xu-line{
  color:rgba(15,23,42,.82)!important;
  font-weight:800!important;
  text-shadow:none!important;
}
.xu-card .member-rank-line,
.xu-card .member-rank-line .coin-inline,
.xu-card .member-rank-line .coin-inline .num{
  font-size:36px!important;
  color:#ffffff!important;
  font-weight:1000!important;
  line-height:1!important;
  letter-spacing:-.7px!important;
  text-shadow:0 2px 10px rgba(0,0,0,.22)!important;
}
.xu-card.rank-silver .member-rank-line,
.xu-card.rank-silver .member-rank-line .num,
.xu-card.rank-gold .member-rank-line,
.xu-card.rank-gold .member-rank-line .num{
  color:#0f172a!important;
  text-shadow:none!important;
}
.xu-card .member-rank-line .unit-icon-img{
  width:34px!important;height:34px!important;min-width:34px!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))!important;
}

/* màu xanh đồng dịu, premium hơn */
.member-card.rank-bronze,
.xu-card.rank-bronze{
  background:linear-gradient(135deg,#0f9f68 0%,#14b873 48%,#26d18a 100%)!important;
  box-shadow:0 16px 36px rgba(15,159,104,.22)!important;
}
.member-page.rank-bronze{background:linear-gradient(180deg,#eefbf5 0%,#ffffff 76%)!important}
.member-page.rank-bronze .member-hero,
.member-page.rank-bronze .zlp-member-hero{
  background:linear-gradient(135deg,#0f9f68,#1ac97d)!important;
}
.rank-card-bronze{
  background:linear-gradient(135deg,#0f9f68,#1ac97d)!important;
}
.rank-card::after{content:'S'!important}
.member-card.rank-bronze:after{content:'S'!important;color:rgba(255,255,255,.22)!important}
.zlp-member-hero::after,.member-hero::after{content:'S'!important}

/* nút trong trang quản lý bio không bị trắng nhạt */
.bio-admin-card .btn.primary,
.bio-edit-form .btn.primary,
.bio-verify-buy .btn.primary{
  background:linear-gradient(135deg,#0b49df,#1464ff)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 12px 28px rgba(11,73,223,.22)!important;
}
.bio-admin-card .btn.ghost{
  background:#eef5ff!important;
  color:#0b49df!important;
}

/* bio public cũ nếu lỡ bị gọi trong app vẫn ẩn nav/header khi có class */
body:has(.bio-public) .bottom-nav{display:none!important}
body:has(.bio-public) .topbar{display:none!important}
body:has(.bio-public) .app-shell{max-width:none!important;background:transparent!important;border:0!important}
body:has(.bio-public) .content{padding:0!important}


/* ===== V29: khôi phục số ví/xu gọn rõ + Bio kiểu Facebook ===== */
.balance-blue > span,
.balance-blue > small{
  color:rgba(255,255,255,.88)!important;
  font-weight:850!important;
  text-shadow:none!important;
}
.balance-blue .balance-value,
.balance-blue b.balance-value,
.balance-blue .balance-value .money-inline,
.balance-blue .balance-value .money-inline .num{
  color:#f8fafc!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.4px!important;
  text-shadow:none!important;
  opacity:1!important;
}
.balance-blue .balance-value .unit-icon-img{
  width:23px!important;height:23px!important;min-width:23px!important;filter:none!important;
}
.xu-card .member-top,
.xu-card .member-xu-line{
  font-weight:900!important;
  color:rgba(15,23,42,.85)!important;
  text-shadow:none!important;
}
.xu-card .member-rank-line,
.xu-card .member-rank-line .coin-inline,
.xu-card .member-rank-line .coin-inline .num{
  font-size:30px!important;
  line-height:1!important;
  color:#f8fafc!important;
  font-weight:1000!important;
  letter-spacing:-.3px!important;
  text-shadow:none!important;
  opacity:1!important;
}
.xu-card.rank-silver .member-rank-line,
.xu-card.rank-silver .member-rank-line .num,
.xu-card.rank-gold .member-rank-line,
.xu-card.rank-gold .member-rank-line .num{
  color:#0f172a!important;
}
.xu-card .member-rank-line .unit-icon-img{
  width:27px!important;height:27px!important;min-width:27px!important;filter:none!important;
}
.member-card.rank-bronze,
.xu-card.rank-bronze{
  background:linear-gradient(135deg,#15a86b 0%,#18bd78 48%,#33d690 100%)!important;
  color:#0f172a!important;
}
.member-page.rank-bronze{
  background:linear-gradient(180deg,#f0fff7 0%,#ffffff 78%)!important;
}
.member-page.rank-bronze .member-hero,
.member-page.rank-bronze .zlp-member-hero,
.member-page.rank-bronze .rank-sync-shortcuts,
.member-page.rank-bronze .checkin-card,
.rank-card-bronze{
  background:linear-gradient(135deg,#15a86b,#30d88e)!important;
}

/* Bio editor */
.bio-manage-preview{
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e8f0;
  box-shadow:0 14px 38px rgba(15,23,42,.08);
  margin-bottom:14px;
}
.bio-manage-preview.mode-dark{
  background:#242629;
  color:#fff;
  border-color:#32353a;
}
.bio-manage-cover{
  height:150px;
  background:linear-gradient(135deg,#0b49df,#111827);
  background-size:cover;
  background-position:center;
  position:relative;
}
.bio-manage-cover:after{
  content:"BIO";
  position:absolute;
  right:16px;
  bottom:8px;
  color:rgba(255,255,255,.16);
  font-size:48px;
  font-weight:1000;
}
.bio-manage-profile{
  display:flex;
  gap:12px;
  align-items:flex-end;
  padding:0 16px 12px;
  margin-top:-48px;
  position:relative;
  z-index:2;
}
.bio-manage-avatar{
  width:100px;
  height:100px;
  border-radius:50%;
  border:5px solid currentColor;
  background:linear-gradient(135deg,#0b49df,#38bdf8);
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  font-size:36px;
  font-weight:1000;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
}
.bio-manage-preview.mode-light .bio-manage-avatar{border-color:#fff}
.bio-manage-preview.mode-dark .bio-manage-avatar{border-color:#242629}
.bio-manage-avatar img{width:100%;height:100%;object-fit:cover}
.bio-manage-profile h2{
  margin:0;
  font-size:25px;
  line-height:1.08;
  font-weight:1000;
  color:inherit;
}
.bio-manage-profile p{
  margin:5px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:850;
  line-height:1.35;
}
.bio-manage-preview.mode-dark .bio-manage-profile p{color:#cbd5e1}
.bio-mini-check{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#22c55e;
  color:white;
  font-size:15px;
  vertical-align:middle;
}
.bio-manage-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:0 16px 16px;
}
.facebook-bio-editor h3{
  margin:0 0 10px;
}
.facebook-bio-editor small{
  display:block;
  color:#64748b;
  font-weight:800;
  margin-top:5px;
}
.facebook-bio-editor .grid3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
@media(max-width:430px){
  .bio-manage-cover{height:132px}
  .bio-manage-avatar{width:88px;height:88px}
  .bio-manage-profile{align-items:flex-end}
  .bio-manage-profile h2{font-size:22px}
  .facebook-bio-editor .grid3{grid-template-columns:1fr}
  .balance-blue .balance-value,
  .balance-blue .balance-value .money-inline .num{font-size:29px!important}
  .xu-card .member-rank-line,
  .xu-card .member-rank-line .coin-inline .num{font-size:29px!important}
}


/* ===== V30: size số ví/xu gọn hơn + bank bio ===== */
body .zlp-cards .balance-blue b.balance-value,
body .zlp-cards .balance-blue .balance-value,
body .zlp-cards .balance-blue .balance-value .money-inline,
body .zlp-cards .balance-blue .balance-value .num{
  font-size:36px!important;
  line-height:.98!important;
  font-weight:1000!important;
  letter-spacing:-1px!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
}
body .zlp-cards .xu-card .member-rank-line,
body .zlp-cards .xu-card .member-rank-line .coin-inline,
body .zlp-cards .xu-card .member-rank-line .num{
  font-size:38px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-1px!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
}
body .zlp-cards .balance-blue .unit-icon-img,
body .zlp-cards .xu-card .unit-icon-img{
  vertical-align:middle!important;
  transform:none!important;
  margin-left:6px!important;
}
@media(max-width:430px){
  body .zlp-cards .balance-blue b.balance-value,
  body .zlp-cards .balance-blue .balance-value,
  body .zlp-cards .balance-blue .balance-value .money-inline,
  body .zlp-cards .balance-blue .balance-value .num{font-size:32px!important;letter-spacing:-.7px!important}
  body .zlp-cards .xu-card .member-rank-line,
  body .zlp-cards .xu-card .member-rank-line .coin-inline,
  body .zlp-cards .xu-card .member-rank-line .num{font-size:35px!important;letter-spacing:-.7px!important}
}
.bio-bank-edit{
  margin:14px 0;
  padding:14px;
  border:1px solid #dbe4f0;
  border-radius:22px;
  background:linear-gradient(180deg,#f8fbff,#fff);
}
.bio-bank-edit h3{margin:0 0 6px!important}
.bio-bank-edit input[type=file],
.facebook-bio-editor input[type=file]{
  padding:10px!important;
  background:#f8fbff!important;
  border:1px dashed #cbd5e1!important;
  border-radius:14px!important;
}
.admin-bank-list{
  display:grid;
  gap:12px;
}
.admin-bank-row{
  display:grid;
  grid-template-columns:72px repeat(5,minmax(0,1fr)) auto auto;
  gap:10px;
  align-items:end;
  padding:12px;
  border:1px solid #dbe4f0;
  border-radius:18px;
  background:#fff;
}
.bank-admin-logo{
  width:62px;
  height:62px;
  border-radius:18px;
  background:#f1f5f9;
  display:grid;
  place-items:center;
  overflow:hidden;
  font-size:26px;
}
.bank-admin-logo img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  .admin-bank-row{grid-template-columns:72px 1fr;align-items:stretch}
  .admin-bank-row .btn{width:100%}
}


/* ===== V31: dashboard số giống bản cũ + tích xanh bio bằng ảnh ===== */
body .app-shell .zlp-cards .balance-blue{
  overflow:hidden!important;
}
body .app-shell .zlp-cards .balance-blue > b.balance-value,
body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
body .app-shell .zlp-cards .balance-blue > b.balance-value .num{
  font-size:38px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.8px!important;
  opacity:1!important;
  filter:none!important;
  color:#f8fafc!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
body .app-shell .zlp-cards .xu-card > b.member-rank-line,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{
  font-size:40px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.8px!important;
  opacity:1!important;
  filter:none!important;
  color:#f8fafc!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
body .app-shell .zlp-cards .balance-blue .unit-icon-img,
body .app-shell .zlp-cards .xu-card .unit-icon-img{
  width:24px!important;
  height:24px!important;
  margin-left:7px!important;
  transform:none!important;
  vertical-align:middle!important;
}
.bio-mini-check-img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
  vertical-align:middle!important;
  display:inline-block!important;
  margin-left:4px!important;
}
@media(max-width:430px){
  body .app-shell .zlp-cards .balance-blue > b.balance-value,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .num{
    font-size:34px!important;
    letter-spacing:-.5px!important;
  }
  body .app-shell .zlp-cards .xu-card > b.member-rank-line,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{
    font-size:36px!important;
    letter-spacing:-.5px!important;
  }
}
@media(max-width:380px){
  body .app-shell .zlp-cards .balance-blue > b.balance-value,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .num{
    font-size:31px!important;
  }
  body .app-shell .zlp-cards .xu-card > b.member-rank-line,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{
    font-size:33px!important;
  }
}


/* ===== V32: giảm font toàn trang user cho gọn hơn ===== */
body .app-shell,
body .app-shell input,
body .app-shell select,
body .app-shell textarea,
body .app-shell button{
  font-size:14.5px!important;
}
body .app-shell h1{font-size:26px!important;line-height:1.12!important}
body .app-shell h2{font-size:23px!important;line-height:1.15!important}
body .app-shell h3{font-size:20px!important;line-height:1.18!important}
body .app-shell .section-line b{
  font-size:22px!important;
  line-height:1.15!important;
}
body .app-shell .section-line a{
  font-size:18px!important;
}
body .app-shell .greeting-row b{
  font-size:18px!important;
  line-height:1.18!important;
  letter-spacing:-.3px!important;
}
body .app-shell .zlp-cards .balance-blue span,
body .app-shell .zlp-cards .xu-card .member-top{
  font-size:16px!important;
  line-height:1.1!important;
  font-weight:850!important;
}
body .app-shell .zlp-cards .balance-blue > b.balance-value,
body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
body .app-shell .zlp-cards .balance-blue > b.balance-value .num{
  font-size:32px!important;
  line-height:1!important;
  letter-spacing:-.4px!important;
}
body .app-shell .zlp-cards .xu-card > b.member-rank-line,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{
  font-size:34px!important;
  line-height:1!important;
  letter-spacing:-.4px!important;
}
body .app-shell .zlp-cards .balance-blue small,
body .app-shell .zlp-cards .xu-card .member-xu-line{
  font-size:15px!important;
  line-height:1.16!important;
  font-weight:850!important;
}
body .app-shell .quick-actions a,
body .app-shell .quick-actions span{
  font-size:15px!important;
  line-height:1.15!important;
}
body .app-shell .service-grid a span,
body .app-shell .bottom-nav a span{
  font-size:13.5px!important;
  line-height:1.12!important;
  letter-spacing:-.15px!important;
}
body .app-shell .product-scroll .mini-product b,
body .app-shell .recommend-card b{
  font-size:18px!important;
  line-height:1.08!important;
}
body .app-shell .product-scroll .mini-product small,
body .app-shell .recommend-card small{
  font-size:13.5px!important;
  line-height:1.2!important;
}
body .app-shell .prod-price,
body .app-shell .recommend-card em,
body .app-shell .featured-price{
  font-size:16px!important;
  line-height:1!important;
}
body .app-shell .quick-service span{
  font-size:11px!important;
  line-height:1.06!important;
}
body .app-shell .quick-service .price-chip,
body .app-shell .quick-service .price-chip .price-num{
  font-size:14px!important;
}
body .app-shell .pay-box label,
body .app-shell .pay-box b,
body .app-shell .pay-box span,
body .app-shell .pay-box small{
  font-size:14px!important;
}
body .app-shell .btn,
body .app-shell button.btn,
body .app-shell .primary{
  font-size:15px!important;
}
@media(max-width:430px){
  body .app-shell{font-size:14px!important}
  body .app-shell h1{font-size:24px!important}
  body .app-shell h2{font-size:21px!important}
  body .app-shell h3{font-size:18px!important}
  body .app-shell .section-line b{font-size:20px!important}
  body .app-shell .section-line a{font-size:16px!important}
  body .app-shell .greeting-row b{font-size:17px!important}
  body .app-shell .zlp-cards .balance-blue span,
  body .app-shell .zlp-cards .xu-card .member-top{font-size:15px!important}
  body .app-shell .zlp-cards .balance-blue > b.balance-value,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .num{font-size:30px!important}
  body .app-shell .zlp-cards .xu-card > b.member-rank-line,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{font-size:31px!important}
  body .app-shell .zlp-cards .balance-blue small,
  body .app-shell .zlp-cards .xu-card .member-xu-line{font-size:13.5px!important}
  body .app-shell .quick-actions a,
  body .app-shell .quick-actions span{font-size:14px!important}
  body .app-shell .service-grid a span,
  body .app-shell .bottom-nav a span{font-size:12.5px!important}
}
@media(max-width:380px){
  body .app-shell .zlp-cards .balance-blue > b.balance-value,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .num{font-size:27px!important}
  body .app-shell .zlp-cards .xu-card > b.member-rank-line,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{font-size:28px!important}
}


/* ===== V33: font nhỏ hơn nữa cho mobile ===== */
body .app-shell,
body .app-shell input,
body .app-shell select,
body .app-shell textarea,
body .app-shell button{
  font-size:13px!important;
}
body .app-shell h1{font-size:22px!important;line-height:1.12!important}
body .app-shell h2{font-size:19px!important;line-height:1.14!important}
body .app-shell h3{font-size:17px!important;line-height:1.16!important}

body .app-shell .section-line b{
  font-size:18px!important;
  line-height:1.14!important;
  letter-spacing:-.25px!important;
}
body .app-shell .section-line a{
  font-size:14.5px!important;
}
body .app-shell .greeting-row b{
  font-size:15.5px!important;
  line-height:1.18!important;
  letter-spacing:-.2px!important;
}

body .app-shell .zlp-cards .balance-blue span,
body .app-shell .zlp-cards .xu-card .member-top{
  font-size:13.5px!important;
  line-height:1.1!important;
  font-weight:850!important;
}
body .app-shell .zlp-cards .balance-blue > b.balance-value,
body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
body .app-shell .zlp-cards .balance-blue > b.balance-value .num{
  font-size:26px!important;
  line-height:1!important;
  letter-spacing:-.2px!important;
}
body .app-shell .zlp-cards .xu-card > b.member-rank-line,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{
  font-size:27px!important;
  line-height:1!important;
  letter-spacing:-.2px!important;
}
body .app-shell .zlp-cards .balance-blue small,
body .app-shell .zlp-cards .xu-card .member-xu-line{
  font-size:12.5px!important;
  line-height:1.14!important;
  font-weight:850!important;
}
body .app-shell .zlp-cards .balance-blue .unit-icon-img,
body .app-shell .zlp-cards .xu-card .unit-icon-img{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin-left:4px!important;
}

body .app-shell .quick-actions a,
body .app-shell .quick-actions span{
  font-size:12.8px!important;
  line-height:1.12!important;
}
body .app-shell .service-grid a span,
body .app-shell .bottom-nav a span{
  font-size:11.2px!important;
  line-height:1.08!important;
  letter-spacing:-.1px!important;
}
body .app-shell .bottom-nav .center span{
  font-size:11.5px!important;
}

body .app-shell .product-scroll .mini-product b,
body .app-shell .recommend-card b{
  font-size:15.5px!important;
  line-height:1.08!important;
}
body .app-shell .product-scroll .mini-product small,
body .app-shell .recommend-card small{
  font-size:12px!important;
  line-height:1.16!important;
}
body .app-shell .prod-price,
body .app-shell .recommend-card em,
body .app-shell .featured-price{
  font-size:13.5px!important;
  line-height:1!important;
}

body .app-shell .quick-service span{
  font-size:10px!important;
  line-height:1.05!important;
}
body .app-shell .quick-service .price-chip,
body .app-shell .quick-service .price-chip .price-num{
  font-size:12.5px!important;
}

body .app-shell .pay-box label,
body .app-shell .pay-box b,
body .app-shell .pay-box span,
body .app-shell .pay-box small{
  font-size:12.5px!important;
}
body .app-shell .btn,
body .app-shell button.btn,
body .app-shell .primary{
  font-size:13px!important;
}

@media(max-width:430px){
  body .app-shell{font-size:12.8px!important}
  body .app-shell h1{font-size:21px!important}
  body .app-shell h2{font-size:18px!important}
  body .app-shell h3{font-size:16px!important}
  body .app-shell .section-line b{font-size:17.5px!important}
  body .app-shell .section-line a{font-size:14px!important}
  body .app-shell .greeting-row b{font-size:15px!important}

  body .app-shell .zlp-cards .balance-blue > b.balance-value,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .num{
    font-size:25px!important;
  }
  body .app-shell .zlp-cards .xu-card > b.member-rank-line,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{
    font-size:26px!important;
  }
}
@media(max-width:380px){
  body .app-shell .zlp-cards .balance-blue > b.balance-value,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .money-inline .num,
  body .app-shell .zlp-cards .balance-blue > b.balance-value .num{
    font-size:23px!important;
  }
  body .app-shell .zlp-cards .xu-card > b.member-rank-line,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .coin-inline .num,
  body .app-shell .zlp-cards .xu-card > b.member-rank-line .num{
    font-size:24px!important;
  }
}


/* ===== V35: Bio Pro nâng cao ===== */
.bio-stats-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.bio-stats-grid div{
  background:#fff;
  border:1px solid #dbe4f0;
  border-radius:18px;
  padding:12px;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.bio-stats-grid b{
  display:block;
  font-size:20px;
  line-height:1;
  font-weight:1000;
  color:#0b49df;
}
.bio-stats-grid span{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.bio-theme-preview{
  --pbg:#eef2ff;--pcard:#fff;--ptext:#0f172a;--pbtn:#0b49df;
  background:var(--pbg);
  border:1px solid #dbe4f0;
  border-radius:24px;
  padding:12px;
  margin:10px 0 14px;
  overflow:hidden;
}
.bio-theme-preview .preview-cover{
  height:56px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--pbtn),#111827);
  margin-bottom:-18px;
}
.bio-theme-preview .preview-card{
  background:var(--pcard);
  color:var(--ptext);
  border-radius:18px;
  padding:18px 14px 14px;
  display:grid;
  gap:5px;
  position:relative;
  box-shadow:0 8px 24px rgba(15,23,42,.08);
}
.bio-theme-preview .preview-card b{font-weight:1000}
.bio-theme-preview .preview-card span{font-size:12px;color:#64748b;font-weight:800}
.bio-theme-preview .preview-card em{
  justify-self:start;
  margin-top:8px;
  background:var(--pbtn);
  color:#fff;
  font-style:normal;
  border-radius:999px;
  padding:8px 14px;
  font-size:12px;
  font-weight:1000;
}
.bio-main-button-edit,
.bio-bank-row-edit{
  border:1px solid #dbe4f0;
  border-radius:20px;
  padding:12px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  margin-top:12px;
}
.bio-bank-row-edit>b{
  display:block;
  margin-bottom:8px;
  font-weight:1000;
}
.bio-premium-box.locked .bio-theme-preview,
.bio-premium-box.locked .bio-main-button-edit,
.bio-premium-box.locked .bio-bank-row-edit{
  opacity:.7;
}
.range-val{
  float:right;
  color:#0b49df;
  font-weight:1000;
}
.bio-badge-admin-row .bank-admin-logo{
  background:linear-gradient(135deg,#dbeafe,#f8fbff);
  color:#22c55e;
  font-weight:1000;
}
@media(max-width:700px){
  .bio-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== V36: Bio admin theme + compact link/bank/photo editor ===== */
.compact-add-box{border:1px solid #dbe5f2;border-radius:22px;padding:16px;background:#fff;margin:16px 0;box-shadow:0 8px 24px rgba(15,23,42,.035)}
.compact-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.compact-head h3{margin:0!important}
.compact-list{display:grid;gap:10px}
.compact-row,.compact-bank-row{position:relative;border:1px solid #e1e9f5;border-radius:18px;background:#f8fbff;padding:10px;display:grid;gap:8px}
.bio-link-row.compact-row{grid-template-columns:1fr 1fr auto;align-items:center}
.bio-link-row.compact-row input{min-width:0}
.compact-row-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.mini-remove{width:34px;height:34px;border:0;border-radius:50%;background:#eef4ff;color:#0f172a;font-weight:1000;font-size:18px;display:grid;place-items:center;line-height:1}
.soft-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#edf5ff;color:#0b49df;font-weight:1000;padding:8px 12px;font-size:13px}
.bio-free-stats-note{border:1px solid #dbe5f2;background:#f8fbff;border-radius:18px;padding:13px 14px;margin:12px 0;display:grid;gap:4px;color:#64748b}
.bio-free-stats-note b{color:#0f172a;font-weight:1000}
.bio-photo-manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.bio-photo-manage-item{border:1px solid #dbe5f2;border-radius:16px;padding:8px;background:#f8fbff;display:grid;gap:8px;font-size:12px!important}
.bio-photo-manage-item img{width:100%;height:90px;object-fit:cover;border-radius:12px;background:#eef2f7}
.bio-photo-manage-item span{display:flex;gap:6px;align-items:center;font-weight:800;color:#334155}
.admin-theme-list{display:grid;gap:14px}
.admin-theme-row{display:grid;grid-template-columns:150px repeat(3,minmax(140px,1fr));gap:10px;align-items:end;border:1px solid #dbe5f2;border-radius:18px;padding:12px;background:#fff}
.theme-preview-mini{height:104px;border-radius:18px;padding:12px;display:grid;align-content:end;gap:6px;overflow:hidden;position:relative;border:1px solid #dbe5f2}
.theme-preview-mini div{position:absolute;left:12px;top:12px;width:46px;height:26px;border-radius:999px;opacity:.9}
.theme-preview-mini b{font-weight:1000;font-size:14px;position:relative;z-index:2}
.theme-preview-mini img{position:absolute;right:8px;top:8px;width:54px;height:54px;object-fit:cover;border-radius:12px;opacity:.85}
.bio-theme-preview{background:var(--pbg,#f5f8ff)!important;border-color:#dbe5f2!important}
.bio-theme-preview .preview-card{background:var(--pcard,#fff)!important;color:var(--ptext,#0f172a)!important}
.bio-theme-preview .preview-card em{background:var(--pbtn,#0b49df)!important;color:#fff!important}
@media(max-width:720px){
  .bio-link-row.compact-row{grid-template-columns:1fr; padding-right:52px}
  .bio-link-row.compact-row .mini-remove{position:absolute;right:9px;top:9px}
  .bio-photo-manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-theme-row{grid-template-columns:1fr}
}


/* ===== V41: admin slider font controls + wallet/account compact fix ===== */
.range-grid{align-items:start}
.range-setting{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px}
.range-setting>span{display:block;font-weight:900;margin-bottom:8px}
.range-wrap{display:flex;align-items:center;gap:10px}
.range-wrap input[type=range]{flex:1;accent-color:var(--primary,#0b49df);padding:0!important}
.range-wrap output{min-width:58px;text-align:center;background:#eaf1ff;color:#0b49df;border-radius:999px;padding:6px 10px;font-weight:900}

body .app-shell .zlp-cards .balance-blue>span,
body .app-shell .zlp-cards .xu-card .member-top{font-size:var(--home_card_title_size,16px)!important;line-height:1.15!important}
body .app-shell .zlp-cards .balance-blue>small,
body .app-shell .zlp-cards .xu-card .member-xu-line{font-size:var(--home_card_note_size,14px)!important;line-height:1.18!important}
body .app-shell .zlp-cards .balance-blue>b.balance-value,
body .app-shell .zlp-cards .balance-blue>b.balance-value .money-inline,
body .app-shell .zlp-cards .balance-blue>b.balance-value .money-inline .num,
body .app-shell .zlp-cards .balance-blue>b.balance-value .num{font-size:var(--home_card_value_size,32px)!important;line-height:.96!important;letter-spacing:-.7px!important}
body .app-shell .zlp-cards .xu-card>b.member-rank-line,
body .app-shell .zlp-cards .xu-card>b.member-rank-line .coin-inline,
body .app-shell .zlp-cards .xu-card>b.member-rank-line .coin-inline .num,
body .app-shell .zlp-cards .xu-card>b.member-rank-line .num{font-size:var(--home_card_value_size,32px)!important;line-height:.96!important;letter-spacing:-.7px!important}
body .app-shell .zlp-cards .balance-blue .unit-icon-img,
body .app-shell .zlp-cards .balance-blue .unit-label,
body .app-shell .zlp-cards .balance-blue .unit-icon-text,
body .app-shell .zlp-cards .xu-card .unit-icon-img,
body .app-shell .zlp-cards .xu-card .unit-label,
body .app-shell .zlp-cards .xu-card .unit-icon-text{width:var(--home_card_icon_size,24px)!important;height:var(--home_card_icon_size,24px)!important;font-size:var(--home_card_icon_size,24px)!important;margin-left:0!important}

.wallet-card>span{font-size:var(--wallet_title_size,18px)!important;font-weight:800!important}
.wallet-card b .num{font-size:var(--wallet_value_size,52px)!important}
.wallet-card b .unit-icon-img,.wallet-card b .unit-label,.wallet-card b .unit-icon-text{width:var(--wallet_big_icon_size,28px)!important;height:var(--wallet_big_icon_size,28px)!important;font-size:var(--wallet_big_icon_size,28px)!important;margin-left:0!important}
.wallet-card .wallet-points .num{font-size:var(--wallet_meta_size,18px)!important}
.wallet-card .wallet-points .unit-icon-img,.wallet-card .wallet-points .unit-label,.wallet-card .wallet-points .unit-icon-text{width:var(--wallet_meta_icon_size,22px)!important;height:var(--wallet_meta_icon_size,22px)!important;font-size:var(--wallet_meta_icon_size,22px)!important;margin-left:0!important}
.wallet-card .wallet-rank,.wallet-card .wallet-dot{font-size:var(--wallet_meta_size,18px)!important}

.zalo-profile-head{padding:24px 20px 80px!important}
.zp-title{font-size:21px!important;margin-bottom:24px!important}
.zp-user{gap:14px!important;align-items:center!important}
.zp-user h2{font-size:var(--account_name_size,24px)!important;line-height:1.08!important}
.zp-user p{font-size:var(--account_sub_size,17px)!important;line-height:1.12!important}
.verify-badge.tg-status{font-size:var(--account_badge_size,14px)!important;padding:8px 12px!important}
.zp-body{margin:-58px 14px 0!important}
.zp-two{gap:10px!important;margin-bottom:16px!important}
.zp-mini{padding:14px 16px!important;min-height:92px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.zp-mini b{font-size:var(--account_box_title_size,18px)!important;line-height:1.15!important}
.zp-mini span{font-size:var(--account_box_desc_size,14px)!important;line-height:1.28!important}
.zp-member-line{display:inline-flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}
.zp-member-points,.zp-member-points .coin-inline{display:inline-flex!important;align-items:center!important;gap:4px!important;line-height:1!important}
.zp-member-points .num{font-size:var(--account_coin_size,18px)!important;font-weight:1000!important;line-height:1!important}
.zp-member-points .unit-icon-img,.zp-member-points .unit-label,.zp-member-points .unit-icon-text{width:var(--account_coin_size,18px)!important;height:var(--account_coin_size,18px)!important;font-size:var(--account_coin_size,18px)!important;margin-left:0!important}
.zp-section{padding:14px!important;margin-bottom:14px!important}
.zp-section h3{font-size:20px!important;margin-bottom:10px!important}
.zp-row{gap:12px!important;padding:13px 4px!important}
.zp-row>span{font-size:26px!important;width:38px!important}
.zp-row b{font-size:var(--account_box_title_size,18px)!important;line-height:1.18!important}
.zp-row small{font-size:var(--account_box_desc_size,14px)!important;line-height:1.3!important}
.zp-row i{font-size:24px!important}
@media(max-width:520px){
  .wallet-card>span{font-size:calc(var(--wallet_title_size,18px) - 1px)!important}
  .wallet-card b .num{font-size:calc(var(--wallet_value_size,52px) - 4px)!important}
  .zalo-profile-head{padding:22px 16px 72px!important}
  .zp-user .profile-avatar{width:88px!important;height:88px!important}
  .zp-user h2{font-size:calc(var(--account_name_size,24px) - 2px)!important}
  .zp-user p{font-size:calc(var(--account_sub_size,17px) - 1px)!important}
}


/* V42: giá + icon dịch vụ sát nhau hơn, kéo lên nhẹ cho đẹp */
#quickServiceGrid .quick-service .price-chip,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip{
  gap:1px !important;
  column-gap:1px !important;
  row-gap:0 !important;
  margin-top:auto !important;
  margin-bottom:0 !important;
  transform:translateY(-3px) !important;
  padding:0 !important;
  min-height:auto !important;
  line-height:1 !important;
}
#quickServiceGrid .quick-service .price-chip .price-num,
#quickServiceGrid .quick-service .price-chip .num,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .price-num,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .num{
  margin-right:0 !important;
  letter-spacing:-0.25px !important;
  line-height:1 !important;
}
#quickServiceGrid .quick-service .price-chip .unit-icon-img,
#quickServiceGrid .quick-service .price-chip .unit-label,
#quickServiceGrid .quick-service .price-chip .unit-icon-text,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-img,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-label,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-text{
  margin-left:-1px !important;
  transform:translateY(-1px) !important;
  vertical-align:middle !important;
}
@media (max-width:560px){
  #quickServiceGrid .quick-service .price-chip,
  body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip{
    transform:translateY(-2px) !important;
  }
}

/* V43 mail ao */
.mail-hero h3{margin:0 0 8px}.compact-mail-form{box-shadow:none!important;border:0!important;padding:0!important;background:transparent!important}.mail-create-row{display:flex;gap:8px;align-items:center;margin:12px 0}.mail-create-row input{flex:1;min-width:0}.mail-create-row select{width:42%;min-width:130px}.mail-alias-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe4f0;border-radius:18px;padding:12px;margin:10px 0;background:#fff}.mail-alias-row b,.mail-alias-row small{display:block}.mail-alias-row small{color:#64748b;margin-top:3px}.mail-alias-row>div:last-child{display:flex;align-items:center;gap:6px}.mail-msg-card{border:1px solid #dbe4f0;border-radius:18px;padding:12px;margin:10px 0;background:#f8fbff}.mail-msg-card p{margin:6px 0}.btn.danger{background:#fee2e2!important;color:#991b1b!important}.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-actions form{margin:0}
@media(max-width:520px){.mail-create-row{display:grid;grid-template-columns:1fr}.mail-create-row select{width:100%}.mail-alias-row{align-items:flex-start;flex-direction:column}.mail-alias-row>div:last-child{width:100%;justify-content:flex-end}}

/* V49 mail đẹp + copy mã nhanh */
.pretty-mail-msg{padding:18px!important;border-radius:22px!important;margin-bottom:16px!important}
.pretty-mail-msg .muted{line-height:1.55!important;margin:10px 0 12px!important}
.mail-body-preview{white-space:normal;line-height:1.72!important;font-size:15px!important;letter-spacing:-.1px;margin:14px 0 0!important;color:var(--text,#0f172a)}
.mail-code-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef5ff;border:1px solid #d8e7ff;border-radius:18px;padding:10px 12px;margin:12px 0;color:#0f172a}
.mail-code-box span{font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.3px}
.mail-code-box code{font-size:22px;font-weight:950;background:#fff;border-radius:14px;padding:7px 12px;color:#0b49df;letter-spacing:1px}
.mail-code-box .btn{margin-left:auto;min-height:36px;padding:8px 14px;border-radius:14px}
@media(max-width:520px){.mail-body-preview{font-size:14px!important;line-height:1.68!important}.mail-code-box code{font-size:20px}.mail-code-box .btn{margin-left:0;width:100%}}

/* ===== V50: Admin mobile pro + gọn form + theme sáng/tối toàn site ===== */
body.theme-dark{
  --bg:#0b1020!important;
  --card:#131a2a!important;
  --text:#f8fafc!important;
  --topbar:#101827!important;
  --bottom_nav:#101827!important;
  --bottom_active:#1b2a44!important;
  background:#0b1020!important;
  color:#f8fafc!important;
}
body.theme-dark .topbar,body.theme-dark .bottom-nav,body.theme-dark .card,body.theme-dark .profile-card,body.theme-dark .form-card,body.theme-dark .auth-card,body.theme-dark .order-card,body.theme-dark .notice-card,body.theme-dark .support-box,body.theme-dark .history-item,body.theme-dark .mini-product,body.theme-dark .license-card,body.theme-dark .sms-card,body.theme-dark .admin-form,body.theme-dark .admin-table,body.theme-dark .admin-main .card{background:#131a2a!important;color:#f8fafc!important;border-color:#263349!important;box-shadow:none!important}
body.theme-dark input,body.theme-dark select,body.theme-dark textarea{background:#0f172a!important;color:#f8fafc!important;border-color:#334155!important}
body.theme-dark .muted,body.theme-dark .brand span,body.theme-dark .stat span,body.theme-dark .package-card p,body.theme-dark .license-info p,body.theme-dark .history-item span{color:#a8b3c7!important}
body.theme-dark .btn.ghost,body.theme-dark .pill,body.theme-dark .pill-tab,body.theme-dark .bottom-nav a.active{background:#1b2a44!important;color:#e5efff!important;border-color:#334155!important}
body.theme-dark code{background:#0f172a!important;color:#bfdbfe!important;border:1px solid #334155!important}

.admin-layout-pro{background:var(--bg)!important}.admin-side-pro{width:286px;background:linear-gradient(180deg,#0f172a,#111827)!important;color:#dbeafe!important;padding:14px!important;border-right:1px solid rgba(148,163,184,.18)}
.admin-side-pro .admin-logo{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 12px!important;padding:10px!important;border-radius:20px!important;background:rgba(255,255,255,.06)!important}.admin-side-pro .admin-logo b{display:block;color:#fff;font-size:18px;line-height:1}.admin-side-pro .admin-logo small{display:block;color:#93a4bd;font-size:11px;margin-top:3px}.admin-logo-box{width:42px;height:42px!important;border-radius:14px!important;overflow:hidden;flex:0 0 42px}.admin-logo-box img{width:100%;height:100%;object-fit:contain}
.admin-nav-groups{display:grid;gap:8px}.admin-nav-group{border:1px solid rgba(148,163,184,.18);border-radius:18px;background:rgba(255,255,255,.045);overflow:hidden}.admin-nav-group summary{list-style:none;cursor:pointer;padding:13px 14px;font-weight:1000;color:#fff;display:flex;align-items:center;justify-content:space-between}.admin-nav-group summary::-webkit-details-marker{display:none}.admin-nav-group summary:after{content:'›';font-size:22px;transition:.2s;color:#9ca3af}.admin-nav-group[open] summary:after{transform:rotate(90deg);color:#fff}.admin-nav-group div{display:grid;gap:4px;padding:0 8px 10px}.admin-side-pro a{display:flex!important;align-items:center!important;margin:0!important;padding:10px 12px!important;border-radius:14px!important;color:#dbeafe!important;font-weight:850;font-size:14px}.admin-side-pro a.active{background:#2563eb!important;color:#fff!important;box-shadow:0 10px 24px rgba(37,99,235,.25)}.admin-side-pro a:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}.admin-nav-extra{display:grid;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.16)}
.admin-main-pro{padding:18px!important;max-width:1180px;margin:0 auto;width:100%}.admin-main-pro .admin-top{position:sticky;top:0;z-index:4;background:linear-gradient(180deg,var(--bg),rgba(244,247,251,.86));backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.18);border-radius:24px;padding:14px 16px;margin-bottom:14px}.theme-dark .admin-main-pro .admin-top{background:linear-gradient(180deg,#0b1020,rgba(11,16,32,.86))}.admin-top h1{margin:0;font-size:clamp(24px,6vw,36px);line-height:1}.admin-top p{margin:6px 0 0;color:#64748b;font-weight:800;font-size:13px}.theme-dark .admin-top p{color:#93a4bd}.admin-top>span{background:#eef4ff;color:#334155;border-radius:999px;padding:8px 12px;font-weight:1000}.theme-dark .admin-top>span{background:#1e293b;color:#dbeafe}
.admin-main-pro .admin-form,.admin-main-pro .card,.admin-main-pro .admin-table{border-radius:24px!important;padding:16px!important;margin-bottom:14px!important}.admin-main-pro .admin-form h2,.admin-main-pro .card h2{margin-top:0;font-size:clamp(20px,5vw,30px)}.admin-main-pro .admin-form h3{margin:16px 0 10px;padding-top:8px;border-top:1px solid #e5eaf3}.theme-dark .admin-main-pro .admin-form h3{border-color:#263349}.admin-main-pro label{margin-bottom:0!important}.admin-main-pro input,.admin-main-pro select,.admin-main-pro textarea{min-height:44px!important;border-radius:15px!important;padding:10px 12px!important;font-weight:800}.admin-main-pro input[type=color]{padding:4px!important;height:44px!important}.admin-main-pro input[type=file]{padding:9px!important;background:#f8fbff!important}.theme-dark .admin-main-pro input[type=file]{background:#0f172a!important}.admin-main-pro .grid2{gap:10px!important}.admin-main-pro .btn.primary{min-height:48px;border-radius:17px}.admin-mode-card{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid #dbe7f5;background:linear-gradient(135deg,#eff6ff,#fff);border-radius:22px;padding:12px;margin:12px 0}.admin-mode-card b{font-size:18px}.admin-mode-card label{min-width:132px}.admin-mode-card small{color:#64748b;font-weight:800}.theme-dark .admin-mode-card{background:#111827;border-color:#334155}.admin-service-icon-preview{width:58px;height:58px;object-fit:contain;border-radius:18px;background:#f8fbff;border:1px solid #dbe4f0;padding:8px}.admin-table{overflow:auto!important}.admin-table th{white-space:nowrap}.admin-table td{font-size:14px}.admin-actions a{background:#eef4ff;color:#0b49df;border-radius:12px;padding:8px 11px;font-weight:900}.theme-dark .admin-actions a{background:#1b2a44;color:#bfdbfe}

/* Bio editor gọn hơn như app */
.bio-edit-form .grid2,.bio-edit-form .grid3{gap:10px!important}.bio-edit-form input,.bio-edit-form select,.bio-edit-form textarea{border-radius:18px!important;min-height:48px!important}.compact-add-box{border:1px solid #dbe7f5;border-radius:24px;padding:14px;margin:14px 0;background:#f8fbff}.theme-dark .compact-add-box{background:#0f172a;border-color:#334155}.compact-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:8px}.compact-head h3{margin:0!important}.compact-row,.bio-highlight-row{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:8px!important;align-items:center!important;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:10px;margin:8px 0}.bio-highlight-row{grid-template-columns:64px 1fr 1.2fr 48px auto!important}.theme-dark .compact-row,.theme-dark .bio-highlight-row{background:#131a2a;border-color:#334155}.mini-remove{width:38px;height:38px;border:0;border-radius:50%;background:#eef4ff;color:#0f172a;font-size:20px;font-weight:1000}.theme-dark .mini-remove{background:#1b2a44;color:#fff}.bio-premium-box{border-radius:26px!important;padding:14px!important}.bio-theme-preview{border-radius:24px!important}.bio-stats-grid div{min-height:68px!important;padding:10px 6px!important;border-radius:18px!important}.bio-stats-grid b{font-size:20px!important}.bio-stats-grid span{font-size:11px!important;line-height:1.15!important}
.wallet-card b .num{font-size:clamp(34px,11vw,46px)!important;letter-spacing:-1.6px!important}.wallet-card b .unit-label,.wallet-card b .unit-icon-text{font-size:22px!important}.wallet-card b .unit-icon-img{width:24px!important;height:24px!important}.wallet-card{border-radius:26px!important;padding:22px!important}.wallet-meta{font-size:clamp(13px,4.2vw,17px)!important}
@media(max-width:760px){
  .admin-layout-pro{display:block!important}.admin-side-pro{position:sticky!important;top:0!important;z-index:30!important;width:100%!important;height:auto!important;max-height:62vh!important;overflow:auto!important;border-radius:0 0 24px 24px!important;padding:10px!important}.admin-side-pro .admin-logo{margin-bottom:8px!important}.admin-nav-groups{grid-template-columns:1fr!important}.admin-nav-group summary{padding:12px 13px!important}.admin-nav-group div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 8px 9px}.admin-side-pro a{font-size:13px!important;padding:10px!important;justify-content:center;text-align:center}.admin-nav-extra{grid-template-columns:repeat(3,1fr);gap:6px}.admin-main-pro{padding:12px 10px!important}.admin-main-pro .admin-top{align-items:flex-start!important;gap:10px!important;border-radius:22px!important}.admin-top>span{font-size:13px}.admin-main-pro .grid2,.admin-main-pro .grid3{grid-template-columns:1fr!important}.admin-mode-card{display:grid;grid-template-columns:1fr;gap:8px}.admin-table{display:block!important;max-width:100%;overflow:auto!important}.admin-table th,.admin-table td{padding:10px!important;font-size:13px!important}.admin-main-pro .btn.primary{width:100%}.compact-row{grid-template-columns:1fr auto!important}.compact-row input:nth-child(2){grid-column:1/-1}.bio-highlight-row{grid-template-columns:54px 1fr auto!important}.bio-highlight-row input:nth-child(3),.bio-highlight-row input[type=color]{grid-column:1/-1;width:100%}.bio-highlight-row .mini-remove{grid-column:3;grid-row:1}
}
@media(max-width:420px){.admin-nav-group div{grid-template-columns:1fr}.admin-nav-extra{grid-template-columns:1fr}.admin-side-pro{max-height:58vh}.wallet-card b .num{font-size:36px!important}.wallet-card{padding:18px!important}.bio-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bio-stats-grid div:last-child{grid-column:1/-1}}

/* ===== V44: fix admin mobile, bio edit compact, theme user ===== */
@media(max-width:760px){
  body.admin-pro-body{overflow-x:hidden!important;background:var(--bg)!important}
  .admin-layout-pro{display:block!important;width:100%!important;min-height:100vh!important;overflow-x:hidden!important}
  .admin-side-pro{display:block!important;position:relative!important;top:auto!important;z-index:5!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0 10px 12px!important;border-radius:0 0 26px 26px!important;padding:calc(env(safe-area-inset-top) + 10px) 10px 12px!important;border-right:0!important;border-bottom:1px solid rgba(148,163,184,.18)!important;background:linear-gradient(180deg,#0b1222,#111827)!important;color:#dbeafe!important;box-shadow:0 14px 34px rgba(15,23,42,.22)!important}
  .admin-side-pro .admin-logo{display:flex!important;min-width:0!important;width:100%!important;margin:0 0 10px!important;padding:9px 10px!important;background:rgba(255,255,255,.07)!important;border-radius:20px!important;color:#fff!important}
  .admin-side-pro .admin-logo small{display:block!important;line-height:1.15!important;color:#9fb0c8!important}
  .admin-nav-groups{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;overflow:visible!important}
  .admin-nav-group{display:block!important;width:100%!important;margin:0!important;border-radius:18px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(148,163,184,.18)!important;overflow:hidden!important}
  .admin-nav-group summary{padding:12px 13px!important;font-size:14px!important;line-height:1.1!important}
  .admin-nav-group div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:0 8px 9px!important}
  .admin-side-pro a{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;white-space:normal!important;text-align:center!important;font-size:12.5px!important;line-height:1.15!important;padding:10px 8px!important;border-radius:14px!important;background:rgba(255,255,255,.07)!important;color:#dbeafe!important;box-shadow:none!important}
  .admin-side-pro a.active{background:#2563eb!important;color:#fff!important}
  .admin-nav-extra{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-top:10px!important;padding-top:10px!important}
  .admin-main-pro{display:block!important;width:100%!important;padding:0 10px calc(130px + env(safe-area-inset-bottom))!important;overflow:visible!important}
  .admin-main-pro .admin-top{position:relative!important;top:auto!important;margin:0 0 12px!important;padding:14px!important;border-radius:22px!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important}
  .admin-main-pro .admin-top h1{font-size:27px!important;letter-spacing:-.6px!important}
  .admin-main-pro .admin-top p{font-size:13px!important;line-height:1.35!important}
  .admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
}
@media(max-width:420px){.admin-nav-group div{grid-template-columns:1fr!important}.admin-nav-extra{grid-template-columns:1fr!important}}

/* Bio edit page: app-like compact */
.bio-edit-form.facebook-bio-editor{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;overflow:hidden!important}
.facebook-bio-editor h3{font-size:22px!important;line-height:1.05!important;margin:12px 0 10px!important;letter-spacing:-.4px!important}
.facebook-bio-editor small,.facebook-bio-editor .muted{font-size:13px!important;line-height:1.35!important}
.facebook-bio-editor input,.facebook-bio-editor select,.facebook-bio-editor textarea{min-height:46px!important;border-radius:16px!important;padding:10px 12px!important;font-size:15px!important}
.facebook-bio-editor input[type=file]{min-height:44px!important;padding:8px!important}
.facebook-bio-editor input[type=color]{height:44px!important;min-height:44px!important;padding:4px!important}
.compact-add-box{padding:12px!important;border-radius:22px!important;margin:12px 0!important}
.compact-head{align-items:center!important;gap:8px!important}.compact-head h3{margin:0!important;font-size:22px!important}
.compact-head .btn{min-height:42px!important;border-radius:15px!important;padding:9px 12px!important;white-space:nowrap!important}
.bio-link-row.compact-row,.bio-highlight-row.compact-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px!important;border-radius:18px!important;position:relative!important}
.bio-link-row.compact-row .mini-remove,.bio-highlight-row.compact-row .mini-remove{position:absolute!important;right:8px!important;top:8px!important;width:34px!important;height:34px!important;font-size:18px!important}
.bio-link-row.compact-row input:first-child,.bio-highlight-row.compact-row input:first-child{padding-right:48px!important}
.bio-highlight-row.compact-row input[type=color]{width:100%!important;max-width:none!important}
.bio-photo-manage-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important}
.bio-photo-manage-item{display:grid!important;gap:8px!important;background:#fff!important;border:1px solid #dbe7f5!important;border-radius:20px!important;padding:9px!important;overflow:hidden!important}
.bio-photo-manage-item img{width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:16px!important;background:#f1f5f9!important}
.bio-photo-manage-item label{font-size:12px!important;margin:0!important;gap:5px!important}.bio-photo-manage-item select{min-height:38px!important;font-size:13px!important;border-radius:13px!important}
.bio-photo-manage-item.is-hidden{opacity:.55!important;filter:grayscale(.45)!important}
.bio-photo-manage-item.is-hidden:after{content:'Đang ẩn';font-weight:1000;color:#64748b;font-size:12px;text-align:center}
.bio-main-button-edit .grid2{grid-template-columns:1fr!important}
.bio-theme-preview{margin:8px 0 12px!important}
.bio-premium-box{padding:12px!important;border-radius:22px!important}
body.theme-dark .bio-photo-manage-item{background:#131a2a!important;border-color:#334155!important}
body.theme-dark .facebook-bio-editor input,body.theme-dark .facebook-bio-editor select,body.theme-dark .facebook-bio-editor textarea{background:#0f172a!important;color:#f8fafc!important;border-color:#334155!important}
@media(max-width:430px){
  .bio-manage-preview{border-radius:24px!important;margin-left:-4px!important;margin-right:-4px!important}
  .bio-manage-cover{height:112px!important}
  .bio-manage-avatar{width:78px!important;height:78px!important}
  .bio-manage-profile{padding:10px 12px!important;gap:10px!important}
  .bio-manage-profile h2{font-size:18px!important;line-height:1.1!important}.bio-manage-profile p{font-size:12px!important;line-height:1.25!important}
  .bio-admin-card,.bio-public-card,.bio-edit-form{border-radius:24px!important;padding:13px!important}
  .bio-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.bio-stats-grid div{min-height:56px!important;padding:8px 4px!important}.bio-stats-grid b{font-size:17px!important}.bio-stats-grid span{font-size:9px!important}
}

/* ===== V45: fix admin mobile dark + global primary color ===== */
:root{--simvn-primary:var(--primary)}
.btn.primary,.btn-primary,.admin-main-pro .btn.primary,button.btn.primary,a.btn.primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
.stat b,.admin-cards .stat b,.pill,.admin-mini,.product-scroll .prod-price .num,.bottom-nav a.active,.quick-service small.price-chip .num{color:var(--primary)!important}
.bottom-nav a.active,.pill-tab.active,.history-tabs .pill-tab.active,.fb-tabs button.on,.social-cat-chip.active{background:color-mix(in srgb,var(--primary) 12%,#fff)!important;border-color:color-mix(in srgb,var(--primary) 28%,#fff)!important;color:var(--primary)!important}
.balance-blue,.wallet-card{background:linear-gradient(135deg,var(--wallet1,#0b49df),var(--wallet2,#2563eb))!important;color:#fff!important}.balance-blue:after{background:radial-gradient(circle,rgba(255,255,255,.32),transparent 65%)!important}.balance-blue .balance-value,.balance-blue .balance-value .num,.wallet-card b .num,.wallet-card small .num{color:#fff!important;opacity:1!important;text-shadow:0 1px 0 rgba(0,0,0,.08)}.balance-blue>span,.balance-blue>small,.wallet-card>span,.wallet-card small{color:#fff!important;opacity:.98!important}.balance-eye{color:#fff!important}
body.theme-dark .bottom-nav a.active{background:color-mix(in srgb,var(--primary) 28%,#0f172a)!important;color:#fff!important}
@media(max-width:760px){
  body.admin-pro-body{overflow-x:hidden!important;background:var(--bg)!important;min-width:0!important}
  body.admin-pro-body .admin-layout-pro{display:block!important;width:100%!important;max-width:100%!important;min-height:100vh!important;overflow-x:hidden!important}
  body.admin-pro-body .admin-side-pro{position:relative!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:54vh!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0 0 12px!important;padding:calc(env(safe-area-inset-top) + 10px) 10px 12px!important;border:0!important;border-radius:0 0 24px 24px!important;background:#0b1222!important;box-shadow:0 14px 34px rgba(15,23,42,.22)!important;color:#fff!important;grid-template-columns:none!important}
  body.admin-pro-body .admin-side-pro .admin-logo{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;margin:0!important;padding:8px 10px!important;border-radius:18px!important;background:rgba(255,255,255,.08)!important;overflow:hidden!important;grid-column:auto!important}
  body.admin-pro-body .admin-side-pro .admin-logo b{display:none!important} body.admin-pro-body .admin-side-pro .admin-logo small{display:block!important;white-space:normal!important;color:#cbd5e1!important;font-weight:900!important;line-height:1.1!important}
  body.admin-pro-body .admin-side-pro .admin-logo .admin-logo-box{flex:0 0 auto!important;max-width:170px!important;min-width:0!important}
  body.admin-pro-body .admin-nav-groups{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;overflow:visible!important;min-width:0!important}
  body.admin-pro-body .admin-nav-group{display:block!important;width:100%!important;min-width:0!important;margin:0!important;border-radius:16px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(148,163,184,.20)!important;overflow:hidden!important}
  body.admin-pro-body .admin-nav-group summary{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:12px 13px!important;color:#fff!important;font-size:14px!important;font-weight:1000!important;line-height:1.1!important}
  body.admin-pro-body .admin-nav-group div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:0 8px 9px!important;min-width:0!important}
  body.admin-pro-body .admin-side-pro a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;min-width:0!important;width:100%!important;white-space:normal!important;text-align:center!important;font-size:12.5px!important;line-height:1.15!important;padding:9px 7px!important;border-radius:13px!important;background:rgba(255,255,255,.085)!important;color:#e8f1ff!important;box-shadow:none!important;margin:0!important;opacity:1!important}
  body.admin-pro-body .admin-side-pro a.active{background:var(--primary)!important;color:#fff!important}
  body.admin-pro-body .admin-nav-extra{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:0!important;padding-top:8px!important;border-top:1px solid rgba(148,163,184,.18)!important;width:100%!important}
  body.admin-pro-body .admin-main-pro{display:block!important;width:100%!important;max-width:100%!important;padding:0 10px calc(135px + env(safe-area-inset-bottom))!important;overflow:visible!important}
  body.admin-pro-body .admin-main-pro .admin-top{position:relative!important;top:auto!important;margin:0 0 12px!important;padding:14px!important;border-radius:22px!important;background:var(--card)!important;color:var(--text)!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important}
  body.admin-pro-body .admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
}
@media(max-width:420px){body.admin-pro-body .admin-nav-group div{grid-template-columns:1fr!important}body.admin-pro-body .admin-nav-extra{grid-template-columns:1fr!important}body.admin-pro-body .admin-side-pro{max-height:60vh!important}}


/* ===== V46: giữ màu thẻ ví + Xem thêm, sửa dark/light full ===== */
/* Màu nút chính không được kéo theo thẻ ví và link Xem thêm ở trang chủ */
body .app-shell .zlp-cards .balance-blue,
body .app-shell .balance-blue{
  background:linear-gradient(135deg,var(--wallet1,#0b49df),var(--wallet2,#2563eb))!important;
  color:#fff!important;
}
body .app-shell .wallet-card,
body .wallet-card{
  background:linear-gradient(135deg,var(--wallet1,#0b49df),var(--wallet2,#2563eb))!important;
  color:#fff!important;
}
body .app-shell .zlp-cards .balance-blue:after,
body .balance-blue:after{
  background:radial-gradient(circle,rgba(255,255,255,.30),transparent 65%)!important;
  opacity:.55!important;
}
body .app-shell .zlp-cards .balance-blue > span,
body .app-shell .zlp-cards .balance-blue > small,
body .app-shell .zlp-cards .balance-blue .balance-eye,
body .app-shell .zlp-cards .balance-blue .balance-value,
body .app-shell .zlp-cards .balance-blue .balance-value .money-inline,
body .app-shell .zlp-cards .balance-blue .balance-value .num,
body .wallet-card,
body .wallet-card span,
body .wallet-card small,
body .wallet-card b,
body .wallet-card b .num{
  color:#fff!important;
  opacity:1!important;
}
body .app-shell .section-line a,
body .section-line a{
  color:#9ca3af!important;
  background:transparent!important;
}
body.theme-dark .app-shell .section-line a,
body.theme-dark .section-line a{
  color:#cbd5e1!important;
}

/* Light mode ép nền sáng + chữ đen */
body.theme-light{
  --text:#0f172a!important;
  background:#ffffff!important;
  color:#0f172a!important;
}
body.theme-light .app-shell,
body.theme-light .content{
  background:#ffffff!important;
  color:#0f172a!important;
}
body.theme-light .app-shell h1,
body.theme-light .app-shell h2,
body.theme-light .app-shell h3,
body.theme-light .app-shell h4,
body.theme-light .app-shell b,
body.theme-light .app-shell strong,
body.theme-light .app-shell label,
body.theme-light .app-shell .section-title,
body.theme-light .app-shell .section-line b,
body.theme-light .app-shell .service-grid span,
body.theme-light .app-shell .quick-actions span,
body.theme-light .app-shell .license-info h3,
body.theme-light .app-shell .recommend-card b,
body.theme-light .app-shell .mini-product b{
  color:#0f172a!important;
}

/* Dark mode full: nền tối toàn trang + chữ trắng */
body.theme-dark{
  --bg:#0b1020!important;
  --card:#111827!important;
  --text:#f8fafc!important;
  --topbar:#0f172a!important;
  --bottom_nav:#0f172a!important;
  --quick_bg:#111827!important;
  --quick_text:#f8fafc!important;
  background:#0b1020!important;
  color:#f8fafc!important;
}
body.theme-dark .app-shell,
body.theme-dark .content,
body.theme-dark main.content{
  background:#0b1020!important;
  color:#f8fafc!important;
}
body.theme-dark .zlp-top,
body.theme-dark .topbar{
  background:#0f172a!important;
  color:#f8fafc!important;
  border-bottom:1px solid #1e293b!important;
  box-shadow:none!important;
}
body.theme-dark .bottom-nav,
body.theme-dark .zlp-nav{
  background:#0f172a!important;
  color:#f8fafc!important;
  border-color:#1e293b!important;
  box-shadow:0 -10px 34px rgba(0,0,0,.34)!important;
}
body.theme-dark .bottom-nav a:not(.active):not(.nav-center),
body.theme-dark .zlp-nav a:not(.active):not(.nav-center){
  color:#cbd5e1!important;
}
body.theme-dark .bottom-nav a.active:not(.nav-center),
body.theme-dark .zlp-nav a.active:not(.nav-center){
  background:#1b2a44!important;
  color:#fff!important;
}
body.theme-dark .zlp-nav .nav-center,
body.theme-dark .bottom-nav .nav-center{
  background:var(--primary)!important;
  color:#fff!important;
}
body.theme-dark .quick-actions,
body.theme-dark .service-grid.big,
body.theme-dark .stat,
body.theme-dark .card,
body.theme-dark .number-box,
body.theme-dark .profile-card,
body.theme-dark .form-card,
body.theme-dark .auth-card,
body.theme-dark .package-card,
body.theme-dark .order-card,
body.theme-dark .notice-card,
body.theme-dark .support-box,
body.theme-dark .history-item,
body.theme-dark .mini-product,
body.theme-dark .license-card,
body.theme-dark .recommend-card,
body.theme-dark .progress-card,
body.theme-dark .rank-list,
body.theme-dark .sms-card,
body.theme-dark .mail-alias-row,
body.theme-dark .mail-msg-card,
body.theme-dark .pay-box.compact-pay,
body.theme-dark .points-slider-row,
body.theme-dark .pay-summary,
body.theme-dark .detail-price-box,
body.theme-dark .profile-rank,
body.theme-dark .zp-section,
body.theme-dark .zp-mini,
body.theme-dark .zp-row,
body.theme-dark .wallet-card:not(.balance-blue){
  background:#111827!important;
  color:#f8fafc!important;
  border-color:#263349!important;
  box-shadow:none!important;
}
body.theme-dark .zlp-banner{
  background-color:#0f172a!important;
}
body.theme-dark .service-grid a,
body.theme-dark .quick-actions a,
body.theme-dark .quick-actions span,
body.theme-dark .section-title,
body.theme-dark .section-line b,
body.theme-dark .greeting-row b,
body.theme-dark .license-info h3,
body.theme-dark .license-info b,
body.theme-dark .recommend-card b,
body.theme-dark .mini-product b,
body.theme-dark .product-scroll .mini-product b,
body.theme-dark .profile-card h1,
body.theme-dark .profile-card h2,
body.theme-dark .profile-card h3,
body.theme-dark .content h1,
body.theme-dark .content h2,
body.theme-dark .content h3,
body.theme-dark .content b,
body.theme-dark .content strong,
body.theme-dark .content label,
body.theme-dark .content p,
body.theme-dark .content span{
  color:#f8fafc!important;
}
body.theme-dark .muted,
body.theme-dark small,
body.theme-dark .brand span,
body.theme-dark .package-card p,
body.theme-dark .license-info p,
body.theme-dark .history-item span,
body.theme-dark .stat span,
body.theme-dark .zp-row small,
body.theme-dark .zp-mini span{
  color:#cbd5e1!important;
}
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea{
  background:#0b1020!important;
  color:#f8fafc!important;
  border-color:#334155!important;
}
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder{
  color:#94a3b8!important;
}
body.theme-dark .empty{
  background:#111827!important;
  color:#cbd5e1!important;
  border-color:#334155!important;
}
body.theme-dark .prod-img,
body.theme-dark .license-img,
body.theme-dark .service-grid i,
body.theme-dark .service-icon-box{
  background:#0b1020!important;
  border-color:#263349!important;
}
body.theme-dark .price-highlight,
body.theme-dark .featured-price,
body.theme-dark .quick-service .price-chip,
body.theme-dark .mail-code-box{
  background:#1b2a44!important;
  color:#f8fafc!important;
  border-color:#334155!important;
}
body.theme-dark .price-highlight .num,
body.theme-dark .featured-price .num,
body.theme-dark .quick-service .price-chip .num,
body.theme-dark .quick-service .price-chip .price-num{
  color:#f8fafc!important;
}
body.theme-dark .admin-main-pro,
body.theme-dark .admin-layout-pro{
  background:#0b1020!important;
  color:#f8fafc!important;
}
body.theme-dark .admin-main-pro .admin-top,
body.theme-dark .admin-main-pro .admin-form,
body.theme-dark .admin-main-pro .card,
body.theme-dark .admin-main-pro .admin-table{
  background:#111827!important;
  color:#f8fafc!important;
  border-color:#263349!important;
  box-shadow:none!important;
}
body.theme-dark .admin-main-pro h1,
body.theme-dark .admin-main-pro h2,
body.theme-dark .admin-main-pro h3,
body.theme-dark .admin-main-pro b,
body.theme-dark .admin-main-pro label,
body.theme-dark .admin-main-pro td,
body.theme-dark .admin-main-pro th{
  color:#f8fafc!important;
}
body.theme-dark .admin-main-pro .muted,
body.theme-dark .admin-main-pro p,
body.theme-dark .admin-main-pro small,
body.theme-dark .admin-top p{
  color:#cbd5e1!important;
}
@media(max-width:760px){
  body.theme-dark.admin-pro-body,
  body.theme-dark.admin-pro-body .admin-layout-pro,
  body.theme-dark.admin-pro-body .admin-main-pro{
    background:#0b1020!important;
    color:#f8fafc!important;
  }
  body.theme-dark.admin-pro-body .admin-main-pro .admin-top,
  body.theme-dark.admin-pro-body .admin-main-pro .admin-form,
  body.theme-dark.admin-pro-body .admin-main-pro .card{
    background:#111827!important;
    color:#f8fafc!important;
    border-color:#263349!important;
  }
}

/* V46b: thẻ ví luôn giữ màu ví riêng kể cả dark mode */
body.theme-dark .app-shell .zlp-cards .balance-blue,
body.theme-dark .app-shell .balance-blue,
body.theme-dark .app-shell .wallet-card,
body.theme-dark .wallet-card{
  background:linear-gradient(135deg,var(--wallet1,#0b49df),var(--wallet2,#2563eb))!important;
  color:#fff!important;
  border-color:transparent!important;
}
body.theme-dark .app-shell .zlp-cards .balance-blue *,
body.theme-dark .app-shell .wallet-card *,
body.theme-dark .wallet-card *{color:#fff!important}

/* v47 - Register 2FA random 4 chars */
.reg-2fa-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.reg-2fa-tools small{display:block;color:var(--muted);font-weight:800;line-height:1.35;max-width:520px}
input[name="register_2fa_code"],input[name="register_2fa"]{letter-spacing:.08em;text-transform:uppercase;font-weight:900}
@media(max-width:700px){.reg-2fa-tools{display:grid;grid-template-columns:1fr}.reg-2fa-tools .btn{width:100%;justify-content:center}}



/* V48: mã xác minh đăng ký tự random 4 ký tự */
.reg2fa-box{
  margin:10px 0 14px;
  padding:14px;
  border:1px solid rgba(11,73,223,.18);
  background:linear-gradient(135deg,rgba(11,73,223,.08),rgba(255,255,255,.96));
  border-radius:22px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px 12px;
}
.reg2fa-box span{font-size:13px;font-weight:900;color:#64748b}
.reg2fa-box b{
  grid-column:2;
  grid-row:1 / span 2;
  min-width:98px;
  text-align:center;
  padding:10px 14px;
  border-radius:18px;
  background:#0b49df;
  color:#fff;
  font-size:30px;
  line-height:1;
  letter-spacing:5px;
  font-weight:1000;
  box-shadow:0 12px 26px rgba(11,73,223,.22);
}
.reg2fa-box small{font-weight:800;color:#64748b;line-height:1.25}
.reg2fa-refresh{
  grid-column:1 / -1;
  border:0;
  border-radius:16px;
  padding:10px 12px;
  font-weight:1000;
  color:#0b49df;
  background:#eef4ff;
}
.theme-dark .reg2fa-box,
body.theme-dark .reg2fa-box{
  background:linear-gradient(135deg,rgba(11,73,223,.22),rgba(15,23,42,.98));
  border-color:rgba(148,163,184,.22);
}
.theme-dark .reg2fa-box span,
.theme-dark .reg2fa-box small,
body.theme-dark .reg2fa-box span,
body.theme-dark .reg2fa-box small{color:#dbeafe}
@media(max-width:430px){.reg2fa-box b{font-size:26px;min-width:88px;letter-spacing:4px}.reg2fa-box{border-radius:20px;padding:12px}}

/* V51: tìm kiếm không làm bể giá + đánh giá đơn hàng */
.search-item > span:first-child{width:58px!important;height:58px!important;border-radius:18px!important;background:#eff6ff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;overflow:hidden!important;flex:0 0 58px!important}
.search-item .money-inline,.search-item .money-inline span,.search-item .coin-inline,.search-item .coin-inline span{width:auto!important;height:auto!important;min-width:0!important;max-width:none!important;border-radius:0!important;background:transparent!important;padding:0!important;display:inline-flex!important;font-size:inherit!important;overflow:visible!important;flex:0 0 auto!important;color:inherit!important}
.search-item small{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;background:transparent!important;color:#64748b!important;font-size:14px!important;line-height:1.25!important;margin-top:6px!important}
.search-item small .money-inline .num{font-size:16px!important;font-weight:1000!important;color:#0f172a!important;line-height:1!important}
.theme-dark .search-item small .money-inline .num{color:#fff!important}
.search-item small .unit-icon-img{width:18px!important;height:18px!important;flex:0 0 18px!important}
.review-badge{display:inline-flex!important;align-items:center!important;gap:6px!important;width:max-content!important;max-width:100%!important;border-radius:999px!important;background:#fff7ed!important;color:#c2410c!important;padding:5px 9px!important;font-weight:1000!important;font-size:12px!important;line-height:1!important;margin:5px 0!important;box-shadow:none!important;text-decoration:none!important}
.review-badge b{font-size:12px!important;color:#c2410c!important;line-height:1!important}.review-badge small{font-size:11px!important;color:#9a3412!important;margin:0!important;line-height:1!important}.review-badge.empty{background:#f1f5f9!important;color:#64748b!important}.review-badge-link{cursor:pointer!important}.theme-dark .review-badge.empty{background:#1f2937!important;color:#cbd5e1!important}.theme-dark .review-badge{background:#3a2614!important;color:#fed7aa!important}.theme-dark .review-badge b,.theme-dark .review-badge small{color:#fed7aa!important}
.review-box{margin-top:12px;border:1px dashed #bfdbfe;border-radius:18px;background:#f8fbff;padding:12px;display:grid;gap:9px}.theme-dark .review-box{background:#111827;border-color:#334155}.review-box>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.review-box b{font-size:15px}.review-box small{color:#0b55e6;font-weight:900}.review-row{display:grid;grid-template-columns:1fr auto;gap:8px}.review-row select,.review-box textarea{width:100%;border:1px solid #dbe4f0;border-radius:14px;background:#fff;padding:10px 12px;font-weight:900;font:inherit}.theme-dark .review-row select,.theme-dark .review-box textarea{background:#0f172a;color:#fff;border-color:#334155}.review-done{margin-top:10px;border-radius:14px;background:#ecfdf5;color:#047857;padding:10px 12px;font-weight:900;line-height:1.4}.review-done b{margin-right:4px}.theme-dark .review-done{background:#052e2b;color:#99f6e4}
.review-panel{margin-top:16px;border:1px solid #dbe4f0;border-radius:24px;background:#fff;padding:14px;display:grid;gap:12px}.theme-dark .review-panel{background:#111827;border-color:#334155}.review-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-panel-head h3{margin:0;font-size:18px}.review-panel-head p{margin:4px 0 0;color:#64748b;font-weight:900}.theme-dark .review-panel-head p{color:#cbd5e1}.review-list{display:grid;gap:10px}.review-item{display:flex;gap:10px;border:1px solid #e6edf8;border-radius:18px;padding:12px;background:#f8fbff}.theme-dark .review-item{background:#0f172a;border-color:#334155}.review-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:1000;flex:0 0 38px}.review-body{min-width:0}.review-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.review-meta b{font-size:14px}.review-meta span{font-size:14px}.review-body p{margin:6px 0 4px;color:#0f172a;line-height:1.45;white-space:pre-wrap}.theme-dark .review-body p{color:#f8fafc}.review-body small{color:#64748b;font-weight:700}.theme-dark .review-body small{color:#94a3b8}.password-form h4{margin:4px 0 8px;font-size:18px}.admin-user-tools{align-items:start}.admin-user-tools .admin-form{height:100%}

/* v53 bot commands admin */
.bot-command-card{overflow:hidden}
.bot-command-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.bot-command-head h2{margin:0 0 4px}
.bot-command-form{display:grid;gap:12px}
.bot-command-item{border:1px solid var(--line,#dbe4f0);border-radius:22px;background:rgba(255,255,255,.72);overflow:hidden}
.bot-command-item summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900}
.bot-command-item summary::-webkit-details-marker{display:none}
.bot-command-item summary small{display:block;color:var(--muted,#64748b);font-size:13px;margin-top:4px;word-break:break-word}
.bot-command-item summary em{font-style:normal;background:var(--soft,#eef4ff);border-radius:999px;padding:8px 12px;color:var(--primary,#0b49df);font-size:12px;white-space:nowrap}
.bot-command-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 16px}
.bot-command-grid .wide{grid-column:1/-1}
.bot-command-grid textarea{min-height:130px;resize:vertical;font-family:inherit;line-height:1.45}
.bot-command-grid code{background:rgba(15,23,42,.08);border-radius:8px;padding:2px 6px}
.checkline{display:flex!important;align-items:center;gap:10px;border:1px dashed var(--line,#dbe4f0);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.55)}
.checkline input{width:auto!important;height:auto!important;min-height:auto!important}
.theme-dark .bot-command-item{background:rgba(30,41,59,.72);border-color:rgba(148,163,184,.25)}
.theme-dark .checkline{background:rgba(15,23,42,.45);border-color:rgba(148,163,184,.25)}
.theme-dark .bot-command-grid code{background:rgba(255,255,255,.10)}
@media(max-width:720px){.bot-command-head{display:block}.bot-command-head form{margin-top:10px}.bot-command-grid{grid-template-columns:1fr}.bot-command-item summary{align-items:flex-start}.bot-command-item summary em{margin-top:2px}.bot-command-grid textarea{min-height:160px}}


/* V55: Game Xu vượt chướng ngại vật */
.obstacle-hero h2{margin-bottom:6px}.obstacle-card{overflow:hidden}.obstacle-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.obstacle-topline b{font-size:16px}.obstacle-topline span{font-weight:1000;color:var(--primary,#0b49df)}.obstacle-progress{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-bottom:12px}.obstacle-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary,#0b49df),#22c55e);transition:width .12s linear}.obstacle-canvas{display:block;width:100%;aspect-ratio:2/1;border-radius:24px;border:1px solid rgba(15,23,42,.10);background:#dbeafe;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:default;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.obstacle-controls{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin-top:12px}.obstacle-controls .btn{min-height:52px;border-radius:18px;font-weight:1000}.coin-game-result{border-radius:20px;padding:14px;margin-bottom:12px;font-weight:1000;line-height:1.35}.coin-game-result.win{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.coin-game-result.lose{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.coin-game-result small{font-weight:900;opacity:.88}.theme-dark .obstacle-progress{background:#1f2937}.theme-dark .obstacle-canvas{border-color:rgba(148,163,184,.22);background:#0f172a}.theme-dark .coin-game-result.win{background:#052e2b;color:#99f6e4;border-color:#134e4a}.theme-dark .coin-game-result.lose{background:#3f121b;color:#fecdd3;border-color:#7f1d1d}@media(max-width:520px){.obstacle-canvas{border-radius:20px}.obstacle-controls{grid-template-columns:1fr}.obstacle-controls .btn{width:100%}.obstacle-topline{font-size:14px}.coin-game-note{font-size:13px}}

/* V57 obstacle game: chỉ điều khiển bằng nút và khoá cuộn khi đang chơi */
body.coin-game-playing{overflow:hidden;overscroll-behavior:none;touch-action:none}
body.coin-game-playing .obstacle-card{touch-action:none}
.obstacle-controls .btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.game-icon-admin input[type=file]{margin-top:8px}
.game-icon-preview{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border:1px dashed rgba(15,23,42,.18);border-radius:14px;background:rgba(148,163,184,.08)}
.game-icon-preview img{width:46px;height:46px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.12)}
.game-icon-preview label{display:flex;align-items:center;gap:6px;margin:0;font-weight:800}
.theme-dark .game-icon-preview{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.55)}


/* V68: thu nhỏ icon xu trong game để không bị quá to */
.coin-game-grid .coin-inline,
.coin-game-note .coin-inline,
.coin-game-hero .coin-inline,
.coin-game-result .coin-inline,
.coin-game-history .coin-inline{
  gap:6px!important;
  line-height:1!important;
}
.coin-game-grid .coin-inline .num{
  font-size:inherit!important;
  line-height:1!important;
}
.coin-game-grid .coin-inline .unit-icon-img,
.coin-game-grid .coin-inline .unit-icon-text{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  font-size:22px!important;
  line-height:22px!important;
  flex:0 0 22px!important;
  vertical-align:middle!important;
}
.coin-game-note .coin-inline .unit-icon-img,
.coin-game-note .coin-inline .unit-icon-text,
.coin-game-hero .coin-inline .unit-icon-img,
.coin-game-hero .coin-inline .unit-icon-text,
.coin-game-result .coin-inline .unit-icon-img,
.coin-game-result .coin-inline .unit-icon-text,
.coin-game-history .coin-inline .unit-icon-img,
.coin-game-history .coin-inline .unit-icon-text{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  font-size:18px!important;
  line-height:18px!important;
  flex:0 0 18px!important;
  vertical-align:middle!important;
}
.coin-game-grid .coin-game-stat b{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}

/* ===== V60: fix hạng Kim Cương chữ trắng + badge đánh giá không vỡ card ===== */
/* Dashboard: ô Xu của tôi khi đạt Kim Cương */
body.theme-light .app-shell .xu-card.rank-diamond,
body.theme-light .app-shell .member-card.rank-diamond,
body .app-shell .xu-card.rank-diamond,
body .app-shell .member-card.rank-diamond{
  color:#fff!important;
}
body.theme-light .app-shell .xu-card.rank-diamond .member-top,
body.theme-light .app-shell .xu-card.rank-diamond .member-xu-line,
body.theme-light .app-shell .xu-card.rank-diamond .member-rank-line,
body.theme-light .app-shell .xu-card.rank-diamond .member-rank-line .num,
body.theme-light .app-shell .xu-card.rank-diamond small,
body.theme-light .app-shell .member-card.rank-diamond .member-top,
body.theme-light .app-shell .member-card.rank-diamond .member-xu-line,
body.theme-light .app-shell .member-card.rank-diamond .member-rank-line,
body.theme-light .app-shell .member-card.rank-diamond .member-rank-line .num,
body.theme-light .app-shell .member-card.rank-diamond small,
body .app-shell .xu-card.rank-diamond .member-top,
body .app-shell .xu-card.rank-diamond .member-xu-line,
body .app-shell .xu-card.rank-diamond .member-rank-line,
body .app-shell .xu-card.rank-diamond .member-rank-line .num,
body .app-shell .xu-card.rank-diamond small{
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
body .app-shell .xu-card.rank-diamond .unit-icon-img,
body .app-shell .member-card.rank-diamond .unit-icon-img{
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.25))!important;
}

/* Trang xem cấp bậc: Kim Cương dùng nền tối thì toàn bộ chữ chính phải trắng */
.member-page.rank-diamond .zlp-member-hero,
.member-page.rank-diamond .member-hero,
.member-page.rank-diamond .rank-sync-shortcuts,
.member-page.rank-diamond .checkin-card,
.member-page .rank-card-diamond{
  background:linear-gradient(135deg,#061224,#122446)!important;
  color:#fff!important;
}
.member-page.rank-diamond .zlp-member-hero *,
.member-page.rank-diamond .member-hero *,
.member-page.rank-diamond .rank-sync-shortcuts *,
.member-page.rank-diamond .checkin-card h3,
.member-page.rank-diamond .checkin-card .checkin-head,
.member-page.rank-diamond .checkin-card .checkin-head *,
.member-page.rank-diamond .checkin-card .muted,
.member-page.rank-diamond .checkin-day,
.member-page.rank-diamond .checkin-day *,
.member-page .rank-card-diamond,
.member-page .rank-card-diamond *{
  color:#fff!important;
  opacity:1!important;
}
.member-page.rank-diamond .zlp-member-hero .z-big,
.member-page.rank-diamond .member-hero .z-big{
  color:rgba(255,255,255,.14)!important;
}
.member-page.rank-diamond .checkin-day.done i{
  color:#16a34a!important;
}
.member-page.rank-diamond .switch-btn.on i{
  background:#16a34a!important;
}

/* Badge đánh giá: dùng được bên trong thẻ sản phẩm <a> mà không phá layout */
body .app-shell .review-badge,
body .app-shell .review-badge.review-badge-static,
body .app-shell .recommend-card .review-badge,
body .app-shell .mini-product .review-badge,
body .app-shell .license-card .review-badge,
body .app-shell .social-service-card .review-badge,
body .app-shell .search-item .review-badge{
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:24px!important;
  padding:5px 8px!important;
  margin:3px 0!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-decoration:none!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  background:#fff7ed!important;
  color:#c2410c!important;
}
body .app-shell .review-badge.empty{
  background:#f1f5f9!important;
  color:#64748b!important;
}
body .app-shell .review-badge b,
body .app-shell .review-badge small,
body .app-shell .recommend-card .review-badge b,
body .app-shell .recommend-card .review-badge small,
body .app-shell .mini-product .review-badge b,
body .app-shell .mini-product .review-badge small,
body .app-shell .license-card .review-badge b,
body .app-shell .license-card .review-badge small,
body .app-shell .social-service-card .review-badge b,
body .app-shell .social-service-card .review-badge small,
body .app-shell .search-item .review-badge b,
body .app-shell .search-item .review-badge small{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}
body .app-shell .review-badge b,
body .app-shell .recommend-card .review-badge b,
body .app-shell .mini-product .review-badge b,
body .app-shell .license-card .review-badge b,
body .app-shell .social-service-card .review-badge b,
body .app-shell .search-item .review-badge b{
  font-size:12px!important;
  font-weight:1000!important;
  color:#c2410c!important;
}
body .app-shell .review-badge small,
body .app-shell .recommend-card .review-badge small,
body .app-shell .mini-product .review-badge small,
body .app-shell .license-card .review-badge small,
body .app-shell .social-service-card .review-badge small,
body .app-shell .search-item .review-badge small{
  font-size:11px!important;
  font-weight:900!important;
  color:#9a3412!important;
}
body .app-shell .review-badge.empty b,
body .app-shell .review-badge.empty small{
  color:#64748b!important;
}
body.theme-dark .app-shell .review-badge{
  background:#3a2614!important;
  color:#fed7aa!important;
}
body.theme-dark .app-shell .review-badge b,
body.theme-dark .app-shell .review-badge small{
  color:#fed7aa!important;
}
body.theme-dark .app-shell .review-badge.empty{
  background:#1f2937!important;
  color:#cbd5e1!important;
}

/* Card sản phẩm có đánh giá vẫn giữ đúng cột, không bị browser tách thẻ */
body .app-shell .recommend-card,
body .app-shell .license-card,
body .app-shell .search-item,
body .app-shell .social-service-card,
body .app-shell .mini-product.price-side{
  overflow:hidden!important;
}
body .app-shell .recommend-card > .review-badge,
body .app-shell .license-card .review-badge,
body .app-shell .mini-product.price-side .review-badge{
  margin-top:0!important;
  margin-bottom:2px!important;
}



/* ===== V61: giá thuê số nhanh màu đen + icon sát số ===== */
#quickServiceGrid .quick-service .price-chip,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  color:#111827!important;
  white-space:nowrap!important;
}
#quickServiceGrid .quick-service .price-chip .price-num,
#quickServiceGrid .quick-service .price-chip .num,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .price-num,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .num{
  color:#111827!important;
  font-weight:1000!important;
  letter-spacing:-.15px!important;
}
#quickServiceGrid .quick-service .price-chip .unit-icon-img,
#quickServiceGrid .quick-service .price-chip .unit-label,
#quickServiceGrid .quick-service .price-chip .unit-icon-text,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-img,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-label,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .unit-icon-text{
  margin-left:-2px!important;
  position:relative!important;
  transform:translateX(-1px)!important;
  flex:0 0 auto!important;
}
#quickServiceGrid .quick-service .price-chip .money-inline,
#quickServiceGrid .quick-service .price-chip .coin-inline,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .money-inline,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .coin-inline{
  gap:0!important;
  color:#111827!important;
}
#quickServiceGrid .quick-service .price-chip .money-inline .num,
#quickServiceGrid .quick-service .price-chip .coin-inline .num,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .money-inline .num,
body .quick-service-grid#quickServiceGrid button.quick-service small.price-chip .coin-inline .num{
  color:#111827!important;
}


/* V68 Social manual mode: ẩn thanh danh mục API, hiển thị danh mục admin tự tạo gọn hơn */
.manual-social-list{gap:14px!important}
.social-group-title{font-size:24px;font-weight:1000;color:#0f172a;margin:10px 0 0;padding:4px 2px;grid-column:1/-1}
.social-service-card b{gap:0!important;color:#111827!important}
.social-service-card b small{margin-left:2px;color:#64748b;font-size:13px!important}
@media(max-width:520px){.social-group-title{font-size:22px;margin-top:8px}.social-service-card{padding:18px 14px!important}}


/* V69 VIP: thẻ game, lịch sử gọn, membership đẹp, nút hỗ trợ */
.custom-bottom-nav .nav-center,
.bottom-nav .nav-center,
.zlp-nav .nav-center{
  background:var(--bottom_support,#16a34a)!important;
  color:#fff!important;
  box-shadow:0 14px 35px color-mix(in srgb,var(--bottom_support,#16a34a) 38%,transparent)!important;
}
.custom-bottom-nav .nav-center span,
.bottom-nav .nav-center span,
.zlp-nav .nav-center span{color:#fff!important}
.history-tabs-pro{display:flex;gap:8px;overflow:auto;padding:6px 0 12px;scrollbar-width:none}
.history-tabs-pro .pill-tab{white-space:nowrap;flex:0 0 auto}
.compact-order{margin-bottom:12px!important}
.game-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.game-card-product{display:flex;flex-direction:column;border:1px solid #dbe7f6;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:26px;padding:14px;gap:12px;box-shadow:0 14px 36px rgba(15,23,42,.06)}
.game-card-img{height:96px;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#fef3c7);display:flex;align-items:center;justify-content:center;font-size:48px;overflow:hidden}
.game-card-img img{width:100%;height:100%;object-fit:cover}
.game-card-info h3{font-size:18px;margin:8px 0 6px;line-height:1.15}
.game-card-info p{color:#64748b;font-weight:800;font-size:13px;line-height:1.35;margin:0 0 8px}
.game-card-price{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}
.game-card-price b{font-size:19px}
.no-points-note{border-radius:14px;background:#fff7ed;color:#c2410c;padding:8px 10px;font-size:12px;font-weight:900;margin:8px 0}
.no-points-pay .points-slider-row{display:none!important}
.vip-member-page{padding-bottom:110px}
.vip-rank-hero{position:relative;overflow:hidden;border-radius:34px;padding:24px;color:#fff;background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--rank-color) 70%,white) 0,transparent 30%),linear-gradient(135deg,#0f172a,color-mix(in srgb,var(--rank-color) 58%,#0f172a));box-shadow:0 24px 50px rgba(15,23,42,.22);margin:12px 0 16px}
.vip-rank-hero:before{content:'';position:absolute;inset:auto -20% -55% auto;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.16);filter:blur(8px)}
.vip-rank-left{position:relative;z-index:1;max-width:76%}
.vip-rank-left span{font-weight:900;opacity:.85}.vip-rank-left h1{font-size:38px;margin:8px 0 6px;color:#fff!important}.vip-rank-left p{margin:0;color:rgba(255,255,255,.86);font-weight:800;line-height:1.35}
.vip-rank-symbol{position:absolute;right:20px;top:18px;font-size:88px;font-weight:1000;opacity:.20;transform:rotate(-12deg)}
.vip-rank-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.vip-rank-pills b,.vip-rank-pills em{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.15);padding:9px 12px;font-style:normal;font-weight:900}
.vip-rank-progress{position:relative;z-index:1;margin-top:18px}.vip-rank-progress span{display:block;font-weight:900;margin-bottom:8px;color:rgba(255,255,255,.88)}.vip-rank-progress i{display:block;height:9px;border-radius:999px;background:rgba(255,255,255,.25);overflow:hidden}.vip-rank-progress b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff,var(--rank-color))}
.vip-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}.vip-benefit-grid>div{border:1px solid #dbe7f6;background:#fff;border-radius:22px;padding:15px}.vip-benefit-grid b{display:block;font-size:27px;color:var(--primary,#0b49df)}.vip-benefit-grid span{display:block;font-weight:900;color:#64748b}.vip-benefit-grid small{font-size:11px;color:#94a3b8}
.rank-vip-list{display:grid;gap:12px}.rank-vip-card{border:1px solid color-mix(in srgb,var(--rank-color) 40%,#dbe7f6);border-radius:26px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--rank-color) 9%,#fff));padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.rank-vip-card.active{box-shadow:0 18px 38px color-mix(in srgb,var(--rank-color) 20%,transparent);border-width:2px}.rank-vip-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.rank-vip-head b{font-size:20px}.rank-vip-head span{font-size:12px;border-radius:999px;background:color-mix(in srgb,var(--rank-color) 18%,#fff);color:#0f172a;padding:7px 10px;font-weight:1000}
.rank-vip-card ul{margin:12px 0 0;padding-left:18px;color:#475569;font-weight:800;line-height:1.55}.rank-vip-card li{margin:4px 0}
.rank-vip-bronze{--rank-color:#9ca3af}.rank-vip-silver{--rank-color:#b8c7df}.rank-vip-gold{--rank-color:#f3c84b}.rank-vip-diamond{--rank-color:#49d6ff}
.theme-dark .game-card-product,.theme-dark .vip-benefit-grid>div,.theme-dark .rank-vip-card{background:#111827!important;border-color:#334155!important;color:#fff}.theme-dark .game-card-info p,.theme-dark .vip-benefit-grid span,.theme-dark .rank-vip-card ul{color:#cbd5e1!important}
.theme-dark .rank-vip-head span{background:#1f2937;color:#f8fafc}
.vip-admin-card{border-radius:24px}
.card-approve-form input{min-width:120px}
@media(max-width:520px){
  .game-card-grid{grid-template-columns:1fr}
  .vip-rank-left{max-width:100%}.vip-rank-symbol{font-size:72px;right:12px;top:10px}
  .vip-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .vip-benefit-grid>div{padding:12px}.vip-benefit-grid b{font-size:22px}
}


/* V70: Mua thẻ game gọn kiểu DailyTheCao */
.gamecard-shop-page{display:grid;gap:16px;padding-bottom:110px}.gamecard-top-hero{position:relative;overflow:hidden;border-radius:26px;min-height:150px;padding:18px;background:linear-gradient(135deg,#0f172a,#1d4ed8 52%,#f97316);color:#fff;box-shadow:0 18px 42px rgba(15,23,42,.16)}.gamecard-top-hero:after{content:'';position:absolute;right:-28px;bottom:-40px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.13);filter:blur(2px)}.gamecard-brand-mini{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;border-radius:18px;background:rgba(255,255,255,.16);padding:10px 12px;font-weight:1000}.gamecard-brand-mini span{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.88);display:grid;place-items:center}.gamecard-brand-mini b{font-size:18px;color:#fff}.gamecard-top-hero p{position:absolute;left:18px;right:18px;bottom:16px;margin:0;color:rgba(255,255,255,.88);font-weight:800;line-height:1.35}.gamecard-title-center{text-align:center;margin-top:4px}.gamecard-title-center h1{font-size:34px;margin:0 0 8px;letter-spacing:-.02em}.gamecard-title-center p{margin:0;color:#64748b;font-weight:800}.gamecard-section{border-radius:12px!important;padding:18px!important;box-shadow:0 5px 18px rgba(15,23,42,.06)!important}.gamecard-section h2{font-size:24px;margin:0 0 16px}.gamecard-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gamecard-provider{height:96px;border:2px solid #d1d5db;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;transition:.18s}.gamecard-provider.active{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.provider-logo-text{font-size:25px;font-weight:1000;letter-spacing:-.04em;color:#1f2937;text-align:center;line-height:1}.provider-garena .provider-logo-text{color:#d7242f}.provider-zing .provider-logo-text{background:linear-gradient(90deg,#2aa8ff,#59c447,#ffcf33,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.provider-vcoin .provider-logo-text{color:#333}.gamecard-denom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gamecard-denom{min-height:132px;border:2px solid #dbe1e8;border-radius:8px;background:#fff;display:grid;place-items:center;padding:14px 8px;cursor:pointer;text-align:center;color:#1f2937}.gamecard-denom.active{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.gamecard-denom b{font-size:22px;font-weight:600}.gamecard-denom del{font-size:16px;color:#737373}.gamecard-denom span{font-size:20px;color:#ef233c}.gamecard-empty-pick{min-height:150px;display:grid;place-items:center;text-align:center;color:#666}.gamecard-empty-pick i{width:44px;height:44px;border:3px solid #6b7280;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:1000;font-size:24px}.gamecard-empty-pick p{margin:10px 0 0;font-size:18px;color:#666}.gamecard-checkout label{display:grid;gap:8px;font-weight:800;margin-bottom:12px}.gamecard-checkout label em{color:#ef4444;font-style:normal}.gamecard-checkout input,.gamecard-checkout select{width:100%;border:1px solid #dbe3ef;border-radius:8px;background:#fff;padding:14px;font-size:17px}.gamecard-help{color:#6b7280;margin:-4px 0 12px;font-weight:700}.gamecard-summary-box{border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:14px;margin:10px 0 14px;display:grid;gap:4px}.gamecard-summary-box span,.gamecard-summary-box small{color:#64748b;font-weight:800}.gamecard-summary-box b{font-size:18px}.gamecard-summary-box strong{font-size:24px;color:#ef233c}.gamecard-buy-btn{width:100%;border-radius:10px!important;min-height:54px;font-size:18px!important}.theme-dark .gamecard-section,.theme-dark .gamecard-provider,.theme-dark .gamecard-denom,.theme-dark .gamecard-checkout input,.theme-dark .gamecard-checkout select{background:#111827!important;border-color:#334155!important;color:#fff!important}.theme-dark .gamecard-title-center p,.theme-dark .gamecard-help,.theme-dark .gamecard-summary-box span,.theme-dark .gamecard-summary-box small{color:#cbd5e1}.theme-dark .gamecard-summary-box{background:#0f172a;border-color:#334155}.theme-dark .gamecard-denom del{color:#94a3b8}.theme-dark .gamecard-empty-pick,.theme-dark .gamecard-empty-pick p{color:#cbd5e1}@media(max-width:520px){.gamecard-top-hero{min-height:138px;border-radius:22px}.gamecard-title-center h1{font-size:32px}.gamecard-section{padding:16px!important}.gamecard-section h2{font-size:23px}.gamecard-provider-grid{gap:10px}.gamecard-provider{height:84px}.provider-logo-text{font-size:22px}.gamecard-denom-grid{gap:12px}.gamecard-denom{min-height:112px}.gamecard-denom b{font-size:19px}.gamecard-denom span{font-size:19px}.gamecard-denom del{font-size:14px}}


/* V72: membership Zalo-style + mua thẻ game tính voucher */
.zlp-member-shell{margin:-6px -2px 120px;display:grid;gap:18px;background:#111827;color:#fff;border-radius:0 0 34px 34px;padding:16px 0 28px;overflow:hidden}
.zlp-mini-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;margin-bottom:2px}
.zlp-mini-head>div{display:flex;align-items:center;gap:8px}
.zlp-mini-head .coin-inline{border:1px solid rgba(251,146,60,.75);border-radius:999px;padding:6px 12px;color:#fb923c;background:#0b1020}
.zlp-mini-head small{color:#cbd5e1;font-weight:700}.zlp-mini-head a{color:#60a5fa;font-weight:900;text-decoration:none}
.zlp-rank-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 22px 8px}
.zlp-rank-carousel::-webkit-scrollbar{display:none}
.zlp-rank-card{position:relative;flex:0 0 90%;min-height:258px;border-radius:28px;padding:22px 18px;scroll-snap-align:center;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--rank-color),#0f172a 78%);box-shadow:0 20px 42px rgba(0,0,0,.25)}
.zlp-rank-card.active{outline:2px solid color-mix(in srgb,var(--rank-color) 75%,#fff);box-shadow:0 24px 48px color-mix(in srgb,var(--rank-color) 28%,rgba(0,0,0,.2))}
.zlp-rank-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 16%,rgba(255,255,255,.24),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.05),transparent);pointer-events:none}
.zlp-rank-bgmark{position:absolute;right:12px;top:8px;font-size:150px;line-height:.8;font-weight:1000;color:rgba(255,255,255,.13);transform:rotate(-10deg)}
.zlp-rank-user{position:relative;z-index:1;font-size:22px;font-weight:900;letter-spacing:-.02em}
.zlp-rank-pill{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;margin-top:14px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(15,23,42,.28);padding:7px 10px;font-weight:800;backdrop-filter:blur(7px)}
.zlp-rank-card p{position:relative;z-index:1;margin:58px 0 12px;font-size:17px;line-height:1.35;color:rgba(255,255,255,.96);font-weight:800}
.zlp-rank-line{position:relative;z-index:1;height:8px;border-radius:999px;background:rgba(255,255,255,.25);overflow:hidden}.zlp-rank-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#fff)}
.zlp-rank-foot{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:18px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}
.zlp-rank-foot div{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.92);font-weight:800}.zlp-rank-foot em{font-style:normal;font-size:24px;opacity:.85}.zlp-rank-foot a{text-align:right;color:#34d399;font-weight:1000;text-decoration:none;line-height:1.15}.zlp-rank-foot small{font-size:13px;color:inherit}
.zlp-rank-bronze{--rank-color:#05b855;background:linear-gradient(135deg,#05b855,#087a3f)}
.zlp-rank-silver{--rank-color:#a8bddb;background:linear-gradient(135deg,#a9bdd9,#dbeafe 72%);color:#0f172a}
.zlp-rank-silver .zlp-rank-bgmark{color:rgba(15,23,42,.08)}.zlp-rank-silver p,.zlp-rank-silver .zlp-rank-foot div{color:#0f172a}.zlp-rank-silver .zlp-rank-pill{background:rgba(15,23,42,.18);color:#fff}.zlp-rank-silver .zlp-rank-foot a{color:#0b49df}
.zlp-rank-gold{--rank-color:#e5bd30;background:linear-gradient(135deg,#d3a817,#ffe978 72%);color:#0f172a}
.zlp-rank-gold .zlp-rank-bgmark{color:rgba(15,23,42,.08)}.zlp-rank-gold p,.zlp-rank-gold .zlp-rank-foot div{color:#0f172a}.zlp-rank-gold .zlp-rank-pill{background:rgba(116,79,0,.24);color:#fff}.zlp-rank-gold .zlp-rank-foot a{color:#a16207}
.zlp-rank-diamond{--rank-color:#22d3ee;background:linear-gradient(135deg,#061224,#132852 75%)}
.zlp-rank-actions{margin:0 18px;background:#0f1c34!important;border:1px solid rgba(148,163,184,.22)!important;color:#fff!important}
.zlp-checkin-card,.zlp-rank-offer{margin:0 18px;background:#0f1c34!important;border:1px solid rgba(148,163,184,.18)!important;color:#fff!important;border-radius:26px!important}
.zlp-checkin-card *,.zlp-rank-offer *{color:inherit}.zlp-checkin-card .muted{color:#cbd5e1!important}
.zlp-rank-offer{padding:18px;display:grid;gap:12px}.zlp-rank-offer h2{margin:0 0 8px;font-size:22px}.zlp-offer-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border-top:1px solid rgba(255,255,255,.10);padding-top:12px}.zlp-offer-row:first-of-type{border-top:0}.zlp-offer-row span{font-size:28px}.zlp-offer-row b{font-size:16px;line-height:1.3}.zlp-offer-row a{color:#60a5fa!important;font-weight:1000;text-decoration:none}
.rank-detail-page{display:grid;gap:16px;margin:-18px -12px 120px;background:#f8fbff;min-height:100vh;padding-bottom:26px}.rank-detail-top{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:#0b49df;color:#fff;padding:18px 16px 22px;position:sticky;top:0;z-index:6}.rank-detail-top .back{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.15);color:#fff;text-decoration:none;font-size:36px;line-height:1}.rank-detail-top h2{margin:0;font-size:19px}
.rank-detail-page .detail-card{margin:0 24px;flex:initial;min-height:210px}.rank-benefit-panel{margin:-28px 24px 0;background:#fff;border:1px solid color-mix(in srgb,var(--rank-color) 50%,#dbe7f6);border-radius:28px;padding:22px 18px;position:relative;z-index:2}
.rank-benefit-panel h2{margin:0 0 18px;text-align:center;font-size:23px;display:flex;align-items:center;gap:16px;justify-content:center}.rank-benefit-panel h2 i{display:block;width:48px;height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--rank-color))}
.rank-benefit-row{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;border-top:1px solid #edf2f7;padding:16px 0}.rank-benefit-row:first-of-type{border-top:0}.rank-benefit-row>span{font-size:34px;text-align:center}.rank-benefit-row b{font-size:18px;color:#0f172a}.rank-benefit-row small{display:block;margin-top:4px;color:#c3ccd8;font-weight:800}.rank-benefit-row em{font-style:normal;font-size:32px;color:#0f172a}
.gamecard-admin-banner-preview{border-radius:18px;overflow:hidden;border:1px solid #dbe7f6;margin:10px 0}.gamecard-admin-banner-preview img{width:100%;height:160px;object-fit:cover;display:block}
.gamecard-top-hero[style*="background-image"] .gamecard-brand-mini,.gamecard-top-hero[style*="background-image"] p{text-shadow:0 2px 10px rgba(0,0,0,.42)}
.gamecard-price-lines{display:grid;gap:8px;margin-top:8px}.gamecard-price-lines p{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;border-radius:12px;background:#fff;padding:10px 12px}.gamecard-price-lines p span{font-weight:900;color:#64748b}.gamecard-price-lines p b{font-size:18px;color:#0f172a}.gamecard-price-lines p.pay{background:#fff7ed}.gamecard-price-lines p.pay strong{font-size:24px;color:#ef233c}
.theme-dark .rank-detail-page{background:#0f172a}.theme-dark .rank-benefit-panel{background:#111827;border-color:#334155}.theme-dark .rank-benefit-row b,.theme-dark .rank-benefit-row em{color:#fff}.theme-dark .rank-benefit-row{border-color:#334155}.theme-dark .gamecard-price-lines p{background:#0f172a}.theme-dark .gamecard-price-lines p.pay{background:#30160f}.theme-dark .gamecard-price-lines p b{color:#fff}
@media(max-width:520px){
  .zlp-rank-card{flex-basis:89%;min-height:248px;padding:20px 16px}
  .zlp-rank-card p{margin-top:52px;font-size:16px}
  .zlp-rank-bgmark{font-size:132px}
  .rank-detail-page .detail-card{margin:0 18px}.rank-benefit-panel{margin:-24px 18px 0;padding:20px 14px}
  .rank-benefit-row{grid-template-columns:46px 1fr auto;gap:12px}.rank-benefit-row b{font-size:17px}
}

/* ===== V73: hard fix no white gaps / no long blank tail ===== */
html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;background:var(--bg,#f6f8fc)!important}
body{padding-bottom:0!important}
body::after,.app-shell::after,.content::after{content:none!important;display:none!important;height:0!important;min-height:0!important}
.app-shell{min-height:100dvh!important;height:auto!important;overflow:visible!important;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;margin:0 auto!important}
.content{min-height:0!important;height:auto!important;padding:12px 12px calc(98px + env(safe-area-inset-bottom,0px))!important;overflow:visible!important}
.content > *:last-child{margin-bottom:0!important}
.content > .card:last-child,
.content > .package-list:last-child,
.content > .support-box:last-child,
.content > .notice-card:last-child,
.content > .order-card:last-child,
.content > .number-box:last-child,
.content > .history-wrap:last-child,
.content > .zalo-profile:last-child,
.content > .zlp-member-shell:last-child,
.content > .rank-detail-page:last-child,
.content > .bio-public:last-child,
.content > .gamecard-shop-page:last-child{margin-bottom:0!important}

/* page wrappers that were leaving large blank areas */
.zalo-profile{margin:-14px!important;min-height:auto!important;height:auto!important;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
.bio-public{min-height:auto!important;height:auto!important;padding:18px 14px calc(96px + env(safe-area-inset-bottom,0px))!important}
.zlp-member-shell{margin:-6px -2px 0!important;min-height:auto!important;height:auto!important;padding:16px 0 calc(96px + env(safe-area-inset-bottom,0px))!important}
.rank-detail-page{margin:-18px -12px 0!important;min-height:auto!important;height:auto!important;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
.gamecard-shop-page,.member-page,.history-wrap,.voucher-grid,.my-vouchers,.service-grid.big,.license-grid,.search-results{margin-bottom:0!important}

/* support/chat pages */
.zalo-chat,.zalo-messages,.admin-support-layout{min-height:0!important;height:auto!important}

/* bottom nav safe area but no fake extra tail */
.bottom-nav,.zlp-nav,.custom-bottom-nav{bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}
@media(max-width:520px){
  .app-shell{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}
  .content{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
  .zalo-profile,.zlp-member-shell,.rank-detail-page,.bio-public{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
}

/* ===== V74 FINAL: triệt trắng trang do JS/các wrapper cộng padding nhiều lần ===== */
html,body{height:auto!important;min-height:0!important;overflow-x:hidden!important;background:var(--bg,#f6f8fc)!important;padding-bottom:0!important;margin-bottom:0!important}
body::before,body::after,.app-shell::after,.content::after{display:none!important;content:none!important;height:0!important;min-height:0!important}
.app-shell{height:auto!important;min-height:0!important;padding-bottom:0!important;margin-bottom:0!important;overflow:visible!important}
.content{height:auto!important;min-height:0!important;margin-bottom:0!important;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;overflow:visible!important}
.content > *:last-child{margin-bottom:0!important}
.zlp-member-shell,.rank-detail-page,.zalo-profile,.bio-public,.gamecard-shop-page,.member-page,.history-wrap,.license-grid,.recommend-grid,.service-grid,.service-grid.big,.product-scroll,.z-suggest-scroll,.search-results,.package-list,.voucher-grid,.my-vouchers{height:auto!important;min-height:0!important;margin-bottom:0!important}
.zlp-member-shell,.rank-detail-page,.zalo-profile,.bio-public{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
.bottom-nav,.bottom-nav.custom-bottom-nav,.bottom-nav.zlp-nav{position:fixed!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;z-index:2147483000!important}
@supports (-webkit-touch-callout:none){
  html,body{height:auto!important;min-height:0!important;padding-bottom:0!important}
  .app-shell{padding-bottom:0!important;min-height:0!important}
  .content{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
}

/* ===== V75: sản phẩm đề xuất theo đơn khách mua + fix lệch icon bottom nav ===== */
.recommend-grid{align-items:stretch!important}
.recommend-card{display:flex!important;flex-direction:column!important;height:100%!important}
.recommend-card em{margin-top:auto!important}

body > .bottom-nav,
.bottom-nav.custom-bottom-nav,
.bottom-nav.zlp-nav{
  align-items:center!important;
  justify-items:center!important;
  padding:8px 8px!important;
}
body > .bottom-nav a,
.bottom-nav.custom-bottom-nav a,
.bottom-nav.zlp-nav a{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  height:66px!important;
  min-height:66px!important;
  padding:0 2px!important;
  line-height:1!important;
  text-align:center!important;
  transform:none!important;
  overflow:visible!important;
}
body > .bottom-nav a:not(.nav-center):active,
.bottom-nav.custom-bottom-nav a:not(.nav-center):active,
.bottom-nav.zlp-nav a:not(.nav-center):active{
  transform:scale(.96)!important;
}
body > .bottom-nav a .tiny-icon-img,
.bottom-nav.custom-bottom-nav a .tiny-icon-img,
.bottom-nav.zlp-nav a .tiny-icon-img{
  display:block!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  object-fit:contain!important;
  margin:0 auto!important;
  padding:0!important;
  flex:0 0 28px!important;
  transform:translateY(-1px)!important;
  vertical-align:middle!important;
  line-height:1!important;
}
body > .bottom-nav a .tiny-icon-emoji,
.bottom-nav.custom-bottom-nav a .tiny-icon-emoji,
.bottom-nav.zlp-nav a .tiny-icon-emoji{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  margin:0 auto!important;
  padding:0!important;
  flex:0 0 28px!important;
  font-size:25px!important;
  line-height:1!important;
  font-style:normal!important;
  transform:translateY(-1px)!important;
}
body > .bottom-nav a span,
.bottom-nav.custom-bottom-nav a span,
.bottom-nav.zlp-nav a span{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.05!important;
  transform:translateY(0)!important;
}
body > .bottom-nav .nav-center,
.bottom-nav.custom-bottom-nav .nav-center,
.bottom-nav.zlp-nav .nav-center{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  width:76px!important;
  height:76px!important;
  min-height:76px!important;
  padding:0!important;
  transform:translateY(-24px)!important;
}
body > .bottom-nav .nav-center .tiny-icon-img,
.bottom-nav.custom-bottom-nav .nav-center .tiny-icon-img,
.bottom-nav.zlp-nav .nav-center .tiny-icon-img{
  width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;flex-basis:30px!important;transform:translateY(-1px)!important;
}
body > .bottom-nav .nav-center .tiny-icon-emoji,
.bottom-nav.custom-bottom-nav .nav-center .tiny-icon-emoji,
.bottom-nav.zlp-nav .nav-center .tiny-icon-emoji{
  width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;flex-basis:30px!important;font-size:26px!important;transform:translateY(-1px)!important;
}


/* ===== V76: bottom nav icon align + smoother app feel ===== */
:root{scroll-behavior:smooth}
*{-webkit-tap-highlight-color:transparent}
.app-shell,.card,.license-card,.quick-service,.gamecard-section,.order-card,.notice-card,.support-box,.zlp-rank-card{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease,background .22s ease}
@media(hover:hover){.card:hover,.license-card:hover,.gamecard-section:hover,.order-card:hover,.notice-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(15,23,42,.10)!important}}
.tap-pop{animation:tapPop .24s ease both}@keyframes tapPop{0%{transform:scale(1)}50%{transform:scale(.975)}100%{transform:scale(1)}}
.content{animation:softPageIn .32s ease both}@keyframes softPageIn{from{opacity:.001;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.content,.tap-pop,*{animation:none!important;transition:none!important}}

.bottom-nav.custom-bottom-nav,
.bottom-nav.zlp-nav{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  height:86px!important;
  min-height:86px!important;
  padding:8px 8px 10px!important;
  border-radius:32px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(219,231,246,.96)!important;
  box-shadow:0 -10px 34px rgba(37,99,235,.12),0 10px 34px rgba(15,23,42,.08)!important;
}
.bottom-nav.custom-bottom-nav a,
.bottom-nav.zlp-nav a{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:100%!important;
  height:64px!important;
  min-height:64px!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  text-align:center!important;
  transform:none!important;
  font-size:0!important;
  overflow:visible!important;
}
.bottom-nav.custom-bottom-nav a:not(.nav-center).active,
.bottom-nav.zlp-nav a:not(.nav-center).active{
  border-radius:24px!important;
  background:color-mix(in srgb,var(--primary,#0b49df) 10%,#fff)!important;
}
.bottom-nav.custom-bottom-nav a span,
.bottom-nav.zlp-nav a span{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.12!important;
  height:auto!important;
  min-height:0!important;
  font-weight:1000!important;
  letter-spacing:-.25px!important;
  transform:none!important;
}
.bottom-nav.custom-bottom-nav .tiny-icon-img,
.bottom-nav.zlp-nav .tiny-icon-img,
.bottom-nav.custom-bottom-nav .tiny-icon-emoji,
.bottom-nav.zlp-nav .tiny-icon-emoji{
  display:block!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  object-fit:contain!important;
  margin:0 auto!important;
  padding:0!important;
  line-height:28px!important;
  font-size:27px!important;
  transform:none!important;
  position:static!important;
  flex:0 0 28px!important;
}
.bottom-nav.custom-bottom-nav .nav-center,
.bottom-nav.zlp-nav .nav-center{
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  min-height:82px!important;
  border-radius:50%!important;
  margin:-36px auto 0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:2px!important;
  background:var(--bottom_support,#0b49df)!important;
  color:#fff!important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--bottom_support,#0b49df) 32%,transparent)!important;
}
.bottom-nav.custom-bottom-nav .nav-center .tiny-icon-img,
.bottom-nav.zlp-nav .nav-center .tiny-icon-img,
.bottom-nav.custom-bottom-nav .nav-center .tiny-icon-emoji,
.bottom-nav.zlp-nav .nav-center .tiny-icon-emoji{
  width:31px!important;height:31px!important;min-width:31px!important;max-width:31px!important;font-size:30px!important;line-height:31px!important;
}
.bottom-nav.custom-bottom-nav .nav-center span,
.bottom-nav.zlp-nav .nav-center span{
  color:#fff!important;font-size:13px!important;line-height:1.05!important;margin:0!important;
}
.theme-dark .bottom-nav.custom-bottom-nav,.theme-dark .bottom-nav.zlp-nav{background:rgba(15,23,42,.94)!important;border-color:#334155!important}

/* V76: nạp game page polish */
.game-topup-page .gamecard-top-hero{background:radial-gradient(circle at 80% 10%,rgba(34,197,94,.35),transparent 34%),linear-gradient(135deg,#0f172a,#0b49df 58%,#22c55e)!important}
.game-topup-page .gamecard-provider.active,.game-topup-page .gamecard-denom.active{border-color:#22c55e!important;box-shadow:0 0 0 3px rgba(34,197,94,.16)!important}
.game-topup-page .gamecard-buy-btn{background:linear-gradient(135deg,#16a34a,#22c55e)!important;border-color:#22c55e!important}
.gamecard-checkout input[name="game_uid"]{font-size:18px;font-weight:900;letter-spacing:.2px}
.admin-table code{white-space:nowrap}
@media(max-width:520px){
  .bottom-nav.custom-bottom-nav,.bottom-nav.zlp-nav{height:84px!important;min-height:84px!important;padding:8px 8px 10px!important}
  .bottom-nav.custom-bottom-nav a,.bottom-nav.zlp-nav a{height:62px!important;min-height:62px!important;gap:4px!important}
  .bottom-nav.custom-bottom-nav a span,.bottom-nav.zlp-nav a span{font-size:12.5px!important}
  .bottom-nav.custom-bottom-nav .tiny-icon-img,.bottom-nav.zlp-nav .tiny-icon-img,.bottom-nav.custom-bottom-nav .tiny-icon-emoji,.bottom-nav.zlp-nav .tiny-icon-emoji{width:27px!important;height:27px!important;min-width:27px!important;font-size:26px!important;line-height:27px!important}
  .bottom-nav.custom-bottom-nav .nav-center,.bottom-nav.zlp-nav .nav-center{width:80px!important;height:80px!important;min-width:80px!important;min-height:80px!important;margin-top:-34px!important}
}


/* ===== V77: Redeem + nền tối đổi sang trắng ===== */
body,html,.app-shell,.content{background:#fff!important}
.theme-dark,body.theme-dark{background:#fff!important;color:#0f172a!important}
.theme-dark .app-shell,.theme-dark .content,.theme-dark .card,.theme-dark .form-card,.theme-dark .order-card,.theme-dark .notice-card,.theme-dark .support-box{background:#fff!important;color:#0f172a!important}
.zlp-member-shell{
  background:#fff!important;
  color:#0f172a!important;
}
.zlp-mini-head small{color:#64748b!important}
.zlp-mini-head .coin-inline{
  background:#fff7ed!important;
  color:#f97316!important;
}
.zlp-rank-actions,
.zlp-checkin-card,
.zlp-rank-offer{
  background:#fff!important;
  color:#0f172a!important;
  border-color:#dbe7f6!important;
  box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
}
.zlp-rank-actions *,
.zlp-checkin-card *,
.zlp-rank-offer *{
  color:inherit;
}
.zlp-checkin-card .muted,
.zlp-rank-offer .muted,
.zlp-rank-actions .muted{color:#64748b!important}
.redeem-form input[name="redeem_code"]{
  text-transform:uppercase;
  font-size:22px;
  letter-spacing:2px;
  font-weight:1000;
  text-align:center;
  border:2px dashed #93c5fd!important;
  background:linear-gradient(180deg,#f8fbff,#fff)!important;
}
.redeem-form h3{font-size:22px}
.redeem-admin-card input[name="code"]{
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-weight:1000;
}
.admin-table td code{
  background:#f1f5f9;
  padding:5px 9px;
  border-radius:10px;
  color:#0b49df;
  font-weight:1000;
}
@media(max-width:520px){
  .wallet-tabs{overflow-x:auto;white-space:nowrap;display:flex!important;gap:8px}
  .wallet-tabs .pill-tab{flex:0 0 auto}
}


/* ===== V78: shortcut text black fix ===== */
.zlp-rank-actions a,
.zlp-rank-actions a span,
.zlp-rank-actions a b,
.zlp-rank-actions a strong,
.rank-sync-shortcuts a,
.rank-sync-shortcuts a span,
.rank-sync-shortcuts a b,
.rank-sync-shortcuts a strong{color:#0f172a!important;text-shadow:none!important}
.zlp-rank-actions .shortcut-ico,
.rank-sync-shortcuts .shortcut-ico{background:#eef4ff!important}
.zlp-rank-actions .shortcut-ico.custom,
.rank-sync-shortcuts .shortcut-ico.custom{background:#f3f7ff!important}


/* ===== V79: upload ảnh, top nạp tuần, ví đẹp hơn, fix đánh giá đè ===== */

/* Nút nạp tiền đẹp hơn */
.wallet-tabs{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
  padding:10px 2px 14px!important;
  margin:6px 0 10px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86))!important;
  backdrop-filter:blur(14px)!important;
  border-radius:22px!important;
  top:64px!important;
}
.wallet-tabs::-webkit-scrollbar{display:none!important}
.wallet-tabs .pill-tab{
  flex:0 0 auto!important;
  border-radius:999px!important;
  border:1px solid #dbe7f6!important;
  background:#eef5ff!important;
  color:#0b49df!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
  padding:12px 17px!important;
  font-size:15px!important;
  font-weight:1000!important;
  text-decoration:none!important;
}
.wallet-tabs .pill-tab.active{
  background:linear-gradient(135deg,#16a34a,#8bd957)!important;
  color:#fff!important;
  border-color:#7ccf4b!important;
  box-shadow:0 12px 28px rgba(34,197,94,.22)!important;
}
.wallet-card{
  background:linear-gradient(135deg,#141414,#353535)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 22px 48px rgba(15,23,42,.16)!important;
}
.wallet-card *{color:#fff!important}
.wallet-card .wallet-meta{opacity:.92}

/* Fix đánh giá bị đè trong card */
.license-card,.recommend-card,.search-item,.quick-service,.social-service-card{
  overflow:hidden!important;
}
.license-info,.recommend-card,.search-item div{
  min-width:0!important;
}
.review-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  max-width:100%!important;
  width:auto!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
  margin:7px 0!important;
}
.review-badge b,.review-badge small{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.license-card .review-badge,.recommend-card .review-badge{
  padding:6px 9px!important;
  font-size:12px!important;
  line-height:1!important;
}
.license-card h3,.recommend-card h3{
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}

/* Up ảnh lấy link */
.image-upload-card form{
  display:grid;
  gap:12px;
}
.upload-link-result{
  margin-top:14px;
  border:1px solid #dbe7f6;
  border-radius:22px;
  padding:14px;
  background:linear-gradient(180deg,#f8fbff,#fff);
  display:grid;
  gap:12px;
}
.upload-link-result img{
  width:100%;
  max-height:240px;
  object-fit:contain;
  border-radius:18px;
  background:#f1f5f9;
}
.copy-line{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
}
.copy-line input,.upload-link-item input{
  border:1px solid #dbe7f6;
  background:#f8fbff;
  color:#0b49df;
  font-weight:900;
  border-radius:14px;
  padding:11px 12px;
  width:100%;
}
.upload-link-list{
  display:grid;
  gap:10px;
}
.upload-link-item{
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid #dbe7f6;
  background:#fff;
  border-radius:20px;
  padding:10px;
}
.upload-link-item img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:16px;
  background:#eef4ff;
}
.upload-link-item b,.upload-link-item small{
  display:block;
}
.upload-link-item small{
  color:#64748b;
  margin:4px 0 7px;
  font-weight:800;
}

/* Top nạp tuần */
.top-week-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:radial-gradient(circle at 90% 10%,rgba(251,191,36,.32),transparent 30%),linear-gradient(135deg,#0f172a,#0b49df)!important;
  color:#fff!important;
  border:0!important;
}
.top-week-hero *{color:#fff!important}
.top-week-hero span{
  display:inline-flex;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.2);
  padding:6px 10px;
  border-radius:999px;
  font-weight:1000;
}
.top-week-hero h2{
  margin:10px 0 6px;
  font-size:30px;
}
.top-week-hero p{
  margin:0;
  color:rgba(255,255,255,.86)!important;
  font-weight:850;
  line-height:1.45;
}
.top-week-list{
  display:grid;
  gap:10px;
}
.top-week-item{
  display:grid;
  grid-template-columns:54px 50px 1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid #dbe7f6;
  background:#fff;
  border-radius:22px;
  padding:12px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.top-week-item.me{
  border-color:#22c55e;
  box-shadow:0 14px 34px rgba(34,197,94,.14);
}
.top-week-item.top-1{
  background:linear-gradient(135deg,#fff7d6,#fff);
  border-color:#facc15;
}
.top-week-item.top-2{
  background:linear-gradient(135deg,#f1f5f9,#fff);
  border-color:#cbd5e1;
}
.top-week-item.top-3{
  background:linear-gradient(135deg,#ffedd5,#fff);
  border-color:#fdba74;
}
.top-rank{
  width:54px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#0f172a;
  color:#fff;
  font-weight:1000;
  font-size:18px;
}
.top-avatar{
  width:50px;
  height:50px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0b49df,#22c55e);
  color:#fff;
  font-weight:1000;
  font-size:20px;
}
.top-info{min-width:0}
.top-info b,.top-info small{display:block}
.top-info b{
  font-size:17px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.top-info small{
  color:#64748b;
  font-weight:900;
  margin-top:4px;
}
.top-money{
  font-weight:1000;
  color:#0b49df;
}
.top-reward-history,.mini-history{
  display:grid;
  gap:8px;
}
.mini-history{
  border-top:1px dashed #dbe7f6;
  padding:10px 0;
}
.mini-history:first-child{border-top:0}
.mini-history span{
  color:#16a34a;
  font-weight:1000;
}
.mini-history small{
  color:#64748b;
  font-weight:800;
}

/* Tin nhắn hỗ trợ tên admin/tích nhìn đẹp */
.admin-check{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:4px!important;
  font-size:16px!important;
  line-height:1!important;
}

@media(max-width:520px){
  .top-week-item{
    grid-template-columns:45px 44px 1fr;
  }
  .top-money{
    grid-column:2/4;
    justify-self:start;
    margin-top:-4px;
  }
  .top-rank{width:45px;height:38px;font-size:16px}
  .top-avatar{width:44px;height:44px;border-radius:15px}
  .upload-link-item{
    grid-template-columns:58px 1fr;
  }
  .upload-link-item img{width:58px;height:58px}
  .upload-link-item .btn{grid-column:1/-1}
  .copy-line{grid-template-columns:1fr}
}


/* ===== V80: ImgBB API setting + upload link polish ===== */
.image-api-hint{
  border:1px dashed #93c5fd;
  background:linear-gradient(180deg,#eff6ff,#fff);
  border-radius:20px;
  padding:12px;
  color:#0f172a;
  font-weight:850;
}
.upload-link-result .copy-line input,
.upload-link-item input{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
.admin-form select[name="image_upload_provider"],
.admin-form select[name="image_upload_remote_fallback"]{
  border:2px solid #dbe7f6;
  border-radius:16px;
  padding:14px;
  font-weight:1000;
}


/* ===== V81: upload nhiều ảnh 1 lần ===== */
.multi-upload-result{
  display:grid;
  gap:10px;
}
.multi-upload-row{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  align-items:center;
  border:1px solid #dbe7f6;
  background:#fff;
  border-radius:18px;
  padding:10px;
}
.multi-upload-row img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:15px;
  background:#eef4ff;
}
.multi-upload-row small{
  display:block;
  color:#64748b;
  font-weight:900;
  margin-bottom:6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.image-upload-card input[type="file"],
.vip-admin-card input[type="file"]{
  background:#f8fbff;
  border:2px dashed #93c5fd;
  padding:14px;
  border-radius:18px;
}
@media(max-width:520px){
  .multi-upload-row{grid-template-columns:58px 1fr}
  .multi-upload-row img{width:58px;height:58px}
  .multi-upload-row .copy-line{grid-template-columns:1fr}
}


/* ===== V82: công cụ lấy mã 2FA giống 2fa.live ===== */
.twofa-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}
.twofa-form{
  display:grid;
  gap:14px;
}
.twofa-form textarea{
  width:100%;
  border:2px solid #dbe7f6;
  background:#fff;
  border-radius:22px;
  padding:16px;
  font-size:17px;
  font-weight:900;
  line-height:1.45;
  letter-spacing:.3px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
.twofa-result{
  margin-top:16px;
  display:grid;
  gap:12px;
}
.twofa-code-box{
  border-radius:28px;
  padding:18px;
  background:radial-gradient(circle at 100% 0,rgba(34,197,94,.25),transparent 34%),linear-gradient(135deg,#0f172a,#0b49df);
  color:#fff;
  text-align:center;
  box-shadow:0 18px 38px rgba(37,99,235,.18);
}
.twofa-code-box span{
  display:block;
  color:rgba(255,255,255,.8);
  font-weight:900;
  margin-bottom:8px;
}
.twofa-code-box b{
  display:block;
  font-size:54px;
  line-height:1;
  letter-spacing:8px;
  font-weight:1000;
  color:#fff;
  margin:8px 0 14px;
}
.twofa-code-box .btn{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.28)!important;
}
.twofa-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.twofa-meta div{
  border:1px solid #dbe7f6;
  border-radius:22px;
  padding:14px;
  background:#fff;
}
.twofa-meta b,.twofa-meta span{
  display:block;
}
.twofa-meta b{
  font-size:23px;
  color:#0b49df;
  font-weight:1000;
  word-break:break-all;
}
.twofa-meta span{
  color:#64748b;
  font-weight:850;
  margin-top:4px;
}
.twofa-meta .expired b{
  color:#ef4444;
}
.twofa-guide .guide-steps{
  display:grid;
  gap:10px;
}
.twofa-guide .guide-steps div{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:10px;
  border:1px solid #dbe7f6;
  background:#fff;
  padding:12px;
  border-radius:20px;
}
.twofa-guide .guide-steps b{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#0b49df;
  color:#fff;
  font-size:20px;
}
.twofa-guide .guide-steps span{
  font-weight:900;
  color:#0f172a;
}
@media(max-width:520px){
  .twofa-code-box b{
    font-size:44px;
    letter-spacing:6px;
  }
  .twofa-meta{
    grid-template-columns:1fr;
  }
}


/* ===== V83: 2FA xanh lá + chữ trắng đồng bộ site ===== */
.section-title:has(+ .twofa-card){
  color:#0f7a32!important;
}
.twofa-card{
  border-color:#c9f2d8!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfffc 100%)!important;
}
.twofa-card h2,
.twofa-card label{
  color:#075c26!important;
}
.twofa-card .muted{
  color:#0f7a32!important;
}
.twofa-form textarea{
  border-color:#16a34a!important;
  box-shadow:0 0 0 4px rgba(34,197,94,.10)!important;
}
.twofa-form textarea:focus{
  border-color:#16a34a!important;
  box-shadow:0 0 0 5px rgba(34,197,94,.18)!important;
  outline:none!important;
}
.twofa-form .btn.primary{
  background:linear-gradient(135deg,#16a34a,#0f8a39)!important;
  border-color:#16a34a!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(22,163,74,.20)!important;
}
.twofa-result{
  color:#fff!important;
}
.twofa-code-box{
  background:
    radial-gradient(circle at 92% 12%,rgba(132,204,22,.38),transparent 32%),
    linear-gradient(135deg,#065f2a 0%,#16a34a 55%,#6fc23a 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 18px 40px rgba(22,163,74,.24)!important;
}
.twofa-code-box span,
.twofa-code-box b,
.twofa-code-box button{
  color:#fff!important;
}
.twofa-code-box b{
  text-shadow:0 4px 16px rgba(0,0,0,.20)!important;
}
.twofa-code-box .btn,
.twofa-code-box .btn.ghost,
.twofa-code-box .btn.small{
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  color:#fff!important;
  backdrop-filter:blur(8px)!important;
}
.twofa-meta div{
  border-color:#22c55e!important;
  background:linear-gradient(180deg,#ffffff,#f7fff9)!important;
}
.twofa-meta b{
  color:#075c26!important;
}
.twofa-meta span{
  color:#0f7a32!important;
}
.twofa-meta .expired b{
  color:#dc2626!important;
}
.twofa-guide{
  border-color:#c9f2d8!important;
}
.twofa-guide h2{
  color:#075c26!important;
}
.twofa-guide .guide-steps div{
  border-color:#c9f2d8!important;
  background:#fff!important;
}
.twofa-guide .guide-steps b{
  background:linear-gradient(135deg,#16a34a,#0f8a39)!important;
  color:#fff!important;
}
.twofa-guide .guide-steps span{
  color:#075c26!important;
}


/* ===== V90: quản lý bot GCT trong admin chính ===== */
.gct-config-card .gct-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0;
}
.gct-config-card .gct-info-grid>div{
  border:1px solid #dbe7f6;
  background:#fff;
  border-radius:16px;
  padding:12px;
}
.gct-config-card .gct-info-grid b{
  display:block;
  color:#0f172a;
  margin-bottom:6px;
}
.gct-config-card .gct-info-grid code{
  display:block;
  word-break:break-all;
  white-space:normal;
}
.table-wrap{
  width:100%;
  overflow:auto;
}
.inline-form{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:12px;
}
.grid.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
@media(max-width:760px){
  .gct-config-card .gct-info-grid,
  .grid.two{
    grid-template-columns:1fr;
  }
}


/* V92: game xu feel smoother + bigger feel */
.obstacle-card{position:relative}
.obstacle-canvas{min-height:320px;background:linear-gradient(180deg,#bae6fd 0%,#c4b5fd 48%,#eef2ff 100%)}
.obstacle-controls .btn.primary{box-shadow:0 14px 28px rgba(124,58,237,.16)}
.obstacle-controls .btn.ghost{box-shadow:0 10px 20px rgba(59,130,246,.10)}
@media(max-width:520px){.obstacle-canvas{min-height:280px}}

/* V93: stronger fall + extra FX */
.obstacle-canvas{overflow:hidden}


/* V95 feature pack: PWA + bảo hành + status */
.pwa-install-box{position:fixed;left:14px;right:14px;bottom:86px;z-index:9999;background:linear-gradient(135deg,#16a34a,#0f8a39);color:#fff;border-radius:22px;padding:12px 12px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;box-shadow:0 18px 40px rgba(22,163,74,.25);font-weight:900}
.pwa-install-box button{border:0;background:#fff;color:#0f8a39;border-radius:14px;padding:10px 12px;font-weight:1000}
.pwa-install-box i{font-style:normal;width:30px;height:30px;display:grid;place-items:center;background:rgba(255,255,255,.18);border-radius:50%;cursor:pointer}
.warranty-ticket-card .notice{margin:10px 0}
.badge.ok{background:#dcfce7!important;color:#166534!important}
.badge.bad{background:#fee2e2!important;color:#991b1b!important}
.status-open{background:#e0f2fe!important;color:#075985!important}
.status-processing{background:#fef3c7!important;color:#92400e!important}
.status-resolved{background:#dcfce7!important;color:#166534!important}
.status-rejected{background:#fee2e2!important;color:#991b1b!important}
@media(max-width:520px){.pwa-install-box{bottom:78px;grid-template-columns:1fr auto}.pwa-install-box i{grid-column:2}.pwa-install-box button{grid-row:2;grid-column:1/3}}


/* V96: fix nút Hỗ Trợ bottom nav bị nhô quá cao */
.bottom-nav{
  overflow:visible!important;
}
.bottom-nav a[href*="support"],
.bottom-nav a.support,
.bottom-nav .support,
.bottom-nav .center,
.bottom-nav a.center,
.bottom-nav .nav-center,
.bottom-nav a.nav-center{
  transform:none!important;
}
.bottom-nav a[href*="support"]{
  position:relative!important;
  top:-18px!important;
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  border-radius:50%!important;
  padding:10px 8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  background:linear-gradient(180deg,#18b656,#129646)!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(18,150,70,.26)!important;
  z-index:5!important;
}
.bottom-nav a[href*="support"] img,
.bottom-nav a[href*="support"] svg{
  width:30px!important;
  height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  object-fit:contain!important;
}
.bottom-nav a[href*="support"] b,
.bottom-nav a[href*="support"] span{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.05!important;
  font-weight:1000!important;
}
@media(max-width:520px){
  .bottom-nav a[href*="support"]{
    top:-14px!important;
    width:82px!important;
    height:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    padding:8px 6px!important;
  }
  .bottom-nav a[href*="support"] img,
  .bottom-nav a[href*="support"] svg{
    width:26px!important;
    height:26px!important;
    max-width:26px!important;
    max-height:26px!important;
  }
  .bottom-nav a[href*="support"] b,
  .bottom-nav a[href*="support"] span{
    font-size:14px!important;
  }
}


/* ===== V97: fix mạnh nút Hỗ Trợ quá cao ===== */
body > .bottom-nav,
.bottom-nav.custom-bottom-nav,
.bottom-nav.zlp-nav{
  bottom:calc(2px + env(safe-area-inset-bottom,0px))!important;
  height:78px!important;
  min-height:78px!important;
  padding:8px 8px 8px!important;
  border-radius:24px 24px 0 0!important;
}
body > .bottom-nav a,
.bottom-nav.custom-bottom-nav a,
.bottom-nav.zlp-nav a{
  height:56px!important;
  min-height:56px!important;
}
body > .bottom-nav .nav-center,
.bottom-nav.custom-bottom-nav .nav-center,
.bottom-nav.zlp-nav .nav-center,
.bottom-nav .nav-center{
  width:70px!important;
  height:70px!important;
  min-width:70px!important;
  min-height:70px!important;
  margin:-18px auto 0!important;
  transform:none!important;
  top:auto!important;
  position:relative!important;
  gap:1px!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--bottom_support,#16a34a) 26%,transparent)!important;
}
body > .bottom-nav .nav-center .tiny-icon-img,
.bottom-nav.custom-bottom-nav .nav-center .tiny-icon-img,
.bottom-nav.zlp-nav .nav-center .tiny-icon-img,
body > .bottom-nav .nav-center .tiny-icon-emoji,
.bottom-nav.custom-bottom-nav .nav-center .tiny-icon-emoji,
.bottom-nav.zlp-nav .nav-center .tiny-icon-emoji{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  min-height:26px!important;
  max-width:26px!important;
  max-height:26px!important;
  line-height:26px!important;
  font-size:24px!important;
}
body > .bottom-nav .nav-center span,
.bottom-nav.custom-bottom-nav .nav-center span,
.bottom-nav.zlp-nav .nav-center span{
  font-size:11px!important;
  line-height:1.02!important;
  margin:0!important;
}
@media(max-width:520px){
  body > .bottom-nav,
  .bottom-nav.custom-bottom-nav,
  .bottom-nav.zlp-nav{
    bottom:calc(0px + env(safe-area-inset-bottom,0px))!important;
    height:74px!important;
    min-height:74px!important;
    padding:7px 7px 7px!important;
  }
  body > .bottom-nav a,
  .bottom-nav.custom-bottom-nav a,
  .bottom-nav.zlp-nav a{
    height:53px!important;
    min-height:53px!important;
    gap:3px!important;
  }
  body > .bottom-nav .nav-center,
  .bottom-nav.custom-bottom-nav .nav-center,
  .bottom-nav.zlp-nav .nav-center,
  .bottom-nav .nav-center{
    width:66px!important;
    height:66px!important;
    min-width:66px!important;
    min-height:66px!important;
    margin:-14px auto 0!important;
    gap:0!important;
  }
  body > .bottom-nav .nav-center .tiny-icon-img,
  .bottom-nav.custom-bottom-nav .nav-center .tiny-icon-img,
  .bottom-nav.zlp-nav .nav-center .tiny-icon-img,
  body > .bottom-nav .nav-center .tiny-icon-emoji,
  .bottom-nav.custom-bottom-nav .nav-center .tiny-icon-emoji,
  .bottom-nav.zlp-nav .nav-center .tiny-icon-emoji{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    max-width:24px!important;
    max-height:24px!important;
    line-height:24px!important;
    font-size:22px!important;
  }
  body > .bottom-nav .nav-center span,
  .bottom-nav.custom-bottom-nav .nav-center span,
  .bottom-nav.zlp-nav .nav-center span{
    font-size:10.5px!important;
  }
}


/* V98: Bảo hành nâng cao */
.warranty-type-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:12px 0 16px;
}
.warranty-type-card{
  border:2px solid #dbe7f6;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border-radius:24px;
  padding:14px;
  display:grid;
  gap:8px;
  text-align:center;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.warranty-type-card input{display:none}
.warranty-type-card.active{
  border-color:var(--primary,#0b49df);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--primary,#0b49df) 15%,transparent),0 14px 34px rgba(37,99,235,.12);
}
.warranty-img{
  width:100%;
  height:112px;
  border-radius:20px;
  background:#eef5ff;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.warranty-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.warranty-img span{
  font-size:48px;
}
.warranty-type-card b{
  font-size:17px;
  line-height:1.12;
  color:#0f172a;
}
.warranty-type-card small{
  font-weight:1000;
  color:var(--primary,#0b49df);
}
.warranty-pro-form .pay-box .muted{
  display:block;
  margin-top:6px;
  font-size:12px;
}
@media(max-width:520px){
  .warranty-type-grid{grid-template-columns:1fr 1fr;gap:9px}
  .warranty-img{height:88px;border-radius:18px}
  .warranty-img span{font-size:38px}
  .warranty-type-card{padding:10px;border-radius:20px}
  .warranty-type-card b{font-size:14px}
}


.warranty-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:6px 0 16px}
.warranty-method-card{border:2px solid #dbe7f6;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:22px;padding:14px;display:grid;gap:8px;text-align:center;cursor:pointer;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.warranty-method-card input{display:none}
.warranty-method-card.active{border-color:var(--accent,#16a34a);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,#16a34a) 18%,transparent),0 14px 34px rgba(34,197,94,.12)}
.warranty-method-icon{width:56px;height:56px;border-radius:18px;background:#eef5ff;display:grid;place-items:center;font-size:28px;margin:0 auto}
.warranty-order-section,.warranty-credential-section{display:block}
@media(max-width:520px){.warranty-method-grid{grid-template-columns:1fr 1fr;gap:9px}.warranty-method-card{padding:10px;border-radius:18px}.warranty-method-card b{font-size:14px}.warranty-method-card small{font-size:12px}}


/* V100: tách bảo hành thành 2 trang riêng */
.warranty-switch-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(135deg,#f8fbff,#ffffff)!important;
}
.warranty-switch-card b{
  display:block;
  font-size:17px;
}
.warranty-switch-card span{
  display:block;
  color:#64748b;
  font-weight:800;
  margin-top:4px;
}
@media(max-width:520px){
  .warranty-switch-card{display:grid}
  .warranty-switch-card .btn{width:100%}
}


/* V101: Bảo hành tinh gọn */
.warranty-code-form,
.warranty-advanced-clean{
  overflow:hidden;
}
.warranty-hero-simple{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:24px;
  background:linear-gradient(135deg,#f8fbff,#eef5ff);
  border:1px solid #dbe7f6;
  margin-bottom:16px;
}
.warranty-hero-simple span{
  width:58px;
  height:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:#fff;
  font-size:30px;
  box-shadow:0 10px 24px rgba(37,99,235,.10);
  flex:0 0 auto;
}
.warranty-hero-simple h2{
  margin:0 0 4px;
  font-size:22px;
  line-height:1.12;
}
.warranty-hero-simple p{
  margin:0;
  color:#64748b;
  font-weight:850;
  line-height:1.25;
}
.warranty-hero-simple.advanced{
  background:linear-gradient(135deg,#f0fdf4,#f8fbff);
}
.warranty-free-box{
  margin:12px 0;
  border:1px solid #bbf7d0;
  background:#ecfdf5;
  color:#166534;
  border-radius:20px;
  padding:13px 14px;
  font-weight:1000;
  text-align:center;
}
.quick-login-box{
  display:grid!important;
  gap:8px!important;
  padding:16px;
  border-radius:26px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #dbe7f6;
  box-shadow:0 12px 32px rgba(15,23,42,.055);
}
.quick-login-box > span{
  font-size:20px;
  font-weight:1000;
  color:#0f172a;
}
.quick-login-box small{
  color:#64748b;
  font-weight:850;
  line-height:1.25;
}
.quick-login-box textarea{
  min-height:170px!important;
  border-radius:22px!important;
  padding:16px!important;
  background:#fff!important;
  border:1px solid #dbe7f6!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.quick-login-box textarea::placeholder{
  color:#94a3b8!important;
}
@media(max-width:520px){
  .warranty-hero-simple{padding:13px;border-radius:22px;align-items:flex-start}
  .warranty-hero-simple span{width:50px;height:50px;border-radius:17px;font-size:25px}
  .warranty-hero-simple h2{font-size:19px}
  .warranty-hero-simple p{font-size:13px}
  .quick-login-box{padding:13px;border-radius:22px}
  .quick-login-box > span{font-size:18px}
  .quick-login-box textarea{min-height:150px!important;font-size:15px!important}
}


/* V102: bảo hành nâng cao chọn loại + giá riêng */
.warranty-advanced-clean .warranty-type-grid{margin-bottom:16px}
.warranty-advanced-clean .warranty-type-card small{font-size:14px}


/* V103: ghi nợ user */
.debt-user-card{
  background:linear-gradient(135deg,#fff7ed,#ffffff)!important;
  border:1px solid #fed7aa!important;
}
.debt-user-card>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.debt-user-card b{
  font-size:18px;
  color:#9a3412;
}
.debt-user-card span{
  font-size:26px;
  font-weight:1000;
  color:#ea580c;
}
.debt-user-card small{
  display:block;
  margin-top:8px;
  color:#64748b;
  font-weight:850;
}
.debt-adjust{
  display:inline-block;
  margin-top:6px;
}
.debt-adjust summary{
  cursor:pointer;
  color:#0b49df;
  font-weight:900;
}
.debt-adjust form{
  display:flex;
  gap:6px;
  align-items:center;
  margin-top:6px;
}
.debt-adjust input,.debt-adjust select{
  min-height:34px!important;
  border-radius:10px!important;
  padding:6px 8px!important;
}
@media(max-width:520px){
  .debt-user-card>div{display:grid}
  .debt-user-card span{font-size:22px}
}

/* ===== V22 FIX ADMIN IMAGE TOOL MOBILE OVERFLOW ===== */
html,body{max-width:100%!important;overflow-x:hidden!important}
.admin-layout,.admin-main,.admin-main *{box-sizing:border-box!important}
.admin-main{max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
.admin-main .card,.admin-form,.admin-main form.card{max-width:100%!important;min-width:0!important;overflow:hidden!important}
.admin-main .grid2,.admin-form .grid2{max-width:100%!important;min-width:0!important}
.admin-main .grid2>*{min-width:0!important;max-width:100%!important}
.admin-form input,.admin-form select,.admin-form textarea,.admin-main input,.admin-main select,.admin-main textarea{max-width:100%!important;min-width:0!important;width:100%;box-sizing:border-box!important}
.admin-form textarea,.admin-main textarea{border:1px solid #dbe3ef;border-radius:15px;padding:13px;background:#fff;resize:vertical}
.admin-main .btn,.admin-form .btn{max-width:100%!important;white-space:normal!important;text-align:center!important;line-height:1.25!important}
.admin-main .admin-actions{max-width:100%!important;min-width:0!important;overflow:hidden!important}
.admin-main .admin-actions input,.admin-main .admin-actions select{flex:1 1 160px!important;min-width:0!important}
.admin-table{max-width:100%!important;min-width:0!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;white-space:normal!important}
.admin-table tbody,.admin-table thead,.admin-table tr{min-width:max-content!important}
.admin-table th,.admin-table td{white-space:nowrap!important;max-width:280px!important}
.admin-table td input,.admin-table td select{width:auto!important;max-width:220px!important;min-width:70px!important}
.admin-table td small{display:block;max-width:220px;white-space:normal;overflow-wrap:anywhere}
#itv2CropWrap,#pubgQuadWrap{width:100%!important;max-width:100%!important;min-width:0!important}
#itv2CropImg,#pubgQuadImg{max-width:100%!important;height:auto!important}
#itv2CropBox{min-width:40px!important;min-height:40px!important}
@media(max-width:760px){
  .admin-layout{width:100%!important;overflow-x:hidden!important}
  .admin-main{padding:10px!important;width:100%!important}
  .admin-top{display:block!important;gap:8px!important}
  .admin-form,.admin-main .card{border-radius:20px!important;padding:14px!important;margin-left:0!important;margin-right:0!important;width:100%!important}
  .admin-form h2,.admin-main .card h2{font-size:24px!important;line-height:1.18!important;overflow-wrap:anywhere!important}
  .admin-form h3,.admin-main .card h3{font-size:22px!important;line-height:1.18!important;overflow-wrap:anywhere!important}
  .admin-form label{font-size:17px!important;line-height:1.2!important}
  .admin-form input,.admin-form select,.admin-form textarea{min-height:50px!important;font-size:16px!important;border-radius:16px!important}
  .admin-form .btn,.admin-main .btn{width:100%!important;min-height:50px!important;border-radius:18px!important;font-size:16px!important;padding:12px!important}
  .admin-table{border-radius:18px!important;padding:0!important;margin-bottom:14px!important;box-shadow:none!important}
  .admin-table th,.admin-table td{padding:10px 9px!important;font-size:13px!important;max-width:230px!important}
  .admin-table td input,.admin-table td select{max-width:190px!important;min-height:38px!important;font-size:13px!important}
  #itv2CropBox i{width:24px!important;height:24px!important;border-width:4px!important}
  #itv2CropBox [data-h=nw]{left:-14px!important;top:-14px!important}
  #itv2CropBox [data-h=ne]{right:-14px!important;top:-14px!important}
  #itv2CropBox [data-h=sw]{left:-14px!important;bottom:-14px!important}
  #itv2CropBox [data-h=se]{right:-14px!important;bottom:-14px!important}
}
@media(max-width:420px){
  .admin-main{padding:8px!important}
  .admin-form,.admin-main .card{padding:12px!important;border-radius:18px!important}
  .admin-table th,.admin-table td{font-size:12px!important;max-width:200px!important}
  .admin-table td input,.admin-table td select{max-width:165px!important}
}


/* ===== V122: Lịch sử SMS đẹp hơn + hiện mã ngay trong history ===== */
.history-tabs-pro{display:flex;flex-wrap:wrap;gap:10px;overflow:visible;padding:4px 0 16px;scrollbar-width:none}
.history-tabs-pro .pill-tab{flex:1 1 calc(33.333% - 8px);min-width:102px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 14px;border-radius:18px;background:linear-gradient(180deg,#f7faff,#edf4ff);border:1px solid #dbe7ff;color:#2450da;font-weight:900;box-shadow:0 8px 18px rgba(37,99,235,.06)}
.history-tabs-pro .pill-tab.active{background:linear-gradient(180deg,#eefbf0,#dbf7b5)!important;border-color:#bde58e!important;color:#3f7c12!important;box-shadow:0 10px 22px rgba(132,204,22,.18)!important}
.history-sms-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:24px;background:linear-gradient(135deg,#eef6ff,#f8fbff);border:1px solid #dbe8ff;box-shadow:0 12px 28px rgba(15,23,42,.05);margin-bottom:14px}
.history-sms-hero h3{margin:0 0 6px;font-size:19px}
.history-sms-hero p{margin:0;color:#64748b;line-height:1.45}
.history-sms-open-btn{white-space:nowrap;min-width:144px}
.history-sms-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.history-mini-stat{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e5edf8;border-radius:20px;padding:14px 16px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.history-mini-stat b{display:block;font-size:26px;line-height:1;color:#0f172a}
.history-mini-stat span{display:block;margin-top:6px;color:#64748b;font-size:13px;font-weight:700}
.sms-history-card{display:grid;gap:12px;padding:16px 16px 14px;background:linear-gradient(180deg,#fff,#fbfdff)}
.sms-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.sms-order-title{font-size:19px;font-weight:900;line-height:1.25;color:#0f172a}
.sms-subinfo{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sms-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f4f8ff;border:1px solid #dde8f7;color:#47617d;font-size:12px;font-weight:800}
.sms-order-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#64748b;font-size:13px}
.sms-otp-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:22px;background:linear-gradient(135deg,#effcf1,#f7fff7);border:1px solid #ccefd0;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.sms-otp-box small{display:block;color:#3f6212;font-weight:800;margin-bottom:6px}
.sms-otp-box .otp-value{font-size:30px;line-height:1;font-weight:900;letter-spacing:2px;color:#166534}
.history-empty-note{padding:13px 14px;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700}
.sms-preview-list{display:grid;gap:8px}
.sms-preview-item{background:#f8fbff;border:1px solid #e2e8f0;border-radius:18px;padding:12px}
.sms-preview-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.sms-preview-top b{font-size:14px;color:#0f172a}
.sms-preview-top span{font-size:12px;color:#64748b;white-space:nowrap}
.sms-preview-code{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#eefbf0;border:1px solid #d1fad7;color:#166534;font-size:12px;font-weight:800;margin-bottom:7px}
.sms-preview-body{color:#334155;white-space:pre-wrap;word-break:break-word;line-height:1.5;font-weight:700}
.sms-action-row{display:flex;flex-wrap:wrap;gap:8px}
.sms-action-row .btn{min-width:132px}
@media(max-width:760px){.history-tabs-pro .pill-tab{flex:1 1 calc(50% - 8px)}.history-sms-hero{flex-direction:column;align-items:flex-start}.history-sms-open-btn{width:100%}.sms-otp-box{flex-direction:column;align-items:flex-start}.sms-otp-box .btn{width:100%}.sms-order-meta{display:grid;grid-template-columns:1fr}.sms-action-row .btn{flex:1 1 calc(50% - 8px)}}
@media(max-width:520px){.history-tabs-pro .pill-tab{flex:1 1 calc(50% - 8px);min-width:0;padding:11px 10px}.history-mini-stat b{font-size:24px}.sms-order-title{font-size:17px}.sms-otp-box .otp-value{font-size:26px;letter-spacing:1.5px}.sms-preview-top{align-items:flex-start;flex-direction:column}.sms-action-row .btn{flex:1 1 100%}}
body.theme-dark .history-sms-hero,body.theme-dark .history-mini-stat,body.theme-dark .sms-preview-item{background:#131a2a!important;border-color:#263349!important;color:#f8fafc!important;box-shadow:none!important}
body.theme-dark .history-sms-hero p,body.theme-dark .history-mini-stat span,body.theme-dark .sms-order-meta,body.theme-dark .sms-preview-top span,body.theme-dark .sms-preview-body,body.theme-dark .sms-chip{color:#cbd5e1!important}
body.theme-dark .history-tabs-pro .pill-tab{background:#162133!important;border-color:#263349!important;color:#e5efff!important;box-shadow:none!important}
body.theme-dark .history-tabs-pro .pill-tab.active{background:#203b15!important;border-color:#355f26!important;color:#dcfce7!important}
body.theme-dark .sms-history-card,body.theme-dark .history-empty-note,body.theme-dark .sms-otp-box{background:#131a2a!important;border-color:#263349!important;color:#f8fafc!important}
body.theme-dark .sms-preview-code{background:#14301b!important;border-color:#24512f!important;color:#bbf7d0!important}


/* ===== V123: Trang danh sách bot ===== */
.bot-list-hero{background:linear-gradient(135deg,#ecfdf5,#eff6ff);border-color:#dbeafe;margin-bottom:14px}.bot-list-hero h2{margin:0 0 6px;font-size:22px}.bot-list-hero p{margin:0;color:#64748b;font-weight:750}.bot-directory-grid{display:grid;gap:12px}.bot-directory-card{display:flex;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:15px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.bot-directory-icon{width:62px;height:62px;border-radius:22px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;font-size:21px;font-weight:1000;flex:0 0 auto;overflow:hidden}.bot-directory-body{min-width:0;flex:1}.bot-directory-body h3{margin:0 0 4px;font-size:19px}.bot-directory-body small{display:block;color:#2563eb;font-weight:900;margin-bottom:6px}.bot-directory-body p{margin:0 0 12px;color:#64748b;line-height:1.45;font-weight:700}.bot-directory-body .btn{width:100%;border-radius:18px}.theme-dark .bot-list-hero,.theme-dark .bot-directory-card{background:#131a2a!important;color:#f8fafc!important;border-color:#263349!important;box-shadow:none!important}.theme-dark .bot-directory-body p{color:#cbd5e1!important}@media(min-width:760px){.bot-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===== V124: Trang /bots + admin tự thêm bot ===== */
.bot-directory-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 110px}
.bot-list-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#eef7ff,#f8fbff)!important;border-color:#dbeafe!important}
.bot-list-hero h2{margin:0 0 6px;font-size:22px}.bot-list-hero p{margin:0;color:#64748b;font-weight:800;line-height:1.45}
.bot-directory-card-v2{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e0eaf8;border-radius:28px;padding:16px;box-shadow:0 14px 36px rgba(15,23,42,.06);display:flex;gap:12px;align-items:flex-start}
.bot-directory-card-v2:before{content:'';position:absolute;right:-36px;top:-36px;width:108px;height:108px;border-radius:50%;background:rgba(59,130,246,.09)}
.bot-directory-icon{position:relative;z-index:1;width:54px;height:54px;border-radius:19px;background:linear-gradient(135deg,#0b49df,#60a5fa);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:1000;flex:0 0 auto;box-shadow:0 12px 26px rgba(37,99,235,.2)}
.bot-directory-body{position:relative;z-index:1;min-width:0;flex:1}.bot-directory-body h3{font-size:18px;margin:0 0 4px;line-height:1.18}.bot-directory-body small{display:block;color:#2563eb;font-weight:900;margin-bottom:8px}.bot-directory-body p{color:#64748b;line-height:1.45;margin:0 0 12px;font-weight:750}.bot-use-btn{width:100%;border-radius:16px}
.bot-admin-list{display:grid;gap:12px}.bot-admin-item{border:1px solid #e5e7eb;border-radius:22px;padding:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}.bot-admin-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.bot-admin-top small{color:#64748b}.bot-add-form .wide,.bot-directory-edit-form .wide{grid-column:1/-1}.checkline{display:inline-flex!important;align-items:center;gap:8px;margin:0!important}.checkline input{width:auto!important}.bot-directory-admin-head .admin-actions{margin-top:10px}
@media(max-width:760px){.bot-directory-grid-v2{grid-template-columns:1fr}.bot-list-hero{display:grid}.bot-list-hero .btn{width:100%}.bot-directory-card-v2{border-radius:24px}.bot-admin-top{align-items:flex-start;flex-direction:column}.bot-add-form .grid2,.bot-directory-edit-form .grid2{grid-template-columns:1fr}}
body.theme-dark .bot-list-hero,body.theme-dark .bot-directory-card-v2,body.theme-dark .bot-admin-item{background:#131a2a!important;border-color:#263349!important;color:#f8fafc!important;box-shadow:none!important}body.theme-dark .bot-list-hero p,body.theme-dark .bot-directory-body p,body.theme-dark .bot-admin-top small{color:#cbd5e1!important}


/* ===== V123 livestream ===== */
.livestream-form .live-feature-box{display:grid;gap:8px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:20px;padding:14px;margin:12px 0}.livestream-form .live-feature-box label{display:flex!important;align-items:center;gap:9px;margin:0;font-weight:800}.livestream-form .live-feature-box input{width:auto}.live-history-item small{display:block;margin-top:6px}.live-history-item small a{color:var(--primary);font-weight:900}.theme-dark .livestream-form .live-feature-box{background:#131a2a!important;border-color:#263349!important;color:#f8fafc!important}


/* ===== V124: TikTok Livestream Assistant ===== */
.live-tiktok-page{display:grid;gap:14px;margin-bottom:14px}.live-tiktok-hero{position:relative;overflow:hidden;border-radius:30px;padding:24px;background:radial-gradient(circle at 8% 15%,rgba(34,211,238,.55),transparent 28%),radial-gradient(circle at 90% 10%,rgba(236,72,153,.45),transparent 26%),linear-gradient(135deg,#09090b,#111827 55%,#312e81);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;box-shadow:0 20px 60px rgba(15,23,42,.22)}.live-kicker{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 12px;font-weight:950;color:#a7f3d0}.live-tiktok-hero h1{font-size:30px;line-height:1.08;margin:12px 0 10px}.live-tiktok-hero p{margin:0;color:#e2e8f0;line-height:1.5}.live-price-box{min-width:142px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:15px;text-align:center;backdrop-filter:blur(12px)}.live-price-box small,.live-price-box span{display:block;color:#cbd5e1;font-weight:800}.live-price-box b{display:block;font-size:24px;margin:4px 0;color:#fff}.live-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.live-feature-grid>div{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:14px;box-shadow:0 10px 28px rgba(15,23,42,.05);display:grid;gap:5px}.live-feature-grid>div:first-letter{font-size:26px}.live-feature-grid b{display:block;font-size:14px}.live-feature-grid span{display:block;color:#64748b;font-size:12px;line-height:1.35}.tiktok-live-form{border:1px solid #dbeafe}.live-feature-box-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #e2e8f0;border-radius:22px;padding:14px;margin:12px 0}.live-feature-box-v2>b{grid-column:1/-1;font-size:17px}.live-feature-box-v2 label{display:flex!important;align-items:center;gap:9px;margin:0!important;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px 12px;font-weight:850}.live-feature-box-v2 input{width:auto!important}.live-history-item{align-items:flex-start}@media(max-width:760px){.live-tiktok-hero{display:block;padding:20px}.live-price-box{margin-top:14px;text-align:left}.live-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-feature-box-v2{grid-template-columns:1fr}.live-tiktok-hero h1{font-size:24px}}@media(max-width:420px){.live-feature-grid{grid-template-columns:1fr}}body.theme-dark .live-feature-grid>div,body.theme-dark .live-feature-box-v2,body.theme-dark .live-feature-box-v2 label{background:#131a2a!important;color:#f8fafc!important;border-color:#263349!important;box-shadow:none!important}body.theme-dark .live-feature-grid span{color:#cbd5e1!important}


/* ===== V126: media tools TTS + tải video ===== */
.media-tool-form textarea{width:100%;border:1px solid #dbe3ef;border-radius:18px;padding:14px;background:#fff;font-weight:800;line-height:1.5;resize:vertical}
.media-tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.media-tool-actions .btn{flex:1 1 160px}.media-history{align-items:flex-start}.media-history code{margin-top:8px;white-space:pre-wrap;word-break:break-word}.media-history small{display:block;color:#64748b;margin-top:4px}.media-history audio{max-width:100%}@media(max-width:520px){.media-tool-actions{display:grid}.media-history{display:block}.media-history .btn{margin-top:8px;width:100%}}
body.theme-dark .media-tool-form textarea{background:#131a2a!important;color:#f8fafc!important;border-color:#263349!important}

/* V142: notification center, coming soon, service badges */
.soon-badge{position:absolute;right:8px;top:8px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;box-shadow:0 6px 16px rgba(15,23,42,.08)}
.service-grid a{position:relative}.service-card-soon{opacity:.98;background:linear-gradient(180deg,#fff,#fff7ed)!important;border-color:#fed7aa!important}.coming-soon-page{min-height:58vh;display:grid;place-items:center;padding:22px}.coming-soon-card{width:min(520px,100%);text-align:center;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e5edf8;border-radius:30px;padding:28px 22px;box-shadow:0 18px 50px rgba(15,23,42,.08)}.coming-soon-card .coming-icon{width:92px;height:92px;margin:0 auto 12px;border-radius:28px;background:linear-gradient(135deg,#eff6ff,#dcfce7);display:grid;place-items:center;font-size:42px;overflow:hidden}.coming-soon-card .coming-icon img{width:100%;height:100%;object-fit:cover}.coming-soon-card h1{font-size:34px;margin:10px 0;color:#0f172a}.coming-soon-card p{color:#64748b;font-weight:800;line-height:1.5}.coming-soon-card .btn{margin:6px}
.notice-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.notice-center-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #dbeafe;border-radius:24px;padding:16px;margin:0 0 14px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.notice-center-hero b{display:block;font-size:20px}.notice-center-hero span{display:block;color:#64748b;margin-top:4px;font-weight:700}.notice-actions{display:flex;gap:8px;flex-wrap:wrap}.notice-section-title{font-size:15px;font-weight:1000;color:#64748b;margin:16px 0 8px;text-transform:uppercase;letter-spacing:.04em}.notice-card.user-notice-card.unread{border-color:#60a5fa!important;background:linear-gradient(180deg,#fff,#eff6ff)!important}.notice-card.user-notice-card.unread h3:before{content:'● ';color:#2563eb}.shop-notice{background:linear-gradient(180deg,#fff,#fbfdff)}
@media(max-width:520px){.notice-center-hero{display:block}.notice-actions{margin-top:12px}.notice-actions .btn{flex:1}.coming-soon-card h1{font-size:28px}}
