.vip-panel-body{
  padding:8px 22px 22px;
}
.vip-panel .uc-panel-head{align-items:center}
.vip-head-tabs{flex-shrink:0;margin-top:0}
.vip-head-tabs .uc-settings-tab{text-decoration:none}
.vip-head-tabs .uc-settings-tab.on{cursor:default}
.vip-order-list{display:flex;flex-direction:column;gap:10px;padding:0 22px 22px}
.vip-order-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm,12px);background:var(--chip);
}
.vip-order-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.vip-order-main strong{font-size:15px;color:var(--text)}
.vip-order-main span{font-size:13px;color:var(--text-soft)}
.vip-order-main em{font-style:normal;font-size:12px;color:var(--muted)}
.vip-order-side{flex-shrink:0}
.vip-order-status{font-size:13px;font-weight:700;color:var(--accent)}
.vip-order-pager{padding:0 22px 22px}
.vip-panel .vip-status-card{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:18px 20px;margin-bottom:16px;border-radius:var(--radius-sm,12px);
  background:var(--chip);border:1px solid var(--line);
}
.vip-status-card.is-active{
  background:var(--accent-soft);border-color:var(--stroke-strong,var(--line));
}
.vip-status-main{display:flex;align-items:center;gap:12px;min-width:0}
.vip-status-main i{font-size:34px;color:var(--accent);line-height:1;flex-shrink:0}
.vip-status-main strong{display:block;font-size:18px;color:var(--text)}
.vip-status-main span{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.vip-balance{display:flex;gap:16px;font-size:13px;color:var(--muted);flex-shrink:0}
.vip-balance b{color:var(--text);margin-left:4px}
.vip-quota-box{
  margin-bottom:18px;padding:14px 16px;border-radius:var(--radius-sm,12px);
  background:var(--chip);border:1px solid var(--line);
}
.vip-quota-box strong{display:block;margin-bottom:10px;font-size:14px;color:var(--text)}
.vip-quota-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px}
.vip-quota-list li{display:flex;align-items:baseline;gap:6px;font-size:13px;color:var(--text-soft);flex-wrap:wrap}
.vip-quota-list li span{flex-shrink:0}
.vip-quota-list em{font-style:normal;font-weight:700;color:var(--accent);white-space:nowrap}
.vip-tip{padding:10px 14px;border-radius:var(--radius-sm,12px);font-size:13px;margin-bottom:16px}
.vip-tip.warn{background:var(--accent-soft);border:1px solid var(--line);color:var(--text-soft)}
.vip-section-title{margin:0 0 14px;font-size:16px;font-weight:750;color:var(--text)}
.vip-plan-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px;
}
.vip-plan-card{
  position:relative;overflow:hidden;isolation:isolate;
  border:1.5px solid var(--line);border-radius:16px;
  background:linear-gradient(
    155deg,
    color-mix(in srgb,var(--accent) 9%,transparent) 0%,
    color-mix(in srgb,var(--chip) 88%,transparent) 42%,
    color-mix(in srgb,var(--surface) 92%,transparent) 100%
  );
  display:flex;flex-direction:column;min-height:0;cursor:pointer;
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
  outline:none;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.vip-plan-card::before{
  content:"";position:absolute;pointer-events:none;z-index:0;
  width:min(190px,78%);height:128px;top:-54px;right:-34px;border-radius:50%;
  background:radial-gradient(
    ellipse at 50% 55%,
    color-mix(in srgb,var(--accent) 24%,transparent) 0%,
    color-mix(in srgb,var(--accent) 8%,transparent) 44%,
    transparent 74%
  );
  opacity:.58;transition:opacity .22s ease,transform .22s ease;
}
.vip-plan-card::after{
  content:"";position:absolute;pointer-events:none;z-index:0;
  width:min(150px,62%);height:108px;left:-40px;bottom:-52px;border-radius:50%;
  background:radial-gradient(
    circle at 50% 45%,
    color-mix(in srgb,var(--accent) 14%,transparent) 0%,
    color-mix(in srgb,var(--accent) 5%,transparent) 40%,
    transparent 72%
  );
  opacity:.38;transition:opacity .22s ease,transform .22s ease;
}
.vip-plan-card:hover{
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line));
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  transform:translateY(-2px);
}
.vip-plan-card:hover::before{opacity:.72;transform:scale(1.04)}
.vip-plan-card:hover::after{opacity:.48}
.vip-plan-card.is-selected{
  border-color:color-mix(in srgb,var(--accent) 50%,var(--line));
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),
    0 12px 32px color-mix(in srgb,var(--accent) 10%,rgba(0,0,0,.08));
  transform:translateY(-2px);
}
.vip-plan-card.is-selected::before{
  opacity:.82;transform:scale(1.06);
  background:radial-gradient(
    ellipse at 50% 55%,
    color-mix(in srgb,var(--accent) 30%,transparent) 0%,
    color-mix(in srgb,var(--accent) 10%,transparent) 46%,
    transparent 76%
  );
}
.vip-plan-card.is-selected::after{opacity:.52;left:-34px;bottom:-46px}
.vip-plan-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;flex:1;
  padding:18px 18px 16px;min-height:260px;
  background:transparent;
}
.vip-plan-check{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width: 18px;
  height: 18px;
  border-radius:50%;
  border:1.5px solid color-mix(in srgb,var(--line) 90%,transparent);
  background:var(--surface);
  color:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  transition:all .2s ease;
}
.vip-plan-card.is-selected .vip-plan-check{
  border-color:var(--accent);background:var(--accent);color:var(--accent-ink,#fff);
  box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 32%,transparent);
}
.vip-plan-top{
  display:flex;align-items:flex-start;gap:12px;
  margin-bottom:14px;padding-right:28px;
}
.vip-plan-icon{
  flex-shrink:0;width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:21px;line-height:1;color:var(--accent);
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--accent) 14%,var(--surface)),
    var(--accent-soft)
  );
  border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));
}
.vip-plan-head{min-width:0;flex:1}
.vip-plan-head strong{
  display:block;font-size:17px;font-weight:800;line-height:1.35;
  letter-spacing:-.01em;word-break:break-word;color:var(--text);
}
.vip-plan-head em{
  display:inline-flex;align-items:center;margin-top:6px;padding:3px 10px;border-radius:999px;
  font-style:normal;font-size:11px;font-weight:700;letter-spacing:.02em;
  color:color-mix(in srgb,var(--accent) 78%,var(--text));
  background:color-mix(in srgb,var(--accent) 10%,var(--chip));
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));
}
.vip-plan-price-block{
  padding:14px 0;margin-bottom:12px;
  border-top:1px dashed color-mix(in srgb,var(--line) 85%,transparent);
  border-bottom:1px dashed color-mix(in srgb,var(--line) 85%,transparent);
}
.vip-plan-price{
  font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.02em;
  color:var(--accent);
  font-variant-numeric:tabular-nums;
}
.vip-plan-price-block::after{
  content:"开通价";display:block;margin-top:6px;
  font-size:11px;font-weight:600;letter-spacing:.04em;
  color:var(--muted);text-transform:none;
}
.vip-plan-perks{
  list-style:none;margin:0;padding:0;flex:1;
  display:flex;flex-direction:column;gap:8px;
}
.vip-plan-perks li{
  display:flex;align-items:flex-start;gap:8px;
  width:100%;padding-left:0;
  font-size:13px;line-height:1.55;color:var(--text-soft);
}
.vip-plan-perks li::before{
  content:"\eb7b";flex-shrink:0;
  width:14px;height:14px;margin-top:.12em;
  border-radius:50%;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:remixicon!important;font-style:normal;font-weight:400;
  font-size:10px;line-height:1;color:var(--accent);
  background:color-mix(in srgb,var(--accent) 12%,var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));
  -webkit-font-smoothing:antialiased;
}
.vip-plan-perks li::after{display:none;content:none}
.vip-plan-perks-empty{
  font-size:13px;color:var(--muted);flex:1;
  padding:12px 0;text-align:center;
}
.vip-plan-footer{
  margin-top:18px;padding-top:0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.vip-plan-selected{font-size:14px;color:var(--muted);min-width:0;flex:1}
.vip-plan-selected.has-plan{color:var(--text-soft)}
.vip-plan-selected b{color:var(--text);margin:0 4px;font-weight:800}
.vip-plan-selected .vip-sel-price{font-style:normal;font-weight:800;color:var(--accent);margin-left:2px}
.vip-pay-modal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:16px}
.vip-pay-modal[hidden]{display:none!important}
.vip-pay-mask{position:absolute;inset:0;background:var(--overlay,rgba(0,0,0,.4));backdrop-filter:blur(2px)}
.vip-pay-card{
  position:relative;z-index:1;width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;
  background:var(--surface);border-radius:var(--radius,16px);padding:0;
  box-shadow:var(--card-shadow-hover,0 16px 40px rgba(0,0,0,.08));border:1px solid var(--line);
}
.vip-pay-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 20px 0;margin-bottom:4px;
}
.vip-pay-head h3{margin:0;font-size:17px;line-height:1.3;font-weight:750;color:var(--text)}
.vip-pay-x{
  flex:0 0 auto;width:32px;height:32px;border:0;border-radius:10px;background:transparent;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);
  transition:background .15s ease,color .15s ease;
}
.vip-pay-x:hover{background:var(--chip);color:var(--text)}
.vip-pay-body{padding:0 20px 20px}
.vip-pay-step[hidden]{display:none!important}
.vip-pay-sub{margin:10px 0 8px;color:var(--text);font-size:15px;font-weight:700;line-height:1.5}
.vip-pay-perks{
  margin:0 0 14px;padding:10px 12px;border-radius:var(--radius-sm,12px);
  background:var(--chip);border:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--text-soft);
}
.vip-pay-methods{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.vip-pay-method{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm,12px);
  cursor:pointer;background:var(--chip);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.vip-pay-method:hover{border-color:var(--stroke-strong,var(--line));background:var(--surface)}
.vip-pay-method.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:none}
.vip-pay-method input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.vip-pay-method-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.vip-pay-ico{
  width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  font-size:20px;line-height:1;flex-shrink:0;background:var(--surface);color:var(--muted);border:1px solid var(--line);
}
.vip-pay-method.is-on .vip-pay-ico{background:var(--surface);color:var(--accent);border-color:var(--line)}
.vip-pay-method-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.vip-pay-method-text strong{font-size:14px;color:var(--text);font-weight:750;line-height:1.35}
.vip-pay-method-text em{font-style:normal;font-size:12px;color:var(--muted);line-height:1.35}
.vip-pay-method-check{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);color:transparent;
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s ease;
}
.vip-pay-method.is-on .vip-pay-method-check{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
.vip-pay-method .pay-ico{
  width:36px;height:36px;border-radius:10px;background:var(--surface);font-size:22px;border:1px solid var(--line);
}
.vip-pay-method.pm-zfb .pay-ico{background:var(--surface)}
.vip-pay-method.pm-wx .pay-ico{background:var(--surface)}
.vip-pay-method.pm-qq .pay-ico{background:var(--surface)}
.vip-pay-method .pay-ico::before{font-family:remixicon!important;font-style:normal;-webkit-font-smoothing:antialiased}
.vip-pay-method.pm-zfb .pay-ico::before{content:"\ea2b";color:#1677ff}
.vip-pay-method.pm-wx .pay-ico::before{content:"\f2b7";color:#07c160}
.vip-pay-method.pm-qq .pay-ico::before{content:"\f03a";color:#12b7f5}
.vip-pay-method.pm-zfb.is-on{border-color:#1677ff;background:rgba(22,119,255,.06)}
.vip-pay-method.pm-wx.is-on{border-color:#07c160;background:rgba(7,193,96,.06)}
.vip-pay-method.pm-qq.is-on{border-color:#12b7f5;background:rgba(18,183,245,.06)}
.vip-pay-cash-head{text-align:center;padding:8px 0 14px}
.vip-pay-badge{
  display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;
  background:var(--chip);border:1px solid var(--line);font-size:13px;font-weight:750;color:var(--text);margin-bottom:10px;
}
.vip-pay-badge .pay-ico{width:18px;height:18px;font-size:18px}
.vip-pay-badge .pay-ico::before{font-family:remixicon!important;font-style:normal;-webkit-font-smoothing:antialiased}
.vip-pay-badge.pm-zfb .pay-ico::before{content:"\ea2b";color:#1677ff}
.vip-pay-badge.pm-wx .pay-ico::before{content:"\f2b7";color:#07c160}
.vip-pay-badge.pm-qq .pay-ico::before{content:"\f03a";color:#12b7f5}
.vip-pay-amount{font-size:34px;font-weight:800;color:var(--text);line-height:1.1;margin-bottom:6px}
.vip-pay-order-no{margin:0;font-size:12px;color:var(--muted)}
.vip-pay-qr-wrap,.vip-pay-sandbox{margin:8px 0 12px}
.vip-pay-qr-wrap.is-hidden,.vip-pay-sandbox.is-hidden,#vip-pay-open-link.is-hidden,.vip-pay-qr.is-hidden{display:none!important}
.vip-pay-qr{display:block;width:200px;height:200px;margin:0 auto;border-radius:10px;border:1px solid var(--line);background:var(--surface)}
.vip-pay-qr-hint{margin:12px 0 0;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}
.vip-pay-status{
  margin:0 0 12px;text-align:center;font-size:13px;color:var(--text-soft);font-weight:750;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.vip-pay-status.is-ok{color:#059669}
.vip-pay-status.is-err{color:#dc2626}
.vip-pay-status .vip-spin{animation:vipSpin 1s linear infinite}
@keyframes vipSpin{to{transform:rotate(360deg)}}
.vip-pay-card .btn-block{width:100%;display:block}
.vip-pay-card .btn-line.btn-block{margin-top:8px}
@media (max-width:1200px){
  .vip-plan-grid,.vip-quota-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .vip-plan-grid,.vip-quota-list{grid-template-columns:1fr}
  .vip-plan-footer{align-items:stretch;flex-direction:column}
  .vip-plan-footer .btn{width:100%}
}

/* ==================== VIP 等级成长卡 ==================== */
.vip-level-card {
  background: linear-gradient(135deg, #fdf9f3 0%, #fdf3e3 100%);
  border: 1px solid #f0d9b5;
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 16px;
}
.vip-level-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.vip-level-badge {
  display: flex;
  align-items: center;
  gap: 12px;
}
.vip-level-badge > i {
  font-size: 34px;
  color: var(--lv, #f59e0b);
  filter: drop-shadow(0 2px 4px rgba(245, 158, 11, .35));
}
.vip-level-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vip-level-text strong {
  font-size: 18px;
  font-weight: 700;
  color: var(--lv, #f59e0b);
}
.vip-level-text span {
  font-size: 12px;
  color: #8a7963;
}
.vip-level-rank {
  font-size: 12px;
  color: #8a7963;
  background: #fff7ea;
  border: 1px solid #f0d9b5;
  border-radius: 999px;
  padding: 5px 12px;
}
.vip-level-rank b {
  color: #e8a33d;
  font-size: 14px;
}
.vip-level-progress {
  margin-top: 14px;
}
.vip-progress-bar {
  height: 10px;
  background: #f3e3cc;
  border-radius: 999px;
  overflow: hidden;
}
.vip-progress-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--lv, #f59e0b), #f7c873);
  transition: width .4s ease;
}
.vip-progress-text {
  margin-top: 8px;
  font-size: 12px;
  color: #8a7963;
}
.vip-progress-text b {
  color: var(--lv, #f59e0b);
}
.vip-level-max {
  margin-top: 12px;
  color: #e8a33d;
  font-weight: 600;
}

/* VIP 成长值排行榜 */
.vip-rank-box {
  margin-bottom: 16px;
}
.vip-rank-title {
  font-size: 15px;
}
.vip-rank-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #eee5d8;
  border-radius: 12px;
  overflow: hidden;
}
.vip-rank-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  background: #fffdf9;
  border-bottom: 1px solid #f3ecdf;
  font-size: 13px;
}
.vip-rank-item:last-child { border-bottom: none; }
.vip-rank-no {
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  border-radius: 6px;
  background: #f3e9d8;
  color: #a08a68;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.vip-rank-item:nth-child(1) .vip-rank-no { background: #fde9c3; color: #c97b1a; }
.vip-rank-item:nth-child(2) .vip-rank-no { background: #e8e8f0; color: #5c6478; }
.vip-rank-item:nth-child(3) .vip-rank-no { background: #f6e0cd; color: #a4632c; }
.vip-rank-name {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vip-rank-name i { margin-right: 5px; }
.vip-rank-level {
  font-size: 12px;
  color: #a08a68;
  background: #f6efe3;
  border-radius: 999px;
  padding: 2px 8px;
  flex-shrink: 0;
}
.vip-rank-grow {
  font-size: 12px;
  color: #8a7963;
  flex-shrink: 0;
}

/* ==================== VIP 等级卡（金色奢华版） ==================== */
.vip-panel .vip-level-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #3a2410 0%, #6b4a1d 55%, #9c742f 100%);
  border: 1px solid #e3bd72;
  border-radius: 16px;
  padding: 20px 18px 18px;
  margin-bottom: 16px;
  box-shadow: 0 8px 20px rgba(156, 116, 47, .30);
}
.vip-panel .vip-level-card::before {
  content: '';
  position: absolute;
  right: -45px;
  top: -45px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 215, 130, .38), transparent 70%);
  pointer-events: none;
}
.vip-panel .vip-level-card::after {
  content: '';
  position: absolute;
  left: -35px;
  bottom: -55px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 215, 130, .16), transparent 70%);
  pointer-events: none;
}
.vip-level-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.vip-level-badge {
  display: flex;
  align-items: center;
  gap: 12px;
}
.vip-level-crown {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 35% 30%, #ffe9b3, #d9a94e 65%, #b07d2c);
  box-shadow: 0 0 0 3px rgba(255, 215, 130, .28), 0 4px 10px rgba(0, 0, 0, .35);
  flex-shrink: 0;
}
.vip-level-crown i {
  font-size: 30px;
  color: #5c3608;
  text-shadow: 0 1px 1px rgba(255, 232, 170, .7);
}
.vip-level-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.vip-level-text strong {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 1px;
  background: linear-gradient(90deg, #fff3d2, #ffd97e 45%, #f0b64c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1.2;
}
.vip-level-text span {
  font-size: 13px;
  color: #f3dfb6;
}
.vip-level-text span b {
  color: #ffd97e;
  font-weight: 700;
}
.vip-level-rank {
  font-size: 12px;
  color: #f3dfb6;
  background: rgba(255, 217, 126, .14);
  border: 1px solid rgba(255, 217, 126, .45);
  border-radius: 999px;
  padding: 6px 12px;
  white-space: nowrap;
}
.vip-level-rank b {
  color: #ffd97e;
  font-size: 15px;
}
.vip-level-progress {
  position: relative;
  z-index: 1;
  margin-top: 16px;
}
.vip-panel .vip-progress-bar {
  height: 12px;
  background: rgba(0, 0, 0, .35);
  border: 1px solid rgba(255, 217, 126, .35);
  border-radius: 999px;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .4);
}
.vip-panel .vip-progress-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #b07d2c, #f0b64c 60%, #ffe9b3);
  box-shadow: 0 0 10px rgba(255, 217, 126, .55);
  transition: width .5s ease;
}
.vip-progress-text {
  margin-top: 9px;
  font-size: 12px;
  color: #f0dcb5;
}
.vip-progress-text b {
  color: #ffd97e;
  font-weight: 700;
}
.vip-level-max {
  margin-top: 12px;
  color: #ffd97e;
  font-weight: 600;
  font-size: 13px;
}

/* ==================== VIP 成长值排行榜（精致版） ==================== */
.vip-panel .vip-rank-box {
  margin-bottom: 16px;
}
.vip-rank-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  color: #6b4a1d;
}
.vip-rank-title i {
  color: #d9a94e;
  font-size: 18px;
}
.vip-panel .vip-rank-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  background: #fff;
  border: 1px solid #f0e4cf;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(107, 74, 29, .08);
}
.vip-panel .vip-rank-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #fffdf8;
  border-bottom: 1px solid #f5ecdc;
  font-size: 13px;
}
.vip-panel .vip-rank-item:last-child {
  border-bottom: none;
}
.vip-panel .vip-rank-no {
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  border-radius: 8px;
  background: #f3e9d8;
  color: #a08a68;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
/* TOP3 金银铜 */
.vip-panel .vip-rank-item:nth-child(1) .vip-rank-no {
  background: linear-gradient(135deg, #ffe9b3, #f0b64c);
  color: #7a4a07;
  box-shadow: 0 2px 6px rgba(240, 182, 76, .5);
}
.vip-panel .vip-rank-item:nth-child(2) .vip-rank-no {
  background: linear-gradient(135deg, #f1f2f6, #c6cbd4);
  color: #4a5568;
  box-shadow: 0 2px 6px rgba(198, 203, 212, .5);
}
.vip-panel .vip-rank-item:nth-child(3) .vip-rank-no {
  background: linear-gradient(135deg, #f6ddc0, #cd9663);
  color: #7a4a1e;
  box-shadow: 0 2px 6px rgba(205, 150, 99, .5);
}
.vip-rank-name {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vip-rank-name i {
  margin-right: 5px;
  font-size: 13px;
}
.vip-panel .vip-rank-level {
  font-size: 12px;
  color: #8a6a2f;
  background: #faf3e3;
  border: 1px solid #ecdcbb;
  border-radius: 999px;
  padding: 2px 9px;
  flex-shrink: 0;
}
.vip-panel .vip-rank-grow {
  font-size: 12px;
  color: #8a7963;
  font-weight: 600;
  flex-shrink: 0;
}

/* ==================== 剩余权益（图标版） ==================== */
.vip-panel .vip-quota-box {
  margin-bottom: 16px;
}
.vip-panel .vip-quota-list {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  background: #fff;
  border: 1px solid #f0e4cf;
  border-radius: 14px;
  overflow: hidden;
}
.vip-panel .vip-quota-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #fffdf8;
  border-bottom: 1px solid #f5ecdc;
  font-size: 13px;
}
.vip-panel .vip-quota-list li:last-child {
  border-bottom: none;
}
.vip-quota-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #faf3e3;
  color: #b07d2c;
  font-size: 16px;
  flex-shrink: 0;
}
.vip-panel .vip-quota-list li span {
  flex: 1;
  color: #4a3b28;
}
.vip-panel .vip-quota-list li em {
  font-style: normal;
  color: #b07d2c;
  font-weight: 600;
  font-size: 12px;
}

/* ==================== VIP 等级独立页（金色奢华整页） ==================== */
.vip-level-page {
  max-width: 760px;
  margin: 0 auto;
  padding-bottom: 30px;
}
.vip-level-hero {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 22px 22px;
  background: linear-gradient(150deg, #2a1807 0%, #5a3a17 48%, #a97b2d 100%);
  border-bottom: 2px solid #e3bd72;
  padding: 34px 20px 30px;
  text-align: center;
  box-shadow: 0 10px 26px rgba(156, 116, 47, .32);
}
.vip-level-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(420px 200px at 15% 0%, rgba(255, 215, 130, .32), transparent 70%),
    radial-gradient(360px 240px at 90% 100%, rgba(255, 215, 130, .18), transparent 70%);
  pointer-events: none;
}
.vip-level-hero-inner {
  position: relative;
  z-index: 1;
}
.vip-level-hero-crown {
  width: 78px;
  height: 78px;
  margin: 0 auto 14px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 35% 28%, #fff3d2, #e3bd72 55%, #b07d2c);
  box-shadow: 0 0 0 5px rgba(255, 215, 130, .25), 0 8px 22px rgba(0, 0, 0, .4);
}
.vip-level-hero-crown i {
  font-size: 44px;
  color: #5c3608;
  text-shadow: 0 1px 2px rgba(255, 232, 170, .8);
}
.vip-level-hero-name {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 3px;
  background: linear-gradient(90deg, #fff6dd, #ffd97e 45%, #f0b64c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1.2;
}
.vip-level-hero-sub {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #f3dfb6;
}
.vip-level-hero-sub b {
  color: #ffd97e;
  font-weight: 700;
}
.vip-hero-rank {
  background: rgba(255, 217, 126, .15);
  border: 1px solid rgba(255, 217, 126, .45);
  border-radius: 999px;
  padding: 4px 12px;
}
.vip-level-hero-progress {
  margin-top: 22px;
}
.vip-hero-bar {
  height: 14px;
  max-width: 420px;
  margin: 0 auto;
  background: rgba(0, 0, 0, .38);
  border: 1px solid rgba(255, 217, 126, .38);
  border-radius: 999px;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .45);
}
.vip-hero-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #b07d2c, #f0b64c 55%, #ffe9b3);
  box-shadow: 0 0 12px rgba(255, 217, 126, .6);
  transition: width .5s ease;
}
.vip-hero-bar-text {
  margin-top: 10px;
  font-size: 13px;
  color: #f0dcb5;
}
.vip-hero-bar-text b {
  color: #ffd97e;
}
.vip-hero-max {
  margin-top: 16px;
  color: #ffd97e;
  font-weight: 600;
}
.vip-level-body {
  padding: 22px 16px 0;
}
.vip-level-section {
  margin-bottom: 24px;
}
.vip-level-section-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  color: #6b4a1d;
  margin: 0 0 12px;
  font-weight: 700;
}
.vip-level-section-title i {
  color: #d9a94e;
  font-size: 19px;
}
.vip-level-matrix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.vip-level-cell {
  position: relative;
  background: #faf3e3;
  border: 1px solid #ecdcbb;
  border-radius: 14px;
  padding: 16px 10px 14px;
  text-align: center;
  color: #b9a888;
  transition: all .2s ease;
}
.vip-level-cell-crown {
  width: 34px;
  height: 34px;
  margin: 0 auto 8px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eee2cc;
  color: #c9b894;
  font-size: 18px;
}
.vip-level-cell strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #b9a888;
}
.vip-level-cell em {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-style: normal;
  color: #c9b894;
}
.vip-level-cell-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e8a33d;
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  display: none;
}
/* 已达到的等级 */
.vip-level-cell-on {
  background: linear-gradient(150deg, #fff7e4, #fde9c3);
  border-color: #e3bd72;
  color: #8a6a2f;
  box-shadow: 0 4px 12px rgba(232, 163, 61, .22);
}
.vip-level-cell-on .vip-level-cell-crown {
  background: radial-gradient(circle at 35% 28%, #fff3d2, #e3bd72 60%, #b07d2c);
  color: #5c3608;
}
.vip-level-cell-on strong {
  color: #8a6a2f;
}
.vip-level-cell-on em {
  color: #b07d2c;
}
.vip-level-cell-on .vip-level-cell-check {
  display: block;
}
.vip-level-tip {
  margin: 12px 0 0;
  font-size: 12px;
  color: #a08a68;
}
/* 排行（独立页版） */
.vip-level-rank-list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid #f0e4cf;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(107, 74, 29, .10);
}
.vip-level-rank-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #fffdf8;
  border-bottom: 1px solid #f5ecdc;
  font-size: 14px;
}
.vip-level-rank-item:last-child {
  border-bottom: none;
}
.vip-level-rank-no {
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  border-radius: 9px;
  background: #f3e9d8;
  color: #a08a68;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}
.vip-level-rank-item:nth-child(1) .vip-level-rank-no {
  background: linear-gradient(135deg, #ffe9b3, #f0b64c);
  color: #7a4a07;
  box-shadow: 0 2px 6px rgba(240, 182, 76, .5);
}
.vip-level-rank-item:nth-child(2) .vip-level-rank-no {
  background: linear-gradient(135deg, #f1f2f6, #c6cbd4);
  color: #4a5568;
  box-shadow: 0 2px 6px rgba(198, 203, 212, .5);
}
.vip-level-rank-item:nth-child(3) .vip-level-rank-no {
  background: linear-gradient(135deg, #f6ddc0, #cd9663);
  color: #7a4a1e;
  box-shadow: 0 2px 6px rgba(205, 150, 99, .5);
}
.vip-level-rank-name {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vip-level-rank-name i {
  margin-right: 6px;
}
.vip-level-rank-tag {
  font-size: 12px;
  color: #8a6a2f;
  background: #faf3e3;
  border: 1px solid #ecdcbb;
  border-radius: 999px;
  padding: 2px 10px;
  flex-shrink: 0;
}
.vip-level-rank-days {
  font-size: 13px;
  color: #b07d2c;
  font-weight: 700;
  flex-shrink: 0;
}
.vip-level-back {
  text-align: center;
  margin-top: 10px;
}
.vip-level-back a {
  display: inline-block;
  padding: 9px 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a94e, #b07d2c);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(176, 125, 44, .35);
}
.vip-level-back a:hover {
  opacity: .9;
}

/* ==================== VIP 会员页：等级入口条 ==================== */
.vip-level-entry {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  margin-bottom: 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, #3a2410, #6b4a1d 60%, #9c742f);
  border: 1px solid #e3bd72;
  box-shadow: 0 4px 12px rgba(156, 116, 47, .22);
  text-decoration: none;
}
.vip-level-entry-crown {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 35% 30%, #ffe9b3, #d9a94e 65%, #b07d2c);
  box-shadow: 0 0 0 2px rgba(255, 215, 130, .3);
  flex-shrink: 0;
}
.vip-level-entry-crown i {
  font-size: 22px;
  color: #5c3608;
}
.vip-level-entry-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vip-level-entry-text strong {
  font-size: 15px;
  font-weight: 700;
  color: #ffe9b3;
}
.vip-level-entry-text em {
  font-style: normal;
  font-size: 12px;
  color: #f0dcb5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vip-level-entry-text em b {
  color: #ffd97e;
}
.vip-level-entry > i {
  color: #ffe9b3;
  font-size: 22px;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .vip-level-matrix {
    grid-template-columns: repeat(6, 1fr);
  }
}
