/* ============================================================
 * rectify_w2 —— 钱包=服务费预存 干净版 + 密钥中心全量平台清单
 * 地盘：keys.html（充值卡 / 全量平台分组）；弹窗双轨两笔样式随附
 * 原则：浅蓝白 + 渐变蓝，禁紫；.w2-* 前缀防御注入
 * ============================================================ */

/* ---------- 充值卡：钱包=服务费预存 ---------- */
.w2-card{
  background:#fff; border:1px solid #E3EBF6; border-radius:12px;
  padding:20px 22px; margin:16px 0;
  box-shadow:0 2px 10px rgba(56,189,248,.08);
}
.w2-title{font-size:16px;font-weight:700;color:#1d2129;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.w2-title .w2-tag{
  font-size:12px;font-weight:600;color:#fff;background:linear-gradient(135deg,#5B8FD6,#7FB0E8);
  padding:2px 9px;border-radius:999px;letter-spacing:.3px;
}
.w2-title .w2-nplat{font-size:12px;font-weight:600;color:#1d2129;}
.w2-lead{
  font-size:13px;line-height:1.8;color:#606266;margin:10px 0 4px;
  background:#ffffff;border-left:3px solid #7FB0E8;border-radius:0 8px 8px 0;padding:10px 12px;
}
.w2-lead b{color:#1d2129;}

/* 余额双行：本金 / 赠送 */
.w2-bal{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0 6px;}
.w2-bal-cell{
  flex:1 1 200px;border:1px solid #E3EBF6;border-radius:12px;padding:12px 14px;background:linear-gradient(180deg,#FDFEFF,#ffffff);
}
.w2-bal-cell .lab{font-size:12px;color:#909399;}
.w2-bal-cell .num{font-size:24px;font-weight:700;color:#1d2129;margin-top:2px;}
.w2-bal-cell .sub{font-size:12px;color:#3B7A4F;margin-top:3px;line-height:1.6;}
.w2-bal-cell.w2-bonus .sub{color:#B07A2A;}

/* 充值档位 */
.w2-tiers{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 6px;}
.w2-tier{
  flex:1 1 160px;border:1.5px solid #C9DCF3;border-radius:12px;padding:14px 12px;text-align:center;
  cursor:pointer;transition:all .15s;background:#fff;position:relative;
}
.w2-tier:hover{border-color:#5B8FD6;box-shadow:0 4px 14px rgba(91,143,214,.18);transform:translateY(-1px);}
.w2-tier .pay{font-size:20px;font-weight:700;color:#1d2129;}
.w2-tier .pay small{font-size:12px;font-weight:600;color:#909399;}
.w2-tier .gift{
  display:inline-block;margin-top:7px;font-size:12px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#5B8FD6,#7FB0E8);padding:3px 10px;border-radius:999px;
}
.w2-tier .note{font-size:12px;color:#909399;margin-top:6px;line-height:1.5;}

/* 规则区分 */
.w2-rules{font-size:12px;color:#606266;line-height:1.9;margin-top:12px;border-top:1px dashed #D8E4F3;padding-top:10px;}
.w2-rules b{color:#1d2129;}
.w2-rules .w2-ok{color:#3B7A4F;}
.w2-rules .w2-no{color:#B07A2A;}

/* 钱包消费流水 */
.w2-ledger{margin-top:14px;}
.w2-ledger .w2-lh{font-size:13px;font-weight:700;color:#1d2129;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;}
.w2-ledger table{width:100%;border-collapse:collapse;font-size:13px;}
.w2-ledger th{color:#909399;font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid #E3EBF3;}
.w2-ledger td{padding:7px 8px;border-bottom:1px solid #F0F4FA;color:#606266;}
.w2-ledger td.w2-amt{color:#f53f3f;font-weight:700;text-align:right;}
.w2-ledger .w2-empty{font-size:13px;color:#9AA9BE;padding:10px 4px;}
.w2-ledger .w2-type-off{color:#909399;}
.w2-ledger .w2-type-svc{color:#1d2129;}

/* 会员双模式说明 */
.w2-modes{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;}
.w2-mode{flex:1 1 240px;border:1px solid #E3EBF6;border-radius:12px;padding:11px 13px;background:#F8FBFF;}
.w2-mode b{color:#1d2129;font-size:13px;}
.w2-mode p{font-size:12px;color:#606266;line-height:1.7;margin:5px 0 0;}

/* ---------- 全量平台分组 ---------- */
.w2-rec{
  margin:14px 0;padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,#EAF2FD,#F4F9FF);border:1px solid #C9DCF3;
  font-size:13px;line-height:1.8;color:#1d2129;
}
.w2-rec b{color:#1F4E8C;}
.w2-group{margin:16px 0;}
.w2-group-h{font-size:14px;font-weight:700;color:#1d2129;margin-bottom:9px;display:flex;align-items:center;gap:7px;}
.w2-group-h .w2-gdot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#5B8FD6,#7FB0E8);}
.w2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
.w2-plat{
  border:1px solid #E3EBF6;border-radius:12px;padding:11px 12px;background:#fff;position:relative;
}
.w2-plat.w2-missing{border-color:#F3D4D4;background:#FDF8F8;}
.w2-plat.w2-ok{border-color:#CBE6D4;background:#FBFEFC;}
.w2-plat .pn{font-size:13px;font-weight:700;color:#1d2129;display:flex;justify-content:space-between;align-items:center;gap:6px;}
.w2-badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;}
.w2-badge.w2-b-ok{background:#E7F4EA;color:#3B7A4F;}
.w2-badge.w2-b-no{background:#ffece8;color:#f53f3f;}
.w2-badge.w2-b-dim{background:#F0F4FA;color:#909399;}
.w2-plat .pcap{font-size:12px;color:#909399;margin:5px 0 7px;line-height:1.5;}
.w2-plat .w2-free{font-size:12px;color:#3B7A4F;margin-bottom:6px;}
.w2-plat .w2-app{font-size:12px;}
.w2-plat .w2-app a{color:#1d2129;text-decoration:none;}
.w2-plat .w2-app a:hover{text-decoration:underline;}
.w2-plat .w2-goguide{font-size:12px;color:#f53f3f;margin-top:6px;}

/* ---------- 弹窗两笔并行（追加在 cost 弹窗内） ---------- */
.cost-flow{margin:12px 0 2px;border-top:1px dashed #D8E4F3;padding-top:10px;}
.cost-flow-row{display:flex;justify-content:space-between;align-items:center;padding:5px 2px;font-size:13px;line-height:1.5;}
.cost-flow-row .cf-l{color:#606266;}
.cost-flow-row .cf-l b{color:#1d2129;font-weight:600;}
.cost-flow-row .cf-r{font-weight:700;color:#1d2129;}
.cost-flow-row.cf-svc .cf-r{color:#1d2129;}
.cost-flow-note{font-size:12px;color:#8A99AE;margin-top:4px;line-height:1.6;}
.cost-warn{
  margin:10px 0 2px;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.7;
  background:#ffece8;color:#A83A3A;border:1px solid #F3C9C9;display:none;
}
.cost-warn.show{display:block;}
.cost-warn b{color:#8C2B2B;}
.cost-warn a{color:#1F4E8C;font-weight:700;text-decoration:none;}
.cost-ok-blocked{opacity:.5;pointer-events:none;}

/* ---------- 退款入口（双向选项，不强制接受） ---------- */
.w2-refund{
  margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  font-size:13px;color:#606266;line-height:1.7;
}
.w2-refund b{color:#1d2129;}
.w2-refund .w2-no{color:#B07A2A;}
.w2-refund-panel{
  margin-top:10px;border:1px dashed #C9DCF3;border-radius:12px;padding:12px 14px;background:#F8FBFF;
  font-size:13px;color:#606266;line-height:1.8;display:none;
}
.w2-refund-panel.show{display:block;}
.w2-refund-panel b{color:#1d2129;}
.w2-refund-acts{display:flex;gap:10px;margin-top:10px;}

/* 账单：报销入口 */
.ct-reimburse{display:block;font-size:12px;color:#ff7d00;margin-top:4px;line-height:1.6;}
.ct-reimburse a{color:#1d2129;font-weight:600;text-decoration:none;}
.ct-reimburse a:hover{text-decoration:underline;}

/* 三家就绪主卡 */
.w2-primary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 6px;}
#w2PlatStatusRow{grid-template-columns:repeat(5,1fr);}
.w2-primary{border:1.5px solid #CBE6D4;background:linear-gradient(180deg,#FBFEFC,#F2F9F4);border-radius:12px;padding:13px 15px;}
.w2-primary-missing{border-color:#F0D4D4;background:linear-gradient(180deg,#FDF8F8,#FBF2F2);}
.w2-p-head{display:flex;align-items:center;gap:8px;font-size:14px;color:#1d2129;flex-wrap:wrap;}
.w2-pdot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.w2-pdot-ok{background:#3B9A5F;box-shadow:0 0 0 3px rgba(59,154,95,.18);}
.w2-pdot-no{background:#f53f3f;box-shadow:0 0 0 3px rgba(194,80,80,.15);}
.w2-prole{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;}
.w2-prole-main{background:linear-gradient(135deg,#5B8FD6,#7FB0E8);color:#fff;}
.w2-prole-backup{background:#E7F4EA;color:#3B7A4F;}
.w2-p-desc{font-size:12px;color:#606266;margin-top:7px;line-height:1.6;}
.w2-p-status{font-size:12px;color:#3B7A4F;margin-top:6px;}
.w2-primary-missing .w2-p-status{color:#B07A2A;}
