/* B2 VIP Upgrade - Frontend Styles v3.4 */
.b2vu-front-wrap{max-width:520px;margin:20px auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.b2vu-front-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:16px;box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.b2vu-front-user{display:flex;align-items:center;gap:16px}
.b2vu-avatar img{border-radius:50%;width:56px;height:56px}
.b2vu-user-info h3{margin:0 0 6px;font-size:18px;color:#1a1a1a}
.b2vu-user-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.b2vu-tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}
.b2vu-tag-vip0{background:#f0f0f0;color:#666}
.b2vu-tag-normal{background:#f5f5f5;color:#999;border:1px dashed #ccc}
.b2vu-tag-vip1{background:#e8f4fd;color:#1976d2}
.b2vu-tag-vip2{background:#fff3e0;color:#f57c00}
.b2vu-tag-vip3{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}
.b2vu-tag-lv{background:#f0f9ff;color:#0ea5e9;border:1px solid #bae6fd}
.b2vu-expire{font-size:13px;color:#999}
.b2vu-front-success{text-align:center;background:linear-gradient(135deg,#f6ffed 0%,#e6ffe6 100%)}
.b2vu-success-icon{width:56px;height:56px;line-height:56px;border-radius:50%;background:#52c41a;color:#fff;font-size:28px;margin:0 auto 12px}
.b2vu-front-success h3{margin:0 0 8px;color:#52c41a}
.b2vu-front-success p{margin:0;color:#666}
.b2vu-front-upgrade{background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%)}
.b2vu-front-upgrade h3{margin:0 0 16px;font-size:16px;color:#333;text-align:center}

/* 目标等级选择列表 */
.b2vu-target-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.b2vu-target-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:2px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all 0.2s}
.b2vu-target-item:hover{border-color:#667eea;background:#f8f9ff}
.b2vu-target-item.active{border-color:#667eea;background:linear-gradient(135deg,#f0f2ff 0%,#ede7ff 100%)}
.b2vu-target-name{display:flex;align-items:center;gap:8px}
.b2vu-top-badge{background:linear-gradient(135deg,#f5af19,#f12711);color:#fff;font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600}
.b2vu-target-price{font-size:18px;font-weight:700;color:#ff4d4f}

.b2vu-diff-box{background:#fff;border-radius:8px;padding:16px;margin-bottom:20px}
.b2vu-diff-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.b2vu-diff-row span:first-child{color:#666}
.b2vu-diff-arrow{text-align:center;font-size:20px;color:#999;padding:4px 0}
.b2vu-diff-price{border-top:1px dashed #e8e8e8;margin-top:8px;padding-top:12px}
.b2vu-price{font-size:24px;color:#ff4d4f}
.b2vu-buttons{display:flex;flex-direction:column;gap:12px}
.b2vu-btn{display:block;width:100%;padding:14px;text-align:center;text-decoration:none;border-radius:8px;font-size:16px;font-weight:600;transition:transform 0.2s,box-shadow 0.2s;border:none;cursor:pointer}
.b2vu-btn-quick{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}
.b2vu-btn-quick:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,0.4);color:#fff}
.b2vu-btn-shop{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff}
.b2vu-btn-shop:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(245,87,108,0.4);color:#fff}
.b2vu-tip{margin:12px 0 0;text-align:center;font-size:12px;color:#999}
.b2vu-front-login,.b2vu-front-notice{text-align:center;padding:40px 20px;color:#666}
.b2vu-front-rules{font-size:13px}
.b2vu-front-rules h4{margin:0 0 12px;font-size:14px;color:#333}
.b2vu-front-rules ul{margin:0;padding-left:18px}
.b2vu-front-rules li{margin-bottom:8px;color:#666;line-height:1.6}
.b2vu-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:9999}
.b2vu-modal{background:#fff;border-radius:12px;width:90%;max-width:400px;box-shadow:0 8px 32px rgba(0,0,0,0.2)}
.b2vu-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e8e8}
.b2vu-modal-header h3{margin:0;font-size:16px;color:#333}
.b2vu-modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;line-height:1}
.b2vu-modal-close:hover{color:#333}
.b2vu-modal-body{padding:20px}
.b2vu-modal-info{margin-bottom:20px}
.b2vu-modal-info p{margin:8px 0;color:#666}
.b2vu-modal-price{font-size:20px;color:#ff4d4f}
.b2vu-loading-text{text-align:center;color:#999;padding:20px}

/* 开通会员引导卡片 */
.b2vu-front-join-vip{text-align:center;background:linear-gradient(135deg,#fff8e1 0%,#fffde7 100%);padding:40px 24px}
.b2vu-join-icon{width:64px;height:64px;line-height:64px;border-radius:50%;background:linear-gradient(135deg,#f5af19 0%,#f12711 100%);color:#fff;font-size:32px;margin:0 auto 16px;box-shadow:0 4px 16px rgba(245,87,108,0.3)}
.b2vu-front-join-vip h3{margin:0 0 12px;font-size:18px;color:#333}
.b2vu-front-join-vip p{margin:0 0 20px;color:#666;font-size:14px;line-height:1.6}
.b2vu-btn-join{background:linear-gradient(135deg,#f5af19 0%,#f12711 100%);color:#fff;display:inline-block;width:auto;padding:14px 40px}
.b2vu-btn-join:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(245,87,108,0.4);color:#fff}

/* ================================================================
   模板：清爽 (Fresh) — 绿色系，圆角卡片，轻盈自然
   ================================================================ */
.b2vu-tpl-fresh{--f-primary:#52c41a;--f-primary-light:#f6ffed;--f-primary-dark:#389e0d;--f-accent:#73d13d;--f-bg:#f0faf0;--f-card-bg:#fff;--f-text:#1a1a1a;--f-text-secondary:#595959;--f-border:#d9f7be;--f-radius:16px;--f-shadow:0 4px 16px rgba(82,196,26,0.1);background:var(--f-bg);border-radius:var(--f-radius);padding:24px}
.b2vu-tpl-fresh .b2vu-front-card{background:var(--f-card-bg);border-radius:var(--f-radius);box-shadow:var(--f-shadow);border:1px solid var(--f-border)}
.b2vu-tpl-fresh .b2vu-user-info h3{color:var(--f-text)}
.b2vu-tpl-fresh .b2vu-tag-vip0{background:#f0f0f0;color:#8c8c8c}
.b2vu-tpl-fresh .b2vu-tag-vip1{background:#e8f8e8;color:#389e0d}
.b2vu-tpl-fresh .b2vu-tag-vip2{background:#e6f7ff;color:#096dd9}
.b2vu-tpl-fresh .b2vu-tag-vip3{background:linear-gradient(135deg,#52c41a,#389e0d);color:#fff}
.b2vu-tpl-fresh .b2vu-front-upgrade{background:var(--f-primary-light);border:1px solid var(--f-border)}
.b2vu-tpl-fresh .b2vu-front-upgrade h3{color:var(--f-primary-dark)}
.b2vu-tpl-fresh .b2vu-target-item{border:2px solid var(--f-border);border-radius:12px;background:#fff;transition:all .25s}
.b2vu-tpl-fresh .b2vu-target-item:hover{border-color:var(--f-accent);background:#f6ffed;transform:translateY(-1px)}
.b2vu-tpl-fresh .b2vu-target-item.active{border-color:var(--f-primary);background:linear-gradient(135deg,#f6ffed,#d9f7be);box-shadow:0 2px 8px rgba(82,196,26,0.15)}
.b2vu-tpl-fresh .b2vu-target-price{color:var(--f-primary-dark)}
.b2vu-tpl-fresh .b2vu-diff-box{background:#fff;border:1px solid var(--f-border);border-radius:12px}
.b2vu-tpl-fresh .b2vu-diff-arrow{color:var(--f-primary)}
.b2vu-tpl-fresh .b2vu-diff-price{border-top:1px dashed var(--f-border)}
.b2vu-tpl-fresh .b2vu-price{color:var(--f-primary-dark)}
.b2vu-tpl-fresh .b2vu-btn-quick{background:linear-gradient(135deg,#52c41a,#389e0d);border-radius:12px;font-size:17px;padding:16px;letter-spacing:1px}
.b2vu-tpl-fresh .b2vu-btn-quick:hover{box-shadow:0 6px 20px rgba(82,196,26,0.35)}
.b2vu-tpl-fresh .b2vu-btn-shop{background:linear-gradient(135deg,#73d13d,#52c41a);border-radius:12px;font-size:17px;padding:16px;letter-spacing:1px}
.b2vu-tpl-fresh .b2vu-btn-shop:hover{box-shadow:0 6px 20px rgba(115,209,61,0.35)}
.b2vu-tpl-fresh .b2vu-front-success{background:linear-gradient(135deg,#f6ffed,#d9f7be);border:1px solid var(--f-border)}
.b2vu-tpl-fresh .b2vu-success-icon{background:var(--f-primary)}
.b2vu-tpl-fresh .b2vu-front-success h3{color:var(--f-primary-dark)}
.b2vu-tpl-fresh .b2vu-front-join-vip{background:linear-gradient(135deg,#f6ffed,#d9f7be);border:1px solid var(--f-border)}
.b2vu-tpl-fresh .b2vu-join-icon{background:linear-gradient(135deg,#52c41a,#389e0d);box-shadow:0 4px 16px rgba(82,196,26,0.3)}
.b2vu-tpl-fresh .b2vu-btn-join{background:linear-gradient(135deg,#52c41a,#389e0d)}
.b2vu-tpl-fresh .b2vu-front-rules{border:1px solid var(--f-border);background:#fff}
.b2vu-tpl-fresh .b2vu-front-rules h4{color:var(--f-primary-dark)}
.b2vu-tpl-fresh .b2vu-front-rules li{color:var(--f-text-secondary)}
.b2vu-tpl-fresh .b2vu-expire{color:var(--f-primary)}
.b2vu-tpl-fresh .b2vu-top-badge{background:linear-gradient(135deg,#52c41a,#237804)}
.b2vu-tpl-fresh .b2vu-modal{border:1px solid var(--f-border);border-radius:var(--f-radius)}
.b2vu-tpl-fresh .b2vu-modal-price{color:var(--f-primary-dark)}

/* ================================================================
   模板：简洁 (Minimal) — 黑白灰，极简线条，大量留白
   ================================================================ */
.b2vu-tpl-minimal{--m-text:#1a1a1a;--m-text-secondary:#8c8c8c;--m-bg:#fafafa;--m-card-bg:#fff;--m-border:#e8e8e8;--m-accent:#1a1a1a;--m-radius:4px;--m-shadow:0 1px 4px rgba(0,0,0,0.04);background:var(--m-bg);border:1px solid var(--m-border);border-radius:var(--m-radius);padding:32px 24px}
.b2vu-tpl-minimal .b2vu-front-card{background:var(--m-card-bg);border-radius:var(--m-radius);box-shadow:var(--m-shadow);border:1px solid var(--m-border);padding:28px 24px}
.b2vu-tpl-minimal .b2vu-user-info h3{color:var(--m-text);font-weight:500;letter-spacing:0.5px}
.b2vu-tpl-minimal .b2vu-tag{border-radius:3px;font-weight:500;letter-spacing:0.5px}
.b2vu-tpl-minimal .b2vu-tag-vip0{background:#f5f5f5;color:#8c8c8c}
.b2vu-tpl-minimal .b2vu-tag-vip1{background:#f5f5f5;color:#1a1a1a}
.b2vu-tpl-minimal .b2vu-tag-vip2{background:#f5f5f5;color:#1a1a1a}
.b2vu-tpl-minimal .b2vu-tag-vip3{background:var(--m-accent);color:#fff}
.b2vu-tpl-minimal .b2vu-expire{color:var(--m-text-secondary);font-size:12px}
.b2vu-tpl-minimal .b2vu-front-upgrade{background:transparent;border:1px solid var(--m-border)}
.b2vu-tpl-minimal .b2vu-front-upgrade h3{color:var(--m-text);font-weight:500;letter-spacing:1px;font-size:14px;text-transform:uppercase}
.b2vu-tpl-minimal .b2vu-target-item{border:1px solid var(--m-border);border-radius:var(--m-radius);background:transparent;transition:all .15s}
.b2vu-tpl-minimal .b2vu-target-item:hover{border-color:#333;background:#fafafa}
.b2vu-tpl-minimal .b2vu-target-item.active{border-color:var(--m-accent);background:#fafafa;box-shadow:none}
.b2vu-tpl-minimal .b2vu-target-item.active::before{content:'';display:inline-block;width:3px;height:20px;background:var(--m-accent);border-radius:2px;margin-right:12px;vertical-align:middle}
.b2vu-tpl-minimal .b2vu-target-price{color:var(--m-accent);font-size:16px;font-weight:500}
.b2vu-tpl-minimal .b2vu-diff-box{background:transparent;border:1px solid var(--m-border);border-radius:var(--m-radius)}
.b2vu-tpl-minimal .b2vu-diff-arrow{color:#ccc;font-size:14px}
.b2vu-tpl-minimal .b2vu-diff-price{border-top:1px solid var(--m-border)}
.b2vu-tpl-minimal .b2vu-price{color:var(--m-accent);font-size:22px;font-weight:700;letter-spacing:1px}
.b2vu-tpl-minimal .b2vu-btn{border-radius:var(--m-radius);font-size:15px;font-weight:500;letter-spacing:2px;padding:16px;transition:all .2s}
.b2vu-tpl-minimal .b2vu-btn-quick{background:var(--m-accent);color:#fff}
.b2vu-tpl-minimal .b2vu-btn-quick:hover{background:#333;box-shadow:none;transform:none}
.b2vu-tpl-minimal .b2vu-btn-shop{background:transparent;color:var(--m-accent);border:1px solid var(--m-accent)}
.b2vu-tpl-minimal .b2vu-btn-shop:hover{background:var(--m-accent);color:#fff;box-shadow:none;transform:none}
.b2vu-tpl-minimal .b2vu-front-success{background:#fafafa;border:1px solid var(--m-border)}
.b2vu-tpl-minimal .b2vu-success-icon{background:var(--m-accent);border-radius:var(--m-radius)}
.b2vu-tpl-minimal .b2vu-front-success h3{color:var(--m-accent);font-weight:500;letter-spacing:1px}
.b2vu-tpl-minimal .b2vu-front-join-vip{background:#fafafa;border:1px solid var(--m-border)}
.b2vu-tpl-minimal .b2vu-join-icon{background:var(--m-accent);border-radius:var(--m-radius);box-shadow:none}
.b2vu-tpl-minimal .b2vu-front-join-vip h3{font-weight:500;letter-spacing:1px}
.b2vu-tpl-minimal .b2vu-btn-join{background:var(--m-accent);border-radius:var(--m-radius);letter-spacing:2px}
.b2vu-tpl-minimal .b2vu-btn-join:hover{box-shadow:none;transform:none}
.b2vu-tpl-minimal .b2vu-front-rules{border:1px solid var(--m-border);background:transparent}
.b2vu-tpl-minimal .b2vu-front-rules h4{color:var(--m-text);font-weight:500;letter-spacing:1px;font-size:12px;text-transform:uppercase}
.b2vu-tpl-minimal .b2vu-top-badge{background:var(--m-accent);border-radius:2px}
.b2vu-tpl-minimal .b2vu-modal{border:1px solid var(--m-border);border-radius:var(--m-radius)}
.b2vu-tpl-minimal .b2vu-modal-price{color:var(--m-accent)}

/* ================================================================
   模板：高大上 (Luxury) — 金黑渐变，光效装饰，大气尊贵
   ================================================================ */
.b2vu-tpl-luxury{--l-bg:#0f0f1a;--l-card-bg:rgba(26,26,46,0.9);--l-border:rgba(212,168,67,0.3);--l-gold:#d4a843;--l-gold-light:#f0d78c;--l-text:#f5f0e6;--l-text-secondary:rgba(245,240,230,0.6);--l-radius:16px;--l-shadow:0 8px 32px rgba(0,0,0,0.4);background:var(--l-bg);border-radius:var(--l-radius);padding:28px 20px;position:relative;overflow:hidden}
.b2vu-tpl-luxury::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(212,168,67,0.06) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(212,168,67,0.04) 0%,transparent 50%);pointer-events:none}
.b2vu-tpl-luxury .b2vu-front-card{background:var(--l-card-bg);border-radius:var(--l-radius);box-shadow:var(--l-shadow);border:1px solid var(--l-border);position:relative;backdrop-filter:blur(10px)}
.b2vu-tpl-luxury .b2vu-user-info h3{color:var(--l-gold-light);font-weight:600;letter-spacing:1px}
.b2vu-tpl-luxury .b2vu-tag{border-radius:20px;letter-spacing:1px;border:1px solid rgba(212,168,67,0.2)}
.b2vu-tpl-luxury .b2vu-tag-vip0{background:rgba(255,255,255,0.06);color:var(--l-text-secondary);border-color:rgba(255,255,255,0.1)}
.b2vu-tpl-luxury .b2vu-tag-vip1{background:rgba(212,168,67,0.12);color:var(--l-gold-light);border-color:var(--l-border)}
.b2vu-tpl-luxury .b2vu-tag-vip2{background:rgba(212,168,67,0.18);color:var(--l-gold-light);border-color:var(--l-border)}
.b2vu-tpl-luxury .b2vu-tag-vip3{background:linear-gradient(135deg,#d4a843,#b8860b);color:#0f0f1a;font-weight:700;border-color:#d4a843}
.b2vu-tpl-luxury .b2vu-expire{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-avatar img{border:2px solid var(--l-gold);box-shadow:0 0 12px rgba(212,168,67,0.3)}
.b2vu-tpl-luxury .b2vu-front-upgrade{background:rgba(26,26,46,0.7);border:1px solid var(--l-border)}
.b2vu-tpl-luxury .b2vu-front-upgrade h3{color:var(--l-gold-light);font-size:18px;letter-spacing:3px;font-weight:600}
.b2vu-tpl-luxury .b2vu-target-item{border:1px solid var(--l-border);border-radius:12px;background:rgba(26,26,46,0.5);transition:all .3s}
.b2vu-tpl-luxury .b2vu-target-item:hover{border-color:var(--l-gold);background:rgba(212,168,67,0.08);transform:translateY(-2px);box-shadow:0 4px 16px rgba(212,168,67,0.15)}
.b2vu-tpl-luxury .b2vu-target-item.active{border-color:var(--l-gold);background:linear-gradient(135deg,rgba(212,168,67,0.15),rgba(212,168,67,0.05));box-shadow:0 0 20px rgba(212,168,67,0.15)}
.b2vu-tpl-luxury .b2vu-target-item.active::after{content:'';position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--l-gold);box-shadow:0 0 8px var(--l-gold)}
.b2vu-tpl-luxury .b2vu-target-item{position:relative}
.b2vu-tpl-luxury .b2vu-target-price{color:var(--l-gold-light);font-size:20px}
.b2vu-tpl-luxury .b2vu-diff-box{background:rgba(26,26,46,0.5);border:1px solid var(--l-border);border-radius:12px}
.b2vu-tpl-luxury .b2vu-diff-row span:first-child{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-diff-row span:last-child{color:var(--l-gold-light)}
.b2vu-tpl-luxury .b2vu-diff-arrow{color:var(--l-gold)}
.b2vu-tpl-luxury .b2vu-diff-price{border-top:1px solid var(--l-border)}
.b2vu-tpl-luxury .b2vu-price{color:var(--l-gold-light);font-size:28px;text-shadow:0 0 12px rgba(212,168,67,0.3)}
.b2vu-tpl-luxury .b2vu-btn{border-radius:12px;font-size:17px;padding:16px;letter-spacing:2px;font-weight:700;position:relative;overflow:hidden}
.b2vu-tpl-luxury .b2vu-btn::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);transition:left .5s}
.b2vu-tpl-luxury .b2vu-btn:hover::after{left:100%}
.b2vu-tpl-luxury .b2vu-btn-quick{background:linear-gradient(135deg,#d4a843,#b8860b);color:#0f0f1a}
.b2vu-tpl-luxury .b2vu-btn-quick:hover{box-shadow:0 6px 24px rgba(212,168,67,0.4);color:#0f0f1a}
.b2vu-tpl-luxury .b2vu-btn-shop{background:transparent;color:var(--l-gold);border:1px solid var(--l-gold)}
.b2vu-tpl-luxury .b2vu-btn-shop:hover{background:rgba(212,168,67,0.1);box-shadow:0 4px 16px rgba(212,168,67,0.2);color:var(--l-gold-light)}
.b2vu-tpl-luxury .b2vu-front-success{background:rgba(212,168,67,0.08);border:1px solid var(--l-border)}
.b2vu-tpl-luxury .b2vu-success-icon{background:linear-gradient(135deg,#d4a843,#b8860b);box-shadow:0 0 20px rgba(212,168,67,0.4)}
.b2vu-tpl-luxury .b2vu-front-success h3{color:var(--l-gold-light);letter-spacing:2px}
.b2vu-tpl-luxury .b2vu-front-success p{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-front-join-vip{background:rgba(212,168,67,0.06);border:1px solid var(--l-border)}
.b2vu-tpl-luxury .b2vu-join-icon{background:linear-gradient(135deg,#d4a843,#b8860b);box-shadow:0 0 24px rgba(212,168,67,0.4)}
.b2vu-tpl-luxury .b2vu-front-join-vip h3{color:var(--l-gold-light);letter-spacing:2px}
.b2vu-tpl-luxury .b2vu-front-join-vip p{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-btn-join{background:linear-gradient(135deg,#d4a843,#b8860b);color:#0f0f1a;letter-spacing:2px}
.b2vu-tpl-luxury .b2vu-front-rules{border:1px solid var(--l-border);background:rgba(26,26,46,0.5)}
.b2vu-tpl-luxury .b2vu-front-rules h4{color:var(--l-gold-light);letter-spacing:2px}
.b2vu-tpl-luxury .b2vu-front-rules li{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-top-badge{background:linear-gradient(135deg,#d4a843,#b8860b);color:#0f0f1a}
.b2vu-tpl-luxury .b2vu-tip{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-front-login,.b2vu-tpl-luxury .b2vu-front-notice{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-front-login a,.b2vu-tpl-luxury .b2vu-front-notice a{color:var(--l-gold)}
.b2vu-tpl-luxury .b2vu-modal{background:var(--l-bg);border:1px solid var(--l-border);border-radius:var(--l-radius)}
.b2vu-tpl-luxury .b2vu-modal-header{border-bottom:1px solid var(--l-border)}
.b2vu-tpl-luxury .b2vu-modal-header h3{color:var(--l-gold-light)}
.b2vu-tpl-luxury .b2vu-modal-close{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-modal-close:hover{color:var(--l-gold)}
.b2vu-tpl-luxury .b2vu-modal-info p{color:var(--l-text-secondary)}
.b2vu-tpl-luxury .b2vu-modal-price{color:var(--l-gold-light);text-shadow:0 0 12px rgba(212,168,67,0.3)}
.b2vu-tpl-luxury .b2vu-loading-text{color:var(--l-text-secondary)}

/* ================================================================
   模板：成熟稳重 (Classic) — 深蓝系，衬线风格，沉稳端庄
   ================================================================ */
.b2vu-tpl-classic{--c-bg:#f5f7fa;--c-card-bg:#fff;--c-border:#d6dce5;--c-primary:#1a3a5c;--c-primary-light:#2c5282;--c-accent:#c8a45a;--c-text:#1a2a3a;--c-text-secondary:#5a6a7a;--c-radius:8px;--c-shadow:0 2px 8px rgba(26,58,92,0.08);background:var(--c-bg);border-radius:var(--c-radius);border:1px solid var(--c-border);padding:28px 24px;font-family:Georgia,"Times New Roman",serif}
.b2vu-tpl-classic .b2vu-front-card{background:var(--c-card-bg);border-radius:var(--c-radius);box-shadow:var(--c-shadow);border:1px solid var(--c-border)}
.b2vu-tpl-classic .b2vu-user-info h3{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif;font-size:20px;letter-spacing:0.5px}
.b2vu-tpl-classic .b2vu-tag{border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;letter-spacing:0.5px}
.b2vu-tpl-classic .b2vu-tag-vip0{background:#eef1f5;color:#5a6a7a}
.b2vu-tpl-classic .b2vu-tag-vip1{background:#e8edf3;color:var(--c-primary)}
.b2vu-tpl-classic .b2vu-tag-vip2{background:#eef5ee;color:#2e6b3e}
.b2vu-tpl-classic .b2vu-tag-vip3{background:var(--c-primary);color:#fff}
.b2vu-tpl-classic .b2vu-expire{color:var(--c-text-secondary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.b2vu-tpl-classic .b2vu-front-upgrade{background:#fafbfd;border:1px solid var(--c-border)}
.b2vu-tpl-classic .b2vu-front-upgrade h3{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif;font-size:17px;letter-spacing:2px;border-bottom:2px solid var(--c-accent);display:inline-block;padding-bottom:6px;margin-bottom:20px}
.b2vu-tpl-classic .b2vu-target-item{border:1px solid var(--c-border);border-radius:var(--c-radius);background:#fff;transition:all .2s}
.b2vu-tpl-classic .b2vu-target-item:hover{border-color:var(--c-primary-light);background:#f8fafc}
.b2vu-tpl-classic .b2vu-target-item.active{border-color:var(--c-primary);background:#f0f4f8;box-shadow:0 2px 8px rgba(26,58,92,0.1)}
.b2vu-tpl-classic .b2vu-target-item.active{border-left:3px solid var(--c-accent)}
.b2vu-tpl-classic .b2vu-target-price{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif}
.b2vu-tpl-classic .b2vu-diff-box{background:#fafbfd;border:1px solid var(--c-border);border-radius:var(--c-radius)}
.b2vu-tpl-classic .b2vu-diff-row span:first-child{color:var(--c-text-secondary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.b2vu-tpl-classic .b2vu-diff-arrow{color:var(--c-accent)}
.b2vu-tpl-classic .b2vu-diff-price{border-top:1px solid var(--c-border)}
.b2vu-tpl-classic .b2vu-price{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif;font-size:26px}
.b2vu-tpl-classic .b2vu-btn{border-radius:var(--c-radius);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;letter-spacing:1px}
.b2vu-tpl-classic .b2vu-btn-quick{background:var(--c-primary);color:#fff}
.b2vu-tpl-classic .b2vu-btn-quick:hover{background:var(--c-primary-light);box-shadow:0 4px 12px rgba(26,58,92,0.3);color:#fff}
.b2vu-tpl-classic .b2vu-btn-shop{background:transparent;color:var(--c-primary);border:2px solid var(--c-primary)}
.b2vu-tpl-classic .b2vu-btn-shop:hover{background:var(--c-primary);color:#fff;box-shadow:0 4px 12px rgba(26,58,92,0.3)}
.b2vu-tpl-classic .b2vu-front-success{background:#fafbfd;border:1px solid var(--c-border)}
.b2vu-tpl-classic .b2vu-success-icon{background:var(--c-primary)}
.b2vu-tpl-classic .b2vu-front-success h3{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif;letter-spacing:1px}
.b2vu-tpl-classic .b2vu-front-join-vip{background:#fafbfd;border:1px solid var(--c-border)}
.b2vu-tpl-classic .b2vu-join-icon{background:var(--c-primary);box-shadow:0 4px 12px rgba(26,58,92,0.2)}
.b2vu-tpl-classic .b2vu-front-join-vip h3{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif;letter-spacing:1px}
.b2vu-tpl-classic .b2vu-front-join-vip p{color:var(--c-text-secondary)}
.b2vu-tpl-classic .b2vu-btn-join{background:var(--c-primary);letter-spacing:1px}
.b2vu-tpl-classic .b2vu-front-rules{border:1px solid var(--c-border);background:#fafbfd}
.b2vu-tpl-classic .b2vu-front-rules h4{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif;letter-spacing:1px}
.b2vu-tpl-classic .b2vu-front-rules li{color:var(--c-text-secondary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.b2vu-tpl-classic .b2vu-top-badge{background:var(--c-accent);color:#fff;border-radius:3px}
.b2vu-tpl-classic .b2vu-modal{border:1px solid var(--c-border);border-radius:var(--c-radius)}
.b2vu-tpl-classic .b2vu-modal-header h3{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif}
.b2vu-tpl-classic .b2vu-modal-price{color:var(--c-primary);font-family:Georgia,"Times New Roman",serif}