/* hidden 属性强制生效（避免被 flex 覆盖） */
[hidden]{display:none!important}
/* VIP 会员页样式（基于 ezd2dxf.css 风格） */
:root{--vip-blue:#1f4e79;--vip-blue2:#2e75b6;--vip-gold:#e6a23c}
.vip-tool{background:#fff;border:1px solid #e5eaf0;border-radius:10px;padding:28px 30px;margin:16px 0 24px;box-shadow:0 2px 10px rgba(31,78,121,.06)}
.vip-hd h1{margin:0 0 8px;font-size:26px;color:var(--vip-blue)}
.vip-hd p{margin:0 0 12px;color:#66707c;font-size:14px}
.vip-tags{display:flex;gap:10px;flex-wrap:wrap}
.vip-tags span{background:#eef4fb;color:var(--vip-blue);font-size:13px;padding:4px 12px;border-radius:14px}
.vip-status{display:flex;align-items:center;gap:10px;background:#f0f9f1;border:1px solid #cde7d0;color:#2e7d32;border-radius:8px;padding:10px 16px;margin:16px 0 4px;font-size:14px}
.vip-status-ok{width:20px;height:20px;border-radius:50%;background:#2e7d32;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.vip-status b{color:#1b5e20}
.vip-body{margin-top:20px}
.vip-steps-t{display:flex;align-items:baseline;gap:10px;margin:22px 0 12px;padding-top:18px;border-top:1px dashed #e0e6ed}
.vip-steps-t b{font-size:16px;color:var(--vip-blue)}
.vip-steps-t span{font-size:13px;color:#8a94a0}
.vip-steps-t em{font-style:normal;color:#c0392b;font-weight:700}
.vip-qrs{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px;padding:20px}
.vip-qr{width:170px;text-align:center}
.vip-qr img{width:170px;height:170px;object-fit:cover;border:1px solid #e5eaf0;border-radius:8px;background:#fff}
.vip-qr p{margin:8px 0 0;font-size:14px;color:var(--vip-blue);font-weight:600}
.vip-qrs-note{flex:1;min-width:180px}
.vip-qrs-note p{margin:0 0 6px;font-size:16px;color:#333}
.vip-qrs-note strong{color:#c0392b;font-size:20px}
.vip-sub{font-size:13px!important;color:#8a94a0!important}
.vip-form{display:flex;gap:12px;max-width:520px}
.vip-form input{flex:1;border:1px solid #ccd4dc;border-radius:8px;padding:12px 14px;font-size:16px;outline:none;transition:border .2s}
.vip-form input:focus{border-color:var(--vip-blue2);box-shadow:0 0 0 3px rgba(46,117,182,.12)}
.vip-btn{background:var(--vip-blue);color:#fff;border:0;border-radius:8px;padding:12px 30px;font-size:16px;cursor:pointer;transition:background .2s;flex:none}
.vip-btn:hover{background:#173a5c}
.vip-btn[disabled]{background:#9db4c8;cursor:not-allowed}
.vip-agree{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;color:#5a6570;cursor:pointer}
.vip-msg{margin-top:14px;border-radius:8px;padding:12px 16px;font-size:14px}
.vip-msg.err{background:#fdf0ef;border:1px solid #f2c6c2;color:#c0392b}
.vip-msg.ok{background:#f0f9f1;border:1px solid #cde7d0;color:#2e7d32}
.vip-files{margin-top:26px}
#vipFiles{background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px;padding:6px 18px}
.vip-file{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid #eaeef3}
.vip-file:last-child{border-bottom:0}
.vip-file-ico{width:34px;height:34px;border-radius:6px;background:#eef4fb;color:var(--vip-blue);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}
.vip-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#333}
.vip-file-meta{font-size:12px;color:#98a2ac;flex:none}
.vip-file-dl{flex:none;background:var(--vip-blue);color:#fff;text-decoration:none;font-size:13px;padding:6px 16px;border-radius:6px}
.vip-file-dl:hover{background:#173a5c}
.vip-files-empty{padding:26px 0;text-align:center;color:#98a2ac;font-size:13px}
.vip-steps{list-style:none;margin:26px 0 0;padding:0;display:flex;gap:16px}
.vip-steps li{flex:1;background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px;padding:14px 16px;
  display:grid;grid-template-columns:26px auto;grid-template-rows:auto auto;column-gap:10px;row-gap:2px;align-items:center}
.vip-steps li b{grid-column:1;grid-row:1 / span 2;width:26px;height:26px;border-radius:50%;background:var(--vip-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px}
.vip-steps li .st{grid-column:2;grid-row:1;font-size:15px;font-weight:600;color:var(--vip-blue);white-space:nowrap}
.vip-steps li i{grid-column:2;grid-row:2;font-style:normal;font-size:12px;color:#8a94a0;font-weight:400;line-height:1.5}
.vip-doc{background:#fff;border:1px solid #e5eaf0;border-radius:10px;padding:26px 30px;margin-bottom:24px;font-size:14px;line-height:1.9;color:#3d4650}
.vip-doc h3{font-size:17px;color:var(--vip-blue);margin:22px 0 10px}
.vip-doc h3:first-child{margin-top:0}
.vip-doc table{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:13px}
.vip-doc th,.vip-doc td{border:1px solid #dde4ec;padding:8px 12px;text-align:left}
.vip-doc th{background:#f2f6fa;color:var(--vip-blue)}
.vip-doc ul,.vip-doc ol{padding-left:24px;margin:0 0 14px}
.vip-doc ul{list-style:disc outside}
.vip-doc ol{list-style:decimal outside}
.vip-doc ul li{list-style:disc outside}
.vip-doc ol li{list-style:decimal outside}
.vip-doc li{margin-bottom:6px}
.vip-faq{background:#fff;border:1px solid #e5eaf0;border-radius:10px;padding:22px 30px;margin-bottom:24px}
.vip-faq h3{margin:0 0 14px;font-size:17px;color:var(--vip-blue)}
.vip-faq details{border-bottom:1px solid #eef1f5;padding:12px 0}
.vip-faq details:last-child{border-bottom:0}
.vip-faq summary{cursor:pointer;font-weight:600;font-size:14px;color:#333}
.vip-faq details p{margin:10px 0 0;font-size:13px;color:#5a6570;line-height:1.8}
@media (max-width:768px){
  .vip-tool{padding:20px 16px}
  .vip-qrs{justify-content:center}
  .vip-form{flex-direction:column}
  .vip-steps{flex-direction:column}
}
