
*{
    padding: 0;
    margin: 0;
    font-family: 'LINE Seed Sans TH', sans-serif;
}
a:link,a:visited,a:hover,a:active{
    text-decoration: none;
}
main{
    min-height: calc(85vh - 2px);
    background-color: #0d0d0d;
    width: 100%;
    padding-top: 70px;
    padding-bottom: 70px;
}
a.nav-link{
    color: rgb(130, 130, 130);
}
a.nav-link:hover{
    color: rgb(43, 43, 43);
}

.nav-pill{
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgb(130, 130, 130);
    padding: 8px 18px;
    border-radius: 25px;
    margin: 0 3px;
    white-space: nowrap;
    transition: background-color 0.2s, color 0.2s, transform 0.2s;
}
.nav-pill i{
    font-size: 16px;
}
.nav-pill:hover{
    color: #fff;
    background-color: var(--nav-bg);
    transform: translateY(-1px);
}
.nav-pill.active{
    color: #fff;
    background-color: var(--nav-bg);
    box-shadow: 0 8px 18px -8px rgba(var(--nav-bg-rgb), 0.7);
}

.wallet-pill{
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: #3a3f45;
    color: #f2f2f4;
    border-radius: 25px;
    padding: 6px 14px;
    font-weight: 600;
    white-space: nowrap;
}
.avatar-btn{
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #262626;
    color: #9ca3af;
    border: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}
.avatar-btn::after{
    display: none; 
}
.avatar-btn:hover{
    background-color: #333333;
}

.dropdown-menu.user-menu{
    background-color: #1c1917;
    border-radius: 12px;
    min-width: 230px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,0.08);
}
.user-menu .user-menu-head{
    padding: 10px 12px;
    color: #fff;
}
.user-menu .user-menu-balance{
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    padding: 10px 12px;
}
.user-menu .user-menu-link{
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    transition: background-color 0.2s;
}
.user-menu .user-menu-link:hover{
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}
.user-menu .user-menu-logout{
    color: #f87171;
}
.user-menu .user-menu-logout:hover{
    background-color: rgba(248, 113, 113, 0.15);
    color: #f87171;
}
.user-menu .user-divider{
    border-color: rgba(255, 255, 255, 0.12);
    margin: 4px 0;
}
footer{
    text-align: center;
    color: rgb(161, 161, 161);
    font-size: 14px;
}
.footer-link{
    color: rgb(161, 161, 161);
    transition: color 0.3s;
}
.footer-link:hover{
    color: rgb(83, 83, 83);
}
.login-btn{
    background-color: rgb(69, 219, 111);
    border-radius: 20px;
    color: #fff;
    text-decoration: none;
    padding: 5px;
    width: 100%;
    transition: background-color 0.1s;
}
.login-btn:hover{
    background-color: rgb(64, 193, 100);
    color: #fff;
}
.login-card{
    max-width: 500px;
    background-color: #fff;
    border-radius: 15px;
}
.topup-card{
    max-width: 800px;
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0px 10px 18px -10px rgba(0,0,0,0.1);
}
.box-shadow{
    box-shadow: 0px 0px 10px 2px rgba(0,0,0,0.1);
}
.recapt-box{
    display: flex;
    justify-content: center;
}
.logout-btn{
    background-color: rgb(208, 42, 42);
    color: #fff;
    display: block;
    margin: 3px 10px;
    text-align: center;
    padding: 5px;
    border-radius: 5px;
    transition: 0.2s;
}
.logout-btn:hover{
    background-color: rgb(174, 35, 35);
    color: #fff;
}
@media only screen and (max-width: 500px) {
    #rc-imageselect, .g-recaptcha {
        transform: scale(0.77);
        -webkit-transform: scale(0.77);
        transform-origin: center 0;
        -webkit-transform-origin: center 0;
    }
}
.status-card{
    background-color: #fff;
    padding: 20px;
    border-radius: 15px;
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
    border: 3px solid rgb(10, 216, 86);
}
.status-card:hover .icon-card{
    background-color: rgb(10, 216, 86);
    color: #fff;
    border: none;
}
.icon-card{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 3px solid rgb(10, 216, 86);
    color: rgb(10, 216, 86);
    padding: 5px;
    width: 80px;
    height: 80px;
    font-size: 38px;
    margin-bottom: 15px;
    border-radius: 50%;
    transition: background-color 0.3s, color 0.3s;
}
.list-card{
    transition: transform 0.3s;
    overflow: hidden;
    border-radius: 15px;
}
.list-card:hover{
    transform: translateY(-5px);
}
.dataTables_wrapper .row{
    margin-bottom: 15px;
}
.product-card{
    background-color: #fff;
    box-shadow: 0px 10px 18px -10px rgba(0,0,0,0.1);
    border-radius: 15px;
    overflow: hidden;
}
.product-card-2{
    background-color: #fff;
    box-shadow: 0px 10px 18px -10px rgba(0,0,0,0.1);
    border-radius: 15px;
    overflow: hidden;
    max-width: 230px;
    padding: 15px;
}
.product-img{
    position: relative;
}
.product-price{
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #84e57f;
    border-radius: 8px;
    padding: 5px 10px;
    color: #fff;
}
.inpu-box{
    max-width: 850px;
    background-color: #fff;
    border-radius: 15px;
    padding: 20px;
}
.bar{
    padding: 10px;
    background-color: #fff;
}
.bar-btn{
    text-align: center;
    padding: 10px;
    color: #000;
    transition: background-color 0.3s, color 0.3s, border-radius 0.3s;
}
.bar-btn:hover{
    background-color: #84e57f;
    color: #fff;
    border-radius: 10px;
}
.bar-btn.active{
    text-align: center;
    padding: 10px;
    background-color: #84e57f;
    border-radius: 10px;
    color: #fff;
}



.main-2{
    min-height: calc(100vh - 122px);
    background-color: #edf1f5;
    padding: 25px;
    padding-bottom: 50px;
}





.list-box{
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgb(177, 177, 177);
    margin-top: 20px;
}
.list-item-right{
    text-align: right;
}
.hide{
    top: 0;
    left: -270px;
}
.show{
    top: 0;
    left: 0;
}
.side-bar{
    position: absolute;
    transition: 0.5s;
    width: 270px;
    z-index: 10;
    height: 100%;
    background-color: #353a40;
    position: fixed;
    box-shadow: 11px 0px 15px -3px rgba(0,0,0,0.1);
}
.side-bar-head{
    padding: 10px;
    display: flex;
    color: rgb(255, 255, 255);
    border-bottom: 1px solid rgba(255, 255, 255, 0.367);
}
.side-bar-body{
    padding: 10px 15px;
}
.side-link{
    color: rgb(255, 255, 255);
    display: block;
    padding: 10px;
    transition: 0.3s;
}
.side-link:hover{
    color: rgb(0, 0, 0);
    background-color: rgb(213, 213, 213);
    border-radius: 5px;
}
.menu-bar{
    background-color: rgb(255, 255, 255);
    padding: 10px 20px;
    color: rgb(0, 0, 0);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.menu-bar-btn{
    color: rgb(0, 0, 0);
    font-size: 20px;
    padding: 0px 10px;
    border-radius: 5px;
    border: none;
    background-color: #292f4500;
    transition: color 0.2s;
}
.side-bar-btn{
    color: rgb(255, 255, 255);
    font-size: 20px;
    padding: 0px 10px;
    border-radius: 5px;
    border: none;
    background-color: #292f4500;
    transition: color 0.2s;
}
.side-bar-btn:hover{
    color: rgb(198, 198, 198);
}
.menu-bar-btn:hover{
    color: rgb(88, 88, 88);
}
.menu-bar-left{
    display: flex;
}
.menu-bar-text{
    margin-left: 20px;
}
.dropdown-content {
    display: none;
    width: 100%;
    background-color: rgb(255, 255, 255);
    overflow: auto;
    border-radius: 5px;
}
.dropdown-content a {
    color: rgb(0, 0, 0);
    padding: 10px 18px;
    display: block;
    transition: color 0.3s, background-color 0.3s;
}
.dropdown-content a:hover {
    color: rgb(42, 42, 42);
    background-color: rgb(219, 219, 219); 
}
.drop-show {
    display: block;
}
.side-bar-dropbtn{
    color: rgb(255, 255, 255);
    width: 100%;
    padding: 10px;
    transition: 0.3s;
    border: none;
    background-color: initial;
    text-align: left;
}
.side-bar-dropbtn:hover{
    color: rgb(0, 0, 0);
    background-color: rgb(213, 213, 213);
    border-radius: 5px;
}

.box-text{
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
    padding: 30px;
    color: rgb(0, 0, 0);
}

.box-text-2{
    background-color: #ffffff;
    border-radius: 10px;
    padding: 20px;
    overflow: auto;
}
.bg-box{
    background-color: rgb(50, 50, 50);
    color: #fff;
    border-radius: 10px;
    overflow: hidden;
}
.banner-item{
    align-items: center;
    display: flex;
}
.banner-icon{
    font-size: 32px;
    margin-right: 15px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.side-bar-row{
    display: flex;
    justify-content: space-between;
    width: 100%;
}



.section-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}


.hero-banner{
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(120deg, #0a8f43 0%, #10d964 55%, var(--brand-light) 100%);
    color: #fff;
    padding: 55px 35px;
    box-shadow: 0 18px 35px -18px rgba(10, 216, 86, 0.55);
}
.hero-content{
    position: relative;
    z-index: 2;
}
.hero-site-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #fff;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 14px;
    margin-bottom: 18px;
    backdrop-filter: blur(4px);
}
.hero-banner h1{
    font-size: clamp(28px, 4.5vw, 46px);
    font-weight: 800;
    line-height: 1.2;
    text-shadow: 0 3px 0 rgba(0, 0, 0, 0.12);
}
.hero-title-glow{
    color: #0b3318;
}
.hero-sub{
    max-width: 460px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
}
.hero-cta{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #0b3318;
    color: #fff;
    font-weight: 600;
    padding: 12px 26px;
    border-radius: 999px;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 10px 20px -8px rgba(0, 0, 0, 0.35);
}
.hero-cta:hover{
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 14px 24px -8px rgba(0, 0, 0, 0.4);
}
.hero-cta-ghost{
    background-color: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow: none;
}
.hero-cta-ghost:hover{
    background-color: rgba(255, 255, 255, 0.3);
}
.hero-deco{
    position: absolute;
    color: rgba(255, 255, 255, 0.16);
    font-size: 110px;
    z-index: 1;
}
.hero-deco-1{ top: -18px; right: 8%; transform: rotate(12deg); }
.hero-deco-2{ bottom: -25px; right: 28%; font-size: 90px; transform: rotate(-15deg); }
.hero-deco-3{ top: 30%; right: 46%; font-size: 60px; transform: rotate(20deg); }
@media (max-width: 767px){
    .hero-deco{ font-size: 70px; }
    .hero-deco-2{ font-size: 55px; }
    .hero-deco-3{ display: none; }
}


.activity-scroll{
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 10px;
    scrollbar-width: thin;
    scrollbar-color: rgb(10, 216, 86) #e5e7eb;
}
.activity-card{
    min-width: 250px;
    max-width: 250px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background-color: #fff;
    border: 1px solid #eef1f6;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 8px 18px -12px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s, border-color 0.2s;
}
.activity-card:hover{
    transform: translateY(-3px);
    border-color: rgb(10, 216, 86);
}
.activity-img{
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background-color: rgba(10, 216, 86, 0.12);
    color: rgb(10, 216, 86);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.activity-name{
    font-size: 14px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.stat-card-modern{
    background-color: #fff;
    border-radius: 16px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #eef1f6;
    box-shadow: 0 10px 22px -14px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s, box-shadow 0.2s;
}
.stat-card-modern:hover{
    transform: translateY(-4px);
    box-shadow: 0 16px 28px -14px rgba(10, 216, 86, 0.35);
}
.stat-info{
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.stat-info > i{
    color: rgb(10, 216, 86);
    font-size: 18px;
    margin-bottom: 2px;
}
.stat-label{
    color: #6b7280;
    font-size: 13px;
}
.stat-value{
    font-size: 26px;
    font-weight: 800;
    color: #111827;
    line-height: 1.1;
}
.stat-icon{
    font-size: 46px;
    color: rgba(10, 216, 86, 0.22);
}


.category-card{
    display: block;
    text-decoration: none;
    color: inherit;
    background-color: #fff;
    border: 1px solid #eef1f6;
    border-radius: 18px;
    padding: 16px;
    box-shadow: 0 10px 24px -16px rgba(0, 0, 0, 0.18);
    transition: transform 0.25s, box-shadow 0.25s;
}
.category-card:hover{
    transform: translateY(-5px);
    box-shadow: 0 20px 32px -16px rgba(10, 216, 86, 0.4);
    text-decoration: none;
    color: inherit;
}
.category-head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px 10px;
    margin-bottom: 0;
    background: linear-gradient(180deg, #1a1a1a 0%, rgba(26, 26, 26, 0) 100%);
}
.badge-rec{
    flex: 0 0 auto;
    background: linear-gradient(120deg, #fbbf24, #f59e0b);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 6px 12px -6px rgba(245, 158, 11, 0.6);
}
.category-banner{
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    height: 190px;
}
.category-banner-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.category-banner-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(6, 120, 55, 0.75) 0%, rgba(6, 120, 55, 0.35) 45%, rgba(6, 120, 55, 0.08) 75%);
}
.category-banner-text{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    max-width: 100%;
}
.category-banner-text span{
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
}
.category-banner-text strong{
    font-size: clamp(16px, 2.2vw, 24px);
    font-weight: 800;
    line-height: 1.2;
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
    word-break: break-word;
}
.category-banner-text small{
    margin-top: 8px;
    font-size: 11px;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.85);
}
.click-tab{
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 58px;
    background-color: rgba(11, 51, 24, 0.88);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}


.product-card-modern{
    background-color: #fff;
    border: 1px solid #eef1f6;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 22px -16px rgba(0, 0, 0, 0.16);
    transition: transform 0.25s, box-shadow 0.25s;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.product-card-modern:hover{
    transform: translateY(-5px);
    box-shadow: 0 18px 30px -16px rgba(10, 216, 86, 0.4);
}
.pm-img{
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background-color: #f3f4f6;
}
.pm-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.product-card-modern:hover .pm-img img{
    transform: scale(1.05);
}
.pm-discount{
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: rgb(208, 42, 42);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
}
.pm-body{
    padding: 13px 14px 15px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.pm-cat{
    align-self: flex-start;
    background-color: rgba(10, 216, 86, 0.12);
    color: rgb(8, 150, 62);
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    margin-bottom: 8px;
}
.pm-name{
    font-weight: 600;
    font-size: 15px;
    line-height: 1.35;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pm-price{
    font-size: 18px;
    font-weight: 800;
    color: rgb(8, 150, 62);
}
.pm-btn{
    margin-top: auto;
    display: block;
    text-align: center;
    background: linear-gradient(120deg, var(--buy-btn), var(--buy-btn-dark));
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 9px 10px;
    border-radius: 999px;
    text-decoration: none;
    transition: box-shadow 0.2s, transform 0.2s;
}
.pm-btn:hover{
    color: #fff;
    box-shadow: 0 10px 18px -8px rgba(var(--buy-btn-rgb), 0.6);
    transform: translateY(-1px);
}


html, body{
    background-color: #0d0d0d !important;
}


.site-nav{
    background-color: #111111;
}
.site-nav .navbar-toggler{
    border-color: #333333;
}
.site-nav .navbar-toggler-icon{
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}


.ticker-wrap{
    overflow: hidden;
    border: 1px solid #1f1f1f;
    border-radius: 12px;
    background-color: #141414;
    padding: 12px 0;
}
.ticker{
    gap: 12px;
    padding: 12px;
    display: flex;
    width: max-content;
    animation: ticker-scroll 50s linear infinite;
}
.ticker-wrap:hover .ticker{
    animation-play-state: paused;
}
@keyframes ticker-scroll{
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.ticker-item{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 18px;
    white-space: nowrap;
    border-right: 1px dashed #2a2a2a;
    font-size: 13px;
    color: #d4d4d4;
}
.ticker-img{
    width: 52px;
    height: 52px;
    border-radius: 10px;
    object-fit: cover;
    flex: 0 0 auto;
    background-color: #141414;
}
.ticker-info{
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ticker-top{
    display: flex;
    align-items: center;
    gap: 14px;
}
.ticker-name{
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ticker-bottom{
    display: flex;
    align-items: center;
    gap: 14px;
}
.ticker-item .t-user{
    color: #9ca3af;
    font-size: 12px;
}
.ticker-item .t-time{
    color: #9ca3af;
    font-size: 12px;
}
.ticker-item .t-price{
    color: var(--brand);
    font-weight: 700;
    font-size: 13px;
}


.section-head h4{
    color: #fff;
}
.section-head .text-muted{
    color: #9ca3af !important;
}


.stat-card-modern{
    background-color: #1a1a1a;
    border: 1px solid #242424;
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: transform 0.2s, border-color 0.2s;
}
.stat-card-modern:hover{
    transform: translateY(-3px);
    border-color: var(--brand);
}
.stat-info > i{
    color: #9ca3af;
    font-size: 15px;
}
.stat-label{
    color: #9ca3af;
    font-size: 13px;
}
.stat-value{
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
}
.stat-icon{
    font-size: 42px;
    color: rgba(var(--brand-rgb), 0.28);
}


.category-card{
    background-color: #1a1a1a;
    border: 1px solid #242424;
    border-radius: 14px;
    padding: 0;
    overflow: hidden;
    transition: transform 0.2s, border-color 0.2s;
}
.category-card:hover{
    transform: translateY(-4px);
    border-color: var(--brand);
}
.category-head h5{
    color: #fff;
}
.category-head .text-muted{
    color: #9ca3af !important;
}
.badge-rec{
    background: linear-gradient(120deg, #fbbf24, #f59e0b);
    color: #1c1917;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 11px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.category-banner{
    border-radius: 0;
    height: 230px;
}
.category-banner-img{
    filter: saturate(1.15) brightness(1.05);
}
.category-banner-overlay{
    background: linear-gradient(100deg, rgba(6, 30, 16, 0.72) 0%, rgba(6, 30, 16, 0.3) 45%, rgba(6, 30, 16, 0.05) 75%);
}
.category-banner-text span{
    color: #c6c6c6;
}
.category-banner-text strong{
    color: #fff;
}
.category-banner-text small{
    color: #a3a3a3;
}
.click-tab{
    background-color: rgba(17, 17, 17, 0.92);
}


.product-card-modern{
    background-color: #1a1a1a;
    border: 1px solid #242424;
    border-radius: 14px;
    transition: transform 0.2s, border-color 0.2s;
}
.product-card-modern:hover{
    transform: translateY(-4px);
    border-color: var(--brand);
}
.pm-img{
    background-color: #141414;
}
.pm-discount{
    background-color: rgb(239, 68, 68);
}
.pm-cat{
    background-color: rgba(59, 130, 246, 0.18);
    color: #93c5fd;
}
.pm-name{
    color: #fff;
}
.pm-price{
    color: var(--brand);
}
.pm-btn{
    background-color: var(--brand);
    color: #0d0d0d;
    border-radius: 10px;
}
.pm-btn:hover{
    background-color: var(--brand-light);
    color: #0d0d0d;
}




.brand-logo{
    object-fit: contain;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.brand-text{
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.2px;
    line-height: 1;
}
.brand-accent{
    color: var(--brand-accent);
}


.nav-pill{
    color: #b0b0b0;
    font-size: 15px;
}
.nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    box-shadow: 0 8px 16px -8px rgba(var(--brand-rgb), 0.7);
}
.nav-pill:hover{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    box-shadow: 0 8px 16px -8px rgba(var(--brand-rgb), 0.7);
}


.login-btn{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    border-radius: 999px;
    padding: 8px 20px;
    width: auto;
    font-weight: 600;
    box-shadow: 0 8px 16px -8px rgba(var(--brand-rgb), 0.7);
    transition: transform 0.15s, box-shadow 0.15s;
}
.login-btn:hover{
    background: linear-gradient(120deg, var(--brand-light), var(--brand));
    transform: translateY(-2px);
    box-shadow: 0 12px 20px -8px rgba(var(--brand-rgb), 0.8);
}
.site-nav .nav-link{
    color: #b0b0b0;
}
.site-nav .nav-link:hover{
    color: #fff;
}


.stat-card-modern{
    background: linear-gradient(150deg, #1c1c1c 0%, #161616 100%);
    border: 1px solid #262626;
    border-radius: 16px;
    padding: 20px;
    align-items: flex-start;
}
.stat-card-modern:hover{
    border-color: rgba(var(--brand-rgb), 0.6);
    box-shadow: 0 14px 30px -16px rgba(var(--brand-rgb), 0.45);
}
.stat-ico{
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: rgba(var(--brand-rgb), 0.14);
    border: 1px solid rgba(var(--brand-rgb), 0.25);
    color: var(--brand-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.stat-info{
    margin-left: 14px;
    gap: 4px;
}
.stat-label{
    color: #9ca3af;
    font-size: 13px;
    white-space: nowrap;
}
.stat-value{
    font-size: 28px;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
}
.stat-info{
    min-width: 0;
}
.stat-icon{
    margin-left: auto;
    align-self: flex-end;
    font-size: 40px;
    color: rgba(var(--brand-rgb), 0.16);
    flex: 0 0 auto;
}


.cat-count{
    background-color: rgba(var(--brand-rgb), 0.12);
    border: 1px solid rgba(var(--brand-rgb), 0.3);
    color: var(--brand-light);
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 999px;
    white-space: nowrap;
}
.category-banner-img{
    transition: transform 0.5s ease;
}
.category-card:hover .category-banner-img{
    transform: scale(1.06);
}
.category-cta{
    position: absolute;
    bottom: 14px;
    right: 66px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    box-shadow: 0 10px 18px -8px rgba(var(--brand-rgb), 0.8);
    transition: transform 0.2s;
    z-index: 2;
}
.category-card:hover .category-cta{
    transform: scale(1.12);
}


.pm-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.pm-btn-arrow{
    font-size: 12px;
    transition: transform 0.2s;
}
.product-card-modern:hover .pm-btn-arrow{
    transform: translateX(3px);
}
.product-card-modern:hover{
    box-shadow: 0 18px 34px -18px rgba(var(--brand-rgb), 0.5);
}


.navbar.site-nav{
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(16, 16, 16, 0.85);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);

}
main{
    padding-top: 24px;
}
.nav-pill{
    background-color: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 999px;
    padding: 8px 16px;
    margin: 0 3px;
    font-size: 14px;
}
.nav-pill:hover{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    border-color: transparent;
    box-shadow: 0 8px 18px -8px rgba(var(--brand-rgb), 0.6);
}
.nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    border-color: transparent;
    box-shadow: 0 8px 18px -8px rgba(var(--brand-rgb), 0.7);
}

.btn-register{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(var(--brand-rgb), 0.55);
    color: var(--brand-light);
    padding: 8px 18px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 14px;
    margin-right: 6px;
    white-space: nowrap;
    transition: all 0.2s;
}
.btn-register:hover{
    background-color: rgba(var(--brand-rgb), 0.12);
    color: var(--brand-light);
    border-color: var(--brand);
}


.category-card{
    border: 1px solid #2a2a2a;
}
.category-card:hover{
    transform: translateY(-4px);
    border-color: rgba(var(--brand-rgb), 0.45);
    box-shadow: 0 16px 30px -20px rgba(0, 0, 0, 0.7);
}

.category-card:hover .category-cta{
    transform: none;
}

.click-tab{
    width: 28px;
    font-size: 9px;
    letter-spacing: 1px;
    background-color: rgba(0, 0, 0, 0.55);
    gap: 6px;
}
.click-tab i{
    font-size: 11px;
}

.category-cta{
    right: 42px;
    width: 34px;
    height: 34px;
    font-size: 13px;
}


.ticker-wrap{
    padding: 10px 0;
}
.ticker-item{
    gap: 12px;
    padding: 8px 20px;
    align-items: center;
}
.ticker-img{
    width: 56px;
    height: 56px;
    border-radius: 10px;
}
.ticker-info{
    gap: 3px;
}
.ticker-top{
    gap: 8px;
}
.ticker-name{
    max-width: 190px;
    font-size: 13px;
}

.ticker-badge{
    font-size: 9.5px;
    font-weight: 600;
    padding: 1px 8px;
    border-radius: 999px;
    white-space: nowrap;
    flex: 0 0 auto;
}
.t-badge-ok{
    background-color: #d1fae5;
    color: #065f46;
}
.t-badge-warn{
    background-color: #fef3c7;
    color: #92400e;
}
.t-badge-bad{
    background-color: #fee2e2;
    color: #991b1b;
}
.ticker-buyer{
    color: #9ca3af;
    font-size: 12px;
}
.ticker-meta{
    display: flex;
    align-items: center;
    gap: 14px;
}
.ticker-item .t-price{
    font-size: 13px;
}
.ticker-item .t-time{
    font-size: 12px;
}


.auth-main{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 150px);
    padding: 30px 16px;
}
.auth-card{
    width: 100%;
    max-width: 430px;
    background: #161616;
    border: 1px solid #262626;
    border-radius: 18px;
    padding: 36px 32px 28px;
    box-shadow: 0 20px 45px -20px rgba(0, 0, 0, 0.7);
}
.auth-head{ margin-bottom: 26px; text-align: center; }
.auth-head h3{
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 6px;
}
.auth-head p{
    color: #9ca3af;
    font-size: 14px;
    margin: 0;
}
.auth-field .form-label{
    color: #d1d5db;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 7px;
}
.auth-field .form-control{
    background: #0f0f0f;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    color: #fff;
    padding: 11px 14px;
    font-size: 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.auth-field .form-control::placeholder{ color: #4b5563; }
.auth-field .form-control:focus{
    background: #0f0f0f;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.15);
    color: #fff;
}
.auth-pw{ position: relative; }
.auth-pw .form-control{ padding-right: 42px; }
.auth-eye{
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #6b7280;
    padding: 6px 8px;
    cursor: pointer;
    transition: color 0.2s;
}
.auth-eye:hover{ color: var(--brand); }
.auth-btn{
    width: 100%;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 12px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
}
.auth-btn:hover{
    filter: brightness(1.08);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px -10px rgba(var(--brand-rgb), 0.6);
}
.auth-btn:active{ transform: translateY(0); }
.auth-foot{
    color: #9ca3af;
    font-size: 13.5px;
    text-align: center;
    margin: 20px 0 0;
}
.auth-foot a{ color: var(--brand); font-weight: 600; text-decoration: none; }
.auth-foot a:hover{ text-decoration: underline; }
.auth-card .recapt-box{
    background: #0f0f0f;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    padding: 10px;
}





.nav-pill{ font-size: 13.5px; }
.nav-pill i{ font-size: 14px; }


.section-head h4{ font-size: 19px; }
.section-head .text-muted{ font-size: 12.5px; }


.ticker-item{ font-size: 12px; }
.ticker-name{ font-size: 12px; }
.ticker-item .t-user{ font-size: 11.5px; }
.ticker-item .t-time{ font-size: 11.5px; }
.ticker-item .t-price{ font-size: 12px; }
.ticker-badge{ font-size: 10.5px; }


.stat-label{ font-size: 12px; }
.stat-value{ font-size: 22px; }
.stat-ico{ width: 38px; height: 38px; font-size: 16px; border-radius: 11px; }
.stat-icon{ font-size: 28px; }


.category-head h5{ font-size: 17px; }
.cat-count{ font-size: 10.5px; padding: 2px 8px; }
.badge-rec{ font-size: 11px; padding: 3px 9px; }
.category-banner-text span{ font-size: 12px; }
.category-banner-text strong{ font-size: clamp(14px, 1.8vw, 19px); }
.category-banner-text small{ font-size: 10.5px; }
.click-tab{ font-size: 9px; width: 28px; background-color: rgba(0, 0, 0, 0.55); }
.category-cta{ width: 34px; height: 34px; font-size: 13px; }


.pm-cat{ font-size: 10.5px; }
.pm-name{ font-size: 13.5px; }
.pm-price{ font-size: 15px; }
.pm-btn{ font-size: 12.5px; padding: 7px 10px; }
.pm-discount{ font-size: 11px; }


.auth-head h3{ font-size: 20px; }
.auth-head p{ font-size: 13px; }
.auth-field .form-label{ font-size: 12.5px; }
.auth-field .form-control{ font-size: 13.5px; padding: 10px 14px; }
.auth-btn{ font-size: 14px; padding: 11px; }
.auth-foot{ font-size: 13px; }




html{
    font-size: 14px; 
}




.side-link,
.side-bar-dropbtn{
    font-size: 13.5px;
    padding: 8px 10px;
}
.menu-bar-text p{
    font-size: 12.5px;
    margin-bottom: 0;
}
.menu-bar-text .fw-bold{
    font-size: 14px;
}
.box-text{
    padding: 22px;
    font-size: 13.5px;
}
.box-text h3{
    font-size: 22px;
}
.box-text h5{
    font-size: 15.5px;
}
.banner-text .fs-5{
    font-size: 16px;
}
.banner-text p{
    font-size: 12.5px;
}
.list-box{
    font-size: 13px;
}
.list-box .fs-5{
    font-size: 15px;
}


.list-card img{
    font-size: 0; 
}
.product-card .fs-5{
    font-size: 16px;
}
.product-card .btn{
    font-size: 13px;
}
.product-card p{
    font-size: 13px;
}
.bar-btn{
    font-size: 13.5px;
    padding: 8px;
}
.topup-card{
    font-size: 13.5px;
}
.topup-card p{
    font-size: 13.5px;
}


.dataTables_wrapper{
    font-size: 13px;
}
.dataTables_wrapper .btn{
    font-size: 12px;
}


.footer-text{
    font-size: 12.5px;
}


.product-card-modern{
    background: #141414;
    border: 1px solid #242424;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.product-card-modern:hover{
    transform: translateY(-4px);
    border-color: var(--brand);
    box-shadow: 0 14px 30px -16px rgba(var(--brand-rgb), 0.45);
}
.pm-img{
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #1b1c22;
}
.pm-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.product-card-modern:hover .pm-img img{
    transform: scale(1.06);
}

.pm-img .pm-cat{
    position: absolute;
    left: 10px;
    bottom: 10px;
    background: rgba(13, 13, 13, 0.75);
    backdrop-filter: blur(4px);
    color: #93c5fd;
    border: 1px solid rgba(59, 130, 246, 0.35);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    z-index: 2;
    margin: 0;
}

.pm-img .pm-discount{
    position: absolute;
    top: 10px;
    right: 10px;
    background: #ef4444;
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 9px;
    border-radius: 999px;
    z-index: 2;
    box-shadow: 0 4px 10px -4px rgba(239, 68, 68, 0.6);
}
.pm-body{
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 12px 12px;
    flex: 1;
}
.pm-name{
    font-size: 12.5px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pm-price-row{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pm-old-price{
    color: #6b7280;
    font-size: 11px;
    text-decoration: line-through;
}
.pm-price{
    color: var(--brand);
    font-size: 15px;
    font-weight: 800;
}
.pm-btn{
    margin-top: auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 11.5px;
    font-weight: 700;
    padding: 9px 10px;
    cursor: pointer;
    text-decoration: none;
    transition: filter 0.2s, transform 0.2s;
}
.pm-btn:hover{
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-1px);
}
.pm-btn-arrow{
    transition: transform 0.2s;
}
.pm-btn:hover .pm-btn-arrow{
    transform: translateX(3px);
}


.inpu-box{
    background-color: #161616;
    border: 1px solid #262626;
    border-radius: 14px;
    padding: 20px;
    max-width: 850px;
}
.inpu-box h5{
    color: #fff;
}
.inpu-box .form-control{
    background: #0f0f0f;
    border: 1px solid #2a2a2a;
    color: #fff;
    border-radius: 10px;
    padding: 10px 14px;
}
.inpu-box .form-control::placeholder{
    color: #4b5563;
}
.inpu-box .form-control:focus{
    background: #0f0f0f;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.15);
    color: #fff;
}


.pm-img .pm-promo{
    position: absolute;
    top: 10px;
    left: 10px;
    background: linear-gradient(120deg, #f59e0b, #fbbf24);
    color: #1c1917;
    font-size: 10.5px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 999px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 4px 10px -4px rgba(245, 158, 11, 0.6);
    letter-spacing: 0.3px;
}
.pm-img .pm-price-badge{
    position: absolute;
    right: 10px;
    bottom: 10px;
    min-width: 58px;
    min-height: 58px;
    background: var(--brand);
    color: #fff;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    z-index: 2;
    padding: 6px;
    box-shadow: 0 6px 14px -5px rgba(var(--brand-rgb), 0.75);
    border: 2px solid rgba(255, 255, 255, 0.35);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.pm-img .pm-price-badge br{
    display: none;
}
.pm-img .pm-price-badge{
    font-size: 14px;
}
.pm-img .pm-price-badge::after{
    content: 'บาท';
    font-size: 9px;
    font-weight: 600;
    opacity: 0.9;
    margin-top: 1px;
}


.product-card-modern{
    background: #161616;
    border: 1px solid #262626;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.product-card-modern:hover{
    transform: translateY(-4px);
    border-color: var(--brand);
    box-shadow: 0 14px 30px -16px rgba(var(--brand-rgb), 0.45);
}

.pm-img{
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #1b1c22;
    margin: 10px 10px 0;
    border-radius: 10px;
}
.pm-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.product-card-modern:hover .pm-img img{
    transform: scale(1.06);
}

.pm-img .pm-cat{
    position: absolute;
    top: 8px;
    right: 8px;
    left: auto;
    bottom: auto;
    background: rgba(59, 130, 246, 0.92);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 999px;
    z-index: 2;
    max-width: calc(100% - 64px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pm-img .pm-discount{
    position: absolute;
    top: 8px;
    left: 8px;
    right: auto;
    bottom: auto;
    background: #ef4444;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 999px;
    z-index: 2;
    box-shadow: 0 4px 10px -4px rgba(239, 68, 68, 0.6);
    display: inline-block;
    width: auto;
}
.pm-body{
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 12px 12px;
    flex: 1;
}
.pm-name{
    font-size: 13.5px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 36px;
}
.pm-price-row{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pm-old-price{
    color: #6b7280;
    font-size: 12px;
    text-decoration: line-through;
}
.pm-price{
    color: var(--brand);
    font-size: 16px;
    font-weight: 800;
}
.pm-btn{
    margin-top: auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #fff;
    border: none;
    border-radius: 999px; 
    font-size: 13.5px;
    font-weight: 700;
    padding: 11px 16px;
    cursor: pointer;
    text-decoration: none;
    transition: filter 0.2s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 10px -4px rgba(var(--brand-rgb), 0.4);
}
.pm-btn:hover{
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-1px);
    box-shadow: 0 8px 16px -6px rgba(var(--brand-rgb), 0.5);
}
.pm-btn-arrow{
    transition: transform 0.2s;
}
.pm-btn:hover .pm-btn-arrow{
    transform: translateX(3px);
}


.pm-desc{
    color: #9ca3af;
    font-size: 12px;
    line-height: 1.45;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pm-stock-row{
    display: flex;
    align-items: center;
    margin-top: 2px;
}
.pm-stock{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
}
.pm-stock-ok{
    background: rgba(var(--brand-rgb), 0.12);
    border: 1px solid rgba(var(--brand-rgb), 0.3);
    color: var(--brand-light);
}
.pm-stock-bad{
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #f87171;
}
.pm-btn-disabled{
    background: #262626 !important;
    color: #6b7280 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
}

.pm-img .pm-price-badge{
    position: absolute;
    right: 8px;
    bottom: 8px;
    left: auto;
    top: auto;
    min-width: 56px;
    min-height: 56px;
    background: rgba(13, 13, 13, 0.85);
    border: 2px solid var(--brand);
    color: var(--brand);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    z-index: 2;
    padding: 5px;
    box-shadow: 0 6px 14px -5px rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(3px);
}
.pm-img .pm-price-badge::after{
    content: 'บาท';
    font-size: 9px;
    font-weight: 600;
    opacity: 0.85;
    margin-top: 1px;
}


.pm-desc{
    color: #9ca3af;
}
.pm-stock-ok{
    background: rgba(var(--brand-rgb), 0.14);
    border: 1px solid rgba(var(--brand-rgb), 0.4);
    color: var(--brand-light);
}
.pm-btn-disabled{
    background: #262626 !important;
    color: #6b7280 !important;
}

.pm-img .pm-price-badge{
    border-color: var(--brand);
    color: var(--brand);
}


.pm-body{
    padding: 10px 12px 12px;
}

.pm-name{
    margin-top: auto;
    margin-bottom: 6px;
    font-size: 13px;
    min-height: 0;
}
.pm-price-row{
    margin-bottom: 8px;
}
.pm-price{
    font-size: 15px;
}
.pm-old-price{
    font-size: 11.5px;
}

.pm-btn{
    margin-top: 0;
    font-size: 12px;
    font-weight: 700;
    padding: 7px 12px;
    gap: 6px;
    border-radius: 999px;
    box-shadow: none;
}
.pm-btn:hover{
    box-shadow: 0 6px 12px -6px rgba(var(--brand-rgb), 0.5);
}


.pm-img{
    border: 1px solid rgba(var(--brand-rgb), 0.22);
    box-shadow: 0 6px 14px -8px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
    margin: 10px 10px 0;
}
.pm-img img{
    filter: saturate(1.05) contrast(1.04);
}
.product-card-modern:hover .pm-img{
    border-color: rgba(var(--brand-rgb), 0.55);
    box-shadow: 0 10px 20px -10px rgba(var(--brand-rgb), 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.product-card-modern:hover .pm-img img{
    transform: scale(1.06);
    filter: saturate(1.12) contrast(1.06) brightness(1.04);
}


.hero-banners{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 16px;
    aspect-ratio: 21 / 6;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 28px -16px rgba(0, 0, 0, 0.7);
}
.hb-slide{
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
    pointer-events: none;
}
.hb-slide.hb-active{
    opacity: 1;
    pointer-events: auto;
}
.hb-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.hb-dot{
    position: absolute;
    bottom: 12px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    padding: 0;
    transition: background 0.2s, transform 0.2s;
    z-index: 5;
}
.hb-dot:first-of-type{ left: calc(50% - 14px); }
.hb-dot:last-of-type{ left: calc(50% + 5px); }
.hb-dot-active{
    background: var(--brand);
    transform: scale(1.25);
}
@media (max-width: 767px){
    .hero-banners{ aspect-ratio: 21 / 9; }
}


.cat-watermark{
    position: absolute;
    right: 20px;
    bottom: -14px;
    font-size: 88px;
    font-weight: 900;
    letter-spacing: 2px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.06);
    text-transform: uppercase;
    pointer-events: none;
    z-index: 0;
    white-space: nowrap;
    user-select: none;
}
.category-banner-text{ z-index: 2; }
.click-tab{ z-index: 3; }
.category-cta{ z-index: 3; }

.pm-name{
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.pm-short{
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
}
.pm-full{
    font-size: 12px;
    font-weight: 500;
    color: #b3b3b3;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.stat-card-modern{
    padding: 24px 26px;
    gap: 16px;
    border-radius: 16px;
}
.stat-ico{
    width: 52px;
    height: 52px;
    font-size: 20px;
}
.stat-label{
    font-size: 14px;
    margin-bottom: 4px;
}
.stat-value{
    font-size: 30px;
}
.stat-icon{
    font-size: 52px;
}


.m-hero{ display: none; }
.m-dock{ display: none; }

@media (max-width: 767.98px) {
    
    .m-dock{
        display: flex;
        position: fixed;
        bottom: 12px;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 24px);
        max-width: 420px;
        background: rgba(24, 24, 24, 0.92);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 22px;
        padding: 8px 10px;
        z-index: 1050;
        align-items: flex-end;
        justify-content: space-between;
    }
    .m-dock-item{
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3px;
        padding: 6px 2px;
        color: #9ca3af;
        text-decoration: none;
        font-size: 10px;
    }
    .m-dock-item i{ font-size: 19px; }
    .m-dock-item.m-dock-active{
        color: var(--brand);
    }
    .m-dock-main{
        width: 58px;
        height: 58px;
        border-radius: 50%;
        margin-top: -30px;
        background: linear-gradient(135deg, var(--brand), var(--brand-dark));
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        border: 4px solid #121212;
        box-shadow: 0 8px 22px -6px rgba(var(--brand-rgb), 0.8);
        text-decoration: none;
    }

    
    body{
        padding-bottom: 96px;
    }
    
    .hero-banners{ margin-top: 8px; }

    
    .site-nav .navbar-collapse,
    .site-nav .navbar-toggler{
        display: none !important;
    }
    .site-nav .navbar-brand{
        margin-right: auto;
    }
}


.card-shop-admin{
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 14px;
    overflow: hidden;
    transition: transform .2s, border-color .2s, box-shadow .2s;
}
.card-shop-admin:hover{
    transform: translateY(-3px);
    border-color: rgba(var(--brand-rgb), .5);
    box-shadow: 0 14px 26px -18px rgba(var(--brand-rgb), .6);
}
.card-shop-admin-img{
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.card-shop-admin-body{
    padding: 12px 14px;
}
.stat-topup{
    min-height: 92px;
}


.admin-header{
    background: linear-gradient(120deg, var(--brand-dark), var(--brand) 55%, var(--brand-light));
    color: #fff;
    box-shadow: 0 4px 18px -8px rgba(0,0,0,0.6);
}
.admin-header-brand{
    font-size: 17px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.5px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.35);
}
.admin-header-tag{
    font-size: 10px;
    font-weight: 700;
    background: rgba(0,0,0,0.28);
    color: #fff;
    border-radius: 999px;
    padding: 3px 9px;
    letter-spacing: 1px;
}
.admin-header-link{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.92);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 10px;
    border-radius: 999px;
    transition: background 0.2s;
}
.admin-header-link:hover{
    background: rgba(0,0,0,0.2);
    color: #fff;
}
.admin-avatar{
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0,0,0,0.3);
    border: 2px solid rgba(255,255,255,0.8);
    color: #fff;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}
.admin-subnav{
    background: #1a1a1a;
    border-bottom: 1px solid #262626;
}
.admin-subnav-link,
.admin-subnav-btn{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: #b9b9b9;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 12px;
    border-radius: 8px;
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
    cursor: pointer;
}
.admin-subnav-link:hover,
.admin-subnav-btn:hover{
    color: #fff;
    background: rgba(255,255,255,0.06);
}
.admin-subnav-link.active,
.admin-subnav-btn.active{
    color: var(--brand);
    background: rgba(var(--brand-rgb), 0.12);
}
.admin-subnav-btn.menu-open{
    color: var(--brand);
}
.admin-subnav-drop{
    position: relative;
}
.admin-subnav-menu{
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background: #1f1f1f;
    border: 1px solid #2e2e2e;
    border-radius: 10px;
    padding: 6px;
    box-shadow: 0 16px 30px -14px rgba(0,0,0,0.8);
    z-index: 1200;
}
.admin-subnav-menu.open{ display: block; }
.admin-subnav-menu a{
    display: flex;
    align-items: center;
    gap: 9px;
    color: #d5d5d5;
    text-decoration: none;
    font-size: 13px;
    padding: 9px 12px;
    border-radius: 7px;
    transition: background 0.15s, color 0.15s;
}
.admin-subnav-menu a:hover{
    background: rgba(var(--brand-rgb), 0.14);
    color: var(--brand);
}
.admin-subnav-right{
    font-size: 12px;
    color: #9ca3af;
    font-weight: 600;
}
.admin-admin-badge{
    font-size: 11px;
    font-weight: 800;
    background: #2563eb;
    color: #fff;
    border-radius: 999px;
    padding: 4px 12px;
    letter-spacing: 0.5px;
}
.admin-main{
    min-height: calc(100vh - 100px);
    background:
        radial-gradient(circle at 15% 8%, rgba(var(--brand-rgb), 0.06), transparent 40%),
        radial-gradient(circle at 85% 90%, rgba(var(--brand-rgb), 0.05), transparent 45%),
        #121212;
    padding: 24px;
    padding-bottom: 50px;
}
.admin-card{
    background: #17191d;
    border: 1px solid #262a30;
    border-radius: 14px;
    padding: 20px;
}
.admin-card h5{
    color: #fff;
    font-size: 15px;
}
.admin-card .muted{
    color: #9ca3af;
}
.admin-title{
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 2px;
}
.admin-subtitle{
    color: #9ca3af;
    font-size: 13px;
    margin-bottom: 18px;
}
.admin-welcome{
    background: linear-gradient(135deg, rgba(var(--brand-rgb), 0.14), rgba(var(--brand-rgb), 0.04));
    border: 1px solid rgba(var(--brand-rgb), 0.3);
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 18px;
}
.admin-welcome h4{
    color: #fff;
    font-size: 16px;
    margin-bottom: 2px;
}
.admin-welcome p{
    color: #b9b9b9;
    font-size: 12.5px;
    margin-bottom: 0;
}

.stat-card-admin{
    background: #17191d;
    border: 1px solid #262a30;
    border-radius: 14px;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: transform 0.2s, border-color 0.2s;
    height: 100%;
}
.stat-card-admin:hover{
    transform: translateY(-3px);
    border-color: rgba(var(--brand-rgb), 0.45);
}
.stat-card-admin .s-label{
    color: #9ca3af;
    font-size: 12.5px;
    margin-bottom: 4px;
}
.stat-card-admin .s-value{
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.1;
}
.stat-card-admin .s-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex: 0 0 auto;
    background: rgba(var(--brand-rgb), 0.14);
    color: var(--brand);
}
.stat-card-admin.topup-yellow .s-icon{ background: rgba(245, 158, 11, 0.14); color: #f59e0b; }
.stat-card-admin.topup-info .s-icon{ background: rgba(59, 130, 246, 0.14); color: #3b82f6; }
.stat-card-admin.topup-warn .s-icon{ background: rgba(250, 204, 21, 0.14); color: #facc15; }
.stat-card-admin.topup-green .s-icon{ background: rgba(34, 197, 94, 0.14); color: #22c55e; }

.admin-main .box-text{
    background: #17191d;
    border: 1px solid #262a30;
    border-radius: 14px;
    color: #fff;
}
.admin-main .box-text h3,
.admin-main .box-text h5{ color: #fff; }
.admin-main .box-text .text-black-50{ color: #9ca3af !important; }
.admin-main .box-text .text-muted{ color: #9ca3af !important; }
.admin-main .list-box{ border-color: #2a2e34; }
.admin-main .form-control,
.admin-main .form-select{
    background: #0f1114;
    border-color: #2a2e34;
    color: #fff;
}
.admin-main .form-control:focus{ color: #fff; background: #0f1114; }
.admin-main .form-label{ color: #c6c6c6; }
.admin-main table.table{
    color: #e5e5e5;
}
.admin-main table.table thead th{
    color: #9ca3af;
    background: #1c1f24;
    border-color: #2a2e34;
}
.admin-main table.table td{
    border-color: #262a30;
}
.admin-main .dataTables_wrapper .dataTables_length,
.admin-main .dataTables_wrapper .dataTables_filter input,
.admin-main .dataTables_wrapper .dataTables_info,
.admin-main .dataTables_wrapper .dataTables_paginate .paginate_button{
    color: #b9b9b9 !important;
}


.nav-pill{
    background: rgba(var(--btn-secondary-rgb), 0.18);
    border: 1px solid rgba(var(--btn-secondary-rgb), 0.45);
    color: var(--btn-secondary-light);
}
.nav-pill:hover{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #fff;
}
.cat-count{
    background-color: rgba(var(--btn-secondary-rgb), 0.16);
    border: 1px solid rgba(var(--btn-secondary-rgb), 0.4);
    color: var(--btn-secondary-light);
}
.btn-register{
    border: 1px solid rgba(var(--btn-secondary-rgb), 0.55);
    color: var(--btn-secondary-light);
}
.btn-register:hover{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    border-color: transparent;
    color: #fff;
}


.ticker-wrap{
    padding: 0;
    border: 1px solid #1f1f1f;
    background-color: #0f0f0f;
}
.ticker{
    gap: 12px;
    padding: 12px;
}
.ticker-item{
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 205px;
    padding: 6px 10px;
    background-color: #1a1a1a;
    border: 1px solid #262626;
    border-radius: 12px;
    white-space: nowrap;
    font-size: 12px;
    color: #d4d4d4;
    transition: border-color 0.2s, transform 0.2s;
}
.ticker-item:hover{
    border-color: rgba(var(--brand-rgb), 0.5);
    transform: translateY(-2px);
}
.ticker-img{
    width: 38px;
    height: 38px;
    border-radius: 7px;
    object-fit: cover;
    flex: 0 0 auto;
    background-color: #141414;
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.ticker-info{
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.ticker-top{
    display: flex;
    align-items: center;
    gap: 8px;
}
.ticker-name{
    color: #fff;
    font-weight: 700;
    font-size: 11.5px;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ticker-buyer{
    font-size: 11px;
    color: #9ca3af;
}
.ticker-meta{
    display: flex;
    align-items: center;
    gap: 10px;
}
.ticker-item .t-price{
    color: var(--brand);
    font-weight: 700;
    font-size: 11.5px;
}
.ticker-item .t-time{
    color: #8b8b8b;
    font-size: 11px;
}


.qty-btn{
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1f1f1f;
    color: #fff;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    transition: border-color 0.2s, color 0.2s;
}
.qty-btn:hover{
    border-color: var(--brand);
    color: var(--brand);
}


.btn-back{
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1f1f1f;
    border: 1px solid #2f2f2f;
    color: #e5e5e5;
    font-size: 15px;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s, transform 0.2s;
    flex: 0 0 auto;
}
.btn-back:hover{
    border-color: var(--brand);
    color: var(--brand);
    transform: translateX(-2px);
}


.admin-main{
    padding: 28px 24px 56px;
}
.admin-main .container-fluid{
    max-width: 1400px;
}
.admin-title{
    font-size: 20px;
}
.admin-subtitle{
    margin-bottom: 16px;
    font-size: 12.5px;
}
.admin-card{
    padding: 18px;
    border-color: #23272e;
}

.admin-main table.table thead th{
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 10px 12px;
    white-space: nowrap;
}
.admin-main table.table td{
    font-size: 13px;
    padding: 9px 12px;
    vertical-align: middle;
}
.admin-main .dataTables_wrapper .dataTables_length,
.admin-main .dataTables_wrapper .dataTables_filter{
    margin-bottom: 10px;
}
.admin-main .dataTables_wrapper .dataTables_filter input{
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 13px;
}
.admin-main .dataTables_wrapper .dataTables_paginate .paginate_button{
    padding: 3px 10px !important;
    font-size: 12.5px;
    border-radius: 8px !important;
    border: 1px solid #2a2e34 !important;
}
.admin-main .dataTables_wrapper .dataTables_info{
    padding-top: 8px;
    font-size: 12.5px;
}

.admin-main .list-box{
    padding: 10px 2px;
}
.admin-main .list-box + .list-box{
    border-top: 1px solid #23272e;
}


.admin-header{
    position: sticky;
    top: 0;
    z-index: 1040;
    height: 56px;
    background: linear-gradient(120deg, var(--brand-dark), var(--brand) 55%, var(--brand-light));
    box-shadow: 0 4px 18px -8px rgba(0,0,0,0.6);
}
.admin-header-inner{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 16px;
}
.admin-burger{
    display: none;
    width: 36px; height: 36px;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.25);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 9px;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.2s;
}
.admin-burger:hover{ background: rgba(0,0,0,0.4); }


.admin-sidebar{
    position: fixed;
    top: 56px; left: 0; bottom: 0;
    width: 240px;
    background: #141414;
    border-right: 1px solid #242424;
    z-index: 1030;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease;
}
.sidebar-search{
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 12px 6px;
    padding: 7px 11px;
    background: #1d1d1d;
    border: 1px solid #2a2a2a;
    border-radius: 9px;
    color: #6b7280;
}
.sidebar-search i{ font-size: 12px; }
.sidebar-search input{
    flex: 1;
    min-width: 0;
    background: none;
    border: none;
    outline: none;
    color: #e5e5e5;
    font-size: 12.5px;
}
.sidebar-search input::placeholder{ color: #6b7280; }
.sidebar-nav{
    flex: 1;
    overflow-y: auto;
    padding: 4px 10px 14px;
    scrollbar-width: thin;
    scrollbar-color: #2e2e2e transparent;
}
.sidebar-group{ margin-bottom: 8px; }
.sidebar-group-title{
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #6b7280;
    padding: 10px 10px 5px;
}
.sidebar-link{
    display: flex;
    align-items: center;
    gap: 10px;
    color: #b9b9b9;
    font-size: 13px;
    font-weight: 500;
    padding: 9px 11px;
    margin-bottom: 4px;
    border-radius: 9px;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    border: 1px solid transparent;
}
.sidebar-link i{ width: 18px; text-align: center; font-size: 13px; }
.sidebar-link:hover{ background: rgba(255,255,255,0.05); color: #fff; text-decoration: none; }
.sidebar-link.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #fff;
    font-weight: 600;
    box-shadow: 0 8px 16px -8px rgba(var(--brand-rgb), 0.7);
}
.sidebar-foot{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid #242424;
}
.sidebar-logout{
    width: 32px; height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    font-size: 13px;
    transition: color 0.2s, border-color 0.2s;
}
.sidebar-logout:hover{ color: #f87171; border-color: rgba(248,113,113,0.5); }
.sidebar-overlay{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 1029;
}

.admin-main{ margin-left: 240px; }


.st-badge{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    white-space: nowrap;
}
.st-ok{ background: rgba(34,197,94,0.14); color: #4ade80; border: 1px solid rgba(34,197,94,0.35); }
.st-warn{ background: rgba(245,158,11,0.14); color: #fbbf24; border: 1px solid rgba(245,158,11,0.35); }
.st-bad{ background: rgba(239,68,68,0.14); color: #f87171; border: 1px solid rgba(239,68,68,0.35); }
.st-muted{ background: rgba(156,163,175,0.12); color: #9ca3af; border: 1px solid rgba(156,163,175,0.3); }
.st-blue{ background: rgba(59,130,246,0.14); color: #60a5fa; border: 1px solid rgba(59,130,246,0.35); }


.vis-switch{ position: relative; display: inline-flex; }
.vis-switch input{ display: none; }
.vis-switch .slider{
    width: 40px; height: 22px;
    border-radius: 999px;
    background: #3f3f46;
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
    flex: 0 0 auto;
}
.vis-switch .slider::after{
    content: '';
    position: absolute;
    top: 2px; left: 2px;
    width: 18px; height: 18px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.vis-switch input:checked + .slider{ background: var(--brand); }
.vis-switch input:checked + .slider::after{ transform: translateX(18px); }


.admin-toolbar{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.admin-toolbar .form-control,
.admin-toolbar .form-select{
    width: auto;
    min-width: 190px;
    background: #0f1114;
    border-color: #2a2e34;
    color: #fff;
    font-size: 13px;
    border-radius: 9px;
    padding: 7px 12px;
}
.admin-toolbar .form-control:focus,
.admin-toolbar .form-select:focus{
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.15);
    color: #fff;
    background: #0f1114;
}
.admin-toolbar .toolbar-count{ color: #9ca3af; font-size: 12.5px; margin-left: auto; }


.admin-pagehead{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.admin-pagehead h2{ margin-bottom: 0; }


.bulk-bar{
    position: sticky;
    bottom: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    background: #1c1917;
    border: 1px solid #2e2e2e;
    border-radius: 12px;
    padding: 10px 14px;
    box-shadow: 0 16px 30px -12px rgba(0,0,0,0.8);
    z-index: 1020;
    margin-top: 14px;
    color: #e5e5e5;
    font-size: 13px;
}
.bulk-bar .btn{ font-size: 12.5px; padding: 6px 12px; }


.card-shop-admin{ position: relative; }
.card-shop-admin .vis-flag{
    position: absolute;
    top: 10px; left: 10px;
    z-index: 3;
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(17,17,17,0.8);
    color: #9ca3af;
    border: 1px solid #2a2a2a;
    backdrop-filter: blur(3px);
}
.card-shop-admin.hidden-card{ opacity: 0.55; }


.admin-mini-btns{
    display: flex;
    gap: 6px;
    margin-top: 10px;
}
.admin-mini-btns .btn{
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 11.5px;
    padding: 5px 6px;
    border-radius: 8px;
    background: #1f1f1f;
    border: 1px solid #2a2a2a;
    color: #d5d5d5;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.admin-mini-btns .btn:hover{ border-color: rgba(var(--brand-rgb), 0.5); color: var(--brand); }
.admin-mini-btns .btn.btn-danger-mini:hover{ border-color: rgba(248,113,113,0.5); color: #f87171; }


@media (max-width: 991px){
    .admin-burger{ display: inline-flex; }
    .admin-sidebar{ transform: translateX(-105%); }
    .admin-sidebar.open{ transform: translateX(0); box-shadow: 20px 0 40px -18px rgba(0,0,0,0.8); }
    .sidebar-overlay.show{ display: block; }
    .admin-main{ margin-left: 0; }
    .admin-toolbar .form-control,
    .admin-toolbar .form-select{ width: 100%; min-width: 0; }
    .admin-toolbar .toolbar-count{ margin-left: 0; }
}



.admin-main .btn{
    border-radius: 999px !important;
    font-weight: 600;
    border: none;
    box-shadow: 0 6px 14px -6px rgba(0,0,0,0.5);
    transition: transform 0.15s, filter 0.15s, box-shadow 0.15s;
}
.admin-main .btn:hover{ transform: translateY(-1px); filter: brightness(1.07); }
.admin-main .btn:active{ transform: translateY(0); }
.admin-main .btn-success,
.admin-main .btn-modern{
    background: linear-gradient(180deg, #f04343 0%, #dc2626 100%);
    color: #fff;
    box-shadow: 0 8px 18px -8px rgba(239, 68, 68, 0.8);
}
.admin-main .btn-success:hover,
.admin-main .btn-modern:hover{ color: #fff; }
.admin-main .btn-danger{
    background: linear-gradient(180deg, #ef4444 0%, #b91c1c 100%);
    color: #fff;
}
.admin-main .btn-warning{
    background: linear-gradient(180deg, #fbbf24 0%, #f59e0b 100%);
    color: #1c1917;
}
.admin-main .btn-info{
    background: linear-gradient(180deg, #60a5fa 0%, #3b82f6 100%);
    color: #fff;
}
.admin-main .btn-outline-success,
.admin-main .btn-outline-danger,
.admin-main .btn-outline-info,
.admin-main .btn-outline-secondary,
.admin-main .btn-outline-warning,
.admin-main .btn-modern-ghost{
    background: #1f1f1f;
    border: 1px solid #363636;
    color: #e5e5e5;
    box-shadow: none;
}
.admin-main .btn-outline-success:hover,
.admin-main .btn-modern-ghost:hover{ border-color: var(--brand); color: var(--brand); background: #1f1f1f; filter: none; }
.admin-main .btn-outline-danger:hover{ border-color: #f87171; color: #f87171; background: #1f1f1f; filter: none; }
.admin-main .btn-outline-info:hover{ border-color: #60a5fa; color: #60a5fa; background: #1f1f1f; filter: none; }


.mem-head-icon{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(180deg, #f04343, #dc2626);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    box-shadow: 0 10px 22px -10px rgba(239, 68, 68, 0.8);
    flex: 0 0 auto;
}
.mem-stat{
    background: #17191d;
    border: 1px solid #262a30;
    border-radius: 12px;
    padding: 8px 14px;
    display: flex;
    flex-direction: column;
    min-width: 108px;
}
.mem-stat-label{ color: #9ca3af; font-size: 11px; }
.mem-stat-value{ color: #fff; font-weight: 800; font-size: 15px; line-height: 1.3; }


.mem-tabs{ display: flex; gap: 6px; flex-wrap: wrap; }
.mem-tab{
    border: 1px solid #2a2a2a;
    background: #17191d;
    color: #c6c6c6;
    font-size: 12.5px;
    font-weight: 600;
    padding: 7px 16px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s;
}
.mem-tab:hover{ color: #fff; border-color: #3f3f46; }
.mem-tab.active{
    background: linear-gradient(180deg, #f04343, #dc2626);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 8px 18px -8px rgba(239, 68, 68, 0.8);
}


.mem-search{
    display: flex;
    align-items: center;
    gap: 8px;
    background: #0f1114;
    border: 1px solid #2a2e34;
    border-radius: 999px;
    padding: 7px 14px;
    color: #6b7280;
    min-width: 220px;
}
.mem-search i{ font-size: 12px; }
.mem-search input{
    flex: 1;
    min-width: 0;
    background: none;
    border: none;
    outline: none;
    color: #e5e5e5;
    font-size: 13px;
}
.mem-search input::placeholder{ color: #6b7280; }
.mem-sort{
    width: auto;
    min-width: 150px;
    background: #0f1114;
    border-color: #2a2e34;
    color: #fff;
    font-size: 12.5px;
    border-radius: 999px;
    padding: 7px 12px;
}


.mem-avatar{
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: #fff;
    font-weight: 800;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}



.admin-main .dataTables_wrapper .dataTables_length,
.admin-main .dataTables_wrapper .dataTables_filter{
    display: none;
}

.admin-main .dataTables_wrapper{ padding: 0 16px 16px; }
.admin-main .dataTables_wrapper .dataTables_info{
    padding: 10px 0 0;
    font-size: 12px;
    color: #6b7280 !important;
}

.admin-main .dataTables_wrapper .dataTables_paginate{
    padding-top: 12px;
}
.admin-main .dataTables_wrapper .dataTables_paginate .paginate_button{
    border-radius: 999px !important;
    border: 1px solid #2e2e2e !important;
    background: #17191d !important;
    color: #c6c6c6 !important;
    font-size: 12px;
    padding: 4px 12px !important;
    margin: 0 2px;
    transition: all 0.15s;
}
.admin-main .dataTables_wrapper .dataTables_paginate .paginate_button:hover{
    background: #23262c !important;
    color: #fff !important;
    border-color: #3f3f46 !important;
}
.admin-main .dataTables_wrapper .dataTables_paginate .paginate_button.current{
    background: linear-gradient(180deg, #f04343, #dc2626) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 6px 14px -6px rgba(239, 68, 68, 0.7);
}
.admin-main .dataTables_wrapper .dataTables_paginate .paginate_button.disabled{
    opacity: 0.35 !important;
    pointer-events: none;
}

.admin-main table.table tbody tr{
    transition: background 0.12s;
}
.admin-main table.table tbody tr:hover{
    background: rgba(255, 255, 255, 0.03);
}
.admin-main table.table tbody tr.opacity-50:hover{ background: rgba(255,255,255,0.015); }

.admin-main table.table thead th.sorting:before,
.admin-main table.table thead th.sorting_asc:before,
.admin-main table.table thead th.sorting_desc:before,
.admin-main table.table thead th.sorting:after,
.admin-main table.table thead th.sorting_asc:after,
.admin-main table.table thead th.sorting_desc:after{
    color: #6b7280;
}
.admin-main table.table thead th.sorting_asc:after,
.admin-main table.table thead th.sorting_desc:after{ color: #f04343; }


.admin-main .dataTables_wrapper .dataTables_paginate li.paginate_button.page-item{
    background: none !important;
    border: none !important;
    margin: 0 2px;
}
.admin-main .dataTables_wrapper .dataTables_paginate li.paginate_button.page-item .page-link{
    background: #17191d;
    border: 1px solid #2e2e2e;
    color: #c6c6c6;
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 999px;
    margin: 0;
    transition: all 0.15s;
}
.admin-main .dataTables_wrapper .dataTables_paginate li.paginate_button.page-item .page-link:hover{
    background: #23262c;
    color: #fff;
    border-color: #3f3f46;
}
.admin-main .dataTables_wrapper .dataTables_paginate li.paginate_button.page-item.active .page-link{
    background: linear-gradient(180deg, #f04343, #dc2626);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 6px 14px -6px rgba(239, 68, 68, 0.7);
}
.admin-main .dataTables_wrapper .dataTables_paginate li.paginate_button.page-item.disabled .page-link{
    opacity: 0.35;
    pointer-events: none;
}


.cat-page-icon{
    width: 46px; height: 46px; border-radius: 12px;
    background: linear-gradient(180deg, #f04343, #dc2626);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 20px; box-shadow: 0 8px 18px -8px rgba(220, 38, 38, 0.7);
}
.cat-settings{ border: 1px solid #23262c !important; padding: 4px 20px !important; }
.cat-setting-row{
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; padding: 16px 0;
}
.cat-setting-row + .cat-setting-row{ border-top: 1px solid #23262c; }
.cat-setting-title{ color: #f4f4f5; font-size: 14px; font-weight: 600; }
.cat-setting-desc{ color: #a1a1aa; font-size: 12px; max-width: 460px; }
.cat-switch .form-check-input{ width: 40px; height: 21px; cursor: pointer; }
.cat-switch .form-check-input:checked{ background-color: #22c55e; border-color: #22c55e; }
.cat-per-row{ display: flex; gap: 6px; }
.cat-num{
    width: 34px; height: 34px; border-radius: 10px; border: 1px solid #2e2e2e;
    background: #17191d; color: #e4e4e7; font-size: 14px; font-weight: 700;
    display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.15s;
}
.cat-num:hover{ border-color: #3f3f46; background: #23262c; }
.cat-num.active{ background: linear-gradient(180deg, #f04343, #dc2626); border-color: transparent; color: #fff; box-shadow: 0 6px 14px -6px rgba(239,68,68,0.7); }
.cat-mode-toggle{ display: inline-flex; background: #17191d; border: 1px solid #2e2e2e; border-radius: 999px; padding: 3px; }
.cat-mode-btn{
    border: none; background: transparent; color: #a1a1aa; font-size: 12.5px; font-weight: 600;
    padding: 6px 16px; border-radius: 999px; cursor: pointer; transition: all 0.15s;
}
.cat-mode-btn.active{ background: linear-gradient(180deg, #f04343, #dc2626); color: #fff; box-shadow: 0 6px 14px -6px rgba(239,68,68,0.7); }
.cat-grid{ display: grid; grid-template-columns: repeat(var(--cat-cols, 2), 1fr); gap: 16px; }
.cat-card{
    background: #1a1c20; border: 1px solid #23262c; border-radius: 14px; overflow: hidden;
    transition: border-color 0.2s, transform 0.2s;
}
.cat-card:hover{ border-color: #3a3d45; transform: translateY(-2px); }
.cat-card-banner{
    height: 120px; background-size: cover; background-position: center; position: relative;
    display: flex; align-items: flex-start; justify-content: flex-end; padding: 10px;
}
.cat-banner-tag{
    background: #00000066; backdrop-filter: blur(4px); color: #fff; font-size: 10px;
    font-weight: 700; letter-spacing: 1px; padding: 4px 10px; border-radius: 999px;
    border: 1px solid #ffffff33;
}
.cat-card-body{ padding: 14px 16px 16px; }
.cat-card-num{
    width: 26px; height: 26px; border-radius: 8px; background: #17191d; border: 1px solid #2e2e2e;
    color: #e4e4e7; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center;
}
.cat-count-badge{
    background: #2a1616; color: #f87171; border: 1px solid #3f1d1d;
    font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 999px;
}
.cat-status{ font-size: 11.5px; font-weight: 600; }
.cat-status.ok{ color: #22c55e; }
.cat-status.off{ color: #71717a; }
.cat-card-name{ color: #f4f4f5; font-size: 15px; font-weight: 700; }
.cat-card-ref{ font-family: Consolas, monospace; }
@media (max-width: 767px){
    .cat-grid{ grid-template-columns: 1fr !important; }
    .cat-setting-row{ flex-direction: column; align-items: flex-start; }
}



.admin-main .form-label{ color: #e2e2e8 !important; font-weight: 600; font-size: 12.5px; margin-bottom: 5px; }
.admin-main .text-muted{ color: #a9a9b4 !important; }
.admin-main small.text-muted,
.admin-main .text-muted.small{ color: #9c9ca8 !important; }
.admin-main .admin-card label{ color: #d8d8df; }
.admin-main .admin-card .fs-5{ color: #fff; font-size: 15px !important; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.admin-main .admin-card .fs-5 i{ font-size: 16px; }


.card-head{
    display: flex; align-items: center; gap: 10px; margin-bottom: 16px;
    padding-bottom: 12px; border-bottom: 1px solid #262a30;
}
.card-head-icon{
    width: 36px; height: 36px; border-radius: 10px; flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center; font-size: 16px;
    background: rgba(var(--brand-rgb), 0.16); color: var(--brand);
}
.card-head h5{ margin: 0; color: #fff; font-size: 15px; font-weight: 700; }
.card-head .card-head-sub{ font-size: 11.5px; color: #9c9ca8; margin-top: 1px; }


.upload-zone{
    border: 1.5px dashed #3a3f47; border-radius: 12px; background: #101216;
    min-height: 120px; display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 8px; padding: 16px; text-align: center;
    transition: border-color 0.2s, background 0.2s;
}
.upload-zone:hover{ border-color: var(--brand); background: #12141a; }
.upload-zone .uz-icon{ font-size: 26px; color: #6b7280; }
.upload-zone .uz-text{ font-size: 13px; color: #c6c6ce; }
.upload-zone .uz-hint{ font-size: 11.5px; color: #8b8b96; }
.upload-zone.has-img{ border-style: solid; border-color: var(--brand); }
.upload-zone.has-img img{ max-width: 100%; max-height: 150px; border-radius: 8px; }


.file-btn-row{ display: flex; gap: 8px; flex-wrap: wrap; }
.btn-file{
    border-radius: 999px; font-size: 12.5px; font-weight: 600; padding: 7px 16px;
    display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
    background: linear-gradient(180deg, #f04343, #dc2626); color: #fff; border: none;
    box-shadow: 0 6px 14px -6px rgba(239,68,68,0.7); transition: transform 0.15s, filter 0.15s;
}
.btn-file:hover{ transform: translateY(-1px); filter: brightness(1.08); }
.btn-file.dark{ background: #1f1f1f; color: #e5e5e5; box-shadow: none; border: 1px solid #363636; }
.btn-file.dark:hover{ border-color: var(--brand); color: var(--brand); }


.admin-main .form-control,
.admin-main .form-select{
    background: #101216; border-color: #32363e; color: #fff; font-size: 13.5px;
    border-radius: 10px; padding: 9px 13px;
}
.admin-main .form-control:focus,
.admin-main .form-select:focus{ border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.14); background: #101216; color: #fff; }
.admin-main .form-control::placeholder{ color: #5d5d66; }


.banner-item{
    display: flex; gap: 14px; border: 1px solid #262a30; border-radius: 14px;
    padding: 14px; margin-bottom: 14px; background: #131519; transition: border-color 0.2s;
}
.banner-item:hover{ border-color: #3a3f47; }
.banner-item .bi-thumb{
    width: 170px; height: 66px; border-radius: 10px; object-fit: cover;
    flex: 0 0 auto; background: #101216; border: 1px solid #262a30;
}
.banner-item .bi-num{
    width: 24px; height: 24px; border-radius: 8px; background: #1f1f1f;
    border: 1px solid #32363e; color: #e5e5e5; font-size: 12px; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
}
.banner-item .form-control{ font-size: 12.5px; padding: 7px 11px; }
@media (max-width: 575px){
    .banner-item{ flex-direction: column; }
    .banner-item .bi-thumb{ width: 100%; height: 90px; }
}



.order-img-box{
    background: #101216; border: 1px dashed #32363e; border-radius: 14px;
    min-height: 160px; display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 8px; margin-bottom: 18px; color: #6b7280;
    overflow: hidden; position: relative;
}
.order-img-box img{ max-height: 240px; max-width: 100%; object-fit: contain; display: block; }
.order-img-box .fad{ font-size: 34px; }
.order-img-box span{ font-size: 12.5px; }

.order-detail-list{ display: flex; flex-direction: column; }
.od-row{
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 11px 4px; border-bottom: 1px solid #23262c;
}
.od-row:last-child{ border-bottom: none; }
.od-label{ color: #9ca3af; font-size: 12.5px; flex: 0 0 140px; }
.od-value{ color: #fff; font-size: 14px; font-weight: 600; text-align: right; word-break: break-all; }
.od-value .fad{ color: #9ca3af; }
.od-user{ color: #60a5fa; }
.od-pass{ color: #fbbf24; }
.od-pass .btn{ font-size: 11.5px; padding: 4px 12px; }
.od-price{ color: #f87171; font-size: 15px; font-weight: 800; }
@media (max-width: 575px){
    .od-row{ flex-direction: column; align-items: flex-start; gap: 4px; }
    .od-label{ flex: none; }
    .od-value{ text-align: left; }
}


.admin-main .card-head-icon{
    background: linear-gradient(180deg, #f04343, #dc2626);
    color: #fff;
    box-shadow: 0 8px 18px -8px rgba(239, 68, 68, 0.7);
}
.admin-main .upload-zone:hover{ border-color: #f04343; }
.admin-main .upload-zone.has-img{ border-color: #f04343; }
.admin-main .btn-file.dark:hover{ border-color: #f04343; color: #f04343; }
.admin-main .card-head h5{ color: #fff; }


.upload-zone img{
    max-width: 100% !important;
    max-height: 150px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    border-radius: 8px;
    display: block;
}



.admin-main .btn-success,
.admin-main .btn-modern{
    background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(34, 197, 94, 0.7) !important;
}
.admin-main .btn-success:hover,
.admin-main .btn-modern:hover{ color: #fff !important; }

.admin-main .btn-file{
    background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%) !important;
    box-shadow: 0 6px 14px -6px rgba(34, 197, 94, 0.6) !important;
}

.admin-main .btn-danger{
    background: linear-gradient(180deg, #6b7280 0%, #4b5563 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(0, 0, 0, 0.6) !important;
}
.admin-main .btn-outline-danger{
    background: #1f1f1f !important;
    border: 1px solid #4b5563 !important;
    color: #d1d5db !important;
}
.admin-main .btn-outline-danger:hover{ border-color: #9ca3af !important; color: #fff !important; background: #262626 !important; }

.admin-main .mem-head-icon,
.admin-main .cat-page-icon{
    background: linear-gradient(180deg, #6b7280 0%, #4b5563 100%) !important;
    box-shadow: 0 10px 22px -10px rgba(0, 0, 0, 0.7) !important;
}
.admin-main .card-head-icon{
    background: linear-gradient(180deg, #6b7280 0%, #4b5563 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(0, 0, 0, 0.6) !important;
}

.admin-main .cat-num.active,
.admin-main .cat-mode-btn.active{
    background: linear-gradient(180deg, #22c55e, #16a34a) !important;
    box-shadow: 0 6px 14px -6px rgba(34, 197, 94, 0.7) !important;
}

.admin-main .dataTables_wrapper .dataTables_paginate li.paginate_button.page-item.active .page-link{
    background: linear-gradient(180deg, #22c55e, #16a34a) !important;
    box-shadow: 0 6px 14px -6px rgba(34, 197, 94, 0.7) !important;
}

.admin-main table.table thead th.sorting_asc:after,
.admin-main table.table thead th.sorting_desc:after{ color: #22c55e !important; }

.admin-main .upload-zone:hover{ border-color: #22c55e !important; }
.admin-main .upload-zone.has-img{ border-color: #22c55e !important; }
.admin-main .btn-file.dark:hover{ border-color: #22c55e !important; color: #22c55e !important; }


.admin-main .btn-warning{
    background: linear-gradient(180deg, #6b7280 0%, #4b5563 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(0, 0, 0, 0.6) !important;
}
.admin-main .btn-warning:hover{ color: #fff !important; }
.admin-main .btn-outline-warning{
    background: #1f1f1f !important; border: 1px solid #4b5563 !important; color: #d1d5db !important;
}
.admin-main .btn-outline-warning:hover{ border-color: #9ca3af !important; color: #fff !important; }


html, body{
    color: var(--font-color);
}
body a,
body p,
body h1, body h2, body h3, body h4, body h5, body h6,
body span, body li, body label, body td, body th{
    color: inherit;
}
body .text-muted{ color: #9ca3af !important; }



.pm-btn,
.pm-btn:hover{
    background: linear-gradient(120deg, var(--buy-btn), var(--buy-btn-dark)) !important;
    background-color: var(--buy-btn) !important;
    color: #fff !important;
    border-color: transparent !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 18px -8px rgba(var(--buy-btn-rgb), 0.55) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}
.pm-btn i{ color: #fff !important; }
.pm-btn-disabled,
.pm-btn-disabled:hover{
    background: #3a3a3a !important;
    color: #8a8a8a !important;
    box-shadow: none !important;
}

.nav-pill{
    background: rgba(var(--nav-bg-rgb), 0.16) !important;
    border: 1px solid rgba(var(--nav-bg-rgb), 0.35) !important;
    color: #c9c9c9 !important;
}
.nav-pill i{ color: #a9a9a9 !important; }
.nav-pill:hover,
.nav-pill.active{
    background: linear-gradient(120deg, var(--nav-bg), var(--nav-bg-dark)) !important;
    background-color: var(--nav-bg) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 8px 18px -8px rgba(var(--nav-bg-rgb), 0.7) !important;
}
.nav-pill:hover i,
.nav-pill.active i{ color: #fff !important; }

html, body{
    color: var(--font-color) !important;
}
body p, body li, body label, body td, body th,
body h1, body h2, body h3, body h4, body h5, body h6{
    color: inherit;
}


.pm-img{
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.pm-img .pm-price-badge{
    display: none !important;
}


.acc-wrap{
    min-height: calc(100vh - 140px);
    padding: 32px 0 56px;
    background: #0c0c0e;
}
.acc-container{
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 16px;
}
.acc-grid{
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 20px;
    align-items: start;
}

.acc-side{
    background: #141418;
    border: 1px solid #232329;
    border-radius: 16px;
    padding: 24px 16px;
    position: sticky;
    top: 84px;
}
.acc-profile{
    text-align: center;
    padding-bottom: 18px;
    border-bottom: 1px solid #232329;
    margin-bottom: 16px;
}
.acc-avatar{
    width: 84px;
    height: 84px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: linear-gradient(180deg, #26262d, #1a1a20);
    border: 1px solid #32323a;
    color: #e8e8ec;
    font-size: 34px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}
.acc-name{
    font-size: 16px;
    font-weight: 700;
    color: #f2f2f5;
    margin: 0 0 6px;
    letter-spacing: 0.2px;
}
.acc-rank{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #a3a3ad;
    background: #1d1d23;
    border: 1px solid #2a2a31;
    border-radius: 999px;
    padding: 4px 12px;
}
.acc-rank i{ color: var(--brand); font-size: 11px; }
.acc-menu-title{
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6b6b75;
    margin: 0 0 8px;
    padding: 0 10px;
}
.acc-menu{
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.acc-menu-item{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #b6b6bf;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.acc-menu-item i{
    width: 18px;
    text-align: center;
    color: #6f6f79;
    transition: color 0.15s;
}
.acc-menu-item:hover{
    background: #1d1d24;
    color: #f0f0f3;
    text-decoration: none;
}
.acc-menu-item:hover i{ color: var(--brand); }
.acc-menu-item.active{
    background: rgba(var(--brand-rgb), 0.08);
    border-color: rgba(var(--brand-rgb), 0.22);
    color: #fff;
}
.acc-menu-item.active i{ color: var(--brand); }

.acc-main{
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

.acc-stats{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.acc-stat{
    background: #141418;
    border: 1px solid #232329;
    border-radius: 14px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: border-color 0.15s;
}
.acc-stat:hover{ border-color: #2e2e36; }
.acc-stat-icon{
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 12px;
    background: #1d1d24;
    border: 1px solid #2a2a32;
    color: var(--brand);
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.acc-stat-label{
    font-size: 12px;
    color: #8a8a94;
    margin: 0 0 3px;
}
.acc-stat-value{
    font-size: 17px;
    font-weight: 700;
    color: #f4f4f7;
    margin: 0;
    line-height: 1.2;
}

.acc-card{
    background: #141418;
    border: 1px solid #232329;
    border-radius: 16px;
    padding: 24px;
}
.acc-card-head{
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #232329;
    margin-bottom: 20px;
}
.acc-card-icon{
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 11px;
    background: #1d1d24;
    border: 1px solid #2a2a32;
    color: var(--brand);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.acc-card-title{
    font-size: 16px;
    font-weight: 700;
    color: #f4f4f7;
    margin: 0;
}
.acc-card-sub{
    font-size: 12px;
    color: #8a8a94;
    margin: 2px 0 0;
}
.acc-field{
    margin-bottom: 16px;
}
.acc-label{
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #d5d5db;
    margin-bottom: 7px;
}
.acc-input{
    position: relative;
}
.acc-input input{
    width: 100%;
    height: 44px;
    padding: 0 44px 0 14px;
    background: #0f0f12;
    border: 1px solid #2a2a31;
    border-radius: 10px;
    color: #f2f2f5;
    font-size: 14px;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.acc-input input::placeholder{ color: #5d5d66; }
.acc-input input:focus{
    border-color: rgba(var(--brand-rgb), 0.6);
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.1);
}
.acc-eye{
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border: none;
    background: transparent;
    color: #6f6f79;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
}
.acc-eye:hover{ color: var(--brand); background: rgba(var(--brand-rgb), 0.08); }
.acc-hint{
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12.5px;
    color: #8a8a94;
    background: #101014;
    border: 1px solid #222229;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 4px 0 20px;
    line-height: 1.5;
}
.acc-hint i{ color: var(--brand); margin-top: 2px; }
.acc-save{
    width: 100%;
    height: 46px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #07110d;
    font-size: 15px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: filter 0.15s, transform 0.15s;
}
.acc-save:hover{ filter: brightness(1.06); transform: translateY(-1px); }
.acc-save:active{ transform: translateY(0); }

@media (max-width: 900px){
    .acc-grid{ grid-template-columns: 1fr; }
    .acc-side{ position: static; }
    .acc-stats{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
    .acc-wrap{ padding: 20px 0 40px; }
    .acc-card{ padding: 18px; }
    .acc-stat{ padding: 13px; }
}


.acc-table{
    margin: 0;
    color: #d5d5db;
}
.acc-table thead th{
    background: #101014 !important;
    color: #b8b8c2 !important;
    font-size: 12.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border-bottom: 1px solid #26262d !important;
    padding: 12px 12px !important;
    white-space: nowrap;
}
.acc-table thead th.sorting_asc:after,
.acc-table thead th.sorting_desc:after{ color: var(--brand) !important; }
.acc-table tbody td{
    color: #d5d5db;
    border-bottom: 1px solid #1e1e24 !important;
    padding: 11px 12px !important;
    font-size: 13.5px;
    vertical-align: middle;
}
.acc-table tbody tr:hover td{ background: #19191f !important; }
.acc-table tbody tr:nth-child(even) td{ background: #121216; }
.acc-table tbody tr:nth-child(even):hover td{ background: #19191f !important; }
.acc-table .dataTables_empty{ color: #8a8a94 !important; padding: 30px !important; }

.acc-st-badge{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    white-space: nowrap;
}
.acc-st-ok{
    background: rgba(34, 197, 94, 0.14);
    border: 1px solid rgba(34, 197, 94, 0.35);
    color: #4ade80;
}
.acc-st-bad{
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.32);
    color: #f87171;
}
.acc-st-wait{
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.32);
    color: #fbbf24;
}

.acc-code{
    display: inline-block;
    font-family: 'Consolas', 'Menlo', monospace;
    font-size: 12.5px;
    padding: 4px 10px;
    border-radius: 8px;
    border: 1px solid #2a2a31;
    background: #0f0f12;
    color: #e2e2e8;
}
.acc-code-user{ color: #93c5fd; border-color: rgba(59, 130, 246, 0.35); }
.acc-code-pass{ color: #fcd34d; border-color: rgba(245, 158, 11, 0.35); }

.acc-main .dataTables_wrapper .dataTables_length,
.acc-main .dataTables_wrapper .dataTables_filter{
    margin-bottom: 14px;
    color: #9a9aa4;
    font-size: 13px;
}
.acc-main .dataTables_wrapper .dataTables_length select,
.acc-main .dataTables_wrapper .dataTables_filter input{
    background: #101014;
    border: 1px solid #2a2a31;
    border-radius: 8px;
    color: #e2e2e8;
    padding: 5px 10px;
    font-size: 13px;
    outline: none;
}
.acc-main .dataTables_wrapper .dataTables_length select:focus,
.acc-main .dataTables_wrapper .dataTables_filter input:focus{
    border-color: rgba(var(--brand-rgb), 0.6);
}
.acc-main .dataTables_wrapper .dataTables_filter input::placeholder{ color: #5d5d66; }
.acc-main .dataTables_wrapper .dataTables_info{
    color: #8a8a94;
    font-size: 12.5px;
    padding-top: 14px;
}
.acc-main .dataTables_wrapper .dataTables_paginate .paginate_button{
    border: 1px solid #2a2a31 !important;
    background: #141418 !important;
    color: #b6b6bf !important;
    border-radius: 8px !important;
    margin: 0 2px;
    padding: 5px 11px !important;
    font-size: 13px;
}
.acc-main .dataTables_wrapper .dataTables_paginate .paginate_button:hover{
    border-color: rgba(var(--brand-rgb), 0.5) !important;
    color: #fff !important;
    background: #1d1d24 !important;
}
.acc-main .dataTables_wrapper .dataTables_paginate .paginate_button.current{
    background: linear-gradient(180deg, var(--brand), var(--brand-dark)) !important;
    border-color: transparent !important;
    color: #07110d !important;
    font-weight: 700;
}
.acc-main .dataTables_wrapper .dataTables_paginate .paginate_button.disabled{
    opacity: 0.4;
    pointer-events: none;
}
@media (max-width: 600px){
    .acc-main .dataTables_wrapper .dataTables_length{ display: none; }
}


.acc-main .dataTables_wrapper .dataTables_paginate li.paginate_button.page-item.active .page-link{
    background: linear-gradient(180deg, var(--brand), var(--brand-dark)) !important;
    border-color: transparent !important;
    color: #07110d !important;
    font-weight: 700;
}
.acc-main .dataTables_wrapper .dataTables_paginate .paginate_button.page-item .page-link{
    background: #141418 !important;
    border: 1px solid #2a2a31 !important;
    color: #b6b6bf !important;
    border-radius: 8px !important;
    margin: 0 2px;
    font-size: 13px;
}
.acc-main .dataTables_wrapper .dataTables_paginate .paginate_button.page-item .page-link:hover{
    border-color: rgba(var(--brand-rgb), 0.5) !important;
    color: #fff !important;
    background: #1d1d24 !important;
}
.acc-main .dataTables_wrapper .dataTables_paginate .paginate_button.page-item.disabled .page-link{
    opacity: 0.4;
    pointer-events: none;
}



.idh-tools{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.idh-search{
    position: relative;
    flex: 1;
    min-width: 220px;
    max-width: 360px;
}
.idh-search i{
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #6f6f79;
    font-size: 13px;
}
.idh-search input{
    width: 100%;
    height: 40px;
    padding: 0 14px 0 36px;
    background: #0f0f12;
    border: 1px solid #2a2a31;
    border-radius: 10px;
    color: #f2f2f5;
    font-size: 13.5px;
    outline: none;
}
.idh-search input:focus{ border-color: rgba(var(--brand-rgb), 0.6); }
.idh-search input::placeholder{ color: #5d5d66; }
.idh-tools-right{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.idh-count{
    font-size: 12.5px;
    color: #8a8a94;
    white-space: nowrap;
    margin-right: 4px;
}
.idh-select{
    height: 38px;
    padding: 0 10px;
    background: #0f0f12;
    border: 1px solid #2a2a31;
    border-radius: 10px;
    color: #d5d5db;
    font-size: 13px;
    outline: none;
    cursor: pointer;
}
.idh-export{
    height: 38px;
    padding: 0 14px;
    background: #1d1d24;
    border: 1px solid #2e2e36;
    border-radius: 10px;
    color: #d5d5db;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.idh-export:hover{ border-color: rgba(var(--brand-rgb), 0.5); color: var(--brand); }

.idh-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.idh-row{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px;
    background: #101014;
    border: 1px solid #222228;
    border-radius: 12px;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}
.idh-row:hover{
    border-color: rgba(var(--brand-rgb), 0.4);
    background: #15151b;
    text-decoration: none;
}
.idh-thumb{
    position: relative;
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    border-radius: 10px;
    overflow: hidden;
    background: #1b1c22;
    border: 1px solid #2a2a31;
}
.idh-thumb.lg{
    flex-basis: 96px;
    width: 96px;
    height: 96px;
    border-radius: 12px;
}
.idh-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.idh-qty-badge{
    position: absolute;
    top: -1px;
    right: -1px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    background: #101014;
    border: 1px solid #3a3a44;
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.idh-info{
    flex: 1;
    min-width: 0;
}
.idh-title{
    font-size: 14.5px;
    font-weight: 700;
    color: #f2f2f5;
    margin: 0 0 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.idh-tag{
    display: inline-block;
    max-width: 100%;
    font-size: 12px;
    color: #a3a3ad;
    background: #1b1b22;
    border: 1px solid #2a2a31;
    border-radius: 999px;
    padding: 3px 10px;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.idh-meta{
    font-size: 12.5px;
    color: #9a9aa4;
    margin: 0 0 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.idh-meta i{ color: #6f6f79; font-size: 12px; }
.idh-ref{
    font-size: 12px;
    color: #8a8a94;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Consolas', 'Menlo', monospace;
}
.idh-ref i{ color: var(--brand); font-size: 12px; }
.idh-price-box{
    flex: 0 0 auto;
    text-align: right;
    padding-left: 10px;
}
.idh-price{
    font-size: 16px;
    font-weight: 800;
    color: var(--brand);
    margin: 0 0 4px;
}
.idh-qty{
    font-size: 12.5px;
    color: #9a9aa4;
    margin: 0;
}

.idh-empty{
    text-align: center;
    padding: 46px 16px;
    color: #6f6f79;
}
.idh-empty i{ font-size: 40px; margin-bottom: 12px; opacity: 0.5; }
.idh-empty p{ margin: 0; font-size: 14px; }

.idh-pager{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    flex-wrap: wrap;
}
.idh-page-btn{
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    background: #141418;
    border: 1px solid #2a2a31;
    border-radius: 8px;
    color: #b6b6bf;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.idh-page-btn:hover:not(:disabled){ border-color: rgba(var(--brand-rgb), 0.5); color: #fff; }
.idh-page-btn.active{
    background: linear-gradient(180deg, var(--brand), var(--brand-dark));
    border-color: transparent;
    color: #07110d;
    font-weight: 700;
}
.idh-page-btn:disabled{ opacity: 0.4; cursor: default; }

.idh-top{
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}
.idh-back{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: #b6b6bf;
    text-decoration: none;
    padding: 7px 14px;
    background: #101014;
    border: 1px solid #2a2a31;
    border-radius: 9px;
    transition: border-color 0.15s, color 0.15s;
}
.idh-back:hover{ color: #fff; border-color: rgba(var(--brand-rgb), 0.5); text-decoration: none; }
.idh-summary{
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}
.idh-summary-info{
    flex: 1;
    min-width: 200px;
}
.idh-metrics{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: stretch;
    margin-left: auto;
}
.idh-metric{
    background: #101014;
    border: 1px solid #222228;
    border-radius: 12px;
    padding: 12px 18px;
    text-align: center;
    min-width: 96px;
}
.idh-metric-label{
    font-size: 11.5px;
    color: #8a8a94;
    margin: 0 0 6px;
    white-space: nowrap;
}
.idh-metric-value{
    font-size: 17px;
    font-weight: 800;
    color: #f2f2f5;
    margin: 0;
}
.idh-metric.total{
    background: rgba(var(--brand-rgb), 0.07);
    border-color: rgba(var(--brand-rgb), 0.3);
}
.idh-metric.total .idh-metric-value{ color: var(--brand); }

.idh-actions{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.idh-btn{
    height: 38px;
    padding: 0 16px;
    background: #1d1d24;
    border: 1px solid #2e2e36;
    border-radius: 10px;
    color: #d5d5db;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.idh-btn:hover{ border-color: rgba(var(--brand-rgb), 0.5); color: var(--brand); }
.idh-btn.warn{
    background: rgba(245, 158, 11, 0.1);
    border-color: rgba(245, 158, 11, 0.35);
    color: #fbbf24;
}
.idh-btn.warn:hover{ border-color: rgba(245, 158, 11, 0.6); color: #fcd34d; }

.idh-creds{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.idh-cred{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #0f0f12;
    border: 1px solid #222228;
    border-radius: 11px;
    transition: border-color 0.15s;
}
.idh-cred:hover{ border-color: #2e2e36; }
.idh-num{
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #1d1d24;
    border: 1px solid #32323a;
    color: #b6b6bf;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.idh-cred-body{
    flex: 1;
    min-width: 0;
}
.idh-cred-text{
    font-family: 'Consolas', 'Menlo', monospace;
    font-size: 12.5px;
    color: #d5d5db;
    margin: 0 0 4px;
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.idh-cred-body.expanded .idh-cred-text{
    white-space: normal;
}
.idh-cred-user{ color: #93c5fd; }
.idh-cred-sep{ color: #6f6f79; }
.idh-cred-pass{ color: #fcd34d; }
.idh-cred-more{
    border: none;
    background: transparent;
    color: #6f6f79;
    font-size: 12px;
    padding: 0;
    cursor: pointer;
}
.idh-cred-more:hover{ color: var(--brand); }
.idh-cred-actions{
    display: flex;
    gap: 6px;
}
.idh-icon-btn{
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid #2a2a31;
    background: #141418;
    color: #9a9aa4;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s, color 0.15s;
}
.idh-icon-btn:hover{ border-color: rgba(var(--brand-rgb), 0.5); color: var(--brand); }
@media (max-width: 700px){
    .idh-summary{ flex-direction: column; }
    .idh-metrics{ margin-left: 0; width: 100%; }
    .idh-metric{ flex: 1; }
    .idh-price-box{ text-align: left; }
}

.idh-search{
    min-width: 260px;
    max-width: 460px;
}
.idh-search input{
    height: 46px;
    font-size: 14px;
}
.idh-search i{ font-size: 14px; }
.idh-metric{
    padding: 10px 14px;
    min-width: 84px;
    border-radius: 10px;
}
.idh-metric-label{ font-size: 11px; margin-bottom: 4px; }
.idh-metric-value{ font-size: 15px; }
.idh-tag{ display: none !important; }
.idh-btn.warn{ display: none !important; }

.form-check-input{
    background-color: #0f0f12 !important;
    border-color: #3a3a3a !important;
    cursor: pointer;
}
.form-check-input:checked{
    background-color: var(--brand) !important;
    border-color: var(--brand) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2307110d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5L12 5'/%3e%3c/svg%3e") !important;
}
.form-check-input:focus{
    box-shadow: 0 0 0 0.2rem rgba(var(--brand-rgb), 0.18) !important;
}
.form-check-input.agree-flash{
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.25) !important;
    animation: agree-shake 0.4s ease;
}
@keyframes agree-shake{
    0%, 100%{ transform: translateX(0); }
    25%{ transform: translateX(-4px); }
    75%{ transform: translateX(4px); }
}

.swal2-popup{
    background: #1e1e24 !important;
    border: 1px solid #2f2f38 !important;
    border-radius: 16px !important;
    color: #e6e6ea;
    box-shadow: 0 24px 60px -12px rgba(0, 0, 0, 0.75) !important;
    padding: 26px 24px 24px !important;
}
.swal2-title{
    color: #f2f2f5 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 0 !important;
    margin-bottom: 6px !important;
}
.swal2-html-container{
    color: #b6b6bf !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.swal2-icon{
    border-width: 2px !important;
    margin-bottom: 16px !important;
}
.swal2-icon.swal2-info{ border-color: #60a5fa !important; color: #60a5fa !important; }
.swal2-icon.swal2-success{ border-color: #4ade80 !important; color: #4ade80 !important; }
.swal2-icon.swal2-warning{ border-color: #fbbf24 !important; color: #fbbf24 !important; }
.swal2-icon.swal2-error{ border-color: #f87171 !important; color: #f87171 !important; }
.swal2-icon.swal2-success .swal2-success-ring{ border-color: rgba(74, 222, 128, 0.4) !important; }
.swal2-styled{
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 10px 30px !important;
    transition: filter 0.15s, transform 0.15s;
}
.swal2-styled:focus{ box-shadow: none !important; }
.swal2-styled:hover{ filter: brightness(1.08); transform: translateY(-1px); }
.swal2-confirm{
    background: var(--brand) !important;
    color: #1a1020 !important;
    box-shadow: 0 6px 16px -6px rgba(var(--brand-rgb), 0.55) !important;
}
.swal2-cancel{
    background: #26262d !important;
    border: 1px solid #3a3a44 !important;
    color: #d5d5db !important;
    margin-left: 10px !important;
}
.swal2-actions{ margin-top: 20px !important; }
.swal2-timer-progress-bar{ background: var(--brand) !important; }
.swal2-loading .swal2-styled.swal2-confirm{ background: #26262d !important; color: #d5d5db !important; }

.auth-toast{
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%) translateY(-14px);
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #231c1a;
    border: 1px solid rgba(248, 113, 113, 0.3);
    border-radius: 14px;
    padding: 12px 14px 12px 12px;
    box-shadow: 0 18px 44px -14px rgba(0, 0, 0, 0.75);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    max-width: calc(100vw - 32px);
}
.auth-toast.show{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}
.auth-toast-icon{
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ef4444;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.18);
}
.auth-toast-text{
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    min-width: 0;
}
.auth-toast-close{
    margin-left: 4px;
    flex: 0 0 auto;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.55);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 2px 7px;
    border-radius: 6px;
}
.auth-toast-close:hover{ color: #fff; background: rgba(255, 255, 255, 0.08); }

.app-toast{
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%) translateY(-14px);
    z-index: 99999;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #242220;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 999px;
    padding: 9px 14px 9px 9px;
    box-shadow: 0 18px 44px -14px rgba(0,0,0,0.75);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    max-width: calc(100vw - 32px);
}
.app-toast.show{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}
.app-toast-icon{
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}
.app-toast-text{
    color: #fff;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
    min-width: 0;
    white-space: nowrap;
}
.app-toast-close{
    margin-left: 4px;
    flex: 0 0 auto;
    background: none;
    border: none;
    color: rgba(255,255,255,0.5);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 2px 7px;
    border-radius: 50%;
}
.app-toast-close:hover{ color: #fff; background: rgba(255,255,255,0.1); }

.app-toast.success .app-toast-icon{ background: #10b981; box-shadow: 0 0 0 4px rgba(16,185,129,0.18); }

.app-toast.error .app-toast-icon{ background: #ef4444; box-shadow: 0 0 0 4px rgba(239,68,68,0.18); }

.app-toast.warning .app-toast-icon{ background: #f59e0b; box-shadow: 0 0 0 4px rgba(245,158,11,0.18); }
@media (max-width: 575.98px){
    .app-toast{ top: 12px; padding: 8px 12px 8px 8px; gap: 10px; }
    .app-toast-text{ white-space: normal; font-size: 13px; }
}

.tp-wrap{ padding: 34px 0 60px; }
.tp-container{ max-width: 860px; }
.tp-head{ text-align: center; margin-bottom: 26px; }
.tp-eyebrow{ color: #f87171; font-size: 12px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }
.tp-title{ color: #fff; font-size: 28px; font-weight: 800; margin-bottom: 6px; }
.tp-sub{ color: #8b8b96; font-size: 14px; }


.tp-disabled{
    background: #161922; border: 1.5px dashed #3a3f4c; border-radius: 18px;
    text-align: center; padding: 40px 24px; margin-bottom: 16px;
}
.tp-disabled-ico{
    width: 64px; height: 64px; margin: 0 auto 16px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(139,92,246,.14); border-radius: 50%;
    color: var(--brand-light, #a78bfa); font-size: 26px;
}
.tp-disabled-title{ color: #fff; font-size: 18px; font-weight: 700; margin: 0 0 4px; }
.tp-disabled-sub{ color: #8b8b96; font-size: 14px; margin: 0; }

.tp-methods{ display: grid; grid-template-columns: repeat(var(--tp-cols, 3), 1fr); gap: 14px; margin-bottom: 16px; }
.tp-method{
    position: relative; background: #161922; border: 1.5px solid #262b38; border-radius: 18px;
    padding: 20px 16px 16px; text-align: center; cursor: pointer;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
.tp-method:hover{ border-color: #3a4152; transform: translateY(-2px); }
.tp-method.active{
    border-color: #f97316;
    box-shadow: 0 0 0 3px rgba(249,115,22,.14), 0 14px 30px -14px rgba(249,115,22,.45);
}
.tp-radio{
    position: absolute; top: 14px; left: 14px; width: 20px; height: 20px; border-radius: 50%;
    border: 2px solid #3a4152; background: transparent;
    display: flex; align-items: center; justify-content: center; transition: background .2s, border-color .2s;
}
.tp-radio i{ color: #fff; font-size: 10px; opacity: 0; transition: opacity .15s; }
.tp-method.active .tp-radio{ border-color: #22c55e; background: #22c55e; }
.tp-method.active .tp-radio i{ opacity: 1; }
.tp-badge{
    position: absolute; top: 12px; right: 10px; font-size: 10.5px; font-weight: 700;
    padding: 3px 9px; border-radius: 999px; color: #fff;
    display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
}
.tp-badge-hot{ background: linear-gradient(135deg, #f97316, #ef4444); box-shadow: 0 6px 14px -6px rgba(249,115,22,.6); }
.tp-badge-soon{ background: #2b303c; color: #9aa3b2; }
.tp-badge-auto{ background: #eab308; color: #1a1a1a; }
.tp-icon{
    width: 62px; height: 62px; margin: 28px auto 12px; border-radius: 16px;
    display: flex; align-items: center; justify-content: center; font-size: 26px; color: #fff;
}
.tp-icon-angpao{ background: linear-gradient(135deg, #8b5cf6, #6d28d9); box-shadow: 0 10px 22px -10px rgba(139,92,246,.55); }
.tp-icon-bank{ background: linear-gradient(135deg, #10b981, #047857); box-shadow: 0 10px 22px -10px rgba(16,185,129,.55); }
.tp-icon-qr{ background: linear-gradient(135deg, #3b82f6, #1d4ed8); box-shadow: 0 10px 22px -10px rgba(59,130,246,.55); }
.tp-name{ color: #fff; font-weight: 700; font-size: 14.5px; margin-bottom: 5px; }
.tp-desc{ color: #9aa3b2; font-size: 12px; line-height: 1.5; min-height: 36px; }
.tp-fee{
    display: inline-flex; align-items: center; gap: 6px; margin-top: 10px;
    background: #12251b; color: #34d399; border: 1px solid rgba(52,211,153,.22);
    font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 999px;
}
.tp-fee i{ font-size: 6px; }


.tp-panel{
    display: flex; align-items: center; gap: 14px;
    background: #161922; border: 1.5px solid #262b38; border-radius: 16px; padding: 16px 18px;
    margin-bottom: 12px; max-width: 640px; margin-left: auto; margin-right: auto;
}
.tp-panel-icon{
    flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px;
    background: linear-gradient(135deg, #8b5cf6, #6d28d9); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 19px;
    box-shadow: 0 8px 18px -8px rgba(139,92,246,.5);
}
.tp-panel-info{ flex: 1; min-width: 0; }
.tp-panel-title{ color: #fff; font-weight: 700; font-size: 14.5px; margin-bottom: 3px; }
.tp-panel-sub{ color: #9aa3b2; font-size: 12.5px; line-height: 1.5; }
.tp-help{
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
    background: #0f1f18; color: #34d399; border: 1px solid rgba(52,211,153,.4);
    font-size: 12.5px; font-weight: 600; padding: 8px 13px; border-radius: 999px; cursor: pointer;
    transition: background .15s, color .15s;
}
.tp-help:hover{ background: #13301f; color: #4ade80; }


.tp-form{ display: flex; gap: 10px; max-width: 640px; margin-left: auto; margin-right: auto; }
.tp-input{
    flex: 1; background: #101319; border: 1.5px solid #262b38; border-radius: 12px;
    color: #fff; font-size: 13.5px; padding: 13px 15px; outline: none; min-width: 0;
    transition: border-color .2s;
}
.tp-input:focus{ border-color: #f97316; }
.tp-input::placeholder{ color: #5b6270; }
.tp-btn{
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px;
    background: linear-gradient(135deg, #f97316, #ef4444); color: #fff; border: none;
    font-size: 14.5px; font-weight: 700; padding: 0 26px; border-radius: 12px; cursor: pointer;
    box-shadow: 0 12px 24px -10px rgba(249,115,22,.55);
    transition: transform .15s, box-shadow .15s;
}
.tp-btn:hover{ transform: translateY(-1px); box-shadow: 0 14px 28px -10px rgba(249,115,22,.65); }
.tp-btn:disabled{ opacity: .6; cursor: not-allowed; transform: none; }


.tp-status{
    display: flex; align-items: center; gap: 14px;
    margin-top: 14px; background: #161922; border: 1px solid #262b38;
    border-radius: 14px; padding: 14px 18px;
}
.tp-status[hidden]{ display: none; }
.tp-status-spin{
    flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%;
    border: 3px solid rgba(249,115,22,.25); border-top-color: #f97316;
    animation: tp-spin .8s linear infinite;
}
@keyframes tp-spin{ to{ transform: rotate(360deg); } }
.tp-status-title{ color: #fff; font-weight: 700; font-size: 14px; margin-bottom: 2px; }
.tp-status-sub{ color: #9aa3b2; font-size: 12.5px; }
.tp-status.success .tp-status-spin{ border-color: rgba(34,197,94,.25); border-top-color: #22c55e; }
.tp-status.error .tp-status-spin{ border-color: rgba(239,68,68,.25); border-top-color: #ef4444; }


.tp-modal-overlay{
    position: fixed; inset: 0; background: rgba(0,0,0,.62); z-index: 100000;
    display: flex; align-items: center; justify-content: center; padding: 20px;
}
.tp-modal-overlay[hidden]{ display: none; }
.tp-modal{
    background: #161922; border: 1px solid #262b38; border-radius: 18px;
    max-width: 420px; width: 100%; padding: 22px;
    box-shadow: 0 24px 60px -20px rgba(0,0,0,.8);
}
.tp-modal-head{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.tp-modal-title{ color: #fff; font-weight: 800; font-size: 16px; }
.tp-modal-close{ background: none; border: none; color: #8b8b96; font-size: 22px; cursor: pointer; line-height: 1; padding: 2px 6px; border-radius: 6px; }
.tp-modal-close:hover{ color: #fff; background: rgba(255,255,255,.08); }
.tp-step{ display: flex; gap: 12px; margin-bottom: 12px; }
.tp-step-num{
    flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%;
    background: linear-gradient(135deg, #f97316, #ef4444); color: #fff;
    font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.tp-step-text{ color: #c9cdd6; font-size: 13px; line-height: 1.55; }
.tp-step-text b{ color: #fff; }

@media (max-width: 720px){
    .tp-methods{ grid-template-columns: 1fr; }
    .tp-desc{ min-height: 0; }
    .tp-form{ flex-direction: column; }
    .tp-btn{ justify-content: center; padding: 13px; }
    .tp-panel{ flex-wrap: wrap; }
}


.tp-method.active{
    border-color: #ff2a2a;
    box-shadow: 0 0 0 3px rgba(255,42,42,.14), 0 14px 30px -14px rgba(255,42,42,.5);
}
.tp-badge-hot{ background: linear-gradient(135deg, #ff4d4d, #e11d48); box-shadow: 0 6px 14px -6px rgba(239,68,68,.6); }

.tp-xi{
    position: absolute; right: 6px; bottom: 5px;
    background: #facc15; color: #7f1d1d; font-weight: 800; font-size: 11px;
    width: 20px; height: 20px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
.tp-icon{ position: relative; }

.tp-icon.has-img{
    width: 92px; height: 92px; margin: 22px auto 12px;
    background: #0f1219; border: 1px solid #262b38; border-radius: 14px;
    overflow: hidden; box-shadow: none;
}
.tp-icon.has-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }

.tp-btn{
    background: linear-gradient(135deg, #ff5a5a, #e11d48);
    box-shadow: 0 12px 24px -10px rgba(225,29,72,.55);
}
.tp-btn:hover{ box-shadow: 0 14px 28px -10px rgba(225,29,72,.65); }
.tp-input:focus{ border-color: #ff2a2a; }
.tp-status-spin{ border-color: rgba(255,42,42,.25); border-top-color: #ff2a2a; }


.pay-box{
    background: #101216; border: 1px solid #262a30; border-radius: 14px;
    padding: 16px; height: 100%;
}
.pay-title{
    color: #fff; font-weight: 700; font-size: 14px; margin-bottom: 12px;
    display: flex; align-items: center; gap: 8px;
}
.pay-img{
    flex: 0 0 64px; width: 64px; height: 64px; object-fit: cover;
    border-radius: 12px; background: #0a0c0f; border: 1px solid #32363e; padding: 4px;
}

.hp-wrap{ margin-top: 4px; }
.hp-table thead{ display: none; }
.hp-toolbar{
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding: 4px 2px 14px;
}
.hp-search{ flex: 1; min-width: 200px; }
.hp-search .dataTables_filter{ text-align: left; margin: 0; }
.hp-search .dataTables_filter label{ width: 100%; margin: 0; }
.hp-search .dataTables_filter input{
    width: 100%; max-width: 340px;
    background: #101216; border: 1px solid #262a30; border-radius: 10px;
    color: #fff; font-size: 13px; padding: 9px 13px 9px 36px; outline: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='6.5' cy='6.5' r='5'/%3E%3Cpath d='M10.5 10.5L13 13'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: 12px center;
    transition: border-color .2s;
}
.hp-search .dataTables_filter input:focus{ border-color: #22c55e; }
.hp-search .dataTables_filter input::placeholder{ color: #5b6270; }
.hp-count{ color: #8b8b96; font-size: 12.5px; white-space: nowrap; }
.hp-tools{ display: flex; align-items: center; }
.hp-sort-select{
    background: #101216; border: 1px solid #262a30; border-radius: 10px;
    color: #e6e6ea; font-size: 12.5px; padding: 9px 30px 9px 12px; outline: none;
    cursor: pointer; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center;
}
.hp-len{ display: flex; align-items: center; }
.hp-len .dataTables_length{ text-align: left; margin: 0; }
.hp-len select{
    background: #101216; border: 1px solid #262a30; border-radius: 10px;
    color: #e6e6ea; font-size: 12.5px; padding: 9px 12px; outline: none; cursor: pointer;
}


.hp-table tbody td{ padding: 0 !important; border: none !important; background: transparent !important; }
.hp-row{
    display: flex; align-items: center; gap: 14px;
    background: #161922; border: 1px solid #262a30; border-radius: 14px;
    padding: 14px 16px; margin-bottom: 10px;
    transition: border-color .15s, transform .15s;
}
.hp-row:hover{ border-color: #3a4152; transform: translateY(-1px); }
.hp-ico{
    flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
    background: rgba(34,197,94,.14); color: #22c55e;
    display: flex; align-items: center; justify-content: center; font-size: 17px;
}
.hp-mid{ flex: 1; min-width: 0; }
.hp-title{ color: #fff; font-weight: 700; font-size: 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hp-badge{
    display: inline-flex; align-items: center;
    background: rgba(34,197,94,.15); color: #4ade80;
    border: 1px solid rgba(34,197,94,.3); border-radius: 999px;
    font-size: 11px; font-weight: 600; padding: 2px 9px;
}
.hp-sub{ color: #8b8b96; font-size: 12px; margin-top: 4px; }
.hp-ref{ color: #e6e6ea; background: #101216; border: 1px solid #262a30; border-radius: 6px; padding: 1px 7px; font-size: 11.5px; }
.hp-right{ text-align: right; flex: 0 0 auto; }
.hp-amt{ color: #4ade80; font-weight: 800; font-size: 15px; }
.hp-type{ color: #8b8b96; font-size: 11.5px; margin-top: 2px; }


.hp-pager{ padding-top: 8px; }
.hp-pager .dataTables_paginate{ text-align: right; margin: 0; }
.hp-pager .paginate_button{
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 32px; height: 32px; margin-left: 4px;
    background: #161922; color: #c9cdd6; border: 1px solid #262a30; border-radius: 9px;
    font-size: 12.5px; cursor: pointer; padding: 0 10px;
}
.hp-pager .paginate_button:hover{ border-color: #3a4152; color: #fff; }
.hp-pager .paginate_button.current{ background: #22c55e; border-color: #22c55e; color: #fff; font-weight: 700; }
.hp-pager .paginate_button.disabled{ opacity: .4; cursor: not-allowed; }

@media (max-width: 640px){
    .hp-toolbar{ gap: 8px; }
    .hp-search{ min-width: 100%; }
    .hp-count{ order: 2; }
}

@media (max-width: 767.98px) {
    .m-dock{
        bottom: 14px;
        width: calc(100% - 32px);
        max-width: 360px;
        background: rgba(17, 17, 17, 0.96);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 999px;          
        padding: 6px 14px 7px;
        align-items: flex-end;
        box-shadow: 0 14px 34px -12px rgba(0, 0, 0, 0.85);
    }
    .m-dock-item{
        gap: 2px;
        padding: 5px 2px 3px;
        font-size: 10px;
        color: #8b8b96;
        transition: color .15s;
    }
    .m-dock-item i{ font-size: 18px; }
    .m-dock-item.m-dock-active{ color: var(--brand); }
    .m-dock-main{
        width: 56px;
        height: 56px;
        margin-top: -26px;             
        background: linear-gradient(135deg, var(--brand), var(--brand-dark));
        color: #fff;
        font-size: 21px;
        border: 3px solid #0d0d0d;
        box-shadow: 0 0 0 1px rgba(255,255,255,.14), 0 10px 26px -6px rgba(var(--brand-rgb), 0.85);
    }
    body{ padding-bottom: 92px; }
}

.stock-cat-head{ text-align: center; padding: 26px 0 6px; }
.stock-cat-head-row{ display: flex; align-items: center; justify-content: space-between; gap: 14px; text-align: left; flex-wrap: wrap; padding-bottom: 18px; }
.stock-cat-eyebrow{ color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 6px; }
.stock-cat-title{ color: #fff; font-size: 24px; font-weight: 800; margin-bottom: 4px; }
.stock-cat-sub{ color: #8b8b96; font-size: 13px; }
.stock-cat-grid{ margin-top: 18px; }

.stock-cat-card{
    display: block; background: #161922; border: 1.5px solid #262a30; border-radius: 18px;
    overflow: hidden; text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s;
}
.stock-cat-card:hover{ border-color: var(--brand); transform: translateY(-2px); box-shadow: 0 16px 34px -16px rgba(0,0,0,.7); }
.stock-cat-img{ position: relative; aspect-ratio: 2/1; overflow: hidden; }
.stock-cat-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.stock-cat-overlay{
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(10,10,12,0) 45%, rgba(10,10,12,.65) 100%);
}
.stock-cat-count{
    position: absolute; left: 12px; bottom: 10px;
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(10,10,12,.72); color: #fff; border: 1px solid rgba(255,255,255,.14);
    font-size: 11.5px; font-weight: 600; padding: 4px 11px; border-radius: 999px;
    backdrop-filter: blur(4px);
}
.stock-cat-body{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; }
.stock-cat-name{ color: #fff; font-weight: 800; font-size: 16px; margin-bottom: 2px; }
.stock-cat-desc{ color: #8b8b96; font-size: 12px; margin: 0; }
.stock-cat-btn{
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark)); color: #fff;
    font-size: 12.5px; font-weight: 700; padding: 8px 14px; border-radius: 10px;
    box-shadow: 0 8px 18px -8px rgba(var(--brand-rgb), .6);
    white-space: nowrap;
}
.stock-cat-back{
    display: inline-flex; align-items: center; gap: 7px;
    background: #161922; color: #e6e6ea; border: 1px solid #262a30;
    font-size: 13px; font-weight: 600; padding: 9px 15px; border-radius: 999px; text-decoration: none;
    transition: border-color .15s, color .15s;
}
.stock-cat-back:hover{ border-color: var(--brand); color: var(--brand); }


.cat-id-img{ aspect-ratio: 2/1; border-radius: 12px; overflow: hidden; margin-bottom: 12px; }
.cat-id-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.cat-id-body{ }
.cat-id-ref{ color: #e6e6ea; background: #101216; border: 1px solid #262a30; border-radius: 6px; padding: 1px 7px; font-size: 11.5px; }
.cat-id-card{ position: relative; }

@media (max-width: 640px){
    .stock-cat-head-row{ flex-direction: column; align-items: flex-start; }
}

.cat-breadcrumb{
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 18px 0 4px; font-size: 12.5px; color: #8b8b96;
}
.cat-breadcrumb a{ color: #8b8b96; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: color .15s; }
.cat-breadcrumb a:hover{ color: var(--brand); }
.cat-breadcrumb-sep{ color: #4b515c; font-size: 10px; }
.cat-breadcrumb-current{ color: #e6e6ea; font-weight: 600; }


.cat-banner{
    position: relative; border-radius: 18px; overflow: hidden;
    margin-top: 12px; aspect-ratio: 3.2/1; min-height: 200px;
    border: 1.5px solid #262a30;
}
@media (max-width: 575.98px){
    .cat-banner{ min-height: 0; aspect-ratio: 3/1; }
}
.cat-banner img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.cat-banner-overlay{
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(8,9,11,.82) 0%, rgba(8,9,11,.45) 55%, rgba(8,9,11,.12) 100%);
}
.cat-banner-text{ position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 20px 28px; }
.cat-banner-eyebrow{ color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }
.cat-banner-title{
    color: #fff; font-size: clamp(22px, 4vw, 38px); font-weight: 900; line-height: 1.15;
    text-shadow: 0 2px 12px rgba(0,0,0,.55); margin-bottom: 6px;
}
.cat-banner-sub{ color: rgba(255,255,255,.85); font-size: 13.5px; max-width: 520px; margin-bottom: 14px; }
.cat-banner-pill{
    align-self: flex-start; display: inline-flex; align-items: center; gap: 8px;
    background: #fff; color: #14161a; font-size: 12.5px; font-weight: 700;
    padding: 9px 16px; border-radius: 999px; text-decoration: none;
    box-shadow: 0 10px 24px -10px rgba(0,0,0,.6); max-width: 100%;
}
.cat-banner-pill i{ color: var(--brand); }


.cat-section{ padding: 26px 0 16px; }
.cat-section-label{ color: #8b8b96; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 4px; }
.cat-section-title{ color: #fff; font-size: 24px; font-weight: 800; margin-bottom: 4px; }
.cat-section-sub{ color: #8b8b96; font-size: 12.5px; }
.cat-section-sub i{ color: var(--brand); margin-right: 2px; }


.cat-card{
    background: #161922; border: 1.5px solid #262a30; border-radius: 16px;
    overflow: hidden; height: 100%; display: flex; flex-direction: column;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
.cat-card:hover{ border-color: var(--brand); transform: translateY(-2px); box-shadow: 0 16px 34px -16px rgba(0,0,0,.7); }
.cat-card-img{ position: relative; aspect-ratio: 1/1; overflow: hidden; }
.cat-card-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.cat-card-promo{
    position: absolute; top: 8px; right: 8px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #1a1a1a;
    font-size: 10.5px; font-weight: 800; letter-spacing: .3px;
    padding: 4px 9px; border-radius: 999px;
    box-shadow: 0 6px 14px -6px rgba(245,158,11,.6);
}
.cat-card-name{
    position: absolute; left: 0; right: 0; bottom: 0; padding: 10px;
    background: linear-gradient(180deg, rgba(10,10,12,0) 0%, rgba(10,10,12,.78) 100%);
    color: #fff; font-size: 12.5px; font-weight: 700; line-height: 1.35;
}
.cat-card-tags{ display: flex; flex-wrap: wrap; gap: 5px; padding: 9px 10px 0; }
.cat-card-tag{
    background: #101216; border: 1px solid #2a2f3a; color: #c9cdd6;
    font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.cat-card-body{ padding: 10px 12px 12px; display: flex; flex-direction: column; flex: 1; }
.cat-card-title{
    color: #fff; font-size: 13px; font-weight: 700; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: 36px; margin-bottom: 6px;
}
.cat-card-price{ display: flex; align-items: baseline; gap: 7px; margin-bottom: 10px; }
.cat-card-old{ color: #6b7280; font-size: 12px; text-decoration: line-through; }
.cat-card-cur{ color: var(--brand); font-size: 16px; font-weight: 800; }
.cat-card-btn{
    margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark)); color: #fff;
    font-size: 12.5px; font-weight: 700; padding: 9px 12px; border-radius: 10px;
    text-decoration: none; border: none; cursor: pointer; width: 100%;
    box-shadow: 0 8px 18px -8px rgba(var(--brand-rgb), .6);
    transition: transform .15s, box-shadow .15s;
}
.cat-card-btn:hover{ transform: translateY(-1px); box-shadow: 0 10px 20px -8px rgba(var(--brand-rgb), .7); color: #fff; }
.cat-card-btn-off{ background: #2b303c; box-shadow: none; opacity: .65; cursor: not-allowed; }
.cat-card-stock{ color: #8b8b96; font-size: 11px; margin: 8px 0 0; }
.cat-card-stock i{ color: var(--brand); margin-right: 3px; }

@media (max-width: 640px){
    .cat-banner-text{ padding: 14px 16px; }
    .cat-banner-title{ font-size: 20px; }
    .cat-banner-sub{ font-size: 12px; margin-bottom: 10px; }
    .cat-banner-pill{ font-size: 11px; padding: 7px 12px; }
}

.idb-list{ display: flex; flex-direction: column; gap: 16px; margin-top: 8px; }
.idb-card{
    background: #161922; border: 1.5px solid #262a30; border-radius: 16px;
    padding: 14px 14px 16px; transition: border-color .2s, box-shadow .2s;
}
.idb-card:hover{ border-color: var(--brand); box-shadow: 0 16px 34px -16px rgba(0,0,0,.7); }
.idb-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 4px 12px; }
.idb-name{ color: #fff; font-weight: 800; font-size: 16px; margin-bottom: 2px; }
.idb-sub{ color: #8b8b96; font-size: 12.5px; margin: 0; }
.idb-count{
    display: inline-flex; align-items: center; gap: 6px;
    background: #101216; color: var(--brand); border: 1px solid rgba(var(--brand-rgb), .35);
    font-size: 11.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; white-space: nowrap;
}

.idb-banner{
    position: relative; display: block; border-radius: 12px; overflow: hidden;
    aspect-ratio: 3.2/1; min-height: 150px; text-decoration: none;
}
.idb-banner img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.idb-overlay{
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(8,9,11,.68) 0%, rgba(8,9,11,.3) 55%, rgba(8,9,11,.1) 78%);
}
.idb-text{ position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 16px 22px; max-width: 72%; }
.idb-text-small{ color: rgba(255,255,255,.75); font-size: 12px; font-weight: 600; letter-spacing: .5px; margin-bottom: 3px; }
.idb-text-title{
    color: #fff; font-size: clamp(18px, 3vw, 30px); font-weight: 900; line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0,0,0,.5); margin-bottom: 10px;
    -webkit-text-stroke: 0; 
}
.idb-pill{
    align-self: flex-start; display: inline-flex; align-items: center; gap: 7px;
    background: rgba(255,255,255,.94); color: #14161a; font-size: 11.5px; font-weight: 700;
    padding: 7px 13px; border-radius: 999px; max-width: 100%;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.idb-pill i{ color: var(--brand); }


.idb-click{ position: absolute; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; padding: 12px; gap: 6px; }
.idb-click-tag{
    background: rgba(0,0,0,.62); color: #fff; border: 1px solid rgba(255,255,255,.2);
    font-size: 10px; font-weight: 600; padding: 3px 9px; border-radius: 999px;
    backdrop-filter: blur(3px);
}
.idb-click-block{
    writing-mode: vertical-rl; transform: rotate(180deg);
    background: #0a0a0c; color: #fff; border: 1px solid rgba(255,255,255,.22);
    font-size: 15px; font-weight: 900; letter-spacing: 2px;
    padding: 12px 7px; border-radius: 9px;
    box-shadow: 0 10px 22px -10px rgba(0,0,0,.6);
}

@media (max-width: 640px){
    .idb-banner{ min-height: 120px; }
    .idb-text{ padding: 12px 14px; max-width: 74%; }
    .idb-text-title{ font-size: 17px; }
    .idb-pill{ font-size: 10px; padding: 5px 10px; }
    .idb-click-block{ font-size: 12px; padding: 9px 5px; }
}



.idb-list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 10px;
}
@media (max-width: 860px){
    .idb-list{ grid-template-columns: 1fr; }
}


.idb-banner{
    background: linear-gradient(100deg, #ffd23f 0%, #ffb62e 48%, #ff8a1f 100%);
    aspect-ratio: 16/6.2;
    min-height: 170px;
}

.idb-banner img{
    position: absolute; left: 0; top: 0; bottom: 0;
    width: 46%; height: 100%; object-fit: cover;
    -webkit-mask-image: linear-gradient(90deg, #000 52%, transparent 100%);
            mask-image: linear-gradient(90deg, #000 52%, transparent 100%);
}

.idb-overlay{
    background: linear-gradient(90deg, rgba(120,60,0,.10) 0%, rgba(255,200,80,.05) 45%, transparent 70%);
}

.idb-text{ max-width: 74%; padding: 18px 24px; }
.idb-text-small{ color: #7a4a00; font-size: 12.5px; font-weight: 800; letter-spacing: .5px; margin-bottom: 4px; }
.idb-text-title{
    color: #e64800;
    font-size: clamp(20px, 2.6vw, 34px);
    font-weight: 900; line-height: 1.15;
    -webkit-text-stroke: 2px #fff;
    paint-order: stroke fill;
    text-shadow: 0 3px 8px rgba(180,80,0,.25);
    margin-bottom: 12px;
}

.idb-pill{
    background: #fff; color: #14161a;
    font-size: 11px; font-weight: 800;
    padding: 6px 13px; border-radius: 999px;
    box-shadow: 0 6px 16px -8px rgba(120,60,0,.45);
}
.idb-pill i{ color: #e64800; }

.idb-click-tag{ background: rgba(60,30,0,.7); border-color: rgba(255,255,255,.35); }
.idb-click-block{ border-color: rgba(255,255,255,.4); }


.idb-card{ background: #14171d; border: 1px solid #262a30; }
.idb-count{ background: rgba(36,249,214,.08); }

@media (max-width: 640px){
    .idb-banner{ min-height: 128px; aspect-ratio: 16/7; }
    .idb-banner img{ width: 42%; }
    .idb-text{ padding: 12px 14px; max-width: 78%; }
    .idb-text-small{ font-size: 10.5px; }
    .idb-text-title{ font-size: 17px; -webkit-text-stroke: 1px #fff; }
    .idb-pill{ font-size: 9px; padding: 4px 9px; }
}


.admin-breadcrumb .breadcrumb{ background: transparent; padding: 0; margin: 0; font-size: 13px; }
.admin-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color: #4b5563; }
.admin-breadcrumb .breadcrumb-item a{ color: var(--brand, #24f9d6); text-decoration: none; font-weight: 600; }
.admin-breadcrumb .breadcrumb-item a:hover{ text-decoration: underline; }
.admin-breadcrumb .breadcrumb-item.active{ color: #9ca3af; }


.pm-name{ color: #fff !important; font-weight: 700; }
.pm-stock{
    position: absolute; bottom: 8px; left: 8px;
    display: inline-flex; align-items: center; gap: 5px;
    background: rgba(10,12,16,.82); color: #fff;
    font-size: 11px; font-weight: 700;
    padding: 3px 9px; border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(3px);
}
.pm-stock-ok{ color: #4ade80; border-color: rgba(74,222,128,.4); }
.pm-stock-low{ color: #fbbf24; border-color: rgba(251,191,36,.4); }
.pm-stock-out{ color: #f87171; border-color: rgba(248,113,113,.4); }


.pm-name{ color: #fff !important; }
.pm-price-row{ display: flex; align-items: baseline; gap: 8px; margin-bottom: 2px; }
.pm-stock-text{
    font-size: 12px; color: #9ca3af; font-weight: 500;
    margin: 2px 0 10px;
}
.pm-stock-text-out{ color: #f87171; }
.pm-btn-off{
    background: #2a2e34 !important; color: #8b8b96 !important;
    cursor: not-allowed; box-shadow: none !important;
}
.pm-btn-off:hover{ transform: none !important; box-shadow: none !important; }
.pm-discount, .pm-stock{ display: none; }


.cat-id-img{ position: relative; aspect-ratio: 16/7; border-radius: 12px; overflow: hidden; margin-bottom: 12px; }
.cat-id-img-overlay{
    position: absolute; inset: 0;
    background: linear-gradient(120deg, rgba(10,12,16,.25) 0%, rgba(10,12,16,.55) 78%, rgba(10,12,16,.78) 100%);
}
.cat-id-img-text{
    position: absolute; left: 14px; bottom: 12px; margin: 0;
    color: #fff; font-size: 20px; font-weight: 900; line-height: 1.15;
    text-shadow: 0 2px 10px rgba(0,0,0,.6);
}
.cat-id-count{
    position: absolute; top: 10px; right: 10px;
    display: inline-flex; align-items: center; gap: 5px;
    background: #e6483f; color: #fff;
    font-size: 11px; font-weight: 800;
    padding: 4px 11px; border-radius: 999px;
    box-shadow: 0 6px 14px -6px rgba(230,72,63,.6);
}
.cat-id-status{
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 700;
    padding: 4px 12px; border-radius: 999px;
}
.cat-id-status.on{ background: rgba(36,249,214,.12); color: var(--brand, #24f9d6); border: 1px solid rgba(36,249,214,.4); }
.cat-id-status.off{ background: rgba(155,155,165,.12); color: #9b9ba5; border: 1px solid rgba(155,155,165,.35); }


.form-control, .form-select{
    border: 1.5px solid #3f4650 !important;
    background-color: #0f1114 !important;
    color: #fff !important;
    box-shadow: none !important;
}
.form-control::placeholder, .form-select::placeholder{ color: #6b7280 !important; }
.form-control:focus, .form-select:focus{
    border-color: var(--brand, #24f9d6) !important;
    box-shadow: 0 0 0 3px rgba(36, 249, 214, .14) !important;
}
textarea.form-control{ border: 1.5px solid #3f4650 !important; }


.pm-img{ aspect-ratio: 1 / 1; }
.pm-name{ font-size: 16px !important; font-weight: 700; margin-bottom: 6px; }
.pm-price{ font-size: 21px !important; }
.pm-stock-text{ font-size: 13px; margin-bottom: 12px; }
.pm-btn{ font-size: 15px; padding: 11px 12px; }


.pm-badge-best{
    position: absolute; top: 10px; left: 10px;
    display: inline-flex; align-items: center; gap: 5px;
    background: #8b5cf6; color: #fff;
    font-size: 11px; font-weight: 800;
    padding: 4px 11px; border-radius: 7px;
    box-shadow: 0 6px 14px -6px rgba(139,92,246,.7);
    z-index: 2;
}
.pm-badge-icon{
    position: absolute; top: 10px; right: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    background: rgba(15,17,20,.85); color: #fff;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 8px; font-size: 13px;
    z-index: 2;
}


.product-card-modern{
    background: #ffffff;
    border: 1px solid #e6e8ee;
    border-radius: 18px;
    box-shadow: 0 8px 20px -10px rgba(15, 20, 35, .35);
    overflow: hidden;
    height: 100%;
}
.product-card-modern:hover{
    transform: translateY(-5px);
    box-shadow: 0 16px 30px -12px rgba(37, 99, 235, .35);
}
.pm-img{ border-radius: 0; }
.pm-body{ padding: 14px 15px 16px; }
.pm-name{ color: #111827 !important; font-weight: 700; }
.pm-price{ color: #2563eb !important; }
.pm-stock-text{ color: #6b7280; }
.pm-stock-text-out{ color: #ef4444; }
.pm-btn{
    background: linear-gradient(120deg, #3b82f6, #2563eb) !important;
    color: #fff !important;
    box-shadow: 0 8px 16px -8px rgba(37, 99, 235, .55);
}
.pm-btn:hover{ box-shadow: 0 12px 22px -8px rgba(37, 99, 235, .6); }
.pm-btn-off{
    background: #eef0f4 !important;
    color: #9aa1ab !important;
    box-shadow: none !important;
}
.pm-badge-icon{
    background: rgba(255,255,255,.92);
    color: #374151;
    border-color: #e2e5ea;
}


.pm-box-ico{ position: relative; display: inline-block; margin-right: 6px; }
.pm-box-ico .fa-box{ font-size: 14px; }
.pm-box-ico .pm-box-x{
    position: absolute; right: -5px; top: -5px;
    font-size: 9px; color: #9aa1ab;
    background: #eef0f4; border-radius: 50%;
}


.pm-img-tag{
    position: absolute; left: 50%; transform: translateX(-50%); bottom: 10px;
    background: rgba(28, 30, 36, .88); color: #fff;
    border: 1px solid rgba(255,255,255,.6);
    font-size: 10.5px; font-weight: 600;
    padding: 4px 13px; border-radius: 999px;
    max-width: 92%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    z-index: 2;
    box-shadow: 0 4px 10px -4px rgba(0,0,0,.5);
}
.pm-desc{
    font-size: 12px; color: #6b7280; line-height: 1.45;
    margin: 0 0 7px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}


.ref-card{
    position: relative;
    padding: 12px;
    background: #1a1d22;
    border: 1px solid #2a2e36;
    border-radius: 16px;
    box-shadow: 0 6px 14px -8px rgba(0,0,0,.6);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, opacity .4s ease-out;
    cursor: pointer;
    height: 100%;
}
.ref-card:hover{
    transform: translateY(-4px);
    border-color: rgba(var(--brand-rgb), .55);
    box-shadow: 0 16px 30px -14px rgba(var(--brand-rgb), .45);
}
.ref-img{
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #101318;
    border-radius: 12px;
    overflow: hidden;
}
.ref-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
.ref-card:hover .ref-img img{ transform: scale(1.08); }
.ref-badge{
    position: absolute; top: 8px; left: 8px; z-index: 2;
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 9px;
    font-size: 12px; font-weight: 700; color: #14151a;
    background: linear-gradient(135deg, var(--brand-light), var(--brand));
    border-radius: 6px;
    box-shadow: 0 4px 10px -4px rgba(var(--brand-rgb), .8);
    white-space: nowrap;
}
.ref-body{ padding-top: 12px; }
.ref-name{
    font-size: 14px; font-weight: 600; color: #f2f2f6;
    line-height: 1.4; margin: 0 0 5px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    word-break: break-all;
    min-height: calc(14px * 1.4 * 2);
}
.ref-price{
    font-size: 14px; font-weight: 700; color: var(--brand-light);
    margin: 0 0 5px; min-height: 1.25rem;
}
.ref-stock{ font-size: 12px; color: #9aa1ab; margin: 0 0 10px; }
.ref-stock-out{ color: #f87171; }
.ref-btn{
    display: block; width: 100%;
    padding: 9px 14px;
    border: none; border-radius: 999px;
    background: linear-gradient(180deg, var(--brand-light) 0%, var(--brand) 55%, var(--brand-dark) 100%);
    color: #14151a;
    font-size: 14px; font-weight: 700;
    text-align: center; text-decoration: none;
    box-shadow: 0 6px 16px -6px rgba(var(--brand-rgb), .65);
    transition: filter .2s ease, transform .1s ease;
}
.ref-btn:hover{ filter: brightness(1.05); color: #14151a; }
.ref-btn-off{
    background: #24282f;
    color: #8b929c;
    cursor: not-allowed;
    border-radius: 999px;
    box-shadow: none;
}
.ref-btn-off:hover{ filter: none; }
.ref-box-ico{ position: relative; display: inline-block; margin-right: 6px; }
.ref-box-ico .fa-box{ font-size: 13px; }
.ref-box-ico .ref-box-x{
    position: absolute; right: -5px; top: -5px;
    font-size: 8px; color: #8b929c;
    background: #24282f; border-radius: 50%;
}


main > .container.container-wide{ max-width: 1320px !important; }
@media (min-width: 1400px){ main > .container.container-wide{ max-width: 1320px !important; } }


.ref-btn-ico{
    display: inline-block;
    vertical-align: -2px;
    margin-right: 6px;
    font-size: 13px;
}
.ref-box-ico .ref-btn-ico{ margin-right: 0; }


#buyBtn{
    border-radius: 999px;
    background: linear-gradient(180deg, var(--brand-light) 0%, var(--brand) 55%, var(--brand-dark) 100%) !important;
    color: #14151a !important;
    font-weight: 700;
    box-shadow: 0 8px 18px -6px rgba(var(--brand-rgb), .65);
}
#buyBtn:hover{ filter: brightness(1.05); color: #14151a; }


@media (max-width: 767.98px) {
    .m-dock{
        bottom: 0;
        left: 0;
        transform: none;
        width: 100%;
        max-width: 100%;
        background: #1b1b20;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: none;
        border-top: 1px solid rgba(255, 255, 255, 0.07);
        border-radius: 20px 20px 0 0;
        padding: 8px 12px 14px;
        align-items: flex-start;
        box-shadow: 0 -8px 30px -10px rgba(0, 0, 0, 0.7);
    }
    .m-dock-item{
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        padding: 6px 2px;
        font-size: 10px;
        color: #8b8b96;
        text-decoration: none;
        transition: color .15s;
    }
    .m-dock-item i{ font-size: 20px; }
    .m-dock-item.m-dock-active{ color: var(--brand); }
    .m-dock-main{
        display: none;               
    }
    .m-dock-indicator{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 5px;
        width: 120px;
        height: 4px;
        border-radius: 999px;
        background: #3a3a42;
    }
    body{ padding-bottom: 96px; }
}


.hp-badge-ok{ background: rgba(34,197,94,.15); color: #4ade80; }
.hp-badge-bad{ background: rgba(239,68,68,.15); color: #f87171; }
.hp-badge-wait{ background: rgba(245,158,11,.15); color: #fbbf24; }
.hp-ico-truck{ background: rgba(129,140,248,.16); color: #818cf8; }
.hp-amt-blue{ color: #818cf8; }
.hp-note{
    margin-top: 6px;
    font-size: 12px; color: #9aa1ab;
    display: inline-flex; align-items: center; gap: 6px;
    background: #101216; border: 1px solid #262a30;
    border-radius: 8px; padding: 4px 10px;
}
.hp-tag{
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 6px;
    font-size: 11.5px; font-weight: 600;
    background: rgba(34,197,94,.13); color: #4ade80;
    border: 1px solid rgba(34,197,94,.3);
    border-radius: 999px; padding: 3px 10px;
}


.acc-menu-logout{
    margin-top: 6px;
    color: #f87171 !important;
    border-top: 1px solid #262a30;
    border-radius: 10px;
}
.acc-menu-logout:hover{ background: rgba(239,68,68,.1) !important; color: #fca5a5 !important; }
.m-dock-logout{ color: #f87171 !important; }
.m-dock-logout i{ font-size: 18px; }
@media (max-width: 767.98px){
    .m-dock{ padding-left: 8px; padding-right: 8px; gap: 2px; }
}


.app-toast,
.auth-toast{
    border-radius: 999px !important;
    padding: 8px 16px 8px 8px !important;
    gap: 10px !important;
}
.app-toast-icon,
.auth-toast-icon{
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 14px !important;
}
.app-toast-text,
.auth-toast-text{ font-size: 13.5px !important; white-space: nowrap; }
.app-toast-close,
.auth-toast-close{ font-size: 15px !important; padding: 2px 6px !important; }
@media (max-width: 480px){
    .app-toast-text,
    .auth-toast-text{ white-space: normal; }
}


.stat-card-modern{
    background: #1c1c1e;
    border: 1px solid #2a2a2e;
    border-radius: 16px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    transition: transform .2s, border-color .2s, box-shadow .2s;
    height: 100%;
}
.stat-card-modern:hover{
    transform: translateY(-3px);
    border-color: rgba(250, 204, 21, .45);
    box-shadow: 0 14px 30px -12px rgba(0,0,0,.6);
}
.stat-top{
    display: flex;
    align-items: center;
    gap: 10px;
}
.stat-ico{
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #2c2c30;
    color: #b9b9c2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}
.stat-label{ color: #b9b9c2; font-size: 13px; font-weight: 600; }
.stat-bottom{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
}
.stat-value{ color: #fff; font-size: 28px; font-weight: 800; line-height: 1; }
.stat-icon{ color: rgba(250, 204, 21, .75); font-size: 40px; opacity: .9; }
@media (max-width: 575.98px){
    .stat-value{ font-size: 24px; }
    .stat-icon{ font-size: 34px; }
}



.stat-list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.stat-item{
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    align-items: start;
    background: #141416;
    border: 1px solid #232329;
    border-radius: 12px;
    padding: 18px 20px 16px;
    position: relative;
    overflow: hidden;
    min-height: 118px;
    transition: transform .2s, border-color .2s, box-shadow .2s;
}
.stat-item:hover{
    transform: translateY(-2px);
    border-color: rgba(var(--brand-rgb), .45);
    box-shadow: 0 12px 26px -14px rgba(0,0,0,.6);
}
.stat-item-label{
    grid-column: 1;
    grid-row: 1;
    color: #fff;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.3;
    align-self: start;
}
.stat-item-value{
    grid-column: 1;
    grid-row: 2;
    color: var(--brand);
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    align-self: end;
    display: flex;
    align-items: baseline;
    gap: 5px;
}
.stat-item-unit{
    font-size: 15px;
    color: #fff;
    font-weight: 600;
}
.stat-item-wm{
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: end;
    font-size: 58px;
    color: #4a2f32;
    line-height: 1;
}
@media (max-width: 991.98px) and (min-width: 576px){
    .stat-list{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575.98px){
    .stat-list{
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .stat-item{
        grid-template-columns: 1fr auto;
        grid-template-rows: auto 1fr;
        padding: 14px 16px 13px;
        min-height: 84px;
        border-radius: 10px;
    }
    .stat-item-label{ font-size: 13px; }
    .stat-item-value{ font-size: 26px; }
    .stat-item-unit{ font-size: 13px; }
    .stat-item-wm{ font-size: 48px; }
}


.stat2{
    background: #17191d;
    border: 1px solid #262a30;
    border-radius: 16px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
    transition: transform .2s, border-color .2s, box-shadow .2s;
}
.stat2:hover{
    transform: translateY(-3px);
    border-color: rgba(250, 204, 21, .4);
    box-shadow: 0 14px 30px -14px rgba(0,0,0,.7);
}
.stat2-top{
    display: flex;
    align-items: center;
    gap: 10px;
}
.stat2-badge{
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #26262c;
    color: #b9b9c2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}
.stat2-label{
    color: #9ca3af;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.35;
}
.stat2-bottom{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
}
.stat2-value{
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
}
.stat2-unit{
    font-size: 12.5px;
    color: #9ca3af;
    font-weight: 500;
}
.stat2-gold{
    font-size: 36px;
    color: rgba(250, 204, 21, .75);
    opacity: .9;
}
.stat2-warn .stat2-badge{ background: rgba(245, 158, 11, .14); color: #f59e0b; }
.stat2-info .stat2-badge{ background: rgba(59, 130, 246, .14); color: #60a5fa; }
.stat2-yellow .stat2-badge{ background: rgba(245, 158, 11, .14); color: #f59e0b; }
.stat2-green .stat2-badge{ background: rgba(34, 197, 94, .14); color: #22c55e; }
.stat2-val-warn{ color: #fbbf24 !important; }
.stat2-val-info{ color: #60a5fa !important; }
.stat2-val-yellow{ color: #f59e0b !important; }
@media (max-width: 575.98px){
    .stat2{ padding: 13px 14px; gap: 12px; }
    .stat2-value{ font-size: 21px; }
    .stat2-gold{ font-size: 30px; }
}


.wallet-pill-mobile{
    font-size: 13px;
    padding: 5px 12px;
    background-color: #3a3f45;
    color: #f2f2f4;
    border: 1px solid #4a5057;
    font-weight: 600;
    border-radius: 25px;
}
@media (min-width: 992px){
    .wallet-pill-mobile{ display: none !important; }
}


.category-card{
    background-color: #17171a;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 10px 24px -18px rgba(0,0,0,.5);
}
.category-card:hover{
    transform: translateY(-4px);
    border-color: #ff9d2e;
    box-shadow: 0 18px 34px -18px rgba(255,157,46,.45);
}
.category-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 12px 6px;
    background: linear-gradient(180deg, #1d1d21, #17171a);
    border-top: 1px solid rgba(255,255,255,.06);
}
.cat-head-txt h5{
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 0;
}
.cat-sub{
    display: block;
    color: #9aa0a8;
    font-size: 9.5px;
    letter-spacing: .2px;
}
.cat-badge{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #26262c;
    border: 1px solid #3a3a42;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}
.cat-badge i{
    font-size: 11px;
    color: #ff9d2e;
}
.category-banner{
    position: relative;
    height: 260px;
    overflow: hidden;
    border-radius: 0;
    background: linear-gradient(115deg, #8a4a08 0%, #ff9d2e 45%, #ffc94d 90%);
}
.category-banner-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .35;
    mix-blend-mode: luminosity;
}
.category-banner-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(15,8,2,.9) 0%, rgba(15,8,2,.5) 38%, rgba(15,8,2,.08) 72%);
}
.category-banner-text{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
}
.cat-top{
    font-size: 12px;
    font-weight: 600;
    color: rgba(70,32,0,.9);
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.cat-main{
    font-size: clamp(20px, 2.4vw, 30px);
    font-weight: 600 !important;
    line-height: 1.15;
    color: #d96a00 !important;
    -webkit-text-stroke: 1.2px rgba(255,255,255,.95);
    text-shadow: 2px 3px 0 rgba(0,0,0,.14);
    word-break: break-word;
    max-width: 82%;
}
.cat-bg-text{
    position: absolute;
    right: 6px;
    bottom: -4px;
    font-size: clamp(38px, 4.6vw, 58px);
    font-weight: 800;
    color: rgba(255, 205, 90, .28);
    white-space: nowrap;
    letter-spacing: 1px;
    pointer-events: none;
    text-transform: uppercase;
    z-index: 0;
}
.cat-url{
    margin-top: auto;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #fff;
    color: #6b3a00;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .8px;
    padding: 6px 14px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(0,0,0,.22);
}
.cat-url i{
    font-size: 12px;
}
.cat-more{
    position: absolute;
    top: 12px;
    right: 62px;
    background: rgba(20, 12, 4, .86);
    color: #fff;
    font-size: 11.5px;
    font-weight: 600;
    padding: 7px 13px;
    border-radius: 999px;
    z-index: 3;
    letter-spacing: .3px;
    box-shadow: 0 4px 10px rgba(0,0,0,.25);
    white-space: nowrap;
}
.click-tab{
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 56px;
    background-color: rgba(14, 8, 2, .94);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    z-index: 3;
    border-left: 1px solid rgba(255,255,255,.12);
}
@media (max-width: 575px){
    .category-banner{ height: 210px; }
    .cat-more{ display: none; }
}


.idb-list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 10px;
}
@media (max-width: 860px){
    .idb-list{ grid-template-columns: 1fr; }
}
.idb-card{
    background: #17171a;
    border: 1px solid #2a2a30;
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 10px 24px -18px rgba(0,0,0,.5);
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.idb-card:hover{
    border-color: #ff9d2e;
    box-shadow: 0 18px 34px -18px rgba(255,157,46,.45);
    transform: translateY(-4px);
}
.idb-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px 11px;
    background: linear-gradient(180deg, #1d1d21, #17171a);
}
.idb-name{
    color: #fff; font-weight: 700; font-size: 16px; margin-bottom: 1px; line-height: 1.25;
}
.idb-sub{ color: #9aa0a8; font-size: 11.5px; margin: 0; letter-spacing: .2px; }
.idb-count{
    display: inline-flex; align-items: center; gap: 6px;
    background: #26262c; color: #fff;
    border: 1px solid #3a3a42;
    font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 999px; white-space: nowrap;
}
.idb-count i{ font-size: 11px; color: #ff9d2e; }

.idb-banner{
    position: relative; display: block; overflow: hidden;
    aspect-ratio: 16/6.2; min-height: 170px; text-decoration: none;
    background: linear-gradient(115deg, #8a4a08 0%, #ff9d2e 45%, #ffc94d 90%);
}
.idb-banner img{
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover;
    opacity: .35; mix-blend-mode: luminosity;
    -webkit-mask-image: none; mask-image: none;
}
.idb-overlay{
    position: absolute; inset: 0;
    background: linear-gradient(100deg, rgba(15,8,2,.9) 0%, rgba(15,8,2,.5) 38%, rgba(15,8,2,.08) 72%);
}
.idb-text{
    position: absolute; inset: 0;
    display: flex; flex-direction: column; justify-content: center;
    padding: 14px 16px; max-width: 78%;
}
.idb-text-small{
    color: rgba(70,32,0,.9); font-size: 12px; font-weight: 600;
    letter-spacing: .5px; text-transform: uppercase; margin-bottom: 2px;
}
.idb-text-title{
    color: #d96a00 !important;
    font-size: clamp(20px, 2.4vw, 30px);
    font-weight: 600 !important; line-height: 1.15;
    -webkit-text-stroke: 1.2px rgba(255,255,255,.95);
    text-shadow: 2px 3px 0 rgba(0,0,0,.14);
    margin-bottom: 0;
    word-break: break-word; max-width: 82%;
}
.idb-bg-text{
    position: absolute; right: 6px; bottom: -4px;
    font-size: clamp(38px, 4.6vw, 58px);
    font-weight: 800; color: rgba(255,205,90,.28);
    white-space: nowrap; letter-spacing: 1px;
    pointer-events: none; text-transform: uppercase;
    z-index: 0;
}
.idb-pill{
    margin-top: auto; align-self: flex-start;
    display: inline-flex; align-items: center; gap: 7px;
    background: #fff; color: #6b3a00;
    font-size: 12px; font-weight: 700; letter-spacing: .8px;
    padding: 6px 14px; border-radius: 999px;
    box-shadow: 0 4px 12px rgba(0,0,0,.22);
    max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.idb-pill i{ color: #d96a00; font-size: 12px; }


.idb-click-tag{
    position: absolute; top: 12px; right: 62px; z-index: 3;
    background: rgba(20,12,4,.86); color: #fff;
    font-size: 11.5px; font-weight: 600; padding: 7px 13px; border-radius: 999px;
    letter-spacing: .3px; white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0,0,0,.25);
}
.idb-click-block{
    position: absolute; top: 0; right: 0; bottom: 0; z-index: 3;
    width: 56px;
    background-color: rgba(14,8,2,.94);
    color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 2px;
    writing-mode: vertical-rl; text-orientation: mixed;
    display: flex; align-items: center; justify-content: center;
    border-left: 1px solid rgba(255,255,255,.12);
    border-radius: 0;
    transform: none;
    padding: 0;
    box-shadow: none;
}

@media (max-width: 640px){
    .idb-banner{ min-height: 128px; aspect-ratio: 16/7; }
    .idb-text{ padding: 12px 14px; max-width: 78%; }
    .idb-text-small{ font-size: 10.5px; }
    .idb-text-title{ font-size: 17px; -webkit-text-stroke: 1px #fff; }
    .idb-pill{ font-size: 9px; padding: 4px 9px; }
    .idb-click-tag{ display: none; }
    .idb-click-block{ width: 40px; font-size: 10px; }
}



.announce-bar{
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(90deg, #1b1b22 0%, #232330 100%);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 999px;
    padding: 8px 18px 8px 8px;
    margin-top: 28px;
    margin-bottom: 24px;
    overflow: hidden;
    box-shadow: 0 10px 26px -18px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.05);
}
.announce-tag{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(120deg, #ffb3c9 0%, #ff6999 55%, #ff4d8d 100%);
    color: #3a0d1d;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .3px;
    padding: 8px 18px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 6px 16px -8px rgba(255,105,153,.8);
    position: relative;
    overflow: hidden;
}
.announce-tag::after{
    content: '';
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
    transform: skewX(-20deg);
    animation: announce-shine 3.2s ease-in-out infinite;
}
@keyframes announce-shine{
    0%   { left: -60%; }
    55%  { left: 130%; }
    100% { left: 130%; }
}
.announce-tag i{
    font-size: 13px;
    position: relative;
    z-index: 1;
    animation: announce-bell 1.6s ease-in-out infinite;
}
@keyframes announce-bell{
    0%, 100% { transform: rotate(0deg); }
    10% { transform: rotate(-14deg); }
    20% { transform: rotate(12deg); }
    30% { transform: rotate(-8deg); }
    40% { transform: rotate(0deg); }
}
.announce-tag span{ position: relative; z-index: 1; }
.announce-text{
    color: #e8e8ee;
    font-size: 13.5px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    letter-spacing: .2px;
}
@media (max-width: 575.98px){
    .announce-bar{ border-radius: 18px; padding: 7px 12px 7px 7px; gap: 10px; }
    .announce-tag{ padding: 7px 13px; font-size: 12px; gap: 6px; }
    .announce-tag i{ font-size: 12px; }
    .announce-text{ font-size: 12.5px; }
}


.ticker-item{
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    padding: 12px 16px;
    min-width: 285px;
    max-width: 285px;
    white-space: normal;
    border-right: 1px dashed #2a2a30;
    background: #151518;
    border-radius: 14px;
    margin: 2px;
    border: 1px solid #232329;
    font-size: 12px;
    color: #d4d4d8;
}
.tick-avatar{
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(var(--brand-rgb), .18);
    color: var(--brand-light, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 700;
}
.tick-info{
    grid-column: 2;
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}
.tick-user{
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.2;
}
.tick-time{
    color: #8b8f98;
    font-size: 11px;
    line-height: 1.3;
}
.tick-name{
    color: #b7bac2;
    font-size: 11.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
}
.tick-thumb{
    grid-column: 3;
    grid-row: 1 / span 2;
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    flex: 0 0 auto;
    background: #1f1f24;
    border: 1px solid #2c2c34;
}
.tick-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.t-badge{
    position: absolute;
    left: 3px;
    bottom: 3px;
    font-size: 8.5px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 999px;
    line-height: 1.2;
}
.t-badge-ok{ background: rgba(34,197,94,.9); color: #fff; }
.t-badge-bad{ background: rgba(239,68,68,.9); color: #fff; }
.t-badge-warn{ background: rgba(234,179,8,.9); color: #1a1202; }
.tick-price{
    grid-column: 2;
    color: #22c55e;
    font-weight: 800;
    font-size: 14px;
    line-height: 1;
}
@media (max-width: 575.98px){
    .ticker-item{ min-width: 250px; max-width: 250px; padding: 10px 12px; }
    .tick-avatar{ width: 38px; height: 38px; font-size: 15px; }
    .tick-thumb{ width: 48px; height: 48px; }
    .tick-price{ font-size: 13px; }
}


.cat-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.cat-ref{
    position: relative;
    display: block;
    border-radius: 18px;
    overflow: hidden;
    min-height: 190px;
    text-decoration: none;
    background: #141417;
    border: 1px solid #26262c;
    box-shadow: 0 10px 24px -20px rgba(0,0,0,.7);
    transition: transform .2s, border-color .2s, box-shadow .2s;
}
.cat-ref:hover{
    transform: translateY(-4px);
    border-color: rgba(var(--brand-rgb), .55);
    box-shadow: 0 18px 34px -18px rgba(var(--brand-rgb), .5);
    text-decoration: none;
}
.cat-ref-bg{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .4;
}
.cat-ref-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,10,13,.2) 0%, rgba(10,10,13,.55) 55%, rgba(10,10,13,.92) 100%);
}
.cat-ref-ico{
    position: absolute;
    top: 14px;
    left: 14px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(0,0,0,.55);
    border: 1px solid rgba(255,255,255,.16);
    color: var(--brand-light, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    backdrop-filter: blur(4px);
    z-index: 2;
}
.cat-ref-txt{
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 14px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.cat-ref-en{
    color: #fff;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.cat-ref-th{
    color: var(--brand-light, #f0abfc);
    font-size: 12.5px;
    font-weight: 600;
}
@media (max-width: 991.98px){
    .cat-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px){
    .cat-grid{ grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .cat-ref{ min-height: 130px; border-radius: 14px; }
    .cat-ref-ico{ width: 34px; height: 34px; font-size: 14px; top: 10px; left: 10px; }
    .cat-ref-txt{ left: 12px; right: 12px; bottom: 10px; }
    .cat-ref-en{ font-size: 14px; }
    .cat-ref-th{ font-size: 10.5px; }
}


.qm-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.qm-card{
    position: relative;
    display: block;
    border-radius: 10px;
    min-height: 140px;
    aspect-ratio: 2 / 1;
    overflow: hidden;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.08);
    background: #17171d;
    box-shadow: none;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.qm-card:hover{
    transform: translateY(-4px);
    text-decoration: none;
    border-color: rgba(var(--brand-rgb), .55);
}
.qm-img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.qm-card:hover .qm-img{ transform: scale(1.05); }
@media (max-width: 991.98px){
    .qm-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px){
    .qm-grid{ grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .qm-card{ min-height: 80px; border-radius: 8px; }
}


.theme-toggle{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1e1e1e;
    border: 1px solid #2c2c34;
    color: #f0abfc;
    font-size: 16px;
    cursor: pointer;
    transition: background-color .2s, color .2s, transform .2s;
    flex: 0 0 auto;
}
.theme-toggle .theme-ico-dark,
.theme-toggle .theme-ico-light{
    position: absolute;
    display: inline-block;
}
.theme-toggle .theme-ico-dark{
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    color: #d9b8ff;
    font-size: 17px;
    z-index: 2;
}
.theme-toggle .theme-ico-light{
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: #8a6db5;
    font-size: 13px;
    z-index: 1;
}
.theme-toggle:hover{
    border-color: rgba(var(--brand-rgb), .5);
    box-shadow: 0 0 12px -2px rgba(var(--brand-rgb), .45);
}

.site-nav .navbar-nav:last-of-type > .nav-item:first-child{
    margin-right: 20px !important;
}
.theme-toggle:hover{
    transform: translateY(-1px);
    color: #fff;
    background: rgba(var(--brand-rgb), .35);
}

html[data-theme="light"],
html[data-theme="light"] body,
html[data-theme="light"] main{
    background-color: #f2f2f5 !important;
}
html[data-theme="light"] .site-nav{
    background-color: #ffffff;
    border-bottom: 1px solid #e2e2e8;
}
html[data-theme="light"] .section-head h4{ color: #17171c; }
html[data-theme="light"] .section-head .text-muted{ color: #6b6b76 !important; }
html[data-theme="light"] .announce-bar{
    background: #ffffff;
    border: 1px solid #e2e2e8;
}
html[data-theme="light"] .announce-text{ color: #3f3f46; }
html[data-theme="light"] .ticker-wrap{
    background: #ffffff;
    border: 1px solid #e2e2e8;
}
html[data-theme="light"] .ticker-item{
    background: #f7f7fa;
    border: 1px solid #e6e6ec;
    border-right: 1px dashed #d8d8e0;
}
html[data-theme="light"] .tick-user{ color: #17171c; }
html[data-theme="light"] .tick-time{ color: #6b6b76; }
html[data-theme="light"] .tick-name{ color: #55555e; }
html[data-theme="light"] .stat-item{
    background: #ffffff;
    border: 1px solid #e6e6ec;
}
html[data-theme="light"] .stat-item-label{ color: #6b6b76; }
html[data-theme="light"] .stat-item-value{ color: #8b5cf6; }
html[data-theme="light"] .stat-item-unit{ color: #6b6b76; }
html[data-theme="light"] .stat-item-wm{ color: rgba(23,23,28,.06); }
html[data-theme="light"] .ref-card{
    background: #ffffff;
    border: 1px solid #e6e6ec;
}
html[data-theme="light"] .ref-name{ color: #17171c; }
html[data-theme="light"] .footer-text,
html[data-theme="light"] footer{ color: #55555e; }
html[data-theme="light"] .wallet-pill{
    background: #e8e8ee;
    color: #17171c;
    border: 1px solid #d6d6de;
}
html[data-theme="light"] .theme-toggle{
    background: #e8e8ee;
    border: 1px solid #d6d6de;
    color: #7c3aed;
}
html[data-theme="light"] .nav-pill{ color: #55555e; }
html[data-theme="light"] .navbar-toggler-icon{
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(23,23,28,0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}



html[data-theme="light"] .theme-ico-dark,
html[data-theme="light"] .theme-ico-light{
    display: inline-block;
}
html[data-theme="light"] .theme-ico-dark{
    color: #7a3ed8;
}
html[data-theme="light"] .theme-ico-light{
    color: #c9a3f0;
}
html[data-theme="light"] .theme-toggle{
    background: #f3eefe;
    border: 1px solid #ddd0f5;
}


.nav-pill{
    background: rgba(var(--brand-rgb), .10);
    border: 1px solid rgba(var(--brand-rgb), .28);
    color: var(--brand-light);
    border-radius: 25px;
    padding: 8px 18px;
}
.nav-pill:hover{
    background: rgba(var(--brand-rgb), .16);
    border-color: rgba(var(--brand-rgb), .45);
    color: #fff;
}
.nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    border-color: transparent;
    color: #fff;
    box-shadow: 0 8px 18px -8px rgba(var(--brand-rgb), .75);
}

.btn-register{
    border: 1px solid rgba(255,255,255,.35);
    color: #e2e2e6;
    background: transparent;
}
.btn-register:hover{
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.55);
    color: #fff;
}

.login-btn{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #fff;
    border: none;
}
.login-btn:hover{
    background: linear-gradient(120deg, var(--brand-light), var(--brand));
    color: #fff;
}

html[data-theme="light"] .site-nav{
    background-color: #ffffff;
    border-bottom: 1px solid #e6e2f0;
}
html[data-theme="light"] .nav-pill{
    background: #f3eefe;
    border: 1px solid #ddd0f5;
    color: #7a5bb8;
}
html[data-theme="light"] .nav-pill:hover{
    background: #ede4fb;
    border-color: #cbb6ef;
    color: #5b3d9e;
}
html[data-theme="light"] .nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark));
    color: #fff;
}
html[data-theme="light"] .btn-register{
    background: #ffffff;
    border: 1px solid #d4d4dc;
    color: #3f3f46;
}
html[data-theme="light"] .btn-register:hover{
    background: #f4f4f6;
    border-color: #b9b9c2;
    color: #17171c;
}
html[data-theme="light"] .login-btn{
    color: #fff;
}
html[data-theme="light"] .brand-text{ color: #17171c; }
html[data-theme="light"] .brand-accent{ color: var(--brand-accent); }
html[data-theme="light"] .theme-toggle{
    background: #f3eefe;
    border: 1px solid #ddd0f5;
    color: #7a3ed8;
}
html[data-theme="light"] .wallet-pill{
    background: #f3eefe;
    border: 1px solid #ddd0f5;
    color: #5b3d9e;
}
html[data-theme="light"] .avatar-btn{
    background: #f3eefe !important;
    border: 1px solid #ddd0f5 !important;
    color: #5b3d9e !important;
}
html[data-theme="light"] .avatar-btn:hover{
    background: #ede4fb !important;
}


html[data-theme="light"] .stat-item{
    background: #ffffff;
    border: 1px solid #e6e6ec;
}
html[data-theme="light"] .stat-item-label{ color: #6b6b76; }
html[data-theme="light"] .stat-item-value{ color: #8b5cf6; }
html[data-theme="light"] .stat-item-unit{ color: #6b6b76; }
html[data-theme="light"] .stat-item-wm{ color: rgba(139,92,246,.16); }


.nav-pill{
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #9ca3af !important;
    padding: 7px 9px !important;
    margin: 0 1px !important;
    font-weight: 500 !important;
    font-size: 13.5px !important;
    box-shadow: none !important;
}
.nav-pill:hover{
    background: transparent !important;
    color: var(--brand-light) !important;
    transform: none !important;
    box-shadow: none !important;
}
.nav-pill.active{
    background: transparent !important;
    color: var(--brand-light) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
.nav-pill i{ font-size: 15px; margin-right: 2px; }


.site-nav .navbar-nav:first-of-type{
    flex: 1 1 0 !important;
    justify-content: center !important;
    margin: 0 !important;
}
.site-nav .navbar-nav:last-of-type{
    flex: 1 1 0 !important;
    justify-content: flex-end !important;
    margin-left: 0 !important;
}
@media (min-width: 992px){
    .site-nav > .container{
        display: flex !important;
        align-items: center;
    }
    .site-nav .navbar-brand{
        flex: 1 1 0 !important;
    }
    .site-nav #navbarNav{
        flex: 2 1 0 !important;
        display: flex !important;
        align-items: center;
    }
}


.login-btn{
    background: linear-gradient(120deg, var(--brand), var(--brand-dark)) !important;
    border-radius: 12px !important;
    padding: 8px 16px !important;
    width: auto !important;
    font-weight: 600 !important;
    color: #fff !important;
    box-shadow: 0 6px 14px -6px rgba(var(--brand-rgb), .7) !important;
}
.login-btn:hover{
    background: linear-gradient(120deg, var(--brand-light), var(--brand)) !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 18px -8px rgba(var(--brand-rgb), .8) !important;
}

.btn-register{
    background: #2a2a31 !important;
    border: 1px solid #3a3a44 !important;
    color: #d6d6dc !important;
    border-radius: 12px !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    margin-left: 8px !important;
}
.btn-register:hover{
    background: #383842 !important;
    border-color: #4a4a56 !important;
    color: #fff !important;
}

.site-nav{
    background: rgba(18, 18, 22, 0.92) !important;
}

html[data-theme="light"] .site-nav{
    background-color: #f2f2f4 !important;
}
html[data-theme="light"] .nav-pill{
    color: #9ca3af !important;
}
html[data-theme="light"] .nav-pill:hover{
    background: transparent !important;
    color: var(--brand) !important;
}
html[data-theme="light"] .nav-pill.active{
    background: transparent !important;
    color: var(--brand) !important;
}
html[data-theme="light"] .login-btn{
    color: #fff !important;
}
html[data-theme="light"] .btn-register{
    background: #e5e7eb !important;
    border: none !important;
    color: #6b7280 !important;
}



.category-card:hover{
    border-color: rgba(var(--brand-rgb), .65) !important;
    box-shadow: 0 18px 34px -18px rgba(var(--brand-rgb), .5) !important;
}
.cat-badge i{ color: var(--brand-light) !important; }
.category-banner{
    background: linear-gradient(115deg, #4c1d95 0%, #8b5cf6 50%, #c4b5fd 95%) !important;
}
.category-banner-overlay{
    background: linear-gradient(100deg, rgba(24,10,58,.92) 0%, rgba(24,10,58,.5) 38%, rgba(24,10,58,.08) 72%) !important;
}
.cat-top{
    color: rgba(76,29,149,.95) !important;
}
.cat-main{
    color: #f5f3ff !important;
    -webkit-text-stroke: 1.2px rgba(139,92,246,.9) !important;
    text-shadow: 2px 3px 0 rgba(24,10,58,.35) !important;
}
.cat-bg-text{ color: rgba(196,181,253,.30) !important; }
.cat-pill{
    background: #fff !important;
    color: #4c1d95 !important;
}
.cat-pill i{ color: #8b5cf6 !important; }


.idb-card:hover{
    border-color: rgba(var(--brand-rgb), .65) !important;
    box-shadow: 0 18px 34px -18px rgba(var(--brand-rgb), .5) !important;
}
.idb-count i{ color: #c9c9d1 !important; }
.idb-banner{
    background: linear-gradient(115deg, #4c1d95 0%, #8b5cf6 50%, #c4b5fd 95%) !important;
}
.idb-overlay{
    background: linear-gradient(100deg, rgba(24,10,58,.92) 0%, rgba(24,10,58,.5) 38%, rgba(24,10,58,.08) 72%) !important;
}
.idb-text-small{
    color: rgba(76,29,149,.95) !important;
}
.idb-text-title{
    color: #f5f3ff !important;
    -webkit-text-stroke: 1.2px rgba(139,92,246,.9) !important;
    text-shadow: 2px 3px 0 rgba(24,10,58,.35) !important;
}
.idb-bg-text{ color: rgba(196,181,253,.30) !important; }
.idb-pill{
    background: #fff !important;
    color: #4c1d95 !important;
}
.idb-pill i{ color: #8b5cf6 !important; }
.idb-click-block{
    background-color: rgba(24,10,58,.96) !important;
    border-left: 1px solid rgba(196,181,253,.25) !important;
}


.tp-method.active{
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .14), 0 14px 30px -14px rgba(var(--brand-rgb), .45) !important;
}
.tp-badge-hot{ background: linear-gradient(135deg, var(--brand), #6d28d9) !important; box-shadow: 0 6px 14px -6px rgba(var(--brand-rgb), .6) !important; }
.tp-input:focus{ border-color: var(--brand) !important; }
.tp-btn{ background: linear-gradient(135deg, var(--brand), #6d28d9) !important; }
.tp-spinner{ border-color: rgba(var(--brand-rgb), .25) !important; border-top-color: var(--brand) !important; }
.tp-pay-btn{ background: linear-gradient(135deg, var(--brand), #6d28d9) !important; }


html[data-theme="light"] .idb-head,
html[data-theme="light"] .category-head{
    background: linear-gradient(180deg, #ffffff, #f7f5fc) !important;
    border-top: 1px solid rgba(0,0,0,.06) !important;
}
html[data-theme="light"] .category-card{
    background-color: #ffffff !important;
    border: 1px solid rgba(0,0,0,.05) !important;
    box-shadow: 0 6px 18px -14px rgba(90, 60, 180, .18) !important;
}
html[data-theme="light"] .idb-name{ color: #17171c !important; }
html[data-theme="light"] .idb-sub{ color: #6b6b76 !important; }
html[data-theme="light"] .idb-count,
html[data-theme="light"] .cat-badge{
    background: #f3eefe !important;
    border: 1px solid #ddd0f5 !important;
    color: #5b3d9e !important;
}
html[data-theme="light"] .idb-count i,
html[data-theme="light"] .cat-badge i{ color: #8b5cf6 !important; }
html[data-theme="light"] .cat-head-txt h5{ color: #17171c !important; }
html[data-theme="light"] .cat-sub{ color: #6b6b76 !important; }


.m-dock-logout{ color: #9aa0a8 !important; }
.m-dock-logout.active, .m-dock-logout:hover{ color: var(--brand-light) !important; }
.acc-menu-logout{ color: #9aa0a8 !important; }
.acc-menu-logout i{ color: #9aa0a8 !important; }
.acc-menu-logout:hover{ background: rgba(var(--brand-rgb), .12) !important; color: var(--brand-light) !important; }
.acc-menu-logout:hover i{ color: var(--brand-light) !important; }
.user-menu .user-menu-logout{ color: #9aa0a8 !important; }
.user-menu .user-menu-logout:hover{ background: rgba(var(--brand-rgb), .12) !important; color: var(--brand-light) !important; }

html[data-theme="light"] .dropdown-menu.user-menu{
    background-color: #ffffff !important;
    border: 1px solid #e2e2e8 !important;
    box-shadow: 0 12px 28px -12px rgba(60,40,120,.18) !important;
}
html[data-theme="light"] .user-menu .user-menu-head{ color: #17171c !important; }
html[data-theme="light"] .user-menu .user-menu-balance{ color: #17171c !important; }
html[data-theme="light"] .user-menu .user-menu-link{ color: #3f3f46 !important; }
html[data-theme="light"] .user-menu .user-menu-link:hover{ background: #f3eefe !important; color: #5b3d9e !important; }
html[data-theme="light"] .user-menu .user-divider{ border-color: #e8e6f0 !important; }
html[data-theme="light"] .user-menu .user-menu-logout{ color: #6b6b76 !important; }
html[data-theme="light"] .user-menu .user-menu-logout:hover{ background: #f3eefe !important; color: #5b3d9e !important; }

html[data-theme="light"] .acc-menu-item{ color: #52525b !important; }
html[data-theme="light"] .acc-menu-item i{ color: #8b5cf6 !important; }
html[data-theme="light"] .acc-menu-item:hover{ background: #f3eefe !important; color: #5b3d9e !important; }
html[data-theme="light"] .acc-menu-item.active{ background: #f3eefe !important; border-color: #ddd0f5 !important; color: #5b3d9e !important; }


html[data-theme="light"] .tp-eyebrow{ color: #8b5cf6 !important; }
html[data-theme="light"] .tp-title{ color: #17171c !important; }
html[data-theme="light"] .tp-sub{ color: #6b6b76 !important; }
html[data-theme="light"] .tp-method{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .tp-method:hover{ border-color: #c9c2e8 !important; }
html[data-theme="light"] .tp-method.active{
    border-color: #8b5cf6 !important;
    box-shadow: 0 0 0 3px rgba(139,92,246,.14), 0 14px 30px -14px rgba(139,92,246,.4) !important;
}
html[data-theme="light"] .tp-radio{ border-color: #c9cdd6 !important; }
html[data-theme="light"] .tp-badge-soon{ background: #e9e9ee !important; color: #6b6b76 !important; }
html[data-theme="light"] .tp-badge-auto{ background: #8b5cf6 !important; color: #fff !important; }
html[data-theme="light"] .tp-name{ color: #17171c !important; }
html[data-theme="light"] .tp-desc{ color: #6b6b76 !important; }
html[data-theme="light"] .tp-fee{
    background: #eafaf1 !important;
    color: #059669 !important;
    border-color: rgba(5,150,105,.25) !important;
}
html[data-theme="light"] .tp-panel{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .tp-panel-title{ color: #17171c !important; }
html[data-theme="light"] .tp-panel-sub{ color: #6b6b76 !important; }
html[data-theme="light"] .tp-help{
    background: #eafaf1 !important;
    color: #059669 !important;
    border-color: rgba(5,150,105,.3) !important;
}
html[data-theme="light"] .tp-help:hover{ background: #d8f5e4 !important; color: #047857 !important; }
html[data-theme="light"] .tp-input{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #17171c !important;
}
html[data-theme="light"] .tp-input:focus{ border-color: #8b5cf6 !important; }
html[data-theme="light"] .tp-input::placeholder{ color: #9aa0a8 !important; }
html[data-theme="light"] .tp-status{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .tp-status-title{ color: #17171c !important; }
html[data-theme="light"] .tp-status-sub{ color: #6b6b76 !important; }
html[data-theme="light"] .tp-status-spin{ border-color: rgba(139,92,246,.25) !important; border-top-color: #8b5cf6 !important; }
html[data-theme="light"] .tp-modal{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
    box-shadow: 0 24px 60px -20px rgba(60,40,120,.25) !important;
}
html[data-theme="light"] .tp-modal-title{ color: #17171c !important; }
html[data-theme="light"] .tp-modal-close{ color: #6b6b76 !important; }
html[data-theme="light"] .tp-modal-close:hover{ color: #17171c !important; background: #f3f3f7 !important; }
html[data-theme="light"] .tp-step-text{ color: #52525b !important; }
html[data-theme="light"] .tp-step-text b{ color: #17171c !important; }
html[data-theme="light"] .tp-icon.has-img{
    background: #f3f3f7 !important;
    border-color: #e2e2e8 !important;
}


html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select{
    background-color: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #17171c !important;
}
html[data-theme="light"] .form-control::placeholder,
html[data-theme="light"] .form-select::placeholder{ color: #9aa0a8 !important; }
html[data-theme="light"] .form-control:focus,
html[data-theme="light"] .form-select:focus{
    border-color: #8b5cf6 !important;
    box-shadow: 0 0 0 3px rgba(139,92,246,.14) !important;
}


html[data-theme="light"] .acc-card{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .acc-card-head{ border-color: #e8e6f0 !important; }
html[data-theme="light"] .acc-card-icon{
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
}
html[data-theme="light"] .acc-card-title{ color: #17171c !important; }
html[data-theme="light"] .acc-card-sub{ color: #6b6b76 !important; }
html[data-theme="light"] .acc-table{ color: #3f3f46 !important; }
html[data-theme="light"] .acc-table thead th{
    background: #f7f7fa !important;
    color: #6b6b76 !important;
    border-color: #e8e6f0 !important;
}
html[data-theme="light"] .acc-table tbody td{
    color: #3f3f46 !important;
    border-color: #eeeef3 !important;
}
html[data-theme="light"] .acc-table tbody tr:hover td{ background: #faf8ff !important; }
html[data-theme="light"] .acc-table tbody tr:nth-child(even) td{ background: #fbfbfd; }
html[data-theme="light"] .acc-table tbody tr:nth-child(even):hover td{ background: #faf8ff !important; }
html[data-theme="light"] .hp-search .dataTables_filter input,
html[data-theme="light"] .hp-sort-select,
html[data-theme="light"] .hp-len select{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #17171c !important;
}
html[data-theme="light"] .hp-search .dataTables_filter input:focus{ border-color: #8b5cf6 !important; }
html[data-theme="light"] .hp-search .dataTables_filter input::placeholder{ color: #9aa0a8 !important; }
html[data-theme="light"] .hp-count{ color: #6b6b76 !important; }
html[data-theme="light"] .hp-row{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .hp-row:hover{ border-color: #c9c2e8 !important; }
html[data-theme="light"] .hp-title{ color: #17171c !important; }
html[data-theme="light"] .hp-sub{ color: #6b6b76 !important; }
html[data-theme="light"] .hp-ref{
    color: #4c1d95 !important;
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
}
html[data-theme="light"] .hp-type{ color: #6b6b76 !important; }


html[data-theme="light"] .acc-side{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .acc-profile{ border-color: #e8e6f0 !important; }
html[data-theme="light"] .acc-avatar{
    background: linear-gradient(180deg, #f3eefe, #e9e0fa) !important;
    border-color: #ddd0f5 !important;
    color: #5b3d9e !important;
}
html[data-theme="light"] .acc-name{ color: #17171c !important; }
html[data-theme="light"] .acc-rank{
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
    color: #5b3d9e !important;
}
html[data-theme="light"] .acc-menu-title{ color: #6b6b76 !important; }


html[data-theme="light"] .acc-stat{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .acc-stat:hover{ border-color: #c9c2e8 !important; }
html[data-theme="light"] .acc-stat-icon{
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
}
html[data-theme="light"] .acc-stat-label{ color: #6b6b76 !important; }
html[data-theme="light"] .acc-stat-value{ color: #17171c !important; }
html[data-theme="light"] .acc-label{ color: #3f3f46 !important; }
html[data-theme="light"] .acc-input input{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #17171c !important;
}
html[data-theme="light"] .acc-input input::placeholder{ color: #9aa0a8 !important; }
html[data-theme="light"] .acc-input input:focus{
    border-color: #8b5cf6 !important;
    box-shadow: 0 0 0 3px rgba(139,92,246,.12) !important;
}
html[data-theme="light"] .acc-eye{ color: #8a8a94 !important; }
html[data-theme="light"] .acc-eye:hover{ color: #8b5cf6 !important; background: #f3eefe !important; }
html[data-theme="light"] .acc-hint{
    background: #faf8ff !important;
    border-color: #e6e0f4 !important;
    color: #6b6b76 !important;
}
html[data-theme="light"] .acc-save{
    background: linear-gradient(120deg, #8b5cf6, #6d28d9) !important;
    color: #ffffff !important;
}


html[data-theme="light"] .idh-row{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .idh-row:hover{
    background: #faf8ff !important;
    border-color: #c9c2e8 !important;
}
html[data-theme="light"] .idh-thumb{
    background: #f3f3f7 !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .idh-qty-badge{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #17171c !important;
}
html[data-theme="light"] .idh-title{ color: #17171c !important; }
html[data-theme="light"] .idh-tag{
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
    color: #5b3d9e !important;
}
html[data-theme="light"] .idh-meta{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-meta i{ color: #9aa0a8 !important; }
html[data-theme="light"] .idh-ref{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-qty{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-empty{ color: #9aa0a8 !important; }
html[data-theme="light"] .idh-page-btn{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #6b6b76 !important;
}
html[data-theme="light"] .idh-page-btn:hover:not(:disabled){
    border-color: #8b5cf6 !important;
    color: #8b5cf6 !important;
}


.m-dock,
.m-dock *{ -webkit-tap-highlight-color: transparent; }
.m-dock-item:hover,
.m-dock-item:active,
.m-dock-item:focus,
.m-dock-item:focus-visible,
.m-dock-item:visited{
    color: #8b8b96 !important;
    outline: none !important;
    text-decoration: none !important;
}
.m-dock-item.m-dock-active:hover,
.m-dock-item.m-dock-active:active,
.m-dock-item.m-dock-active:focus,
.m-dock-item.m-dock-active:visited{
    color: var(--brand) !important;
}
.m-dock-logout:hover,
.m-dock-logout:active,
.m-dock-logout:focus{
    color: var(--brand-light) !important;
}
html[data-theme="light"] .m-dock-item:hover,
html[data-theme="light"] .m-dock-item:active,
html[data-theme="light"] .m-dock-item:focus,
html[data-theme="light"] .m-dock-item:visited{
    color: #6b6b76 !important;
}
html[data-theme="light"] .m-dock-item.m-dock-active:hover,
html[data-theme="light"] .m-dock-item.m-dock-active:active,
html[data-theme="light"] .m-dock-item.m-dock-active:focus{
    color: #8b5cf6 !important;
}


.site-nav .theme-toggle.d-lg-none{
    margin-left: auto;
}
@media (max-width: 991.98px){
    .site-nav .theme-toggle.d-lg-none{
        width: 38px;
        height: 38px;
    }
}


.nav-pill{ position: relative !important; }
.nav-pill.active::after{
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 70%;
    height: 3px;
    border-radius: 999px;
    background: var(--brand);
    box-shadow: 0 0 10px -1px rgba(var(--brand-rgb), .7);
}
html[data-theme="light"] .nav-pill.active::after{
    background: #8b5cf6;
}


.empty-box{
    padding: 14px;
    background: #16161c;
    border: 1px solid #26262e;
    border-radius: 16px;
    color: #9aa0a8;
    box-shadow: none;
}
html[data-theme="light"] .empty-box{
    background: #ffffff;
    border-color: #e2e2e8;
    color: #6b6b76;
}


html[data-theme="light"] .m-dock{
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(120, 110, 170, 0.25) !important;
    box-shadow: 0 14px 34px -12px rgba(60, 40, 120, 0.18) !important;
}
html[data-theme="light"] .m-dock-item{
    color: #6b6b76 !important;
}
html[data-theme="light"] .m-dock-item i{ color: #6b6b76 !important; }
html[data-theme="light"] .m-dock-item.m-dock-active,
html[data-theme="light"] .m-dock-item.m-dock-active i{
    color: #8b5cf6 !important;
}
html[data-theme="light"] .m-dock-indicator{
    background: #ddd0f5 !important;
}


html[data-theme="light"] .stock-detail-panel,
html[data-theme="light"] .stock-detail-img{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .stock-detail-panel h3{ color: #17171c !important; }
html[data-theme="light"] .stock-detail-panel .text-white-50,
html[data-theme="light"] .stock-detail-panel label.text-white-50{ color: #6b6b76 !important; }
html[data-theme="light"] .stock-detail-panel hr{ border-color: #e8e6f0 !important; }
html[data-theme="light"] .stock-detail-panel .form-check-label{ color: #3f3f46 !important; }


html[data-theme="light"] .stock-detail-img{
    background: #f3f3f7 !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .stock-detail-panel{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .stock-detail-panel h3{ color: #17171c !important; }
html[data-theme="light"] .stock-detail-panel .text-white-50,
html[data-theme="light"] .stock-detail-panel label.text-white-50{ color: #6b6b76 !important; }
html[data-theme="light"] .stock-detail-panel hr{ border-color: #e8e6f0 !important; }
html[data-theme="light"] .stock-detail-panel .form-check-label{ color: #3f3f46 !important; }
html[data-theme="light"] .stock-detail-panel input#qty{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #17171c !important;
}
html[data-theme="light"] .stock-detail-panel .text-muted{ color: #6b6b76 !important; }


html[data-theme="light"] .cat-section-title{ color: #17171c !important; }
html[data-theme="light"] .cat-section-label{ color: #6b6b76 !important; }
html[data-theme="light"] .cat-section-sub{ color: #6b6b76 !important; }
html[data-theme="light"] .cat-breadcrumb-current{ color: #3f3f46 !important; }


.ro-marquee{
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.ro-track{
    display: flex; gap: 12px; width: max-content;
    animation: ro-scroll 45s linear infinite;
    will-change: transform;
}
.ro-marquee:hover .ro-track{ animation-play-state: paused; }
@keyframes ro-scroll{
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.ro-card{
    flex: 0 0 auto; width: 300px;
    display: flex; align-items: center; gap: 14px;
    background: #16161c; border: 1px solid #26262e; border-radius: 14px;
    padding: 12px 14px; text-decoration: none;
    transition: border-color .15s, transform .15s, background .15s;
}
.ro-card:hover{ border-color: rgba(var(--brand-rgb), .5); transform: translateY(-1px); text-decoration: none; }
.ro-thumb{
    position: relative; flex: 0 0 64px; width: 64px; height: 64px; border-radius: 10px;
    overflow: hidden; background: #1b1c22; border: 1px solid #2a2a31;
}
.ro-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ro-qty-badge{
    position: absolute; top: -1px; right: -1px; min-width: 20px; height: 20px;
    padding: 0 5px; background: #101014; border: 1px solid #3a3a44; color: #fff;
    font-size: 11px; font-weight: 700; border-radius: 999px;
    display: flex; align-items: center; justify-content: center;
}
.ro-info{ flex: 1; min-width: 0; }
.ro-title{
    font-size: 14px; font-weight: 700; color: #f2f2f5; margin: 0 0 5px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    display: flex; align-items: center; gap: 8px;
}
.ro-badge{
    flex: 0 0 auto; background: rgba(34,197,94,.15); color: #4ade80;
    border: 1px solid rgba(34,197,94,.3); border-radius: 999px;
    font-size: 10.5px; font-weight: 600; padding: 1px 8px;
}
.ro-buyer{ font-size: 12px; color: #9aa0a8; margin: 0 0 5px; display: flex; align-items: center; gap: 5px; }
.ro-row{ display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 3px; }
.ro-price{ font-size: 15px; font-weight: 800; color: var(--brand); }
.ro-date{ font-size: 12px; color: #8b8b96; display: inline-flex; align-items: center; gap: 4px; }
.ro-qty{ font-size: 12px; color: #9aa0a8; margin: 0; display: flex; align-items: center; gap: 5px; }
@media (max-width: 575.98px){
    .ro-thumb{ flex-basis: 56px; width: 56px; height: 56px; }
    .ro-title{ font-size: 13px; }
    .ro-card{ width: 270px; }
    .ro-track{ animation-duration: 35s; }
}

html[data-theme="light"] .ro-card{ background: #ffffff; border-color: #e2e2e8; }
html[data-theme="light"] .ro-card:hover{ border-color: #c9c2e8; background: #faf8ff; }
html[data-theme="light"] .ro-thumb{ background: #f3f3f7; border-color: #e2e2e8; }
html[data-theme="light"] .ro-qty-badge{ background: #ffffff; border-color: #d9d9e2; color: #17171c; }
html[data-theme="light"] .ro-title{ color: #17171c; }
html[data-theme="light"] .ro-buyer{ color: #6b6b76; }
html[data-theme="light"] .ro-date{ color: #6b6b76; }
html[data-theme="light"] .ro-qty{ color: #6b6b76; }


.auth-main{
    background: radial-gradient(1200px 500px at 50% -10%, rgba(var(--brand-rgb), .12), transparent 60%),
                #0d0d0d;
}
.auth-card{
    width: 100%; max-width: 480px;
    background: rgba(20, 20, 26, 0.55);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    padding: 40px 38px 36px;
    box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .02);
    position: relative;
    overflow: hidden;
}

.auth-card::before{
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--brand), transparent);
}

.auth-logo{
    width: 58px; height: 58px; margin: 0 auto 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 26px;
    box-shadow: 0 12px 26px -10px rgba(var(--brand-rgb), .7);
}
.auth-head{ margin-bottom: 32px; text-align: center; }
.auth-head h3{
    color: #fff; font-size: 24px; font-weight: 800; margin: 0 0 8px;
    letter-spacing: .2px;
}
.auth-head p{ color: #9ca3af; font-size: 13.5px; margin: 0; }
.auth-field .form-label{
    color: #d7d7dd; font-size: 13px; font-weight: 600; margin-bottom: 10px;
}
.auth-field{ margin-bottom: 22px !important; }
.auth-row-field{ margin-bottom: 22px !important; }

.auth-field .form-control{
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 10px !important;
    color: #fff !important;
    padding: 13px 18px;
    font-size: 14px;
    transition: border-color .2s, box-shadow .2s;
}
.auth-field .form-control::placeholder{ color: rgba(255,255,255,.45) !important; }
.auth-field .form-control:focus{
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .22) !important;
    color: #fff !important;
}
.auth-pw .form-control{ padding-right: 48px; }
.auth-pw{ position: relative; }
.auth-pw .form-control{ padding-right: 44px; }
.auth-eye{
    position: absolute; top: 50%; right: 9px; transform: translateY(-50%);
    background: transparent; border: none; color: #8b8b96;
    padding: 7px 8px; cursor: pointer; transition: color .2s;
}
.auth-eye:hover{ color: var(--brand); }

.auth-btn{
    width: 100%;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    border: none; border-radius: 10px;
    color: #fff; font-size: 15px; font-weight: 700;
    padding: 13px; cursor: pointer; margin-top: 4px;
    box-shadow: 0 12px 26px -12px rgba(var(--brand-rgb), .65);
    transition: transform .18s, box-shadow .18s, filter .18s;
}
.auth-btn:hover{
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 16px 30px -12px rgba(var(--brand-rgb), .8);
}
.auth-btn:active{ transform: translateY(0); }
.auth-foot{
    color: #9ca3af; font-size: 13.5px; text-align: center; margin: 20px 0 0;
}
.auth-foot a{ color: var(--brand-light); font-weight: 700; text-decoration: none; }
.auth-foot a:hover{ text-decoration: underline; }

html[data-theme="light"] .auth-main{
    background: radial-gradient(1200px 500px at 50% -10%, rgba(var(--brand-rgb), .14), transparent 60%),
                #f0f0f2;
}
html[data-theme="light"] .auth-card{
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-color: rgba(0,0,0,.08);
    box-shadow: 0 24px 60px -24px rgba(90, 60, 180, .25), 0 0 0 1px rgba(0, 0, 0, .03);
}
html[data-theme="light"] .auth-card::before{ background: linear-gradient(90deg, transparent, var(--brand), transparent); }
html[data-theme="light"] .auth-head h3{ color: #17171c; }
html[data-theme="light"] .auth-head p{ color: #6b6b76; }
html[data-theme="light"] .auth-field .form-label{ color: #3f3f46; }
html[data-theme="light"] .auth-field .form-control{
    background: rgba(255, 255, 255, 0.7) !important;
    border-color: rgba(0,0,0,.12) !important;
    color: #17171c !important;
}
html[data-theme="light"] .auth-field .form-control::placeholder{ color: #9aa0a8 !important; }
html[data-theme="light"] .auth-eye{ color: #6b6b76; }
html[data-theme="light"] .auth-foot{ color: #6b6b76; }
html[data-theme="light"] .auth-foot a{ color: var(--brand-dark); }



.admin-main{
    background: radial-gradient(900px 320px at 50% -40px, rgba(var(--brand-rgb), .06), transparent 70%),
                #0b0b0e;
}
.admin-pagehead h2{ font-size: 21px; font-weight: 800; letter-spacing: .2px; }
.admin-pagehead .btn-success{
    border-radius: 999px; font-weight: 700; font-size: 13px;
    padding: 10px 18px;
}

.admin-toolbar .form-control,
.admin-toolbar .form-select{
    min-width: 230px; background: #14161c; border-color: #2a2e36;
    border-radius: 999px; padding: 9px 16px; font-size: 13px;
    transition: border-color .2s, box-shadow .2s;
}
.admin-toolbar .form-control:focus,
.admin-toolbar .form-select:focus{
    border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .18);
}
.admin-toolbar .toolbar-count{
    background: rgba(var(--brand-rgb), .1); border: 1px solid rgba(var(--brand-rgb), .25);
    color: var(--brand-light); padding: 5px 14px; border-radius: 999px; font-size: 12px; font-weight: 600;
}

.card-shop-admin,
.cat-id-card{
    background: linear-gradient(165deg, #191920 0%, #121216 100%);
    border: 1px solid #26262e;
    border-radius: 16px;
    box-shadow: 0 12px 26px -18px rgba(0,0,0,.7);
    transition: transform .22s, border-color .22s, box-shadow .22s;
}
.card-shop-admin:hover,
.cat-id-card:hover{
    transform: translateY(-4px);
    border-color: rgba(var(--brand-rgb), .55);
    box-shadow: 0 18px 34px -18px rgba(var(--brand-rgb), .45);
}

.card-shop-admin-img{
    aspect-ratio: 16/9; object-fit: cover; display: block;
    border-bottom: 1px solid #26262e;
    position: relative;
}
.card-shop-admin .vis-flag,
.cat-id-card .vis-flag{
    background: rgba(13,13,15,.82); border-color: #3a3a44;
    color: #f87171; font-size: 10px; letter-spacing: .4px;
    box-shadow: 0 6px 14px -6px rgba(0,0,0,.6);
    backdrop-filter: blur(6px);
}

.card-shop-admin-body{ padding: 13px 15px 15px; }
.card-shop-admin-body .fw-bold{ font-size: 14.5px !important; letter-spacing: .2px; }

.card-shop-admin .btn-outline-success,
.card-shop-admin .btn-outline-info,
.cat-id-card .btn-outline-info,
.cat-id-card .btn-outline-light{
    border-radius: 999px; font-size: 12px; font-weight: 600; padding: 6px 12px;
    transition: all .18s;
}
.card-shop-admin .btn-outline-success:hover,
.card-shop-admin .btn-outline-info:hover,
.cat-id-card .btn-outline-info:hover{
    border-color: var(--brand); color: var(--brand-light);
    background: rgba(var(--brand-rgb), .1);
}

.cat-id-img{
    border-radius: 12px; margin: 12px 12px 0; aspect-ratio: 2/1;
    box-shadow: 0 8px 18px -10px rgba(0,0,0,.6);
}
.cat-id-img img{ transition: transform .5s ease; }
.cat-id-card:hover .cat-id-img img{ transform: scale(1.05); }
.cat-id-img-overlay{ background: linear-gradient(0deg, rgba(5,5,8,.55) 0%, transparent 55%); }
.cat-id-img-text{
    font-size: 16px; font-weight: 800; letter-spacing: .3px;
    text-shadow: 0 2px 8px rgba(0,0,0,.7);
}
.cat-id-count{
    background: rgba(10,10,14,.75); backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,.12); font-size: 11px; font-weight: 700;
    padding: 3px 10px; border-radius: 999px;
}
.cat-id-body{ padding: 4px 14px 14px; }
.cat-id-ref{ background: #101216; border-color: #2a2e36; border-radius: 7px; font-size: 11px; }

.st-badge{ font-size: 11px; padding: 3px 10px; letter-spacing: .2px; }
.st-ok{ background: rgba(34,197,94,.16); color: #4ade80; border-color: rgba(34,197,94,.4); }
.st-warn{ background: rgba(245,158,11,.16); color: #fbbf24; border-color: rgba(245,158,11,.4); }
.st-bad{ background: rgba(239,68,68,.16); color: #f87171; border-color: rgba(239,68,68,.4); }
.st-blue{ background: rgba(59,130,246,.16); color: #60a5fa; border-color: rgba(59,130,246,.4); }
.st-muted{ background: rgba(156,163,175,.14); color: #9ca3af; border-color: rgba(156,163,175,.35); }

.vis-switch .slider{
    width: 42px; height: 23px; background: #3f3f46;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.4);
}
.vis-switch .slider::after{ width: 19px; height: 19px; }
.vis-switch input:checked + .slider::after{ transform: translateX(19px); }

.bulk-bar{
    border-radius: 14px; border-color: rgba(var(--brand-rgb), .3);
    background: linear-gradient(135deg, #1c1925, #16141c);
    box-shadow: 0 18px 34px -14px rgba(0,0,0,.8);
}

.tp-modal{
    border: 1px solid #2a2a32; box-shadow: 0 30px 70px -20px rgba(0,0,0,.85);
}

html[data-theme="light"] .admin-main{ background: #f2f2f5; }
html[data-theme="light"] .card-shop-admin,
html[data-theme="light"] .cat-id-card{
    background: #ffffff; border-color: #e2e2e8;
    box-shadow: 0 12px 26px -18px rgba(90,60,180,.2);
}
html[data-theme="light"] .card-shop-admin:hover,
html[data-theme="light"] .cat-id-card:hover{
    border-color: #c9b8f5; box-shadow: 0 18px 34px -18px rgba(139,92,246,.3);
}
html[data-theme="light"] .admin-toolbar .form-control,
html[data-theme="light"] .admin-toolbar .form-select{
    background: #ffffff; border-color: #d9d9e2; color: #17171c;
}
html[data-theme="light"] .admin-toolbar .form-control::placeholder{ color: #9aa0a8; }
html[data-theme="light"] .cat-id-ref{ background: #f3f3f7; border-color: #e2e2e8; color: #3f3f46; }


.tp-modal{
    background: linear-gradient(165deg, #1a1d26 0%, #13151c 100%);
    border: 1px solid #2b303c;
    border-radius: 18px;
    position: relative;
    overflow: hidden;
}

.tp-modal::before{
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--brand), transparent);
}
.tp-modal-head{ margin-bottom: 18px; }
.tp-modal-title{
    display: inline-flex; align-items: center; gap: 9px;
    color: #fff; font-weight: 800; font-size: 16.5px;
}
.tp-modal-title::before{
    content: '\f009';
    font-family: 'Font Awesome 6 Duotone', 'Font Awesome 5 Pro', 'Font Awesome 5 Free', 'Font Awesome 6 Free';
    font-weight: 900;
    width: 32px; height: 32px; border-radius: 10px;
    background: rgba(var(--brand-rgb), .16);
    border: 1px solid rgba(var(--brand-rgb), .35);
    color: var(--brand-light);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 14px;
}
.tp-modal-close{
    width: 30px; height: 30px; border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 18px; transition: all .15s;
}
.tp-modal-close:hover{ background: rgba(239,68,68,.15); color: #f87171; }

.tp-modal .form-label{
    color: #c9cdd6; font-size: 12.5px; font-weight: 600; margin-bottom: 7px;
}
.tp-modal .form-control{
    background: #0f1116; border: 1px solid #2a2f3a; color: #fff;
    border-radius: 10px; padding: 10px 14px; font-size: 13.5px;
    transition: border-color .2s, box-shadow .2s;
}
.tp-modal .form-control::placeholder{ color: #5c6472; }
.tp-modal .form-control:focus{
    border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .18);
    background: #0f1116; color: #fff;
}

.tp-modal .btn-file{
    background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%) !important;
    box-shadow: 0 6px 14px -6px rgba(34,197,94,.6) !important;
    border-radius: 999px;
}
.tp-modal .btn-file.dark{
    background: #1f1f1f !important; box-shadow: none !important;
    border: 1px solid #363636 !important;
}
.tp-modal .btn-file.dark:hover{ border-color: var(--brand); color: var(--brand); }

.tp-modal .btn-success{
    background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%) !important;
    border: none !important; border-radius: 12px !important;
    box-shadow: 0 10px 20px -8px rgba(34,197,94,.55) !important;
    font-weight: 700; padding: 11px;
    transition: transform .15s, filter .15s;
}
.tp-modal .btn-success:hover{ filter: brightness(1.08); transform: translateY(-1px); }

html[data-theme="light"] .tp-modal{ background: #ffffff; border-color: #e2e2e8; }
html[data-theme="light"] .tp-modal .form-control{
    background: #ffffff; border-color: #d9d9e2; color: #17171c;
}
html[data-theme="light"] .tp-modal .form-control::placeholder{ color: #9aa0a8; }
html[data-theme="light"] .tp-modal .form-label{ color: #3f3f46; }


.cat-type-head{
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 13px; font-weight: 800; letter-spacing: .3px;
    padding: 6px 14px; border-radius: 999px; color: #fff;
}
.cat-type-head.gp{ background: linear-gradient(135deg, #7c3aed, #5b21b6); box-shadow: 0 6px 14px -6px rgba(124,58,237,.6); }
.cat-type-head.id{ background: linear-gradient(135deg, #0891b2, #155e75); box-shadow: 0 6px 14px -6px rgba(8,145,178,.6); }
.cat-card{ position: relative; cursor: pointer; }
.cat-card .cat-select-mark{
    position: absolute; top: 10px; left: 10px; width: 24px; height: 24px;
    border-radius: 50%; background: rgba(0,0,0,.35); border: 2px solid rgba(255,255,255,.6);
    display: flex; align-items: center; justify-content: center;
    color: transparent; font-size: 11px; transition: all .15s;
}
.cat-card.is-selected{ border-color: #22c55e !important; box-shadow: 0 0 0 2px rgba(34,197,94,.35), 0 14px 30px -14px rgba(34,197,94,.5); }
.cat-card.is-selected .cat-select-mark{
    background: #22c55e; border-color: #22c55e; color: #fff;
    box-shadow: 0 0 0 4px rgba(34,197,94,.2);
}
.cat-card.is-off{ opacity: .55; }
.cat-card.is-off .cat-card-banner{ filter: grayscale(.7); }

.cat-type-chip{
    display: inline-block; vertical-align: 2px; margin-left: 5px;
    font-size: 10px; font-weight: 800; letter-spacing: .5px;
    color: #67e8f9; background: rgba(8,145,178,.18);
    border: 1px solid rgba(8,145,178,.5);
    padding: 2px 8px; border-radius: 999px;
}

[data-theme="light"] .cat-type-chip{ color: #0e7490; background: rgba(8,145,178,.1); }


.announce-tag-mini{
    display: inline-flex; align-items: center; gap: 7px;
    background: linear-gradient(120deg, #ffb3c9 0%, #ff6999 55%, #ff4d8d 100%);
    color: #3a0d1d; font-size: 12.5px; font-weight: 800; letter-spacing: .3px;
    padding: 6px 14px; border-radius: 999px; white-space: nowrap;
    box-shadow: 0 5px 14px -8px rgba(255,105,153,.8);
}


.app-toast.loading .app-toast-icon{ background: #6b7280; box-shadow: 0 0 0 4px rgba(107,114,128,0.18); }
.app-toast.loading .app-toast-icon i{ animation: appToastSpin 0.9s linear infinite; }
@keyframes appToastSpin{ to{ transform: rotate(360deg); } }


.pm-btn.pm-btn-disabled,
.pm-btn-disabled{
    background: #262626 !important;
    color: #6b7280 !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}
.pm-btn.pm-btn-disabled:hover,
.pm-btn-disabled:hover{
    background: #262626 !important;
    color: #6b7280 !important;
    box-shadow: none !important;
}



.bi-drag{
    align-self: stretch; display: flex; align-items: center;
    color: #4b4f57; cursor: grab; font-size: 16px; padding: 0 2px;
    border-radius: 8px; transition: color 0.15s, background 0.15s; flex: 0 0 auto;
}
.bi-drag:hover{ color: var(--brand); background: #1a1d24; }
.banner-item:active .bi-drag, .banner-item.dragging .bi-drag{ cursor: grabbing; }

.banner-item.dragging{ opacity: 0.45; transform: scale(0.985); }
.banner-item.drag-over{ border-color: var(--brand) !important; box-shadow: 0 0 0 3px rgba(var(--brand-rgb), 0.12); }

.bi-thumb-wrap{ position: relative; flex: 0 0 auto; }
.banner-item .bi-thumb{ display: block; }
.bi-img-edit{
    position: absolute; right: 6px; bottom: 6px; width: 30px; height: 30px;
    border-radius: 9px; border: none; cursor: pointer; color: #fff;
    background: rgba(0,0,0,0.65); backdrop-filter: blur(4px);
    display: inline-flex; align-items: center; justify-content: center; font-size: 12px;
    opacity: 0; transition: opacity 0.15s, transform 0.15s;
}
.bi-thumb-wrap:hover .bi-img-edit{ opacity: 1; }
.bi-img-edit:hover{ background: var(--brand); transform: scale(1.08); }
.bi-img-new{
    position: absolute; left: 6px; top: 6px; font-size: 10px; font-weight: 700;
    background: var(--brand); color: #06251a; padding: 2px 7px; border-radius: 6px;
}
@media (max-width: 575px){
    .bi-img-edit{ opacity: 1; }
    .bi-drag{ padding: 0 6px; }
}


html[data-theme="light"] .cat-id-body .fw-bold,
html[data-theme="light"] .cat-id-body p.fw-bold{
    color: #17171c !important;
}
html[data-theme="light"] .cat-id-body .text-muted,
html[data-theme="light"] .cat-id-body p.text-muted{
    color: #6b6b76 !important;
}
html[data-theme="light"] .cat-id-card .btn-outline-light{
    color: #3f3f46 !important;
    border-color: #d4d4dc !important;
}
html[data-theme="light"] .cat-id-card .btn-outline-light:hover{
    background: #f3f3f7 !important;
    color: #17171c !important;
}
html[data-theme="light"] .cat-id-card .btn-outline-info{
    color: #7c3aed !important;
    border-color: #d8cdf5 !important;
    background: rgba(124,58,237,.06) !important;
}
html[data-theme="light"] .cat-id-card .btn-outline-danger{
    color: #dc2626 !important;
    border-color: #f5c6c6 !important;
    background: rgba(220,38,38,.05) !important;
}
html[data-theme="light"] .cat-id-card .btn-outline-danger:hover{
    background: rgba(220,38,38,.1) !important;
    color: #b91c1c !important;
}
html[data-theme="light"] .cat-id-status.on{ color: #16a34a; background: rgba(34,197,94,.12); }
html[data-theme="light"] .cat-id-status.off{ color: #6b7280; background: rgba(107,114,128,.12); }


html[data-theme="light"] .idh-search input,
html[data-theme="light"] .idh-select{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #17171c !important;
}
html[data-theme="light"] .idh-search input::placeholder{ color: #9aa0a8 !important; }
html[data-theme="light"] .idh-search i{ color: #8b8b96 !important; }
html[data-theme="light"] .idh-export{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #3f3f46 !important;
}
html[data-theme="light"] .idh-export:hover{
    border-color: #c9b8f5 !important;
    color: #7c3aed !important;
}
html[data-theme="light"] .idh-count{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-row{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .idh-row:hover{
    background: #faf8ff !important;
    border-color: #c9b8f5 !important;
}
html[data-theme="light"] .idh-thumb{
    background: #f3f3f7 !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .idh-qty-badge{
    background: #ffffff !important;
    border-color: #d4d4dc !important;
    color: #17171c !important;
}
html[data-theme="light"] .idh-title{ color: #17171c !important; }
html[data-theme="light"] .idh-meta{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-meta i{ color: #8b8b96 !important; }
html[data-theme="light"] .idh-ref{ color: #4c1d95 !important; }
html[data-theme="light"] .idh-qty{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-tag{
    color: #4c1d95 !important;
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
}
html[data-theme="light"] .idh-empty{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-page-btn{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #6b6b76 !important;
}
html[data-theme="light"] .idh-page-btn.active{
    background: linear-gradient(120deg, #7c3aed, #6d28d9) !important;
    border-color: transparent !important;
    color: #fff !important;
}
html[data-theme="light"] .idh-page-btn:hover:not(:disabled){
    border-color: #c9b8f5 !important;
    color: #7c3aed !important;
}

html[data-theme="light"] .idh-summary{ background: #ffffff; }
html[data-theme="light"] .idh-metric-label{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-metric-value{ color: #17171c !important; }
html[data-theme="light"] .idh-btn{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #3f3f46 !important;
}
html[data-theme="light"] .idh-btn:hover{
    border-color: #c9b8f5 !important;
    color: #7c3aed !important;
}
html[data-theme="light"] .idh-cred{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .idh-cred:hover{ border-color: #c9b8f5 !important; }
html[data-theme="light"] .idh-cred-user{ color: #17171c !important; }
html[data-theme="light"] .idh-cred-sep{ color: #6b6b76 !important; }
html[data-theme="light"] .idh-cred-pass{ color: #52525b !important; }
html[data-theme="light"] .idh-icon-btn{
    background: #f3f3f7 !important;
    border-color: #e2e2e8 !important;
    color: #6b6b76 !important;
}
html[data-theme="light"] .idh-icon-btn:hover{
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
    color: #7c3aed !important;
}
html[data-theme="light"] .idh-cred-more{
    background: #f3f3f7 !important;
    border-color: #e2e2e8 !important;
    color: #6b6b76 !important;
}
html[data-theme="light"] .idh-cred-more:hover{
    border-color: #c9b8f5 !important;
    color: #7c3aed !important;
}
html[data-theme="light"] .idh-back{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #3f3f46 !important;
}
html[data-theme="light"] .idh-back:hover{
    border-color: #c9b8f5 !important;
    color: #7c3aed !important;
}
html[data-theme="light"] .idh-top{ border-color: #e8e6f0 !important; }


html[data-theme="light"] .idh-metric{
    background: #f7f7fa !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .idh-metric.total{
    background: #f3eefe !important;
    border-color: #ddd0f5 !important;
}
html[data-theme="light"] .idh-metric.total .idh-metric-value{ color: #7c3aed !important; }
html[data-theme="light"] .idh-num{
    background: #ffffff !important;
    border-color: #d4d4dc !important;
    color: #3f3f46 !important;
}


.cat-drag{
    position: absolute; top: 8px; right: 8px; z-index: 5;
    width: 30px; height: 30px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(10,10,14,.55); border: 1px solid rgba(255,255,255,.12);
    color: #9aa0a8; font-size: 14px; cursor: grab;
    transition: color .15s, background .15s, border-color .15s;
    backdrop-filter: blur(4px);
}
.cat-drag:hover{ color: var(--brand); border-color: rgba(var(--brand-rgb), .5); background: rgba(10,10,14,.75); }
.cat-card:active .cat-drag, .cat-card.dragging .cat-drag{ cursor: grabbing; }
.cat-card.dragging{ opacity: .45; transform: scale(.985); }
.cat-card.drag-over{ border-color: var(--brand) !important; box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .14), 0 14px 30px -14px rgba(var(--brand-rgb), .5) !important; }
html[data-theme="light"] .cat-drag{
    background: rgba(255,255,255,.8); border-color: #d4d4dc; color: #6b6b76;
}
html[data-theme="light"] .cat-drag:hover{ color: #7c3aed; border-color: #c9b8f5; }

@media (max-width: 575px){
    .cat-drag{ width: 34px; height: 34px; font-size: 15px; }
}


.allh-stats{
    grid-template-columns: repeat(4, 1fr);
}
.allh-tabs{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0 16px;
}
.allh-tab{
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #a3a3ad;
    background: #141419;
    border: 1px solid #26262e;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.allh-tab:hover{
    color: #fff;
    border-color: rgba(var(--brand-rgb), 0.4);
}
.allh-tab.active{
    color: #fff;
    background: var(--brand);
    border-color: var(--brand);
}
.allh-row{
    cursor: default;
    align-items: center;
}
.allh-ico{
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.allh-ico-topup{ background: rgba(74, 222, 128, 0.14); color: #4ade80; }
.allh-ico-order{ background: rgba(129, 140, 248, 0.14); color: #818cf8; }
.allh-ico-id{ background: rgba(251, 191, 36, 0.14); color: #fbbf24; }
.allh-ico-register{ background: rgba(103, 232, 249, 0.14); color: #67e8f9; }
.allh-info{ flex: 1; min-width: 0; }
.allh-status{
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    padding: 2px 9px;
    margin-left: 6px;
    vertical-align: middle;
}
.allh-status-ok{ background: rgba(74, 222, 128, 0.14); color: #4ade80; }
.allh-status-bad{ background: rgba(248, 113, 113, 0.14); color: #f87171; }
.allh-status-wait{ background: rgba(251, 191, 36, 0.14); color: #fbbf24; }
.allh-qty{
    position: static;
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
    min-width: 0;
    padding: 2px 8px;
    height: auto;
    border-radius: 999px;
}
.allh-type{
    font-size: 12px;
    color: #8a8a94;
    margin: 0;
}
.allh-amt-box{
    flex: 0 0 auto;
    text-align: right;
    padding-left: 10px;
}
.allh-amt{
    font-size: 16px;
    font-weight: 800;
    margin: 0;
    white-space: nowrap;
}
.allh-amt-in{ color: #4ade80; }
.allh-amt-out{ color: #f87171; }
.allh-amt-none{ color: #8a8a94; }
@media (max-width: 900px){
    .allh-stats{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
    .allh-amt-box{ display: none; }
}

html[data-theme="light"] .allh-tab{
    color: #5b5b66;
    background: #f4f4f7;
    border-color: #e2e2e8;
}
html[data-theme="light"] .allh-tab:hover{
    color: #17171c;
    border-color: rgba(var(--brand-rgb), 0.4);
}
html[data-theme="light"] .allh-tab.active{
    color: #fff;
    background: var(--brand);
    border-color: var(--brand);
}
html[data-theme="light"] .allh-row{
    background: #ffffff;
    border-color: #e6e6ec;
}
html[data-theme="light"] .allh-row:hover{
    background: #fafafe;
    border-color: rgba(var(--brand-rgb), 0.35);
}
html[data-theme="light"] .allh-ico-topup{ background: rgba(34, 197, 94, 0.12); color: #16a34a; }
html[data-theme="light"] .allh-ico-order{ background: rgba(99, 102, 241, 0.12); color: #6366f1; }
html[data-theme="light"] .allh-ico-id{ background: rgba(217, 119, 6, 0.12); color: #d97706; }
html[data-theme="light"] .allh-ico-register{ background: rgba(6, 182, 212, 0.12); color: #0891b2; }
html[data-theme="light"] .allh-status-ok{ background: rgba(34, 197, 94, 0.12); color: #16a34a; }
html[data-theme="light"] .allh-status-bad{ background: rgba(239, 68, 68, 0.12); color: #dc2626; }
html[data-theme="light"] .allh-status-wait{ background: rgba(217, 119, 6, 0.12); color: #d97706; }
html[data-theme="light"] .allh-amt-in{ color: #16a34a; }
html[data-theme="light"] .allh-amt-out{ color: #dc2626; }
html[data-theme="light"] .allh-amt-none{ color: #8a8a94; }


.cat-card{ cursor: grab; user-select: none; -webkit-user-select: none; }
.cat-card:active{ cursor: grabbing; }
.cat-card .cat-drag{ cursor: grab; }
html[data-theme="light"] .cat-card{ cursor: grab; }


.app-popup-overlay{
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    opacity: 0; visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}
.app-popup-overlay.show{ opacity: 1; visibility: visible; }
.app-popup{
    position: relative;
    width: min(560px, 94%);
    max-height: 92vh;
    background: #17171c;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 16px;
    box-shadow: 0 24px 80px rgba(0,0,0,.55);
    overflow: hidden;
    display: flex; flex-direction: column;
    animation: appPopupIn .3s ease;
}
@keyframes appPopupIn{
    from{ opacity: 0; transform: translateY(14px) scale(.97); }
    to{ opacity: 1; transform: translateY(0) scale(1); }
}
.app-popup-close{
    position: absolute; top: 14px; right: 14px; z-index: 5;
    width: 36px; height: 36px;
    border: none; border-radius: 50%;
    background: rgba(255,255,255,.95); color: #222;
    font-size: 14px; line-height: 1;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,.3);
    transition: transform .15s ease, background .15s ease;
}
.app-popup-close:hover{ transform: scale(1.08); background: #fff; }
.app-popup-media{ position: relative; background: #101014; }
.app-popup-media img{
    display: block; width: 100%; max-height: 60vh;
    object-fit: cover;
}
.app-popup-title{
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 40px 20px 16px;
    font-weight: 700; font-size: 19px;
    color: #fff;
    background: linear-gradient(to top, rgba(0,0,0,.85), transparent);
}
.app-popup-body{
    padding: 16px 20px 18px;
    display: flex; flex-direction: column; gap: 13px;
}
.app-popup-text{
    font-size: 14px; line-height: 1.65; color: #d4d4d8;
    white-space: pre-line;
}
.app-popup-cta{
    width: 100%;
    padding: 13px 18px;
    border: none; border-radius: 10px;
    font-weight: 600; font-size: 15px;
    color: #fff;
    background: var(--brand, #8b5cf6);
    cursor: pointer;
    transition: filter .15s ease, transform .15s ease;
}
.app-popup-cta:hover{ filter: brightness(1.1); transform: translateY(-1px); }
.app-popup-skip{
    width: 100%;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    color: #9ca3af;
    font-size: 12.5px; font-weight: 500;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.app-popup-skip:hover{ background: rgba(255,255,255,.1); color: #e5e5e5; }
html[data-theme="light"] .app-popup{ background: #ffffff; border-color: rgba(0,0,0,.08); }
html[data-theme="light"] .app-popup-media{ background: #f4f4f6; }
html[data-theme="light"] .app-popup-text{ color: #3f3f46; }
html[data-theme="light"] .app-popup-skip{ background: #f4f4f5; color: #6b7280; border-color: #e5e7eb; }
html[data-theme="light"] .app-popup-skip:hover{ background: #ececee; color: #374151; }


.ref-card{ cursor: pointer; }


.crumb-current{ color: #9aa0a8; }
html[data-theme="light"] .crumb-current{ color: #6b6b76; }


.rec-card{ display: block; }
.rec-card .category-banner-text .cat-main{
    display: block;
    text-shadow: 0 2px 8px rgba(0,0,0,.6);
}


.buy-confirm-overlay{
    position: fixed; inset: 0; z-index: 9998;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    opacity: 0; visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}
.buy-confirm-overlay.show{ opacity: 1; visibility: visible; }
.buy-confirm{
    width: min(560px, 100%);
    max-height: 92vh; overflow: auto;
    background: #17171c;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(0,0,0,.55);
    animation: appPopupIn .3s ease;
}
.buy-confirm-head{
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 18px 13px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}
.buy-confirm-title{
    margin: 0; color: #fff; font-size: 16px; font-weight: 700;
    display: flex; align-items: center; gap: 9px;
}
.buy-confirm-title i{ color: var(--brand, #8b5cf6); }
.buy-confirm-x{
    width: 32px; height: 32px; border: none; border-radius: 50%;
    background: rgba(255,255,255,.1); color: #d4d4d8;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: 13px;
    transition: background .15s ease;
}
.buy-confirm-x:hover{ background: rgba(255,255,255,.2); }
.buy-confirm-body{
    display: flex; gap: 16px; padding: 18px;
}
.buy-confirm-thumb{
    flex: 0 0 148px; width: 148px; height: 148px;
    border-radius: 14px; overflow: hidden;
    background: linear-gradient(135deg, #4c1d95, #8b5cf6);
    display: flex; align-items: center; justify-content: center;
}
.buy-confirm-thumb img{ width: 100%; height: 100%; object-fit: cover; }
.buy-confirm-info{ flex: 1; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.bc-name{ margin: 0; color: #fff; font-size: 18px; font-weight: 700; line-height: 1.3; }
.bc-sub{ margin: 0; color: #9aa0a8; font-size: 13px; }
.bc-qty{ margin: 0; color: #d4d4d8; font-size: 13px; }
.buy-confirm-btn{
    margin-top: auto;
    padding: 12px 16px;
    border: none; border-radius: 11px;
    background: var(--brand, #8b5cf6);
    color: #fff; font-weight: 700; font-size: 14.5px;
    cursor: pointer; width: 100%;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: filter .15s ease, transform .15s ease;
}
.buy-confirm-btn:hover{ filter: brightness(1.1); transform: translateY(-1px); }
.buy-confirm-foot{
    display: flex; flex-direction: column; gap: 8px;
    padding: 0 18px 16px;
}
.bc-total{ color: #fff; font-size: 15px; text-align: center; }
.bc-total b{ color: var(--brand, #8b5cf6); font-size: 18px; }
.bc-warn{
    text-align: center;
    color: #f87171; font-size: 12.5px; font-weight: 500;
    background: rgba(239,68,68,.1);
    border: 1px solid rgba(239,68,68,.25);
    border-radius: 9px;
    padding: 8px 10px;
}
html[data-theme="light"] .buy-confirm{ background: #ffffff; border-color: rgba(0,0,0,.08); }
html[data-theme="light"] .buy-confirm-head{ border-bottom-color: rgba(0,0,0,.06); }
html[data-theme="light"] .buy-confirm-title{ color: #17171c; }
html[data-theme="light"] .buy-confirm-x{ background: #f0eef6; color: #4b5563; }
html[data-theme="light"] .buy-confirm-x:hover{ background: #e4e1ef; }
html[data-theme="light"] .bc-name{ color: #17171c; }
html[data-theme="light"] .bc-sub{ color: #6b6b76; }
html[data-theme="light"] .bc-qty{ color: #3f3f46; }
html[data-theme="light"] .bc-total{ color: #17171c; }




.nav-capsule{
    flex: 1 1 0 !important;
    display: flex;
    justify-content: center;
}
.nav-capsule-list{
    display: flex;
    align-items: center;
    gap: 2px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    padding: 4px 6px;
    margin: 0;
    flex: 0 0 auto !important;
    justify-content: center !important;
}

.site-nav .nav-capsule .nav-capsule-list{
    flex: 0 0 auto !important;
    justify-content: center !important;
}
.site-nav .nav-capsule .nav-capsule-list .nav-pill{
    flex: 0 0 auto !important;
}
.nav-capsule .nav-pill{
    border-radius: 999px !important;
    padding: 8px 18px !important;
    margin: 0 !important;
    color: #c9c9d2 !important;
    font-size: 13.5px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.nav-capsule .nav-pill:hover{
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    transform: none !important;
}
.nav-capsule .nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-light)) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px -6px rgba(var(--brand-rgb), .6) !important;
}
html[data-theme="light"] .nav-capsule-list{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
    box-shadow: 0 2px 10px -6px rgba(23,23,28,.18);
}
html[data-theme="light"] .nav-capsule .nav-pill{ color: #6b6b76 !important; }
html[data-theme="light"] .nav-capsule .nav-pill:hover{ background: #f3f3f7 !important; color: #17171c !important; }
html[data-theme="light"] .nav-capsule .nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-light)) !important;
    color: #fff !important;
}
@media (max-width: 991.98px){
    .nav-capsule{ flex: 0 0 100% !important; justify-content: flex-start; padding: 6px 0; }
    .nav-capsule-list{ width: 100%; flex-wrap: wrap; border-radius: 14px; gap: 4px; }
    .nav-capsule .nav-pill{ flex: 1 1 auto; justify-content: center; text-align: center; padding: 8px 10px; font-size: 13px; }
}


.fs-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid #33333c;
    background: #1d1d24;
    color: #e8e8ee;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
}
.fs-toggle:hover{
    border-color: rgba(var(--brand-rgb), .6);
    color: var(--brand-light);
}
html[data-theme="light"] .fs-toggle{
    background: #ffffff;
    border-color: #e2e2e8;
    color: #3f3f46;
}
html[data-theme="light"] .fs-toggle:hover{
    border-color: rgba(var(--brand-rgb), .5);
    color: var(--brand);
}


.hb-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(8,8,12,.55);
    color: #fff;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 6;
    transition: background .2s, border-color .2s, transform .2s;
}
.hb-arrow:hover{
    background: rgba(var(--brand-rgb), .85);
    border-color: transparent;
}
.hb-prev{ left: 14px; }
.hb-next{ right: 14px; }
.hb-dots{
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 5;
}
.hb-dots .hb-dot{
    position: static;
    margin: 0;
}
@media (max-width: 575.98px){
    .hb-arrow{ width: 34px; height: 34px; font-size: 13px; }
    .hb-prev{ left: 10px; }
    .hb-next{ right: 10px; }
}


.ro-card{
    flex: 0 0 auto;
    width: 300px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #14141a;
    border: 1px solid rgba(var(--brand-rgb), .18);
    border-radius: 14px;
    padding: 12px 14px;
    text-decoration: none;
    transition: border-color .15s, transform .15s, background .15s;
}
.ro-card:hover{
    border-color: rgba(var(--brand-rgb), .55);
    transform: translateY(-2px);
    text-decoration: none;
}
.ro-top{
    display: flex;
    align-items: center;
    gap: 8px;
}
.ro-avatar{
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    color: #fff;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ro-user{
    flex: 1;
    min-width: 0;
    color: #f2f2f5;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ro-thumb{
    position: relative;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    overflow: hidden;
    background: #1b1c22;
    border: 1px solid #2a2a31;
}
.ro-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ro-qty-badge{
    position: absolute;
    top: -1px;
    right: -1px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    background: var(--brand);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ro-name{
    font-size: 13.5px;
    font-weight: 600;
    color: #d6d6de;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ro-name i{ color: var(--brand); font-size: 12px; }
.ro-bottom{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.ro-date{
    font-size: 12px;
    color: #8b8b96;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.ro-price{
    font-size: 15px;
    font-weight: 800;
    color: var(--brand);
}
html[data-theme="light"] .ro-card{ background: #ffffff; border-color: rgba(var(--brand-rgb), .25); }
html[data-theme="light"] .ro-card:hover{ border-color: var(--brand); background: #faf8ff; }
html[data-theme="light"] .ro-user{ color: #17171c; }
html[data-theme="light"] .ro-name{ color: #55555e; }
html[data-theme="light"] .ro-date{ color: #6b6b76; }


.qm-card{
    position: relative;
    display: block;
    border-radius: 14px;
    min-height: 150px;
    aspect-ratio: 2 / 1;
    overflow: hidden;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.08);
    background: #17171d;
    box-shadow: none;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.qm-card:hover{
    transform: translateY(-4px);
    text-decoration: none;
    border-color: rgba(var(--brand-rgb), .55);
    box-shadow: none;
}
.qm-img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.qm-card:hover .qm-img{ transform: scale(1.05); }
html[data-theme="light"] .qm-card{ background: #ffffff; border-color: rgba(var(--brand-rgb), .3); }
html[data-theme="light"] .qm-card:hover{ background: #ffffff; border-color: var(--brand); }
@media (max-width: 575.98px){
    .qm-card{ min-height: 90px; aspect-ratio: 2 / 1; border-radius: 10px; }
}


html[data-theme="light"] .stat-item{ background: #ffffff; border-color: #e2e2e8; }
html[data-theme="light"] .stat-item-value{ color: #ff5a5a; }
html[data-theme="light"] .stat-item-unit{ color: #3f3f46; }
html[data-theme="light"] .stat-item-wm{ color: rgba(var(--brand-rgb), .12); }


.theme-toggle{ border-color: #33333c; }




.site-nav > .container{
    max-width: 1440px !important;
}
@media (min-width: 1400px){
    .site-nav > .container{
        max-width: 1500px !important;
    }
}


html, body{
    background-color: #0d0d0f !important;
}
main{
    background-color: #0d0d0f;
}
.announce-bar{
    background: linear-gradient(90deg, #17171c 0%, #1f1f26 100%);
}
html[data-theme="light"],
html[data-theme="light"] body,
html[data-theme="light"] main{
    background-color: #f7f7f8 !important;
}
html[data-theme="light"] .announce-bar{
    background: #ffffff;
    border: 1px solid #e4e4ea;
}


.theme-toggle{
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #23232c;
    border: 1px solid #33333e;
    color: #dcdce4;
}
.theme-toggle .theme-ico-dark,
.theme-toggle .theme-ico-light{
    position: static;
    transform: none;
    left: auto;
    right: auto;
    top: auto;
    font-size: 17px;
    margin: 0;
}
.theme-toggle .theme-ico-dark{ display: inline-block; color: #c9b8f5; z-index: 1; }
.theme-toggle .theme-ico-light{ display: none; }
html[data-theme="light"] .theme-toggle{
    background: #ffffff;
    border: 1px solid #e2e2ea;
    color: #6b6b78;
}
html[data-theme="light"] .theme-toggle .theme-ico-dark{ display: none; }
html[data-theme="light"] .theme-toggle .theme-ico-light{
    display: inline-block;
    color: #5a5a66;
}
.theme-toggle:hover{
    border-color: rgba(var(--brand-rgb), .55);
    box-shadow: 0 0 12px -3px rgba(var(--brand-rgb), .5);
}


.nav-capsule .nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-light)) !important;
    box-shadow: 0 6px 14px -6px rgba(var(--brand-rgb), .6) !important;
}
html[data-theme="light"] .nav-capsule .nav-pill.active{
    background: linear-gradient(120deg, var(--brand), var(--brand-light)) !important;
}


.stat-item-label{
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .2px;
}
.stat-item-value{
    font-size: 44px;
    font-weight: 800;
    color: #ff6b6b;
}
.stat-item-unit{
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}
.stat-item-wm{
    color: #4a2f32;
}
html[data-theme="light"] .stat-item-label{ color: #6b6b76; }
html[data-theme="light"] .stat-item-value{ color: #ff5a5a; }
html[data-theme="light"] .stat-item-unit{ color: #3f3f46; }
html[data-theme="light"] .stat-item-wm{ color: rgba(74, 47, 50, .18); }
@media (max-width: 575.98px){
    .stat-item-value{ font-size: 32px; }
    .stat-item-label{ font-size: 15.5px; }
}


.site-nav{
    background: rgba(13, 13, 15, 0.94) !important;
}
html[data-theme="light"] .site-nav{
    background-color: #f7f7f8 !important;
}

.site-nav .nav-capsule .nav-capsule-list{
    flex: 0 0 auto !important;
    justify-content: center !important;
    width: auto !important;
}
.site-nav .nav-capsule .nav-capsule-list .nav-pill{
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 8px 18px !important;
}
@media (max-width: 991.98px){
    .site-nav .nav-capsule{
        flex: 0 0 100% !important;
        justify-content: flex-start !important;
        padding: 6px 0;
    }
    .site-nav .nav-capsule .nav-capsule-list{
        width: 100% !important;
        flex-wrap: wrap;
        border-radius: 14px;
    }
    .site-nav .nav-capsule .nav-capsule-list .nav-pill{
        flex: 1 1 auto !important;
        justify-content: center;
        text-align: center;
        padding: 8px 10px !important;
    }
}


.qm-empty{
    display: none;
}
@media (max-width: 575.98px){
    .qm-empty{ font-size: 30px; }
}


.qm-card::before{ display: none; }
.qm-card::after{ display: none; }
.qm-card:hover::before{ display: none; }
html[data-theme="light"] .qm-card::before{ display: none; }
html[data-theme="light"] .qm-card::after{ display: none; }


.nav-capsule-list{
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: rgba(255,255,255,.05) !important;
    padding: 5px 7px !important;
}
html[data-theme="light"] .nav-capsule-list{
    border: none !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px -6px rgba(23,23,28,.18);
}
.site-nav .nav-capsule .nav-capsule-list .nav-pill{
    margin: 0 3px !important;
}


.nav-capsule-list{
    gap: 0px !important;
    padding: 4px 5px !important;
}
.site-nav .nav-capsule .nav-capsule-list .nav-pill{
    margin: 0 !important;
    padding: 7px 14px !important;
}


.nav-capsule-list .nav-item{
    margin: 0 !important;
}


.site-nav .nav-capsule .nav-capsule-list > .nav-item:first-child{
    margin-right: 0 !important;
}


.site-nav .nav-capsule .nav-pill::after,
.site-nav .nav-capsule .nav-pill.active::after{
    content: none !important;
    display: none !important;
}


.stat-item-value{
    color: var(--brand) !important;
}
.stat-item-wm{
    color: rgba(var(--brand-rgb), .55) !important;
}
html[data-theme="light"] .stat-item-value{
    color: #7c3aed !important;
}
html[data-theme="light"] .stat-item-wm{
    color: rgba(139, 92, 246, .3) !important;
}


.idb-head{
    padding: 14px 4px 2px !important;
}


.ro-track{ align-items: stretch; }
.ro-card{
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    width: 300px !important;
    min-height: 88px;
    background: #16161c !important;
    border: 1px solid #26262e !important;
    border-radius: 14px !important;
    padding: 12px 14px !important;
}
.ro-card .ro-thumb{
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 10px !important;
    border: 1px solid #2a2a31 !important;
}
.ro-card .ro-qty-badge{
    top: -1px !important;
    right: -1px !important;
    min-width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
    background: var(--brand) !important;
    color: #fff !important;
}
.ro-card .ro-info{
    flex: 1 !important;
    min-width: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ro-card .ro-title{
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #f2f2f5 !important;
    margin: 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ro-card .ro-badge{
    flex: 0 0 auto;
    background: rgba(34,197,94,.15) !important;
    color: #4ade80 !important;
    border: 1px solid rgba(34,197,94,.3) !important;
    border-radius: 999px;
    font-size: 10px !important;
    font-weight: 600;
    padding: 1px 7px;
}
.ro-card .ro-buyer{
    font-size: 12px !important;
    color: #9aa0a8 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ro-card .ro-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}
.ro-card .ro-qty{
    font-size: 11.5px !important;
    color: #9aa0a8 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}
.ro-card .ro-date{
    font-size: 11.5px !important;
    color: var(--brand) !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

html[data-theme="light"] .ro-card{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
}
html[data-theme="light"] .ro-card .ro-thumb{ border-color: #e2e2e8 !important; }
html[data-theme="light"] .ro-card .ro-title{ color: #17171c !important; }
html[data-theme="light"] .ro-card .ro-buyer{ color: #6b6b76 !important; }
html[data-theme="light"] .ro-card .ro-qty{ color: #6b6b76 !important; }
@media (max-width: 575.98px){
    .ro-card{
        width: 268px !important;
        min-height: 84px;
        padding: 10px 12px !important;
        gap: 12px !important;
    }
    .ro-card .ro-thumb{
        flex-basis: 58px !important;
        width: 58px !important;
        height: 58px !important;
    }
    .ro-card .ro-title{ font-size: 12.5px !important; }
}


.buy-confirm-title{
    font-size: 16.5px !important;
}
.buy-confirm-title i{ display: none !important; }
.buy-confirm-btn i{ display: none !important; }
.bc-warn i{ display: none !important; }
.buy-confirm-action{
    padding: 0 18px;
}
.buy-confirm-action .buy-confirm-btn{
    margin-top: 0 !important;
    width: 100% !important;
    padding: 13px 16px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
}
.bc-warn{
    color: #fca5a5 !important;
    background: rgba(127, 29, 29, .18) !important;
    border: 1px solid rgba(248, 113, 113, .35) !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    font-size: 12.5px !important;
}
html[data-theme="light"] .bc-warn{
    color: #b91c1c !important;
    background: #fef2f2 !important;
    border-color: #fecaca !important;
}


.idb-banner{
    aspect-ratio: auto !important;
    min-height: 260px !important;
}
@media (max-width: 575px){
    .idb-banner{ min-height: 210px !important; }
}


.idb-head{
    padding: 14px 6px 4px !important;
}
.idb-name{ font-size: 15.5px !important; }
.idb-sub{ font-size: 12px !important; }
.category-head{
    padding: 14px 16px 12px !important;
}
.cat-head-txt h5{ font-size: 14.5px !important; }
.cat-sub{ font-size: 11px !important; }

.idb-click-tag, .idb-click-block, .cat-more, .click-tab{
    display: none !important;
}


.idb-head{
    padding: 16px 16px 14px !important;
}
.category-head{
    padding: 14px 18px 14px !important;
}


.bi-thumb-wrap .bi-thumb{
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    padding: 6px !important;
    background: #0c0c10;
}


html[data-theme="light"] .category-banner{
    background: linear-gradient(115deg, #7c3aed 0%, #a78bfa 50%, #ddd6fe 95%) !important;
}
html[data-theme="light"] .category-banner-overlay{
    background: linear-gradient(100deg, rgba(76,29,149,.55) 0%, rgba(124,58,237,.3) 40%, rgba(196,181,253,.1) 75%) !important;
}
html[data-theme="light"] .cat-main{
    color: #ffffff !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: 0 1px 8px rgba(76,29,149,.5) !important;
}
html[data-theme="light"] .cat-bg-text{ color: rgba(76,29,149,.22) !important; }


html[data-theme="light"] .idb-banner{
    background: linear-gradient(115deg, #7c3aed 0%, #a78bfa 50%, #ddd6fe 95%) !important;
}
html[data-theme="light"] .idb-overlay{
    background: linear-gradient(100deg, rgba(76,29,149,.55) 0%, rgba(124,58,237,.3) 40%, rgba(196,181,253,.1) 75%) !important;
}
html[data-theme="light"] .idb-text-title{
    color: #ffffff !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: 0 1px 8px rgba(76,29,149,.5) !important;
}
html[data-theme="light"] .idb-bg-text{ color: rgba(76,29,149,.22) !important; }
html[data-theme="light"] .idb-text-small{ color: rgba(76,29,149,.85) !important; }



.cat-url{
    color: #4c1d95 !important;
    background: #fff !important;
}
.cat-url i{ color: #8b5cf6 !important; }
html[data-theme="light"] .cat-url{
    color: #6d28d9 !important;
}


.cat-type-chip{
    color: #d8b4fe !important;
    background: rgba(139,92,246,.16) !important;
    border-color: rgba(139,92,246,.45) !important;
}
html[data-theme="light"] .cat-type-chip{
    color: #7c3aed !important;
    background: rgba(139,92,246,.1) !important;
    border-color: rgba(139,92,246,.35) !important;
}


@keyframes vkFadeIn{ from{ opacity:0 } to{ opacity:1 } }
@keyframes vkRise{ from{ opacity:0; transform:translateY(16px) } to{ opacity:1; transform:translateY(0) } }
@keyframes vkDrop{ from{ opacity:0; transform:translateY(-12px) } to{ opacity:1; transform:translateY(0) } }
@keyframes vkZoom{ from{ opacity:0; transform:scale(.96) } to{ opacity:1; transform:scale(1) } }

@media (prefers-reduced-motion: reduce){
    .site-nav, .announce-wrap, .hero-banner, .section-head,
    .category-card, .ref-card, .ro-card, .qm-card, .idb-card{ animation: none !important; }
}


.site-nav{ animation: vkDrop .45s ease backwards; }
.announce-wrap{ animation: vkDrop .5s ease backwards; }

.hero-banner{ animation: vkZoom .55s ease backwards; }

.section-head{ animation: vkRise .45s ease backwards; }
.category-card{ animation: vkRise .5s ease backwards; }
.ref-card{ animation: vkRise .5s ease backwards; }
.ro-card{ animation: vkRise .5s ease backwards; }
.qm-card{ animation: vkRise .5s ease backwards; }
.idb-card{ animation: vkRise .5s ease backwards; }

.row > .col:nth-child(1) > .category-card,
.row > .col:nth-child(1) > .ref-card,
.row > .col:nth-child(1) > .ro-card,
.row > .col:nth-child(1) > .qm-card,
.row > .col:nth-child(1) > .idb-card{ animation-delay: .04s; }
.row > .col:nth-child(2) > .category-card,
.row > .col:nth-child(2) > .ref-card,
.row > .col:nth-child(2) > .ro-card,
.row > .col:nth-child(2) > .qm-card,
.row > .col:nth-child(2) > .idb-card{ animation-delay: .09s; }
.row > .col:nth-child(3) > .category-card,
.row > .col:nth-child(3) > .ref-card,
.row > .col:nth-child(3) > .ro-card,
.row > .col:nth-child(3) > .qm-card,
.row > .col:nth-child(3) > .idb-card{ animation-delay: .14s; }
.row > .col:nth-child(4) > .category-card,
.row > .col:nth-child(4) > .ref-card,
.row > .col:nth-child(4) > .ro-card,
.row > .col:nth-child(4) > .qm-card,
.row > .col:nth-child(4) > .idb-card{ animation-delay: .19s; }
.row > .col:nth-child(5) > .category-card,
.row > .col:nth-child(5) > .ref-card,
.row > .col:nth-child(5) > .ro-card,
.row > .col:nth-child(5) > .qm-card,
.row > .col:nth-child(5) > .idb-card{ animation-delay: .24s; }
.row > .col:nth-child(6) > .category-card,
.row > .col:nth-child(6) > .ref-card,
.row > .col:nth-child(6) > .ro-card,
.row > .col:nth-child(6) > .qm-card,
.row > .col:nth-child(6) > .idb-card{ animation-delay: .29s; }
.row > .col:nth-child(n+7) > .category-card,
.row > .col:nth-child(n+7) > .ref-card,
.row > .col:nth-child(n+7) > .ro-card,
.row > .col:nth-child(n+7) > .qm-card,
.row > .col:nth-child(n+7) > .idb-card{ animation-delay: .34s; }



#pageLoader{
    position: fixed; inset: 0; z-index: 10000;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
    background: var(--bg-body, #0d0d0f);
    transition: opacity .35s ease, visibility .35s ease;
}
#pageLoader.hide{ opacity: 0; visibility: hidden; pointer-events: none; }

.skel-shell{
    display: flex; flex-direction: column; align-items: center; gap: 22px;
    width: 100%; max-width: 1100px; padding: 0 20px;
}
.skel-logo-row{ display: flex; flex-direction: column; align-items: center; gap: 10px; }
.skel-msg{ font-size: 13px; letter-spacing: 1px; color: rgba(var(--brand-rgb), .8); font-weight: 700; }
.skel-dots{ display: inline-block; animation: vkBlink 1.2s steps(1) infinite; }
.skel-grid{
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 100%;
}
.skel-card{
    background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px; overflow: hidden;
}
.skel{ position: relative; overflow: hidden; background: rgba(255,255,255,.06); }
.skel::after{
    content: ""; position: absolute; inset: 0; transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
    animation: skel-shimmer 1.3s ease-in-out infinite;
}
.skel-img{ height: 130px; }
.skel-body{ padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.skel-line{ height: 12px; border-radius: 6px; }
.w60{ width: 60%; } .w40{ width: 40%; } .w80{ width: 80%; }
@keyframes skel-shimmer{ 100%{ transform: translateX(100%); } }
@keyframes vkBlink{ 0%{ opacity: 1; } 50%{ opacity: .2; } 100%{ opacity: 1; } }
@media (max-width: 720px){
    .skel-grid{ grid-template-columns: repeat(2, 1fr); }
}
html[data-theme="light"] .skel-card{ background: rgba(0,0,0,.03); border-color: rgba(0,0,0,.06); }
html[data-theme="light"] .skel{ background: rgba(0,0,0,.06); }
html[data-theme="light"] .skel::after{ background: linear-gradient(90deg, transparent, rgba(0,0,0,.06), transparent); }


.skel-section{ position: absolute; inset: 0; z-index: 100; padding: 24px; pointer-events: none; background: var(--bg-body, #0d0d0f); display: flex; flex-direction: column; align-items: center; }
main { position: relative; }
.skel-banner{
    width: 100%; max-width: 800px; height: 200px; border-radius: 16px;
    background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.05);
    position: relative; overflow: hidden; margin-bottom: 20px;
}
.skel-banner::after{
    content: ""; position: absolute; inset: 0; transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent);
    animation: skel-shimmer 1.4s ease-in-out infinite;
}
.skel-cards-row{
    display: flex; gap: 12px; overflow: hidden; margin-bottom: 20px; max-width: 1200px; width: 100%;
}
.skel-ro-card{
    flex: 0 0 300px; display: flex; align-items: center; gap: 12px;
    background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05);
    border-radius: 14px; padding: 12px 14px;
}
.skel-ro-img{ width: 64px; height: 64px; border-radius: 10px; flex: 0 0 64px; }
.skel-ro-body{ flex: 1; display: flex; flex-direction: column; gap: 8px; }
.skel-cards-grid{
    display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; max-width: 1200px; width: 100%;
}
.skel-product{
    background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05);
    border-radius: 16px; overflow: hidden;
}
.skel-prod-img{ height: 160px; }
.skel-prod-body{ padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.skel-btn{ height: 40px; border-radius: 10px; margin-top: 4px; }
.w70{ width: 70%; } .w50{ width: 50%; } .w90{ width: 90%; }
html[data-theme="light"] .skel-banner,
html[data-theme="light"] .skel-ro-card,
html[data-theme="light"] .skel-product{
    background: rgba(0,0,0,.03); border-color: rgba(0,0,0,.05);
}
@media (max-width: 720px){
    .skel-banner{ height: 140px; }
    .skel-cards-grid{ grid-template-columns: repeat(2, 1fr); }
    .skel-ro-card{ flex: 0 0 260px; }
}

.page-loader-logo{
    width: 64px; height: 64px; object-fit: contain;
    border-radius: 16px; padding: 6px;
    animation: vkPulse 1.3s ease-in-out infinite;
}
.page-loader-ring{
    width: 34px; height: 34px;
    border: 3px solid rgba(var(--brand-rgb), .22);
    border-top-color: var(--brand, #8b5cf6);
    border-radius: 50%;
    animation: vkSpin .75s linear infinite;
}
.page-loader-text{
    font-size: 12px; font-weight: 700; letter-spacing: 2.5px;
    color: rgba(var(--brand-rgb), .85);
}
@keyframes vkSpin{ to{ transform: rotate(360deg); } }
@keyframes vkPulse{ 0%,100%{ transform: scale(1); opacity: 1; } 50%{ transform: scale(1.09); opacity: .82; } }


.vk-loading{ pointer-events: none; opacity: .78; }
.vk-spinner{
    display: inline-block; width: 15px; height: 15px;
    border: 2px solid rgba(255,255,255,.45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: vkSpin .7s linear infinite;
    vertical-align: -2px;
}
html[data-theme="light"] .vk-spinner{ border-color: rgba(76,29,149,.25); border-top-color: #6d28d9; }

@media (prefers-reduced-motion: reduce){
    
    .page-loader-logo, .page-loader-ring, .page-loader-iconbox{ animation: none; }
}



#pageLoader .page-loader-bar{
    width: 190px; height: 4px; border-radius: 999px; overflow: hidden;
    background: rgba(var(--brand-rgb), .15);
}
#pageLoader .page-loader-bar > i{
    display: block; height: 100%; width: 0%;
    background: linear-gradient(90deg, var(--brand, #8b5cf6), #c4b5fd);
    border-radius: 999px;
    transition: width .1s linear;
}


#taskLoader{
    position: fixed; inset: 0; z-index: 9999;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
    background: rgba(13,13,15,.82);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    opacity: 0; visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}
#taskLoader.show{ opacity: 1; visibility: visible; }
#taskLoader .page-loader-ring{ width: 42px; height: 42px; border-width: 4px; }
#taskLoader .task-loader-msg{
    font-size: 14px; font-weight: 600; color: #e9e9ee;
    padding: 0 24px; text-align: center;
}
html[data-theme="light"] #taskLoader{ background: rgba(250,250,252,.85); }
html[data-theme="light"] #taskLoader .task-loader-msg{ color: #27272a; }

@media (prefers-reduced-motion: reduce){
    #taskLoader .page-loader-ring{ animation: none; }
}


#pageLoader, #taskLoader{
    background: #111111 !important;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

#pageLoader::before, #taskLoader::before{
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
    opacity: .35; mix-blend-mode: overlay;
}
#pageLoader > *, #taskLoader > *{ position: relative; z-index: 1; }

.page-loader-iconbox{
    width: 78px; height: 78px; border-radius: 20px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(139,92,246,.08);
    border: 1.5px solid rgba(139,92,246,.65);
    box-shadow: 0 0 26px rgba(139,92,246,.5), inset 0 0 18px rgba(139,92,246,.12);
    animation: vkGlow 2s ease-in-out infinite;
}
.page-loader-iconbox i{ font-size: 34px; color: #c4b5fd; }
@keyframes vkGlow{
    0%,100%{ box-shadow: 0 0 18px rgba(139,92,246,.35), inset 0 0 14px rgba(139,92,246,.08); border-color: rgba(139,92,246,.5); }
    50%{ box-shadow: 0 0 34px rgba(139,92,246,.65), inset 0 0 22px rgba(139,92,246,.16); border-color: rgba(196,181,253,.85); }
}

.page-loader-msg{
    font-size: 15px; font-weight: 600; letter-spacing: .3px; color: #fff;
    padding: 0 24px; text-align: center;
}
#taskLoader .task-loader-msg{ font-size: 15px; font-weight: 600; color: #fff; }

#pageLoader .page-loader-ring,
#pageLoader .page-loader-bar,
#pageLoader .page-loader-logo,
#pageLoader .page-loader-text{ display: none !important; }
html[data-theme="light"] #taskLoader{ background: #111111 !important; }
html[data-theme="light"] #taskLoader .task-loader-msg{ color: #fff !important; }
@media (prefers-reduced-motion: reduce){
    
    .page-loader-iconbox{ animation: none; }
}


.page-loader-iconbox .page-loader-logo-img{
    width: 44px; height: 44px; object-fit: contain;
    border-radius: 10px;
    animation: vkPulse 1.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){
    .page-loader-iconbox .page-loader-logo-img{ animation: none; }
}


html[data-theme="light"] #pageLoader,
html[data-theme="light"] #taskLoader{
    background: #ffffff !important;
}
html[data-theme="light"] #pageLoader .page-loader-msg,
html[data-theme="light"] #taskLoader .task-loader-msg{
    color: #1f2937 !important;
}
html[data-theme="light"] #pageLoader::before,
html[data-theme="light"] #taskLoader::before{
    opacity: .18;
    mix-blend-mode: multiply;
}
html[data-theme="light"] .page-loader-iconbox{
    background: rgba(139,92,246,.1);
    border: 1.5px solid rgba(139,92,246,.55);
    box-shadow: 0 0 22px rgba(139,92,246,.35), inset 0 0 16px rgba(139,92,246,.08);
}
html[data-theme="light"] .page-loader-iconbox i{ color: #7c3aed; }
html[data-theme="light"] .page-loader-iconbox .page-loader-logo-img{ filter: drop-shadow(0 2px 6px rgba(139,92,246,.25)); }


.ref-card{
    position: relative;
    padding: 10px;
    background: #17181d;
    border: 1px solid #26272e;
    border-radius: 16px;
    box-shadow: 0 8px 18px -10px rgba(0,0,0,.55);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    cursor: pointer;
    height: 100%;
}
.ref-card:hover{
    transform: translateY(-4px);
    border-color: rgba(var(--brand-rgb), .55);
    box-shadow: 0 16px 32px -14px rgba(var(--brand-rgb), .45);
}

.ref-img{
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #101116;
    border-radius: 12px;
    overflow: hidden;
}
.ref-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.ref-card:hover .ref-img img{ transform: scale(1.07); }

.ref-pill-stock{
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(0, 0, 0, .78);
    backdrop-filter: blur(4px);
    color: #fde047;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .16);
    white-space: nowrap;
    box-shadow: 0 4px 10px -4px rgba(0,0,0,.6);
}
.ref-pill-stock i{ font-size: 10px; }
.ref-pill-stock-out{ color: #fca5a5; }

.ref-pill-disc{
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    background: linear-gradient(120deg, #ef4444, #dc2626);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 9px;
    border-radius: 999px;
    box-shadow: 0 4px 10px -4px rgba(239, 68, 68, .65);
    white-space: nowrap;
}
.ref-body{
    padding: 12px 2px 2px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}
.ref-name{
    font-size: 14px;
    font-weight: 700;
    color: #f2f2f6;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}
.ref-sub{
    font-size: 11.5px;
    color: #8b929c;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ref-price-row{
    display: flex;
    align-items: baseline;
    gap: 7px;
    flex-wrap: wrap;
    margin-top: 2px;
}
.ref-old{
    font-size: 12px;
    color: #6b7280;
    text-decoration: line-through;
    white-space: nowrap;
}
.ref-price{
    font-size: 16px;
    font-weight: 800;
    color: var(--brand-light);
    white-space: nowrap;
}
.ref-status-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}
.ref-status{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #4ade80;
    white-space: nowrap;
}
.ref-status i{ font-size: 7px; }
.ref-status-out{ color: #f87171; }
.ref-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1;
    padding: 9px 12px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(120deg, var(--brand-light), var(--brand) 55%, var(--brand-dark));
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 6px 14px -6px rgba(var(--brand-rgb), .55);
    transition: filter .2s ease, transform .1s ease;
}
.ref-btn:hover{
    filter: brightness(1.08);
    color: #fff;
    transform: translateY(-1px);
}
.ref-btn-ico{ font-size: 12px; }
.ref-btn-off{
    background: #24282f;
    color: #8b929c;
    cursor: not-allowed;
    box-shadow: none;
}
.ref-btn-off:hover{ filter: none; transform: none; }

html[data-theme="light"] .ref-card{
    background: #ffffff;
    border: 1px solid #e6e6ec;
    box-shadow: 0 8px 18px -12px rgba(23,23,28,.18);
}
html[data-theme="light"] .ref-card:hover{
    border-color: rgba(var(--brand-rgb), .5);
}
html[data-theme="light"] .ref-img{ background: #ffffff; }
html[data-theme="light"] .ref-name{ color: #17171c; }
html[data-theme="light"] .ref-sub{ color: #6b6b76; }
html[data-theme="light"] .ref-old{ color: #9aa1ab; }
html[data-theme="light"] .ref-pill-stock{
    background: rgba(23, 23, 28, .82);
    color: #fde047;
}
html[data-theme="light"] .ref-btn-off{
    background: #eef0f4;
    color: #9aa1ab;
}


.ref-card{
    position: relative;
    padding: 0;
    background: #17181d;
    border: 1px solid #26272e;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 18px -10px rgba(0,0,0,.55);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    cursor: pointer;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.ref-card:hover{
    transform: translateY(-4px);
    border-color: rgba(var(--brand-rgb), .55);
    box-shadow: 0 16px 32px -14px rgba(var(--brand-rgb), .45);
}

.ref-img{
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #101116;
    overflow: hidden;
}
.ref-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.ref-card:hover .ref-img img{ transform: scale(1.06); }


.ref-pill-stock{
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(4px);
    color: #fde047;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    white-space: nowrap;
    box-shadow: 0 4px 10px -4px rgba(0,0,0,.6);
}
.ref-pill-stock i{ font-size: 10px; }
.ref-pill-stock-out{ color: #fca5a5; }

.ref-pill-disc{
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    background: linear-gradient(120deg, #ef4444, #dc2626);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 9px;
    border-radius: 999px;
    box-shadow: 0 4px 10px -4px rgba(239, 68, 68, .65);
    white-space: nowrap;
}

.ref-body{
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1;
}

.ref-pricebox-row{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.ref-old{
    font-size: 12px;
    color: #f87171;
    text-decoration: line-through;
    text-decoration-color: rgba(248, 113, 113, .8);
    white-space: nowrap;
}
.ref-pricebox{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: linear-gradient(120deg, #fbbf24 0%, #f59e0b 55%, #f97316 100%);
    color: #1c1917;
    font-size: 13px;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 9px;
    box-shadow: 0 5px 12px -5px rgba(245, 158, 11, .7);
    white-space: nowrap;
}
.ref-name{
    font-size: 14.5px;
    font-weight: 700;
    color: #f2f2f6;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}
.ref-sub{
    font-size: 11.5px;
    color: #8b929c;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ref-footer-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 2px;
    padding-top: 9px;
    border-top: 1px dashed rgba(255, 255, 255, .1);
}
.ref-price{
    font-size: 17px;
    font-weight: 800;
    color: var(--brand-light);
    white-space: nowrap;
}
.ref-status{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #4ade80;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(74, 222, 128, .12);
    border: 1px solid rgba(74, 222, 128, .3);
    white-space: nowrap;
}
.ref-status i{ font-size: 7px; }
.ref-status-out{
    color: #f87171;
    background: rgba(248, 113, 113, .1);
    border-color: rgba(248, 113, 113, .3);
}

.ref-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    margin-top: auto;
    padding: 10px 12px;
    border: none;
    border-radius: 11px;
    background: linear-gradient(120deg, var(--brand-light), var(--brand) 55%, var(--brand-dark));
    color: #fff;
    font-size: 13.5px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 6px 14px -6px rgba(var(--brand-rgb), .55);
    transition: filter .2s ease, transform .1s ease;
}
.ref-btn:hover{
    filter: brightness(1.08);
    color: #fff;
    transform: translateY(-1px);
}
.ref-btn-ico{ font-size: 12px; }
.ref-btn-off{
    background: #24282f;
    color: #8b929c;
    cursor: not-allowed;
    box-shadow: none;
}
.ref-btn-off:hover{ filter: none; transform: none; }

html[data-theme="light"] .ref-card{
    background: #ffffff;
    border: 1px solid #e6e6ec;
    box-shadow: 0 8px 18px -12px rgba(23,23,28,.18);
}
html[data-theme="light"] .ref-card:hover{
    border-color: rgba(var(--brand-rgb), .5);
}
html[data-theme="light"] .ref-img{ background: #ffffff; }
html[data-theme="light"] .ref-name{ color: #17171c; }
html[data-theme="light"] .ref-sub{ color: #6b6b76; }
html[data-theme="light"] .ref-old{ color: #f87171; text-decoration-color: rgba(248, 113, 113, .8); }
html[data-theme="light"] .ref-footer-row{ border-top-color: rgba(23, 23, 28, .12); }
html[data-theme="light"] .ref-btn-off{
    background: #eef0f4;
    color: #9aa1ab;
}


.ref-card{
    position: relative;
    padding: 0;
    background: #141519;
    border: 1px solid #3a3d46;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px -14px rgba(0,0,0,.6);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    cursor: pointer;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.ref-card:hover{
    transform: translateY(-5px);
    border-color: rgba(var(--brand-rgb), .5);
    box-shadow: 0 18px 36px -16px rgba(var(--brand-rgb), .4);
}

.ref-img{
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #141519;
    overflow: hidden;
    flex: 0 0 auto;
    border-radius: 0;
    margin: 0;
}
.ref-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s ease;
}
.ref-card:hover .ref-img img{ transform: scale(1.04); }

.ref-img::before{
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0,0,0,.38) 0%, rgba(0,0,0,0) 46%);
    pointer-events: none;
}

.ref-pill-stock{
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(24, 15, 44, .62);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: #ffd479;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 212, 121, .25);
    white-space: nowrap;
    box-shadow: 0 4px 12px -4px rgba(0,0,0,.5);
    text-shadow: 0 1px 1px rgba(40, 20, 0, .85), 0 0 4px rgba(0,0,0,.9);
}
.ref-pill-stock i{ color: #886ee3; font-size: 11px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.7)); }
.ref-pill-stock-out{ color: #fca5a5; }
.ref-pill-stock-out i{ color: #f87171; }

.ref-pill-disc{
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    background: linear-gradient(120deg, #f43f5e, #e11d48);
    color: #fff;
    font-size: 11.5px;
    font-weight: 800;
    padding: 5px 11px;
    border-radius: 999px;
    box-shadow: 0 4px 12px -4px rgba(225, 29, 72, .6);
    white-space: nowrap;
}

.ref-body{
    padding: 15px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.ref-name{
    font-size: 16px;
    font-weight: 700;
    color: #f5f5f7;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}
.ref-sub{
    font-size: 12.5px;
    color: #8b929c;
    line-height: 1.45;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ref-meta{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 2px;
}
.ref-price-wrap{
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}
.ref-price{
    font-size: 21px;
    font-weight: 800;
    color: var(--brand-light);
    white-space: nowrap;
}
.ref-old{
    font-size: 12px;
    color: #f87171;
    text-decoration: line-through;
    text-decoration-color: rgba(248, 113, 113, .8);
    white-space: nowrap;
}

.ref-status{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    color: #e5e5e5;
    font-size: 11.5px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 999px;
    white-space: nowrap;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.ref-status i{ font-size: 8px; color: #4ade80; }
.ref-status-out{ color: #e5e5e5; }
.ref-status-out i{ color: #f87171; }

.ref-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    margin-top: auto;
    padding: 11px 12px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(120deg, var(--brand-light), var(--brand) 60%, var(--brand-dark));
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 8px 18px -8px rgba(var(--brand-rgb), .5);
    transition: filter .2s ease, transform .15s ease;
}
.ref-btn:hover{
    filter: brightness(1.06);
    color: #fff;
    transform: translateY(-1px);
}
.ref-btn-ico{ font-size: 12.5px; }

.ref-btn-off{
    background: #23252b;
    color: #6b7280;
    box-shadow: none;
    cursor: not-allowed;
}
.ref-btn-off:hover{ filter: none; transform: none; color: #6b7280; }

html[data-theme="light"] .ref-card{
    background: #ffffff;
    border: 1px solid #d4d4dc;
    box-shadow: 0 10px 24px -14px rgba(23,23,28,.18);
}
html[data-theme="light"] .ref-card:hover{
    border-color: rgba(var(--brand-rgb), .5);
}
html[data-theme="light"] .ref-img{ background: #ffffff; }
html[data-theme="light"] .ref-name{ color: #17171c; }
html[data-theme="light"] .ref-sub{ color: #6b6b76; }
html[data-theme="light"] .ref-pill-stock{
    background: rgba(24, 15, 44, .72);
    border-color: rgba(255, 212, 121, .3);
    color: #ffd479;
    text-shadow: 0 1px 1px rgba(40, 20, 0, .85), 0 0 4px rgba(0,0,0,.9);
}
html[data-theme="light"] .ref-pill-stock i{ color: #886ee3; filter: drop-shadow(0 1px 2px rgba(0,0,0,.7)); }
html[data-theme="light"] .ref-pill-stock-out{ color: #fca5a5; }
html[data-theme="light"] .ref-pill-stock-out i{ color: #f87171; }
html[data-theme="light"] .ref-status{
    background: rgba(23, 23, 28, .05);
    border-color: rgba(23, 23, 28, .09);
    color: #4b5563;
}
html[data-theme="light"] .ref-status i{ color: #22c55e; }
html[data-theme="light"] .ref-status-out i{ color: #ef4444; }
html[data-theme="light"] .ref-btn-off{
    background: #f1f2f6;
    color: #9aa1ab;
}


.ref-footnote{
    margin: 0;
    padding: 8px 12px;
    background: #0e0f13;
    border: 1px solid #2a2c34;
    border-radius: 10px;
    color: #d7d9e0;
    font-size: 11.5px;
    font-weight: 600;
    text-align: center;
    line-height: 1.45;
    word-break: break-word;
}
html[data-theme="light"] .ref-footnote{
    background: #f4f4f7;
    border-color: #e0e0e6;
    color: #6b6b76;
}



.ref-name{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #f5f5f7;
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}
.ref-sub{
    font-size: 13px;
    color: #8a8a92;
    line-height: 1.45;
    margin: 0 0 2px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ref-price{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 23px;
    font-weight: 700;
    color: var(--brand-light);
    white-space: nowrap;
}
.ref-old{
    font-size: 13px;
    color: #f87171;
    text-decoration: line-through;
    text-decoration-color: rgba(248, 113, 113, .8);
    white-space: nowrap;
}

.ref-status{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(34, 197, 94, .25);
    color: #4ade80;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 999px;
    white-space: nowrap;
}
.ref-status i{ font-size: 8px; color: #4ade80; }
.ref-status-out{
    background: rgba(248, 113, 113, .12);
    border-color: rgba(248, 113, 113, .25);
    color: #f87171;
}
.ref-status-out i{ color: #f87171; }

.ref-footnote{
    margin: 0;
    padding: 10px 12px;
    background: #0e0e11;
    border: 1px solid #232328;
    border-radius: 10px;
    color: #8a8a92;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    line-height: 1.45;
    word-break: break-word;
}

.ref-btn{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 14.5px;
    font-weight: 600;
}

html[data-theme="light"] .ref-name{ color: #17171c; }
html[data-theme="light"] .ref-sub{ color: #6b6b76; }
html[data-theme="light"] .ref-footnote{
    background: #f4f4f7;
    border-color: #e0e0e6;
    color: #6b6b76;
}
html[data-theme="light"] .ref-status{
    background: rgba(34, 197, 94, .1);
    border-color: rgba(34, 197, 94, .25);
    color: #16a34a;
}
html[data-theme="light"] .ref-status i{ color: #16a34a; }
html[data-theme="light"] .ref-status-out{
    background: rgba(248, 113, 113, .1);
    border-color: rgba(248, 113, 113, .25);
    color: #dc2626;
}
html[data-theme="light"] .ref-status-out i{ color: #dc2626; }


.ref-img-fallback{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background:
        radial-gradient(120% 90% at 50% 0%, rgba(139, 92, 246, .3), transparent 55%),
        linear-gradient(180deg, #251744, #170e2b);
    text-align: center;
}
.ref-img-fallback i{
    font-size: 44px;
    color: #a78bfa;
    filter: drop-shadow(0 4px 14px rgba(139, 92, 246, .55));
}
.ref-img-fallback span{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-weight: 700;
    font-size: 17px;
    color: #ece4ff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .65);
    padding: 0 14px;
    line-height: 1.25;
}
html[data-theme="light"] .ref-img-fallback{
    background:
        radial-gradient(120% 90% at 50% 0%, rgba(139, 92, 246, .22), transparent 55%),
        linear-gradient(180deg, #e9e1fb, #d7cbf5);
}
html[data-theme="light"] .ref-img-fallback i{ color: #7c5ce0; }
html[data-theme="light"] .ref-img-fallback span{ color: #4c3a8f; text-shadow: 0 1px 0 rgba(255, 255, 255, .5); }



.detail-cover{
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, .3);
    background:
        radial-gradient(120% 90% at 50% 100%, rgba(139, 92, 246, .4) 0%, rgba(90, 50, 180, .18) 32%, transparent 62%),
        linear-gradient(180deg, #261845 0%, #170e2b 100%);
    box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .6);
}
.detail-cover::after{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(60% 45% at 50% 108%, rgba(139, 92, 246, .5), transparent 70%);
    mix-blend-mode: screen;
    pointer-events: none;
}
.dc-img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.dc-fallback{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dc-fallback i{
    font-size: 84px;
    color: #a78bfa;
    filter: drop-shadow(0 6px 24px rgba(139, 92, 246, .6));
}
.dc-wm{
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%) rotate(-2deg);
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-weight: 800;
    font-size: 34px;
    letter-spacing: .5px;
    color: #c4b5fd;
    text-shadow:
        0 0 6px rgba(139, 92, 246, .95),
        0 0 16px rgba(124, 58, 237, .7),
        0 0 28px rgba(124, 58, 237, .5),
        2px 2px 0 rgba(30, 10, 60, .95);
    white-space: nowrap;
    text-align: center;
    max-width: calc(100% - 60px);
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: 2;
    pointer-events: none;
}
.dc-strike{
    position: absolute;
    left: 12px;
    bottom: 66px;
    z-index: 4;
    background: rgba(0, 0, 0, .55);
    border: 1px solid #7a2020;
    border-radius: 6px;
    padding: 3px 9px;
    font-size: 11px;
    color: #ff8c8c;
}
.dc-strike s{ text-decoration-thickness: 1.5px; }
.dc-price-box{
    position: absolute;
    left: 12px;
    bottom: 16px;
    z-index: 4;
    background: linear-gradient(180deg, #fbbf24, #f97316);
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 8px;
    padding: 8px 16px;
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-weight: 700;
    font-size: 17px;
    color: #3b1a00;
    box-shadow: 0 6px 18px -6px rgba(249, 115, 22, .55);
}
.dc-feature-box{
    position: absolute;
    right: 12px;
    bottom: 16px;
    z-index: 4;
    max-width: 44%;
    background: rgba(10, 11, 14, .62);
    border: 1px solid rgba(139, 92, 246, .4);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 11px;
    line-height: 1.7;
    color: #e2d9ff;
}
.dc-feature-box b{ color: #c4b5fd; }


.stock-detail-panel{
    background: linear-gradient(180deg, #17181d, #131318) !important;
    border: 1px solid rgba(139, 92, 246, .2) !important;
    box-shadow: 0 14px 34px -18px rgba(0, 0, 0, .55);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.detail-title{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 26px;
    font-weight: 600;
    color: #f5f5f7;
}
.detail-sub{ font-size: 13.5px; color: #8a8a92; }
.detail-price-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.detail-price{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 30px;
    font-weight: 700;
    color: var(--brand-light);
}
.detail-old{
    font-size: 14px;
    color: #f87171;
}
.detail-old s{ text-decoration-thickness: 1.5px; }
.detail-disc{
    font-size: 12px;
    font-weight: 700;
    color: var(--brand-light);
    background: rgba(var(--brand-rgb), .18);
    border: 1px solid rgba(var(--brand-rgb), .35);
    padding: 2px 9px;
    border-radius: 999px;
}
.detail-status{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(34, 197, 94, .3);
    color: #4ade80;
    white-space: nowrap;
}
.detail-status i{ font-size: 8px; color: #4ade80; }
.detail-status.ds-out{
    background: rgba(239, 68, 68, .12);
    border-color: rgba(239, 68, 68, .3);
    color: #f87171;
}
.detail-status.ds-out i{ color: #f87171; }
.detail-footnote{
    margin-top: 14px;
    background: #0e0e11;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    padding: 12px;
    text-align: center;
    font-size: 12.5px;
    color: #a3a3ad;
}


.ro-fallback{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #241640, #170e2b);
    color: #a78bfa;
}
.ro-fallback i{ font-size: 16px; }
html[data-theme="light"] .ro-fallback{
    background: linear-gradient(135deg, #e9e1fb, #d7cbf5);
    color: #7c5ce0;
}


.ref-btn, .ref-btn-off{
    height: 44px;
    flex: none;
}


.ref-img-fallback{ z-index: 0; }
.ref-img::after{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(60% 42% at 50% 108%, rgba(139, 92, 246, .55), transparent 70%);
    mix-blend-mode: screen;
    pointer-events: none;
    z-index: 1;
}
.ref-wm{
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%) rotate(-2deg);
    z-index: 2;
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-weight: 800;
    font-size: 26px;
    letter-spacing: .5px;
    color: #ffb52e;
    text-shadow:
        0 0 5px #ff7a00,
        0 0 12px #ff5500,
        0 0 20px #ff3d00,
        2px 2px 0 #7a1e00;
    white-space: nowrap;
    text-align: center;
    max-width: calc(100% - 80px);
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}
.ref-strike{
    position: absolute;
    left: 10px;
    bottom: 58px;
    z-index: 4;
    background: rgba(0, 0, 0, .55);
    border: 1px solid #7a2020;
    border-radius: 5px;
    padding: 2px 8px;
    font-size: 9.5px;
    color: #ff8c8c;
}
.ref-strike s{ text-decoration-thickness: 1.5px; }
.ref-pricebox{
    position: absolute;
    left: 10px;
    bottom: 12px;
    z-index: 4;
    background: linear-gradient(180deg, #fbbf24, #f97316);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 7px;
    padding: 5px 12px;
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #3b1a00;
    box-shadow: 0 5px 14px -5px rgba(249, 115, 22, .5);
    white-space: nowrap;
}
.ref-featurebox{
    position: absolute;
    right: 10px;
    bottom: 12px;
    z-index: 4;
    max-width: 46%;
    background: rgba(10, 11, 14, .6);
    border: 1px solid rgba(224, 165, 58, .5);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border-radius: 8px;
    padding: 7px 10px;
    font-size: 9.5px;
    line-height: 1.6;
    color: #f0e2c8;
}
.ref-featurebox b{ color: #ffd479; }


.ref-card{
    background: #111111;
    border-color: #2a2a2a;
    border-radius: 20px;
    box-shadow: 0 0 24px rgba(0, 0, 0, .5);
}
html[data-theme="light"] .ref-card{
    background: #ffffff;
    border-color: #d4d4dc;
    border-radius: 20px;
    box-shadow: 0 10px 24px -14px rgba(23, 23, 28, .18);
}
.ref-body{
    padding: 18px 18px 0;
}
.ref-name{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
}
html[data-theme="light"] .ref-name{ color: #111111; }
.ref-sub{
    font-size: 14px;
    color: #9a9a9a;
    line-height: 1.45;
}
.ref-price{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
}
html[data-theme="light"] .ref-price{ color: #17171c; }
.ref-status{
    background: rgba(34, 197, 94, .15);
    border-color: rgba(34, 197, 94, .25);
    color: #22c55e;
}
.ref-status i{ color: #22c55e; }
.ref-status-out{
    background: rgba(239, 68, 68, .15);
    border-color: rgba(239, 68, 68, .25);
    color: #ef4444;
}
.ref-status-out i{ color: #ef4444; }
.ref-footnote{
    background: #1a1a1a;
    border-color: #2a2a2a;
    color: #bbbbbb;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 400;
    padding: 16px;
    margin: 0 0 18px;
}
html[data-theme="light"] .ref-footnote{
    background: #f4f4f7;
    border-color: #e0e0e6;
    color: #6b6b76;
}
.ref-img::after{ display: none; }


.detail-cover::after{ display: none; }
.dc-fallback{
    flex-direction: column;
    gap: 12px;
}
.dc-fb-name{
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #ece4ff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .65);
    padding: 0 14px;
    text-align: center;
    line-height: 1.25;
}
html[data-theme="light"] .dc-fb-name{ color: #4c3a8f; }


.ref-pill-stock{
    color: #ffffff;
    border-color: rgba(255, 255, 255, .18);
    text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
}
html[data-theme="light"] .ref-pill-stock{
    color: #ffffff;
    border-color: rgba(255, 255, 255, .18);
    text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
}


.ref-price{
    color: var(--brand-light);
}
html[data-theme="light"] .ref-price{ color: var(--brand); }


.ref-btn-off{
    background: rgba(239, 68, 68, .12);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, .35);
}
.ref-btn-off:hover{ color: #ef4444; }
html[data-theme="light"] .ref-btn-off{
    background: rgba(239, 68, 68, .1);
    color: #dc2626;
    border-color: rgba(239, 68, 68, .3);
}
html[data-theme="light"] .ref-btn-off:hover{ color: #dc2626; }


.ref-btn-off{
    background: #23252b;
    color: #6b7280;
    border: 1px solid #2f3239;
    box-shadow: none;
    cursor: not-allowed;
}
.ref-btn-off:hover{ color: #6b7280; filter: none; transform: none; }
html[data-theme="light"] .ref-btn-off{
    background: #eef0f4;
    color: #8a8f98;
    border-color: #e2e5ea;
}
html[data-theme="light"] .ref-btn-off:hover{ color: #8a8f98; }



.ref-status{
    background: #102a1b;
    border-color: rgba(34, 197, 94, .35);
    color: #ffffff;
}
.ref-status i{ color: #22c55e; }
.ref-status-out{
    background: #2b1416;
    border-color: rgba(239, 68, 68, .35);
    color: #ffffff;
}
.ref-status-out i{ color: #f87171; }
html[data-theme="light"] .ref-status{
    background: #dcfce7;
    border-color: rgba(34, 197, 94, .35);
    color: #166534;
}
html[data-theme="light"] .ref-status i{ color: #16a34a; }
html[data-theme="light"] .ref-status-out{
    background: #fee2e2;
    border-color: rgba(239, 68, 68, .35);
    color: #b91c1c;
}
html[data-theme="light"] .ref-status-out i{ color: #dc2626; }


.stock-detail-panel .pm-btn{ margin: auto 0; }


.ref-btn, .ref-btn-off{ margin-top: 8px; }


.ref-pill-stock{
    font-size: 13px;
    padding: 6px 14px;
}
.ref-pill-stock i{ font-size: 12px; }
.ref-status{
    font-size: 13px;
    padding: 6px 12px;
}
.ref-status i{ width: 7px; height: 7px; font-size: 7px; }
.ref-body{ gap: 0; }
.ref-name{ margin: 0 0 4px; }
.ref-sub{ margin: 0 0 14px; }
.ref-meta{ margin: 0 0 16px; }


.detail-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.stock-detail-panel{
    background: #1a1921 !important;
}
html[data-theme="light"] .stock-detail-panel{
    background: #ffffff !important;
}

.detail-desc-box{
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 14px;
}
.detail-desc-title{
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: #b9a8f5;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 7px;
}
.detail-desc-line{
    font-size: 13px;
    color: #c6c6cf;
    line-height: 1.6;
    margin: 0 0 5px;
    white-space: pre-wrap;
    word-break: break-word;
}
.detail-desc-line:last-child{ margin-bottom: 0; }
html[data-theme="light"] .detail-desc-box{
    background: #f6f4fb;
    border-color: #e7e3f1;
}
html[data-theme="light"] .detail-desc-title{ color: #7c5ce0; }
html[data-theme="light"] .detail-desc-line{ color: #4b4b55; }


.ref-meta{ margin: 0; }
.ref-footnote{ margin-top: 12px; }


.ref-btn, .ref-btn-off{
    border-radius: 999px;
}
.stock-detail-panel .pm-btn, .pm-btn{
    border-radius: 999px;
}


.tp-amount-row{ display: flex; gap: 10px; width: 100%; }
.tp-amount-prefix{
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    background: #101319; border: 1.5px solid #262b38; border-radius: 12px;
    color: #f97316; font-size: 17px; font-weight: 800; padding: 0 14px;
}
.tp-amount-hint{ font-size: 12px; color: #5b6270; margin: 8px 2px 0; }
.tp-qr-box{
    margin-top: 16px; background: #161922; border: 1px solid #262b38;
    border-radius: 16px; padding: 22px; text-align: center;
}
.tp-qr-box[hidden]{ display: none; }
.tp-qr-head{ margin-bottom: 16px; }
.tp-qr-title{ margin: 0 0 2px; font-size: 16px; font-weight: 700; color: #fff; }
.tp-qr-sub{ margin: 0; font-size: 24px; font-weight: 800; color: #f97316; }
.tp-qr-img-wrap{
    display: inline-block; padding: 10px; background: #fff; border-radius: 14px;
    box-shadow: 0 8px 24px -8px rgba(0,0,0,.5);
}
.tp-qr-img-wrap img{ display: block; width: 220px; height: 220px; object-fit: contain; }
.tp-qr-status{ margin: 16px 0 4px; font-size: 14px; color: #cbd5e1; }
.tp-qr-status.ok{ color: #4ade80; font-weight: 700; }
.tp-qr-status.err{ color: #f87171; font-weight: 600; }
.tp-qr-cancel{
    margin-top: 10px; background: none; border: 1px solid #3f4757; color: #9aa3b2;
    border-radius: 999px; padding: 7px 18px; font-size: 13px; cursor: pointer;
    transition: border-color .2s, color .2s;
}
.tp-qr-cancel:hover{ border-color: #f87171; color: #f87171; }


.tp-btn{
    background: linear-gradient(135deg, var(--brand), #6d28d9) !important;
    box-shadow: 0 12px 24px -10px rgba(var(--brand-rgb), .55) !important;
}
.tp-btn:hover{
    box-shadow: 0 14px 28px -10px rgba(var(--brand-rgb), .65) !important;
}


body, html, main, nav, footer, button, input, select, textarea,
h1, h2, h3, h4, h5, h6, p, a, span, div, li, td, th, label, small{
    font-family: 'LINE Seed Sans TH', sans-serif !important;
}


.ref-card{
    background: #070707 !important;
    border: 1px solid #1b1b1b !important;
    border-radius: 20px !important;
    padding: 18px 17px 17px !important;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(0, 0, 0, .5) !important;
}
.ref-card:hover{
    transform: translateY(-3px);
    border-color: #303030 !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .65) !important;
}
html[data-theme="light"] .ref-card{
    background: #ffffff !important;
    border-color: #e2e2e8 !important;
    box-shadow: 0 12px 30px -14px rgba(23, 23, 28, .2) !important;
}
html[data-theme="light"] .ref-card:hover{
    border-color: #c9c9d4 !important;
}


.ref-img{
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #0b0b0b !important;
    border-radius: 14px !important;
    overflow: hidden;
}
.ref-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ref-img-fallback{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 100%;
    color: #8b8b95;
}
.ref-img-fallback i{
    font-size: 46px;
    color: var(--brand-light);
    text-shadow: 0 0 22px rgba(var(--brand-rgb), .85);
}
.ref-img-fallback span{
    font-size: 15px;
    font-weight: 600;
    color: #d6d6de;
    text-align: center;
    padding: 0 8px;
    line-height: 1.3;
}
html[data-theme="light"] .ref-img-fallback i{ color: var(--brand); }
html[data-theme="light"] .ref-img-fallback span{ color: #3a3a44; }


.ref-pill-stock{
    top: 12px !important;
    left: 13px !important;
    gap: 6px;
    padding: 7px 15px !important;
    min-height: 32px;
    border-radius: 30px !important;
    background: rgba(35, 35, 35, .92) !important;
    border: 1px solid rgba(255, 255, 255, .07) !important;
    color: #eeeeee !important;
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    text-shadow: none;
}
.ref-pill-stock i{ font-size: 14px; color: var(--brand-light); }
.ref-pill-stock-out i{ color: #ff1744; }
html[data-theme="light"] .ref-pill-stock{
    background: rgba(30, 30, 36, .88) !important;
    color: #ffffff !important;
}


.ref-body{
    padding: 16px 0 0 !important;
    gap: 0;
}
.ref-name{
    font-family: 'LINE Seed Sans TH', sans-serif !important;
    font-size: 28px !important;
    font-weight: 600;
    letter-spacing: -.3px;
    line-height: 1.25 !important;
    color: #f5f5f5 !important;
    margin: 0 0 1px;
}
.ref-sub{
    font-size: 16px !important;
    font-weight: 300;
    line-height: 1.4;
    color: #777777 !important;
    margin: 0 0 13px !important;
}
html[data-theme="light"] .ref-name{ color: #111111 !important; }
html[data-theme="light"] .ref-sub{ color: #6a6a75 !important; }


.ref-meta{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 !important;
}
.ref-price-wrap{
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.ref-old{
    font-size: 16px !important;
    color: #555555 !important;
    text-decoration: line-through;
}
.ref-price{
    font-family: 'LINE Seed Sans TH', sans-serif !important;
    font-size: 28px !important;
    font-weight: 600;
    letter-spacing: -.3px;
    line-height: 1;
    color: var(--brand-light) !important;
}
html[data-theme="light"] .ref-price{ color: var(--brand) !important; }


.ref-status{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 37px;
    padding: 8px 14px !important;
    background: #0d0d0d !important;
    border: 1px solid #1b1b1b !important;
    border-radius: 30px !important;
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1;
    color: #00e94f !important;
    white-space: nowrap;
}
.ref-status i{
    width: 9px !important;
    height: 9px !important;
    font-size: 9px !important;
    color: #00e94f !important;
    box-shadow: 0 0 5px #00e94f, 0 0 10px rgba(0, 233, 79, .4);
    border-radius: 50%;
}
.ref-status-out{
    background: #0d0d0d !important;
    border-color: #1b1b1b !important;
    color: #ff1744 !important;
}
.ref-status-out i{
    color: #ff1744 !important;
    box-shadow: 0 0 5px #ff1744, 0 0 10px rgba(255, 23, 68, .4);
}
html[data-theme="light"] .ref-status{ background: #f4f4f7 !important; border-color: #e4e4ea !important; }


.ref-btn{
    width: 100%;
    height: 64px;
    margin-top: 17px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark)) !important;
    border: none;
    border-radius: 14px !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 12px 24px -10px rgba(var(--brand-rgb), .5);
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
}
.ref-btn:hover{
    background: linear-gradient(135deg, var(--brand-light), var(--brand)) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}
.ref-btn-ico{ font-size: 18px; }
.ref-btn-off{
    background: #0d0d0d !important;
    border: 1px solid #1b1b1b !important;
    color: #666666 !important;
    box-shadow: none;
    cursor: not-allowed;
}
.ref-btn-off:hover{ color: #666666 !important; filter: none; transform: none; }
html[data-theme="light"] .ref-btn-off{ background: #f0f0f4 !important; border-color: #e2e2e8 !important; color: #8a8a95 !important; }


@media (max-width: 800px){
    .ref-card{ padding: 12px !important; border-radius: 17px !important; }
    .ref-img{ border-radius: 12px !important; }
    .ref-body{ padding-top: 14px !important; }
    .ref-name{ font-size: 24px !important; }
    .ref-sub{ font-size: 15px !important; }
    .ref-price{ font-size: 25px !important; }
    .ref-status{ padding: 7px 11px !important; font-size: 12px !important; }
    .ref-btn{ height: 75px !important; }
}
@media (max-width: 430px){
    .ref-name{ font-size: 22px !important; }
    .ref-sub{ font-size: 14px !important; }
    .ref-price{ font-size: 23px !important; }
    .ref-status{ padding: 7px 10px !important; font-size: 11px !important; }
}


.ref-card{ padding: 18px 17px 17px !important; border-radius: 20px !important; }
.ref-img{ border-radius: 14px !important; }
.ref-body{ padding: 16px 0 0 !important; }
.ref-name{ font-size: 28px !important; }
.ref-sub{ font-size: 16px !important; margin: 0 0 13px !important; }
.ref-price{ font-size: 28px !important; }
.ref-old{ font-size: 16px !important; }
.ref-status{
    font-size: 14px !important;
    padding: 8px 14px !important;
    min-height: 37px;
    gap: 8px;
}
.ref-pill-stock{ font-size: 14px !important; padding: 7px 15px !important; }
.ref-btn, .ref-btn-off{
    height: 64px !important;
    font-size: 17px !important;
    margin-top: 17px !important;
    border-radius: 14px !important;
}
.ref-btn-ico{ font-size: 18px !important; }


.ref-btn, .ref-btn-off{
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--brand-light), var(--brand) 55%, var(--brand-dark)) !important;
}
.ref-btn:hover{
    background: linear-gradient(135deg, var(--brand), var(--brand-dark)) !important;
}
.ref-btn-off{
    background: #0d0d0d !important;
    border: 1px solid #1b1b1b !important;
    color: #666666 !important;
    box-shadow: none;
}
.ref-btn-off:hover{ color: #666666 !important; filter: none; transform: none; }


.material-symbols-rounded{
    font-family: 'Material Symbols Rounded' !important;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}
.ref-btn .material-symbols-rounded.ref-btn-ico{
    font-size: 20px !important;
    color: #ffffff !important;
    line-height: 1 !important;
}
.ref-btn-off .material-symbols-rounded{ display: none; }


.product-card{
    width: 100%;
    background: #080808;
    border: 1px solid #242424;
    border-radius: 20px;
    padding: 18px 17px 17px;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(0, 0, 0, .5);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    font-family: 'LINE Seed Sans TH', sans-serif;
}
.product-card:hover{
    transform: translateY(-3px);
    border-color: #303030;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .65);
}
.product-card a.product-button{ text-decoration: none; }


.product-card .product-image{
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 14px;
    background: #111;
    line-height: 0;
}
.product-card .product-image img{
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}


.product-card .stock{
    position: absolute;
    top: 12px;
    left: 13px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 15px;
    min-height: 32px;
    border-radius: 30px;
    background: rgba(35, 35, 35, .92);
    border: 1px solid rgba(255, 255, 255, .07);
    color: #eeeeee;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.product-card .stock .material-symbols-rounded{
    font-size: 18px;
    color: #eeeeee;
}


.product-card .product-info{ padding-top: 16px; }
.product-card .product-title{
    color: #f5f5f5;
    font-size: 29px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -.3px;
    margin: 0;
}
.product-card .product-description{
    margin: 1px 0 13px;
    color: #777777;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 300;
}


.product-card .product-bottom{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.product-card .price{
    color: #ffffff;
    font-size: 29px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -.3px;
}
.product-card .price-old{
    color: #777777;
    font-size: 16px;
    font-weight: 400;
    margin-right: 6px;
    text-decoration: line-through;
}
.product-card .status{
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 37px;
    padding: 8px 14px;
    background: #101010;
    border: 1px solid #202020;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
}
.product-card .status-dot{
    width: 9px;
    height: 9px;
    flex-shrink: 0;
    border-radius: 50%;
}
.product-card .status.available{ color: #00e94f; }
.product-card .status.available .status-dot{
    background: #00e94f;
    box-shadow: 0 0 5px #00e94f, 0 0 10px rgba(0, 233, 79, .4);
}
.product-card .status.sold{ color: #ff1744; }
.product-card .status.sold .status-dot{
    background: #ff1744;
    box-shadow: 0 0 5px #ff1744, 0 0 10px rgba(255, 23, 68, .4);
}


.product-card .product-button{
    width: 100%;
    height: 54px;
    margin-top: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #101010;
    border: 1px solid #202020;
    border-radius: 14px;
    color: #999999;
    font-family: 'LINE Seed Sans TH', sans-serif;
    font-size: 17px;
    font-weight: 400;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.product-card .product-button:hover{
    background: #151515;
    border-color: #303030;
    color: #ffffff;
}
.product-card .product-button:active{ transform: scale(.99); }
.product-card .product-button .material-symbols-rounded{
    font-size: 20px;
    color: #777777;
}
.product-card.sold-out .product-button{
    color: #666666;
    cursor: not-allowed;
    background: #0d0d0d;
}
.product-card.sold-out .product-button:hover{
    color: #666666;
    background: #0d0d0d;
    border-color: #202020;
}
.product-card .product-note{
    margin: 10px 0 0;
    background: #101010;
    border: 1px solid #202020;
    border-radius: 12px;
    padding: 12px;
    text-align: center;
    font-size: 13px;
    color: #999999;
    line-height: 1.4;
}


html[data-theme="light"] .product-card{ background: #ffffff; border-color: #e2e2e8; box-shadow: 0 15px 45px rgba(0, 0, 0, .12); }
html[data-theme="light"] .product-card:hover{ border-color: #cfcfd8; }
html[data-theme="light"] .product-card .product-image{ background: #f4f4f7; }
html[data-theme="light"] .product-card .product-title{ color: #1a1a1f; }
html[data-theme="light"] .product-card .product-description,
html[data-theme="light"] .product-card .price-old{ color: #8a8a95; }
html[data-theme="light"] .product-card .price{ color: #1a1a1f; }
html[data-theme="light"] .product-card .status,
html[data-theme="light"] .product-card .product-button,
html[data-theme="light"] .product-card .product-note{ background: #f4f4f7; border-color: #e4e4ea; color: #8a8a95; }
html[data-theme="light"] .product-card .product-button:hover{ background: #eaeaf0; color: #1a1a1f; }
html[data-theme="light"] .product-card .stock{ background: rgba(255, 255, 255, .85); border-color: rgba(0, 0, 0, .08); color: #333333; }
html[data-theme="light"] .product-card .stock .material-symbols-rounded{ color: #333333; }


@media (max-width: 800px){
    .product-card{ padding: 12px; border-radius: 17px; }
    .product-card .product-image{ border-radius: 12px; }
    .product-card .product-info{ padding-top: 14px; }
    .product-card .product-title{ font-size: 24px; }
    .product-card .product-description{ font-size: 15px; }
    .product-card .price{ font-size: 25px; }
    .product-card .status{ padding: 7px 11px; font-size: 12px; }
    .product-card .product-button{ height: 54px; }
}
@media (max-width: 430px){
    .product-card .product-title{ font-size: 22px; }
    .product-card .product-description{ font-size: 14px; }
    .product-card .price{ font-size: 23px; }
    .product-card .status{ padding: 7px 10px; font-size: 11px; }
}


.product-card .product-image{ min-height: 200px; }


.product-card .price{
    color: var(--brand);
}
.product-card .product-button{
    background: linear-gradient(135deg, var(--brand-light), var(--brand) 55%, var(--brand-dark));
    border: none;
    color: #ffffff;
    box-shadow: 0 12px 24px -10px rgba(var(--brand-rgb), .55);
}
.product-card .product-button:hover{
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    border: none;
    color: #ffffff;
}
.product-card .product-button .material-symbols-rounded{
    color: #ffffff;
}
html[data-theme="light"] .product-card .price{ color: var(--brand); }
html[data-theme="light"] .product-card .product-button{
    background: linear-gradient(135deg, var(--brand-light), var(--brand) 55%, var(--brand-dark));
    border: none;
    color: #ffffff;
}
html[data-theme="light"] .product-card .product-button:hover{
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    color: #ffffff;
}
html[data-theme="light"] .product-card .product-button .material-symbols-rounded{ color: #ffffff; }


.product-card.sold-out .product-button{
    background: #0d0d0d;
    border: 1px solid #202020;
    color: #666666;
    box-shadow: none;
}
.product-card.sold-out .product-button:hover{
    background: #0d0d0d;
    border-color: #202020;
    color: #666666;
}
.product-card.sold-out .product-button .material-symbols-rounded{ color: #777777; }
html[data-theme="light"] .product-card.sold-out .product-button{ background: #f4f4f7; border-color: #e4e4ea; color: #8a8a95; }


.product-card .product-image{
    aspect-ratio: 1 / 1;
    min-height: 0;
}
.product-card .product-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-card .product-title{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.product-card .product-description{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.product-card .product-bottom{
    flex-wrap: nowrap;
    min-height: 37px;
}
.product-card .product-bottom .price{
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-shrink: 0;
    white-space: nowrap;
}
.product-card .product-bottom .price-old{
    margin-right: 0;
}
.product-card .product-bottom .status{
    flex-shrink: 0;
}


.product-card, .product-card:hover{
    box-shadow: none !important;
}
html[data-theme="light"] .product-card,
html[data-theme="light"] .product-card:hover{
    box-shadow: none !important;
}


.hero-banners{ background: #0b0b0d; }
.hb-slide img{
    object-fit: contain !important;
}


.banner-item .bi-thumb-wrap{
    width: 170px !important;
    height: 66px !important;
    flex: 0 0 auto;
}
@media (max-width: 575px){
    .banner-item .bi-thumb-wrap{ width: 100% !important; height: 90px !important; }
}


#buyBtn,
#buyBtn:hover{
    color: #fff !important;
}
.stock-detail-panel .pm-btn{
    margin: 0 !important;
}


.cat-empty{
    text-align: center;
    padding: 46px 16px;
    border-radius: 16px;
    background: #151519;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #8b8b96;
}
.cat-empty i{ font-size: 38px; margin-bottom: 12px; opacity: 0.5; display: block; }
.cat-empty p{ margin: 0; font-size: 14px; }
html[data-theme="light"] .cat-empty{
    background: #f2f2f5;
    border-color: #e3e3ea;
    color: #6b6b76;
}


.auth-foot a,
.auth-foot a:link,
.auth-foot a:visited,
.auth-foot a:hover,
.auth-foot a:active,
.auth-foot a:focus{
    color: var(--brand) !important;
    text-decoration: none;
}
html[data-theme="light"] .auth-foot a,
html[data-theme="light"] .auth-foot a:link,
html[data-theme="light"] .auth-foot a:visited,
html[data-theme="light"] .auth-foot a:hover,
html[data-theme="light"] .auth-foot a:active,
html[data-theme="light"] .auth-foot a:focus{
    color: var(--brand-dark) !important;
}
.auth-foot a:hover,
.auth-foot a:focus{ text-decoration: underline; }

a, button, .btn, .form-check-input, input[type="checkbox"], label[for]{
    -webkit-tap-highlight-color: transparent;
}


.hero-banners{
    background:
        radial-gradient(120% 160% at 20% 0%, rgba(var(--brand-rgb), 0.35), transparent 55%),
        radial-gradient(120% 160% at 85% 100%, rgba(var(--brand-rgb), 0.3), transparent 55%),
        linear-gradient(135deg, #1a1530 0%, #241a3d 50%, #171126 100%) !important;
}


.hero-banners{
    border: none !important;
    border-radius: 16px !important;
    background: none !important;
    box-shadow: none !important;
    margin-bottom: 14px;
}


.hero-banners{
    width: 100% !important;
    aspect-ratio: auto !important;
    min-height: 48px;
}


html[data-theme="light"] .qty-btn{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #3f3f46 !important;
}
html[data-theme="light"] .qty-btn:hover{
    border-color: var(--brand) !important;
    color: var(--brand) !important;
}
html[data-theme="light"] .btn-back{
    background: #ffffff !important;
    border-color: #d9d9e2 !important;
    color: #3f3f46 !important;
}
html[data-theme="light"] .btn-back:hover{
    border-color: var(--brand) !important;
    color: var(--brand) !important;
}
html[data-theme="light"] .pm-btn.pm-btn-disabled,
html[data-theme="light"] .pm-btn-disabled,
html[data-theme="light"] .pm-btn.pm-btn-disabled:hover,
html[data-theme="light"] .pm-btn-disabled:hover{
    background: #ececf1 !important;
    color: #9a9aa3 !important;
}


.admin-main textarea.form-control::placeholder{
    color: #9aa0aa !important;
    opacity: 1 !important;
}


.reorder-bar{
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 8px; padding: 5px 9px;
    background: rgba(124,58,237,0.08);
    border: 1px solid rgba(124,58,237,0.18);
    border-radius: 8px;
}
.reorder-label{
    font-size: 11px; font-weight: 600; color: #b9a5f0;
    display: inline-flex; align-items: center; gap: 6px;
}
.reorder-btns{ display: flex; gap: 4px; }
.reorder-btn{
    width: 26px; height: 26px; padding: 0; line-height: 1;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #3f4650; background: #1a1d22; color: #c6c6c6;
    border-radius: 6px; cursor: pointer; font-size: 12px; transition: all .15s;
}
.reorder-btn:hover{ border-color: var(--brand); color: var(--brand); }


.tp-methods{ grid-template-columns: 1fr; gap: 12px; }
.tp-method{
    display: flex; align-items: center; gap: 14px;
    text-align: left; padding: 16px 18px;
}
.tp-radio{
    position: static; flex: 0 0 20px; margin: 0;
}
.tp-method.active .tp-radio{ border-color: #22c55e; background: #22c55e; }
.tp-icon{
    flex: 0 0 54px; width: 54px; height: 54px;
    margin: 0; border-radius: 14px; font-size: 22px;
}
.tp-method-info{ flex: 1; min-width: 0; }
.tp-method-info .tp-name{ margin-bottom: 3px; font-size: 15px; }
.tp-method-info .tp-desc{ min-height: 0; margin-bottom: 0; }
.tp-method-info .tp-fee{ margin-top: 8px; }


.tp-why{
    background: #161922; border: 1.5px solid #262b38; border-radius: 16px;
    padding: 18px 20px; margin-bottom: 12px; max-width: 640px; margin-left: auto; margin-right: auto;
}
.tp-why-title{ color: #fff; font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.tp-why-desc{ color: #9aa3b2; font-size: 13px; line-height: 1.7; margin: 0; }


html[data-theme="light"] .tp-why{ background: #fbfbfd; border-color: #e6e6ef; }
html[data-theme="light"] .tp-why-title{ color: #17171c; }
html[data-theme="light"] .tp-why-desc{ color: #6b6b76; }

@media (max-width: 720px){
    .tp-method{ padding: 14px; gap: 12px; }
    .tp-icon{ flex-basis: 46px; width: 46px; height: 46px; border-radius: 12px; }
    .tp-radio{ flex-basis: 18px; width: 18px; height: 18px; }
}


.tp-methods{
    grid-template-columns: repeat(var(--tp-cols, 3), minmax(0, 1fr));
    gap: 14px;
    justify-content: center;
    max-width: 860px;
}
.tp-method{ padding: 16px 14px; gap: 12px; height: 100%; }
.tp-methods.tp-cols-1{ grid-template-columns: repeat(1, minmax(0, 420px)); max-width: 420px; margin: 0 auto 16px; }
.tp-methods.tp-cols-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; margin: 0 auto 16px; }
.tp-methods.tp-cols-3{ max-width: 860px; margin: 0 auto 16px; }
.tp-radio{ display: none; }
.tp-icon{
    flex: 0 0 46px; width: 46px; height: 46px;
    border-radius: 12px; font-size: 20px;
}
.tp-icon-angpao{
    background: #ffffff;
    box-shadow: 0 6px 16px -8px rgba(0,0,0,.55);
}
.tp-icon-angpao.has-img{ background: transparent; box-shadow: none; }
.tp-method-info .tp-name{ font-size: 14.5px; }
.tp-method-info .tp-desc{ font-size: 11.5px; line-height: 1.45; }
.tp-fee{
    background: #23262e;
    border: 1px solid #2f343d;
    color: #34d399;
}

@media (max-width: 720px){
    .tp-methods{ grid-template-columns: 1fr; }
}


html[data-theme="light"] .tp-icon-angpao{
    background: #ffffff;
    border: 1px solid #e7e7ef;
    box-shadow: 0 4px 10px -6px rgba(0,0,0,.2);
}
html[data-theme="light"] .tp-fee{
    background: #eef1f6;
    border: 1px solid #dfe3ea;
    color: #16a34a;
}


.tp-icon.has-img{
    flex: 0 0 46px;
    width: 46px; height: 46px;
    margin: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #0f1219;
    border: 1px solid #262b38;
    box-shadow: none;
}
.tp-icon.has-img img{
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
}

.tp-icon-angpao.has-img{
    background: #ffffff;
    border-color: #e7e7ef;
}


.tp-icon,
.tp-icon.has-img{
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-radius: 16px;
    font-size: 30px;
}
.tp-icon.has-img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.tp-icon svg{
    width: 40px;
    height: 30px;
}
@media (max-width: 720px){
    .tp-icon,
    .tp-icon.has-img{
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
        border-radius: 14px;
        font-size: 24px;
    }
    .tp-icon svg{ width: 32px; height: 24px; }
}


.category-banner{
    background: none !important;
}
.category-banner-img{
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}


.idb-banner{
    background: none !important;
}
.idb-banner img{
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}
.idb-fallback{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5b6270;
    font-size: 34px;
}


.idb-card{
    border-color: rgba(var(--brand-rgb), .28) !important;
    box-shadow:
        0 0 0 1px rgba(var(--brand-rgb), .10),
        0 0 18px -6px rgba(var(--brand-rgb), .45),
        0 10px 24px -18px rgba(0,0,0,.5) !important;
}
html[data-theme="light"] .idb-card{
    border-color: rgba(var(--brand-rgb), .22) !important;
    box-shadow:
        0 0 0 1px rgba(var(--brand-rgb), .08),
        0 0 18px -6px rgba(var(--brand-rgb), .30),
        0 8px 20px -16px rgba(60,40,120,.35) !important;
}


.category-card{
    border-color: rgba(var(--brand-rgb), .28) !important;
    box-shadow:
        0 0 0 1px rgba(var(--brand-rgb), .10),
        0 0 18px -6px rgba(var(--brand-rgb), .45),
        0 10px 24px -18px rgba(0,0,0,.5) !important;
}
html[data-theme="light"] .category-card{
    border-color: rgba(var(--brand-rgb), .22) !important;
    box-shadow:
        0 0 0 1px rgba(var(--brand-rgb), .08),
        0 0 18px -6px rgba(var(--brand-rgb), .30),
        0 8px 20px -16px rgba(60,40,120,.35) !important;
}


.stat-item-value{
    position: absolute !important;
    left: 0 !important;
    bottom: 16px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    width: max-content !important;
    max-width: none !important;
    gap: 5px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}
.stat-num,
.stat-item-unit{
    display: inline-block !important;
    flex: 0 0 auto !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
@media (max-width: 575.98px){
    .stat-item-value{
        left: 0 !important;
        bottom: 13px !important;
    }
}

/* v327 - แสดงรูปแบนเนอร์หมวดหมู่เต็มภาพ ไม่ตัดขอบ */
.category-banner{
    height: auto !important;
}
.category-banner-img{
    height: auto !important;
}

/* v328 - รูปแบนเนอร์ร้านค้าไอดี (.idb) แสดงเต็มภาพ ไม่ตัดขอบ ไม่มี mask */
.idb-banner{
    aspect-ratio: auto !important;
    min-height: 0 !important;
    background: #161922 !important;
}
.idb-banner img{
    position: static !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* v329 - รูปแบนเนอร์หน้าหมวดหมู่ (.cat-banner) แสดงเต็มภาพ ไม่ตัดขอบ */
.cat-banner{
    aspect-ratio: auto !important;
    min-height: 0 !important;
}
.cat-banner img{
    height: auto !important;
    object-fit: contain !important;
}
