*{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}
}
