﻿/* =====================================================================
   SIEUTHIVPS ï¿½ SKY TECH THEME v2
   B? c?c + hi?u ?ng du?c thi?t k? l?i hoï¿½n toï¿½n. Tï¿½ng xanh tr?i.
   Version: 2026-08-18-v2
   ===================================================================== */

/* ============================ TOKENS ============================ */
:root {
    --sky-50:#f0f9ff; --sky-100:#e0f2fe; --sky-200:#bae6fd; --sky-300:#7dd3fc;
    --sky-400:#38bdf8; --sky-500:#0ea5e9; --sky-600:#0284c7; --sky-700:#0369a1;
    --sky-800:#075985; --sky-900:#0c4a6e;

    --cyan:#22d3ee;
    --navy:#050d1f; --navy-2:#081530; --navy-3:#0b2247;

    --ink:#0f172a; --body:#4a5b73; --muted:#7286a0;
    --line:#e4edf7; --bg:#f4f8fd; --card:#fff;

    --grad:linear-gradient(135deg,#0ea5e9,#0284c7 55%,#0369a1);
    --grad-soft:linear-gradient(135deg,#38bdf8,#0ea5e9);
    --grad-dark:linear-gradient(160deg,#050d1f 0%,#081c3f 55%,#0b3a74 100%);

    --r-lg:20px; --r-md:14px; --r-sm:6px; --r-pill:10px;
    --sh-sm:0 2px 10px rgba(8,47,96,.07);
    --sh-md:0 14px 40px rgba(8,47,96,.12);
    --sh-lg:0 30px 70px rgba(8,47,96,.20);
    --font:'Be Vietnam Pro','Inter','Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
    --f-sans:'Be Vietnam Pro','Inter','Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}

/* ============================ BASE ============================ */
html{scroll-behavior:smooth}
body.body-wraper{
    font-family:var(--font);
    background:var(--bg);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    display:flex;flex-direction:column;min-height:100vh;
}
footer.footer-section{margin-top:auto}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
    font-family:var(--font);
    color:var(--ink);
    letter-spacing:-.015em;
}
h1,.h1{font-weight:800}
h2,.h2{font-weight:800}
h3,.h3{font-weight:700}
h4,.h4{font-weight:700}
h5,.h5{font-weight:600}
p{color:var(--body);line-height:1.75}
a{color:var(--sky-600);transition:color .2s}
a:hover,a:focus{color:var(--sky-700);text-decoration:none}
a:focus,button:focus{outline:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--sky-400);outline-offset:2px}
::selection{background:rgba(14,165,233,.22)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#e9f2fb}
::-webkit-scrollbar-thumb{background:var(--sky-300);border-radius:8px;border:2px solid #e9f2fb}
::-webkit-scrollbar-thumb:hover{background:var(--sky-400)}

/* Sửa tận gốc: container rộng 100% tới max 1200px — loại các nấc width cố định
   750/970/1170px của Bootstrap gây lề thừa rộng ở màn hình 1000-1200px.
   Áp dụng chung cho mọi trang. */
.container{width:100%;max-width:1200px}
/* Tablet (768-991px): Bootstrap khÃ³a container 750px gÃ¢y lá» thá»«a -> giÃ£n 96% */
@media (min-width:768px) and (max-width:991px){
    body.body-wraper .container{max-width:96%;width:96%}
}

/* Scroll reveal */
[data-sv-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
[data-sv-reveal="right"]{transform:translateX(40px)}
[data-sv-reveal].sv-revealed{opacity:1;transform:none}

/* Section heading chung */
.sv-section-head{text-align:center;margin-bottom:48px}
.sv-section-tag{
    display:inline-block;
    padding:7px 18px;
    border-radius:var(--r-pill);
    background:var(--sky-100);
    color:var(--sky-700);
    font-size:13px;font-weight:700;letter-spacing:.04em;
    margin-bottom:14px;
    border:1px solid var(--sky-200);
}
.sv-section-head h2{font-size:34px;font-weight:800;margin:0}

/* ============================ NAVBAR ============================ */
header.header-main-menu{
    position:sticky;top:0;z-index:1030;
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:saturate(180%) blur(14px);
    -webkit-backdrop-filter:saturate(180%) blur(14px);
    border-bottom:1px solid rgba(228,237,247,.8);
    transition:box-shadow .3s,background .3s,transform .35s ease;
}
header.header-main-menu.sv-scrolled{
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 6px 24px rgba(8,47,96,.10);
}
/* ?n header khi cu?n xu?ng, tru?t hi?n khi cu?n lï¿½n */
header.header-main-menu.sv-hidden{transform:translateY(-100%)}
/* Thanh ti?n trï¿½nh cu?n gradient n?m sï¿½t dï¿½y header */
.sv-scroll-progress{
    position:absolute;left:0;bottom:-1px;height:3px;width:0;
    background:var(--grad);border-radius:0 3px 3px 0;
    box-shadow:0 0 12px rgba(14,165,233,.55);
}
.navbar-main{margin-bottom:0;min-height:70px}
.navbar-main .navbar-brand.logo{padding:16px 0}

/* Menu item: hover n? viï¿½n n?n gradient m?m t? gi?a ra, ch? d?i mï¿½u + nh?c nh? */
.navbar-nav>li>a{
    font-weight:600;font-size:15px;color:#31435e!important;
    padding:10px 18px!important;margin:15px 4px;border-radius:var(--r-pill);
    position:relative;transition:color .25s,transform .25s;
}
.navbar-nav>li>a::before{
    content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;
    background:linear-gradient(120deg,rgba(14,165,233,.10),rgba(34,211,238,.18));
    box-shadow:inset 0 0 0 1px rgba(14,165,233,.16);
    transform:scaleX(.4);opacity:0;transition:transform .3s ease,opacity .3s ease;
}
.navbar-nav>li>a:hover{color:var(--sky-700)!important;transform:translateY(-1px)}
.navbar-nav>li>a:hover::before{transform:scaleX(1);opacity:1}
/* M?c dang ch?n: gi? n?n pill + ch?m phï¿½t sï¿½ng du?i ch? */
.navbar-nav>li.active>a,.navbar-nav>li.open>a{color:var(--sky-600)!important}
.navbar-nav>li.active>a::before,.navbar-nav>li.open>a::before{transform:scaleX(1);opacity:1}
.navbar-nav>li.active>a::after,.navbar-nav>li.open>a::after{
    content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;
    border-radius:50%;background:var(--sky-500);
    box-shadow:0 0 8px rgba(14,165,233,.9);
    animation:svDotPulse 2s ease-in-out infinite;
}
@keyframes svDotPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}

/* Dropdown: tru?t m? hi?n xu?ng, item cï¿½ thanh gradient trï¿½i + n?n m?m */
.navbar-main .dropdown-menu{
    margin-top:10px;border:none;border-radius:18px;
    box-shadow:var(--sh-md);padding:10px;min-width:240px;
    border:1px solid #eef4fb;
    display:block;opacity:0;visibility:hidden;
    transform:translateY(14px) scale(.97);transform-origin:top center;
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;
}
.navbar-main .dropdown.open>.dropdown-menu{
    opacity:1;visibility:visible;transform:translateY(0) scale(1);
    transition:opacity .22s ease,transform .22s ease,visibility 0s;
}
.navbar-main .dropdown-menu>li>a{
    border-radius:12px;padding:10px 14px;font-weight:500;color:#40506a;
    position:relative;overflow:hidden;
    transition:color .2s,background .2s,padding-left .2s;
}
.navbar-main .dropdown-menu>li>a::before{
    content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:3px;
    background:var(--grad);transform:scaleY(0);transition:transform .22s ease;
}
.navbar-main .dropdown-menu>li>a:hover,.navbar-main .dropdown-menu>li>a:focus{
    background:var(--sky-50);color:var(--sky-700);padding-left:20px;
}
.navbar-main .dropdown-menu>li>a:hover::before{transform:scaleY(1)}
.navbar-main .dropdown-menu>li.nav-divider{display:none}

a.login-btn,a.sign-up-btn{
    display:inline-block;padding:10px 26px!important;border-radius:var(--r-pill)!important;
    font-weight:700;font-size:14px;line-height:1.4;transition:all .25s;
    margin:12px 0;letter-spacing:.01em;
}
/* ï¿½ang kï¿½: nï¿½t vi?n trong su?t, hover d? n?n gradient m?m + nh?c bï¿½ng */
a.sign-up-btn{
    background:transparent!important;color:var(--sky-700)!important;
    border:1.5px solid var(--sky-300)!important;
}
a.sign-up-btn:hover{
    background:linear-gradient(120deg,var(--sky-50),rgba(34,211,238,.18))!important;
    border-color:var(--sky-500)!important;color:var(--sky-800)!important;
    transform:translateY(-2px);box-shadow:0 8px 18px rgba(14,165,233,.20);
}
/* ï¿½ang nh?p: nï¿½t gradient d?c + bï¿½ng phï¿½t sï¿½ng + shine sweep */
a.login-btn{
    background:var(--grad)!important;color:#fff!important;border:none!important;
    box-shadow:0 8px 20px rgba(14,165,233,.35);
    position:relative;overflow:hidden;margin-left:6px;
}
a.login-btn:hover{box-shadow:0 12px 30px rgba(14,165,233,.5);transform:translateY(-2px);color:#fff!important}
/* V?t sï¿½ng lu?t ngang nï¿½t khi hover */
a.login-btn::after{
    content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
    transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;
}
a.login-btn:hover::after{left:130%}

.navbar-toggle{border:1.5px solid var(--sky-200);border-radius:10px;margin-top:17px}
.navbar-toggle .icon-bar{background:var(--sky-600)}

/* OVERRIDE mï¿½u xanh lï¿½ cu c?a theme (custom.css) cho toï¿½n b? head */
.navbar-main .navbar-nav>li>a:hover,
.navbar-main .navbar-nav>li>a:focus,
.navbar-main .navbar-nav>.active>a,
.navbar-main .navbar-nav>.active>a:hover,
.navbar-main .navbar-nav>.active>a:focus,
.navbar-main .navbar-nav>.open>a,
.navbar-main .navbar-nav>.open>a:hover,
.navbar-main .navbar-nav>.open>a:focus{
    color:var(--sky-700)!important;
    background-color:transparent!important;
    opacity:1;
}
.navbar-main .navbar-nav .dropdown-menu>li>a:hover,
.navbar-main .navbar-nav .dropdown-menu>li>a:focus{color:var(--sky-700)!important}
.navbar-nav>li>.dropdown-menu,.navbar-nav .open .dropdown-menu{border-top:2px solid var(--sky-500)}
.navbar-main .navbar-toggle span{background-color:var(--sky-600)!important}
a.login-btn:hover{color:#fff!important;border-color:var(--sky-400)}
@media (max-width:767px){
    .navbar-main .navbar-nav .open .dropdown-menu>li>a:hover{color:var(--sky-700)!important}
}

/* Icon gi? hï¿½ng / chuï¿½ng: n?y xoay khi hover, chuï¿½ng rung */
.secondary-nav .primary-action>a i,
.secondary-nav>li>a i{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .25s}
.secondary-nav .primary-action>a:hover i,
.secondary-nav>li>a:hover i{transform:scale(1.25) rotate(-10deg);color:var(--sky-600)}
.secondary-nav a.notification:hover i{animation:svBell .6s ease}
@keyframes svBell{
    0%,100%{transform:rotate(0)}
    25%{transform:rotate(16deg)}
    55%{transform:rotate(-12deg)}
    80%{transform:rotate(6deg)}
}

/* ============================ HERO ============================ */
.sv-hero{
    position:relative;overflow:hidden;
    padding:110px 0 130px;
    background:
        radial-gradient(1000px 520px at 88% -14%,rgba(34,211,238,.28),transparent 62%),
        radial-gradient(820px 460px at -6% 112%,rgba(14,165,233,.30),transparent 60%),
        var(--grad-dark);
}
.sv-hero-grid{
    position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(148,197,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(148,197,255,.07) 1px,transparent 1px);
    background-size:46px 46px;
    -webkit-mask-image:radial-gradient(ellipse at 50% 38%,#000 28%,transparent 76%);
    mask-image:radial-gradient(ellipse at 50% 38%,#000 28%,transparent 76%);
}
.sv-hero-orb{
    position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;
}
.sv-hero-orb-1{width:420px;height:420px;background:#0ea5e9;top:-140px;right:-90px}
.sv-hero-orb-2{width:340px;height:340px;background:#22d3ee;bottom:-150px;left:-80px;opacity:.32}

.sv-hero .container{position:relative;z-index:2}

.sv-hero-content h1{
    color:#fff;font-size:46px;line-height:1.16;font-weight:800;
    margin:18px 0 20px;
    text-shadow:0 4px 30px rgba(2,44,90,.45);
}
.sv-grad-text{
    background:linear-gradient(90deg,#7dd3fc,#22d3ee 60%,#38bdf8);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
}
.sv-hero-sub{color:rgba(224,242,254,.82);font-size:16.5px;line-height:1.8;max-width:530px;margin:0 auto 30px}

/* Kicker: van b?n thu?n + hi?u ?ng ch? shimmer, khï¿½ng n?n nhï¿½n */
.sv-hero-kicker{
    display:inline-flex;align-items:center;gap:10px;
    margin-bottom:6px;
}
.sv-kicker-text{
    font-size:13px;font-weight:600;letter-spacing:.02em;
    background:linear-gradient(90deg,#bae6fd 0%,#e0f2fe 25%,#22d3ee 50%,#e0f2fe 75%,#bae6fd 100%);
    background-size:200% auto;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    animation:svTextShine 3.5s linear infinite;
}
@keyframes svTextShine{to{background-position:200% center}}
.sv-badge-dot{
    width:8px;height:8px;border-radius:50%;background:#34d399;
    box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:svPulse 2s infinite;
}
@keyframes svPulse{
    0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}
    70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}
    100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}
}

.sv-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}

.sv-hero-trust{display:flex;gap:22px;flex-wrap:wrap}
.sv-hero-trust span{
    display:inline-flex;align-items:center;gap:8px;
    color:rgba(224,242,254,.75);font-size:13.5px;font-weight:600;
}
.sv-hero-trust i{color:var(--cyan)}

/* Terminal card */
.sv-hero-visual{position:relative;max-width:520px;margin:0 auto}
.sv-term{
    background:rgba(8,21,48,.82);
    border:1px solid rgba(125,211,252,.28);
    border-radius:18px;
    box-shadow:0 40px 90px rgba(2,20,50,.55),inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter:blur(10px);
    overflow:hidden;
    transition:transform .15s ease;
    will-change:transform;
}
.sv-term-head{
    display:flex;align-items:center;gap:7px;
    padding:13px 18px;background:rgba(255,255,255,.04);
    border-bottom:1px solid rgba(125,211,252,.16);
}
.sv-term-head span{width:11px;height:11px;border-radius:50%}
.sv-term-head span:nth-child(1){background:#ff5f57}
.sv-term-head span:nth-child(2){background:#febc2e}
.sv-term-head span:nth-child(3){background:#28c840}
.sv-term-head em{margin-left:10px;font-style:normal;font-size:12px;color:rgba(186,230,253,.6);font-weight:600}
.sv-term-body{
    padding:22px 24px;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;
    font-size:13.5px;line-height:2;
}
.sv-term-body p{margin:0;color:#dbeafe;font-family:inherit;font-size:inherit;line-height:inherit}
.sv-term-prompt{color:var(--cyan);margin-right:8px;font-weight:700}
.sv-term-ok i{color:#34d399;margin-right:8px}
.sv-term-ok b{color:#34d399}
.sv-term-done{margin-top:8px;color:#fff}
.sv-term-done b{color:var(--cyan)}
.sv-term-done .sv-caret{
    display:inline-block;width:8px;height:15px;background:var(--cyan);
    vertical-align:middle;margin-left:4px;animation:svBlink 1s steps(2) infinite;
}
@keyframes svBlink{50%{opacity:0}}

.sv-hero-float{
    position:absolute;
    display:inline-flex;align-items:center;gap:9px;
    padding:11px 18px;border-radius:14px;
    background:rgba(255,255,255,.95);
    color:var(--ink);font-size:13px;font-weight:700;
    box-shadow:var(--sh-md);
    animation:svFloat 5.5s ease-in-out infinite;
}
.sv-hero-float i{color:var(--sky-500)}
.sv-float-1{top:-22px;left:-26px}
.sv-float-2{bottom:-20px;right:-14px;animation-delay:1.6s}
@keyframes svFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.sv-hero-scroll{
    position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
    width:26px;height:42px;border:2px solid rgba(186,230,253,.5);border-radius:14px;
    z-index:3;
}
.sv-hero-scroll span{
    position:absolute;left:50%;top:8px;transform:translateX(-50%);
    width:4px;height:8px;border-radius:4px;background:var(--sky-300);
    animation:svScrollDot 1.8s infinite;
}
@keyframes svScrollDot{
    0%{opacity:1;top:8px}
    70%{opacity:0;top:22px}
    100%{opacity:0;top:8px}
}

/* ============================ BUTTONS ============================ */
.sv-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    padding:13px 30px;border-radius:var(--r-pill);
    font-weight:700;font-size:15px;line-height:1.4;
    border:none;cursor:pointer;transition:all .25s ease;
    text-decoration:none!important;
}
.sv-btn i{transition:transform .25s}
.sv-btn:hover i.fa-arrow-right{transform:translateX(4px)}

.sv-btn-primary{
    background:var(--grad);color:#fff!important;
    box-shadow:0 10px 26px rgba(14,165,233,.42);
}
.sv-btn-primary:hover{
    transform:translateY(-3px);color:#fff!important;
    box-shadow:0 16px 38px rgba(14,165,233,.55);
}
.sv-btn-outline{
    background:transparent;color:var(--sky-600)!important;
    border:1.5px solid var(--sky-400);
}
.sv-btn-outline:hover{
    background:var(--grad);border-color:transparent;color:#fff!important;
    transform:translateY(-3px);box-shadow:0 12px 30px rgba(14,165,233,.4);
}
.sv-btn-ghost{
    background:rgba(255,255,255,.10);color:#e0f2fe!important;
    border:1px solid rgba(186,230,253,.35);
}
.sv-btn-ghost:hover{background:rgba(255,255,255,.2);color:#fff!important;transform:translateY(-2px)}
.sv-btn-light{
    background:#fff;color:var(--sky-700)!important;
    box-shadow:0 14px 34px rgba(2,20,50,.35);
}
.sv-btn-light:hover{transform:translateY(-3px) scale(1.02);color:var(--sky-800)!important}
.sv-btn-lg{padding:16px 40px;font-size:16px}
.sv-btn-block{display:flex;width:100%}

/* Nï¿½t WHMCS g?c */
.btn{border-radius:var(--r-sm);font-weight:600;transition:all .22s}
.btn:focus{outline:none!important;box-shadow:none!important}
.btn-primary,.btn.btn-primary{
    background:var(--grad);border:none;color:#fff;
    box-shadow:0 8px 18px rgba(14,165,233,.3);
}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{
    background:linear-gradient(135deg,var(--sky-400),var(--sky-600));
    color:#fff;transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(14,165,233,.42);
}
.btn.btn-primary-solid,.btn.primary-solid-btn,input.primary-solid-btn{
    background:var(--grad)!important;border:none!important;color:#fff!important;
    border-radius:var(--r-sm);font-weight:700;padding:11px 30px;
    box-shadow:0 8px 18px rgba(14,165,233,.32);transition:all .22s;
}
.btn.btn-primary-solid:hover,input.primary-solid-btn:hover{
    transform:translateY(-2px);box-shadow:0 12px 28px rgba(14,165,233,.46);
}
.btn-default{background:#fff;border:1.5px solid var(--line);color:#33415c}
.btn-default:hover{border-color:var(--sky-300);color:var(--sky-700);background:var(--sky-50)}
.btn-success{background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 8px 18px rgba(16,185,129,.3)}
.btn-danger{background:linear-gradient(135deg,#f43f5e,#e11d48);border:none;box-shadow:0 8px 18px rgba(225,29,72,.28)}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff}
.btn-info{background:var(--grad-soft);border:none}

/* ============================ STATS ============================ */
.sv-stats{
    position:relative;z-index:5;margin-top:-52px;
    padding-bottom:10px;
}
.sv-stats .row{
    background:#fff;border-radius:var(--r-lg);
    box-shadow:var(--sh-lg);
    border:1px solid #eef4fb;
    padding:40px 20px;
    position:relative;overflow:hidden;
}
/* V?t sï¿½ng quï¿½t ngang khi kh?i xu?t hi?n */
.sv-stats .row::after{
    content:"";position:absolute;top:0;bottom:0;left:-80%;width:45%;
    background:linear-gradient(105deg,transparent,rgba(56,189,248,.14) 45%,rgba(34,211,238,.22) 50%,rgba(56,189,248,.14) 55%,transparent);
    transform:skewX(-18deg);
    pointer-events:none;
}
.sv-stats .row.sv-revealed::after{animation:svShine 1.4s .35s ease forwards}
@keyframes svShine{to{left:130%}}

.sv-stat{
    text-align:center;padding:12px 0;
    transition:transform .3s ease;
}
.sv-stat:hover{transform:translateY(-6px)}

.sv-stat-icon{
    width:52px;height:52px;margin:0 auto 14px;
    border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;color:var(--sky-600);
    background:var(--sky-100);
    border:1px solid var(--sky-200);
    transition:all .35s cubic-bezier(.34,1.56,.64,1);
}
.sv-stat:hover .sv-stat-icon{
    background:var(--grad);color:#fff;border-color:transparent;
    transform:scale(1.12) rotate(-6deg);
    box-shadow:0 10px 24px rgba(14,165,233,.4);
}

.sv-stat-num{
    font-size:38px;font-weight:800;line-height:1;
    background:linear-gradient(90deg,var(--sky-600),var(--cyan));
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    margin-bottom:8px;
    display:inline-block;
}
/* Pop nh? khi counter ch?y xong */
.sv-stat-num.sv-pop{animation:svPop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes svPop{
    0%{transform:scale(1)}
    40%{transform:scale(1.18)}
    100%{transform:scale(1)}
}

.sv-stat-label{color:var(--muted);font-size:13.5px;font-weight:600;transition:color .25s}
.sv-stat:hover .sv-stat-label{color:var(--sky-700)}

/* ï¿½u?ng k? ngan cï¿½ch gi?a cï¿½c stat trï¿½n desktop */
@media(min-width:768px){
    .sv-stat + .sv-stat{border-left:1px solid var(--line)}
}

/* ============================ FEATURES ============================ */
.sv-features{padding:100px 0 70px}
/* S?a l?i float Bootstrap 3: card l?ch hï¿½ng khi chi?u cao khï¿½ng d?u */
.sv-features .row,.sv-pricing .row{display:flex;flex-wrap:wrap}
.sv-features .row>[class*="col-"],.sv-pricing .row>[class*="col-"]{display:flex;padding-bottom:30px}
.sv-feature-card,.sv-price-card{width:100%;margin-bottom:0}
.sv-section-head{width:100%}
.sv-features .sv-section-head,.sv-pricing .sv-section-head{margin-bottom:18px}
.sv-pricing-more{justify-content:center;padding-bottom:0!important}
/* Row dï¿½ng flex nï¿½n c?t col-md-* m?t width du?i md -> ph?i set l?i d? can gi?a */
@media(max-width:991px){
    .sv-features .row>.col-md-8,.sv-pricing .row>.col-md-8{width:100%}
}
@media(max-width:767px){
    .sv-features .row>[class*="col-"],.sv-pricing .row>[class*="col-"]{width:100%}
}
.sv-feature-card{
    background:var(--card);border:1px solid var(--line);
    border-radius:var(--r-lg);padding:34px 28px;
    height:100%;
    box-shadow:var(--sh-sm);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
    position:relative;overflow:hidden;
}
.sv-feature-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--grad-soft);opacity:0;transition:opacity .3s;
}
.sv-feature-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--sh-md);
    border-color:var(--sky-300);
}
.sv-feature-card:hover::before{opacity:1}
.sv-feature-icon{
    width:60px;height:60px;border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    font-size:24px;color:#fff;
    background:var(--grad);
    box-shadow:0 10px 24px rgba(14,165,233,.35);
    margin-bottom:20px;
    transition:transform .3s;
}
.sv-feature-card:hover .sv-feature-icon{transform:scale(1.08) rotate(-4deg)}
.sv-feature-card h4{font-size:17px;font-weight:700;margin:0 0 10px}
.sv-feature-card p{font-size:14px;margin:0;color:var(--muted)}

/* ============================ PRICING ============================ */
.sv-pricing{
    padding:90px 0 100px;
    background:
        radial-gradient(700px 340px at 92% 6%,rgba(186,230,253,.5),transparent 60%),
        radial-gradient(600px 300px at 4% 96%,rgba(224,242,254,.6),transparent 60%),
        #eef6fd;
}
.sv-price-card{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--r-lg);padding:38px 30px 34px;
    height:100%;position:relative;
    box-shadow:var(--sh-sm);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
    display:flex;flex-direction:column;
}
.sv-price-card:hover{
    transform:translateY(-10px);
    box-shadow:var(--sh-lg);
    border-color:var(--sky-300);
}
.sv-price-featured{
    border:2px solid var(--sky-400);
    box-shadow:0 24px 60px rgba(14,165,233,.22);
    transform:scale(1.03);
}
.sv-price-featured:hover{transform:scale(1.03) translateY(-10px)}
.sv-price-popular{
    position:absolute;top:-14px;left:50%;transform:translateX(-50%);
    padding:7px 20px;border-radius:var(--r-pill);
    background:var(--grad);color:#fff;
    font-size:12.5px;font-weight:700;white-space:nowrap;
    box-shadow:0 8px 20px rgba(14,165,233,.4);
}
/* Head card sản phẩm: icon + (tên gói + mô tả) trên 1 hàng ngang, căn trái */
.sv-price-head{display:flex;align-items:center;justify-content:flex-start;gap:14px;text-align:left}
.sv-price-icon{
    width:52px;height:52px;flex:0 0 52px;border-radius:15px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#0284c7 0%,#0ea5e9 60%,#38bdf8 100%);
    border:none;
    color:#fff;font-size:22px;
    box-shadow:0 8px 20px rgba(14,165,233,.30);
    transition:transform .3s ease,box-shadow .3s ease;
}
.sv-price-card:hover .sv-price-icon{
    transform:scale(1.08);
    box-shadow:0 12px 28px rgba(14,165,233,.45);
}
.sv-price-info{min-width:0}
.sv-price-head h4{font-size:18.5px;font-weight:800;margin:0 0 3px;min-height:0;line-height:1.25}
.sv-price-head p{font-size:14px;color:var(--muted);margin:0;line-height:1.35}
.sv-price-head .sv-price-os{display:block;font-size:13.5px;color:var(--muted);line-height:1.35}
.sv-price-amount{margin:16px 0 6px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.sv-price-value{font-size:25px;font-weight:800;color:var(--sky-700)}
.sv-price-cycle{color:var(--muted);font-size:13px;font-weight:600}
.sv-price-specs{list-style:none;padding:14px 0 18px;margin:12px 0 0;border-top:1px dashed var(--line);flex:1}
.sv-price-specs li{
    padding:6px 0;color:var(--body);font-size:13px;
    display:flex;align-items:baseline;gap:8px;
}
.sv-price-specs li i{color:var(--sky-500);width:16px;text-align:center}
.sv-price-specs li b{color:var(--ink);margin-left:auto;text-align:right}
.sv-pricing-more{margin-top:14px}
.sv-pricing .sv-btn-ghost{color:var(--sky-700)!important;border-color:var(--sky-300);background:var(--sky-50)}
.sv-pricing .sv-btn-ghost:hover{background:var(--grad);color:#fff!important;border-color:transparent}

/* ============================ CTA ============================ */
.sv-cta{
    position:relative;overflow:hidden;
    padding:96px 0;
    background:var(--grad-dark);
}
.sv-cta-glow{
    position:absolute;width:560px;height:560px;border-radius:50%;
    background:radial-gradient(circle,rgba(34,211,238,.3),transparent 65%);
    top:-200px;right:-120px;filter:blur(10px);pointer-events:none;
}
.sv-cta .container{position:relative;z-index:2}
.sv-cta-content h2{color:#fff;font-size:34px;font-weight:800;margin:0 0 12px}
.sv-cta-content p{color:rgba(224,242,254,.8);font-size:16px;margin:0 0 22px}
.sv-cta-contacts{display:flex;gap:14px;flex-wrap:wrap}
.sv-cta-contacts a{
    display:inline-flex;align-items:center;gap:9px;
    padding:10px 20px;border-radius:var(--r-pill);
    background:rgba(255,255,255,.08);border:1px solid rgba(186,230,253,.28);
    color:#e0f2fe;font-weight:600;font-size:14px;transition:all .2s;
}
.sv-cta-contacts a:hover{background:rgba(255,255,255,.16);color:#fff;transform:translateY(-2px)}
.sv-cta-contacts a i{color:var(--cyan)}
.sv-cta-action{display:flex;justify-content:center;align-items:center;height:100%}

/* ============================ FOOTER ============================ */
footer.footer-section .footer-top.gradient-bg{
    background:
        radial-gradient(700px 300px at 90% 0%,rgba(14,165,233,.16),transparent 60%),
        var(--grad-dark)!important;
    padding:66px 0 44px;
}
/* S?a footer l?ch: flex + width d?y d? du?i md */
footer.footer-section .footer-top .container>.row{display:flex;flex-wrap:wrap}
footer.footer-section .footer-top-wrap{display:flex;flex-wrap:wrap}
@media(max-width:991px){
    footer.footer-section .footer-top .container>.row>[class*="col-"]{width:100%}
}
.footer-nav-wrap h2{color:#fff;font-weight:800}
/* ============================ LOGO ============================ */
.sv-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none!important}
.sv-logo-mark{
    width:40px;height:40px;
    filter:drop-shadow(0 4px 10px rgba(14,165,233,.35));
    transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.sv-logo:hover .sv-logo-mark{transform:rotate(-8deg) scale(1.1)}
/* Ch? 2 dï¿½ng cï¿½ch di?u: dï¿½ng 1 nh?, dï¿½ng 2 l?n mï¿½u nh?n */
.sv-logo-text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05;font-family:'Be Vietnam Pro','Inter','Roboto',-apple-system,'Segoe UI',Arial,sans-serif}
.sv-logo-line1,.sv-logo-line2{font-family:'Be Vietnam Pro','Inter','Roboto',-apple-system,'Segoe UI',Arial,sans-serif}
.sv-logo-line1{font-size:13px;font-weight:800;letter-spacing:.02em}
.sv-logo-line2{font-size:34px;font-weight:800;letter-spacing:.02em;line-height:1;margin-top:-3px}
/* Dï¿½ng 1 gi? mï¿½u riï¿½ng theo n?n cho d? d?c */
.sv-logo-dark .sv-logo-line1{color:#0f2b46}
.sv-logo-light .sv-logo-line1{color:#e0f2fe}
/* Dï¿½ng VPS: head gi?ng foot ï¿½ gradient mï¿½u chuy?n d?ng */
.sv-logo-line2{
    background:linear-gradient(90deg,#38bdf8,#22d3ee,#e0f2fe,#0ea5e9,#67e8f9,#38bdf8);
    background-size:300% auto;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    animation:svBrandColor 5s linear infinite;
}
@keyframes svBrandColor{to{background-position:300% center}}
/* Logo trong footer to hon */
.sv-footer-logo{margin:0 0 14px}
.sv-footer-logo .sv-logo-mark{width:48px;height:48px}
.sv-footer-logo .sv-logo-line1{font-size:15px}
.sv-footer-logo .sv-logo-line2{font-size:39px}
.sv-brand-desc{
    font-size:13.5px;line-height:1.8;color:rgba(224,242,254,.62)!important;
    max-width:340px;margin:0;
}
.footer-nav-wrap h4{color:#fff;font-weight:700}
.footer-nav-wrap p{color:rgba(224,242,254,.7)!important}
.footer-nav-wrap .nav-link,.footer-nav-wrap ul li{color:rgba(224,242,254,.76)}
.footer-nav-wrap .nav-link{
    padding:6px 0;display:inline-block;position:relative;width:fit-content;
    transition:color .22s ease,transform .22s ease;
}
.footer-nav-wrap .nav-link::after{
    content:"";position:absolute;left:0;bottom:2px;height:1.5px;width:100%;
    background:linear-gradient(90deg,var(--sky-400),var(--sky-300));
    transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
    border-radius:2px;
}
.footer-nav-wrap .nav-link:hover,.footer-nav-wrap .nav>li>a:hover,.footer-nav-wrap .nav>li>a:focus{
    color:var(--sky-300)!important;transform:translateX(4px);
    background:transparent!important;box-shadow:none!important;
}
.footer-nav-wrap .nav-link:hover::after{transform:scaleX(1)}
.footer-nav-wrap .elementor-icon-list-text{color:rgba(224,242,254,.76)}
.footer-nav-wrap .elementor-icon-list-icon i{color:var(--sky-400)}
footer.footer-section .footer-bottom{
    background:#030914;color:rgba(224,242,254,.55);
    padding:16px 0;font-size:13px;
}
footer.footer-section .footer-bottom a{color:var(--sky-300)}

/* ============================ PAGE HEADER (clientarea) ============================ */
section.page-header-section{
    position:relative;overflow:hidden;padding:52px 0 44px;
    background:
        radial-gradient(700px 300px at 90% -20%,rgba(34,211,238,.24),transparent 60%),
        var(--grad-dark);
}
section.page-header-section::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(148,197,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(148,197,255,.05) 1px,transparent 1px);
    background-size:40px 40px;
}
section.page-header-section .container{position:relative;z-index:2}
section.page-header-section .page-header-content h1{color:#fff!important;font-weight:800;margin:0}
section.page-header-section .page-header-content p{color:rgba(224,242,254,.8);margin:6px 0 0}
.custom-breadcrumb ol{margin:10px 0 0}
.custom-breadcrumb .breadcrumb-item{color:rgba(224,242,254,.62);font-size:13.5px;font-weight:500}
.custom-breadcrumb .breadcrumb-item a{color:rgba(224,242,254,.85)}
.custom-breadcrumb .breadcrumb-item a:hover{color:var(--cyan)}
.custom-breadcrumb .breadcrumb-item.active{color:var(--cyan)}
.custom-breadcrumb .breadcrumb-item i{color:rgba(148,197,255,.5);margin:0 4px}

#main-body{background:var(--bg)}
/* Thu háº¹p khoáº£ng cÃ¡ch banner -> ná»™i dung trÃªn má»i trang (custom.css Ä‘á»ƒ 60px/36px gÃ¢y há»Ÿ lá»›n) */
section#main-body{padding:24px 0 40px}
#main-body>.container{padding-top:20px;padding-bottom:28px}

/* ============================ DASHBOARD ============================ */
.tiles.client-dashboard-wrap{
    background:var(--card);border:1px solid var(--line);
    border-radius:var(--r-lg);box-shadow:var(--sh-sm);
    padding:22px;margin-bottom:26px;
}
.client-dashboard-single{
    display:flex;align-items:center;gap:16px;padding:16px;
    border-radius:var(--r-md);transition:all .22s;
}
.client-dashboard-single:hover{background:var(--sky-50);text-decoration:none;transform:translateY(-2px)}
.client-dashboard-single>i{
    display:inline-flex;align-items:center;justify-content:center;
    width:56px;height:56px;flex:0 0 56px;border-radius:16px;
    font-size:22px;color:#fff;background:var(--grad);
    box-shadow:0 8px 18px rgba(14,165,233,.3);
}
.client-dashboard-single .icon-title-wrap h2{font-size:24px;font-weight:800;margin:0;color:var(--ink)}
.client-dashboard-single .icon-title-wrap h5{margin:2px 0 0;font-size:13px;font-weight:600;color:var(--muted)}

/* Panels */
.panel,.panel.custom-panel-box{
    border:1px solid var(--line);border-radius:var(--r-md);
    box-shadow:var(--sh-sm);background:var(--card);overflow:hidden;
}
.panel-heading,.panel .panel-heading{
    background:linear-gradient(90deg,var(--sky-50),#fff);
    border-bottom:1px solid #eaf2fa;padding:16px 20px;
}
.panel-title{font-weight:700;font-size:16px;color:var(--ink)}
.panel-footer,.custom-panel-footer{background:#fbfdff;border-top:1px solid var(--line)}

/* Alerts */
.alert{border-radius:12px;border:1px solid transparent;box-shadow:var(--sh-sm)}
.alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.alert-danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.alert-info{background:var(--sky-50);border-color:var(--sky-200);color:var(--sky-900)}
/* Nút xem hóa đơn khi quá hạn (khóa thanh toán) */
.sv-invoice-locked-btn{background:#e11d48!important;border-color:#e11d48!important;color:#fff!important}
.sv-invoice-locked-btn:hover{background:#be123c!important;border-color:#be123c!important}

/* Tables */
.table>thead>tr>th{
    background:var(--sky-50);color:var(--sky-900);font-weight:700;
    border-bottom:2px solid var(--sky-200)!important;
}
.table>tbody>tr>td{vertical-align:middle;border-color:#edf3fa}
.table-striped>tbody>tr:nth-of-type(odd){background:#fbfdff}
.table-hover>tbody>tr:hover{background:var(--sky-50)}

.label,.badge{border-radius:8px;font-weight:600;padding:5px 10px}
.label-success{background:#d1fae5;color:#065f46}
.label-danger{background:#ffe4e6;color:#9f1239}
.label-warning{background:#fef3c7;color:#92400e}
.label-info,.label-active{background:var(--sky-100);color:var(--sky-800)}

/* Pagination */
.pagination>li>a,.pagination>li>span{
    border-radius:10px!important;margin:0 3px;
    border:1.5px solid var(--line);color:var(--body);font-weight:600;
}
.pagination>.active>a,.pagination>.active>span{
    background:var(--grad);border-color:transparent;
    box-shadow:0 6px 14px rgba(14,165,233,.35);
}
.pagination>li>a:hover{border-color:var(--sky-400);color:var(--sky-700);background:var(--sky-50)}

/* Sidebar */
.sidebar .panel{border-radius:var(--r-md);margin-bottom:22px}
.sidebar .panel-heading{background:var(--grad)!important;border:none}
.sidebar .panel-heading .panel-title,.sidebar .panel-heading h3,.sidebar .panel-heading a{color:#fff!important;font-weight:700}
.sidebar .list-group{margin-bottom:0}
.sidebar .list-group-item{
    border:none;border-bottom:1px solid #eef3fa;background:transparent;
    padding:11px 20px;font-weight:500;color:#40506a;transition:all .18s;
}
.sidebar .list-group-item:last-child{border-bottom:none}
.sidebar .list-group-item:hover{background:var(--sky-50);color:var(--sky-700);padding-left:26px}
.sidebar .list-group-item.active,.sidebar .list-group-item.active:hover,.sidebar .list-group-item.active:focus{
    background:var(--sky-50);color:var(--sky-700);font-weight:700;
    border-left:3px solid var(--sky-500);
}
.sidebar .list-group-item i{color:var(--sky-500);width:22px}

/* Forms */
.form-control{
    border-radius:var(--r-sm);border:1.5px solid #dbe6f2;background:#fbfdff;
    color:var(--ink);box-shadow:none;padding:9px 14px;transition:all .2s;
}
.form-control:focus{border-color:var(--sky-500);background:#fff;box-shadow:0 0 0 4px rgba(14,165,233,.14);outline:none}
label{font-weight:600;color:#33415c}
.input-group-addon{background:var(--sky-50);border:1.5px solid #dbe6f2;color:var(--sky-700);border-radius:var(--r-sm)}

/* Tabs / well / misc */
.nav-tabs{border-bottom:2px solid var(--line)}
.nav-tabs>li>a{
    border:none!important;border-radius:10px 10px 0 0;color:var(--muted);
    font-weight:600;padding:12px 20px;transition:all .18s;
}
.nav-tabs>li>a:hover{background:var(--sky-50);color:var(--sky-700)}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{
    background:#fff;color:var(--sky-700);border:none!important;
    border-bottom:3px solid var(--sky-500)!important;font-weight:700;
}
.tab-content{
    background:var(--card);border:1px solid var(--line);border-top:none;
    border-radius:0 0 var(--r-md) var(--r-md);padding:24px;
}
.well{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm)}
.header-lined{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:22px}
.header-lined h1,.header-lined h2,.header-lined h3{font-weight:800}
.breadcrumb{background:transparent;padding:0}
.breadcrumb>li a{color:var(--sky-600);font-weight:600}

/* Announcements / KB cards */
.announcement-single.home-news{
    background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
    padding:26px;height:100%;box-shadow:var(--sh-sm);transition:all .25s;
}
.announcement-single.home-news:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--sky-300)}
.announcement-single .article-heading h3 a{color:var(--ink);font-weight:700}
.announcement-single .article-heading h3 a:hover{color:var(--sky-600)}
.article-items{color:var(--muted);font-size:13px;margin-bottom:10px}
.article-items i{color:var(--sky-500)}
.border-shape{display:none}
.detail-link{font-weight:700;color:var(--sky-600)}
.detail-link span{transition:transform .2s}
.detail-link:hover span{transform:translateX(4px)}
.section-heading-center h2{font-weight:800;position:relative;padding-bottom:14px}
.section-heading-center h2::after{
    content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
    width:64px;height:4px;border-radius:4px;background:var(--grad-soft);
}

/* ============================ RESPONSIVE ============================ */
@media(max-width:991px){
    .sv-hero{padding:70px 0 110px;text-align:center}
    .sv-hero-content h1{font-size:32px}
    .sv-hero-actions,.sv-hero-trust{justify-content:center}
    .sv-hero-visual{margin-top:50px}
    .sv-float-1{left:-8px}
    .sv-float-2{right:-4px}

    .navbar-nav>li>a{padding:12px 16px}
    .navbar-nav>li>a::after{display:none}
    header.header-main-menu .navbar-collapse{
        background:#fff;border-top:1px solid var(--line);
        box-shadow:0 14px 30px rgba(15,23,42,.1);max-height:70vh;
    }
    .secondary-nav a.login-btn,.secondary-nav a.sign-up-btn{margin:6px 16px;text-align:center}

    .sv-stats .row{padding:24px 10px}
    .sv-stat-num{font-size:28px}
    .sv-section-head h2{font-size:26px}
    .sv-cta-content h2{font-size:26px;margin-bottom:20px}
    .sv-cta-action{margin-top:30px}
    .sv-price-featured{transform:none}
    .sv-price-featured:hover{transform:translateY(-10px)}
}
@media(max-width:575px){
    .sv-hero-content h1{font-size:26px}
    .sv-term-body{font-size:11.5px;padding:16px}
    .sv-hero-float{display:none}
}
@media(max-width:1199px) and (min-width:992px){
    .sv-price-head h4{font-size:17px}
    .sv-price-value{font-size:23px}
}

/* Gi?m hi?u ?ng khi ngu?i dï¿½ng yï¿½u c?u */

/* =====================================================================
   SV-SKY HEADER M?I (markup riï¿½ng, responsive mobile / tablet / desktop)
   ===================================================================== */
.sv-header{
    position:sticky;top:0;z-index:1030;
    background:rgba(255,255,255,.88);
    backdrop-filter:saturate(180%) blur(14px);
    -webkit-backdrop-filter:saturate(180%) blur(14px);
    border-bottom:1px solid rgba(228,237,247,.8);
    transition:box-shadow .3s,background .3s,transform .35s ease;
}
.sv-header.sv-scrolled{background:rgba(255,255,255,.96);box-shadow:0 6px 24px rgba(8,47,96,.10)}
.sv-header.sv-hidden{transform:translateY(-100%)}
.sv-header-inner{
    max-width:1200px;margin:0 auto;
    display:flex;align-items:center;gap:18px;
    padding:0 20px;height:68px;
}
/* Logo trong head + drawer */
/* Logo trong header/drawer: gi?ng h?t logo footer, thu nh? t? l? cho v?a header */
a.sv-header-logo,a.sv-drawer-logo{
    display:flex;align-items:center;gap:11px;text-decoration:none;
    flex-shrink:0;white-space:nowrap;
}
.sv-header .sv-logo-mark,.sv-drawer .sv-logo-mark{width:38px;height:38px;flex-shrink:0}
.sv-header-logo .sv-logo-mark,.sv-drawer-logo .sv-logo-mark{width:38px;height:38px}
.sv-header-logo .sv-logo-line1,.sv-drawer-logo .sv-logo-line1{font-size:12px}
.sv-header-logo .sv-logo-line2,.sv-drawer-logo .sv-logo-line2{font-size:26px}
/* Nav desktop */
.sv-nav{flex:1;display:flex;justify-content:center;min-width:0}
.sv-nav-list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.sv-nav-item{position:relative}
.sv-nav-link{
    display:inline-flex;align-items:center;gap:7px;
    padding:9px 16px;border:none;background:transparent;border-radius:var(--r-pill);
    font-family:var(--f-sans);font-weight:600;font-size:15px;color:var(--ink-2);
    cursor:pointer;position:relative;transition:color .25s,transform .25s;
    white-space:nowrap;text-decoration:none;
}
.sv-nav-link::before{
    content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;
    background:linear-gradient(120deg,rgba(14,165,233,.10),rgba(34,211,238,.18));
    box-shadow:inset 0 0 0 1px rgba(14,165,233,.16);
    transform:scaleX(.4);opacity:0;transition:transform .3s ease,opacity .3s ease;
}
.sv-nav-link:hover,.sv-nav-item.sv-open>.sv-nav-link{color:var(--sky-700);transform:translateY(-1px)}
.sv-nav-link:hover::before,.sv-nav-item.sv-open>.sv-nav-link::before{transform:scaleX(1);opacity:1}

/* ---- Dropdown "Quản lý" (VPS/Proxy) — chỉ hiện khi đã đăng nhập ---- */
.sv-nav-caret{font-size:10px;opacity:.7;transition:transform .25s ease}
.sv-nav-sub{
    position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(6px);
    min-width:210px;margin:0;padding:8px;list-style:none;
    background:#fff;border:1px solid rgba(14,165,233,.16);border-radius:12px;
    box-shadow:0 12px 32px rgba(2,32,71,.14);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
    z-index:1040;
}
/* Cầu nối vô hình để không bị mất hover khi di chuột xuống sub */
.sv-nav-sub::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.sv-nav-has-sub:hover>.sv-nav-sub,
.sv-nav-has-sub.sv-open>.sv-nav-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.sv-nav-has-sub:hover>.sv-nav-link .sv-nav-caret,
.sv-nav-has-sub.sv-open>.sv-nav-link .sv-nav-caret{transform:rotate(180deg)}
.sv-nav-sub-link{
    display:flex;align-items:center;gap:9px;
    padding:9px 12px;border-radius:8px;
    font-size:14px;font-weight:600;color:var(--ink,#0b1733);text-decoration:none;
    white-space:nowrap;transition:background .18s ease,color .18s ease;
}
.sv-nav-sub-link i{width:18px;text-align:center;color:var(--sky-700,#0284c7)}
.sv-nav-sub-link:hover{background:rgba(14,165,233,.09);color:var(--sky-700,#0284c7)}

/* Nút CTA "Nạp tiền" trên header — nổi bật với gradient cam + hiệu ứng pulse */
.sv-nav-link.sv-nav-cta{
    color:#fff!important;
    background:linear-gradient(135deg,#f59e0b,#f97316 60%,#fb923c);
    background-size:200% 100%;
    border-radius:var(--r-pill);
    padding:8px 18px!important;
    box-shadow:0 4px 14px rgba(249,115,22,.4);
    animation:svCtaShine 3s linear infinite, svCtaPulse 2.2s ease-in-out infinite;
}
.sv-nav-link.sv-nav-cta::before{display:none}
.sv-nav-link.sv-nav-cta i{color:#fff}
.sv-nav-link.sv-nav-cta:hover{
    color:#fff;transform:translateY(-2px) scale(1.04);
    box-shadow:0 8px 22px rgba(249,115,22,.55);
    background-position:100% 0;
}
@keyframes svCtaShine{0%{background-position:0% 0}100%{background-position:200% 0}}
@keyframes svCtaPulse{
    0%,100%{box-shadow:0 4px 14px rgba(249,115,22,.4),0 0 0 0 rgba(249,115,22,.45)}
    50%{box-shadow:0 4px 14px rgba(249,115,22,.4),0 0 0 8px rgba(249,115,22,0)}
}
.sv-caret{font-size:11px;transition:transform .25s}
.sv-nav-item.sv-open .sv-caret{transform:rotate(180deg)}
.sv-badge{
    background:var(--grad);color:#fff;font-size:11px;font-weight:700;
    border-radius:99px;padding:1px 7px;
}
/* Dropdown desktop */
.sv-sub-menu{
    position:absolute;top:calc(100% + 10px);left:50%;min-width:240px;
    margin:0;padding:10px;list-style:none;
    background:#fff;border:1px solid #eef4fb;border-radius:18px;
    box-shadow:var(--sh-md);
    opacity:0;visibility:hidden;
    transform:translateX(-50%) translateY(14px) scale(.97);transform-origin:top center;
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;
    z-index:1040;
}
.sv-nav-item.sv-open>.sv-sub-menu{
    opacity:1;visibility:visible;
    transform:translateX(-50%) translateY(0) scale(1);
    transition:opacity .22s ease,transform .22s ease,visibility 0s;
}
.sv-sub-divider{height:1px;margin:6px 14px;background:rgba(15,43,70,.12)}
.sv-sub-link{
    display:flex;align-items:center;gap:10px;
    padding:10px 14px;border-radius:12px;
    font-weight:500;font-size:14.5px;color:var(--ink-2);text-decoration:none;
    position:relative;overflow:hidden;
    transition:color .2s,background .2s,padding-left .2s;
}
.sv-sub-link i{color:var(--sky-500);width:18px;text-align:center}
.sv-sub-link::before{
    content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:3px;
    background:var(--grad);transform:scaleY(0);transition:transform .22s ease;
}
.sv-sub-link:hover{background:var(--sky-50);color:var(--sky-700);padding-left:20px}
.sv-sub-link:hover::before{transform:scaleY(1)}
/* Actions ph?i */
.sv-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.sv-icon-btn{
    width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
    border:none;background:var(--sky-50);border-radius:12px;color:var(--sky-700);
    font-size:16px;cursor:pointer;position:relative;text-decoration:none;
    transition:all .25s;
}
.sv-icon-btn:hover{background:var(--sky-100);color:var(--sky-600);transform:translateY(-2px);box-shadow:0 6px 14px rgba(14,165,233,.18)}
/* Nï¿½t ï¿½ang kï¿½ (outline) / ï¿½ang nh?p (solid) cho head + drawer */
a.sv-head-outline,a.sv-head-solid,button.sv-head-outline,button.sv-head-solid{

    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:10px 22px;border-radius:var(--r-pill);
    font-family:var(--f-sans);font-weight:700;font-size:14px;line-height:1.4;
    text-decoration:none;cursor:pointer;white-space:nowrap;
    transition:all .25s;
}
a.sv-head-outline{
    background:var(--sky-50)!important;color:var(--sky-700)!important;
    border:1.5px solid var(--sky-300)!important;
}
a.sv-head-outline:hover{
    background:var(--sky-100)!important;border-color:var(--sky-500)!important;
    color:var(--sky-800)!important;
    transform:translateY(-2px);box-shadow:0 8px 18px rgba(14,165,233,.20);
}
a.sv-head-solid,button.sv-head-solid{

    background:var(--grad)!important;color:#fff!important;border:none!important;
    position:relative;overflow:hidden;
    box-shadow:0 8px 20px rgba(14,165,233,.35);
}
a.sv-head-solid:hover,button.sv-head-solid:hover{color:#fff!important;box-shadow:0 12px 30px rgba(14,165,233,.5);transform:translateY(-2px)}

a.sv-head-solid::after,button.sv-head-solid::after{

    content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
    transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;
}
a.sv-head-solid:hover::after,button.sv-head-solid:hover::after{left:130%}

a.sv-head-outline.sv-btn-block,a.sv-head-solid.sv-btn-block,button.sv-head-outline.sv-btn-block,button.sv-head-solid.sv-btn-block{width:100%}
/* Burger */
.sv-burger{
    display:none;width:42px;height:42px;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    border:1.5px solid var(--sky-200);background:#fff;border-radius:12px;cursor:pointer;
    transition:all .25s;
}
.sv-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--sky-600);transition:transform .25s}
.sv-burger:hover{border-color:var(--sky-400);box-shadow:0 6px 14px rgba(14,165,233,.18)}
/* Account dropdown khi dï¿½ dang nh?p */
.sv-acct{position:relative}
.sv-acct-menu{
    position:absolute;top:calc(100% + 12px);right:0;min-width:250px;max-height:380px;overflow:auto;
    background:#fff;border:1px solid #eef4fb;border-radius:16px;box-shadow:var(--sh-md);
    padding:8px;z-index:1050;
    opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);transform-origin:top right;
    transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
}
.sv-acct.sv-open .sv-acct-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .2s ease,transform .2s ease,visibility 0s}
.sv-acct-head{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.sv-acct-head strong{display:block;font-size:14px;color:var(--ink)}
.sv-acct-head span{font-size:12.5px;color:var(--ink-3)}
.sv-acct-link{
    display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
    font-size:14px;font-weight:500;
    color:var(--ink-2);text-decoration:none;transition:all .18s;
}
.sv-acct-link i{width:16px;text-align:center;flex:0 0 auto;font-size:13.5px;color:var(--sky-500);transition:color .18s}
.sv-acct-link span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv-acct-link:hover{background:var(--sky-50);color:var(--sky-700);padding-left:16px}
.sv-acct-link:hover i{color:var(--sky-700)}
.sv-acct-logout{color:var(--danger,#dc2626)}
.sv-acct-logout i{color:var(--danger,#dc2626)}
.sv-acct-logout:hover{background:#fef2f2;color:var(--danger,#dc2626)!important}
.sv-acct-logout:hover i{color:var(--danger,#dc2626)}
/* Drawer mobile / tablet */
.sv-drawer-overlay{
    position:fixed;inset:0;z-index:1055;background:rgba(6,30,60,.45);
    backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s;
}
.sv-drawer-overlay.sv-show{opacity:1;visibility:visible;transition:opacity .3s}
.sv-drawer{
    position:fixed;top:0;right:0;bottom:0;z-index:1060;
    width:min(340px,88vw);background:#fff;display:flex;flex-direction:column;
    box-shadow:-18px 0 50px rgba(8,47,96,.25);
    transform:translateX(105%);transition:transform .35s cubic-bezier(.32,.72,.24,1);
}
.sv-drawer.sv-show{transform:translateX(0)}
.sv-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.sv-drawer-close{
    width:38px;height:38px;border:1.5px solid var(--sky-200);background:#fff;border-radius:10px;
    color:var(--sky-600);font-size:15px;cursor:pointer;transition:all .2s;
}
.sv-drawer-close:hover{background:var(--sky-50);transform:rotate(90deg)}
.sv-drawer-body{flex:1;overflow-y:auto;padding:14px 16px}
/* CTA Nạp tiền trong drawer mobile */
.sv-drawer-link.sv-drawer-cta{
    background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff!important;
    text-align:center;font-weight:800;
    box-shadow:0 4px 14px rgba(249,115,22,.4);
    animation:svCtaPulse 2.2s ease-in-out infinite;
}
.sv-drawer-link.sv-drawer-cta i{margin-right:6px}
.sv-drawer-link.sv-drawer-cta:hover{
    color:#fff!important;
    background:linear-gradient(135deg,#f59e0b,#f97316 60%,#fb923c);
    background-size:200% 100%;background-position:100% 0;
    transform:translateY(-1px);
    box-shadow:0 8px 22px rgba(249,115,22,.55);
}
.sv-drawer-link.sv-drawer-cta:hover i{color:#fff}
.sv-drawer-link{
    display:block;padding:13px 14px;border-radius:12px;font-weight:600;font-size:15px;color:var(--ink);
    text-decoration:none;transition:all .2s;
}
.sv-drawer-link:hover,.sv-drawer-link:active{background:var(--sky-50);color:var(--sky-700);padding-left:20px}
/* Drawer: nhóm cha-con "Quản lý" — bấm mới sổ 2 mục con (giống dropdown desktop) */
.sv-drawer-sub{margin:0}
.sv-drawer-sub summary{list-style:none;cursor:pointer;position:relative}
.sv-drawer-sub summary::-webkit-details-marker{display:none}
.sv-drawer-sub summary .sv-drawer-caret{
    position:absolute;right:14px;top:50%;transform:translateY(-50%);
    font-size:12px;color:#94a3b8;transition:transform .2s;
}
.sv-drawer-sub[open] summary .sv-drawer-caret{transform:translateY(-50%) rotate(180deg)}
.sv-drawer-child{padding-left:32px;font-weight:500;font-size:14px}
.sv-drawer-child:hover,.sv-drawer-child:active{padding-left:38px}
.sv-drawer-link:empty,.sv-acc-link:empty{display:none}
.sv-acc{border-bottom:0}
.sv-acc-toggle{
    width:100%;display:flex;align-items:center;justify-content:space-between;
    padding:13px 14px;border:none;background:transparent;border-radius:12px;
    font-family:var(--f-sans);font-weight:600;font-size:15px;color:var(--ink);cursor:pointer;transition:all .2s;
}
.sv-acc-toggle i{font-size:12px;color:var(--sky-500);transition:transform .25s}
.sv-acc-toggle:hover{background:var(--sky-50);color:var(--sky-700)}
.sv-acc.sv-open .sv-acc-toggle i{transform:rotate(180deg)}
.sv-acc-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.sv-acc.sv-open .sv-acc-body{max-height:600px}
.sv-acc-divider{height:1px;margin:6px 16px;background:rgba(15,43,70,.12)}
.sv-acc-link{
    display:block;padding:11px 14px 11px 26px;font-size:14.5px;font-weight:500;color:var(--ink-2);
    text-decoration:none;border-left:2px solid var(--sky-200);margin:2px 0 2px 14px;transition:all .18s;
}
.sv-acc-link:hover{color:var(--sky-700);border-color:var(--sky-500);background:var(--sky-50);padding-left:31px}
.sv-drawer-foot{padding:14px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;background:var(--sky-50)}
body.sv-drawer-open{overflow:hidden}
/* Tablet: <= 991px chuy?n sang drawer */
@media (max-width:991px){
    .sv-nav{display:none}
    .sv-burger{display:inline-flex}
    .sv-header-actions{margin-left:auto}
    .sv-header-actions .sv-head-outline,.sv-header-actions .sv-head-solid,.sv-header-actions .sv-dep-widget{display:none}
    .sv-header-inner{height:62px}
}
/* Mobile: <= 575px */
@media (max-width:575px){
    .sv-header-inner{padding:0 14px;height:58px;gap:10px}
    .sv-header .sv-logo-mark,.sv-drawer .sv-logo-mark{width:32px;height:32px}
    .sv-header-logo .sv-logo-line1,.sv-drawer-logo .sv-logo-line1{font-size:11px}
    .sv-header-logo .sv-logo-line2,.sv-drawer-logo .sv-logo-line2{font-size:22px}
    .sv-icon-btn{width:38px;height:38px;font-size:14px;border-radius:10px}
    .sv-burger{width:38px;height:38px;border-radius:10px}
}

/* ===== Floating stack: back-to-top + liï¿½n h? nhanh ===== */
#footer .back-to-top-btn{display:none}
.sv-float-stack{
    position:fixed;right:28px;bottom:30px;z-index:1200;
    display:flex;flex-direction:column;align-items:center;gap:12px;
    transition:opacity .25s,visibility .25s;
}
/* Ẩn float stack khi drawer mobile mở (.sv-drawer.sv-show -> body.sv-drawer-open do JS thêm) */
body.sv-drawer-open .sv-float-stack{opacity:0;visibility:hidden;pointer-events:none}
.sv-float-btn{
    position:relative;width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 22px rgba(8,47,96,.28);
    transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,opacity .25s,visibility .25s;
    animation:svFloatPop .55s cubic-bezier(.34,1.56,.64,1) backwards;
}
.sv-float-stack .sv-float-btn:nth-child(1){animation-delay:.05s}
.sv-float-stack .sv-float-btn:nth-child(2){animation-delay:.15s}
.sv-float-stack .sv-float-btn:nth-child(3){animation-delay:.25s}
@keyframes svFloatPop{from{opacity:0;transform:translateY(16px) scale(.7)}}
.sv-float-btn i{transition:transform .22s}
.sv-float-top{background:#fff;color:var(--sky-600);font-size:16px;opacity:0;visibility:hidden;transform:translateY(10px)}
.sv-float-top.sv-show{opacity:1;visibility:visible;transform:none}
.sv-float-top:hover i{transform:translateY(-2px)}
.sv-float-zalo{background:linear-gradient(135deg,#33a1ff,#0068ff);color:#fff;text-decoration:none}
.sv-float-zalo b{font-size:22px;font-weight:800;line-height:1;font-family:var(--f-sans);transition:transform .22s}
.sv-float-zalo::after{
    content:"";position:absolute;inset:0;border-radius:50%;
    box-shadow:0 0 0 0 rgba(0,104,255,.45);animation:svPing 2.6s ease-out infinite;
}
@keyframes svPing{70%{box-shadow:0 0 0 16px rgba(0,104,255,0)}100%{box-shadow:0 0 0 0 rgba(0,104,255,0)}}
.sv-float-zalo:hover b{transform:scale(1.15)}
.sv-float-fb{background:linear-gradient(135deg,#4b9bff,#1877f2);color:#fff;font-size:18px;text-decoration:none}
.sv-float-fb:hover i{transform:scale(1.2) rotate(-8deg)}
.sv-float-btn:hover{transform:translateY(-4px) scale(1.08)}
.sv-float-top:hover{box-shadow:0 14px 30px rgba(14,165,233,.4)}
.sv-float-zalo:hover{color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(0,104,255,.5)}
.sv-float-fb:hover{color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(24,119,242,.5)}
/* Nhï¿½n tooltip tru?t vï¿½o t? trï¿½i khi hover */
.sv-float-label{
    position:absolute;right:calc(100% + 12px);top:50%;
    transform:translate(8px,-50%);opacity:0;pointer-events:none;
    background:rgba(15,23,42,.92);color:#fff;font-size:12.5px;font-weight:600;
    padding:6px 12px;border-radius:999px;white-space:nowrap;
    box-shadow:0 6px 16px rgba(8,47,96,.25);
    transition:opacity .2s,transform .2s;
}
.sv-float-btn:hover .sv-float-label,.sv-float-btn:focus-visible .sv-float-label{opacity:1;transform:translate(0,-50%)}
@media (max-width:575px){
    .sv-float-stack{right:14px;bottom:16px;gap:10px}
    .sv-float-btn{width:46px;height:46px}
    .sv-float-zalo b{font-size:19px}
    .sv-float-fb{font-size:16px}
    .sv-float-label{display:none}
}

/* =====================================================================
   STORE / ORDERFORM (standard_cart) ï¿½ THI?T K? M?I HOï¿½N TOï¿½N
   Selector #order-standard_cart#order-standard_cart.sv-store d? th?ng CSS orderform n?p sau.
   ===================================================================== */
#order-standard_cart#order-standard_cart.sv-store{font-size:15px;padding-bottom:60px}
#order-standard_cart#order-standard_cart.sv-store .cart-sidebar,
#order-standard_cart#order-standard_cart.sv-store .sidebar-collapsed{display:none}
#order-standard_cart#order-standard_cart.sv-store .cart-body{float:none;width:100%;padding:0}

/* ---------------- Page-header: dÃ¹ng lÃ m banner cho trang store ---------------- */
.page-header-section{
    position:relative;overflow:hidden;
    background:var(--grad-dark);padding:48px 0 56px;
    box-shadow:var(--sh-md);
}
.page-header-section::before{
    content:"";position:absolute;inset:0;opacity:.14;pointer-events:none;
    background-image:
        linear-gradient(rgba(125,211,252,.5) 1px,transparent 1px),
        linear-gradient(90deg,rgba(125,211,252,.5) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:radial-gradient(ellipse 90% 80% at 50% 0%,#000 30%,transparent 75%);
    -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 0%,#000 30%,transparent 75%);
}
.page-header-section::after{
    content:"";position:absolute;width:380px;height:380px;border-radius:50%;
    background:radial-gradient(circle,rgba(56,189,248,.45),transparent 65%);
    top:-160px;right:-90px;filter:blur(6px);pointer-events:none;
    animation:svsFloat 7s ease-in-out infinite;
}
.page-header-section > .container{position:relative;z-index:1}
.page-header-section .page-header-content h1{
    color:#fff;font-size:34px;font-weight:800;margin:0;line-height:1.25;
    letter-spacing:-.01em;text-shadow:0 4px 24px rgba(14,165,233,.35);
}
.page-header-section .page-header-tagline{
    color:rgba(224,242,254,.78);font-size:15.5px;margin:10px 0 0;line-height:1.7;
}
.page-header-section .custom-breadcrumb{margin-top:14px}
.page-header-section .breadcrumb-item{color:rgba(224,242,254,.65);font-size:13px}
.page-header-section .breadcrumb-item a{color:rgba(165,243,252,.9)}
.page-header-section .breadcrumb-item.active{color:#fff}
.page-header-section .breadcrumb-item i{color:var(--sky-400);font-size:10px;margin:0 6px}
@keyframes svsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
@media (max-width:767px){
    .page-header-section{padding:36px 0 44px}
    .page-header-section .page-header-content h1{font-size:24px}
}

/* ---------------- Chip danh má»¥c ná»•i chá»“ng lÃªn page-header ---------------- */
#order-standard_cart#order-standard_cart.sv-store .svs-hero-chips{
    position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
    margin:-34px auto 40px;max-width:920px;
    background:#fff;border:1px solid var(--line);border-radius:18px;
    box-shadow:var(--sh-md);padding:14px 20px;
}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-dropdown{position:relative}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-more{cursor:pointer}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-menu{
    position:absolute;top:calc(100% + 8px);right:0;z-index:10;
    background:#fff;border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--sh-lg);padding:8px;min-width:240px;max-height:340px;overflow:auto;
    display:flex;flex-direction:column;gap:4px;
}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-menu[hidden]{display:none}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-menu-item{
    display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
    color:var(--body);font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s;
}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-menu-item:hover{background:var(--sky-50);color:var(--sky-700)}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-menu-item.active{background:var(--sky-100);color:var(--sky-700)}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-menu-item i{color:var(--sky-500);font-size:12px}
#order-standard_cart#order-standard_cart.sv-store .svs-chip{
    display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;
    background:var(--bg);border:1.5px solid var(--line);color:var(--body);
    font-size:13.5px;font-weight:700;text-decoration:none;white-space:nowrap;
    transition:all .22s cubic-bezier(.22,1,.36,1);
}
#order-standard_cart#order-standard_cart.sv-store .svs-chip i{font-size:12px;color:var(--sky-500)}
#order-standard_cart#order-standard_cart.sv-store .svs-chip:hover{
    background:var(--sky-50);border-color:var(--sky-300);color:var(--sky-700);
    transform:translateY(-3px);box-shadow:0 8px 18px rgba(14,165,233,.2);
}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-active{
    background:var(--grad);border-color:transparent;color:#fff;
    box-shadow:0 10px 24px rgba(2,132,199,.4);
}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-active:hover{background:var(--grad);color:#fff;transform:translateY(-3px)}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-active i{color:#fff}
#order-standard_cart#order-standard_cart.sv-store .svs-chip-badge{
    background:rgba(255,255,255,.25);font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;
}
#order-standard_cart#order-standard_cart.sv-store .svs-currency{margin-left:auto}
#order-standard_cart#order-standard_cart.sv-store .svs-currency .form-control{
    border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;
    font-size:13px;font-weight:600;color:var(--ink);height:auto;background:#fff;width:auto;
}
#order-standard_cart#order-standard_cart.sv-store .svs-currency .form-control:focus{
    border-color:var(--sky-400);box-shadow:0 0 0 3px rgba(56,189,248,.2);
}

/* ---------------- Tiï¿½u d? b?ng giï¿½ ---------------- */
#order-standard_cart#order-standard_cart.sv-store .svs-head{text-align:center;margin-bottom:40px}
#order-standard_cart#order-standard_cart.sv-store .svs-head h2{font-size:32px;font-weight:800;margin:8px 0 0;color:var(--ink)}

/* ---------------- Thanh cong cu: danh muc + tien te ---------------- */
#order-standard_cart#order-standard_cart.sv-store .svs-toolbar{
    display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px;
    margin:0 auto 40px;
}
#order-standard_cart#order-standard_cart.sv-store .svs-toolbar-group{
    display:flex;align-items:center;gap:12px;margin:0;padding:8px 12px;
    background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-sm);
    transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease;
}
#order-standard_cart#order-standard_cart.sv-store .svs-toolbar-group:hover{
    transform:translateY(-2px);border-color:var(--sky-300);
    box-shadow:0 8px 20px rgba(14,165,233,.18);
}
#order-standard_cart#order-standard_cart.sv-store .svs-toolbar-label{
    display:inline-flex;align-items:center;gap:8px;margin:0;
    font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;cursor:default;
}
#order-standard_cart#order-standard_cart.sv-store .svs-toolbar-label i{
    width:30px;height:30px;border-radius:10px;font-size:13px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--sky-100);color:var(--sky-600);
    transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .25s ease,color .25s ease,box-shadow .25s ease;
}
#order-standard_cart#order-standard_cart.sv-store .svs-toolbar-group:hover .svs-toolbar-label i{
    background:var(--grad);color:#fff;transform:scale(1.08) rotate(-6deg);
    box-shadow:0 6px 16px rgba(2,132,199,.35);
}
#order-standard_cart#order-standard_cart.sv-store .svs-select-wrap{position:relative;display:block}
#order-standard_cart#order-standard_cart.sv-store .svs-select{
    -webkit-appearance:none;-moz-appearance:none;appearance:none;
    background:#fff;border:1.5px solid var(--line);border-radius:var(--r-pill);
    padding:9px 38px 9px 16px;min-width:190px;width:auto;height:auto;margin:0;
    font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;
    transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
#order-standard_cart#order-standard_cart.sv-store .svs-select:hover{
    border-color:var(--sky-300);background:var(--sky-50);
}
#order-standard_cart#order-standard_cart.sv-store .svs-select:focus{
    outline:none;border-color:var(--sky-400);
    box-shadow:0 0 0 3px rgba(56,189,248,.22);
}
#order-standard_cart#order-standard_cart.sv-store .svs-select-caret{
    position:absolute;right:14px;top:50%;transform:translateY(-50%);
    font-size:11px;color:var(--sky-500);pointer-events:none;
    transition:transform .3s cubic-bezier(.22,1,.36,1),color .22s ease;
}
#order-standard_cart#order-standard_cart.sv-store .svs-select-wrap:hover .svs-select-caret{color:var(--sky-600)}
#order-standard_cart#order-standard_cart.sv-store .svs-select-wrap:focus-within .svs-select-caret{
    transform:translateY(-50%) rotate(180deg);color:var(--sky-600);
}
@media (max-width:640px){
    #order-standard_cart#order-standard_cart.sv-store .svs-toolbar{flex-direction:column;align-items:stretch;padding:12px;margin:0 0 32px}
    #order-standard_cart#order-standard_cart.sv-store .svs-toolbar-group{width:100%;justify-content:space-between;padding:6px 8px}
    #order-standard_cart#order-standard_cart.sv-store .svs-select-wrap{flex:1}
    #order-standard_cart#order-standard_cart.sv-store .svs-select{width:100%;min-width:0}
}

/* ---------------- Grid pricing ---------------- */
#order-standard_cart#order-standard_cart.sv-store .products{margin:0}
#order-standard_cart#order-standard_cart.sv-store .svs-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch;
}
@media (max-width:991px){#order-standard_cart#order-standard_cart.sv-store .svs-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){#order-standard_cart#order-standard_cart.sv-store .svs-grid{grid-template-columns:1fr}}

/* ---------------- Pricing card ---------------- */
#order-standard_cart#order-standard_cart.sv-store .svs-card{
    position:relative;background:#fff;border:1px solid var(--line);
    border-radius:22px;padding:34px 28px 28px;margin:0;overflow:hidden;height:100%;
    display:flex;flex-direction:column;align-items:center;text-align:center;
    box-shadow:var(--sh-sm);
    transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card::before{
    content:"";position:absolute;inset:0 0 auto;height:110px;
    background:linear-gradient(180deg,var(--sky-50),transparent);pointer-events:none;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card::after{
    content:"";position:absolute;top:-70px;left:50%;transform:translateX(-50%);
    width:220px;height:150px;border-radius:50%;
    background:radial-gradient(circle,rgba(56,189,248,.22),transparent 70%);
    opacity:0;transition:opacity .35s;pointer-events:none;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card:hover{
    transform:translateY(-10px);box-shadow:var(--sh-lg);border-color:var(--sky-300);
}
#order-standard_cart#order-standard_cart.sv-store .svs-card:hover::after{opacity:1}
#order-standard_cart#order-standard_cart.sv-store .svs-card-ico{
    position:relative;width:66px;height:66px;border-radius:20px;
    background:var(--grad);color:#fff;font-size:26px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 12px 28px rgba(2,132,199,.35);margin-bottom:18px;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
#order-standard_cart#order-standard_cart.sv-store .svs-card:hover .svs-card-ico{transform:translateY(-4px) scale(1.07) rotate(-5deg)}
#order-standard_cart#order-standard_cart.sv-store .svs-card h3{
    font-size:19px;font-weight:800;color:var(--ink);margin:0 0 6px;line-height:1.35;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card-stock{
    display:inline-block;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;
    font-size:11.5px;font-weight:700;padding:3px 12px;border-radius:999px;margin-bottom:10px;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card-price{margin:6px 0 14px;line-height:1.2}
#order-standard_cart#order-standard_cart.sv-store .svs-card-price .price{
    display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;
    background:var(--grad);-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
}
#order-standard_cart#order-standard_cart.sv-store .svs-price-from,#order-standard_cart#order-standard_cart.sv-store .svs-price-cycle{
    display:block;font-size:11.5px;font-weight:700;color:var(--muted);
    text-transform:uppercase;letter-spacing:.06em;margin:2px 0;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card-price small{color:var(--muted);font-size:12px;display:block;margin-top:4px}
#order-standard_cart#order-standard_cart.sv-store .svs-card-desc{font-size:13.5px;color:var(--muted);margin:0 0 14px;line-height:1.6}
#order-standard_cart#order-standard_cart.sv-store .svs-card-feats{
    list-style:none;margin:0 0 22px;padding:16px 0 0;width:100%;flex:1;
    border-top:1px dashed var(--line);text-align:left;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card-feats li{
    display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:13.5px;color:var(--body);
}
#order-standard_cart#order-standard_cart.sv-store .svs-card-feats li i{
    flex:0 0 auto;width:20px;height:20px;border-radius:50%;margin-top:1px;
    background:var(--sky-100);color:var(--sky-600);font-size:10px;
    display:flex;align-items:center;justify-content:center;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card-feats li b{color:var(--ink);font-weight:800}
#order-standard_cart#order-standard_cart.sv-store .svs-card-cta{
    display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
    padding:14px 22px;border-radius:14px;
    background:var(--grad);color:#fff;font-size:14.5px;font-weight:700;text-decoration:none;
    box-shadow:0 10px 24px rgba(2,132,199,.3);
    transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,background .22s;
}
#order-standard_cart#order-standard_cart.sv-store .svs-card-cta:hover,#order-standard_cart#order-standard_cart.sv-store .svs-card-cta:focus{
    color:#fff;text-decoration:none;transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(2,132,199,.45);
}

/* ---------------- Trust strip ---------------- */
#order-standard_cart#order-standard_cart.sv-store .svs-trust{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;
}
#order-standard_cart#order-standard_cart.sv-store .svs-trust-item{
    display:flex;align-items:center;gap:16px;background:#fff;
    border:1px solid var(--line);border-radius:16px;padding:20px 22px;
    box-shadow:var(--sh-sm);transition:transform .25s,box-shadow .25s;
}
#order-standard_cart#order-standard_cart.sv-store .svs-trust-item:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
#order-standard_cart#order-standard_cart.sv-store .svs-trust-item > i{
    flex:0 0 auto;width:52px;height:52px;border-radius:16px;
    background:var(--sky-100);color:var(--sky-600);font-size:20px;
    display:flex;align-items:center;justify-content:center;
}
#order-standard_cart#order-standard_cart.sv-store .svs-trust-item b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:3px}
#order-standard_cart#order-standard_cart.sv-store .svs-trust-item span{color:var(--muted);font-size:13px;line-height:1.5}
@media (max-width:991px){#order-standard_cart#order-standard_cart.sv-store .svs-trust{grid-template-columns:1fr}}

/* ---------------- Responsive ---------------- */
@media (max-width:767px){
    #order-standard_cart#order-standard_cart.sv-store .svs-hero-chips{margin:-30px 12px 32px;padding:12px 14px}
    #order-standard_cart#order-standard_cart.sv-store .svs-currency{margin-left:0}
    #order-standard_cart#order-standard_cart.sv-store .svs-head h2{font-size:24px}
}

/* ============================ CONTACT PAGE ============================ */
.sv-contact{padding:10px 0 46px}
.sv-contact .sv-section-head h2{font-size:32px}
.sv-contact-sub{
    color:var(--muted);font-size:16px;max-width:620px;margin:12px auto 0;
}
.sv-contact-grid{margin-top:8px}
.sv-contact-grid>[class*="col-"]{margin-bottom:24px}
.sv-contact-card{
    display:flex;align-items:center;gap:20px;
    background:var(--card);border:1px solid var(--line);
    border-radius:var(--r-lg);padding:28px 26px;
    height:100%;position:relative;overflow:hidden;
    box-shadow:var(--sh-sm);text-decoration:none!important;
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.sv-contact-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--grad-soft);opacity:0;transition:opacity .3s;
}
.sv-contact-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--sh-md);
    border-color:var(--sky-300);
}
.sv-contact-card:hover::before{opacity:1}
.sv-contact-card:hover .sv-contact-go{
    opacity:1;transform:translateX(4px);color:var(--sky-600);
}
.sv-contact-icon{
    flex:0 0 auto;width:64px;height:64px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;
    font-size:26px;color:#fff;
    box-shadow:0 10px 24px rgba(14,165,233,.3);
    transition:transform .3s;
}
.sv-contact-card:hover .sv-contact-icon{transform:scale(1.08) rotate(-4deg)}
.sv-contact-icon b{font-weight:800;font-size:28px}
/* MÃ u riÃªng tá»«ng kÃªnh â€” Ä‘á»“ng bá»™ vá»›i nÃºt float trÃªn trang chá»§ */
.sv-contact-fb .sv-contact-icon{background:linear-gradient(135deg,#1877f2,#0d5bd6)}
.sv-contact-zalo .sv-contact-icon{background:linear-gradient(135deg,#0068ff,#0084ff)}
.sv-contact-zalo .sv-contact-icon b{font-family:var(--font)}
.sv-contact-hotline .sv-contact-icon{background:var(--grad)}
.sv-contact-yt .sv-contact-icon{background:linear-gradient(135deg,#ff0000,#c4302b)}
.sv-contact-body{flex:1;min-width:0}
.sv-contact-title{
    display:block;font-size:17px;font-weight:700;color:var(--ink);
    margin-bottom:6px;letter-spacing:-.01em;
}
.sv-contact-desc{
    display:block;font-size:14px;color:var(--muted);line-height:1.6;
}
.sv-contact-desc b{color:var(--sky-700);font-weight:700}
.sv-contact-go{
    flex:0 0 auto;width:42px;height:42px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--sky-50);border:1px solid var(--sky-200);
    color:var(--sky-500);font-size:15px;
    opacity:.6;transition:all .3s ease;
}
.sv-contact-note{
    display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;
    margin-top:14px;padding:18px 26px;
    background:var(--sky-50);border:1px dashed var(--sky-200);
    border-radius:var(--r-md);
}
.sv-contact-note span{
    display:inline-flex;align-items:center;gap:9px;
    color:var(--body);font-size:14px;font-weight:500;
}
.sv-contact-note span i{color:var(--sky-500)}
.sv-contact-note span b{color:var(--sky-700)}
@media (max-width:767px){
    .sv-contact{padding:6px 0 40px}
    .sv-contact .sv-section-head h2{font-size:24px}
    .sv-contact-card{padding:22px 20px;gap:16px}
    .sv-contact-icon{width:54px;height:54px;font-size:22px;border-radius:14px}
    .sv-contact-title{font-size:15.5px}
    .sv-contact-desc{font-size:13px}
    .sv-contact-go{display:none}
    .sv-contact-note{gap:14px;padding:16px 18px}
}

/* ============================ CLIENT AREA HOME ============================ */
/* Cáº£nh bÃ¡o hÃ³a Ä‘Æ¡n / domain háº¿t háº¡n â€” class riÃªng, khÃ´ng káº¿ thá»«a CSS alert cÅ© */
.sv-ca-alerts{margin:0 0 18px}
.sv-ca-alert{
    border-radius:var(--r-md);border:1px solid #ffe0ad;
    background:linear-gradient(180deg,#fffaf0,#fff5e2);
    box-shadow:var(--sh-sm);
    display:flex;align-items:center;gap:14px;
    padding:14px 18px;margin-bottom:12px;
}
.sv-ca-alert-body{
    flex:1;min-width:0;display:flex;align-items:center;gap:10px;
    color:#7c4a03;font-size:13.5px;font-weight:600;
}
.sv-ca-alert-body p{margin:0}
.sv-ca-alert-icon{color:#d97706;font-size:18px;flex:0 0 auto}
.sv-ca-alert-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px}
.sv-ca-alert-btn{
    width:36px;height:36px;border-radius:50%;
    background:#f59e0b;color:#fff!important;
    display:flex;align-items:center;justify-content:center;
    text-decoration:none!important;
    transition:transform .2s,box-shadow .2s;
}
.sv-ca-alert-btn:hover{transform:scale(1.08);box-shadow:0 8px 18px rgba(245,158,11,.4)}
.sv-ca-alert-close{
    border:none;background:transparent;padding:4px;
    color:#7c4a03;opacity:.55;font-size:15px;cursor:pointer;
}
.sv-ca-alert-close:hover{opacity:1}
.sv-ca-alert-footer{width:100%;font-size:12.5px;color:#92610a}
/* Variant cảnh báo trang chủ: hóa đơn chưa thanh toán + sắp hết hạn */
.sv-ca-alert.warning{border-color:#ffe0ad;background:linear-gradient(180deg,#fffaf0,#fff5e2)}
.sv-ca-alert.warning .sv-ca-alert-icon{color:#d97706}
.sv-ca-alert.warning .sv-ca-alert-body{color:#7c4a03}
.sv-ca-alert.warning .sv-ca-alert-btn{background:#f59e0b}
.sv-ca-alert.warning .sv-ca-alert-btn:hover{box-shadow:0 8px 18px rgba(245,158,11,.4)}
.sv-ca-alert.info{border-color:var(--sky-200);background:linear-gradient(180deg,#f0f9ff,#e0f2fe)}
.sv-ca-alert.info .sv-ca-alert-icon{color:var(--sky-600)}
.sv-ca-alert.info .sv-ca-alert-body{color:#075985}
.sv-ca-alert.info .sv-ca-alert-btn{background:var(--sky-500)}
.sv-ca-alert.info .sv-ca-alert-btn:hover{box-shadow:0 8px 18px rgba(14,165,233,.4)}
.sv-ca-alert.info .sv-ca-alert-close{color:#075985}

/* Greeting card â€” ngÃ´n ngá»¯ hero tá»‘i giá»‘ng há»‡t trang Ä‘Äƒng nháº­p (sv2-auth) */
.sv-ca-hero{
    position:relative;overflow:hidden;
    background:
        radial-gradient(1000px 520px at 88% -14%,rgba(34,211,238,.28),transparent 62%),
        radial-gradient(820px 460px at -6% 112%,rgba(14,165,233,.30),transparent 60%),
        var(--grad-dark);
    border:1px solid rgba(125,211,252,.22);border-radius:var(--r-lg);
    padding:32px 32px 28px;margin-bottom:24px;
    box-shadow:0 26px 60px rgba(2,20,50,.32),0 4px 14px rgba(2,20,50,.18);
}
/* Vá»‡t sÃ¡ng quÃ©t ngang khi xuáº¥t hiá»‡n (giá»‘ng stats trang chá»§) */
.sv-ca-hero::after{
    content:"";position:absolute;top:0;bottom:0;left:-80%;width:45%;
    background:linear-gradient(105deg,transparent,rgba(56,189,248,.10) 45%,rgba(34,211,238,.16) 50%,rgba(56,189,248,.10) 55%,transparent);
    transform:skewX(-18deg);pointer-events:none;
}
.sv-ca-hero.sv-revealed::after{animation:svShine 1.4s .35s ease forwards}
.sv-ca-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none}
.sv-ca-orb-1{width:400px;height:400px;top:-160px;right:-100px;background:#0ea5e9}
.sv-ca-orb-2{width:320px;height:320px;bottom:-160px;left:-90px;background:#22d3ee;opacity:.32}
.sv-ca-grid{
    position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(148,197,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(148,197,255,.07) 1px,transparent 1px);
    background-size:46px 46px;
    -webkit-mask-image:radial-gradient(ellipse at 50% 38%,#000 28%,transparent 76%);
    mask-image:radial-gradient(ellipse at 50% 38%,#000 28%,transparent 76%);
}
.sv-ca-hero-inner{
    position:relative;z-index:2;
    display:flex;flex-direction:column;gap:18px;
}
/* HÃ ng há»“ sÆ¡: avatar + tÃªn + email */
.sv-ca-profile{display:flex;align-items:center;gap:16px}
.sv-ca-avatar{
    position:relative;flex:0 0 auto;width:58px;height:58px;border-radius:18px;
    background:var(--grad);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:24px;font-weight:800;
    box-shadow:0 10px 22px rgba(14,165,233,.35);
}
.sv-ca-avatar-dot{
    position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:50%;
    background:#22c55e;border:3px solid #fff;
}
.sv-ca-profile-info{min-width:0}
.sv-ca-profile-info h1{font-size:26px;font-weight:800;color:#fff;margin:0 0 6px;letter-spacing:-.015em;text-shadow:0 4px 24px rgba(2,44,90,.5)}
.sv-ca-profile-mail{display:flex;align-items:center;gap:7px;color:rgba(224,242,254,.85);font-size:13px;font-weight:600}
.sv-ca-profile-mail i{color:#34d399;font-size:13px}
/* Card sá»‘ dÆ° kháº£ dá»¥ng â€” kÃ­nh tá»‘i trÃªn ná»n hero */
.sv-ca-balance{
    background:rgba(8,21,48,.55);
    border:1px solid rgba(125,211,252,.26);border-radius:var(--r-md);
    padding:16px 20px;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.sv-ca-balance-label{display:flex;align-items:center;gap:8px;color:rgba(186,230,253,.8);font-size:12.5px;font-weight:700}
.sv-ca-balance-label i{color:var(--cyan)}
.sv-ca-balance-value{font-size:30px;font-weight:800;color:#fff;letter-spacing:-.02em;margin:6px 0 4px;line-height:1.1;text-shadow:0 2px 18px rgba(34,211,238,.35)}
.sv-ca-balance-desc{color:rgba(224,242,254,.6);font-size:12.5px}
.sv-ca-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
/* NÃºt outline trÃªn ná»n tá»‘i hero */
.sv-ca-hero-actions .sv-btn-outline{
    color:#e0f2fe!important;border-color:rgba(186,230,253,.45);
    background:rgba(255,255,255,.06);
}
.sv-ca-hero-actions .sv-btn-outline:hover{background:var(--grad);border-color:transparent;color:#fff!important}
/* NÃºt bo gÃ³c vuÃ´ng má»m Ä‘á»“ng bá»™ vá»›i stat tiles (Náº¡p tiá»n / 24-7) */
.sv-btn-sq{border-radius:var(--r-md)}
@media (max-width:767px){
    .sv-ca-balance-value{font-size:24px}
    .sv-ca-avatar{width:48px;height:48px;font-size:20px;border-radius:14px}
    .sv-ca-profile-info h1{font-size:18px}
}
.sv-ca-kicker{
    display:inline-flex;align-items:center;gap:7px;
    padding:4px 11px;border-radius:var(--r-pill);
    background:var(--sky-100);border:1px solid var(--sky-200);
    color:var(--sky-700);font-size:11px;font-weight:600;letter-spacing:0;
    margin-bottom:12px;
}
.sv-ca-hero-text h1{font-size:26px;font-weight:800;color:var(--ink);margin:0 0 8px;letter-spacing:-.015em}
.sv-ca-hero-text p{color:var(--muted);font-size:14.5px;margin:0;max-width:520px}
.sv-ca-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px}
.sv-ca-meta-item{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.sv-ca-meta-item i{color:var(--sky-500);font-size:12px}
.sv-ca-meta-item strong{color:var(--sky-700);font-weight:700}
.sv-ca-money-chip{
    background:var(--grad);color:#fff!important;
    padding:5px 14px;border-radius:var(--r-pill);
    font-size:13.5px;font-weight:800;letter-spacing:.01em;
    box-shadow:0 6px 16px rgba(14,165,233,.35);
}
.sv-ca-hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Stat tiles */
.sv-ca-stats{margin-bottom:26px}
.sv-ca-stats>[class*="col-"],.sv-ca-stats .row>[class*="col-"]{margin-bottom:16px}
/* moi them: hang flex stretch de cac cot cao bang nhau */
.sv-ca-stats .row{display:flex;flex-wrap:wrap;align-items:stretch}
.sv-ca-stats>[class*="col-"],.sv-ca-stats .row>[class*="col-"]{align-self:stretch;display:flex}
.sv-ca-stat{
    display:flex;align-items:center;gap:16px;
    background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
    padding:20px 22px;width:100%;
    box-shadow:var(--sh-sm);text-decoration:none!important;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.sv-ca-stat:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--sky-300)}
.sv-ca-stat-icon{
    flex:0 0 auto;width:52px;height:52px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;color:#fff;
    box-shadow:0 8px 20px rgba(14,165,233,.28);
    transition:transform .3s;
}
.sv-ca-stat:hover .sv-ca-stat-icon{transform:scale(1.08) rotate(-4deg)}
.sv-ca-stat-c1 .sv-ca-stat-icon{background:var(--grad)}
.sv-ca-stat-c2 .sv-ca-stat-icon{background:linear-gradient(135deg,#22d3ee,#0ea5e9)}
.sv-ca-stat-c3 .sv-ca-stat-icon{background:linear-gradient(135deg,#818cf8,#6366f1)}
.sv-ca-stat-c4 .sv-ca-stat-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b)}
.sv-ca-stat-body h2{font-size:24px;font-weight:800;color:var(--ink);margin:0;line-height:1.15}
.sv-ca-stat-body h5{font-size:13px;font-weight:600;color:var(--muted);margin:2px 0 0}
.sv-ca-stat-money h2{font-size:19px;letter-spacing:-.01em}
/* Tile Náº¡p tiá»n â€” CTA ná»•i báº­t hÆ¡n 3 tile cÃ²n láº¡i */
.sv-ca-stat-cta{
    background:var(--grad);border-color:transparent;
    box-shadow:0 10px 26px rgba(14,165,233,.38);
}
.sv-ca-stat-cta .sv-ca-stat-icon{background:rgba(255,255,255,.22);color:#fff;box-shadow:none}
.sv-ca-stat-cta .sv-ca-stat-body h2,.sv-ca-stat-cta .sv-ca-stat-body h5{color:#fff}
.sv-ca-stat-cta:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(14,165,233,.5)}
.sv-ca-panel{
    background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
    box-shadow:var(--sh-sm);overflow:hidden;margin-bottom:24px;
}
.sv-ca-panel-head{
    display:flex;align-items:center;gap:12px;
    padding:16px 20px;border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fbfdff,#f3f9ff);
}
.sv-ca-panel-icon{
    flex:0 0 auto;width:38px;height:38px;border-radius:11px;
    background:var(--sky-100);color:var(--sky-600);
    display:flex;align-items:center;justify-content:center;font-size:15px;
}
.sv-ca-panel-title{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--ink)}
.sv-ca-panel-action{
    flex:0 0 auto;width:34px;height:34px;border-radius:50%;
    background:var(--sky-50);border:1px solid var(--sky-200);color:var(--sky-500);
    display:flex;align-items:center;justify-content:center;font-size:13px;
    transition:all .2s;text-decoration:none!important;
}
.sv-ca-panel-action:hover{background:var(--grad);color:#fff!important;border-color:transparent;transform:scale(1.06)}
.sv-ca-list{display:flex;flex-direction:column}
.sv-ca-list-item{
    display:flex;align-items:center;gap:10px;
    padding:12px 20px;border-bottom:1px solid var(--line);
    color:var(--body);font-size:13.5px;font-weight:500;
    text-decoration:none!important;transition:background .15s,color .15s;
}
.sv-ca-list .sv-ca-list-item:last-child{border-bottom:0}
.sv-ca-list-item>i{color:var(--sky-500);width:16px;text-align:center;flex:0 0 auto}
.sv-ca-list-item:hover{background:var(--sky-50);color:var(--sky-700)}
.sv-ca-list-item.active{background:var(--sky-100);color:var(--sky-800)}
.sv-ca-list-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv-ca-list-ext{color:var(--sky-300);font-size:11px;width:auto!important;opacity:0;transition:opacity .15s}
.sv-ca-list-item:hover .sv-ca-list-ext{opacity:1}
.sv-ca-badge{
    background:var(--grad);color:#fff;border-radius:var(--r-pill);
    font-size:11px;font-weight:700;padding:3px 10px;flex:0 0 auto;
}
.sv-ca-panel-body{padding:16px 20px}
.sv-ca-panel-body .form-control{border-radius:var(--r-sm)}
.sv-ca-panel-footer{
    padding:12px 20px;border-top:1px solid var(--line);
    background:#fbfdff;font-size:13px;color:var(--muted);
}
/* Panel Ä‘Äƒng kÃ½ domain: head ná»n tá»‘i ná»•i báº­t */
.sv-ca-panel-domain .sv-ca-panel-head{background:var(--grad-dark);border-bottom:0}
.sv-ca-panel-domain .sv-ca-panel-title{color:#fff}
.sv-ca-panel-domain .sv-ca-panel-icon{background:rgba(255,255,255,.12);color:var(--cyan)}

/* KHONG co rule rieng @media max-width:999px cho stat tiles
   (truoc day rule nay bi override icon xuong 38px qua nho tren mobile).
   Chi dung 1 moc @media max-width:767px duoi day. */
/* ===== Tablet/desktop nho (<1000px): 4 tile -> 2 cot (2x2) ===== */
@media (max-width:999px){
    .sv-ca-stats .row{display:flex;flex-wrap:wrap;margin-left:-8px;margin-right:-8px}
    .sv-ca-stats .row>[class*="col-"]{display:flex;flex:0 0 50%;max-width:50%;padding-left:8px;padding-right:8px;margin-bottom:16px}
    .sv-ca-stat{padding:14px 14px;gap:12px;min-width:0;overflow:hidden}
    .sv-ca-stat-body{min-width:0;flex:1}
    .sv-ca-stat-icon{width:44px;height:44px;font-size:17px;border-radius:11px;flex:0 0 auto}
    .sv-ca-stat-body h2{font-size:18px;line-height:1.15}
    .sv-ca-stat-body h5{font-size:12px;line-height:1.3;white-space:normal}
    .sv-ca-stat-money h2{font-size:15px}
    .sv-ca-stat-cta .sv-ca-stat-icon{width:44px;height:44px;font-size:17px}
}

/* ===== Mobile (<767px): giu 2 cot, phong to icon/text ===== */
@media (max-width:767px){
    .sv-ca-hero{padding:24px 20px}
    .sv-ca-hero-text h1{font-size:21px}
    .sv-ca-hero-actions .sv-btn{padding:11px 20px;font-size:13.5px}
    .sv-ca-stat{padding:16px 16px;gap:14px;min-width:0;overflow:hidden}
    .sv-ca-stat-icon{width:48px;height:48px;font-size:18px;border-radius:12px;flex:0 0 auto}
    .sv-ca-stat-body h2{font-size:20px;line-height:1.15}
    .sv-ca-stat-body h5{font-size:12.5px;white-space:normal;line-height:1.3}
    .sv-ca-stat-money h2{font-size:16px}
    .sv-ca-stat-cta .sv-ca-stat-icon{width:48px;height:48px;font-size:18px}
}

/* ===== Mobile rat nho (<500px): rut gon text tile CTA "Nap tien / Quet QR tu dong" -> "Nap / Tu dong" ===== */
@media (max-width:500px){
    .sv-ca-stat-cta .sv-ca-stat-body h2{
        font-size:0;line-height:1;min-height:20px;display:flex;align-items:center;
    }
    .sv-ca-stat-cta .sv-ca-stat-body h2::after{content:"Nạp";font-size:20px;font-weight:800;color:#fff;line-height:1.15}
    .sv-ca-stat-cta .sv-ca-stat-body h5{
        font-size:0;line-height:1;min-height:13px;display:flex;align-items:center;
    }
    .sv-ca-stat-cta .sv-ca-stat-body h5::after{content:"Tự động";font-size:12.5px;font-weight:600;color:rgba(255,255,255,.85);line-height:1.3}
}

/* ===== Phone cuc nho (<380px): tile 1 cot full-width ===== */
@media (max-width:380px){
    .sv-ca-stats .row>[class*="col-"]{flex:0 0 100%;max-width:100%}
}



/* =====================================================================
   SV-SKY v2 - Trang My Services (clientarea.php?action=services)
   Hero tá»•ng quan + stats + filter chips + service card grid
   Äá»“ng bá»™ ngÃ´n ngá»¯ thiáº¿t káº¿ vá»›i index.php (gradient sky, orbs, reveal).
   ===================================================================== */

/* ---------- HERO tá»•ng quan ---------- */
.sv-services-hero{
    position:relative;overflow:hidden;
    padding:54px 0 58px;margin-bottom:28px;
    border-radius:var(--r-lg);
    background:
        radial-gradient(800px 360px at 92% -16%,rgba(34,211,238,.30),transparent 60%),
        radial-gradient(720px 320px at -6% 116%,rgba(14,165,233,.32),transparent 60%),
        var(--grad-dark);
    box-shadow:0 24px 60px rgba(2,20,50,.22);
}
.sv-services-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none}
.sv-services-orb-1{width:380px;height:380px;background:#0ea5e9;top:-150px;right:-90px}
.sv-services-orb-2{width:300px;height:300px;background:#22d3ee;bottom:-140px;left:-80px;opacity:.32}
.sv-services-hero-grid{
    position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(148,197,255,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(148,197,255,.06) 1px,transparent 1px);
    background-size:44px 44px;
    -webkit-mask-image:radial-gradient(ellipse at 50% 38%,#000 30%,transparent 78%);
    mask-image:radial-gradient(ellipse at 50% 38%,#000 30%,transparent 78%);
}
.sv-services-hero-inner{
    position:relative;z-index:2;
    max-width:1200px;margin:0 auto;padding:0 24px;
    display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;
}
.sv-services-hero-text .sv-ca-kicker{
    background:rgba(186,230,253,.14);border-color:rgba(186,230,253,.32);color:#e0f2fe;
}
.sv-services-hero-text h1{
    color:#fff;font-size:32px;line-height:1.18;font-weight:800;margin:14px 0 12px;
    text-shadow:0 4px 24px rgba(2,44,90,.5);letter-spacing:-.015em;
}
.sv-services-hero-text p{
    color:rgba(224,242,254,.78);font-size:15px;line-height:1.75;
    max-width:520px;margin:0 0 22px;
}
.sv-services-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.sv-services-hero-actions .sv-btn-ghost{
    color:#e0f2fe!important;border-color:rgba(186,230,253,.45);background:rgba(255,255,255,.06);
}
.sv-services-hero-actions .sv-btn-ghost:hover{
    background:rgba(255,255,255,.18);color:#fff!important;border-color:transparent;
}

/* ---------- Stats trong hero ---------- */
.sv-services-hero-stats{display:grid;grid-template-columns:1fr;gap:14px}
/* Tile "Tổng phí hàng kỳ" luôn kéo full ngang khi grid nhiều cột */
.sv-services-hero-stat-c3{grid-column:1/-1}
.sv-services-hero-stat{
    display:flex;align-items:center;gap:14px;
    padding:16px 18px;border-radius:var(--r-md);
    background:rgba(255,255,255,.08);
    border:1px solid rgba(186,230,253,.22);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:transform .25s,background .25s,border-color .25s;
}
.sv-services-hero-stat:hover{transform:translateY(-3px);background:rgba(255,255,255,.14);border-color:rgba(186,230,253,.4)}
.sv-services-hero-stat-icon{
    flex:0 0 auto;width:44px;height:44px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-size:17px;color:#fff;
    box-shadow:0 8px 18px rgba(2,20,50,.4);
}
.sv-services-hero-stat-c1 .sv-services-hero-stat-icon{background:var(--grad)}
.sv-services-hero-stat-c2 .sv-services-hero-stat-icon{background:linear-gradient(135deg,#22d3ee,#0ea5e9)}
.sv-services-hero-stat-c3 .sv-services-hero-stat-icon{background:linear-gradient(135deg,#34d399,#059669)}
.sv-services-hero-stat-num{
    color:#fff;font-size:20px;font-weight:800;line-height:1.1;letter-spacing:-.01em;
    word-break:break-word;
}
.sv-services-hero-stat-label{color:rgba(224,242,254,.7);font-size:12.5px;font-weight:600;margin-top:2px}

/* ---------- Toolbar: search + select lọc trạng thái + chuyển kiểu hiển thị ---------- */
.sv-services-toolbar{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
    padding:12px 14px;margin-bottom:22px;
    box-shadow:var(--sh-sm);
}
.sv-services-filter{
    position:relative;display:flex;align-items:center;
    min-width:210px;
}
.sv-services-filter > i.fa-filter{
    position:absolute;left:14px;font-size:12px;color:var(--sky-500);
    pointer-events:none;z-index:1;
}
.sv-services-select{
    appearance:none;-webkit-appearance:none;-moz-appearance:none;
    width:100%;height:42px;padding:0 36px 0 34px;
    border:1px solid var(--line);border-radius:var(--r-pill);
    background:#fbfdff;color:var(--ink);font-size:13.5px;font-weight:600;
    font-family:var(--font);cursor:pointer;
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.sv-services-select:hover{border-color:var(--sky-300)}
.sv-services-select:focus{
    outline:none;border-color:var(--sky-400);background:#fff;
    box-shadow:0 0 0 3px rgba(14,165,233,.18);
}
.sv-services-select-caret{
    position:absolute;right:15px;font-size:10px;color:var(--muted);
    pointer-events:none;
}
.sv-services-view-toggle{
    display:inline-flex;gap:4px;padding:4px;
    background:var(--sky-50);border:1px solid var(--sky-200);
    border-radius:var(--r-pill);margin-left:auto;
}
.sv-services-view-btn{
    width:38px;height:34px;display:inline-flex;align-items:center;justify-content:center;
    border:none;border-radius:999px;background:transparent;
    color:var(--muted);font-size:14px;cursor:pointer;
    transition:all .2s ease;font-family:var(--font);
}
.sv-services-view-btn:hover{color:var(--sky-700);background:rgba(255,255,255,.7)}
.sv-services-view-btn.active{
    background:var(--grad);color:#fff;
    box-shadow:0 6px 16px rgba(14,165,233,.35);
}

.sv-services-search{
    position:relative;flex:1 1 320px;min-width:220px;
}
.sv-services-search i{
    position:absolute;left:14px;top:50%;transform:translateY(-50%);
    color:var(--muted);font-size:13px;pointer-events:none;
}
.sv-services-search input{
    width:100%;height:42px;padding:0 14px 0 38px;
    border:1px solid var(--line);border-radius:var(--r-pill);
    background:#fbfdff;color:var(--ink);font-size:14px;font-weight:500;
    font-family:var(--font);
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.sv-services-search input::placeholder{color:var(--muted);font-weight:500}
.sv-services-search input:focus{
    outline:none;border-color:var(--sky-400);background:#fff;
    box-shadow:0 0 0 3px rgba(14,165,233,.18);
}

/* ---------- Cảnh báo dưới toolbar (hóa đơn chưa thanh toán / sắp hết hạn) ---------- */
.sv-services-alerts{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.sv-svc-alert{
    display:flex;align-items:center;gap:14px;flex-wrap:wrap;
    padding:14px 18px;border-radius:var(--r-lg);
    border:1px solid transparent;box-shadow:var(--sh-sm);
    font-size:13.5px;line-height:1.55;
}
.sv-svc-alert-icon{
    flex:0 0 40px;width:40px;height:40px;border-radius:12px;
    display:inline-flex;align-items:center;justify-content:center;
    font-size:16px;
}
.sv-svc-alert-body{flex:1;min-width:220px}
.sv-svc-alert-body b{display:block;font-weight:700;margin-bottom:0;line-height:1.4}
.sv-svc-alert-btn{
    flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:9px 16px;border-radius:var(--r-pill);
    font-size:12.5px;font-weight:700;text-decoration:none;
    border:1px solid transparent;transition:all .2s ease;white-space:nowrap;
}
.sv-svc-alert-actions{
    flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;
    margin-left:auto;
}
/* Variant: hóa đơn chưa thanh toán */
.sv-svc-alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.sv-svc-alert-warning .sv-svc-alert-icon{background:#fef3c7;color:#d97706}
.sv-svc-alert-warning .sv-svc-alert-btn{background:#f59e0b;border-color:#f59e0b;color:#fff}
.sv-svc-alert-warning .sv-svc-alert-btn:hover{background:#d97706;border-color:#d97706}
/* Variant: dịch vụ sắp hết hạn */
.sv-svc-alert-info{background:var(--sky-50);border-color:var(--sky-200);color:var(--sky-900)}
.sv-svc-alert-info .sv-svc-alert-icon{background:var(--sky-100);color:var(--sky-600)}
.sv-svc-alert-info .sv-svc-alert-btn{background:var(--sky-500);border-color:var(--sky-500);color:#fff}
.sv-svc-alert-info .sv-svc-alert-btn:hover{background:var(--sky-600);border-color:var(--sky-600)}

/* ---------- Grid + Card ---------- */
.sv-services-grid{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;margin-bottom:30px;
}
/* ---------- Chế độ bảng (list) ---------- */
.sv-services-grid{
    --sv-list-cols:40px minmax(240px,2.6fr) 140px 130px 112px 112px 118px;
}
.sv-services-list-head{display:none}
.sv-services-grid--list{
    display:flex;flex-direction:column;gap:10px;
    overflow-x:auto;padding-bottom:6px;
}
.sv-services-grid--list .sv-services-list-head{
    display:grid;grid-template-columns:var(--sv-list-cols);
    align-items:center;gap:0 14px;min-width:1020px;
    padding:12px 18px;
    background:linear-gradient(180deg,#f8fbff,#eef6ff);
    border:1px solid var(--sky-200);border-radius:12px;
    color:var(--sky-800);font-size:12.5px;font-weight:700;
    letter-spacing:.01em;
}
.sv-services-grid--list .sv-services-list-head .sv-lh-actions{justify-self:center}
.sv-services-grid--list .sv-lh-num{color:var(--muted)}
.sv-lh-sort{justify-content:center}
.sv-lh-sort.sv-lh-left{justify-content:flex-start}
.sv-lh-sort{
    display:inline-flex;align-items:center;gap:6px;
    background:none;border:none;padding:0;margin:0;cursor:pointer;
    color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;
    transition:color .2s;
}
.sv-lh-sort:hover{color:var(--sky-600)}
.sv-lh-sort.active{color:var(--sky-600)}
.sv-lh-sort .sv-sort-ic{font-size:11px;opacity:.5}
.sv-lh-sort.active .sv-sort-ic{opacity:1}
.sv-services-grid--list .sv-service-card{
    display:grid;grid-template-columns:var(--sv-list-cols);
    grid-template-areas:none;
    align-items:center;gap:0 14px;min-width:1020px;
    padding:12px 18px;border-radius:12px;
}
.sv-services-grid--list .sv-service-card:hover{transform:translateY(-2px)}
.sv-services-grid--list .sv-cell{grid-area:auto}
.sv-services-grid--list .sv-cell-num{
    display:block;color:var(--muted);font-size:12.5px;font-weight:700;
}
.sv-services-grid--list .sv-cell-product{display:flex;align-items:center;gap:10px;min-width:0}
.sv-services-grid--list .sv-service-card-icon{
    width:36px;height:36px;border-radius:10px;font-size:14px;box-shadow:none;
}
.sv-services-grid--list .sv-service-card-name{font-size:14px;min-height:0;margin:0;-webkit-line-clamp:1}
.sv-services-grid--list .sv-cell-product-info{gap:2px}
.sv-services-grid--list .sv-service-card-domain{
    font-size:12px;max-width:100%;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sv-services-grid--list .sv-cell-ssl{display:none}
.sv-services-grid--list .sv-cell-status{align-self:center;justify-self:center}
.sv-services-grid--list .sv-cell-price{
    display:flex;flex-direction:row;align-items:baseline;gap:6px;justify-content:center;
    background:none;border:none;padding:0;margin:0;
}
.sv-services-grid--list .sv-cell-label{display:none}
.sv-services-grid--list .sv-cell-value{font-size:13.5px}
.sv-services-grid--list .sv-cell-sub{font-size:11.5px}
.sv-services-grid--list .sv-cell-start,
.sv-services-grid--list .sv-cell-due{background:none;border:none;padding:0;margin:0;justify-self:center;text-align:center}
.sv-services-grid--list .sv-cell-start .sv-cell-value,
.sv-services-grid--list .sv-cell-due .sv-cell-value{font-size:13px;font-weight:600}
.sv-services-grid--list .sv-cell-actions{justify-self:center;margin:0}
.sv-services-grid--list .sv-cell-actions .sv-btn{flex:none;padding:8px 14px!important;font-size:12.5px!important;white-space:nowrap}
.sv-service-card{
    position:relative;display:flex;flex-direction:column;
    background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
    padding:22px 22px 20px;
    box-shadow:var(--sh-sm);
    transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;
    cursor:pointer;overflow:hidden;
}
.sv-service-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--grad-soft);opacity:0;transition:opacity .3s;
}
.sv-service-card:hover{
    transform:translateY(-8px);box-shadow:var(--sh-md);border-color:var(--sky-300);
}
.sv-service-card:hover::before{opacity:1}

/* ---------- Bố cục cell — chế độ thẻ ---------- */
.sv-service-card{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
        "product product"
        "status  status"
        "start   due"
        "price   price"
        "actions actions";
    gap:0 12px;
}
.sv-cell-num{display:none}
.sv-cell-product{grid-area:product;display:flex;align-items:center;gap:12px;min-width:0}
.sv-cell-product .sv-service-card-name{margin:0;min-height:0}
.sv-cell-product-info{display:flex;flex-direction:column;gap:5px;min-width:0}
/* Badge trạng thái: nằm NGAY DƯỚI tên miền (không còn góc phải) */
.sv-cell-status{grid-area:status;justify-self:start;margin-top:10px}
/* Badge ở dạng thẻ thu nhỏ 30% so với mặc định (dạng danh sách giữ nguyên) */
.sv-services-grid:not(.sv-services-grid--list) .sv-cell-status .sv-service-card-status{
    font-size:8.4px;padding:4.2px 8.4px;gap:4.2px;
}
.sv-services-grid:not(.sv-services-grid--list) .sv-cell-status .sv-service-card-status i{font-size:7.7px}
/* Bỏ khối SSL ở cả hai dạng hiển thị */
.sv-cell-ssl{display:none}
/* Chấm xanh: dịch vụ còn hạn sử dụng */
.sv-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:2px}
.sv-dot-active{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.sv-cell-price{grid-area:price;margin-top:14px}
.sv-cell-start{grid-area:start;margin-top:14px}
.sv-cell-due{grid-area:due;margin-top:14px}
.sv-cell-price,.sv-cell-start,.sv-cell-due{
    background:#f8fafc;border:1px solid var(--line);border-radius:12px;
    padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0;
}
.sv-cell-label{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.01em}
.sv-cell-value{color:var(--ink);font-size:14px;font-weight:800;line-height:1.25;word-break:break-word}
.sv-cell-sub{color:var(--muted);font-size:11.5px;font-weight:500}
/* Giá thuê: giá + chu kỳ trên CÙNG 1 dòng */
.sv-cell-price-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.sv-cell-actions{grid-area:actions;display:flex;gap:8px;margin-top:14px}
.sv-cell-actions .sv-btn{flex:1;justify-content:center;padding:10px 14px;font-size:13px;border-radius:var(--r-sm)}

/* Top: icon + status */
.sv-service-card-top{
    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
    margin-bottom:14px;
}
.sv-service-card-icon{
    width:52px;height:52px;border-radius:14px;flex:0 0 auto;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;color:#fff;
    background:var(--grad);
    box-shadow:0 10px 24px rgba(14,165,233,.30);
    transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.sv-service-card:hover .sv-service-card-icon{transform:scale(1.08) rotate(-4deg)}
.sv-service-card-icon--hosting{background:linear-gradient(135deg,#22d3ee,#0ea5e9)}
.sv-service-card-icon--domain{background:linear-gradient(135deg,#a78bfa,#6366f1)}
.sv-service-card-icon--email{background:linear-gradient(135deg,#fbbf24,#f59e0b)}
.sv-service-card-icon--ssl{background:linear-gradient(135deg,#34d399,#059669)}

.sv-service-card-status{
    display:inline-flex;align-items:center;gap:6px;
    padding:6px 12px;border-radius:var(--r-pill);
    font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;
    border:1px solid transparent;
}
.sv-service-card-status i{font-size:11px}
.sv-service-card-status.status-active{
    background:#ecfdf5;color:#047857;border-color:#a7f3d0;
}
.sv-service-card-status.status-pending{
    background:#fffbeb;color:#b45309;border-color:#fde68a;
}
.sv-service-card-status.status-suspended{
    background:#fef2f2;color:#b91c1c;border-color:#fecaca;
}
.sv-service-card-status.status-cancelled{
    background:#f1f5f9;color:#475569;border-color:#cbd5e1;
}
.sv-service-card-status.status-terminated{
    background:#f1f5f9;color:#334155;border-color:#cbd5e1;
}
.sv-service-card-status.status-default{
    background:var(--sky-50);color:var(--sky-700);border-color:var(--sky-200);
}

/* Card body: tÃªn + domain + SSL */
.sv-service-card-body{margin-bottom:18px}
.sv-service-card-name{
    font-size:17px;font-weight:800;color:var(--ink);margin:0 0 8px;line-height:1.35;
    letter-spacing:-.01em;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    min-height:2.7em;
}
.sv-service-card-domain{
    display:inline-flex;align-items:center;gap:7px;
    color:var(--sky-700);font-size:13px;font-weight:600;
    text-decoration:none;word-break:break-all;
    transition:color .2s;
}
.sv-service-card-domain:hover{color:var(--sky-800);text-decoration:none}
.sv-service-card-domain i{color:var(--sky-500);font-size:11px;flex:0 0 auto}
.sv-service-card-domain--empty{color:var(--muted);cursor:default}
.sv-service-card-domain--empty:hover{color:var(--muted)}
.sv-service-card-ssl{
    display:inline-flex;align-items:center;gap:6px;
    margin-top:8px;padding:4px 10px;border-radius:var(--r-pill);
    background:var(--sky-50);border:1px solid var(--sky-200);
    color:var(--sky-700);font-size:11.5px;font-weight:600;
}
.sv-service-card-ssl img{width:14px;height:14px;flex:0 0 auto}
.sv-service-card-ssl--off{background:#f8fafc;border-color:#e2e8f0;color:var(--muted)}

/* Meta: phÃ­ + ngÃ y Ä‘áº¿n háº¡n */
.sv-service-card-meta{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
    padding:14px 0;margin-bottom:16px;
    border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);
}
.sv-service-card-meta-item{display:flex;flex-direction:column;gap:2px;min-width:0}
.sv-service-card-meta-label{color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.sv-service-card-meta-value{color:var(--ink);font-size:14px;font-weight:800;line-height:1.2;word-break:break-word}
.sv-service-card-meta-sub{color:var(--muted);font-size:11.5px;font-weight:500}

/* Actions */
.sv-service-card-actions{
    display:flex;gap:8px;margin-top:auto;
}
.sv-service-card-actions .sv-btn{
    flex:1;justify-content:center;padding:10px 14px;
    font-size:13px;border-radius:var(--r-sm);
}
.sv-btn-sm{padding:10px 16px!important;font-size:13px!important}
.sv-service-card-actions .sv-btn-outline{
    background:transparent;color:var(--sky-700);border:1.5px solid var(--sky-300);
}
.sv-service-card-actions .sv-btn-outline:hover{
    background:var(--sky-50);border-color:var(--sky-500);color:var(--sky-800);
}

/* ---------- Empty state khi filter rá»—ng ---------- */
.sv-services-empty{
    text-align:center;background:#fff;border:1px dashed var(--sky-300);
    border-radius:var(--r-lg);padding:48px 24px;margin-bottom:30px;
    box-shadow:var(--sh-sm);
}
.sv-services-empty-icon{
    width:74px;height:74px;margin:0 auto 18px;border-radius:50%;
    background:var(--sky-50);color:var(--sky-600);
    display:flex;align-items:center;justify-content:center;font-size:28px;
    box-shadow:inset 0 0 0 1px var(--sky-200);
}
.sv-services-empty h3{font-size:20px;font-weight:800;margin:0 0 6px;color:var(--ink)}
.sv-services-empty p{color:var(--muted);font-size:14px;margin:0 0 18px}

/* ---------- Empty state khi chÆ°a cÃ³ dá»‹ch vá»¥ nÃ o ---------- */
.sv-services-empty-state{
    position:relative;overflow:hidden;
    padding:90px 24px;border-radius:var(--r-lg);
    background:
        radial-gradient(700px 360px at 90% -20%,rgba(34,211,238,.30),transparent 60%),
        radial-gradient(620px 320px at -6% 116%,rgba(14,165,233,.32),transparent 60%),
        var(--grad-dark);
    box-shadow:0 30px 70px rgba(2,20,50,.30);
    text-align:center;
}
.sv-services-empty-state-glow{
    position:absolute;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(34,211,238,.30),transparent 65%);
    top:-180px;right:-110px;filter:blur(10px);pointer-events:none;
}
.sv-services-empty-state-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;pointer-events:none}
.sv-services-empty-state-orb-1{width:340px;height:340px;background:#0ea5e9;bottom:-150px;left:-90px}
.sv-services-empty-state-orb-2{width:280px;height:280px;background:#22d3ee;top:-130px;right:-70px;opacity:.30}
.sv-services-empty-state-inner{position:relative;z-index:2;max-width:560px;margin:0 auto}
.sv-services-empty-state-icon{
    width:96px;height:96px;margin:0 auto 22px;border-radius:26px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(186,230,253,.32);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    display:flex;align-items:center;justify-content:center;
    font-size:40px;color:#fff;
    box-shadow:0 18px 40px rgba(2,20,50,.5),inset 0 1px 0 rgba(255,255,255,.10);
}
.sv-services-empty-state h2{
    color:#fff;font-size:30px;font-weight:800;margin:0 0 12px;letter-spacing:-.015em;
    text-shadow:0 4px 24px rgba(2,44,90,.5);
}
.sv-services-empty-state p{color:rgba(224,242,254,.78);font-size:15.5px;line-height:1.7;margin:0 0 26px}
.sv-services-empty-state-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sv-services-empty-state-actions .sv-btn-ghost{
    color:#e0f2fe!important;border-color:rgba(186,230,253,.45);background:rgba(255,255,255,.06);
}
.sv-services-empty-state-actions .sv-btn-ghost:hover{
    background:rgba(255,255,255,.18);color:#fff!important;border-color:transparent;
}

/* ---------- Phân trang ---------- */
.sv-services-pagination{
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
    margin-top:18px;padding:16px 20px;
    background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
    box-shadow:var(--sh-sm);
}
.sv-services-page-info{font-size:13px;font-weight:600;color:var(--muted)}
.sv-services-page-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sv-page-btn{
    min-width:38px;height:38px;padding:0 10px;
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--line);border-radius:12px;
    background:#fff;color:var(--ink);font-size:13.5px;font-weight:700;
    cursor:pointer;transition:all .2s ease;font-family:var(--font);
}
.sv-page-btn:hover:not(:disabled){
    border-color:var(--sky-300);color:var(--sky-700);
    transform:translateY(-1px);box-shadow:var(--sh-sm);
}
.sv-page-btn.active{
    background:var(--grad);border-color:transparent;color:#fff;
    box-shadow:0 8px 18px rgba(14,165,233,.32);
}
.sv-page-btn:disabled{opacity:.45;cursor:not-allowed}
.sv-page-dots{color:var(--muted);font-weight:700;padding:0 2px}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
    .sv-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
    .sv-services-hero{padding:34px 0 38px;border-radius:var(--r-md)}
    .sv-services-hero-inner{grid-template-columns:1fr;gap:24px;padding:0 18px}
    .sv-services-hero-text h1{font-size:24px}
    .sv-services-hero-stats{grid-template-columns:1fr 1fr}
    .sv-services-hero-stat{padding:12px 14px;gap:10px}
    .sv-services-hero-stat-num{font-size:16px}
    .sv-services-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
    .sv-services-search{grid-column:1 / -1;width:100%}
    .sv-services-filter{width:100%;min-width:0}
    .sv-services-view-toggle{margin-left:0;width:auto;flex:none;justify-content:center}
    .sv-service-card{padding:20px}
    .sv-services-pagination{flex-direction:column;text-align:center}
    .sv-services-empty-state{padding:60px 18px}
    .sv-services-empty-state h2{font-size:24px}
}
/* Dưới 650px mới xếp 1 cột — 650→768 vẫn 2 card */
@media (max-width:649px){
    .sv-services-grid{grid-template-columns:1fr;gap:16px}
}
@media (max-width:380px){
    .sv-services-hero-stats{grid-template-columns:1fr}
}

/* =====================================================================
   SV-SKY v2 - Trang Hóa đơn (clientarea.php?action=invoices)
   Bảng trong khung rõ ràng, đồng bộ ngôn ngữ thiết kế với My Services.
   ===================================================================== */
.sv-invoices-table-frame{
    background:#fff;
    border:1px solid var(--sky-200);
    border-radius:var(--r-lg);
    box-shadow:var(--sh-md);
    overflow:hidden;
    margin-bottom:22px;
}
.sv-invoices-table-scroll{overflow-x:auto;padding-bottom:0}
.sv-invoices-table{
    --sv-inv-cols:40px 34px 110px minmax(0,1.7fr) 110px 110px 120px 150px 96px;
    min-width:1060px;display:flex;flex-direction:column;
}

/* Hàng tiêu đề — cùng cấu trúc với bảng My Services (.sv-services-list-head) */
.sv-invoices-list-head{
    display:grid;grid-template-columns:var(--sv-inv-cols);
    align-items:center;gap:0 14px;
    position:sticky;top:0;z-index:2;
    background:linear-gradient(180deg,#f8fbff,#eef6ff);
    border-bottom:2px solid var(--sky-200);
    color:var(--sky-800);
    font-size:12.5px;font-weight:700;
    letter-spacing:.01em;
    padding:12px 18px;
}
.sv-invoices-list-head .sv-lh-num{color:var(--muted)}
.sv-invoices-list-head .sv-lh-actions{justify-self:center}

.sv-invoices-row{
    display:grid;grid-template-columns:var(--sv-inv-cols);
    align-items:center;gap:0 14px;
    padding:13px 20px;
    border-top:1px solid var(--line);
    transition:background .18s ease,box-shadow .18s ease;
}
.sv-invoices-row:hover{background:#f4faff}
/* Chỉ Mã đơn / Dịch vụ là vùng bấm mở chi tiết */
.sv-inv-code,.sv-inv-service{cursor:pointer}
.sv-inv-code:hover span,.sv-inv-service:hover .sv-inv-service-name{color:var(--sky-600);text-decoration:underline}

.sv-inv-cell{min-width:0;font-size:13.5px;color:var(--ink);font-weight:600}
.sv-inv-num{color:var(--muted);font-size:12.5px;font-weight:700}
.sv-inv-code{display:flex;align-items:center;gap:9px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv-inv-code-icon{color:var(--sky-500);font-size:15px;flex:0 0 auto}

/* Cột Dịch vụ: tên gói + tên VPS */
.sv-inv-service{display:flex;flex-direction:column;gap:6px;min-width:0}
.sv-inv-service-item{display:flex;align-items:center;gap:9px;min-width:0}
.sv-inv-service-item>i{color:var(--sky-500);font-size:12px;flex:0 0 auto}
.sv-inv-service-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.sv-inv-service-name{
    font-size:13px;font-weight:700;color:var(--ink);line-height:1.3;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sv-inv-service-vps{
    font-size:11.5px;font-weight:500;color:var(--muted);line-height:1.3;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sv-inv-service-none{color:var(--muted)}
.sv-inv-date,.sv-inv-due{color:var(--body);font-size:13px;font-weight:600;justify-self:center;text-align:center}

/* Cột checkbox + thanh thanh toán hàng loạt */
.sv-inv-check{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.sv-inv-check input{position:absolute;opacity:0;width:0;height:0}
.sv-inv-check-box{
    display:flex;align-items:center;justify-content:center;
    width:16px;height:16px;border-radius:5px;
    border:1.5px solid #c3d3e4;background:var(--card);
    color:transparent;font-size:8px;transition:all .18s ease;
}
.sv-inv-check:hover .sv-inv-check-box{border-color:var(--sky-400)}
.sv-inv-check input:checked + .sv-inv-check-box{
    background:linear-gradient(135deg,var(--sky-500),var(--sky-600));
    border-color:var(--sky-500);color:#fff;
}
.sv-inv-check input:indeterminate + .sv-inv-check-box{
    background:var(--sky-100);border-color:var(--sky-400);color:var(--sky-600);
}
.sv-inv-check input:focus-visible + .sv-inv-check-box{outline:2px solid var(--sky-400);outline-offset:2px}
.sv-inv-check-cell{justify-self:center}

.sv-inv-bulkbar{
    margin:0 0 22px;
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
    padding:14px 18px;
    border-radius:var(--r-md);
    border:1px solid var(--sky-200);
    background:linear-gradient(135deg,#f0f9ff,#e0f2fe);
    box-shadow:var(--sh-sm);
}
.sv-inv-bulkbar.hidden{display:none}
.sv-inv-bulkbar-info{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--ink)}
.sv-inv-bulkbar-info>i{color:var(--sky-600);font-size:15px}
.sv-inv-bulkbar-info b{color:var(--sky-700)}
.sv-inv-bulkbar-sep{color:var(--muted)}
.sv-inv-bulkbar-actions{display:flex;align-items:center;gap:10px}
.sv-inv-bulkbar-actions form{display:flex;align-items:center;gap:10px;margin:0}
.sv-inv-total{font-weight:800;white-space:nowrap;justify-self:center;text-align:center}
.sv-inv-status{display:flex;align-items:center;justify-content:center;justify-self:center}

/* Badge trạng thái */
.sv-inv-badge{
    display:inline-flex;align-items:center;gap:6px;
    padding:6px 12px;border-radius:var(--r-pill);
    font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;
    border:1px solid transparent;
}
.sv-inv-badge i{font-size:11px}
.sv-inv-badge-paid{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.sv-inv-badge-unpaid{background:#fffbeb;color:#b45309;border-color:#fde68a}
.sv-inv-badge-payment-pending{background:#fffbeb;color:#b45309;border-color:#fde68a}
.sv-inv-badge-cancelled{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.sv-inv-badge-refunded{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.sv-inv-badge-collections{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.sv-inv-badge-default{background:var(--sky-50);color:var(--sky-700);border-color:var(--sky-200)}
.sv-inv-badge-expired{background:#fef2f2;color:#b91c1c;border-color:#fecaca}

/* Hàng quá hạn: khóa chọn + khóa xem */
.sv-inv-row--locked{cursor:not-allowed;background:#fafbfd}
.sv-inv-row--locked:hover{background:#fafbfd;box-shadow:none}
.sv-inv-lock-ic{color:#b6c2d2;font-size:12px;justify-self:center}
.sv-inv-btn-locked{
    display:inline-flex;align-items:center;gap:6px;
    background:#eef2f7!important;color:#8a97a8!important;
    border:none;box-shadow:none!important;
    cursor:not-allowed;pointer-events:none;
}
/* Nút "Bỏ chọn" trên bulkbar: nền trắng viền xanh (sửa lỗi màu ghost trên nền sáng) */
.sv-inv-bulkbar .sv-btn-ghost{
    background:#fff;color:var(--sky-700)!important;
    border:1.5px solid var(--sky-300);
}
.sv-inv-bulkbar .sv-btn-ghost:hover{
    background:var(--sky-50);color:var(--sky-800)!important;
    border-color:var(--sky-500);transform:translateY(-1px);
}

.sv-inv-actions{text-align:center;justify-self:center}
.sv-inv-actions .sv-btn{flex:none;padding:8px 14px!important;font-size:12.5px!important;white-space:nowrap}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
    .sv-invoices-table{--sv-inv-cols:36px 30px 100px minmax(0,1.7fr) 100px 100px 110px 140px 92px;min-width:1040px}
}
@media (max-width:767px){
    .sv-invoices-table-frame{border-radius:var(--r-md)}
    .sv-invoices-row{padding:12px 14px;gap:0 10px}
    .sv-invoices-list-head{padding:12px 14px;gap:0 10px}
    .sv-inv-cell{font-size:12.5px}
    .sv-inv-badge{padding:5px 9px;font-size:11px}
}
/* Dưới 500px: bulkbar xếp dọc, nút chồng trên dưới full-width */
@media (max-width:500px){
    .sv-inv-bulkbar{flex-direction:column;align-items:stretch}
    .sv-inv-bulkbar-info{justify-content:center;flex-wrap:wrap}
    .sv-inv-bulkbar-actions{flex-direction:column;align-items:stretch}
    .sv-inv-bulkbar-actions form{flex-direction:column;align-items:stretch}
    .sv-inv-bulkbar-actions .sv-btn{width:100%;justify-content:center}
}

/* =====================================================================
   SV-SKY v2 - Trang Quản lý dịch vụ (clientarea.php?action=productdetails)
   Hero tối + card trắng, cùng ngôn ngữ thiết kế với My Services.
   Sidebar bị bỏ; card hành động tách thành thanh hành động riêng.
   ===================================================================== */
.sv-pd-hero{
    position:relative;overflow:hidden;
    padding:34px 30px 28px;margin-bottom:22px;
    border-radius:22px;
    background:
        radial-gradient(760px 320px at 92% -16%,rgba(34,211,238,.30),transparent 62%),
        radial-gradient(640px 300px at -6% 116%,rgba(14,165,233,.32),transparent 62%),
        var(--grad-dark);
    box-shadow:0 26px 64px rgba(2,20,50,.24);
}
.sv-pd-hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(148,197,255,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(148,197,255,.06) 1px,transparent 1px);
    background-size:44px 44px;
    -webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%);
    mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%);
}
.sv-pd-orb{position:absolute;border-radius:50%;filter:blur(46px);pointer-events:none;opacity:.5;z-index:1}
.sv-pd-orb-1{
    width:280px;height:280px;top:-100px;right:-70px;
    background:radial-gradient(circle at 30% 30%,rgba(56,189,248,.55),rgba(56,189,248,0) 70%);
    animation:svPdFloat 9s ease-in-out infinite;
}
.sv-pd-orb-2{
    width:230px;height:230px;bottom:-120px;left:-50px;
    background:radial-gradient(circle at 60% 40%,rgba(14,165,233,.5),rgba(14,165,233,0) 70%);
    animation:svPdFloat 11s ease-in-out infinite reverse;
}
@keyframes svPdFloat{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(-16px,14px,0)}
}
.sv-pd-hero-top{
    position:relative;z-index:2;
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
    margin-bottom:20px;
}
.sv-pd-hero-id{display:flex;align-items:center;gap:18px;min-width:0}
.sv-pd-kicker{
    display:inline-flex;align-items:center;gap:7px;
    font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
    color:#7dd3fc;margin-bottom:6px;
}
.sv-pd-hero-title h1{
    margin:0;color:#fff;font-size:24px;font-weight:800;letter-spacing:-.015em;line-height:1.2;
    text-shadow:0 4px 24px rgba(2,44,90,.5);
}
.sv-pd-hero-sub{color:rgba(224,242,254,.72);font-size:13px;font-weight:600;margin-top:4px}
.sv-pd-hero-status{
    display:inline-flex;align-items:center;gap:9px;
    padding:9px 18px;border-radius:var(--r-pill);
    font-size:12.5px;font-weight:700;
    background:rgba(148,163,184,.15);color:#cbd5e1;border:1px solid rgba(148,163,184,.4);
    backdrop-filter:blur(6px);
}
.sv-pd-dot{
    width:8px;height:8px;border-radius:50%;background:currentColor;flex:none;
    animation:svPdPulse 2s ease-out infinite;
}
@keyframes svPdPulse{
    0%{box-shadow:0 0 0 0 rgba(255,255,255,.35)}
    70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}
    100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
.sv-pd-hero-status.status-active{background:rgba(52,211,153,.16);color:#6ee7b7;border-color:rgba(52,211,153,.45);padding:6px 12px;gap:6px;font-size:11px}
.sv-pd-hero-status.status-active .sv-pd-dot{width:6px;height:6px;animation-name:svPdPulseGreen}
@keyframes svPdPulseGreen{
    0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}
    70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}
    100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}
}
.sv-pd-hero-status.status-pending{background:rgba(250,204,21,.14);color:#fde047;border-color:rgba(250,204,21,.45)}
.sv-pd-hero-status.status-suspended,
.sv-pd-hero-status.status-cancelled,
.sv-pd-hero-status.status-terminated{background:rgba(248,113,113,.14);color:#fca5a5;border-color:rgba(248,113,113,.45)}
.sv-pd-hero-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Nhãn "Sắp hết hạn" — thu nhỏ ~30% so với bản cũ */
.sv-pd-renew-btn{
    display:inline-flex;align-items:center;gap:6px;
    padding:7px 12px;border-radius:var(--r-pill);
    font-size:11px;font-weight:800;color:#fff;text-decoration:none;
    background:linear-gradient(135deg,#f59e0b,#f97316);
    box-shadow:0 4px 12px rgba(249,115,22,.35);
    transition:transform .18s ease, box-shadow .18s ease;
}
.sv-pd-renew-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(249,115,22,.45);color:#fff;text-decoration:none}
.sv-pd-renew-btn i{font-size:10px}

/* Nút "Thanh toán" trong alert hóa đơn chưa thanh toán (productdetails) */
.sv-pd-pay-btn{
    display:inline-flex;align-items:center;gap:7px;
    padding:7px 16px;border-radius:var(--r-pill);border:none;
    font-size:12px;font-weight:800;color:#fff;text-decoration:none;white-space:nowrap;
    background:linear-gradient(135deg,#f59e0b,#f97316);
    box-shadow:0 4px 12px rgba(249,115,22,.35);
    transition:transform .18s ease, box-shadow .18s ease;
}
.sv-pd-pay-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(249,115,22,.45);color:#fff;text-decoration:none}
.sv-pd-pay-btn i{font-size:11px}
/* Căn giữa dọc nút Thanh toán trong khối alert hóa đơn */
#alertUnpaidInvoice{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#alertUnpaidInvoice .pull-right{float:none;margin:0 0 0 auto;order:2}

.sv-pd-hero-cells{
    position:relative;z-index:2;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.sv-pd-cell{
    display:flex;align-items:flex-start;gap:13px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(186,230,253,.18);
    border-radius:14px;
    padding:14px 16px;min-width:0;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.sv-pd-cell:hover{
    background:rgba(255,255,255,.10);
    border-color:rgba(125,211,252,.42);
    transform:translateY(-2px);
}
.sv-pd-cell-body{flex:1;min-width:0}
.sv-pd-cell-label{color:rgba(224,242,254,.62);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}
.sv-pd-cell-value{color:#fff;font-size:14.5px;font-weight:700;word-break:break-word}
.sv-pd-cell-full{grid-column:1/-1}

/* ---------- Card hành động nhanh (cùng hàng ngang với các card nội dung) ---------- */
.sv-pd-hero-body{position:relative;z-index:2;min-width:0}
.sv-pd-main{display:block;min-width:0}
.sv-pd-actions{
    position:relative;overflow:hidden;
    display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px;
    background:#fff;border:1px solid var(--sky-200);border-radius:14px;
    box-shadow:var(--sh-sm);
    padding:16px 16px 14px;margin-bottom:22px;min-width:0;
    transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
/* Vach gradient tren dau card */
.sv-pd-actions::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--grad);opacity:.85;
}
/* Quang sang trang tri goc phai */
.sv-pd-actions::after{
    content:"";position:absolute;top:-46px;right:-46px;width:130px;height:130px;
    border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgba(14,165,233,.16),rgba(14,165,233,0) 70%);
    transition:transform .35s ease,opacity .35s ease;opacity:.7;
}
.sv-pd-actions:hover{
    border-color:var(--sky-400);
    box-shadow:0 14px 34px rgba(14,165,233,.16),var(--sh-sm);
    transform:translateY(-2px);
}
.sv-pd-actions:hover::after{transform:scale(1.25);opacity:1}
.sv-pd-actions-label{
    flex-basis:100%;display:flex;align-items:center;gap:8px;
    font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
    color:var(--sky-500);margin-bottom:2px;
}
.sv-pd-actions-label i{font-size:11px;animation:svBoltPulse 1.8s ease-in-out infinite}
@keyframes svBoltPulse{
    0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(14,165,233,0))}
    50%{transform:scale(1.18);filter:drop-shadow(0 0 6px rgba(14,165,233,.65))}
}
.sv-pd-action{
    display:inline-flex;align-items:center;gap:9px;
    padding:8px 14px 8px 9px;border-radius:10px;
    border:1px solid var(--line);background:#f8fafc;
    color:var(--ink);font-size:13px;font-weight:700;
    text-decoration:none!important;transition:all .22s ease;
}
.sv-pd-action>i{
    width:27px;height:27px;border-radius:7px;flex:none;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(14,165,233,.10);color:var(--sky-600);font-size:12px;
    transition:background .22s ease,color .22s ease,transform .22s ease;
}
.sv-pd-action:hover{
    border-color:var(--sky-400);color:var(--sky-600);
    transform:translateY(-2px);box-shadow:0 8px 18px rgba(14,165,233,.18);
    background:#fff;
}
.sv-pd-action:hover>i{background:rgba(14,165,233,.18);transform:scale(1.08)}
.sv-pd-action.active{
    background:var(--grad);border-color:transparent;color:#fff!important;
    box-shadow:0 8px 20px rgba(14,165,233,.35);
}
.sv-pd-action.active>i{background:rgba(255,255,255,.22);color:#fff}
.sv-pd-action.disabled,.sv-pd-action.disabled:hover{
    opacity:.5;pointer-events:none;transform:none;box-shadow:none;
}
.sv-pd-action-static{cursor:default}
.sv-pd-action .badge{margin-left:2px}
.sv-pd-action-renew{
    border-color:rgba(249,115,22,.55);color:#c2410c;
    background:linear-gradient(135deg,rgba(245,158,11,.14),rgba(249,115,22,.16));
}
.sv-pd-action-renew>i{background:rgba(249,115,22,.2);color:#ea580c}
.sv-pd-action-renew:hover{
    border-color:#f97316;color:#9a3412;
    background:linear-gradient(135deg,rgba(245,158,11,.24),rgba(249,115,22,.26));
}
.sv-pd-action-renew:hover>i{background:rgba(249,115,22,.3);transform:scale(1.08)}

/* Variant xanh lá cho nút Gia hạn — phủ màu cam của .sv-pd-action-renew */
.sv-pd-action-success{background:#ecfdf5;border-color:rgba(16,185,129,.55);color:#047857}
.sv-pd-action-success>i{background:rgba(16,185,129,.18);color:#059669}
.sv-pd-action-success:hover{background:#d1fae5;border-color:#10b981;color:#065f46}
.sv-pd-action-success:hover>i{background:rgba(16,185,129,.32);transform:scale(1.08)}

.sv-pd-sidebody{flex-basis:100%}
.sv-pd-sidebody .btn{margin:4px 6px 0 0}
/* Icon copy da copy thanh cong */
.sv-pd-icobtn.sv-copied{background:#dcfce7;border-color:#86efac;color:#16a34a}

/* ---------- Hang ngang >=1000px: noi dung trai + hanh dong phai, cao bang nhau ---------- */
@media (min-width:1000px){
    .sv-pd-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:stretch;}
    .sv-pd-main > .sv-pd-actions{
        order:2;margin-bottom:0;
        display:flex;flex-direction:column;align-items:stretch;align-self:stretch;
        height:auto;
    }
    .sv-pd-main > .sv-pd-actions .sv-pd-actions-label{flex-basis:auto;}
    .sv-pd-main > .sv-pd-actions .sv-pd-action{width:100%;justify-content:flex-start;}
    .sv-pd-main > .sv-pd-content{order:1;margin-bottom:0;min-width:0;display:flex;flex-direction:column;}
    .sv-pd-main > .sv-pd-content > .tab-pane.active{display:flex;flex-direction:column;flex:1;min-height:0;}
    .sv-pd-main > .sv-pd-content > .tab-pane.active > .sv-pd-card{flex:1;margin-bottom:0;}
}
/* <1000px: 1 cot doc; thanh hanh dong luoi 2 cot */
@media (max-width:999.98px){
    .sv-pd-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .sv-pd-actions-label{grid-column:1/-1;}
    .sv-pd-sidebody{grid-column:1/-1;}
    .sv-pd-action{justify-content:center;padding:9px 10px;}
}
/* Chong tran ngang: iframe virtualizor co noi dung rong khong duoc keo card */
.sv-pd-content{min-width:0;max-width:100%;}
.sv-pd-card{min-width:0;max-width:100%;overflow:hidden;}
.sv-pd-card iframe{max-width:100%;border:none;}

/* ---------- Card nội dung ---------- */
/* Trang productdetails: bỏ nền/border thừa của .tab-content (mỗi khối đã là card riêng) */
.tab-content.sv-pd-content{
    background:transparent;border:none;border-radius:0;
    padding:0;box-shadow:none;
}
.sv-pd-card{
    background:#fff;border:1px solid var(--sky-200);border-radius:var(--r-lg);
    box-shadow:var(--sh-sm);
    padding:22px 24px;margin-bottom:22px;
}
/* Nút ghost trên nền trắng (card) phải dùng tông sáng để nhìn rõ */
.sv-pd-card .sv-btn-ghost,
.sv-pd-v .sv-btn-ghost{
    background:#f1f5f9;color:var(--sky-600)!important;border-color:var(--line);
}
.sv-pd-card .sv-btn-ghost:hover,
.sv-pd-v .sv-btn-ghost:hover{background:#e0f2fe;color:var(--sky-700)!important}
.sv-pd-card-title{margin:0 0 16px;font-size:17px;font-weight:800;color:var(--ink)}
.sv-pd-vpsinfo{padding-bottom:14px;margin-top:22px}
.sv-pd-vpsinfo .sv-pd-card-title{margin-bottom:10px}
.sv-pd-vpsinfo iframe{border:none;width:100%;border-radius:12px}
/* Mỗi hàng: label : giá trị + nút icon nối ngay sau, luôn 1 dòng */
.sv-pd-row{
    display:flex;align-items:center;gap:8px;
    padding:11px 10px;border-bottom:1px dashed var(--line);
    border-radius:10px;transition:background .18s ease;
}
.sv-pd-row:hover{background:#f8fafc}
.sv-pd-row:last-of-type{border-bottom:none}
.sv-pd-k{color:var(--muted);font-size:12.5px;font-weight:700;letter-spacing:.02em;flex:0 0 auto}
.sv-pd-k::after{content:" :"}
.sv-pd-v{
    color:var(--ink);font-size:14px;font-weight:600;word-break:break-word;
    flex:0 1 auto;min-width:0;display:flex;align-items:center;
    justify-content:flex-start;gap:6px;text-align:left;
}
.sv-pd-v a{color:var(--sky-600);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}
.sv-pd-icobtn{
    flex:0 0 auto;width:30px;height:30px;border-radius:9px;
    display:inline-flex;align-items:center;justify-content:center;
    background:#f1f5f9;border:1px solid var(--line);color:var(--sky-600);
    font-size:12px;cursor:pointer;transition:all .15s ease;padding:0;
}
.sv-pd-icobtn:hover{background:#e0f2fe;color:var(--sky-700);border-color:var(--sky-300)}
.sv-pd-secret{font-weight:700;letter-spacing:.05em}
.sv-pd-secret.sv-pd-secret-masked{letter-spacing:.22em;color:var(--muted)}
.sv-pd-rowbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.sv-btn-danger{
    background:linear-gradient(135deg,#f87171,#dc2626);color:#fff!important;
    box-shadow:0 10px 26px rgba(220,38,38,.35);
}
.sv-btn-danger:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(220,38,38,.45)}
.sv-btn-danger.disabled,.sv-btn-danger.disabled:hover{
    opacity:.55;pointer-events:none;transform:none;
}
.sv-pd-module{margin-top:16px}
.sv-pd-usage{display:flex;gap:44px;justify-content:center;flex-wrap:wrap;padding:8px 0 4px}
.sv-pd-usage-item{text-align:center}
.sv-pd-usage-item h4{font-size:14px;font-weight:800;color:var(--ink)}
.sv-pd-muted{color:var(--muted);font-size:12.5px;text-align:center;margin:14px 0 0}
.sv-pd-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sv-pd-download{
    position:relative;overflow:hidden;
    border:1px solid var(--line);border-radius:14px;
    padding:16px 18px;background:#f8fafc;
    transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.sv-pd-download::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--grad);opacity:0;transition:opacity .2s ease;
}
.sv-pd-download:hover{
    border-color:var(--sky-400);background:#fff;
    transform:translateY(-3px);box-shadow:0 12px 26px rgba(14,165,233,.14);
}
.sv-pd-download:hover::before{opacity:1}
.sv-pd-download h4{font-size:14.5px;font-weight:800;color:var(--ink);margin:0 0 8px}
.sv-pd-download p{color:var(--muted);font-size:13px}
.sv-pd-addon{
    border:1px solid var(--line);border-radius:var(--r-md);
    padding:16px 18px;margin-bottom:14px;background:#f8fafc;
}
.sv-pd-addon:last-child{margin-bottom:0}
.sv-pd-addon-head{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    margin-bottom:6px;
}
.sv-pd-addon-name{font-size:14.5px;font-weight:800;color:var(--ink)}
.sv-pd-addon-status{
    display:inline-flex;align-items:center;gap:6px;
    padding:4px 12px;border-radius:var(--r-pill);
    font-size:11px;font-weight:700;
    background:rgba(148,163,184,.15);color:#64748b;
}
.sv-pd-addon-status.status-active{background:rgba(52,211,153,.14);color:#059669}
.sv-pd-addon-actions{margin-top:12px}
.sv-pd-form .form-control{border-radius:var(--r-sm);border-color:var(--line)}
.sv-pd-form .control-label{font-weight:700;color:var(--ink);font-size:13px}

/* ---------- Form doi mat khau: bo cuc doc 1 cot, icon mat/copy ---------- */
.sv-pw-form{max-width:640px;margin:0 auto}
.sv-pw-form br{display:none}
.sv-pw-row{margin-bottom:16px}
.sv-pw-row > label{
    display:block;font-size:12.5px;font-weight:800;color:var(--ink);
    letter-spacing:.02em;margin-bottom:7px;
}
.sv-pw-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sv-pw-field{position:relative;flex:1;min-width:220px}
.sv-pw-field .form-control{
    width:100%;height:42px;padding:8px 74px 8px 14px;
    font-size:13.5px;font-weight:600;letter-spacing:.02em;
}
.sv-pw-field .form-control:focus{padding-right:74px}
/* Icon copy + mat ben phai o nhap */
.sv-pw-eye,.sv-pw-copy{
    position:absolute;top:50%;transform:translateY(-50%);
    width:30px;height:30px;border:none;border-radius:8px;
    display:inline-flex;align-items:center;justify-content:center;
    background:transparent;color:#94a3b8;font-size:13px;cursor:pointer;
    transition:background .2s ease,color .2s ease;
}
.sv-pw-eye{right:8px}
.sv-pw-copy{right:40px}
.sv-pw-eye:hover,.sv-pw-copy:hover{background:rgba(14,165,233,.12);color:var(--sky-600)}
.sv-pw-eye.sv-eye-on{color:var(--sky-600)}
.sv-pw-copy.sv-copied{background:#dcfce7;color:#16a34a}
/* Khi chi co icon mat (o xac nhan) */
.sv-pw-field .form-control.sv-pw-one-icon{padding-right:44px}
/* Nut tao mat khau */
.sv-genpw{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.sv-genpw i{font-size:12px;color:var(--sky-600)}
/* Thanh suc manh mat khau: ngay duoi o xac nhan */
.sv-pw-form #passwordStrengthBar{
    height:8px;border-radius:99px;background:#e6edf6;
    box-shadow:none;margin:12px 0 0;overflow:hidden;
}
.sv-pw-form #passwordStrengthBar .progress-bar{
    border-radius:99px;transition:width .35s ease;
    background:#94a3b8;
}
.sv-pw-form #passwordStrengthBar .progress-bar-danger{background:linear-gradient(90deg,#ef4444,#f87171)}
.sv-pw-form #passwordStrengthBar .progress-bar-warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.sv-pw-form #passwordStrengthBar .progress-bar-success{background:linear-gradient(90deg,#16a34a,#4ade80)}
/* An ghi chu meo mat khau */
.sv-pw-form .alert-info{display:none}
/* Dong loi yeu cau mat khau */
.sv-pw-err{
    display:none;margin-top:9px;font-size:12px;font-weight:600;color:#dc2626;
    background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:7px 12px;
}
.sv-pw-form.sv-pw-invalid .sv-pw-err{display:block}
/* Loi khop mat khau xac nhan */
#inputNewPassword2Msg{width:100%}
#inputNewPassword2Msg .sv-pw-mismatch{
    margin:9px 0 0;font-size:12px;font-weight:600;color:#dc2626;
    background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:7px 12px;
}
/* Nut trong form: nho gon */
.sv-pw-form .sv-btn{padding:8px 16px;font-size:12.5px;border-radius:9px;gap:7px}
.sv-pw-form .sv-btn i{font-size:11px}
/* Hang nut */
.sv-pw-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}

/* ---------- Toast thong bao chung: ten hanh dong + trang thai ---------- */
#svToastStack{
    position:fixed;top:18px;right:18px;z-index:10000;
    display:flex;flex-direction:column;gap:10px;
    max-width:min(380px,calc(100vw - 36px));pointer-events:none;
}
.sv-toast{
    pointer-events:auto;display:flex;align-items:flex-start;gap:12px;
    background:#fff;border-radius:14px;padding:12px 16px 12px 14px;
    box-shadow:0 12px 34px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.08);
    border:1px solid var(--line);border-left-width:4px;
    animation:svToastIn .3s cubic-bezier(.21,1.02,.73,1) both;
}
.sv-toast.sv-toast-out{animation:svToastOut .3s ease both}
.sv-toast > i{font-size:17px;margin-top:2px}
.sv-toast-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.sv-toast-action{font-size:13px;font-weight:800;color:var(--ink)}
.sv-toast-msg{font-size:12.5px;color:#5b6b80;line-height:1.45}
.sv-toast-success{border-left-color:#16a34a}
.sv-toast-success > i{color:#16a34a}
.sv-toast-error{border-left-color:#ef4444}
.sv-toast-error > i{color:#ef4444}
.sv-toast-warning{border-left-color:#f59e0b}
.sv-toast-warning > i{color:#f59e0b}
.sv-toast-info{border-left-color:var(--sky-500)}
.sv-toast-info > i{color:var(--sky-500)}
@keyframes svToastIn{
    from{opacity:0;transform:translateX(24px) scale(.96)}
    to{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes svToastOut{
    from{opacity:1;transform:translateX(0)}
    to{opacity:0;transform:translateX(24px)}
}
@media (max-width:575.98px){
    #svToastStack{top:12px;right:12px;left:12px;max-width:none}
}
/* Trang thai has-error/has-success cua whmcs cho o nhap */
.sv-pw-form .has-error .form-control{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.sv-pw-form .has-success .form-control{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.sv-pw-form .has-warning .form-control{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
/* Mobile */
@media (max-width:575.98px){
    .sv-pw-controls{flex-direction:column;align-items:stretch}
    .sv-pw-field{min-width:0}
    .sv-genpw{justify-content:center}
    .sv-pw-actions{flex-direction:column}
    .sv-pw-actions .sv-btn{width:100%}
}

@media (max-width:767px){
    .sv-pd-hero{padding:24px 18px 20px}
    .sv-pd-hero-title h1{font-size:20px}
    .sv-pd-hero-cells{grid-template-columns:1fr}
    .sv-pd-card{padding:18px 16px}
    .sv-pd-row{padding:10px 6px;gap:6px}
    .sv-pd-downloads{grid-template-columns:1fr}
    .sv-pd-actions{padding:12px}
    .sv-pd-action{flex:1 1 auto;justify-content:center}
}
/* Mobile <500px: giữ 1 hàng, nén gọn */
@media (max-width:500px){
    .sv-pd-row{gap:6px;padding:10px 4px}
    .sv-pd-k{font-size:12px}
    .sv-pd-v{font-size:13px;gap:5px}
    .sv-pd-icobtn{width:28px;height:28px;font-size:11px}
}

/* ============================ NÚT GIA HẠN (alert sắp hết hạn) ============================ */
/* Trang chủ: nút bo tròn mỗi dịch vụ - cùng phong cách sv-ca-alert-btn */
.sv-ca-alert-btn-renew{
    width:auto;min-width:36px;height:36px;padding:0 14px;border-radius:18px;
    background:linear-gradient(135deg,var(--sky-500,#0ea5e9),var(--sky-600,#0284c7));
    color:#fff!important;font-size:12px;font-weight:700;gap:6px;
}
.sv-ca-alert-btn-renew:hover{box-shadow:0 8px 18px rgba(14,165,233,.45)}
/* Trang services: mỗi dịch vụ một dòng + nút gia hạn inline */
.sv-svc-exp-item{
    display:flex;align-items:center;flex-wrap:wrap;gap:6px;
    margin-top:3px;line-height:1.4;
}
.sv-svc-exp-item:first-child{margin-top:1px}
/* Nút gia hạn cùng cỡ + hình dáng với nút Thanh toán */
.sv-svc-renew-btn{
    flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:9px 16px;border-radius:var(--r-pill);
    background:linear-gradient(135deg,var(--sky-500,#0ea5e9),var(--sky-600,#0284c7));
    color:#fff!important;font-size:12.5px;font-weight:700;
    text-decoration:none!important;white-space:nowrap;
    border:1px solid transparent;
    box-shadow:0 2px 8px rgba(14,165,233,.35);
    transition:transform .2s,box-shadow .2s;
}
.sv-svc-renew-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(14,165,233,.5)}
.sv-svc-renew-btn i{font-size:11px}
/* Màn hình nhỏ < 500px: icon nằm cùng hàng văn bản; nút trải full ngang.
   Lưu ý: flex-basis PHẢI = 0 (không dùng auto) vì thuật toán xuống dòng của
   flexbox dùng max-content của text để bẻ dòng — basis auto sẽ đẩy body xuống
   hàng riêng, bỏ mặc icon đứng lẻ. */
@media (max-width:500px){
    .sv-svc-alert{gap:10px}
    .sv-svc-alert-body{min-width:0;flex:1 1 0}
    .sv-svc-alert-btn{flex:1 1 100%;white-space:normal}
    .sv-svc-alert-actions{flex:1 1 100%;align-items:stretch}
    .sv-svc-renew-btn{flex:1 1 100%;width:100%;white-space:normal}
}

/* ============================ PAGE HEADER REVEAL EFFECT ============================ */
.sv-page-header{
    position:relative;overflow:hidden;
    padding:52px 0 44px;margin:0;
    background:
        radial-gradient(700px 300px at 90% -20%,rgba(34,211,238,.24),transparent 60%),
        var(--grad-dark);
}
.sv-page-header .sv-page-header-inner{position:relative;z-index:2}
.sv-page-header .sv-page-header-title{
    color:#fff;font-weight:800;font-size:30px;margin:0;letter-spacing:-.01em;
}
.sv-page-header .sv-breadcrumb{
    display:flex;align-items:center;gap:8px;margin:10px 0 0;
    font-size:13.5px;font-weight:500;
}
.sv-page-header .sv-breadcrumb a{color:rgba(224,242,254,.85);text-decoration:none}
.sv-page-header .sv-breadcrumb a:hover{color:var(--cyan)}
.sv-page-header .sv-breadcrumb .sv-bc-sep{color:rgba(224,242,254,.4)}
.sv-page-header .sv-breadcrumb .sv-bc-current{color:var(--cyan)}
.sv-page-header .sv-breadcrumb a i{font-size:12px;margin-right:2px}
@media(max-width:767px){
    .sv-page-header{padding:38px 0 32px}
    .sv-page-header .sv-page-header-title{font-size:23px}
}
.sv-page-header{position:relative;overflow:hidden}
.sv-page-header .sv-page-header-title{
    opacity:0;transform:translateY(24px) scale(.98);
    transition:opacity .65s cubic-bezier(.22,.9,.36,1),transform .65s cubic-bezier(.22,.9,.36,1);
}
.sv-page-header .sv-breadcrumb{
    opacity:0;transform:translateX(-18px);
    transition:opacity .6s ease .18s,transform .6s ease .18s;
}
.sv-page-header.sv-revealed .sv-page-header-title{opacity:1;transform:none}
.sv-page-header.sv-revealed .sv-breadcrumb{opacity:1;transform:none}
/* vach sang quet ngang khi reveal */
.sv-page-header.sv-revealed::after{
    content:"";position:absolute;top:0;left:-40%;width:36%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(148,197,255,.14),transparent);
    transform:skewX(-14deg);pointer-events:none;
    animation:svPageShine 1.1s .25s ease forwards;
}
@keyframes svPageShine{to{left:130%}}
@media (prefers-reduced-motion:reduce){
    .sv-page-header .sv-page-header-title,
    .sv-page-header .sv-breadcrumb{opacity:1;transform:none;transition:none}
    .sv-page-header.sv-revealed::after{animation:none;display:none}
}

/* ============================ FLASH MESSAGE ============================ */
.sv-flash{
    display:flex;align-items:flex-start;gap:10px;
    padding:12px 16px;border-radius:8px;font-size:13.5px;font-weight:500;line-height:1.55;
    margin:0 2px 16px;border:1px solid transparent;
}
.sv-flash > i{margin-top:2px;font-size:14px}
.sv-flash-error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.sv-flash-error > i{color:#ef4444}
.sv-flash-warn{background:#fffbeb;color:#b45309;border-color:#fde68a}
.sv-flash-warn > i{color:#f59e0b}
.sv-flash-success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.sv-flash-success > i{color:#22c55e}
.sv-flash-info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.sv-flash-info > i{color:#3b82f6}
.sv-btn.sv-btn-ghost{
    background:rgba(2,132,199,.08)!important;color:#0369a1!important;
    border:1.5px solid rgba(2,132,199,.7);font-weight:600;
    box-shadow:0 4px 14px -6px rgba(2,132,199,.35);
}
.sv-btn.sv-btn-ghost:hover{background:rgba(2,132,199,.16)!important;border-color:#0284c7;color:#075985!important}
/* Danh sách link 404 cũng cần màu rõ */
.sv-404-links a{color:#0369a1}
.sv-404-links a:hover{color:#075985}

/* ============================ 404 PAGE ============================ */
.sv-404{padding:64px 0 80px}
.sv-404-box{max-width:640px;margin:0 auto;text-align:center}
.sv-404-code{display:flex;justify-content:center;align-items:center;gap:10px;font-size:96px;font-weight:900;line-height:1;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text}
.sv-404-planet{position:relative;width:92px;height:92px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#0284c7);color:#fff;font-size:34px;box-shadow:0 0 0 10px rgba(34,211,238,.12),0 18px 40px -12px rgba(2,132,199,.5);animation:sv404Float 3.2s ease-in-out infinite}
.sv-404-planet i{animation:sv404Spin 6s linear infinite}
@keyframes sv404Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes sv404Spin{to{transform:rotate(360deg)}}
.sv-404-title{margin:26px 0 10px;font-size:30px;font-weight:800;color:var(--sky-900,#0c2a55)}
.sv-404-desc{color:var(--body);font-size:15px;line-height:1.7;margin:0 0 28px}
.sv-404-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.sv-404-links{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;font-size:13.5px;color:#8aa0b8}
.sv-404-links a{color:var(--sky-600,#0284c7);font-weight:600;text-decoration:none}
.sv-404-links a:hover{text-decoration:underline}
@media(max-width:767px){
    .sv-404{padding:40px 0 56px}
    .sv-404-code{font-size:64px}
    .sv-404-planet{width:62px;height:62px;font-size:24px;box-shadow:0 0 0 8px rgba(34,211,238,.12),0 14px 30px -10px rgba(2,132,199,.5)}
    .sv-404-title{font-size:23px}
}


/* ============================ ADMIN SETTINGS ============================ */
.sv-admin{padding:40px 0 70px}
.sv-admin-head{margin-bottom:28px}
.sv-admin-head h1{font-size:26px;font-weight:800;color:#0c4a6e;display:flex;align-items:center;gap:12px}
.sv-admin-head h1 i{color:#0284c7}
.sv-admin-head p{color:#64748b;font-size:14px;margin-top:6px}
.sv-admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:22px;overflow:hidden;box-shadow:0 2px 10px -6px rgba(2,132,199,.15)}
.sv-admin-card-head{display:flex;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(90deg,rgba(2,132,199,.07),rgba(2,132,199,.02));border-bottom:1px solid #e2e8f0;font-weight:700;color:#0c4a6e;font-size:15px}
.sv-admin-card-head i{color:#0284c7;font-size:16px}
.sv-admin-card-body{padding:20px;display:grid;gap:16px}
.sv-admin-card-body>*{min-width:0;max-width:100%}
.sv-admin-card-body form{display:grid;gap:0}
.sv-admin-field{display:flex;flex-direction:column;gap:6px}
.sv-admin-field>label:first-child{font-size:13px;font-weight:600;color:#334155}
.sv-input{padding:10px 14px;border:1.5px solid #cbd5e1;border-radius:9px;font-size:14px;transition:border-color .2s;background:#f8fafc;font-family:inherit;width:100%}
.sv-input:focus{outline:none;border-color:#0284c7;background:#fff}
textarea.sv-input{resize:vertical;min-height:70px}
/* Wrapper + nút mắt ẩn/hiện cho ô secret/key bên admin (JS tự quấn input[type=password]) */
.sv-pwwrap{position:relative;width:100%;display:block}
.sv-pwwrap>input{width:100%;padding-right:44px}
.sv-pweye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#94a3b8;cursor:pointer;padding:6px 8px;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s,background .15s}
.sv-pweye:hover,.sv-pweye:focus{color:#0284c7;background:rgba(14,165,233,.08);outline:none}
.sv-pweye.sv-eye-on{color:#0284c7}
.sv-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.sv-switch input{display:none}
.sv-switch-slider{width:46px;height:26px;background:#cbd5e1;border-radius:999px;position:relative;transition:background .25s;flex:none}
.sv-switch-slider::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.sv-switch input:checked+.sv-switch-slider{background:#0284c7}
.sv-switch input:checked+.sv-switch-slider::after{transform:translateX(20px)}
.sv-switch-label{font-size:13.5px;font-weight:600;color:#475569}
.sv-admin-actions{display:flex;justify-content:flex-end;margin-top:6px}
@media(max-width:640px){.sv-admin{padding:24px 0 50px}.sv-admin-card-body{padding:14px}}

/* ============================ ADMIN DASHBOARD ============================ */
.sv-admin-wrap{display:grid;grid-template-columns:250px 1fr;gap:22px;align-items:start}
/* Nav menu admin mobile: icon tren header chi hien o man nho, dropdown nav */
.sv-admin-burger{display:none}
.sv-admin-tabs{display:none}
@media(max-width:900px){
    .sv-admin-burger{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:19px;color:#0c4a6e;padding:6px;border-radius:9px;transition:background .2s}
    .sv-admin-burger:hover,.sv-admin-burger.is-open{background:rgba(2,132,199,.08);color:#0284c7}
    .sv-admin-tabs-overlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:1090}
    .sv-admin-tabs-overlay.is-open{opacity:1;pointer-events:auto}
    .sv-admin-tabs{display:flex;flex-direction:column;gap:4px;position:fixed;top:0;left:0;bottom:0;width:min(300px,84vw);padding:14px 10px;background:#fff;border-right:1px solid #e2e8f0;box-shadow:18px 0 40px -20px rgba(2,132,199,.5);transform:translateX(-105%);transition:transform .28s ease;z-index:1100;overflow-y:auto}
    .sv-admin-tabs.is-open{transform:translateX(0)}
    .sv-admin-tabs-group{padding:10px 14px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8}
    .sv-admin-tabs-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px;font-size:15px;font-weight:800;color:#0f172a;letter-spacing:.2px;border-bottom:1px solid #f1f5f9;margin-bottom:8px;font-family:var(--font)}
    .sv-admin-tabs-head>span{display:flex;align-items:center;gap:10px;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit}
    .sv-admin-tabs-head>span i{color:#0284c7;margin-right:0}
    .sv-admin-tabs-close{background:none;border:none;cursor:pointer;font-size:16px;color:#94a3b8;padding:6px;border-radius:8px;transition:all .2s}
    .sv-admin-tabs-close:hover{background:rgba(2,132,199,.08);color:#0284c7}
    .sv-admin-tab{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;font-size:14px;font-weight:600;color:#475569;text-decoration:none!important;transition:all .2s}
    .sv-admin-tab i{width:18px;text-align:center;color:#94a3b8;transition:color .2s}
    .sv-admin-tab:hover{background:rgba(2,132,199,.06);color:#0c4a6e}
    .sv-admin-tab:hover i{color:#0284c7}
    .sv-admin-tab.is-active{background:linear-gradient(135deg,#0284c7,#0c4a6e);color:#fff}
    .sv-admin-tab.is-active i{color:#fff}
}
.sv-admin-nav{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 10px -6px rgba(2,132,199,.15);position:sticky;top:90px}
.sv-admin-nav-title{display:flex;align-items:center;gap:10px;padding:8px 14px 10px;font-size:15px;font-weight:800;color:#0f172a;letter-spacing:.2px;font-family:var(--font)}

/* ============ Deposit ============ */
/* Widget số dư ví trên header: pill nền nhạt + icon + số tiền + nút "Nạp" bên trong (màu hệ thống sky) */
.sv-dep-widget{
    display:inline-flex;align-items:center;gap:8px;
    height:36px;padding:0 4px 0 12px;border-radius:8px;
    background:var(--sky-50);border:1px solid var(--sky-200);
    color:var(--sky-700);font-size:14px;font-weight:600;
    white-space:nowrap;transition:all .3s;
}
.sv-dep-widget:hover{border-color:var(--sky-400);background:var(--sky-100);box-shadow:0 4px 12px rgba(14,165,233,.16)}
.sv-dep-widget > i{font-size:15px;color:var(--sky-600)}
.sv-dep-amount{font-weight:700;color:var(--sky-800);letter-spacing:.2px}
.sv-dep-go{
    display:inline-flex;align-items:center;justify-content:center;
    height:28px;padding:0 12px;border:none;border-radius:6px;
    background:linear-gradient(135deg,var(--sky-500),var(--sky-600));
    color:#fff;font-size:12px;font-weight:800;letter-spacing:.3px;
    cursor:pointer;line-height:1;text-decoration:none;
    box-shadow:0 2px 5px rgba(14,165,233,.30);transition:all .2s;
}
.sv-dep-go:hover,.sv-dep-go:focus{
    transform:translateY(-1px);color:#fff;
    box-shadow:0 5px 12px rgba(14,165,233,.45);
    filter:brightness(1.07);
}
/* Bản full-width trong drawer mobile: số dư đẩy sang phải, nút Nạp sát mép */
.sv-dep-widget-block{width:100%;padding-left:14px}
.sv-dep-widget-block .sv-dep-amount{margin-left:auto}
.sv-deposit .sv-dep-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px}
.sv-deposit .sv-admin-stat{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;box-shadow:0 2px 10px -6px rgba(2,132,199,.15)}
.sv-deposit .sv-admin-stat i{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.sv-deposit .sv-admin-stat b{display:block;font-size:20px;font-weight:800;color:#0f172a}
.sv-deposit .sv-admin-stat span{font-size:12.5px;color:#64748b}
.sv-dep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:18px}
.sv-dep-info .sv-dep-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #e2e8f0;font-size:14px}
.sv-dep-info .sv-dep-row span{color:#64748b}
.sv-dep-info .sv-dep-row b{color:#0f172a;font-weight:700}
.sv-dep-note{margin:12px 0 0;font-size:13px;color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:10px 12px;line-height:1.55}
.sv-dep-note i{margin-right:6px}
.sv-dep-table-wrap{overflow-x:auto}
.sv-dep-table{width:100%;border-collapse:collapse;font-size:14px}
.sv-dep-table th{background:#f8fafc;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:11px 14px;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}
.sv-dep-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;color:#334155;white-space:nowrap}
.sv-dep-status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}
.sv-dep-pending{background:#fef9c3;color:#854d0e}
.sv-dep-approved{background:#dcfce7;color:#166534}
.sv-dep-rejected{background:#fee2e2;color:#991b1b}
/* Trang admin: header chi con logo + actions — actions day sang phai */
.page-admin .sv-header-actions,.sv-header-actions.is-admin{margin-left:auto}
.sv-admin-nav-title i{color:#0284c7}
.sv-admin-nav-group{padding:10px 14px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8}
.sv-admin-nav-link{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;font-size:14px;font-weight:600;color:#475569;text-decoration:none!important;transition:all .2s}
.sv-admin-nav-link i{width:18px;text-align:center;color:#94a3b8;transition:color .2s}
.sv-admin-nav-link:hover{background:rgba(2,132,199,.06);color:#0c4a6e}
.sv-admin-nav-link:hover i{color:#0284c7}
.sv-admin-nav-link.is-active{background:linear-gradient(90deg,rgba(2,132,199,.12),rgba(2,132,199,.05));color:#0369a1}
.sv-admin-nav-link.is-active i{color:#0284c7}
.sv-admin-nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-style:normal;padding:0 6px}
.sv-admin-main{min-width:0}
.sv-admin-grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}
.sv-admin-stat{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 10px -6px rgba(2,132,199,.15)}
.sv-admin-stat i{font-size:22px;color:#0284c7;background:rgba(2,132,199,.1);width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex:none}
.sv-admin-stat b{font-size:22px;color:#0c4a6e;display:block;line-height:1.2}
.sv-admin-stat span{font-size:12.5px;color:#64748b}
.sv-acct-admin{color:#0369a1!important;background:rgba(2,132,199,.06)}
.sv-acct-admin:hover{background:rgba(2,132,199,.12)!important}
@media(max-width:900px){.sv-admin-wrap{grid-template-columns:1fr}.sv-admin-nav{display:none}}

/* ============================ ACCOUNT PAGE v2 ============================ */
.account-section{padding:34px 0 70px}
.account-grid{display:grid;grid-template-columns:320px 1fr;gap:26px;align-items:start}
/* Cột phải: panel tab + card lịch sử hoạt động xếp dọc */
.account-column{display:flex;flex-direction:column;gap:26px;min-width:0}

/* ---- Cột trái: thẻ hồ sơ ---- */
.account-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px -10px rgba(2,132,199,.18);padding:0 22px 22px;text-align:center}
.account-card__cover{height:92px;margin:0 -22px;background:linear-gradient(135deg,#0b1733 0%,#0369a1 55%,#0ea5e9 100%);position:relative}
.account-card__cover::after{content:'';position:absolute;inset:0;background:radial-gradient(420px 120px at 20% 0%,rgba(56,189,248,.35),transparent 60%),radial-gradient(360px 110px at 85% 100%,rgba(255,255,255,.18),transparent 60%)}
.account-card__avatar{width:92px;height:92px;border-radius:50%;background:#f0f9ff;border:4px solid #fff;box-shadow:0 6px 18px -6px rgba(2,132,199,.45);margin:-46px auto 12px;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#0284c7;font-size:36px}
.account-card__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.account-card__name{font-size:19px;font-weight:800;color:#0f172a;margin:0 0 3px}
.account-card__email{font-size:13.5px;color:#64748b;margin:0 0 12px;word-break:break-all}
.account-card__badges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px}
.account-badge{display:inline-flex;align-items:center;gap:6px;padding:4.5px 11px;border-radius:99px;font-size:11.5px;font-weight:700;letter-spacing:.2px}
.account-badge i{font-size:11px}
.account-badge-admin{background:rgba(220,38,38,.08);color:#b91c1c}
.account-badge-google{background:rgba(234,67,53,.08);color:#c5221f}
.account-badge-mail{background:rgba(22,163,74,.09);color:#15803d}

/* Số dư ví */
.account-wallet{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:14px;padding:13px 14px;margin-bottom:14px;text-align:left}
.account-wallet__icon{flex:0 0 42px;height:42px;border-radius:12px;background:var(--grad,#0284c7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;box-shadow:0 6px 14px -4px rgba(2,132,199,.5)}
.account-wallet__info{flex:1;min-width:0;display:flex;flex-direction:column}
.account-wallet__info b{font-size:16px;color:#0c4a6e;line-height:1.25}
.account-wallet__info span{font-size:12px;color:#64748b}
.account-wallet__btn{flex:none;display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:1.5px solid #0284c7;border-radius:10px;background:#fff;color:#0284c7;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s}
.account-wallet__btn:hover{background:#0284c7;color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(2,132,199,.3)}

/* Thông tin tài khoản */
.account-meta{list-style:none;margin:0 0 14px;padding:12px 2px 0;border-top:1px dashed #e2e8f0;text-align:left}
.account-meta li{display:flex;align-items:center;gap:9px;padding:5.5px 0;font-size:13px;color:#475569}
.account-meta li i{width:18px;text-align:center;color:#0284c7;font-size:13px;flex:none}
.account-meta li b{font-weight:600;color:#0f172a}

/* Liên kết nhanh */
.account-quicklinks{display:grid;gap:6px;margin-bottom:16px}
.account-quicklink{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #e2e8f0;border-radius:11px;font-size:13.5px;font-weight:600;color:#334155;text-decoration:none!important;transition:all .2s}
.account-quicklink i{width:18px;text-align:center;color:#94a3b8;font-size:14px;flex:none;transition:color .2s}
.account-quicklink:hover{border-color:#0284c7;background:rgba(2,132,199,.05);color:#0369a1;transform:translateX(3px)}
.account-quicklink:hover i{color:#0284c7}
.account-quicklink-arrow{margin-left:auto;width:auto!important;font-size:11px!important;color:#cbd5e1!important;transition:all .2s}
.account-quicklink:hover .account-quicklink-arrow{color:#0284c7!important;transform:translateX(3px)}
.account-card__logout{margin-top:2px}

/* ---- Cột phải: panel + tabs + form ---- */
.account-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px -10px rgba(2,132,199,.18)}
.account-tabs{display:flex;border-bottom:1px solid #e2e8f0;background:linear-gradient(90deg,rgba(2,132,199,.05),transparent)}
.account-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 12px;font-size:14px;font-weight:700;color:#64748b;text-decoration:none!important;border:none;border-bottom:3px solid transparent;background:transparent;font-family:inherit;cursor:pointer;appearance:none;transition:all .2s}
.account-tab:hover{color:#0369a1;background:rgba(2,132,199,.04)}
.account-tab.is-active{color:#0369a1;border-bottom-color:#0284c7;background:#fff}
.account-panel__body{padding:26px}
.account-panel__body[hidden]{display:none}
.account-panel__body > .sv-flash{margin-bottom:16px}
/* Căn giữa form + input trong panel tài khoản */
.account-form{display:grid;gap:18px;max-width:560px;margin-inline:auto;width:100%}
.account-form .form-row,.account-form .form-actions{width:100%}
.account-form .form-actions{display:flex;justify-content:center!important}
.account-form .form-hint{text-align:center}
/* Thanh độ mạnh mật khẩu — đồng bộ style trang đăng ký (sv2-auth.css không load ở trang account) */
.account-panel__body .sv2-strength{margin:2px 0 0}
.account-panel__body .sv2-strength-bar{height:5px;border-radius:99px;background:#e3edf7;overflow:hidden}
.account-panel__body .sv2-strength-bar span{display:block;height:100%;width:0;border-radius:99px;background:#ef4444;transition:width .25s,background .25s}
.account-panel__body .sv2-strength-text{display:block;margin-top:5px;font-size:12px;color:#64748b}
.form-row{display:flex;flex-direction:column;gap:7px}
.form-label{font-size:13.5px;font-weight:700;color:#334155}
.form-label .req{color:#ef4444}
.form-input{padding:11px 14px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:14.5px;font-family:inherit;background:#f8fafc;transition:border-color .2s,background .2s;width:100%}
.form-input:focus{outline:none;border-color:#0284c7;background:#fff}
.form-input:disabled{opacity:.65;cursor:not-allowed}
.form-hint{font-size:12.5px;color:#94a3b8;display:flex;align-items:center;gap:6px;margin:0}
.form-actions{display:flex;justify-content:flex-end;padding-top:4px}

/* Ô mật khẩu có nút hiện/ẩn */
.input-pw{position:relative}
.input-pw .form-input{padding-right:44px}
.input-pw .pw-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:#94a3b8;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.input-pw .pw-toggle:hover{color:#0284c7;background:rgba(2,132,199,.08)}
.account-panel__body .sv2-strength{margin:2px 0 0}

/* ---- Card: Lịch sử hoạt động (dưới panel, cùng cột phải) ---- */
.account-activity-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px -10px rgba(2,132,199,.18);padding:22px 24px}
.account-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed #e2e8f0}
.account-activity-head__text h4{margin:0 0 4px;font-size:15.5px;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:8px}
.account-activity-head__text h4 i{color:#0284c7;font-size:14px}
.account-activity-head__text p{margin:0;font-size:12.5px;color:#64748b}
.account-activity-empty{padding:34px 16px;text-align:center;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px}
.account-activity-empty i{font-size:28px;color:#cbd5e1;margin-bottom:10px}
.account-activity-empty p{margin:0 0 4px;font-weight:600;color:#475569;font-size:13.5px}
.account-activity-empty small{color:#94a3b8;font-size:12px}
.account-activity{list-style:none;margin:0;padding:0;position:relative}
.account-activity::before{content:'';position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#bae6fd,#e2e8f0)}
.account-activity__item{position:relative;display:flex;gap:14px;padding:10px 0}
.account-activity__item:hover .account-activity__msg{color:#0369a1}
.account-activity__icon{position:relative;z-index:1;flex:0 0 40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:15px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 2px 8px -4px rgba(2,132,199,.25)}
.account-activity__icon--blue{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;border-color:transparent}
.account-activity__icon--slate{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;border-color:transparent}
.account-activity__icon--green{background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;border-color:transparent}
.account-activity__icon--indigo{background:linear-gradient(135deg,#818cf8,#4f46e5);color:#fff;border-color:transparent}
.account-activity__icon--amber{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:transparent}
.account-activity__icon--cyan{background:linear-gradient(135deg,#22d3ee,#0891b2);color:#fff;border-color:transparent}
.account-activity__icon--sky{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff;border-color:transparent}
.account-activity__main{flex:1;min-width:0;padding-top:2px}
.account-activity__msg{margin:0 0 4px;font-size:13.5px;font-weight:600;color:#1e293b;transition:color .2s;overflow-wrap:anywhere}
.account-activity__sub{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:12px;color:#94a3b8}
.account-activity__label{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.account-activity__label--blue{background:rgba(37,99,235,.1);color:#1d4ed8}
.account-activity__label--slate{background:rgba(100,116,139,.12);color:#475569}
.account-activity__label--green{background:rgba(22,163,74,.1);color:#15803d}
.account-activity__label--indigo{background:rgba(79,70,229,.1);color:#4f46e5}
.account-activity__label--amber{background:rgba(217,119,6,.12);color:#b45309}
.account-activity__label--cyan{background:rgba(8,145,178,.1);color:#0e7490}
.account-activity__label--sky{background:rgba(2,132,199,.1);color:#0369a1}
.account-activity__time i,.account-activity__ip i{margin-right:4px;font-size:11px}

/* ---- Admin: upload ảnh thumbnail (og_thumbnail) ---- */
.sv-og-thumb-upload{display:flex;gap:14px;align-items:flex-start;margin-top:10px}
.sv-og-thumb-preview{flex:0 0 96px;height:64px;border-radius:10px;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc}
.sv-og-thumb-preview--empty{display:flex;align-items:center;justify-content:center;color:#cbd5e1;font-size:22px}
.sv-og-thumb-upload__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.sv-og-thumb-upload__main small{color:#94a3b8;font-size:12px;line-height:1.5}
.sv-og-thumb-input{display:none}
@media (max-width:576px){.sv-og-thumb-upload{flex-direction:column}}

/* ---- Trang lịch sử hoạt động riêng (/account-activity) ---- */
.account-activity-page{padding:28px 0 70px}
.sv-activity-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.sv-activity-topbar__title{display:flex;align-items:flex-start;gap:14px}
.sv-activity-topbar__icon{flex:0 0 48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 6px 16px -6px rgba(2,132,199,.5)}
.sv-activity-topbar__title h1{margin:0;font-size:22px;font-weight:800;color:#0f172a;letter-spacing:-.2px}
.sv-activity-topbar__title p{margin:4px 0 0;font-size:13px;color:#64748b;line-height:1.5}
.sv-activity-topbar__title p b{color:#0369a1}
.sv-activity-topbar .sv-btn{align-self:center}
.sv-activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:22px}
.sv-activity-stat{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px -10px rgba(2,132,199,.3)}
.sv-activity-stat i{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);flex:none;box-shadow:0 4px 10px -4px rgba(2,132,199,.45)}
.sv-activity-stat b{display:block;font-size:19px;font-weight:800;color:#0f172a;line-height:1.15}
.sv-activity-stat span{font-size:12.5px;color:#64748b}
/* Card timeline full chiều ngang container (không giới hạn max-width) */
.sv-activity-full{width:100%;max-width:none}

/* ---- Chân trang riêng cho khu quản trị (sv-admin-footer) ---- */
.sv-admin-footer{margin-top:32px;background:#f8fafc;border-top:1px solid #e2e8f0}
.sv-admin-footer__inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:18px 16px;font-size:12.5px;color:#64748b}
.sv-admin-footer__brand{font-weight:800;color:#0369a1;letter-spacing:.3px}
.sv-admin-footer__sep{color:#cbd5e1}
.sv-admin-footer__ver{background:#e0f2fe;color:#0369a1;padding:2px 10px;border-radius:999px;font-weight:600;font-size:11.5px}
@media(max-width:576px){.sv-admin-footer__inner{font-size:11.5px;gap:6px}}

@media(max-width:860px){.account-grid{grid-template-columns:1fr}.account-panel__body{padding:16px}.account-tab span{display:none}.sv-activity-topbar__title h1{font-size:19px}}

/* ---- Flash v2 (login/forgot) + nut close dong thong bao ---- */
.sv-flash > span{flex:1 1 auto;min-width:0}
.sv2-flash{position:relative}
.sv-flash-close{
    flex:0 0 auto;margin-left:auto;
    display:inline-flex;align-items:center;justify-content:center;
    width:24px;height:24px;padding:0;border:none;border-radius:50%;
    background:transparent;color:inherit;opacity:.55;
    font-size:15px;line-height:1;font-weight:700;font-family:inherit;
    cursor:pointer;transition:opacity .15s ease,background .15s ease,transform .15s ease;
}
.sv-flash-close:hover{opacity:1;background:rgba(0,0,0,.08);transform:scale(1.1)}
.sv-flash-close:active{transform:scale(.92)}
.sv-flash-close:focus-visible{outline:2px solid currentColor;outline-offset:1px;opacity:1}

@keyframes svFlashOut{to{opacity:0;transform:translateY(-4px)}}
.sv-flash.is-closing{animation:svFlashOut .18s ease forwards;pointer-events:none}
/* ============================== PRODUCTS PAGES (VPS / PROXY) ============================== */
.sv-price-more-cycles{margin:0 0 14px;padding:0}
.sv-price-more-cycles summary{cursor:pointer;list-style:none;color:var(--brand,#2563eb);font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px;user-select:none}
.sv-price-more-cycles summary::-webkit-details-marker{display:none}
.sv-price-more-cycles summary i{transition:transform .2s}
.sv-price-more-cycles[open] summary i{transform:rotate(180deg)}
.sv-price-cycle-list{list-style:none;margin:10px 0 0;padding:0}
.sv-price-cycle-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line,#e5e9f2);font-size:.85rem}
.sv-price-cycle-list li:last-child{border-bottom:0}
.sv-price-cycle-list li span{color:var(--muted,#64748b)}
.sv-price-cycle-list li b{color:var(--ink,#0f172a)}
.sv-price-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.sv-empty-state{text-align:center;padding:60px 20px;color:var(--muted,#64748b)}
.sv-empty-state i{font-size:42px;margin-bottom:16px;display:block;color:var(--brand,#2563eb);opacity:.5}
.sv-empty-state a{color:var(--brand,#2563eb);font-weight:600}
/* ============================== ADDON VPS (thiết kế lại) ============================== */
.sv-addon-wrap{margin-top:64px;padding:44px 0 8px;position:relative}
.sv-addon-head{text-align:center;margin:0 auto 34px;max-width:640px}
.sv-addon-head h3{font-size:26px;font-weight:800;margin:12px 0 8px;color:var(--ink,#0f172a)}
.sv-addon-head p{color:var(--muted,#64748b);font-size:14px;margin:0}
.sv-addon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.sv-addon-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 24px 22px;border-radius:18px;background:#fff;border:1px solid var(--line,#e5e9f2);box-shadow:0 6px 18px rgba(15,23,42,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;overflow:hidden;height:100%}
.sv-addon-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#38bdf8,#0284c7);opacity:.7;transition:opacity .3s ease}
.sv-addon-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(14,165,233,.16);border-color:rgba(14,165,233,.35)}
.sv-addon-card:hover::before{opacity:1}
.sv-addon-cpu::before{background:linear-gradient(90deg,#38bdf8,#0284c7)}
.sv-addon-ram::before{background:linear-gradient(90deg,#34d399,#059669)}
.sv-addon-disk::before{background:linear-gradient(90deg,#a78bfa,#7c3aed)}
.sv-addon-icon{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform .3s ease}
.sv-addon-card:hover .sv-addon-icon{transform:scale(1.08)}
.sv-addon-cpu .sv-addon-icon{background:rgba(2,132,199,.1);color:#0284c7}
.sv-addon-ram .sv-addon-icon{background:rgba(5,150,105,.1);color:#059669}
.sv-addon-disk .sv-addon-icon{background:rgba(124,58,237,.1);color:#7c3aed}
.sv-addon-badge{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.sv-addon-cpu .sv-addon-badge{background:rgba(2,132,199,.1);color:#0284c7}
.sv-addon-ram .sv-addon-badge{background:rgba(5,150,105,.1);color:#059669}
.sv-addon-disk .sv-addon-badge{background:rgba(124,58,237,.1);color:#7c3aed}
.sv-addon-name{font-size:17px;font-weight:800;color:var(--ink,#0f172a);line-height:1.3}
.sv-addon-desc{font-size:13px;color:var(--muted,#64748b);line-height:1.45}
.sv-addon-qty{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:6px 12px;border-radius:999px;background:#f1f5f9;border:1px dashed #cbd5e1;font-size:12.5px;font-weight:700;color:#334155}
.sv-addon-qty i{font-size:11px;color:#0284c7}
.sv-addon-price{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line,#e5e9f2);font-size:22px;font-weight:800;color:var(--sky-700,#0369a1);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.sv-addon-price span{font-size:12.5px;font-weight:600;color:var(--muted,#64748b)}
.sv-addon-price.sv-addon-contact{font-size:14px;color:var(--muted,#64748b);font-weight:600}
@media(max-width:576px){.sv-addon-grid{grid-template-columns:1fr}.sv-addon-head h3{font-size:22px}}


/* ============================== ADMIN PRODUCTS ============================== */
.sv-prod-table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}
.sv-prod-table th,.sv-prod-table td{padding:8px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle;white-space:nowrap}
.sv-prod-table thead th{background:#f8fafc;color:#475569;font-size:12px;letter-spacing:.03em}
.sv-prod-table th.sv-th-price,.sv-prod-table td.sv-td-price{text-align:right}
.sv-prod-table th.sv-th-price{padding-right:18px}
@media (max-width:1100px){.sv-prod-table{width:100%}}
.sv-admin-card div[style*="overflow-x:auto"]{max-width:100%;-webkit-overflow-scrolling:touch}
.sv-admin-card div[style*="overflow-x:auto"] > .sv-prod-table{width:100%;min-width:max-content}
.sv-table-foot{align-self:stretch}
.sv-prod-table tr.sv-prod-hidden td{opacity:.45}
.sv-prod-table form{display:contents}
.sv-th-price,.sv-td-price{text-align:right!important}
.sv-price-input{width:95px;text-align:right;padding:5px 8px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;background:#fff}
.sv-price-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.sv-price-changed{border-color:#f59e0b;background:#fffbeb}
.sv-btn-mini{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;border:1px solid transparent;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.sv-btn-primary{background:#2563eb;color:#fff}
.sv-btn-primary:hover{background:#1d4ed8}
/* Nút nền trắng chữ + viền xanh (dùng cho chức năng nhanh) */
.sv-btn-outline{background:#fff!important;color:#0284c7!important;border:1.5px solid #0284c7!important;box-shadow:none}
.sv-btn-outline:hover{background:#0284c7!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 6px 16px rgba(2,132,199,.28)}
.sv-btn-outline:active{transform:translateY(0);box-shadow:0 2px 6px rgba(2,132,199,.25)}
.sv-btn-outline-danger{background:#fff!important;color:#dc2626!important;border:1.5px solid #dc2626!important;box-shadow:none}
.sv-btn-outline-danger:hover{background:#dc2626!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 6px 16px rgba(220,38,38,.28)}
.sv-btn-outline-danger:active{transform:translateY(0)}
.sv-btn-ghost{background:transparent;color:#64748b;border-color:#cbd5e1}
.sv-btn-ghost:hover{color:#dc2626;border-color:#fca5a5}
.sv-switch{position:relative;display:inline-block;width:38px;height:20px;flex:none}
.sv-switch input{opacity:0;width:0;height:0}
.sv-switch-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;cursor:pointer;transition:.2s}
.sv-switch-slider::before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.sv-switch input:checked + .sv-switch-slider{background:#f59e0b}
.sv-switch input:checked + .sv-switch-slider::before{transform:translateX(18px)}

.sv-td-stt{font-weight:700;color:#94a3b8;width:36px;text-align:center}
.sv-title-form{margin:0}
.sv-title-input{width:180px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:600;background:#fff}
.sv-title-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.sv-sort-input{width:46px;padding:4px 3px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;font-weight:600;text-align:center;background:#fff;color:#0f172a;transition:border-color .15s,box-shadow .15s,background .15s;-moz-appearance:textfield}
.sv-sort-input::-webkit-outer-spin-button,.sv-sort-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sv-sort-input:hover{border-color:#94a3b8}
.sv-sort-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15);background:#f8fafc}
.sv-sort-saving{border-color:#2563eb!important;background:#eff6ff!important;opacity:.7}
.sv-sort-saved{border-color:#16a34a!important;background:#f0fdf4!important}


/* ---------- Admin products: buttons + saved flash ---------- */
.sv-btn-success{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important}
.sv-btn-muted{background:#e2e8f0!important;color:#64748b!important;border-color:#cbd5e1!important}
.sv-price-saved{border-color:#16a34a!important;box-shadow:0 0 0 3px rgba(22,163,74,.2)!important}

/* Admin product table mini buttons (scoped, override hero styles) */
.sv-prod-table .sv-btn-mini.sv-btn-success{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important;box-shadow:none!important;transform:none!important}
.sv-prod-table .sv-btn-mini.sv-btn-muted{background:#e2e8f0!important;color:#64748b!important;border-color:#cbd5e1!important;box-shadow:none!important;transform:none!important}
.sv-prod-table .sv-btn-mini.sv-btn-danger{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;box-shadow:none!important;transform:none!important}
.sv-prod-table .sv-btn-mini.sv-btn-danger:hover{background:#b91c1c!important;transform:none!important;box-shadow:none!important}
.sv-prod-table .sv-btn-mini.sv-btn-ghost{background:#f59e0b!important;color:#fff!important;border-color:#f59e0b!important;box-shadow:none!important;transform:none!important}
.sv-prod-table .sv-btn-mini.sv-btn-ghost:hover{background:#d97706!important;color:#fff!important;border-color:#d97706!important;transform:none!important}

/* ===== Admin sidebar: menu cha/con (VPS -> Goi VPS / Goi bo sung / He dieu hanh) ===== */
.sv-admin-nav-sub { margin: 0; }
.sv-admin-nav-sub > summary { list-style: none; cursor: pointer; user-select: none; }
.sv-admin-nav-sub > summary::-webkit-details-marker { display: none; }
.sv-admin-nav-sub > summary .sv-admin-nav-caret { margin-left: auto; font-size: 10px; opacity: .6; transition: transform .18s ease; }
.sv-admin-nav-sub[open] > summary .sv-admin-nav-caret { transform: rotate(180deg); }
.sv-admin-nav-sub .sv-admin-nav-child { padding-left: 42px !important; font-size: 12px; opacity: .92; }
.sv-admin-nav-sub .sv-admin-nav-child i { font-size: 10px; opacity: .75; }
.sv-admin-nav-sub .sv-admin-nav-child:hover { opacity: 1; }

@media (max-width:400px){.sv-admin-card-body{padding:14px}}
.sv-admin-card-body .sv-btn-mini{white-space:nowrap}
@media (max-width:400px){.sv-admin-card-body[style*="flex"]{flex-direction:column;align-items:stretch}.sv-admin-card-body[style*="flex"]>*{width:100%}.sv-admin-card-body[style*="flex"] form{margin-left:0!important;display:block;width:100%}.sv-admin-card-body[style*="flex"] button{width:100%;justify-content:center;display:flex}}
/* ===== Trang đặt hàng VPS: layout 4 card + hóa đơn sticky phải ===== */
.sv-order-package-name{margin:0 0 12px;font-size:18px;color:#0f172a}
.sv-order-star{color:#f59e0b;font-size:15px}
.sv-order{margin-top:24px}
.sv-order-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}
.sv-order-left{display:flex;flex-direction:column;gap:16px;min-width:0}
.sv-order-right{position:sticky;top:20px}
.sv-order-card .sv-admin-card-body{display:block}
.sv-order-grid input.sv-title-input,.sv-order-grid select.sv-title-input{height:42px;box-sizing:border-box;font-size:14px}
/* Hàng User/Pass full ngang (mỗi ô nửa) */
.sv-auth-grid{grid-template-columns:repeat(2,1fr);margin-top:12px}
@media (max-width:450px){
.sv-cfg-grid,.sv-auth-grid{grid-template-columns:1fr !important}
}
/* Popup xác nhận thanh toán */
.sv-paymodal-ov{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:9999;padding:16px}
.sv-paymodal-ov.is-open{display:flex}
.sv-paymodal{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(2,132,199,.25);width:min(440px,100%);overflow:hidden;animation:svPopIn .18s ease}
@keyframes svPopIn{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}
.sv-paymodal-head{background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#fff;padding:14px 20px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:10px}
.sv-paymodal-body{padding:16px 20px}
.sv-paymodal-lines{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.sv-paymodal-line{display:flex;justify-content:space-between;font-size:13.5px;color:#475569}
.sv-paymodal-line b{color:#0f172a}
.sv-paymodal-total{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #e2e8f0;padding-top:12px;margin-bottom:16px}
.sv-paymodal-total strong{font-size:22px;color:#0284c7}
.sv-paymodal-foot{display:flex;gap:10px;justify-content:flex-end}
/* Ô input kèm nút random riêng (proxy user/pass) */
.sv-rand-wrap{position:relative;display:flex;align-items:center}
.sv-rand-wrap .sv-rand-input{width:100%;padding-right:44px !important}
.sv-rand-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:none;background:#f0f9ff;border-radius:8px;color:#0284c7;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.sv-rand-btn:hover{background:#e0f2fe}
/* Ghi chú cảnh báo proxy auth */
.sv-proxy-note{display:flex;align-items:flex-start;gap:8px;background:#fff7ed;border:1px solid #fdba74;color:#c2410c;font-size:12.5px;border-radius:10px;padding:9px 12px;line-height:1.5}
.sv-proxy-note i{margin-top:1px}
.sv-proxy-note b{color:#9a3412}
.sv-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:600px){.sv-spec-grid{grid-template-columns:repeat(2,1fr)}}
.sv-spec-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.sv-spec-item i{color:#0284c7;font-size:14px}
.sv-spec-item span{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}
.sv-spec-item b{font-size:15px;color:#0f172a}
.sv-cfg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.sv-addon-list{display:flex;flex-direction:column;gap:10px}
.sv-addon-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;flex-wrap:wrap}
.sv-addon-info{display:flex;align-items:center;gap:10px;min-width:0}
.sv-addon-info i{color:#0284c7;font-size:16px;width:22px;text-align:center}
.sv-addon-info strong{display:block;font-size:13px;color:#0f172a}
.sv-addon-info span{font-size:12px;color:#64748b}
.sv-addon-ctrl{display:flex;align-items:center;gap:6px}
.sv-qty-btn{width:30px;height:32px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0284c7;font-size:16px;font-weight:700;cursor:pointer;line-height:1}
.sv-qty-btn:hover{border-color:#0284c7;background:#f0f9ff}
.sv-qty-input{width:70px;height:32px;box-sizing:border-box;text-align:center;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;font-weight:600}
.sv-bill-card{box-shadow:0 4px 24px rgba(2,132,199,.08)}
.sv-bill-lines{display:flex;flex-direction:column;gap:8px;padding:4px 0 12px;border-bottom:1px dashed #e2e8f0;margin-bottom:12px}
.sv-bill-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#475569}
.sv-bill-line b{color:#0f172a;white-space:nowrap}
.sv-bill-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.sv-bill-total span{font-size:13px;color:#64748b}
.sv-bill-total strong{font-size:24px;color:#0284c7}
.sv-pay-btns{display:flex;flex-direction:column;gap:10px}
@media (max-width:1000px){
.sv-order-grid{grid-template-columns:1fr}
.sv-order-right{position:static}
}

.sv-admin-card-body form.sv-custom-form{display:flex;flex-wrap:nowrap;gap:10px;align-items:flex-end;grid-template-columns:none}
form.sv-custom-form{display:flex;flex-wrap:nowrap;gap:10px;align-items:flex-end}
.sv-custom-form{display:flex;flex-wrap:nowrap;gap:10px;align-items:flex-end}
.sv-custom-form .sv-cf-g2{flex-wrap:nowrap}
@media (min-width:1101px){
.sv-custom-form{flex-wrap:nowrap!important}
.sv-custom-form .sv-cf-g1,.sv-custom-form .sv-cf-row2{flex-wrap:nowrap!important}
.sv-custom-form .sv-cf-g2{flex-wrap:nowrap!important}
}
.sv-custom-form .sv-cf-g1{flex:1 1 0;min-width:0;flex-wrap:nowrap}
.sv-custom-form .sv-cf-g1 label{flex:1 1 0;min-width:0}
.sv-custom-form .sv-cf-g1 input{width:100%;min-width:0}
.sv-custom-form .sv-cf-g1 select{width:100%;min-width:0}
.sv-custom-form .sv-cf-g2{flex:1 1 0;min-width:0}
.sv-custom-form .sv-cf-g2 label{flex:1 1 0;min-width:0}
.sv-custom-form .sv-cf-g2 input{width:100%;min-width:0}
.sv-custom-form .sv-cf-group{display:flex;gap:10px;align-items:flex-end}
.sv-custom-form .sv-cf-row2{display:flex;gap:10px;align-items:flex-end;flex:1 1 0;min-width:0}
.sv-custom-form .sv-cf-g4{justify-content:flex-end;flex:0 0 auto}
.sv-custom-form .sv-price-input{height:32px;box-sizing:border-box;padding:0 8px;line-height:32px}
@media (max-width:1100px) and (min-width:451px){
.sv-admin-card-body form.sv-custom-form{flex-wrap:wrap!important}
form.sv-custom-form .sv-cf-row2{flex:1 1 100%!important}
form.sv-custom-form .sv-cf-g1{flex:1 1 100%!important}
form.sv-custom-form .sv-cf-g1 label{flex:1 1 auto;min-width:0}
form.sv-custom-form .sv-cf-g1 input,form.sv-custom-form .sv-cf-g1 select{width:100%!important}
form.sv-custom-form .sv-cf-g2{flex:1 1 auto;min-width:0;flex-wrap:nowrap}
form.sv-custom-form .sv-cf-g2 label{flex:1 1 0;min-width:0}
form.sv-custom-form .sv-cf-g2 input{width:100%!important}
}
@media (max-width:450px){
.sv-admin-card-body form.sv-custom-form{flex-direction:column;align-items:stretch;flex-wrap:wrap!important}
form.sv-custom-form .sv-cf-g1{flex-wrap:wrap}
form.sv-custom-form .sv-cf-g1 label{flex:1 1 100%}
form.sv-custom-form .sv-cf-g1 input,form.sv-custom-form .sv-cf-g1 select{width:100%!important}
form.sv-custom-form .sv-cf-row2{flex-wrap:wrap}
form.sv-custom-form .sv-cf-g2{flex:1 1 100%;flex-wrap:nowrap}
form.sv-custom-form .sv-cf-g2 label{flex:1 1 0;min-width:0}
form.sv-custom-form .sv-cf-g2 input{width:100%!important}
form.sv-custom-form .sv-cf-g4{flex:1 1 100%;justify-content:center}
form.sv-custom-form .sv-cf-create{width:100%;justify-content:center;display:flex}
}

