:root {
    --primary: #6366f1;
    --primaryHover: #4f46e5;
    --bg: #f8fafc;
    --cardBg: #fff;
    --fontColor: #1e293b;
    --fontMuted: #94a3b8;
    --borderColor: #e2e8f0;
    --buttonBgColor: #6366f1;
    --buttonBorderColor: #6366f1;
    --marRadius: 8px;
    --headerBg: #fff;
    --footerBg: #1e293b;
    --shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;height:100%}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans SC",sans-serif;
    background:var(--bg);
    color:var(--fontColor);
    font-size:14px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    min-height:100%;
    display:flex;
    flex-direction:column;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:1400px;margin:0 auto;padding:0 16px}

/* ===== HEADER ===== */
.header{background:var(--headerBg);border-bottom:1px solid var(--borderColor);position:sticky;top:0;z-index:100}
.h-fix{background:var(--headerBg)}
.header-bar{display:flex;align-items:center;justify-content:space-between;height:56px;gap:12px}
.logo-text{font-size:20px;font-weight:800;letter-spacing:-.5px;flex-shrink:0}
.logo-text a{color:var(--primary)}
#zhanwei{display:none}
.header-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.header-right-btn{display:flex;align-items:center;gap:6px}
.header-order-link{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;color:var(--fontMuted);border-radius:var(--marRadius);transition:.2s}
.header-order-link:hover{background:#f1f5f9;color:var(--fontColor)}
.header-order-link i{font-size:13px}
.header-auth-links{display:flex;align-items:center;gap:6px}
.header-auth-btn{display:inline-flex;align-items:center;padding:6px 16px;font-size:13px;font-weight:600;border-radius:var(--marRadius);transition:.2s}
.header-auth-btn.is-ghost{color:var(--fontColor);border:1px solid var(--borderColor)}
.header-auth-btn.is-ghost:hover{border-color:var(--primary);color:var(--primary)}
.header-auth-btn.is-solid{background:var(--primary);color:#fff}
.header-auth-btn.is-solid:hover{background:var(--primaryHover)}
.m-btn{display:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--marRadius);cursor:pointer;font-size:18px;color:var(--fontColor);border:1px solid var(--borderColor);background:none}
.m-btn:hover{background:#f1f5f9}
#mask{display:none}

/* ===== SITE NOTICE ===== */
.df-topbar{margin-bottom:16px}
.df-site-notice{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:var(--marRadius);padding:14px 18px;border:1px solid #c7d2fe}
.df-site-notice-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.df-site-notice-title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--primary)}
.df-site-notice-title i{font-size:14px}
.df-site-notice-body{font-size:13px;color:#475569;line-height:1.5}

/* ===== CATEGORY SECTION ===== */
.df-category-section{margin-bottom:20px}
.df-category-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.df-category-grid{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.df-category-card{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--marRadius);font-size:13px;font-weight:600;transition:.2s;border:1px solid var(--borderColor);background:var(--cardBg);color:var(--fontMuted);cursor:pointer}
.df-category-card:hover{border-color:var(--primary);color:var(--primary)}
.df-category-card.is-active{border-color:var(--primary);background:#eef2ff;color:var(--primary)}
.df-category-card.is-featured.is-active{border-color:#f59e0b;background:#fffbeb;color:#d97706}
.df-category-badge{display:inline-flex;align-items:center;font-size:12px}
.df-category-badge.is-muted{opacity:.5}
.df-search-form{flex-shrink:0;min-width:220px}
.df-search-shell{display:flex;align-items:center;background:var(--cardBg);border:1px solid var(--borderColor);border-radius:var(--marRadius);padding:0 4px 0 12px;transition:.2s}
.df-search-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.df-search-icon{color:var(--fontMuted);font-size:14px;flex-shrink:0}
.df-search-input{flex:1;border:none;outline:none;padding:8px 6px;font-size:13px;background:transparent;color:var(--fontColor);min-width:0}
.df-search-input::placeholder{color:var(--fontMuted)}
.df-search-clear{display:none;background:none;border:none;padding:4px 6px;cursor:pointer;color:var(--fontMuted);font-size:12px}
.df-search-clear.is-visible{display:block}
.df-search-clear:hover{color:var(--fontColor)}
.df-search-submit{padding:6px 14px;background:var(--primary);color:#fff;border:none;border-radius:var(--marRadius);font-size:13px;font-weight:600;cursor:pointer;transition:.2s;flex-shrink:0;margin:3px}
.df-search-submit:hover{background:var(--primaryHover)}

/* ===== SUBTABS ===== */
.df-subtabs-wrap{margin-top:12px;margin-bottom:8px}
.df-subtabs-wrap.is-hidden{display:none}
.df-subtabs{display:flex;flex-wrap:wrap;gap:6px}
.df-subtab-chip{display:inline-flex;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid var(--borderColor);background:var(--cardBg);color:var(--fontMuted);cursor:pointer;transition:.2s}
.df-subtab-chip:hover{border-color:var(--primary);color:var(--primary)}
.df-subtab-chip.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ===== PRODUCTS SECTION ===== */
.df-products-section{margin-top:4px}
.df-products-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.df-section-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800}
.df-section-title i{font-size:16px;color:var(--primary)}

/* ===== PRODUCT GRID ===== */
.df-products-grid{display:grid;gap:15px}
.grid-cols-xs-2{grid-template-columns:repeat(2,1fr)}
@media(min-width:576px){.grid-cols-sm-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.grid-cols-md-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:992px){.grid-cols-lg-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){.grid-cols-xl-6{grid-template-columns:repeat(6,1fr)}}
.grid-gap-15{gap:15px}

/* ===== PRODUCT CARD ===== */
.df-product-card{background:var(--cardBg);border-radius:var(--marRadius);overflow:hidden;border:1px solid var(--borderColor);transition:.2s;display:flex;flex-direction:column}
.df-product-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px);border-color:#cbd5e1}
.df-product-thumb{position:relative;overflow:hidden;aspect-ratio:1/1;background:#f8fafc}
.df-product-thumb img{width:100%;height:100%;object-fit:cover;transition:.3s}
.df-product-card:hover .df-product-thumb img{transform:scale(1.05)}
.df-product-body{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
.df-product-name{font-size:14px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.df-product-badges{display:flex;gap:4px;flex-wrap:wrap}
.df-pill{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}
.df-pill.is-auto{background:#dbeafe;color:#1d4ed8}
.df-pill.is-manual{background:#fef3c7;color:#b45309}
.df-pill i{font-size:10px}
.df-product-stats{display:flex;justify-content:space-between;font-size:11px;color:var(--fontMuted);padding:4px 0}
.df-product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px}
.df-product-price-box{display:flex;flex-direction:column}
.df-price-label{font-size:10px;color:var(--fontMuted);letter-spacing:.5px;font-weight:600}
.df-product-price-row{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.df-product-price{font-size:18px;font-weight:800;color:var(--primary)}
.df-product-price em{font-size:11px;font-weight:600;font-style:normal;color:var(--fontMuted)}
.df-product-market{font-size:12px;color:var(--fontMuted);text-decoration:line-through}
.df-product-action{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f1f5f9;color:var(--fontMuted);font-size:12px;transition:.2s;flex-shrink:0}
.df-product-card:hover .df-product-action{background:var(--primary);color:#fff}

/* ===== SKELETON ===== */
.df-skeleton-card{background:var(--cardBg);border-radius:var(--marRadius);overflow:hidden;border:1px solid var(--borderColor);padding:0}
.df-skeleton-thumb{aspect-ratio:1/1;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}
.df-skeleton-body{padding:12px;display:flex;flex-direction:column;gap:8px}
.df-skeleton-line{height:12px;border-radius:4px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}
.df-skeleton-line.short{width:60%}
.df-skeleton-line.price{width:40%;height:16px}
@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ===== EMPTY STATE ===== */
.df-empty-state{text-align:center;padding:60px 20px;color:var(--fontMuted)}
.df-empty-state i{font-size:48px;margin-bottom:12px;color:#cbd5e1}
.df-empty-state h3{font-size:18px;font-weight:700;margin-bottom:6px;color:var(--fontColor)}
.df-empty-state p{font-size:14px;color:var(--fontMuted)}

/* ===== STICKY FOOTER ===== */
.blog-container,.df-list-page{flex:1 0 auto;display:flex;flex-direction:column}
.df-shell{flex:1 0 auto;max-width:1400px;margin:0 auto;padding:16px}

/* ===== FOOTER ===== */
.main-footer{background:var(--cardBg);color:var(--fontMuted);padding:32px 16px;flex-shrink:0;border-top:1px solid var(--borderColor)}
.main-footer .container{max-width:1400px;margin:0 auto}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.footer-brand{font-size:20px;font-weight:800;color:var(--fontColor);letter-spacing:-.5px}
.footer-meta{font-size:13px;line-height:1.6}

/* ===== MOBILE BOTTOM NAV ===== */
.footer-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--cardBg);border-top:1px solid var(--borderColor);z-index:200;padding:4px 0 env(safe-area-inset-bottom,4px);justify-content:space-around}
.footer-nav .nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;font-size:11px;color:var(--fontMuted);transition:.2s;border-radius:var(--marRadius)}
.footer-nav .nav-item.active{color:var(--primary)}
.footer-nav .nav-item .nav-icon{font-size:18px}
.footer-nav .nav-item .nav-text{font-weight:500}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
    .header-order-link span{display:none}
    .header-auth-links .header-auth-btn{padding:6px 12px;font-size:12px}
    .df-category-wrapper{flex-direction:column;align-items:stretch}
    .df-search-form{min-width:0;width:100%}
    .df-category-grid{flex-wrap:wrap;gap:6px}
    .df-category-card{white-space:nowrap;flex-shrink:0}
    .df-site-notice{padding:12px 14px}
    .footer-nav{display:flex}
    .main-footer{padding-bottom:70px}
    .header-kefu{display:none!important}
}
@media(max-width:576px){
    .df-products-grid{gap:10px}
    .df-product-body{padding:10px}
    .df-product-name{font-size:13px}
    .df-product-price{font-size:16px}
    .df-shell{padding:12px}
}
@media(min-width:992px){
    .df-category-card{padding:12px 24px;font-size:15px}
    .df-site-notice{padding:18px 24px}
    .df-site-notice-title{font-size:16px}
    .df-site-notice-body{font-size:15px}
    .df-search-input{padding:10px 8px;font-size:15px}
    .df-search-submit{padding:8px 20px;font-size:14px}
    .df-product-body{padding:16px}
    .df-product-name{font-size:16px}
    .df-product-price{font-size:22px}
    .df-pill{font-size:12px;padding:3px 10px}
    .df-product-stats{font-size:13px}
    .df-price-label{font-size:12px}
    .df-product-market{font-size:13px}
    .df-product-action{width:36px;height:36px;font-size:14px}
    .df-section-title{font-size:22px}
    .df-products-grid{gap:20px}
    .header-bar{height:64px}
    .logo-text{font-size:24px}
    .header-order-link{padding:8px 16px;font-size:14px}
    .header-auth-btn{padding:8px 20px;font-size:14px}
}
@media(min-width:1200px){
    .df-products-grid{gap:24px}
    .df-site-notice{padding:20px 28px}
}

/* ===== BANNER SLIDER ===== */


/* ===== BUY / AUTH / ORDER PAGES ===== */
.page-wrapper{min-height:100%;display:flex;flex-direction:column}
.page-main{flex:1 0 auto;padding:32px 16px 60px;position:relative}
.page-header{background:var(--headerBg);border-bottom:1px solid var(--borderColor);position:sticky;top:0;z-index:100}
.page-header-inner{display:flex;align-items:center;height:52px;gap:12px;max-width:1400px;margin:0 auto;padding:0 16px}
.page-header-inner .back-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--fontMuted);padding:4px 10px;border-radius:var(--marRadius);transition:.2s}
.page-header-inner .back-link:hover{background:#f1f5f9;color:var(--fontColor)}
.page-header-inner .site-title{font-size:15px;font-weight:700;color:var(--fontColor);flex-shrink:0}
.page-header-inner .header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}

/* Auth card */
.auth-card{max-width:420px;margin:0 auto;background:var(--cardBg);border:1px solid var(--borderColor);border-radius:12px;padding:36px 32px;box-shadow:var(--shadow)}
.auth-card h2{font-size:22px;font-weight:800;text-align:center;margin-bottom:4px}
.auth-card .subtitle{text-align:center;font-size:14px;color:var(--fontMuted);margin-bottom:24px}
.auth-card .field{margin-bottom:16px}
.auth-card .field label{display:block;font-size:12px;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;color:var(--fontMuted)}
.auth-card .field input{width:100%;padding:10px 14px;border:1px solid var(--borderColor);border-radius:var(--marRadius);font-size:14px;outline:none;font-family:inherit;transition:.2s}
.auth-card .field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.auth-card .btn-auth{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--marRadius);font-size:14px;font-weight:700;cursor:pointer;transition:.2s;font-family:inherit}
.auth-card .btn-auth:hover{background:var(--primaryHover)}
.auth-card .auth-link{text-align:center;margin-top:16px;font-size:13px;color:var(--fontMuted)}
.auth-card .auth-link a{color:var(--primary);font-weight:600}
.auth-card .message{padding:10px 14px;margin-bottom:16px;font-size:13px;font-weight:600;text-align:center;border-radius:var(--marRadius)}
.auth-card .error{background:#fef2f2;color:#991b1b}
.auth-card .success{background:#f0fdf4;color:#166534}

/* Buy card */
.buy-card{max-width:520px;margin:0 auto;background:var(--cardBg);border:1px solid var(--borderColor);border-radius:12px;padding:32px;box-shadow:var(--shadow)}
.buy-card h2{font-size:20px;font-weight:800;margin-bottom:4px}
.buy-card .subtitle{font-size:13px;color:var(--fontMuted);margin-bottom:20px}
.product-preview{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--borderColor);border-radius:var(--marRadius);margin-bottom:20px}
.preview-img{width:56px;height:56px;border-radius:var(--marRadius);object-fit:cover;flex-shrink:0;border:1px solid var(--borderColor)}
.preview-info .name{font-weight:700;font-size:15px}
.preview-info .cat{font-size:12px;color:var(--fontMuted);margin-top:2px}
.preview-price{margin-left:auto;font-size:22px;font-weight:800;color:var(--primary);text-align:right}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:12px;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;color:var(--fontMuted)}
.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--borderColor);border-radius:var(--marRadius);font-size:14px;outline:none;font-family:inherit;transition:.2s}
.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.form-group .hint{font-size:12px;color:var(--fontMuted);margin-top:4px}
.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.pay-method{position:relative}
.pay-method input{position:absolute;opacity:0}
.pay-method label{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border:1px solid var(--borderColor);border-radius:var(--marRadius);cursor:pointer;transition:.2s;font-size:12px;font-weight:600;gap:4px;text-align:center}
.pay-method label .pay-icon{font-size:24px;line-height:1}
.pay-method label .pay-icon img{width:24px;height:24px}
.pay-method input:checked+label{border-color:var(--primary);background:#eef2ff;color:var(--primary)}
.total-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;margin-bottom:16px;border-top:1px solid var(--borderColor)}
.total-row .label{font-size:13px;color:var(--fontMuted)}
.total-row .amount{font-size:24px;font-weight:800;color:var(--primary)}
.btn-submit{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--marRadius);font-size:14px;font-weight:700;cursor:pointer;transition:.2s;font-family:inherit}
.btn-submit:hover{background:var(--primaryHover)}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--marRadius);font-size:13px;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit}
.btn:hover{background:var(--primaryHover)}
.btn-sm{padding:6px 14px;font-size:12px}
.btn-outline{background:transparent;color:var(--fontColor);border:1px solid var(--borderColor)}
.btn-outline:hover{background:#f1f5f9;border-color:#cbd5e1}

/* ===== ORDER QUERY ===== */
.query-card{max-width:520px;margin:0 auto;background:var(--cardBg);border:1px solid var(--borderColor);border-radius:12px;padding:32px;box-shadow:var(--shadow)}
.query-card h2{font-size:18px;font-weight:800;margin-bottom:16px;text-align:center}
.query-form{display:flex;gap:8px}
.query-form input{flex:1;padding:10px 14px;border:1px solid var(--borderColor);border-radius:var(--marRadius);font-size:14px;outline:none;font-family:inherit;transition:.2s}
.query-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.query-form button{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--marRadius);font-size:13px;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit}
.query-form button:hover{background:var(--primaryHover)}
.order-result{margin-top:20px}
.order-info{border:1px solid var(--borderColor);border-radius:var(--marRadius);padding:16px}
.order-info .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px;gap:8px}
.order-info .row:last-child{border-bottom:none}
.order-info .row .label{color:var(--fontMuted);flex-shrink:0}
.order-info .row .value{font-weight:600;text-align:right}

/* ===== SUCCESS ===== */
.success-card{max-width:520px;margin:0 auto;background:var(--cardBg);border:1px solid var(--borderColor);border-radius:12px;padding:40px 32px;text-align:center;box-shadow:var(--shadow)}
.success-card .icon{font-size:48px;margin-bottom:12px}
.success-card h2{font-size:22px;font-weight:800;margin-bottom:6px}
.success-card p{color:var(--fontMuted);margin-bottom:24px}
.success-card .info-block{text-align:left;border:1px solid var(--borderColor);border-radius:var(--marRadius);padding:16px;margin-bottom:20px}
.success-card .info-block .label{font-size:11px;color:var(--fontMuted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}
.success-card .info-block .value{font-size:14px;margin-bottom:12px}
.success-card .info-block .value:last-child{margin-bottom:0}
.success-card .info-block .card-value{background:#f8fafc;border:1px solid var(--borderColor);border-radius:var(--marRadius);padding:12px;font-family:monospace;font-size:13px;white-space:pre-wrap;word-break:break-all}
.btn-back{display:inline-block;padding:10px 28px;background:var(--primary);color:#fff;border-radius:var(--marRadius);font-weight:600;font-size:14px;transition:.2s}
.btn-back:hover{background:var(--primaryHover)}

/* ===== USER CENTER ===== */
.user-page{max-width:800px;margin:0 auto;padding:0 16px 32px}
.user-card{background:var(--cardBg);border:1px solid var(--borderColor);border-radius:12px;padding:24px;margin-bottom:16px;box-shadow:var(--shadow)}
.user-card .avatar{font-size:40px;margin-bottom:8px}
.user-card .name{font-size:18px;font-weight:800}
.user-card .badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:4px;margin-top:6px}
.user-card .badge.member{background:#eef2ff;color:var(--primary)}
.user-card .badge.normal{background:#f1f5f9;color:var(--fontMuted)}
.balance-box{background:#f8fafc;border:1px solid var(--borderColor);border-radius:var(--marRadius);padding:20px;text-align:center;margin:16px 0}
.balance-box .amount{font-size:32px;font-weight:800;color:var(--primary)}
.balance-box .label{font-size:12px;color:var(--fontMuted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--borderColor)}
.tabs a{padding:10px 20px;font-size:13px;font-weight:600;color:var(--fontMuted);border-bottom:2px solid transparent;transition:.2s;margin-bottom:-1px}
.tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}
.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}
.level-card{border:1px solid var(--borderColor);border-radius:var(--marRadius);padding:20px;text-align:center;background:var(--cardBg)}
.level-card .name{font-size:16px;font-weight:800;margin-bottom:4px}
.level-card .discount{font-size:26px;font-weight:800;color:var(--primary);margin:8px 0}
.level-card .info{font-size:13px;color:var(--fontMuted);margin-bottom:12px}
.order-list{margin-top:8px}
.order-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #f1f5f9;font-size:13px;gap:12px}
.order-item:last-child{border-bottom:none}
.order-item .badge{font-size:11px;padding:1px 8px}
.no-data{text-align:center;padding:40px 20px;color:var(--fontMuted);font-size:14px}

/* ===== BADGE ===== */
.badge{display:inline-block;padding:2px 10px;font-size:11px;font-weight:700;border-radius:4px}
.badge-success{background:#dbeafe;color:#1d4ed8}
.badge-warning{background:#fef3c7;color:#b45309}
.badge-info{background:#e0e7ff;color:#4338ca}
.badge-secondary{background:#f1f5f9;color:var(--fontMuted)}

/* ===== KEFU FLOAT ===== */
.rides-cs{font-size:12px;background:var(--primary);position:fixed;top:250px;right:0;z-index:1500;border-radius:6px 0 0 6px;box-shadow:var(--shadow)}
.rides-cs .floatL{width:36px;float:left;position:relative;z-index:1;margin-top:21px;height:181px}
.rides-cs .floatL a{font-size:0;text-indent:-999em;display:block}
.rides-cs .floatR{width:130px;float:left;padding:5px;overflow:hidden;display:none}
.rides-cs .floatR .cn{background:#F7F7F7;border-radius:6px;margin-top:4px}
.rides-cs .cn .titZx{font-size:14px;margin-bottom:0;color:#333;font-weight:600;line-height:24px;padding:5px;text-align:center}
.rides-cs .cn ul{padding:0;margin:0}
.rides-cs .cn ul li{line-height:38px;height:38px;border-bottom:solid 1px #E6E4E4;overflow:hidden;text-align:center;list-style:none}
.rides-cs .cn ul li span{color:#777}
.rides-cs .cn ul li a{color:#777}
.rides-cs .cn ul li img{vertical-align:middle}
.rides-cs .btnOpen,.rides-cs .btnCtn{position:relative;z-index:9;top:25px;left:0;background-image:url(../content/plugins/service/shopnc.png);background-repeat:no-repeat;display:block;height:146px;padding:8px}
.rides-cs .btnOpen{background-position:-410px 0}
.rides-cs .btnCtn{background-position:-450px 0}

/* ===== MUSIC PLAYER ===== */
.music-player{position:fixed;bottom:80px;right:16px;z-index:300;background:var(--cardBg);border:1px solid var(--borderColor);border-radius:12px;padding:8px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:.2s;max-width:220px}
.music-player:hover{box-shadow:0 6px 20px rgba(0,0,0,.12)}
.player-btn{position:relative;width:36px;height:36px;flex-shrink:0}
.disc{width:36px;height:36px;border-radius:50%;overflow:hidden;animation:spin 4s linear infinite;animation-play-state:paused}
.disc-inner{width:100%;height:100%}
.disc-inner img{width:100%;height:100%;object-fit:cover}
.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;color:var(--primary);font-weight:700}
.player-info{overflow:hidden;flex:1;min-width:0}
.music-title{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-artist{font-size:10px;color:var(--fontMuted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#f1f5f9;border-radius:0 0 12px 12px;overflow:hidden}
.bar-progress{height:100%;background:var(--primary);width:0;transition:width .3s}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ===== ANNOUNCEMENT MODAL ===== */
#annModal{display:none;position:fixed;z-index:10000;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);justify-content:center;align-items:center}

/* ===== NOTICE BAR ===== */
.notice-bar{background:var(--footerBg);padding:10px 0;overflow:hidden;position:relative}
.notice-inner{display:flex;align-items:center;white-space:nowrap;animation:scrollNotice 30s linear infinite}
.notice-label{display:inline-flex;align-items:center;gap:4px;background:var(--primary);color:#fff;padding:2px 12px;font-size:12px;font-weight:700;flex-shrink:0;margin-right:20px;border-radius:4px}
.notice-text{display:inline-block;color:#94a3b8;font-size:13px}
.notice-text span{display:inline-block;margin-right:80px}
@keyframes scrollNotice{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== FOOTER SIMPLE ===== */
.footer-simple{text-align:center;padding:28px 16px;color:var(--fontMuted);font-size:13px;border-top:1px solid var(--borderColor);background:var(--cardBg);flex-shrink:0}
