/**
 * SpeedPin - 样式表
 * 版本: 2.0 — SkillHub 风格改版
 * 设计参考: skillhub.tencent.com
 */

/* ============ 基础重置 ============ */
*{box-sizing:border-box;margin:0;padding:0;}
:root{
    color-scheme:light;
    --sp-brand-navy:#0B1238;
    --sp-text:#111827;
    --sp-muted:#6B7280;
    --sp-border:#E5E7EB;
    --sp-bg:#F8FAFC;
    --sp-surface:#FFFFFF;
    --sp-surface-2:#F3F6FB;
    --sp-primary:#2563EB;
    --sp-primary-strong:#1D4ED8;
    --sp-success:#16A34A;
    --sp-danger:#DC2626;
    --sp-warning:#D97706;
    --sp-radius-sm:12px;
    --sp-radius:16px;
    --sp-radius-lg:20px;
    --sp-shadow-sm:0 8px 20px rgba(15,23,42,0.06);
    --sp-shadow:0 18px 44px rgba(15,23,42,0.10);
    --sp-gradient:linear-gradient(135deg,#FF2D55 0%,#FF7A18 18%,#FFD60A 36%,#34C759 54%,#32ADE6 72%,#5856D6 86%,#AF52DE 100%);
    --sp-focus:0 0 0 4px rgba(37,99,235,0.16);
}
@media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
        color-scheme:dark;
        --sp-brand-navy:#DCE6FF;
        --sp-text:#F8FAFC;
        --sp-muted:#A8B3C7;
        --sp-border:#263247;
        --sp-bg:#080C18;
        --sp-surface:#101827;
        --sp-surface-2:#151F31;
        --sp-primary:#7AA2FF;
        --sp-primary-strong:#A5BEFF;
        --sp-success:#5AD889;
        --sp-danger:#FF7A83;
        --sp-warning:#FDBA55;
        --sp-shadow-sm:0 8px 22px rgba(0,0,0,0.28);
        --sp-shadow:0 18px 48px rgba(0,0,0,0.38);
        --sp-focus:0 0 0 4px rgba(122,162,255,0.22);
    }
}
[data-theme="dark"]{
    color-scheme:dark;
    --sp-brand-navy:#DCE6FF;
    --sp-text:#F8FAFC;
    --sp-muted:#A8B3C7;
    --sp-border:#263247;
    --sp-bg:#080C18;
    --sp-surface:#101827;
    --sp-surface-2:#151F31;
    --sp-primary:#7AA2FF;
    --sp-primary-strong:#A5BEFF;
    --sp-success:#5AD889;
    --sp-danger:#FF7A83;
    --sp-warning:#FDBA55;
    --sp-shadow-sm:0 8px 22px rgba(0,0,0,0.28);
    --sp-shadow:0 18px 48px rgba(0,0,0,0.38);
    --sp-focus:0 0 0 4px rgba(122,162,255,0.22);
}
body{
    font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','PingFang SC','Segoe UI',system-ui,sans-serif;
    background:var(--sp-bg);
    min-height:100vh;
    color:var(--sp-text);
}

/* ============ Legacy top notice component ============ */
.maintenance-top-notice{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:9px 16px;
    background:#fff7ed;
    color:#9a3412;
    border-bottom:1px solid #fed7aa;
    font-size:14px;
    font-weight:600;
    line-height:1.5;
    text-align:center;
}
.maintenance-top-notice__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#ea580c;
    color:#fff;
    font-size:13px;
    line-height:1;
    flex:0 0 auto;
}
.maintenance-top-notice__text{
    min-width:0;
}
.maintenance-top-notice__close{
    flex:0 0 auto;
    border:1px solid rgba(154,52,18,0.28);
    background:rgba(255,255,255,0.7);
    color:#9a3412;
    border-radius:6px;
    padding:3px 8px;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
    cursor:pointer;
}
.maintenance-top-notice__close:hover{
    background:#fff;
}

/* ============ 头部导航 ============ */
header{
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    padding:12px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    box-shadow:0 1px 3px rgba(0,0,0,0.06);
    border-bottom:1px solid rgba(0,0,0,0.06);
    position:sticky;
    top:0;
    z-index:100;
}
header .logo{
    font-weight:700;
    font-size:20px;
    color:#2563eb;
    white-space:nowrap;
    flex:1;
}
header .site-logo-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:inherit;
    text-decoration:none;
}
header .site-logo-mark{
    width:36px;
    height:36px;
    border-radius:8px;
    object-fit:cover;
    flex:0 0 auto;
}
header .site-logo-text{
    line-height:1;
}
header nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex-wrap:wrap;
    flex:2;
}
header nav a{
    color:#3a3a3c;
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    padding:6px 14px;
    border-radius:980px;
    transition:all .2s;
    white-space:nowrap;
}
header nav a:hover{
    color:#2563eb;
    background:#eef4fb;
}
header nav a.nav-link-recharge,
header nav a.nav-link-review{color:#a16207;}
header nav a.nav-link-admin{color:#2563eb;}
header nav a.nav-link-admin-message{color:#c24182;}
.nav-badge{
    padding:2px 6px;
    border-radius:10px;
    font-size:11px;
    margin-left:3px;
    border:1px solid transparent;
}
.nav-badge-danger{
    background:#fff1f2;
    color:#dc2626;
    border-color:#f3c6cf;
}
.nav-badge-primary{
    background:#eef4ff;
    color:#2563eb;
    border-color:#bfdbfe;
}
.nav-badge-admin{
    background:#fcf7fb;
    color:#c24182;
    border-color:#ecd9e8;
}
.nav-badge-warm{
    background:#fff8e8;
    color:#a16207;
    border-color:#f1dfb5;
}
.cs-status{
    padding:4px 10px;
    border-radius:12px;
    font-size:12px;
    white-space:nowrap;
}
.cs-status-online{
    background:#d4edda;
    color:#155724;
}
.cs-status-offline{
    background:#f8d7da;
    color:#721c24;
}
.header-logout-form{
    display:inline;
    margin:0;
}
header .user-info{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0;
    font-size:13px;
    flex-wrap:wrap;
    flex:1;
    justify-content:flex-end;
}
header .user-info .username{
    color:#3a3a3c;
    font-weight:500;
}
header .user-info .balance{
    color:#15803d;
    font-weight:600;
}
header .logout-btn{
    background:none;
    border:none;
    color:#dc2626;
    cursor:pointer;
    font-size:13px;
    padding:4px 8px;
    border-radius:980px;
    transition:all .2s;
}
header .logout-btn:hover{
    background:rgba(255,59,48,0.08);
}

/* ============ 主内容区 ============ */
main{
    max-width:1100px;
    margin:25px auto;
    background:rgba(255,255,255,0.8);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    padding:25px;
    border-radius:18px;
    box-shadow:0 2px 12px rgba(0,0,0,0.04);
    border:1px solid rgba(255,255,255,0.9);
}
h2{font-size:24px;margin-bottom:15px;color:#1c1c1e;font-weight:700;}
h3{font-size:18px;margin:18px 0 12px;color:#1c1c1e;font-weight:600;}
p{margin:8px 0;font-size:14px;line-height:1.7;color:#3a3a3c;}

/* ============ 公告样式 ============ */
.ann-card{
    background:#fff7f5;
    border:1px solid #f0caca;
    border-left:4px solid #dc2626;
    border-radius:0 14px 14px 0;
    margin-bottom:25px;
    overflow:hidden;
}
.ann-trigger{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 18px;
    background:transparent;
    color:#1c1c1e;
    border:0;
    border-radius:0;
    box-shadow:none;
    cursor:pointer;
    text-align:left;
}
.ann-trigger:hover{
    background:rgba(220,38,38,0.04);
    box-shadow:none;
    transform:none;
    color:#1c1c1e;
}
.ann-trigger-main{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}
.ann-icon{
    font-size:18px;
    line-height:1;
    flex-shrink:0;
}
.ann-title{
    font-size:15px;
    font-weight:700;
    color:#dc2626;
    white-space:nowrap;
}
.ann-badge{
    display:inline-flex;
    align-items:center;
    height:20px;
    padding:0 8px;
    border-radius:999px;
    background:#dc2626;
    color:#fff;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
}
.ann-card.ann-read .ann-badge{display:none;}
.ann-arrow{
    color:#dc2626;
    font-size:16px;
    font-weight:700;
    line-height:1;
    flex-shrink:0;
    transition:transform .2s ease;
}
.ann-card.ann-open .ann-arrow{transform:rotate(180deg);}
.ann-panel{
    border-top:1px solid rgba(220,38,38,0.12);
    padding:0 18px 16px;
}
.ann-content{
    color:#4b5563;
    padding-top:12px;
    line-height:1.8;
    font-size:14px;
    word-break:break-word;
}
.ann-copy-row{
    margin-top:12px;
    padding:10px 12px;
    background:#fff;
    border:1px solid #f0d6d6;
    border-radius:10px;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.ann-copy-label{
    color:#6b7280;
    font-size:12px;
    font-weight:600;
}
.ann-copy-code{
    background:#f8f9fa;
    color:#1f2937;
    border:1px solid #e5e7eb;
    border-radius:6px;
    padding:5px 9px;
    font-size:14px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-weight:700;
    letter-spacing:.04em;
}
.ann-copy-btn{
    background:#fff5f5;
    color:#dc2626;
    border:1px solid #f0caca;
    border-radius:999px;
    padding:6px 12px;
    font-size:12px;
    font-weight:700;
    box-shadow:none;
}
.ann-copy-btn:hover{
    background:#feecec;
    color:#b91c1c;
    box-shadow:none;
    transform:none;
}

/* ============ 分类标签 ============ */
.category-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:20px;
    padding-bottom:15px;
    border-bottom:1px solid rgba(0,0,0,0.06);
}
.category-tab{
    padding:8px 20px;
    background:rgba(0,0,0,0.04);
    border:none;
    border-radius:980px;
    cursor:pointer;
    font-size:14px;
    font-weight:500;
    transition:all .3s;
    text-decoration:none;
    color:#6c6c70;
}
.category-tab:hover,.category-tab.active{
    background:#eef4fb;
    color:#2563eb;
}
.home-category-tabs{
    flex-wrap:nowrap;
    gap:10px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.home-category-tabs::-webkit-scrollbar{display:none;}
.home-category-tabs .category-tab{
    flex:0 0 auto;
    background:transparent;
    border:1px solid transparent;
    color:#6b7280;
    font-weight:500;
    white-space:nowrap;
}
.home-category-tabs .category-tab:hover{
    background:#f7f9fc;
    color:#2563eb;
    border-color:#dbe4ef;
}
.home-category-tabs .category-tab.active{
    background:#eef4fb;
    color:#2563eb;
    border-color:#b9d0eb;
    font-weight:700;
}
.home-cat-header{
    margin:4px 0 14px;
}
.cat-header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}
.cat-icon{
    width:44px;
    height:44px;
    border-radius:11px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    flex-shrink:0;
}
.cat-icon-apple{background:#EEF3FF;}
.cat-icon-game{background:#F0FFF4;}
.cat-icon-google{background:#FFF7E6;}
.cat-icon-streaming{background:#FFF1F2;}
.cat-icon-ai{background:#F5F3FF;}
.cat-icon-more{background:#F8FAFC;}
.cat-text{flex:1;min-width:0;}
.cat-title{
    font-size:17px;
    font-weight:600;
    color:#1f2937;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    line-height:1.35;
}
.cat-badge{
    font-size:10px;
    padding:2px 7px;
    border-radius:5px;
    background:#dcfce7;
    color:#166534;
    font-weight:500;
    white-space:nowrap;
}
.cat-sub{
    font-size:12px;
    color:#6b7280;
    margin-top:2px;
    line-height:1.5;
}
.trust-bar{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:#e5e7eb;
    border-radius:14px;
    overflow:hidden;
    margin:22px 0 20px;
    border:1px solid #e5e7eb;
}
.trust-item{
    background:#fff;
    padding:18px 14px;
    text-align:center;
}
.trust-icon{
    font-size:14px;
    margin-bottom:8px;
    opacity:.7;
    color:#6b7280;
    line-height:1;
}
.trust-num{
    font-size:24px;
    font-weight:600;
    color:#3B6BE0;
    line-height:1;
    margin-bottom:6px;
    font-variant-numeric:tabular-nums;
}
.trust-num.green{color:#16a34a;}
.trust-label{
    font-size:12px;
    color:#6b7280;
}

/* ============ 表格 ============ */
table{
    width:100%;
    border-collapse:collapse;
    margin:12px 0;
    font-size:14px;
}
th,td{
    border:1px solid rgba(0,0,0,0.06);
    padding:12px;
    text-align:left;
}
th{background:rgba(0,0,0,0.03);font-weight:600;color:#1c1c1e;}
tr:hover{background:#f8fbfe;}

/* ============ 表单元素 ============ */
input:not([type="checkbox"]):not([type="radio"]),textarea,select{
    padding:10px 14px;
    border:1px solid rgba(0,0,0,0.1);
    border-radius:12px;
    font-size:14px;
    width:100%;
    margin-top:4px;
    transition:all .3s;
    background:rgba(255,255,255,0.8);
}
input:not([type="checkbox"]):not([type="radio"]):focus,textarea:focus,select:focus{
    outline:none;
    border-color:#93b7dc;
    box-shadow:0 0 0 3px rgba(147,183,220,0.18);
    background:#fff;
}
textarea{resize:vertical;min-height:100px;}

/* ============ 按钮 ============ */
button,.btn{
    padding:10px 24px;
    border:1px solid #d5e1ee;
    border-radius:980px;
    background:#f7f9fc;
    color:#1f2937;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    text-decoration:none;
    display:inline-block;
    margin:4px 4px 4px 0;
    transition:all .25s;
}
button:hover,.btn:hover{
    transform:translateY(-1px);
    box-shadow:0 4px 16px rgba(148,163,184,0.18);
    background:#eef4fb;
    border-color:#bfd2e6;
    color:#2563eb;
}
button:disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;transform:none;box-shadow:none;}
.btn.secondary{
    background:#ffffff;
    color:#2563eb;
    border:1px solid #c9daec;
}
.btn.secondary:hover{
    background:#eef4fb;
    box-shadow:0 4px 16px rgba(148,163,184,0.14);
}
.btn.danger{background:#fff5f5;color:#dc2626;border-color:#f0caca;}
.btn.danger:hover{background:#feecec;box-shadow:0 4px 16px rgba(239,68,68,0.12);color:#b91c1c;}
.btn.success{background:#f0fdf4;color:#15803d;border-color:#cfe7d5;}
.btn.success:hover{background:#e8f8ee;box-shadow:0 4px 16px rgba(34,197,94,0.12);color:#166534;}

/* ============ 支付方式 ============ */
.payment-option{transition:all .2s ease;}
.payment-option:hover{border-color:#93b7dc !important;background:#eef4fb;}
.payment-option.selected{border-color:#93b7dc !important;background:#eef4fb;box-shadow:0 0 0 3px rgba(147,183,220,0.18);}
.payment-option input[type=radio]{accent-color:#2563eb;}

/* ============ 提示信息 ============ */
.notice{
    padding:14px 18px;
    border-radius:12px;
    margin-bottom:18px;
    font-size:14px;
}
.notice.success{background:rgba(52,199,89,0.1);color:#248A3D;border:1px solid rgba(52,199,89,0.2);}
.notice.error{background:rgba(255,59,48,0.08);color:#D70015;border:1px solid rgba(255,59,48,0.15);}
.notice.warning{background:rgba(255,149,0,0.1);color:#C93400;border:1px solid rgba(255,149,0,0.2);}

/* ============ 表单组 ============ */
.form-group{margin-bottom:18px;}
.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:#3a3a3c;}
.img-preview{
    margin-bottom:10px;
    border:1px dashed #e5e7eb;
    border-radius:8px;
    padding:12px;
    text-align:center;
    background:#fff;
}
.img-preview.empty{
    color:#9ca3af;
    font-size:13px;
}
.img-preview img{
    max-width:200px;
    max-height:150px;
    border-radius:6px;
    display:block;
    margin:0 auto;
}
.img-remove{
    display:block;
    margin:8px auto 0;
    font-size:12px;
    padding:4px 10px;
    border:1px solid #e5e7eb;
    border-radius:6px;
    background:#fff;
    color:#ef4444;
    cursor:pointer;
    font-family:inherit;
}
.img-remove:hover{border-color:#fecaca;background:#fff5f5;}
.form-hint{
    font-size:11px;
    color:#9ca3af;
    margin:4px 0 0;
    line-height:1.6;
}

/* ============ 卡片 ============ */
.card{
    border:1px solid rgba(0,0,0,0.06);
    border-radius:16px;
    padding:20px;
    margin-bottom:18px;
    background:rgba(255,255,255,0.8);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:all .3s;
}
.card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.06);}

.text-center{text-align:center;}
.mt0{margin-top:0;}
.mt16{margin-top:16px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.btn-full{width:100%;}
.btn-nowrap{white-space:nowrap;}
.field-fill{flex:1;min-width:0;}
.inline-field-row{
    display:flex;
    gap:10px;
    align-items:center;
}
.page-copy{
    color:#666;
    margin-bottom:20px;
    line-height:1.7;
}
.page-copy-tight{
    color:#666;
    margin-top:-10px;
    margin-bottom:20px;
}
.page-warning{
    color:#e74c3c;
    font-size:13px;
    margin-bottom:20px;
}
.page-success{
    color:#28a745;
    margin-bottom:20px;
}
.tight-list{margin:10px 0 0 0;}
.plain-list{
    color:#666;
    line-height:2;
}
.success-heading{
    margin-top:0;
    color:#27ae60;
}
.security-suggestion-card{margin-top:20px;}
.password-strength-box{
    margin-bottom:20px;
    display:none;
}
.site-boundary-card{
    background:#f8fafc;
    border-left:4px solid #2563eb;
    box-shadow:none;
}
.site-boundary-card:hover{box-shadow:none;}
.site-boundary-card-warm{
    background:#fff7ed;
    border-left-color:#f59e0b;
}
.site-boundary-title{margin-top:0;}
.site-boundary-copy{
    font-size:14px;
    color:#4b5563;
    line-height:1.8;
    margin:0;
}
.site-boundary-copy-compact{
    font-size:13px;
    color:#666;
    line-height:1.7;
    margin:0;
}
.site-muted-copy{
    margin-top:0;
    color:#4b5563;
    line-height:1.8;
}
.action-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0;
}
.order-hint{
    color:#6b7280;
    font-size:13px;
}
.redeem-code-input{
    font-size:18px;
    letter-spacing:2px;
    text-transform:uppercase;
    text-align:center;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.redeem-submit{
    background:#fff7ed;
    color:#c2410c;
    border:1px solid #f0d6bb;
}
.balance-highlight{
    color:#d63031;
    font-size:20px;
    font-weight:700;
}
.balance-highlight-lg{
    color:#d63031;
    font-size:24px;
    font-weight:700;
}

/* ============ Recharge / Payment Views ============ */
.is-hidden{display:none!important;}
.text-muted{color:#666;}
.text-soft{color:#6b7280;}
.text-success{color:#28a745;}
.text-success-deep{color:#15803d;}
.text-danger{color:#dc3545;}
.text-danger-deep{color:#dc2626;}
.text-warning{color:#f39c12;}
.text-info{color:#0d6efd;}
.text-warm{color:#a16207;}
.text-usdt{color:#f0b90b;}
.text-orange{color:#ea580c;}
.font-bold{font-weight:700;}
.font-semibold{font-weight:600;}
.text-right{text-align:right;}
.payment-note{
    margin-bottom:15px;
    border-left:4px solid #0284c7;
}
.payment-note-night{border-left-color:#6366f1;}
.payment-note-copy{
    margin:8px 0 0 0;
    font-size:13px;
    line-height:1.7;
}
.amount-emphasis{
    color:#d63031;
    font-weight:700;
}
.amount-emphasis-lg{
    color:#d63031;
    font-size:18px;
    font-weight:700;
}
.tiny-code{font-size:11px;}
.hash-code{
    font-size:11px;
    word-break:break-all;
}
.status-pill-success{color:#28a745;}
.status-pill-danger{color:#dc3545;}
.status-pill-warning{color:#f39c12;}
.status-pill-info{color:#0d6efd;}
.cell-small{font-size:12px;}
.cell-remark{font-size:12px;color:#666;}
.cell-remark-danger{color:#dc3545;}
.usdt-pending-card{
    background:#f8f9fa;
    padding:15px;
    border-radius:8px;
    margin-bottom:10px;
}
.usdt-pending-row,
.usdt-address-row,
.recharge-flex-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
.usdt-address-row{
    justify-content:flex-start;
    flex-wrap:nowrap;
}
.usdt-pending-line,
.usdt-countdown{
    margin:0;
    font-size:13px;
}
.usdt-pending-line{color:#0d6efd;}
.usdt-countdown{color:#e74c3c;}
.usdt-order-line{margin:0;}
.usdt-order-amount{margin:5px 0;}
.usdt-amount{
    color:#f0b90b;
    font-weight:700;
}
.usdt-history-card{
    border-left:4px solid #f0b90b;
    margin-bottom:20px;
}
.recharge-history-card{margin-bottom:20px;}
.recharge-table{
    width:100%;
    font-size:13px;
}
.usdt-status-hero{
    text-align:center;
    padding:20px 0;
}
.usdt-status-icon{
    font-size:48px;
    margin-bottom:10px;
}
.usdt-status-title{
    font-size:24px;
    font-weight:700;
}
.usdt-status-title-success{color:#28a745;}
.usdt-status-title-danger{color:#dc3545;}
.usdt-status-title-info{color:#0d6efd;}
.usdt-status-title-warning{color:#f39c12;}
.usdt-status-title-usdt{color:#f0b90b;}
.usdt-countdown-large{
    margin-top:10px;
    font-size:18px;
    color:#e74c3c;
}
.usdt-summary-card{
    background:#f8f9fa;
    padding:15px;
    border-radius:8px;
    margin:15px 0;
}
.usdt-qrcode-block{
    text-align:center;
    margin-top:15px;
}
.usdt-qrcode-img{
    width:200px;
    max-width:80%;
    height:auto;
    border-radius:8px;
    border:1px solid #eef2f7;
    background:#fff;
    padding:6px;
}
.usdt-qrcode-hint{
    margin:8px 0 0 0;
    font-size:12px;
    color:#6b7280;
}
.usdt-address-card{
    background:#fff;
    padding:15px;
    border-radius:8px;
    border:1px solid #ddd;
    margin:15px 0;
}
.usdt-address-title{margin:0 0 10px 0;}
.usdt-address-code{
    word-break:break-all;
    font-size:12px;
    background:#f8f9fa;
    padding:10px;
    flex:1;
    border-radius:4px;
}
.btn-compact-nowrap{
    padding:8px 15px;
    white-space:nowrap;
}
.manual-check-box{
    text-align:center;
    margin-top:20px;
}
.manual-check-copy{
    color:#666;
    margin-bottom:15px;
}
.btn-refresh-status{
    font-size:14px;
    padding:10px 20px;
}
.center-action-row{text-align:center;}
.center-action-copy{
    text-align:center;
    margin-top:10px;
    color:#666;
    font-size:13px;
}
.inline-link-muted{color:#666;}
.inline-link-strong{
    color:#2563eb;
    font-weight:600;
}
.usdt-tx-hash{
    font-size:11px;
    word-break:break-all;
}

/* Recharge waiting page */
.rw-summary{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:22px 24px;
    margin-bottom:16px;
    box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.rw-amount-label{
    font-size:12px;
    color:#6b7280;
    letter-spacing:0;
    margin-bottom:6px;
}
.rw-amount{
    font-size:44px;
    font-weight:700;
    letter-spacing:0;
    color:#1f2937;
    line-height:1;
    margin-bottom:14px;
}
.rw-amount .sym{
    font-size:22px;
    color:#6b7280;
    font-weight:500;
    margin-right:4px;
    vertical-align:top;
    margin-top:10px;
    display:inline-block;
}
.rw-meta-row{
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    padding-top:14px;
    border-top:1px dashed #e5e7eb;
    font-size:13px;
    color:#4b5563;
}
.rw-meta-row>div{display:flex;align-items:center;gap:6px;}
.rw-meta-row .rw-k{color:#9ca3af;}
.rw-meta-row strong{color:#1f2937;font-weight:500;}
.rw-details{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px 18px;
    margin-bottom:18px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.rw-details .rw-k{
    color:#9ca3af;
    font-size:11px;
    letter-spacing:0;
    text-transform:uppercase;
    margin-bottom:4px;
}
.rw-details .rw-v{
    font-size:14px;
    color:#1f2937;
    font-weight:500;
    word-break:break-all;
}
.rw-details .rw-v.mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:12px;
    color:#4b5563;
}
.rw-steps{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    padding:0 8px;
    margin-bottom:22px;
}
.rw-step{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    position:relative;
    z-index:1;
    min-width:56px;
}
.rw-step-dot{
    width:36px;
    height:36px;
    border-radius:50%;
    background:#fff;
    border:2px solid #e5e7eb;
    color:#9ca3af;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    transition:all .25s;
}
.rw-step.active .rw-step-dot{
    background:#fff;
    border-color:#2563eb;
    color:#2563eb;
    box-shadow:0 0 0 5px rgba(37,99,235,0.12);
    animation:rw-pulse 2s ease-in-out infinite;
}
.rw-step.done .rw-step-dot{background:#15803d;border-color:#15803d;color:#fff;}
.rw-step.fail .rw-step-dot{background:#dc2626;border-color:#dc2626;color:#fff;}
.rw-step-label{font-size:12px;color:#6b7280;white-space:nowrap;}
.rw-step.active .rw-step-label{color:#2563eb;font-weight:600;}
.rw-step.done .rw-step-label{color:#15803d;font-weight:500;}
.rw-step.fail .rw-step-label{color:#dc2626;font-weight:500;}
.rw-step-line{
    flex:1;
    height:2px;
    background:#e5e7eb;
    margin:18px -6px 0;
    transition:background .25s;
    z-index:0;
    position:relative;
}
.rw-step-line.active{background:linear-gradient(90deg,#15803d 0%,#15803d 50%,#e5e7eb 50%,#e5e7eb 100%);}
.rw-step-line.done{background:#15803d;}
@keyframes rw-pulse{
    0%,100%{box-shadow:0 0 0 5px rgba(37,99,235,0.12);}
    50%{box-shadow:0 0 0 10px rgba(37,99,235,0.06);}
}
.rw-panel{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:28px 24px;
    text-align:center;
    transition:opacity .25s;
    box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.rw-panel-icon{
    font-size:48px;
    line-height:1;
    margin-bottom:14px;
    display:inline-block;
}
.rw-panel-title{
    font-size:20px;
    font-weight:600;
    color:#1f2937;
    margin-bottom:8px;
}
.rw-panel-title.success{color:#15803d;}
.rw-panel-title.danger{color:#dc2626;}
.rw-panel-sub{
    font-size:14px;
    color:#6b7280;
    margin-bottom:24px;
    line-height:1.7;
}
.rw-progress-block{margin:4px 0 10px;}
.rw-progress-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-bottom:10px;
    padding:0 2px;
}
.rw-progress-head .rw-pg-label{font-size:13px;color:#6b7280;}
.rw-progress-head .rw-pg-count{
    font-size:28px;
    font-weight:700;
    color:#2563eb;
    line-height:1;
    letter-spacing:0;
    font-variant-numeric:tabular-nums;
}
.rw-progress-head .rw-pg-count small{
    font-size:14px;
    font-weight:500;
    color:#6b7280;
    margin-left:2px;
}
.rw-progress{
    width:100%;
    height:14px;
    background:#f3f4f6;
    border-radius:999px;
    overflow:hidden;
    position:relative;
}
.rw-progress-bar{
    width:100%;
    height:100%;
    background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%);
    border-radius:999px;
    transition:width .5s ease,background .5s ease;
    position:relative;
    overflow:hidden;
}
.rw-progress-bar.is-warning{background:linear-gradient(90deg,#fbbf24 0%,#f97316 100%);}
.rw-progress-bar::after{
    content:'';
    position:absolute;
    inset:0;
    background-image:linear-gradient(45deg,rgba(255,255,255,0.25) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.25) 50%,rgba(255,255,255,0.25) 75%,transparent 75%);
    background-size:24px 24px;
    animation:rw-stripes 1s linear infinite;
}
@keyframes rw-stripes{
    0%{background-position:0 0;}
    100%{background-position:24px 0;}
}
.rw-progress-native{
    width:100%;
    height:14px;
    appearance:none;
    -webkit-appearance:none;
    border:none;
    border-radius:999px;
    overflow:hidden;
    background:#f3f4f6;
}
.rw-progress-native::-webkit-progress-bar{
    background:#f3f4f6;
    border-radius:999px;
}
.rw-progress-native::-webkit-progress-value{
    background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%);
    border-radius:999px;
    transition:width .5s ease,background .5s ease;
}
.rw-progress-native::-moz-progress-bar{
    background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%);
    border-radius:999px;
}
.rw-progress-native.is-warning::-webkit-progress-value{background:linear-gradient(90deg,#fbbf24 0%,#f97316 100%);}
.rw-progress-native.is-warning::-moz-progress-bar{background:linear-gradient(90deg,#fbbf24 0%,#f97316 100%);}
.rw-actions{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:20px;
}
.rw-btn{
    display:inline-block;
    padding:10px 22px;
    border-radius:999px;
    font-size:14px;
    font-weight:500;
    text-decoration:none;
    transition:all .2s;
    cursor:pointer;
    border:none;
}
.rw-btn-primary{background:#2563eb;color:#fff;}
.rw-btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 10px rgba(37,99,235,0.25);}
.rw-btn-success{background:#15803d;color:#fff;}
.rw-btn-success:hover{background:#166534;transform:translateY(-1px);box-shadow:0 4px 10px rgba(21,128,61,0.25);}
.rw-btn-secondary{background:#fff;color:#3a3a3c;border:1px solid #e5e7eb;}
.rw-btn-secondary:hover{background:#f7f9fc;border-color:#c7d2dc;}
.rw-balance-box{
    display:inline-block;
    padding:12px 22px;
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    border-radius:12px;
    margin-bottom:6px;
}
.rw-balance-box .rw-balance-k{
    font-size:11px;
    color:#15803d;
    margin-bottom:2px;
    letter-spacing:0;
}
.rw-balance-box .rw-balance-v{
    font-size:24px;
    font-weight:700;
    color:#15803d;
    font-variant-numeric:tabular-nums;
}
.rw-reason{
    font-size:13px;
    color:#7f1d1d;
    background:#fef2f2;
    border:1px solid #fecaca;
    padding:12px 16px;
    border-radius:10px;
    text-align:left;
    margin-bottom:16px;
    line-height:1.6;
}

/* Recharge form and QR payment flow */
.recharge-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:20px;
    max-width:100%;
    width:100%;
    margin:0 auto 18px;
    box-shadow:0 1px 3px rgba(0,0,0,0.04);
    box-sizing:border-box;
}
.rc-title{
    font-size:17px;
    font-weight:600;
    color:#1f2937;
    margin:0 0 16px;
}
.rc-field-label{
    font-size:13px;
    color:#1f2937;
    font-weight:500;
    margin-bottom:8px;
}
.rc-amount-input{
    width:100%;
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:14px 16px;
    font-size:18px;
    font-weight:600;
    text-align:center;
    outline:none;
    box-sizing:border-box;
}
.rc-amount-input:focus{border-color:#3B6BE0;box-shadow:0 0 0 3px rgba(59,107,224,0.12);}
.rc-amount-input.input-invalid{border-color:#e74c3c;box-shadow:0 0 0 3px rgba(231,76,60,0.2);}
.rc-hint{font-size:12px;color:#9ca3af;margin-top:6px;}
.pay-methods{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px;
    margin:12px 0 16px;
}
.pay-method{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:18px 12px;
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#fff;
    cursor:pointer;
    transition:all .12s;
    text-align:center;
    min-height:96px;
    box-sizing:border-box;
}
.pay-method:hover{border-color:#3B6BE0;}
.pay-method.active,.pay-method.selected{border-color:#3B6BE0;background:#EEF3FF;}
.pay-method.disabled{opacity:.5;pointer-events:none;background:#f8fafc;cursor:not-allowed;}
.pay-method input{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.pm-icon{
    width:36px;
    height:36px;
    border-radius:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.pm-icon svg{width:24px;height:24px;display:block;}
.pm-alipay{background:#1677FF;}
.pm-wechat{background:#07C160;}
.pm-usdt{background:#26A17B;}
.pm-name{font-size:13px;font-weight:500;color:#1f2937;}
.pm-sub{font-size:11px;color:#9ca3af;}
.pm-sub.paused{color:#b45309;}
.rc-next-btn,.rc-btn-paid{
    width:100%;
    padding:13px;
    border-radius:10px;
    border:none;
    font-size:15px;
    font-weight:500;
    cursor:pointer;
    box-sizing:border-box;
}
.rc-next-btn{background:#3B6BE0;color:#fff;}
.rc-btn-paid{background:#22c55e;color:#fff;}
.rc-btn-usdt-auto{
    background:#fff8e8;
    border:1px solid #f1dfb5;
    color:#1e2329;
}
.rc-next-btn.is-submitting,.rc-btn-paid.is-submitting{
    opacity:.65;
    cursor:not-allowed;
}
.rc-btn-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 24px;
    border-radius:10px;
    border:1px solid #e5e7eb;
    background:#fff;
    cursor:pointer;
    color:#374151;
    text-decoration:none;
    box-sizing:border-box;
}
.rc-no-method{
    color:#6b7280;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:12px;
    margin:0;
}
.rc-usdt-rate{
    display:none;
    background:#fff8e8;
    border:1px solid #f1dfb5;
    padding:15px;
    border-radius:8px;
    margin:15px 0;
}
.rc-usdt-rate.is-visible{display:block;}
.rc-usdt-rate p{margin:0;color:#1e2329;}
.rc-usdt-rate p+p{margin-top:5px;}
.rc-usdt-amount{font-size:18px;font-weight:700;}
.rc-qr-card{
    background:#f8fafc;
    border-radius:12px;
    padding:20px;
    text-align:center;
    margin:16px 0;
}
.rc-qr-amount{font-size:13px;color:#6b7280;}
.rc-qr-amount b{
    font-size:24px;
    color:#ef4444;
    display:block;
    margin-top:2px;
}
.rc-qr-img{display:flex;justify-content:center;}
.rc-qr-img img{
    width:200px;
    height:200px;
    border-radius:10px;
    margin:14px auto;
    background:#fff;
    object-fit:contain;
    padding:6px;
    border:1px solid #eef2f7;
}
.rc-qr-info{font-size:13px;color:#6b7280;line-height:1.8;}
.rc-qr-info b,.rc-qr-info code{color:#1f2937;}
.rc-countdown-tip{
    font-size:12px;
    color:#b45309;
    background:#fffbeb;
    border:1px solid #fde68a;
    border-radius:8px;
    padding:8px 12px;
    margin-top:12px;
    display:flex;
    align-items:center;
    gap:6px;
    justify-content:center;
    text-align:center;
}
.rc-action-row{display:flex;gap:8px;margin-top:12px;}
.rc-form-muted{font-size:12px;color:#6b7280;text-align:center;margin:10px 0 0;}
.inline-spin{
    display:inline-block;
    width:14px;
    height:14px;
    border:2px solid #fff;
    border-top-color:transparent;
    border-radius:50%;
    animation:spin 1s linear infinite;
    vertical-align:middle;
    margin-right:8px;
}
@keyframes spin{
    0%{transform:rotate(0deg);}
    100%{transform:rotate(360deg);}
}
.recharge-notice{margin-bottom:20px;}
.recharge-notice-copy{
    margin:10px 0 0 0;
    font-size:13px;
}
.recharge-card-entry{
    background:#fff7ed;
    color:#1f2937;
    margin-bottom:15px;
    border:1px solid #f0d6bb;
    box-shadow:none;
}
.recharge-card-entry:hover{box-shadow:none;}
.recharge-card-title{
    color:#c2410c;
    margin:0;
}
.recharge-card-copy{
    margin:5px 0 0 0;
    color:#4b5563;
}
.btn-redeem-card{
    background:#fff;
    color:#c2410c;
    border:1px solid #f0d6bb;
    margin-top:10px;
}
.taobao-entry{
    background:#fff7f2;
    color:#1f2937;
    margin-bottom:20px;
    border:1px solid #f1d6cb;
    box-shadow:none;
}
.taobao-entry:hover{box-shadow:none;}
.taobao-title{
    color:#ea580c;
    margin:0;
}
.taobao-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:10px;
}
.btn-taobao{
    background:#fff;
    color:#ea580c;
    border:1px solid #f1d6cb;
}
.btn-taobao-soft{
    background:#fef1ea;
    color:#ea580c;
    border:1px solid #f1d6cb;
}
.taobao-qr-box{
    display:none;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #ead5cc;
}
.taobao-qr-box.is-visible{display:block;}
.taobao-qr-row{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}
.taobao-qr-frame{
    background:#fff;
    border-radius:10px;
    padding:8px;
    line-height:0;
    flex-shrink:0;
}
.taobao-qr-img{
    border-radius:6px;
    display:block;
}
.taobao-qr-title{
    margin:0;
    font-size:15px;
    font-weight:700;
    color:#ea580c;
}
.taobao-qr-copy{
    margin:6px 0 0 0;
    color:#4b5563;
    font-size:13px;
}
.legacy-payment-info{
    display:none;
    background:#f8f9fa;
    padding:20px;
    border-radius:8px;
    margin:15px 0;
}
.legacy-payment-info.is-visible{display:block;}
.legacy-payment-panel{display:none;}
.legacy-payment-panel.is-visible{display:block;}
.legacy-payment-title{margin-top:0;}
.legacy-qr-img{
    max-width:200px;
    border-radius:8px;
}
.legacy-empty-qr{color:#dc3545;}
.legacy-usdt-card{
    padding:20px;
    border-radius:8px;
    text-align:center;
}
.legacy-usdt-card-bep20{
    background:#fff8e8;
    border:1px solid #f1dfb5;
}
.legacy-usdt-card-trc20{
    background:#fff5f5;
    border:1px solid #f0caca;
}
.legacy-usdt-title{
    margin:0 0 10px 0;
}
.legacy-usdt-title-bep20{color:#a16207;}
.legacy-usdt-title-trc20{color:#dc2626;}
.legacy-usdt-copy{
    color:#4b5563;
    margin:0 0 15px 0;
}
.legacy-usdt-hint{
    color:#4b5563;
    font-size:13px;
    margin:0;
}
.amount-integer-warning{
    color:#e74c3c;
    font-size:12px;
}
.usdt-confirm-card{text-align:center;}
.usdt-confirm-title{
    margin-top:0;
    color:#f0b90b;
}
.usdt-confirm-amount strong{color:#f0b90b;}
.usdt-confirm-copy{margin-top:20px;}
.usdt-tip-box{
    margin:20px 0;
    padding:15px;
    background:#fff3cd;
    border-radius:8px;
    border-left:4px solid #ffc107;
}
.usdt-tip-title{
    margin:0;
    color:#856404;
}
.usdt-tip-copy{
    margin:10px 0 0 0;
    color:#856404;
    font-size:14px;
}
.usdt-create-card{
    border-left:4px solid #f0b90b;
}
.usdt-create-card.usdt-network-trc20{border-left-color:#e74c3c;}
.usdt-create-title{margin-top:0;}
.usdt-create-summary{
    background:#f8f9fa;
    padding:15px;
    border-radius:8px;
    margin-bottom:15px;
}
.usdt-transfer-panel{
    background:#f0b90b;
    color:#fff;
    padding:15px;
    border-radius:8px;
    margin-bottom:15px;
}
.usdt-network-trc20 .usdt-transfer-panel{background:#e74c3c;}
.usdt-transfer-line{margin:0;}
.usdt-transfer-amount{
    margin:10px 0;
    font-size:24px;
    font-weight:700;
}
.usdt-transfer-warning{
    margin:0;
    font-size:12px;
    opacity:.9;
}
.usdt-create-qrcode{
    text-align:center;
    margin-top:15px;
}
.usdt-create-qrcode img{
    max-width:200px;
    border-radius:8px;
}
.usdt-expire-box{
    text-align:center;
    margin:20px 0;
    padding:15px;
    background:#fff3cd;
    border-radius:8px;
}
.usdt-expire-box p{
    margin:0;
    font-size:18px;
    color:#856404;
}
.usdt-create-status{
    margin-top:15px;
    border-left:4px solid #f0b90b;
}
.usdt-network-trc20 .usdt-create-status{border-left-color:#e74c3c;}
.mt20-center{
    margin-top:20px;
    text-align:center;
}

@media (max-width:640px){
    .rw-amount{font-size:36px;}
    .rw-summary{padding:18px 20px;}
    .rw-details{grid-template-columns:1fr;padding:12px 16px;}
    .rw-meta-row{gap:14px;}
    .rw-step-label{font-size:11px;}
    .rw-progress-head .rw-pg-count{font-size:24px;}
    .rw-panel{padding:22px 18px;}
    .rw-panel-icon{font-size:42px;}
    .rw-panel-title{font-size:18px;}
}
@media (max-width:480px){
    .pay-methods{grid-template-columns:repeat(2,1fr);}
    .rc-action-row{flex-direction:column;}
    .recharge-card{padding:18px;}
    .usdt-address-row{flex-wrap:wrap;}
}

/* ============ 商品卡片 ============ */
.product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:20px;
}
.product-card{
    border:1px solid rgba(0,0,0,0.06);
    border-radius:18px;
    padding:20px;
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:all .3s;
    position:relative;
    overflow:hidden;
}
.product-card:hover{
    transform:translateY(-4px);
    box-shadow:0 8px 30px rgba(0,0,0,0.08);
}
.product-card .category-badge{
    position:absolute;
    top:15px;
    right:15px;
    background:#eef4fb;
    color:#2563eb;
    border:1px solid #d6e3ef;
    padding:4px 14px;
    border-radius:980px;
    font-size:12px;
    font-weight:500;
}
.product-card h3{
    color:#1c1c1e;
    margin-bottom:10px;
    font-size:18px;
}
.product-card .desc{
    color:#6c6c70;
    font-size:13px;
    min-height:45px;
    line-height:1.6;
}
.product-card .price{
    font-size:28px;
    color:#FF3B30;
    font-weight:700;
    margin:15px 0;
}
.product-card .stock{
    font-size:13px;
    color:#8e8e93;
    margin-bottom:15px;
}
.product-card .buy-btn{
    width:100%;
    text-align:center;
    padding:12px;
    border-radius:980px;
}
.home-feature-card-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
}
.home-feature-card{
    color:#1f2937;
    margin-bottom:15px;
    box-shadow:none;
}
.home-feature-card:hover{box-shadow:none;}
.home-feature-title{margin:0;}
.home-feature-desc{
    margin:5px 0 0 0;
    color:#4b5563;
}
.home-feature-action{
    background:#fff;
    margin-top:10px;
}
.home-feature-subscription{
    background:#fcf7fb;
    border:1px solid #ecd9e8;
}
.home-feature-subscription .home-feature-title{color:#c24182;}
.home-feature-subscription .home-feature-action{color:#c24182;border:1px solid #ebd0e0;}
.home-feature-razer{
    background:#f0f9f0;
    border:1px solid rgba(68,214,44,.2);
}
.home-feature-razer .home-feature-title{color:#2faa20;}
.home-feature-razer .home-feature-action{color:#2faa20;border:1px solid rgba(68,214,44,.34);}
.home-feature-pubg{
    background:#fffbeb;
    border:1px solid rgba(217,119,6,.2);
}
.home-feature-pubg .home-feature-title{color:#d97706;}
.home-feature-pubg .home-feature-action{color:#d97706;border:1px solid rgba(217,119,6,.34);}
.home-feature-netflix{
    background:#fff5f5;
    border:1px solid rgba(229,9,20,.2);
}
.home-feature-netflix .home-feature-title{color:#e50914;}
.home-feature-netflix .home-feature-action{color:#e50914;border:1px solid rgba(229,9,20,.34);}
.apple-region-card{
    background:#f7f9fc;
    color:#1f2937;
    margin-bottom:15px;
    border:1px solid #dbe4ef;
    box-shadow:none;
}
.apple-region-card:hover{box-shadow:none;}
.region-selector{width:100%;}
.rs-title{
    font-size:16px;
    font-weight:500;
    color:#2563eb;
    margin:0 0 4px;
}
.rs-sub{
    font-size:13px;
    color:#6b7280;
    margin:0 0 16px;
}
.rs-section-label{
    font-size:12px;
    color:#9ca3af;
    margin:0 0 8px;
    display:flex;
    align-items:center;
    gap:5px;
}
.rs-section-icon{font-size:13px;line-height:1;}
.rs-hot-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
    gap:8px;
    margin-bottom:16px;
}
.rs-hot-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid #e5e7eb;
    background:#fff;
    cursor:pointer;
    transition:border-color .12s,background .12s,box-shadow .12s;
    position:relative;
    text-decoration:none;
    color:#1f2937;
    min-width:0;
}
.rs-hot-item:hover{
    border-color:#2563eb;
    background:#f7faff;
    box-shadow:0 4px 16px rgba(148,163,184,0.14);
}
.rs-flag{
    font-size:22px;
    line-height:1;
    flex-shrink:0;
}
.rs-info{flex:1;min-width:0;}
.rs-code{
    font-size:14px;
    font-weight:500;
    color:#1f2937;
    display:block;
}
.rs-name{
    font-size:12px;
    color:#6b7280;
    margin-top:1px;
    display:block;
}
.rs-hot-badge{
    position:absolute;
    top:8px;
    right:8px;
    font-size:9px;
    padding:1px 5px;
    border-radius:4px;
    background:#fef3c7;
    color:#92400e;
    font-weight:500;
}
.rs-all-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
    gap:6px;
}
.rs-chip{
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border-radius:8px;
    border:1px solid #e5e7eb;
    background:#fff;
    cursor:pointer;
    transition:border-color .12s,background .12s;
    text-decoration:none;
    color:#1f2937;
    min-width:0;
}
.rs-chip:hover{
    border-color:#2563eb;
    background:#f7faff;
}
.rs-flag-sm{
    font-size:16px;
    flex-shrink:0;
    line-height:1;
}
.rs-code-sm{
    font-size:13px;
    font-weight:500;
    color:#1f2937;
    flex-shrink:0;
}
.rs-name-sm{
    font-size:11px;
    color:#9ca3af;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.home-ai-panel{
    background:#f7f9fc;
    color:#1f2937;
    margin-bottom:15px;
    border:1px solid #dbe4ef;
    box-shadow:none;
}
.home-ai-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:14px;
}
.home-ai-title{
    color:#2563eb;
    margin:0;
}
.home-ai-sub{
    margin:5px 0 0;
    color:#4b5563;
}
.home-ai-more{
    background:#fff;
    color:#2563eb;
    border:1px solid #cddceb;
}
.ai-row-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.ai-row{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#fff;
    cursor:pointer;
    transition:border-color .12s,box-shadow .12s;
    text-decoration:none;
    color:#1f2937;
}
.ai-row:hover{
    border-color:#3B6BE0;
    box-shadow:0 1px 6px rgba(59,107,224,.08);
}
.ai-row-icon{
    font-size:30px;
    flex-shrink:0;
    line-height:1;
}
.ai-row-body{
    flex:1;
    min-width:0;
}
.ai-row-title{
    font-size:15px;
    font-weight:500;
    color:#1f2937;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.ai-row-sub{
    display:block;
    font-size:12px;
    color:#6b7280;
    margin-top:3px;
    line-height:1.5;
}
.ai-price-wrap{
    display:flex;
    align-items:baseline;
    justify-content:flex-end;
    gap:4px;
    flex-shrink:0;
}
.ai-price{
    font-size:16px;
    font-weight:600;
    color:#ef4444;
}
.ai-price-old{
    font-size:12px;
    color:#9ca3af;
    text-decoration:line-through;
    font-weight:400;
}
.stock-mini{
    font-size:11px;
    padding:2px 7px;
    border-radius:4px;
    font-weight:500;
}
.stock-have{background:#dcfce7;color:#166534;}
.stock-none{background:#f1f5f9;color:#94a3b8;}
.ai-btn{
    padding:9px 18px;
    border-radius:8px;
    border:none;
    font-size:13px;
    font-weight:500;
    white-space:nowrap;
    flex-shrink:0;
    background:#3B6BE0;
    color:#fff;
    transition:background .15s;
}
.ai-row:hover .ai-btn:not(.disabled){background:#2f5cc7;}
.ai-btn.disabled{
    background:#e5e7eb;
    color:#9ca3af;
}
.home-empty-notice{margin-top:0;}

/* ============ AI 应用卡片 ============ */
.ai-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:8px;
}
.ai-head h2{margin:0;}
.ai-intro{color:#6c6c70;font-size:14px;margin:0 0 16px;}
.ai-balance{font-size:14px;color:#3a3a3c;margin:0 0 20px;}
.ai-balance strong{color:#15803d;}
.ai-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:18px;
    margin:20px 0;
}
.home-ai-panel .ai-grid{margin:0;}
.ai-card{
    display:flex;
    flex-direction:column;
    background:rgba(255,255,255,0.85);
    -webkit-backdrop-filter:blur(20px);
    backdrop-filter:blur(20px);
    border:1px solid rgba(0,0,0,0.06);
    border-top:3px solid #2563eb;
    border-radius:16px;
    padding:22px;
    color:#1c1c1e;
    box-shadow:0 8px 24px rgba(15,23,42,0.06);
    transition:transform .2s,box-shadow .2s;
}
.ai-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(15,23,42,0.10);
}
.ai-card-icon{
    font-size:42px;
    line-height:1;
    margin-bottom:12px;
}
.ai-card-name{
    font-size:19px;
    font-weight:700;
    margin-bottom:8px;
}
.ai-card-desc{
    font-size:13px;
    color:#6c6c70;
    margin-bottom:14px;
    line-height:1.6;
    min-height:46px;
}
.ai-card-price{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:10px;
}
.ai-card-price .current{
    font-size:26px;
    font-weight:700;
    color:#2563eb;
}
.ai-card-price .original{
    font-size:14px;
    text-decoration:line-through;
    color:#9ca3af;
}
.ai-card-price .discount{
    background:rgba(255,59,48,0.08);
    color:#dc2626;
    border:1px solid rgba(255,59,48,0.15);
    padding:2px 8px;
    border-radius:6px;
    font-size:12px;
    font-weight:600;
}
.ai-card-meta{
    font-size:13px;
    color:#6c6c70;
    margin-bottom:16px;
}
.ai-card-meta .stock-ok{color:#15803d;font-weight:600;}
.ai-card-meta .stock-out{color:#dc2626;font-weight:600;}
.ai-card-cta{margin-top:auto;}
.ai-card-btn{
    display:block;
    width:100%;
    padding:12px;
    background:#2563eb;
    border:1px solid #2563eb;
    border-radius:10px;
    color:#fff;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    text-align:center;
    text-decoration:none;
    transition:all .2s;
}
.ai-card-btn:hover{
    background:#1d4ed8;
    box-shadow:0 6px 16px rgba(37,99,235,0.25);
}
.ai-card-btn.disabled{
    background:#f3f4f6;
    color:#9ca3af;
    border-color:#e5e7eb;
    cursor:not-allowed;
    box-shadow:none;
}
.ai-card.chatgpt{border-top-color:#15803d;}
.ai-card.claude{border-top-color:#b45309;}
.ai-card.grok{border-top-color:#0284c7;}
.ai-card.midjourney{border-top-color:#4f46e5;}
.ai-card.cursor{border-top-color:#374151;}
.ai-info-box{
    margin-top:16px;
    padding:16px 18px;
    border-radius:12px;
}
.ai-info-box h4{margin:0 0 10px;font-size:15px;}
.ai-info-box.code-box{
    background:rgba(52,199,89,0.08);
    border:1px solid rgba(52,199,89,0.2);
}
.ai-info-box.code-box h4{color:#15803d;}
.ai-info-box.redeem-box{
    background:#eef4fb;
    border:1px solid #cddceb;
}
.ai-info-box.redeem-box h4{color:#2563eb;}
.ai-info-box.tutorial-box{
    background:rgba(255,149,0,0.08);
    border:1px solid rgba(255,149,0,0.2);
}
.ai-info-box.tutorial-box h4{color:#c93400;}
.ai-card-code{
    background:#fff;
    padding:14px;
    border-radius:8px;
    white-space:pre-wrap;
    word-break:break-all;
    font-size:14px;
    border:1px solid #e5e7eb;
    margin:0;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ============ AI 商品详情页 ============ */
.product-detail{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.detail-top{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:20px;
}
.detail-img{
    background:#fff;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    aspect-ratio:4 / 3;
    padding:32px;
    position:relative;
    overflow:hidden;
}
.img-badge{
    position:absolute;
    top:12px;
    left:12px;
    background:rgba(255,255,255,.92);
    font-size:11px;
    padding:4px 10px;
    border-radius:6px;
    color:#3B6BE0;
    font-weight:500;
    display:flex;
    align-items:center;
    gap:4px;
    box-shadow:0 6px 18px rgba(15,23,42,.08);
}
.detail-img img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    display:block;
}
.detail-img-emoji{font-size:72px;}
.detail-buy{
    display:flex;
    flex-direction:column;
}
.detail-title{
    font-size:20px;
    font-weight:600;
    color:#1f2937;
    margin:0 0 10px;
}
.detail-tags{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.dtag{
    font-size:11px;
    padding:3px 9px;
    border-radius:5px;
    font-weight:500;
}
.dtag-g{background:#dcfce7;color:#166534;}
.dtag-b{background:#eef3ff;color:#3B6BE0;}
.dtag-y{background:#fef3c7;color:#92400e;}
.price-block{
    background:#FEF2F2;
    border-radius:10px;
    padding:14px 16px;
    margin-bottom:16px;
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:7px;
}
.detail-price{
    font-size:30px;
    font-weight:700;
    color:#ef4444;
    line-height:1;
}
.detail-price-old{
    font-size:15px;
    color:#9ca3af;
    text-decoration:line-through;
    font-weight:400;
}
.price-save{
    font-size:12px;
    color:#991B1B;
    background:#FEE2E2;
    padding:2px 7px;
    border-radius:4px;
    font-weight:500;
    align-self:center;
}
.qty-label{
    font-size:12px;
    color:#6b7280;
    margin-bottom:6px;
    font-weight:500;
}
.qty-row{
    display:flex;
    align-items:center;
    border:1px solid #e5e7eb;
    border-radius:8px;
    width:fit-content;
    overflow:hidden;
    margin-bottom:16px;
}
.qty-btn{
    width:38px;
    height:38px;
    border:none;
    background:#f3f4f6;
    color:#1f2937;
    font-size:18px;
    cursor:pointer;
    border-radius:0;
    padding:0;
    margin:0;
}
.qty-btn:hover{background:#e5e7eb;box-shadow:none;}
.qty-num{
    width:56px;
    height:38px;
    text-align:center;
    font-size:15px;
    font-weight:500;
    border:none;
    outline:none;
    padding:0;
    margin:0;
    border-radius:0;
    background:#fff;
}
.info-rows{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:12px 14px;
    background:#f8fafc;
    border-radius:10px;
    border:1px solid #edf2f7;
    margin-bottom:16px;
}
.info-line{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:#6b7280;
    line-height:1.6;
}
.info-icon{
    font-size:15px;
    color:#3B6BE0;
    width:18px;
    text-align:center;
}
.info-line b{
    color:#1f2937;
    font-weight:500;
}
.info-line .info-pay{
    color:#ef4444;
    font-size:16px;
}
.buy-actions{
    margin-top:auto;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.btn-pay,
.btn-balance{
    padding:12px;
    border-radius:10px;
    font-size:15px;
    font-weight:500;
    cursor:pointer;
    font-family:inherit;
    text-align:center;
    text-decoration:none;
}
.btn-pay{
    border:1px solid #3B6BE0;
    background:#3B6BE0;
    color:#fff;
}
.btn-pay:hover{background:#2f5cc7;color:#fff;}
.btn-pay:disabled{
    background:#e5e7eb;
    color:#9ca3af;
    border-color:#e5e7eb;
    cursor:not-allowed;
}
.btn-balance{
    border:1px solid #e5e7eb;
    background:#fff;
    color:#1f2937;
}
.btn-balance:hover{
    border-color:#3B6BE0;
    color:#3B6BE0;
    box-shadow:0 1px 6px rgba(59,107,224,.08);
}
.btn-pay-link{display:block;}
.btn-back{
    padding:11px;
    border-radius:10px;
    border:none;
    font-size:13px;
    cursor:pointer;
    font-family:inherit;
    background:transparent;
    color:#6b7280;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    text-decoration:none;
}
.btn-back:hover{color:#3B6BE0;}
.detail-insufficient{
    color:#dc2626;
    font-size:13px;
    line-height:1.6;
}
.detail-desc{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:24px;
}
.desc-title{
    font-size:15px;
    font-weight:500;
    color:#1f2937;
    margin-bottom:16px;
    padding-bottom:12px;
    border-bottom:1px solid #e5e7eb;
    display:flex;
    align-items:center;
    gap:7px;
}
.desc-content{
    font-size:14px;
    color:#6b7280;
    line-height:2;
}
.desc-content p{margin:0 0 14px;}
.desc-content p:last-child{margin-bottom:0;}

@media (max-width:600px){
    .detail-top{grid-template-columns:1fr;}
    .detail-img{padding:20px;aspect-ratio:16 / 10;}
    .detail-img-emoji{font-size:48px;}
}

@media (max-width:520px){
    .ai-row{
        flex-wrap:wrap;
        gap:10px;
    }
    .ai-row-body{
        flex:1 1 calc(100% - 44px);
    }
    .ai-price-wrap{
        order:3;
        justify-content:flex-start;
    }
    .ai-btn{
        order:4;
        width:100%;
        text-align:center;
    }
}

/* ============ 统计卡片 ============ */
.stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:18px;
    margin:22px 0;
}
.stat-card{
    background:#f7f9fc;
    color:#1f2937;
    border:1px solid #dbe4ef;
    padding:22px;
    border-radius:16px;
    text-align:center;
}
.stat-card h4{font-size:14px;color:#6b7280;margin-bottom:10px;font-weight:500;}
.stat-card .value{font-size:32px;font-weight:700;color:#2563eb;}

/* ============ 库存状态 ============ */
.stock-high{color:#34C759;}
.stock-normal{color:#5AC8FA;}
.stock-low{color:#FF9500;}
.stock-empty{color:#FF3B30;}
.stock-unknown{color:#8e8e93;}

/* ============ 页脚 ============ */
footer{
    text-align:center;
    padding:25px;
    color:#8e8e93;
    font-size:13px;
}

/* ============ 响应式设计 ============ */
@media (max-width:768px){
    /* 头部优化 */
    .maintenance-top-notice{
        align-items:flex-start;
        padding:8px 12px;
        font-size:13px;
    }
    .maintenance-top-notice__icon{
        width:17px;
        height:17px;
        margin-top:1px;
        font-size:12px;
    }
    .maintenance-top-notice__close{
        padding:2px 7px;
    }
    header{
        padding:10px 12px;
        flex-wrap:wrap;
        gap:8px;
    }
    header .logo{
        font-size:16px;
        flex:none;
        width:auto;
        text-align:left;
        margin-bottom:0;
    }
    header nav{
        flex:none;
        width:100%;
        justify-content:center;
        order:2;
        gap:8px;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        padding-bottom:5px;
    }
    header nav::-webkit-scrollbar{display:none;}
    header nav a{
        font-size:15px;
        padding:8px 12px;
        flex-shrink:0;
    }
    header .user-info{
        flex:1;
        width:auto;
        justify-content:flex-end;
        margin-top:0;
        padding:0;
        order:1;
        font-size:12px;
        gap:6px;
    }
    header .user-info .username{display:none;}
    header .logout-btn{font-size:12px;padding:3px 6px;}

    /* 主内容区优化 */
    main{
        margin:10px;
        padding:15px;
        border-radius:14px;
    }
    h2{font-size:20px;margin-bottom:12px;}
    h3{font-size:16px;margin:15px 0 10px;}
    p{font-size:13px;}

    /* 公告优化 */
    .ann-card{
        margin-bottom:18px;
        border-radius:0 12px 12px 0;
    }
    .ann-trigger{padding:12px 14px;}
    .ann-icon{font-size:16px;}
    .ann-title{font-size:14px;}
    .ann-badge{height:18px;padding:0 7px;font-size:10px;}
    .ann-panel{padding:0 14px 14px;}
    .ann-content{font-size:13px;line-height:1.7;}
    .ann-copy-row{gap:8px;padding:9px 10px;border-radius:8px;}
    .ann-copy-code{font-size:13px;}
    .ann-copy-btn{padding:5px 10px;}

    /* 分类标签优化 */
    .category-tabs{
        flex-wrap:wrap;
        gap:8px;
        padding-bottom:12px;
        margin-bottom:15px;
    }
    .home-category-tabs{
        flex-wrap:nowrap;
        margin-left:-2px;
        margin-right:-2px;
        padding-left:2px;
        padding-right:2px;
    }
    .trust-bar{grid-template-columns:repeat(2,1fr);}
    .trust-num{font-size:20px;}
    .category-tab{
        padding:8px 16px;
        font-size:13px;
    }
    .rs-hot-item{padding:10px 12px;}
    .rs-chip{padding:8px 9px;}
    .rs-name-sm{font-size:10px;}

    /* 表格优化 */
    table{
        font-size:12px;
        display:block;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    th,td{
        padding:10px 8px;
        white-space:nowrap;
    }

    /* 表单优化 */
    input:not([type="checkbox"]):not([type="radio"]),textarea,select{
        padding:12px;
        font-size:16px; /* 防止iOS缩放 */
    }
    .form-group{margin-bottom:15px;}
    .form-group label{font-size:13px;}

    /* 按钮优化 */
    button,.btn{
        padding:12px 16px;
        font-size:14px;
        margin:3px 3px 3px 0;
    }

    /* 卡片优化 */
    .card{
        padding:15px;
        margin-bottom:15px;
        border-radius:12px;
    }

    /* 商品卡片优化 */
    .product-grid{
        grid-template-columns:1fr;
        gap:15px;
    }
    .product-card{
        padding:15px;
        border-radius:14px;
    }
    .product-card .category-badge{
        top:12px;
        right:12px;
        padding:3px 10px;
        font-size:11px;
    }
    .product-card h3{font-size:16px;}
    .product-card .desc{font-size:12px;min-height:36px;}
    .product-card .price{font-size:24px;margin:12px 0;}
    .product-card .stock{font-size:12px;margin-bottom:12px;}
    .product-card .buy-btn{padding:12px;font-size:14px;}

    /* 统计卡片优化 */
    .stats{
        grid-template-columns:1fr 1fr;
        gap:12px;
        margin:15px 0;
    }
    .stat-card{
        padding:15px 12px;
        border-radius:14px;
    }
    .stat-card h4{font-size:12px;margin-bottom:6px;}
    .stat-card .value{font-size:22px;}

    /* 提示信息优化 */
    .notice{
        padding:12px 15px;
        margin-bottom:15px;
        font-size:13px;
    }

    /* 页脚优化 */
    footer{
        padding:20px 15px;
        font-size:12px;
    }
}

/* ============ 小屏手机优化 (≤480px) ============ */
@media (max-width:480px){
    header .logo{font-size:15px;}
    header nav a{font-size:14px;padding:7px 10px;}
    header .user-info{
        padding:0;
        font-size:11px;
    }
    header .user-info .balance{font-size:12px;}

    main{margin:8px;padding:12px;}
    h2{font-size:18px;}
    h3{font-size:15px;}

    .category-tab{padding:7px 14px;font-size:12px;}
    .home-category-tabs .category-tab{padding:8px 14px;font-size:13px;}
    .cat-icon{width:40px;height:40px;font-size:20px;}
    .cat-title{font-size:16px;}
    .trust-item{padding:16px 10px;}
    .rs-hot-grid{grid-template-columns:repeat(2,1fr);}
    .rs-all-grid{grid-template-columns:repeat(2,1fr);}
    .rs-hot-badge{display:none;}
    .ai-grid{grid-template-columns:1fr;}

    table{font-size:11px;}
    th,td{padding:8px 6px;}

    .stats{grid-template-columns:1fr 1fr;gap:10px;}
    .stat-card{padding:12px 10px;}
    .stat-card h4{font-size:11px;}
    .stat-card .value{font-size:18px;}

    .product-card .price{font-size:22px;}
    .product-card .buy-btn{padding:10px;font-size:13px;}

    button,.btn{padding:10px 14px;font-size:13px;}
}

/* ============ 打印样式 ============ */
@media print{
    header,footer,.btn,button{display:none;}
    main{box-shadow:none;margin:0;padding:10px;}
    body{background:#fff;}
}

/* ============ 春节主题 (2026 马年) ============ */
/* 红金背景 */
body.cny-theme{
    background:linear-gradient(135deg,#c0392b 0%,#8e1a1a 50%,#b71c1c 100%);
}

/* 新年横幅 */
.cny-banner{
    background:linear-gradient(90deg,#b71c1c 0%,#d32f2f 30%,#f44336 50%,#d32f2f 70%,#b71c1c 100%);
    color:#ffd700;
    text-align:center;
    padding:10px 40px 10px 16px;
    font-size:15px;
    font-weight:600;
    letter-spacing:2px;
    position:relative;
    text-shadow:0 1px 3px rgba(0,0,0,0.3);
    border-bottom:2px solid #ffd700;
    overflow:hidden;
}
.cny-banner::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;bottom:0;
    background:repeating-linear-gradient(90deg,transparent,transparent 20px,rgba(255,215,0,0.05) 20px,rgba(255,215,0,0.05) 40px);
    pointer-events:none;
}
.cny-banner-close{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    background:none;
    border:none;
    color:#ffd700;
    font-size:18px;
    cursor:pointer;
    padding:4px 8px;
    opacity:0.7;
    transition:opacity .2s;
    line-height:1;
    margin:0;
}
.cny-banner-close:hover{
    opacity:1;
    background:none;
    transform:translateY(-50%);
    box-shadow:none;
}

/* 头部红金装饰 */
.cny-theme header{
    border-bottom:2px solid #d32f2f;
    box-shadow:0 2px 8px rgba(183,28,28,0.15);
}
.cny-theme header .logo{
    background:linear-gradient(135deg,#d32f2f 0%,#ffd700 100%);
    -webkit-background-clip:text;
    background-clip:text;
}

/* 飘落灯笼动画 */
.cny-lantern{
    position:fixed;
    top:-60px;
    font-size:28px;
    pointer-events:none;
    z-index:9999;
    animation:cnyFall linear forwards;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}
@keyframes cnyFall{
    0%{transform:translateY(0) rotate(0deg);opacity:0.9;}
    20%{opacity:1;}
    100%{transform:translateY(110vh) rotate(30deg);opacity:0;}
}
@keyframes cnySway{
    0%,100%{transform:translateX(0);}
    50%{transform:translateX(25px);}
}

/* 烟花动画 */
.cny-firework{
    position:fixed;
    pointer-events:none;
    z-index:9998;
    width:6px;
    height:6px;
    border-radius:50%;
    animation:cnyBurst 1.2s ease-out forwards;
}
@keyframes cnyBurst{
    0%{transform:scale(0);opacity:1;}
    50%{transform:scale(1);opacity:0.8;}
    100%{transform:scale(1.5);opacity:0;}
}

/* 春节活动卡片 */
.cny-promo-card{
    background:linear-gradient(135deg,#b71c1c 0%,#d32f2f 50%,#c62828 100%);
    color:#fff;
    margin-bottom:15px;
    position:relative;
    overflow:hidden;
    border:2px solid #ffd700;
}
.cny-promo-card::before{
    content:'福';
    position:absolute;
    right:-10px;
    top:-10px;
    font-size:80px;
    opacity:0.08;
    font-weight:900;
    transform:rotate(15deg);
    color:#ffd700;
}
.cny-promo-card .btn{
    background:#ffd700;
    color:#b71c1c;
    font-weight:700;
}
.cny-promo-card .btn:hover{
    background:#ffeb3b;
    box-shadow:0 5px 20px rgba(255,215,0,0.4);
}

/* 页脚春节文字 */
.cny-theme footer{
    color:rgba(255,215,0,0.7);
}

/* 响应式 - 移动端 */
@media (max-width:768px){
    .cny-banner{
        font-size:13px;
        padding:8px 36px 8px 12px;
        letter-spacing:1px;
    }
    .cny-lantern{font-size:22px;}
    .cny-promo-card::before{font-size:50px;}
}
@media (max-width:480px){
    .cny-banner{font-size:12px;letter-spacing:0.5px;}
    .cny-lantern{font-size:18px;}
}

/* ============ Footer 底部四件套 (P3-04) ============ */
.footer-legal{
    margin-top:6px !important;
    font-size:12px;
    color:#8e8e93;
}
.footer-legal a{
    color:#8e8e93;
    text-decoration:none;
    transition:color .2s;
    padding:0 2px;
}
.footer-legal a:hover{color:#2563eb;}

/* ============ 法律文档 (用户协议/售后/隐私/免责) ============ */
.legal-doc{
    max-width:760px;
    margin:0 auto;
    line-height:1.85;
}
.legal-doc h2{
    margin-bottom:6px;
    color:#1c1c1e;
}
.legal-doc h3{
    margin-top:24px;
    margin-bottom:8px;
    font-size:16px;
    color:#3a3a3c;
    padding-bottom:6px;
    border-bottom:1px solid rgba(0,0,0,0.06);
}
.legal-doc .legal-meta{
    color:#8e8e93;
    font-size:12px;
    margin-bottom:18px;
}
.legal-doc p{
    color:#3a3a3c;
    font-size:14px;
}
.legal-doc ul{
    list-style:disc;
    padding-left:24px;
    margin:8px 0 12px;
    color:#3a3a3c;
    font-size:14px;
}
.legal-doc li{margin:4px 0;}
.legal-doc strong{color:#1c1c1e;}
.legal-doc .legal-nav{
    margin-top:32px;
    padding-top:18px;
    border-top:1px solid rgba(0,0,0,0.06);
    text-align:center;
    color:#8e8e93;
    font-size:13px;
}
.legal-doc .legal-nav a{
    color:#5a64b8;
    text-decoration:none;
    padding:0 6px;
}
.legal-doc .legal-nav a:hover{color:#2563eb;}

/* ============ 库存管理 (admin_warehouse) ============ */

/* 顶吸工具栏 */
.wh-toolbar{
    position:sticky;
    top:64px;
    z-index:50;
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    padding:14px 16px;
    border-radius:14px;
    border:1px solid rgba(0,0,0,0.06);
    box-shadow:0 1px 6px rgba(0,0,0,0.04);
    margin:14px 0 18px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}
.wh-toolbar .wh-search{flex:2;min-width:200px;margin-top:0;}
.wh-toolbar select{flex:1;min-width:140px;margin-top:0;}
.wh-toolbar label.wh-check{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    color:#3a3a3c;
    white-space:nowrap;
    cursor:pointer;
}
.wh-toolbar label.wh-check input{width:auto;margin-top:0;}

/* SKU 品牌分组 */
.sku-group{margin:18px 0;}
.sku-group-header{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    margin-bottom:8px;
    background:linear-gradient(180deg,rgba(238,244,251,0.85),rgba(238,244,251,0.4));
    border:1px solid #dbe4ef;
    border-radius:12px;
    font-size:15px;
    font-weight:600;
    color:#2563eb;
}
.sku-group-header .count{
    font-size:12px;
    color:#6b7280;
    font-weight:500;
    background:#fff;
    padding:2px 10px;
    border-radius:980px;
    border:1px solid #dbe4ef;
}

/* SKU 行卡(Phase 3 5 列布局:身份 / 名称 / 库存 / 趋势 / 操作)
   列宽收紧:总宽度 ≤ main 内容区 1050px,避免操作列溢出 */
.sku-row{
    display:grid;
    grid-template-columns:minmax(160px,190px) minmax(180px,1fr) 100px minmax(160px,185px) auto;
    gap:12px;
    align-items:center;
    padding:14px 16px;
    border:1px solid rgba(0,0,0,0.06);
    border-radius:14px;
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    margin-bottom:8px;
    transition:all .2s;
}
.sku-row:hover{
    box-shadow:0 4px 18px rgba(0,0,0,0.06);
    border-color:#c9daec;
}
.sku-row.is-hidden{display:none;}
.sku-row.is-disabled{opacity:0.55;}

/* 列 1:身份(SKU 编码 + 类型/地区徽章) */
.sku-row .sku-col-id{display:flex;flex-direction:column;gap:6px;min-width:0;}
.sku-row .sku-col-id .sku-code{
    font-family:'SF Mono',Menlo,Consolas,monospace;
    font-size:13px;
    font-weight:600;
    color:#1c1c1e;
    word-break:break-all;
    line-height:1.3;
}
.sku-row .sku-col-id .sku-badges{display:flex;gap:4px;flex-wrap:wrap;}

/* 列 2:名称 + 面额分布 */
.sku-row .sku-col-name{display:flex;flex-direction:column;gap:4px;min-width:0;}
.sku-row .sku-col-name .sku-name{color:#3a3a3c;font-size:14px;line-height:1.45;}
.sku-row .sku-col-name .sku-amounts{font-size:11px;color:#8e8e93;line-height:1.5;}

/* 列 3:库存胶囊 + 阈值 */
.sku-row .sku-col-stock{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
}
.sku-row .sku-col-stock .sku-threshold{
    font-size:10px;
    color:#8e8e93;
    text-align:center;
}

/* 列 4:近 30 天趋势(sparkline + 日均 + 累计已售) */
.sku-row .sku-col-trend{
    display:flex;
    flex-direction:column;
    gap:3px;
    font-size:11px;
    color:#6c6c70;
    line-height:1.5;
    min-width:0;
}
.sku-row .sku-col-trend svg{display:block;}
.sku-row .sku-col-trend .sku-avg{font-size:12px;color:#3a3a3c;}
.sku-row .sku-col-trend .sku-avg strong{color:#0284c7;font-weight:700;}
.sku-row .sku-col-trend .sku-sold-total{font-size:11px;color:#8e8e93;}
.sku-row .sku-col-trend .sku-spark-empty{
    font-size:11px;
    color:#bfbfc2;
    padding:8px 0 6px;
    font-style:italic;
}

/* 列 5:操作按钮(右对齐,一行展开)*/
.sku-row .sku-actions{
    display:flex;
    gap:6px;
    justify-content:flex-end;
    flex-wrap:nowrap;
    align-items:center;
}
.sku-row .sku-actions .btn{
    padding:5px 10px;
    font-size:12px;
    margin:0;
    white-space:nowrap;
}

/* 库存胶囊 badge */
.stock-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 14px;
    border-radius:980px;
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
}
.stock-badge .num{font-size:14px;font-weight:700;}
.stock-badge .unit{font-size:11px;font-weight:500;opacity:0.85;}
.stock-badge.empty{background:rgba(255,59,48,0.1);color:#D70015;border:1px solid rgba(255,59,48,0.2);}
.stock-badge.low{background:rgba(255,149,0,0.1);color:#C93400;border:1px solid rgba(255,149,0,0.2);}
.stock-badge.normal{background:rgba(90,200,250,0.12);color:#0284c7;border:1px solid rgba(90,200,250,0.28);}
.stock-badge.high{background:rgba(52,199,89,0.1);color:#248A3D;border:1px solid rgba(52,199,89,0.2);}

/* SKU 类型徽章 */
.sku-type{
    font-size:11px;
    padding:2px 10px;
    border-radius:980px;
    border:1px solid;
    white-space:nowrap;
}
.sku-type.local{background:#f0fdf4;color:#15803d;border-color:#cfe7d5;}
.sku-type.api{background:#eef8ff;color:#0284c7;border-color:#cfe3f4;}
.sku-type.off{background:#f3f4f6;color:#6b7280;border-color:#d1d5db;}

/* 面额分布胶囊行 */
.amount-chips{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin:8px 0 4px;
}
.amount-chip{
    font-size:12px;
    padding:3px 10px;
    border-radius:980px;
    background:#f0f7ff;
    color:#2563eb;
    border:1px solid #d6e3ef;
}
.amount-chip .x{color:#6b7280;font-weight:500;margin:0 3px;}

/* 当前筛选 breadcrumb */
.filter-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    padding:10px 14px;
    margin-bottom:14px;
    background:#eef4fb;
    border-left:4px solid #2563eb;
    border-radius:0 12px 12px 0;
    font-size:13px;
    color:#1f2937;
}
.filter-breadcrumb .filter-tag{
    background:#fff;
    padding:3px 10px;
    border-radius:980px;
    border:1px solid #c9daec;
    color:#2563eb;
    font-weight:500;
}
.filter-breadcrumb .clear{
    margin-left:auto;
    color:#6b7280;
    text-decoration:none;
    font-size:12px;
}
.filter-breadcrumb .clear:hover{color:#dc2626;}

/* 折叠抽屉 (原生 details/summary) */
details.wh-drawer{
    border:1px solid rgba(0,0,0,0.06);
    border-radius:14px;
    background:rgba(255,255,255,0.85);
    margin-bottom:14px;
    overflow:hidden;
    transition:all .2s;
}
details.wh-drawer[open]{box-shadow:0 4px 18px rgba(0,0,0,0.05);}
details.wh-drawer > summary{
    list-style:none;
    cursor:pointer;
    padding:14px 18px;
    font-weight:600;
    font-size:15px;
    color:#1c1c1e;
    display:flex;
    align-items:center;
    gap:8px;
    user-select:none;
}
details.wh-drawer > summary::-webkit-details-marker{display:none;}
details.wh-drawer > summary::before{
    content:'▸';
    color:#6b7280;
    font-size:12px;
    transition:transform .2s;
    display:inline-block;
}
details.wh-drawer[open] > summary::before{transform:rotate(90deg);}
details.wh-drawer > summary:hover{background:rgba(238,244,251,0.5);}
details.wh-drawer > .wh-drawer-body{padding:0 18px 18px;}

/* 命名规范提示卡 */
.wh-naming-hint{
    background:rgba(238,244,251,0.5);
    border-radius:12px;
    padding:12px 16px;
    font-size:13px;
    color:#3a3a3c;
    line-height:1.7;
    margin:10px 0;
}
.wh-naming-hint code{
    background:#fff;
    padding:1px 8px;
    border-radius:6px;
    border:1px solid #dbe4ef;
    color:#2563eb;
    font-size:12px;
}

/* 告警统计卡变体 */
.stat-card.alert-empty{background:#fff7f5;border-color:#f0caca;}
.stat-card.alert-empty .value{color:#dc2626;}
.stat-card.alert-empty h4{color:#b91c1c;}
.stat-card.alert-low{background:#fffaf0;border-color:#f3d8a8;}
.stat-card.alert-low .value{color:#C93400;}
.stat-card.alert-low h4{color:#b3690a;}
.stat-card .value a{color:inherit;text-decoration:none;}
.stat-card .value a:hover{text-decoration:underline;}

/* 空状态 */
.wh-empty{
    text-align:center;
    padding:50px 20px;
    color:#8e8e93;
    font-size:14px;
}
.wh-empty .icon{font-size:42px;margin-bottom:10px;}

/* 卡密表上方批量操作条 */
.wh-batch-bar{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    padding:10px 14px;
    background:rgba(238,244,251,0.4);
    border-radius:12px;
    margin-bottom:10px;
}
.wh-batch-bar .selected-count{
    color:#dc2626;
    font-size:13px;
    font-weight:500;
    margin-left:auto;
}

/* 移动端 */
@media (max-width:768px){
    .wh-toolbar{position:static;padding:10px;}
    .sku-row{
        grid-template-columns:1fr;
        gap:10px;
        padding:14px;
    }
    .sku-row .sku-col-stock,
    .sku-row .sku-col-trend{align-items:flex-start;}
    .sku-row .sku-col-trend{
        flex-direction:row;
        flex-wrap:wrap;
        align-items:center;
        gap:10px;
    }
    .sku-row .sku-actions{
        justify-content:flex-start;
        flex-wrap:wrap;
    }
    .filter-breadcrumb{font-size:12px;padding:8px 12px;}
}

/* ── 发货健康指示器 ── */
.health-widget{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-radius:10px;
    padding:10px 14px;
    border:1px solid transparent;
    transition:background .3s,border-color .3s;
    margin:-6px 0 16px;
}
.health-smooth{background:#f0fdf4;border-color:#bbf7d0;}
.health-busy{background:#fffbeb;border-color:#fde68a;}
.health-blocked{background:#fff1f2;border-color:#fecdd3;}
.health-unknown{background:#f8fafc;border-color:#e2e8f0;}
.health-idle{background:#f8fafc;border-color:#e2e8f0;}
.hw-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    flex-shrink:0;
}
.health-smooth .hw-dot{background:#22c55e;animation:hw-pulse-g 2s infinite;}
.health-busy .hw-dot{background:#f59e0b;animation:hw-pulse-o 2s infinite;}
.health-blocked .hw-dot{background:#ef4444;animation:hw-pulse-r 2s infinite;}
.health-unknown .hw-dot{background:#cbd5e1;}
.health-idle .hw-dot{background:#cbd5e1;}
@keyframes hw-pulse-g{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}
@keyframes hw-pulse-o{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.4)}50%{box-shadow:0 0 0 5px rgba(245,158,11,0)}}
@keyframes hw-pulse-r{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.4)}50%{box-shadow:0 0 0 5px rgba(239,68,68,0)}}
.hw-left{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}
.hw-left > div{min-width:0;}
.hw-title{
    font-size:13px;
    font-weight:500;
}
.hw-tip{
    font-size:12px;
    line-height:1.55;
    margin-top:2px;
}
.health-smooth .hw-title,.health-smooth .hw-tip{color:#15803d;}
.health-busy .hw-title,.health-busy .hw-tip{color:#b45309;}
.health-blocked .hw-title,.health-blocked .hw-tip{color:#b91c1c;}
.health-unknown .hw-title{color:#64748b;}
.health-unknown .hw-tip{color:#94a3b8;}
.health-idle .hw-title{color:#64748b;}
.health-idle .hw-tip{color:#94a3b8;}
.hw-source{
    font-size:10px;
    padding:1px 5px;
    border-radius:4px;
    font-weight:500;
    vertical-align:middle;
    margin-left:5px;
}
.src-live{background:#dcfce7;color:#166534;}
.src-default{background:#f1f5f9;color:#64748b;}
.hw-stats{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
}
.hw-stat{text-align:right;}
.hw-stat-val{
    font-size:13px;
    font-weight:500;
    color:#374151;
}
.hw-stat-lbl{
    font-size:10px;
    color:#9ca3af;
    margin-top:1px;
}
.hw-divider{
    width:1px;
    height:30px;
    background:#e5e7eb;
}
.hw-updated{
    font-size:11px;
    color:#9ca3af;
    white-space:nowrap;
    flex-shrink:0;
}
@media (max-width:480px){
    .health-widget{align-items:flex-start;}
    .hw-stats{display:none;}
    .hw-updated{display:none;}
}

/* ── 区域下单页通用样式 ── */
.page-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:20px;
    max-width:1100px;
    width:100%;
    margin:0 auto;
}
.page-header{margin-bottom:16px;}
.page-title{
    font-size:17px;
    font-weight:600;
    color:#111827;
    margin:0 0 6px;
    display:flex;
    align-items:center;
    gap:8px;
    line-height:1.35;
}
.info-row{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    color:#6b7280;
    margin-top:4px;
    line-height:1.5;
}
.warn-row{
    display:flex;
    align-items:flex-start;
    gap:6px;
    font-size:12px;
    color:#b45309;
    background:#fffbeb;
    border:1px solid #fde68a;
    border-radius:7px;
    padding:7px 10px;
    margin-top:8px;
    line-height:1.5;
}
.region-disabled-note{margin-bottom:12px;}
/* ── 快捷面额按钮 · 自适应胶囊样式 ── */
.amount-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:8px;
    margin-bottom:16px;
}
.amt-chip{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:11px 16px;
    border-radius:999px;
    border:1px solid #e8edf5;
    background:#fff;
    cursor:pointer;
    transition:border-color .12s,background .12s;
    font-family:inherit;
    line-height:1.2;
    text-align:left;
    min-width:0;
}
.amt-chip:hover{
    border-color:#bcd0f5;
    background:#f7faff;
}
.amt-chip.active{
    border-color:#3B6BE0;
    background:#EEF3FF;
}
.amt-chip.out-of-stock,
.amt-chip:disabled{
    opacity:.5;
    pointer-events:none;
    cursor:not-allowed;
    background:#f9fafb;
}
.amt-val{
    font-size:14px;
    font-weight:500;
    color:#1f2937;
    white-space:nowrap;
}
.amt-chip.active .amt-val{color:#3B6BE0;}
.amt-stock{
    font-size:12px;
    color:#3B6BE0;
    font-weight:500;
    white-space:nowrap;
}
.amt-stock.out{color:#ef4444;}
.amt-stock.flash{color:#16a34a;}
.num-input{
    width:100%;
    border:1px solid #e5e7eb;
    border-radius:8px;
    padding:10px 14px;
    font-size:16px;
    font-weight:600;
    color:#111827;
    outline:none;
    text-align:center;
    font-family:inherit;
    margin-bottom:4px;
    box-sizing:border-box;
}
.num-input:focus{
    border-color:#3B6BE0;
    box-shadow:0 0 0 3px rgba(59,107,224,.1);
}
.field-label{
    font-size:12px;
    color:#6b7280;
    font-weight:500;
    margin-bottom:6px;
    margin-top:14px;
}
.field-hint{
    font-size:11px;
    color:#9ca3af;
    margin-top:4px;
}
.price-box{
    background:#f9fafb;
    border:1px solid #f3f4f6;
    border-radius:10px;
    padding:12px 14px;
    margin:16px 0;
}
.price-main{
    font-size:13px;
    color:#6b7280;
}
.price-main span{
    font-size:20px;
    font-weight:700;
    color:#ef4444;
    margin-left:4px;
}
.price-meta{
    font-size:11px;
    color:#9ca3af;
    margin-top:4px;
    line-height:1.45;
}
.buy-btn{
    width:100%;
    padding:13px;
    border-radius:10px;
    border:none;
    font-size:15px;
    font-weight:500;
    cursor:pointer;
    font-family:inherit;
    background:#22c55e;
    color:#fff;
    transition:background .15s;
}
.buy-btn:hover{background:#16a34a;}
.buy-btn:disabled{
    background:#d1fae5;
    color:#6ee7b7;
    cursor:default;
}
.back-link{
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:13px;
    color:#6b7280;
    margin-top:14px;
    text-decoration:none;
}
.back-link:hover{color:#3B6BE0;}
@media (max-width:480px){
    .page-card{padding:14px;border-radius:12px;}
    .page-title{font-size:15px;align-items:flex-start;}
    .price-main span{display:block;margin-left:0;margin-top:2px;}
}

/* User center and order detail pages */
.user-dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    margin-bottom:18px;
}
.user-summary-card,
.user-order-toolbar{
    box-shadow:none;
    border:1px solid #e8edf3;
}
.user-summary-card,
.user-order-toolbar{background:#fcfcf9;}
.user-summary-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}
.user-summary-title{
    margin:0;
    font-size:24px;
    line-height:1.2;
}
.user-balance-panel{
    background:#f7f9fc;
    border:1px solid #dbe4ef;
    border-radius:16px;
    padding:16px 18px;
    min-width:220px;
}
.user-balance-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:6px;
}
.user-balance-label{
    margin:0;
    color:#6b7280;
    font-size:13px;
}
.user-balance-value{
    margin:0;
    color:#dc2626;
    font-size:30px;
    font-weight:700;
    line-height:1.1;
}
.user-summary-tools{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:12px;
}
.user-meta-item,
.user-tool-link{
    background:#fff;
    border:1px solid #eceff3;
    border-radius:14px;
    padding:14px 16px;
}
.user-meta-label{
    display:block;
    color:#6b7280;
    font-size:12px;
    margin-bottom:6px;
}
.user-meta-value{
    display:block;
    color:#1f2937;
    font-size:15px;
    font-weight:600;
    word-break:break-all;
}
.user-phone-bound{
    color:#15803d;
    font-weight:600;
}
.user-phone-mask{
    display:block;
    margin-top:4px;
    color:#6b7280;
    font-size:13px;
}
.user-phone-empty{color:#6b7280;}
.user-ip-badge{
    display:inline-block;
    padding:6px 10px;
    border-radius:999px;
    background:#f7f9fc;
    border:1px solid #dbe4ef;
    color:#2563eb;
    font-family:monospace;
    font-size:13px;
    font-weight:600;
}
.user-ip-note{
    display:inline-block;
    margin-left:6px;
    color:#6b7280;
    font-size:12px;
    font-weight:500;
    vertical-align:middle;
}
.user-tool-link{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    min-height:86px;
    text-decoration:none;
    color:#1f2937;
    box-shadow:none;
}
.user-tool-link strong{
    font-size:15px;
    line-height:1.3;
}
.user-tool-link span{
    font-size:12px;
    color:#6b7280;
    line-height:1.5;
}
.user-tool-link:hover{
    background:#f9fbfd;
    border-color:#dbe4ef;
}
.user-meta-action,
.user-balance-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 12px;
    border-radius:999px;
    border:1px solid #dbe4ef;
    color:#2563eb;
    text-decoration:none;
    font-size:12px;
    font-weight:600;
}
.user-meta-action{
    background:#f7f9fc;
    margin-top:10px;
}
.user-balance-link{background:#fff;}
.user-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    flex-wrap:wrap;
    margin:18px 0 10px;
}
.user-section-head h3{margin:0;}
.user-section-note,
.user-order-summary-text{
    color:#6b7280;
    font-size:13px;
}
.user-section-note{margin:0;}
.user-order-summary-text{margin:0 0 15px;}
.user-reminder{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:16px;
    padding:14px 16px;
    border:1px solid #dbe4ef;
    border-radius:14px;
    background:#f7f9fc;
}
.user-reminder strong{color:#2563eb;}
.user-reminder p{margin:0;}
.user-reminder-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.user-soft-btn{
    background:#f7f9fc;
    color:#2563eb;
    border:1px solid #cddceb;
}
.user-order-form{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:flex-end;
}
.user-order-form .field{
    flex:1;
    min-width:220px;
}
.user-order-form label{
    display:block;
    font-size:12px;
    color:#6b7280;
    margin-bottom:6px;
}
.user-order-card{
    margin-bottom:12px;
    padding:12px 15px;
}
.user-order-card-head,
.user-order-card-foot{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
}
.user-order-card-head{margin-bottom:8px;}
.user-order-card-foot{flex-wrap:wrap;}
.user-order-id{
    font-size:12px;
    color:#666;
}
.user-order-status{
    font-weight:700;
    font-size:13px;
}
.user-order-status.is-refunded,
.user-order-note.is-refunded{color:#0f766e;}
.user-order-status.is-failed{color:#dc2626;}
.user-order-status.is-cancelled,
.user-order-note.is-muted{color:#6b7280;}
.user-order-status.is-pending,
.user-order-status.is-partial{color:#f39c12;}
.user-order-status.is-unread{color:#2563eb;}
.user-order-status.is-completed,
.user-order-note.is-success{color:#28a745;}
.user-order-title{
    margin:0 0 6px;
    font-weight:500;
}
.user-order-meta{
    font-size:13px;
    color:#666;
}
.user-order-amount{
    color:#d63031;
    font-weight:700;
}
.user-order-note{
    font-size:12px;
    margin-right:8px;
}
.user-order-btn{
    padding:6px 12px;
    font-size:12px;
}
.user-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:20px;
    flex-wrap:wrap;
}
.user-pagination-btn,
.user-pagination-current{
    padding:8px 12px;
}
.user-pagination-current{
    background:#eef4ff;
    color:#2563eb;
    border:1px solid #bfdbfe;
}
.user-pagination-ellipsis{color:#999;}
.user-page-jump{
    text-align:center;
    margin-top:12px;
}
.user-page-jump-form{
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.user-page-jump-copy{
    color:#666;
    font-size:13px;
}
.user-page-input{
    width:60px;
    padding:6px;
    text-align:center;
    border:1px solid #ddd;
    border-radius:4px;
}
.user-page-go{
    padding:6px 12px;
    font-size:12px;
}
.user-usdt-pending{
    border-left:4px solid #f0b90b;
    background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);
}
.user-usdt-pending h3{
    margin-top:0;
    color:#b45309;
}
.user-usdt-pending-item{
    background:#fff;
    padding:12px;
    border-radius:8px;
    margin-bottom:10px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
.user-usdt-amount{
    margin:0;
    font-weight:700;
    color:#d97706;
}
.user-usdt-meta{
    margin:5px 0 0;
    font-size:12px;
    color:#666;
}
.uc-countdown,
.uc-countdown.is-expired{color:#dc2626;}
.user-usdt-action{
    background:#f59e0b;
    color:#fff;
}
.balance-summary-card{
    margin-bottom:20px;
    background:#f7f9fc;
    color:#1f2937;
    border:1px solid #dbe4ef;
    box-shadow:none;
}
.balance-summary-label{
    margin:0;
    font-size:14px;
    color:#6b7280;
}
.balance-summary-value{
    margin:5px 0 0;
    font-size:28px;
    font-weight:700;
    color:#2563eb;
}
.balance-log-card{
    padding:12px 15px;
    margin-bottom:10px;
}
.bh-head,
.bh-foot{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
.bh-foot{
    margin-top:8px;
    font-size:12px;
    color:#666;
}
.bh-type{
    font-weight:500;
    color:#666;
}
.bh-type-recharge_admin,
.bh-type-recharge_user,
.bh-type-recharge_card{color:#28a745;}
.bh-type-recharge_usdt{color:#f0b90b;}
.bh-type-purchase,
.bh-type-deduct{color:#dc3545;}
.bh-type-refund,
.bh-type-subscription_refund{color:#17a2b8;}
.bh-type-adjust{color:#6c757d;}
.bh-type-subscription_rent,
.bh-type-subscription_renew,
.bh-type-ai_purchase{color:#007AFF;}
.bh-type-subscription_buy{color:#f5576c;}
.bh-type-subscription_upgrade{color:#f093fb;}
.bh-time{
    color:#999;
    font-size:12px;
    margin-left:8px;
}
.bh-amount-box{text-align:right;}
.bh-amount{
    font-weight:700;
    font-size:18px;
}
.bh-amount.is-positive{color:#28a745;}
.bh-amount.is-negative{color:#dc3545;}
.bh-remark{
    max-width:60%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.balance-pagination{
    margin-top:15px;
    text-align:center;
}
.balance-pagination-copy{
    margin:0 15px;
    color:#666;
}
.user-msg-panel{
    max-height:400px;
    overflow-y:auto;
    padding:10px;
    background:#f8f9fa;
    border-radius:8px;
    margin-bottom:15px;
}
.user-msg-row{
    margin-bottom:15px;
    text-align:left;
}
.user-msg-row.is-user{text-align:right;}
.user-msg-inner{
    display:inline-block;
    max-width:80%;
    text-align:left;
}
.user-msg-meta{
    font-size:12px;
    color:#999;
    margin-bottom:3px;
}
.user-msg-bubble{
    padding:10px 15px;
    border-radius:15px 15px 15px 5px;
    box-shadow:0 1px 3px rgba(0,0,0,.1);
    line-height:1.6;
    background:#fff;
    color:#333;
}
.user-msg-row.is-user .user-msg-bubble{
    border-radius:15px 15px 5px 15px;
    background:#007AFF;
    color:#fff;
}
.user-msg-empty{
    text-align:center;
    color:#999;
    padding:30px 0;
}
.user-msg-empty span{font-size:12px;}
.user-msg-compose{
    display:flex;
    gap:10px;
}
.user-msg-input{
    flex:1;
    height:60px;
    padding:10px;
    border:1px solid #ddd;
    border-radius:8px;
    resize:none;
}
.user-msg-send{padding:0 25px;}
.order-partial-notice{margin-bottom:15px;}
.order-notice-title{margin:0;}
.order-notice-line{margin:5px 0 0;}
.order-codes-wrap{position:relative;}
.order-codes-textarea{
    width:100%;
    height:200px;
    padding:15px;
    border:1px solid #ddd;
    border-radius:8px;
    font-family:monospace;
    font-size:14px;
    color:#d63031;
    font-weight:700;
    line-height:1.8;
    resize:vertical;
    background:#f8f9fa;
}
.order-codes-copy{
    position:absolute;
    top:10px;
    right:10px;
    padding:8px 15px;
    background:#007AFF;
    color:#fff;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-size:13px;
}
.order-download-actions{
    margin-top:15px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
@media (max-width:900px){
    .user-summary-tools{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
    .user-summary-tools{grid-template-columns:1fr;}
    .user-balance-panel{width:100%;}
    .bh-remark{max-width:100%;}
}

/* Admin subscription order detail */
.admin-sub-flash{margin-bottom:20px;}
.admin-sub-link-gap{margin-left:8px;}
.admin-sub-detail-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:20px;
}
.admin-sub-section-card{margin-top:15px;}
.admin-sub-card-title{margin-top:0;}
.admin-sub-info-table{
    width:100%;
    font-size:13px;
}
.admin-sub-info-table td{
    padding:6px 0;
}
.admin-sub-info-table td:first-child{
    color:#666;
    width:120px;
}
.admin-sub-price-note{
    color:#999;
    font-size:12px;
}
.admin-sub-muted{color:#999;}
.admin-sub-badge{
    color:#fff;
    padding:2px 8px;
    border-radius:4px;
    font-size:11px;
    background:#6b7280;
}
.order-status-pending{background:#f39c12;}
.order-status-paid{background:#17a2b8;}
.order-status-completed{background:#28a745;}
.order-status-cancelled{background:#6c757d;}
.order-status-expired{background:#dc3545;}
.order-status-refunded{background:#6366f1;}
.account-status-available{background:#15803d;}
.account-status-rented{background:#c24182;}
.account-status-sold{background:#0284c7;}
.account-status-disabled{background:#dc2626;}
.admin-sub-empty{color:#999;}
.admin-sub-log-table{
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}
.admin-sub-log-table thead tr{background:#f8f9fa;}
.admin-sub-log-table th,
.admin-sub-log-table td{
    padding:6px;
    text-align:left;
}
.admin-sub-log-table tr{border-bottom:1px solid #f0f0f0;}
.admin-sub-log-table .num{text-align:right;}
.admin-sub-log-table .muted{color:#666;}
.admin-sub-amount.is-positive{color:#15803d;}
.admin-sub-amount.is-negative{color:#dc3545;}
.admin-sub-action-box{
    padding:12px;
    border-radius:6px;
    margin-bottom:12px;
}
.admin-sub-action-box h4{
    margin:0 0 8px;
}
.admin-sub-action-box p{
    font-size:12px;
    color:#666;
    margin:0 0 10px;
}
.admin-sub-action-box.is-gift,
.admin-sub-action-box.is-recover{
    background:#f0fdf4;
    border:1px solid #cfe7d5;
}
.admin-sub-action-box.is-gift h4,
.admin-sub-action-box.is-recover h4{color:#15803d;}
.admin-sub-action-box.is-neutral{
    background:#f3f4f6;
    border:1px solid #d1d5db;
}
.admin-sub-action-box.is-note{
    background:#f9fafb;
    border:1px solid #e5e7eb;
    margin-bottom:0;
}
.admin-sub-action-row{
    display:flex;
    gap:8px;
}
.admin-sub-small-input{
    flex:1;
    padding:8px;
    border:1px solid #ddd;
    border-radius:4px;
}
.admin-sub-nowrap{white-space:nowrap;}
.admin-sub-recover-btn{
    background:#f0fdf4;
    color:#15803d;
    border:1px solid #cfe7d5;
}
.admin-sub-note-input{
    width:100%;
    padding:8px;
    border:1px solid #ddd;
    border-radius:4px;
    font-size:13px;
    min-height:80px;
}
.admin-sub-note-save{margin-top:8px;}
@media (max-width:900px){
    .admin-sub-detail-grid{grid-template-columns:1fr;}
    .admin-sub-link-gap{margin-left:0;margin-top:8px;}
}

/* ============ SpeedPin Design System Refresh ============ */
html{background:var(--sp-bg);}
body{
    background:
        linear-gradient(180deg,rgba(255,255,255,0.82),rgba(248,250,252,0) 280px),
        var(--sp-bg);
    color:var(--sp-text);
    transition:background-color .25s ease,color .25s ease;
}
[data-theme="dark"] body{
    background:
        linear-gradient(180deg,rgba(16,24,39,0.80),rgba(8,12,24,0) 280px),
        var(--sp-bg);
}
@media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) body{
        background:
            linear-gradient(180deg,rgba(16,24,39,0.80),rgba(8,12,24,0) 280px),
            var(--sp-bg);
    }
}
header{
    max-width:1180px;
    margin:14px auto 0;
    width:calc(100% - 28px);
    padding:12px 14px;
    border:1px solid color-mix(in srgb,var(--sp-border) 84%,transparent);
    border-radius:var(--sp-radius-lg);
    background:color-mix(in srgb,var(--sp-surface) 90%,transparent);
    box-shadow:var(--sp-shadow-sm);
    top:10px;
}
header .logo{color:var(--sp-brand-navy);flex:0 0 auto;}
header .site-logo-mark{
    width:42px;
    height:42px;
    border-radius:14px;
    box-shadow:0 10px 24px rgba(88,86,214,0.16);
}
header .site-logo-text{
    font-size:21px;
    font-weight:800;
    background:var(--sp-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
header nav{gap:6px;flex:1 1 auto;}
header nav a{
    color:var(--sp-muted);
    border:1px solid transparent;
    border-radius:999px;
    padding:8px 13px;
}
header nav a:hover{
    color:var(--sp-brand-navy);
    background:var(--sp-surface-2);
    border-color:var(--sp-border);
    transform:translateY(-1px);
}
.theme-toggle-btn{
    width:40px;
    height:40px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    border:1px solid var(--sp-border);
    background:var(--sp-surface);
    color:var(--sp-brand-navy);
    box-shadow:none;
}
.theme-toggle-btn:hover{
    background:var(--sp-surface-2);
    color:var(--sp-primary);
    transform:translateY(-1px);
}
main{
    max-width:1120px;
    margin:24px auto;
    padding:30px;
    border-radius:var(--sp-radius-lg);
    border:1px solid color-mix(in srgb,var(--sp-border) 88%,transparent);
    background:color-mix(in srgb,var(--sp-surface) 92%,transparent);
    box-shadow:var(--sp-shadow-sm);
}
h1,h2,h3,h4{color:var(--sp-text);letter-spacing:0;}
h2{
    font-size:28px;
    line-height:1.25;
}
p,.page-copy,.site-muted-copy{color:var(--sp-muted);}
a{color:var(--sp-primary);}
.card,
.product-card,
.user-order-card,
.ann-card,
.stat-card,
.wh-empty,
.admin-sub-action-box,
.recharge-card-entry,
.recharge-taobao-entry{
    border-radius:var(--sp-radius-lg);
    border:1px solid var(--sp-border);
    background:var(--sp-surface);
    box-shadow:var(--sp-shadow-sm);
}
.card:hover,
.product-card:hover,
.user-order-card:hover{
    box-shadow:var(--sp-shadow);
}
.product-card{
    padding:22px;
    overflow:hidden;
    position:relative;
}
.product-card::before,
.card.site-boundary-card::before,
.recharge-card-entry::before{
    content:'';
    display:block;
    height:3px;
    background:var(--sp-gradient);
    border-radius:999px;
    margin:-6px 0 14px;
}
.product-card .category-badge,
.cat-badge,
.stock-badge,
.nav-badge,
.user-ip-badge,
.admin-sub-badge{
    border-radius:999px;
}
button,.btn,
.buy-btn,
.btn-pay,
.btn-balance,
.ai-btn,
.ai-card-btn,
.rc-next-btn,
.rc-btn-paid,
.user-order-btn{
    border-radius:14px;
    transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}
button:not(.theme-toggle-btn):not(.ann-trigger):not(.logout-btn),
.btn:not(.secondary):not(.danger):not(.success),
.buy-btn,
.btn-pay,
.ai-btn,
.ai-card-btn,
.rc-next-btn,
.user-order-btn{
    background:var(--sp-brand-navy);
    color:#fff;
    border:1px solid color-mix(in srgb,var(--sp-brand-navy) 82%,#fff);
    box-shadow:0 10px 22px rgba(11,18,56,0.14);
}
button:hover,.btn:hover,
.buy-btn:hover,
.btn-pay:hover,
.ai-btn:hover,
.ai-card-btn:hover,
.user-order-btn:hover{
    transform:translateY(-1px);
}
.btn.secondary,
.btn-back,
.rw-btn-secondary,
.auth-btn-secondary{
    background:var(--sp-surface);
    color:var(--sp-brand-navy);
    border:1px solid var(--sp-border);
}
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select,
.num-input,
.admin-sub-small-input,
.admin-sub-note-input{
    border-radius:14px;
    border:1px solid var(--sp-border);
    background:var(--sp-surface);
    color:var(--sp-text);
    box-shadow:none;
}
input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus,
.num-input:focus{
    border-color:var(--sp-primary);
    box-shadow:var(--sp-focus);
}
table,
.recharge-table,
.admin-sub-log-table{
    border-radius:var(--sp-radius);
    overflow:hidden;
    border:1px solid var(--sp-border);
    background:var(--sp-surface);
}
th{
    background:var(--sp-surface-2);
    color:var(--sp-text);
}
td{border-color:var(--sp-border);}
.notice{
    border-radius:var(--sp-radius);
    border:1px solid var(--sp-border);
    box-shadow:none;
}
.notice.info{
    background:color-mix(in srgb,var(--sp-primary) 10%,var(--sp-surface));
    color:var(--sp-brand-navy);
    border-color:color-mix(in srgb,var(--sp-primary) 22%,var(--sp-border));
}
.notice.success,
.stock-badge.high{
    background:color-mix(in srgb,var(--sp-success) 12%,var(--sp-surface));
    color:var(--sp-success);
}
.notice.error,
.stock-badge.empty{
    background:color-mix(in srgb,var(--sp-danger) 10%,var(--sp-surface));
    color:var(--sp-danger);
}
.notice.warning,
.stock-badge.low{
    background:color-mix(in srgb,var(--sp-warning) 12%,var(--sp-surface));
    color:var(--sp-warning);
}
.stats{gap:16px;}
.stat-card{
    padding:24px;
    text-align:left;
}
.stat-card .value{
    color:var(--sp-brand-navy);
}
.cs-status-online{
    background:color-mix(in srgb,var(--sp-success) 14%,var(--sp-surface));
    color:var(--sp-success);
}
.cs-status-offline{
    background:color-mix(in srgb,var(--sp-danger) 12%,var(--sp-surface));
    color:var(--sp-danger);
}
footer{
    color:var(--sp-muted);
    padding:34px 16px 44px;
}
.footer-legal a{color:var(--sp-muted);}
.footer-legal a:hover{color:var(--sp-primary);}
[data-theme="dark"] img{filter:none;}
[data-theme="dark"] .card,
[data-theme="dark"] main,
[data-theme="dark"] header,
[data-theme="dark"] footer,
[data-theme="dark"] table{
    border-color:var(--sp-border);
}
[data-theme="dark"] .ann-copy-code,
[data-theme="dark"] code{
    background:var(--sp-surface-2);
    color:var(--sp-text);
    border-color:var(--sp-border);
}
@media (max-width:768px){
    header{
        width:calc(100% - 16px);
        margin-top:8px;
        top:6px;
        border-radius:18px;
    }
    header .site-logo-mark{width:38px;height:38px;}
    header .site-logo-text{font-size:19px;}
    header nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;width:100%;order:3;padding-bottom:2px;}
    header nav::-webkit-scrollbar{display:none;}
    .theme-toggle-btn{width:38px;height:38px;}
    main{
        margin:14px 8px;
        padding:18px;
        border-radius:18px;
    }
    h2{font-size:23px;}
}

/* ============ SpeedPin UI refinement pass 2 ============ */
:root{
    --sp-brand-navy-2:#101A46;
    --sp-text-primary:#111827;
    --sp-text-secondary:#6B7280;
    --sp-text-muted:#9CA3AF;
    --sp-surface-soft:#F9FAFB;
    --sp-border-strong:#CBD5E1;
    --sp-radius-md:14px;
    --sp-radius-xl:22px;
    --sp-shadow-md:0 8px 24px rgba(15,23,42,0.08);
    --sp-btn-text-on-dark:#FFFFFF;
    --sp-btn-text-on-light:#0B1238;
}
@media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
        --sp-bg:#0B1020;
        --sp-surface:#111827;
        --sp-surface-soft:#172033;
        --sp-surface-2:#172033;
        --sp-text-primary:#F3F4F6;
        --sp-text-secondary:#CBD5E1;
        --sp-text-muted:#94A3B8;
        --sp-border:rgba(255,255,255,0.10);
        --sp-border-strong:rgba(255,255,255,0.18);
        --sp-brand-navy:#DCE6FF;
        --sp-brand-navy-2:#C7D7FF;
        --sp-text:#F3F4F6;
        --sp-muted:#CBD5E1;
    }
}
[data-theme="dark"]{
    --sp-bg:#0B1020;
    --sp-surface:#111827;
    --sp-surface-soft:#172033;
    --sp-surface-2:#172033;
    --sp-text-primary:#F3F4F6;
    --sp-text-secondary:#CBD5E1;
    --sp-text-muted:#94A3B8;
    --sp-border:rgba(255,255,255,0.10);
    --sp-border-strong:rgba(255,255,255,0.18);
    --sp-brand-navy:#DCE6FF;
    --sp-brand-navy-2:#C7D7FF;
    --sp-text:#F3F4F6;
    --sp-muted:#CBD5E1;
}

body{
    color:var(--sp-text-primary);
    background:
        linear-gradient(180deg,color-mix(in srgb,var(--sp-surface) 80%,transparent),transparent 280px),
        var(--sp-bg);
}

.sp-btn,
.btn,
button,
.buy-btn,
.btn-pay,
.btn-balance,
.ai-btn,
.ai-card-btn,
.rc-next-btn,
.rc-btn-paid,
.user-order-btn,
.rw-btn,
.order-btn,
.modal-btn,
.copy-btn,
.page-btn{
    min-height:38px;
    border-radius:var(--sp-radius-md);
    font-weight:700;
    letter-spacing:0;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:var(--sp-btn-text-on-light);
}
.sp-btn-primary,
.btn:not(.secondary):not(.danger):not(.success):not(.ghost),
.buy-btn,
.btn-pay,
.btn-balance,
.ai-btn,
.ai-card-btn,
.rc-next-btn,
.user-order-btn,
.order-btn-primary,
.modal-btn-confirm{
    background:var(--sp-brand-navy-2);
    border:1px solid var(--sp-brand-navy-2);
    color:var(--sp-btn-text-on-dark);
}
.sp-btn-gradient,
.rc-btn-paid{
    background:var(--sp-gradient);
    border:0;
    color:var(--sp-btn-text-on-dark);
    text-shadow:0 1px 1px rgba(0,0,0,0.18);
}
.sp-btn-secondary,
.btn.secondary,
.rw-btn-secondary,
.modal-btn-cancel,
.order-clear-btn,
.page-btn{
    background:var(--sp-surface);
    border:1px solid var(--sp-border-strong);
    color:var(--sp-btn-text-on-light);
}
.sp-btn-ghost,
.btn.ghost,
.logout-btn{
    background:transparent;
    border:1px solid transparent;
    color:var(--sp-text-secondary);
}
.sp-btn-danger,
.btn.danger,
.order-btn-danger{
    background:#FEF2F2;
    border:1px solid #FECACA;
    color:#B91C1C;
}
.sp-btn-success,
.btn.success,
.order-btn-success,
.rw-btn-success{
    background:#ECFDF3;
    border:1px solid #BBF7D0;
    color:#166534;
}
button:disabled,
.btn:disabled,
.sp-btn-disabled,
[disabled],
.buy-btn[disabled],
.btn-pay[disabled],
.pay-method.disabled{
    background:#E5E7EB !important;
    border-color:#CBD5E1 !important;
    color:#6B7280 !important;
    opacity:1 !important;
    box-shadow:none !important;
    cursor:not-allowed !important;
    transform:none !important;
}
[data-theme="dark"] .sp-btn-secondary,
[data-theme="dark"] .btn.secondary,
[data-theme="dark"] .rw-btn-secondary,
[data-theme="dark"] .modal-btn-cancel,
[data-theme="dark"] .order-clear-btn,
[data-theme="dark"] .page-btn{
    background:var(--sp-surface-soft);
    color:var(--sp-text-primary);
    border-color:var(--sp-border-strong);
}
[data-theme="dark"] .sp-btn-danger,
[data-theme="dark"] .btn.danger,
[data-theme="dark"] .order-btn-danger{
    background:rgba(248,113,113,0.14);
    color:#FCA5A5;
    border-color:rgba(248,113,113,0.30);
}
[data-theme="dark"] .sp-btn-success,
[data-theme="dark"] .btn.success,
[data-theme="dark"] .rw-btn-success{
    background:rgba(34,197,94,0.14);
    color:#86EFAC;
    border-color:rgba(34,197,94,0.30);
}
[data-theme="dark"] button:disabled,
[data-theme="dark"] .btn:disabled,
[data-theme="dark"] .sp-btn-disabled,
[data-theme="dark"] [disabled]{
    background:#1F2937 !important;
    color:#94A3B8 !important;
    border-color:rgba(255,255,255,0.14) !important;
}

header.site-header{
    position:sticky;
    top:max(10px,env(safe-area-inset-top));
    z-index:900;
    display:grid;
    grid-template-columns:auto minmax(260px,1fr) auto;
    align-items:center;
    gap:14px;
    width:min(1180px,calc(100% - 28px));
    margin:10px auto 0;
    padding:10px 12px;
    border-radius:var(--sp-radius-xl);
    border:1px solid var(--sp-border);
    background:color-mix(in srgb,var(--sp-surface) 94%,transparent);
    box-shadow:var(--sp-shadow-md);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
header.site-header .logo{
    min-width:0;
}
header.site-header .site-logo-mark{
    width:40px;
    height:40px;
    border-radius:14px;
}
.site-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    min-width:0;
}
.site-nav-guest{display:none;}
.site-nav a{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 14px;
    border-radius:999px;
    border:1px solid transparent;
    color:var(--sp-text-secondary);
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}
.site-nav a:hover,
.site-nav a.active{
    color:var(--sp-brand-navy);
    background:var(--sp-surface-soft);
    border-color:var(--sp-border);
    box-shadow:0 4px 12px rgba(15,23,42,0.06);
}
.site-tools{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:0;
}
.site-tools .username,
.site-tools .balance,
.site-tools .cs-status,
.tool-link,
.login-link{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid var(--sp-border);
    background:var(--sp-surface-soft);
    color:var(--sp-text-secondary);
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    text-decoration:none;
}
.site-tools .balance{
    color:#166534;
    background:#ECFDF3;
    border-color:#BBF7D0;
}
.cs-status-online{color:#166534;background:#ECFDF3;border-color:#BBF7D0;}
.cs-status-offline{color:#B91C1C;background:#FEF2F2;border-color:#FECACA;}
.login-link,
.tool-link.active{
    background:var(--sp-brand-navy-2);
    border-color:var(--sp-brand-navy-2);
    color:#fff;
}
.theme-toggle-btn{
    width:36px;
    height:36px;
    min-height:36px;
    border-radius:999px;
    flex:0 0 auto;
}
.header-logout-form{margin:0;}
.logout-btn{
    min-height:34px;
    padding:6px 10px;
    border-radius:999px;
    background:transparent;
    border:1px solid var(--sp-border);
    color:var(--sp-text-secondary);
}
.logout-btn:hover{
    color:#B91C1C;
    background:#FEF2F2;
    border-color:#FECACA;
}
.nav-badge,
.admin-action-badge{
    min-width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 6px;
    border-radius:999px;
    margin-left:6px;
    background:#EF4444;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.admin-meta-strip,
.admin-cs-card,
.admin-alert{
    margin:0 0 16px;
    border-radius:var(--sp-radius-lg);
    border:1px solid var(--sp-border);
    background:var(--sp-surface);
    box-shadow:var(--sp-shadow-sm);
}
.admin-meta-strip{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 14px;
    color:var(--sp-text-secondary);
    font-size:13px;
}
.admin-meta-strip code{
    background:var(--sp-surface-soft);
    color:var(--sp-text-primary);
    border:1px solid var(--sp-border);
    padding:3px 8px;
    border-radius:999px;
}
.admin-alert{
    padding:14px 16px;
}
.admin-alert a{margin-left:10px;font-weight:800;}
.admin-alert-copy{
    display:block;
    margin-top:6px;
    color:var(--sp-text-secondary);
    font-size:13px;
}
.admin-cs-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 16px;
}
.admin-cs-card form{margin:0;}
.admin-cs-card strong{color:var(--sp-success);}
.admin-cs-card.is-offline strong{color:var(--sp-danger);}
.admin-action-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:16px 0 28px;
}
.admin-action,
.admin-action-form .admin-action{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 12px;
    border-radius:var(--sp-radius-md);
    border:1px solid var(--sp-border);
    background:var(--sp-surface);
    color:var(--sp-text-primary);
    font-size:14px;
    font-weight:800;
    text-align:center;
    text-decoration:none;
    box-shadow:var(--sp-shadow-sm);
}
.admin-action:hover{
    transform:translateY(-1px);
    box-shadow:var(--sp-shadow-md);
}
.admin-action-info{background:#EFF6FF;color:#1D4ED8;border-color:#BFDBFE;}
.admin-action-success{background:#ECFDF3;color:#166534;border-color:#BBF7D0;}
.admin-action-warning{background:#FFFBEB;color:#92400E;border-color:#FDE68A;}
.admin-action-accent{background:#FDF2F8;color:#BE185D;border-color:#FBCFE8;}
.admin-action-danger,
.admin-action-danger-soft{background:#FEF2F2;color:#B91C1C;border-color:#FECACA;}
.admin-action-form{margin:0;}
.stat-card-danger{background:#FEF2F2;border-color:#FECACA;}
.stat-card-danger .value{color:#B91C1C;}
.stat-card-accent{background:#FDF2F8;border-color:#FBCFE8;}
.stat-card-accent .value{color:#BE185D;}
.stat-card-info{background:#EFF6FF;border-color:#BFDBFE;}
.stat-card-info .value{color:#1D4ED8;}
.stat-card-neutral{background:var(--sp-surface-soft);border-color:var(--sp-border-strong);}
.stat-card-neutral .value{color:var(--sp-text-secondary);}
.stat-value-compact{font-size:18px;}

.stock-badge,
.category-badge,
.cat-badge,
.status-pill,
.order-badge{
    color:var(--sp-text-primary);
    border:1px solid var(--sp-border);
}
.stock-badge.high,
.status-pill-success{
    background:#ECFDF3;
    color:#166534;
    border-color:#BBF7D0;
}
.stock-badge.low,
.status-pill-warning{
    background:#FFFBEB;
    color:#92400E;
    border-color:#FDE68A;
}
.stock-badge.empty,
.status-pill-danger,
.ai-btn.disabled{
    background:#FEF2F2;
    color:#B91C1C;
    border-color:#FECACA;
}

@media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .site-tools .balance,
    :root:not([data-theme="light"]) .cs-status-online,
    :root:not([data-theme="light"]) .admin-action-success,
    :root:not([data-theme="light"]) .stat-card-info,
    :root:not([data-theme="light"]) .stat-card-neutral,
    :root:not([data-theme="light"]) .stat-card-danger,
    :root:not([data-theme="light"]) .stat-card-accent,
    :root:not([data-theme="light"]) .admin-action-info,
    :root:not([data-theme="light"]) .admin-action-warning,
    :root:not([data-theme="light"]) .admin-action-accent,
    :root:not([data-theme="light"]) .admin-action-danger,
    :root:not([data-theme="light"]) .admin-action-danger-soft{
        background:var(--sp-surface-soft);
        border-color:var(--sp-border-strong);
    }
}
[data-theme="dark"] .site-tools .balance,
[data-theme="dark"] .cs-status-online,
[data-theme="dark"] .admin-action-success,
[data-theme="dark"] .stat-card-info,
[data-theme="dark"] .stat-card-neutral,
[data-theme="dark"] .stat-card-danger,
[data-theme="dark"] .stat-card-accent,
[data-theme="dark"] .admin-action-info,
[data-theme="dark"] .admin-action-warning,
[data-theme="dark"] .admin-action-accent,
[data-theme="dark"] .admin-action-danger,
[data-theme="dark"] .admin-action-danger-soft{
    background:var(--sp-surface-soft);
    border-color:var(--sp-border-strong);
}
[data-theme="dark"] .site-tools .balance,
[data-theme="dark"] .cs-status-online,
[data-theme="dark"] .admin-action-success{color:#86EFAC;}
[data-theme="dark"] .cs-status-offline,
[data-theme="dark"] .admin-action-danger,
[data-theme="dark"] .admin-action-danger-soft,
[data-theme="dark"] .stat-card-danger .value{color:#FCA5A5;}
[data-theme="dark"] .admin-action-info,
[data-theme="dark"] .stat-card-info .value{color:#93C5FD;}
[data-theme="dark"] .admin-action-warning{color:#FCD34D;}
[data-theme="dark"] .admin-action-accent,
[data-theme="dark"] .stat-card-accent .value{color:#F9A8D4;}

@media (max-width:980px){
    header.site-header{
        grid-template-columns:auto 1fr;
        grid-template-areas:
            "logo tools"
            "nav nav";
    }
    header.site-header .logo{grid-area:logo;}
    .site-nav{grid-area:nav;justify-content:center;}
    .site-tools{grid-area:tools;}
    .admin-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:640px){
    body{padding-bottom:env(safe-area-inset-bottom);}
    header.site-header{
        width:calc(100% - 16px);
        margin-top:8px;
        padding:9px;
        gap:8px;
        border-radius:18px;
    }
    header.site-header .site-logo-mark{width:36px;height:36px;border-radius:12px;}
    header.site-header .site-logo-text{font-size:18px;}
    .site-nav{
        gap:6px;
        justify-content:center;
    }
    .site-nav a{
        flex:1 1 calc(25% - 6px);
        min-width:0;
        padding:7px 6px;
        font-size:13px;
    }
    .site-tools{
        gap:6px;
    }
    .site-tools .cs-status,
    .site-tools .username{display:none;}
    .site-tools .balance{
        padding:6px 8px;
        font-size:12px;
    }
    .login-link{padding:7px 12px;}
    .theme-toggle-btn{width:34px;height:34px;min-height:34px;}
    main{
        margin:12px 8px;
        padding:16px;
    }
    .admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
    .admin-action{min-height:44px;font-size:13px;padding:9px 8px;}
    .admin-cs-card{align-items:flex-start;flex-direction:column;}
    .admin-cs-card form,.admin-cs-card button{width:100%;}
}

/* ============ SpeedPin UI refinement pass 3: denomination contrast ============ */
.sp-denom-btn,
.quick-amount,
.amt-chip,
.razer-denom-card,
.pubg-denom-card,
.netflix-denom-card{
    border-color:var(--sp-border-strong) !important;
    background:var(--sp-surface) !important;
    color:var(--sp-text-primary) !important;
}
.sp-denom-btn{
    min-height:48px;
    border-radius:var(--sp-radius-lg) !important;
}
.sp-denom-btn:hover:not(:disabled),
.quick-amount:hover:not(:disabled),
.amt-chip:hover:not(:disabled),
.razer-denom-card:hover,
.pubg-denom-card:hover,
.netflix-denom-card:hover{
    border-color:#60A5FA !important;
    box-shadow:0 10px 24px rgba(37,99,235,0.12) !important;
}
.sp-denom-btn.is-selected,
.quick-amount.is-selected,
.amt-chip.active{
    background:var(--sp-brand-navy-2) !important;
    border-color:var(--sp-brand-navy-2) !important;
    color:#FFFFFF !important;
    box-shadow:0 0 0 3px rgba(37,99,235,0.18), var(--sp-shadow-sm) !important;
}
.sp-denom-btn__amount,
.quick-amount .sp-denom-btn__amount,
.amt-val,
.razer-denom-card > div:first-child,
.pubg-denom-card > div:first-child,
.netflix-denom-card > div:first-child{
    color:var(--sp-text-primary) !important;
    font-weight:800 !important;
}
.sp-denom-btn.is-selected .sp-denom-btn__amount,
.quick-amount.is-selected .sp-denom-btn__amount,
.amt-chip.active .amt-val{
    color:#F8FAFC !important;
}
.sp-denom-btn__stock,
.amt-stock,
.razer-denom-card div:last-child span,
.pubg-denom-card div:last-child span,
.netflix-denom-card div:last-child span{
    color:#2563EB !important;
    background:#EFF6FF !important;
    border:1px solid #BFDBFE !important;
    border-radius:999px !important;
    padding:3px 8px !important;
    font-weight:800 !important;
    opacity:1 !important;
}
.sp-denom-btn.is-selected .sp-denom-btn__stock,
.quick-amount.is-selected .sp-denom-btn__stock,
.amt-chip.active .amt-stock{
    color:#BFDBFE !important;
    background:rgba(96,165,250,0.18) !important;
    border-color:rgba(191,219,254,0.45) !important;
}
.sp-denom-btn__stock.is-stock,
.amt-stock:not(.out){
    color:#1D4ED8 !important;
}
.sp-denom-btn__stock.is-instant,
.amt-stock.flash{
    color:#166534 !important;
    background:#ECFDF3 !important;
    border-color:#BBF7D0 !important;
}
.sp-denom-btn__stock.is-warning{
    color:#92400E !important;
    background:#FFFBEB !important;
    border-color:#FDE68A !important;
}
.sp-denom-btn.is-out-of-stock,
.sp-denom-btn.is-disabled,
.quick-amount.is-out-of-stock,
.quick-amount.is-disabled,
.amt-chip.out-of-stock,
.amt-chip:disabled{
    background:#F3F4F6 !important;
    border-color:#CBD5E1 !important;
    color:#111827 !important;
    opacity:1 !important;
    box-shadow:none !important;
}
.sp-denom-btn.is-out-of-stock .sp-denom-btn__amount,
.sp-denom-btn.is-disabled .sp-denom-btn__amount,
.quick-amount:disabled .sp-denom-btn__amount,
.amt-chip.out-of-stock .amt-val,
.amt-chip:disabled .amt-val{
    color:#111827 !important;
}
.sp-denom-btn__stock.is-out-of-stock,
.sp-denom-btn__stock.is-unavailable,
.amt-stock.out,
.amt-chip.out-of-stock .amt-stock{
    color:#B91C1C !important;
    background:#FEF2F2 !important;
    border-color:#FECACA !important;
}
.razer-denom-card[style*="rgb(240, 253, 244)"] > div:first-child,
.pubg-denom-card[style*="rgb(255, 251, 235)"] > div:first-child,
.netflix-denom-card[style*="rgb(255, 245, 245)"] > div:first-child{
    color:var(--sp-text-primary) !important;
}
.sp-progress-track,
.rw-progress,
.rw-progress-native{
    background:color-mix(in srgb,var(--sp-border) 75%,var(--sp-surface)) !important;
}
.sp-progress-bar,
#progressBar,
.rw-progress-bar,
.rw-progress-bar.is-warning,
.rw-progress-native::-webkit-progress-value,
.rw-progress-native.is-warning::-webkit-progress-value,
.rw-progress-native::-moz-progress-bar,
.rw-progress-native.is-warning::-moz-progress-bar{
    background:var(--sp-gradient) !important;
}
.sp-progress-bar::after,
.rw-progress-bar::after{
    background-image:linear-gradient(45deg,rgba(255,255,255,0.24) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.24) 50%,rgba(255,255,255,0.24) 75%,transparent 75%) !important;
}
.sp-progress-pct,
#progressPct,
.rw-progress-head .rw-pg-count{
    color:#2563EB !important;
}
.auth-step-dot.active,
.auth-step-dot.passed{
    background:var(--sp-gradient) !important;
}
[data-theme="dark"] .sp-denom-btn,
[data-theme="dark"] .quick-amount,
[data-theme="dark"] .amt-chip,
[data-theme="dark"] .razer-denom-card,
[data-theme="dark"] .pubg-denom-card,
[data-theme="dark"] .netflix-denom-card{
    background:var(--sp-surface-soft) !important;
    color:var(--sp-text-primary) !important;
    border-color:var(--sp-border-strong) !important;
}
[data-theme="dark"] .sp-denom-btn__amount,
[data-theme="dark"] .amt-val,
[data-theme="dark"] .razer-denom-card > div:first-child,
[data-theme="dark"] .pubg-denom-card > div:first-child,
[data-theme="dark"] .netflix-denom-card > div:first-child{
    color:#F8FAFC !important;
}
[data-theme="dark"] .sp-denom-btn__stock,
[data-theme="dark"] .amt-stock{
    color:#93C5FD !important;
    background:rgba(96,165,250,0.14) !important;
    border-color:rgba(147,197,253,0.30) !important;
}
[data-theme="dark"] .sp-denom-btn__stock.is-instant,
[data-theme="dark"] .amt-stock.flash{
    color:#86EFAC !important;
    background:rgba(34,197,94,0.14) !important;
    border-color:rgba(134,239,172,0.28) !important;
}
[data-theme="dark"] .sp-denom-btn.is-out-of-stock,
[data-theme="dark"] .sp-denom-btn.is-disabled,
[data-theme="dark"] .amt-chip.out-of-stock,
[data-theme="dark"] .amt-chip:disabled{
    background:#1F2937 !important;
    color:#E5E7EB !important;
    border-color:rgba(255,255,255,0.14) !important;
}
[data-theme="dark"] .sp-denom-btn__stock.is-out-of-stock,
[data-theme="dark"] .sp-denom-btn__stock.is-unavailable,
[data-theme="dark"] .amt-stock.out{
    color:#FCA5A5 !important;
    background:rgba(248,113,113,0.14) !important;
    border-color:rgba(248,113,113,0.30) !important;
}

/* ============ SpeedPin UI refinement pass 3: admin mobile tables ============ */
.admin-priority-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    margin:16px 0 18px;
}
.admin-priority-action{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
        "title badge"
        "copy badge";
    gap:4px 12px;
    align-items:center;
    padding:16px 18px;
    border-radius:var(--sp-radius-xl);
    border:1px solid transparent;
    background:
        linear-gradient(var(--sp-surface),var(--sp-surface)) padding-box,
        var(--sp-gradient) border-box;
    box-shadow:var(--sp-shadow-md);
    text-decoration:none;
    color:var(--sp-text-primary);
}
.admin-priority-action:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 34px rgba(15,23,42,0.12);
}
.admin-priority-title{
    grid-area:title;
    font-size:18px;
    font-weight:900;
    color:var(--sp-brand-navy-2);
}
.admin-priority-copy{
    grid-area:copy;
    font-size:13px;
    font-weight:700;
    color:var(--sp-text-secondary);
}
.admin-priority-badge{
    grid-area:badge;
    align-self:center;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:6px 11px;
    border-radius:999px;
    background:#FFFBEB;
    border:1px solid #FDE68A;
    color:#92400E;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.admin-priority-badge.is-clear{
    background:#ECFDF3;
    border-color:#BBF7D0;
    color:#166534;
}
.is-admin-page main{
    overflow:visible;
}
.is-admin-page .sp-table-scroll{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    border-radius:var(--sp-radius-md);
}
.is-admin-page .card.sp-table-scroll{
    padding:0;
}
.is-admin-page .sp-table-scroll table{
    min-width:720px;
    width:100%;
    margin:0;
}
.is-admin-page table{
    border-collapse:separate;
    border-spacing:0;
}
.is-admin-page th,
.is-admin-page td{
    white-space:nowrap;
}
.is-admin-page td pre,
.is-admin-page td code{
    white-space:pre-wrap;
    word-break:break-word;
}
.is-admin-page form{
    max-width:100%;
}
.is-admin-page .modal,
.is-admin-page .dialog,
.is-admin-page [role="dialog"],
.modal,
.dialog,
[role="dialog"]{
    max-width:calc(100vw - 32px);
}
@media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .admin-priority-action{
        background:
            linear-gradient(var(--sp-surface-soft),var(--sp-surface-soft)) padding-box,
            var(--sp-gradient) border-box;
    }
    :root:not([data-theme="light"]) .admin-priority-title{color:#F8FAFC;}
    :root:not([data-theme="light"]) .admin-priority-badge{
        background:rgba(245,158,11,0.14);
        color:#FCD34D;
        border-color:rgba(252,211,77,0.30);
    }
}
[data-theme="dark"] .admin-priority-action{
    background:
        linear-gradient(var(--sp-surface-soft),var(--sp-surface-soft)) padding-box,
        var(--sp-gradient) border-box;
}
[data-theme="dark"] .admin-priority-title{color:#F8FAFC;}
[data-theme="dark"] .admin-priority-badge{
    background:rgba(245,158,11,0.14);
    color:#FCD34D;
    border-color:rgba(252,211,77,0.30);
}
[data-theme="dark"] .admin-priority-badge.is-clear{
    background:rgba(34,197,94,0.14);
    color:#86EFAC;
    border-color:rgba(134,239,172,0.28);
}
@media (max-width:640px){
    .admin-priority-action{
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:"title" "copy" "badge";
        padding:15px 16px;
    }
    .admin-priority-badge{
        justify-self:start;
        margin-top:6px;
    }
    .is-admin-page main{
        margin-left:8px;
        margin-right:8px;
        padding-left:16px;
        padding-right:16px;
    }
    .is-admin-page .sp-table-scroll{
        margin-left:-4px;
        margin-right:-4px;
        padding-bottom:8px;
    }
    .is-admin-page .sp-table-scroll table{
        min-width:760px;
    }
    .is-admin-page .btn,
    .is-admin-page button{
        max-width:100%;
        white-space:normal;
    }
}

/* ============ SpeedPin UI refinement pass 3: support status ============ */
.site-tools .cs-status{
    gap:6px;
    min-height:28px;
    padding:4px 9px;
    font-size:12px;
    font-weight:800;
    box-shadow:none;
}
.site-tools .cs-status::before{
    content:'';
    width:7px;
    height:7px;
    border-radius:50%;
    flex:0 0 auto;
    background:currentColor;
    box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent);
}
.site-tools .cs-status-online{
    color:#15803D;
    background:#F0FDF4;
    border-color:#BBF7D0;
}
.site-tools .cs-status-offline{
    color:#64748B;
    background:#F8FAFC;
    border-color:#E2E8F0;
}
[data-theme="dark"] .site-tools .cs-status-online{
    color:#86EFAC;
    background:rgba(34,197,94,0.12);
    border-color:rgba(134,239,172,0.26);
}
[data-theme="dark"] .site-tools .cs-status-offline{
    color:#CBD5E1;
    background:rgba(148,163,184,0.10);
    border-color:rgba(203,213,225,0.18);
}

/* ============ Module skeletons and paged notifications ============ */
.sp-skeleton-list{
    display:grid;
    gap:12px;
}
.sp-skeleton-card{
    display:grid;
    gap:10px;
    padding:16px;
    border:1px solid var(--sp-border);
    border-radius:var(--sp-radius-md);
    background:var(--sp-surface-soft);
}
.sp-skeleton-line,
.sp-skeleton-avatar,
.sp-skeleton-button{
    display:block;
    position:relative;
    overflow:hidden;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(148,163,184,.14),rgba(148,163,184,.28),rgba(148,163,184,.14));
    background-size:220% 100%;
    animation:sp-skeleton-pulse 1.2s ease-in-out infinite;
}
.sp-skeleton-line{height:13px;width:100%;}
.sp-skeleton-line.w-35{width:35%;}
.sp-skeleton-line.w-40{width:40%;}
.sp-skeleton-line.w-50{width:50%;}
.sp-skeleton-line.w-60{width:60%;}
.sp-skeleton-line.w-70{width:70%;}
.sp-skeleton-line.w-75{width:75%;}
.sp-skeleton-avatar{width:42px;height:42px;border-radius:50%;}
.sp-skeleton-button{width:112px;height:38px;border-radius:var(--sp-radius-sm);}
.sp-skeleton-table{
    min-height:180px;
    border:1px solid var(--sp-border);
    border-radius:var(--sp-radius-md);
    background:
        linear-gradient(var(--sp-surface-soft),var(--sp-surface-soft)) padding-box,
        repeating-linear-gradient(to bottom,transparent 0 43px,rgba(148,163,184,.18) 44px 45px);
}
@keyframes sp-skeleton-pulse{
    0%{background-position:120% 0;}
    100%{background-position:-120% 0;}
}
@media (prefers-reduced-motion:reduce){
    .sp-skeleton-line,
    .sp-skeleton-avatar,
    .sp-skeleton-button{animation:none;}
}
.sp-message-hint{
    background:#EEF4FB;
    color:#1D4ED8;
    border:1px solid #C7D9F0;
    padding:10px 14px;
    border-radius:var(--sp-radius-sm);
    margin-bottom:12px;
    font-size:13px;
}
.sp-message-center{
    display:grid;
    gap:16px;
}
.sp-message-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.sp-message-filters{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.sp-message-filter{
    border:1px solid var(--sp-border);
    background:var(--sp-surface-soft);
    color:var(--sp-text-secondary);
    border-radius:999px;
    padding:8px 13px;
    min-height:36px;
    font-weight:800;
    cursor:pointer;
    transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.sp-message-filter:hover{
    transform:translateY(-1px);
    border-color:var(--sp-border-strong);
    color:var(--sp-brand-navy);
}
.sp-message-filter.is-active{
    color:#fff;
    border-color:transparent;
    background:var(--sp-brand-navy);
}
.sp-message-mark-all{margin:0;}
.sp-btn-compact{min-height:36px;padding:8px 13px;font-size:13px;}
.sp-message-list{
    display:grid;
    gap:12px;
}
.sp-message-item{
    position:relative;
    padding:15px 16px;
    border:1px solid var(--sp-border);
    border-radius:var(--sp-radius-md);
    background:var(--sp-surface);
    box-shadow:var(--sp-shadow-sm);
    transition:opacity .18s ease,transform .18s ease,border-color .18s ease;
}
.sp-message-item.is-unread{
    border-color:rgba(37,99,235,.28);
    box-shadow:0 10px 26px rgba(37,99,235,.08);
}
.sp-message-item.is-unread::before{
    content:'';
    position:absolute;
    left:10px;
    top:18px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#EF4444;
}
.sp-message-item-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:9px;
    padding-left:10px;
}
.sp-message-kind{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:3px 8px;
    border-radius:999px;
    color:#1D4ED8;
    background:#EFF6FF;
    border:1px solid #BFDBFE;
    font-size:12px;
    font-weight:900;
}
.sp-message-time{
    color:var(--sp-text-muted);
    font-size:12px;
    white-space:nowrap;
}
.sp-message-content{
    color:var(--sp-text-primary);
    line-height:1.72;
    word-break:break-word;
    padding-left:10px;
}
.sp-message-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:12px;
}
.sp-message-read{
    border:1px solid var(--sp-border);
    background:var(--sp-surface-soft);
    color:var(--sp-brand-navy);
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.sp-message-empty{
    text-align:center;
    color:var(--sp-text-secondary);
    padding:26px 12px;
    border:1px dashed var(--sp-border-strong);
    border-radius:var(--sp-radius-md);
    background:var(--sp-surface-soft);
}
.sp-message-load-more{
    justify-self:center;
    min-width:140px;
}
[data-theme="dark"] .sp-message-hint{
    background:rgba(96,165,250,.12);
    color:#BFDBFE;
    border-color:rgba(96,165,250,.26);
}
[data-theme="dark"] .sp-message-filter:hover{color:#F8FAFC;}
[data-theme="dark"] .sp-message-filter.is-active{
    background:#F8FAFC;
    color:#0B1238;
}
[data-theme="dark"] .sp-message-kind{
    color:#BFDBFE;
    background:rgba(59,130,246,.14);
    border-color:rgba(147,197,253,.28);
}
[data-theme="dark"] .sp-message-read{
    color:#F8FAFC;
    background:rgba(255,255,255,.06);
    border-color:var(--sp-border-strong);
}
header .site-logo-mark,
header.site-header .site-logo-mark{
    display:block;
    width:56px;
    height:38px;
    object-fit:contain;
    background:transparent;
    padding:0;
    border-radius:0;
    box-shadow:none;
    filter:drop-shadow(0 6px 12px rgba(88,86,214,0.14));
}
[data-theme="dark"] header .site-logo-mark,
[data-theme="dark"] header.site-header .site-logo-mark{
    filter:drop-shadow(0 0 1px rgba(255,255,255,0.85)) drop-shadow(0 6px 12px rgba(88,86,214,0.18));
}
@media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) header .site-logo-mark,
    :root:not([data-theme="light"]) header.site-header .site-logo-mark{
        filter:drop-shadow(0 0 1px rgba(255,255,255,0.85)) drop-shadow(0 6px 12px rgba(88,86,214,0.18));
    }
}
@media (max-width:640px){
    header .site-logo-mark,
    header.site-header .site-logo-mark{width:48px;height:32px;border-radius:0;}
    .sp-message-toolbar{align-items:stretch;}
    .sp-message-filters{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
    .sp-message-filter{width:100%;padding-left:8px;padding-right:8px;}
    .sp-message-mark-all,.sp-message-mark-all .btn{width:100%;}
    .sp-message-item{padding:14px;}
    .sp-message-item-head{align-items:flex-start;flex-direction:column;gap:7px;}
}
