/* ============================================================
   鑫掌门 V3.0 移动端 · 设计系统 (大厂商家App级)
   设计令牌 / 组件库 / 响应式 / 无障碍
   ============================================================ */
.h5-badge{display:inline-block;font-size:9px;background:var(--brand-soft);color:var(--brand);border-radius:3px;padding:0 4px;line-height:16px;vertical-align:middle;margin-left:2px}
.fnav .h5-badge{display:none}
:root{
  /* 品牌色 */
  --brand:#2b5cff; --brand-2:#16256b; --brand-3:#2347ff; --brand-soft:#eef3ff;
  /* 等级/财富色 */
  --gold:#caa24a; --gold-2:#e6c069;
  /* 中性 */
  --bg:#f4f6fb; --card:#ffffff;
  --text:#16181d; --sub:#8a90a0; --line:#eceef4; --line-2:#f1f3f8;
  /* 呼叫/联系色 */
  --call:#16b364; --call-soft:#e9f9f0;
  /* 语义色 */
  --success:#16b364; --success-soft:#e7f8ef;
  --warn:#f5a623;   --warn-soft:#fdf3e0;
  --danger:#f5465c; --danger-soft:#fdeaec;
  --error:#f5465c; /* 兼容别名 */
  --purple:#7b5cff; --purple-soft:#f1ecff;
  /* 尺度 */
  --radius:16px; --radius-lg:22px;
  --shadow:0 6px 20px rgba(22,37,107,.06);
  --shadow-lg:0 14px 34px rgba(22,37,107,.12);
  --t-fast:150ms ease;
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.hidden{display:none!important}
svg{display:block}
.ic{display:inline-block;vertical-align:middle;flex:none}

/* ---- 表单 ---- */
input,select,textarea{font-family:inherit;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;width:100%;font-size:15px;outline:none;background:#fff;color:var(--text);transition:border-color .2s,box-shadow .2s}
input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(43,92,255,.12)}
.btn{background:linear-gradient(135deg,var(--brand-3),#1f49e0);color:#fff;border:0;border-radius:12px;padding:14px;width:100%;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(43,92,255,.28);transition:transform .12s,box-shadow .2s,opacity .2s}
.btn:active{transform:translateY(1px) scale(.99);opacity:.92}
.btn-ghost{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px;color:var(--brand);font-size:14px;cursor:pointer;font-weight:600;transition:background .15s}
.btn-ghost:active{background:var(--brand-soft)}

/* ---- 通用卡片 / 区块标题 ---- */
.card{background:var(--card);border-radius:var(--radius);padding:18px;margin:14px 14px 0;box-shadow:var(--shadow);position:relative;content-visibility:auto;contain-intrinsic-size:auto 200px}
.card h3{font-size:15px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px;color:var(--text)}
.sec{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text);margin:4px 14px 0}
.sec::before{content:"";width:4px;height:15px;border-radius:3px;background:linear-gradient(var(--brand-3),var(--brand-2))}

/* ============================================================
   登录
   ============================================================ */
.login{position:fixed;inset:0;background:linear-gradient(160deg,#2347ff 0%,#16256b 58%,#0c1640 100%);display:flex;flex-direction:column;overflow:hidden}
.login::after{content:"";position:absolute;top:-15%;right:-25%;width:75%;height:42%;background:radial-gradient(circle,rgba(255,255,255,.20),transparent 70%);filter:blur(8px);pointer-events:none}
.login-head{flex:0 0 auto;padding:calc(60px + var(--safe-t)) 28px 22px;color:#fff;text-align:center;position:relative;z-index:1}
.login-logo{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:inline-flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;margin-bottom:14px;border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 24px rgba(0,0,0,.18);overflow:hidden;padding:0}
.login-logo img{width:100%;height:100%;display:block;object-fit:cover}
.login-title{font-size:25px;font-weight:800;letter-spacing:.5px}
.login-sub{opacity:.82;margin-top:6px;font-size:13px}
.login-card{flex:1;background:#fff;border-radius:26px 26px 0 0;margin-top:auto;padding:30px 24px calc(34px + var(--safe-b));box-shadow:0 -12px 40px rgba(0,0,0,.22);position:relative;z-index:1}
.li{position:relative;margin-bottom:14px}
.li-ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--sub);display:flex}
.li input{padding-left:42px;background:var(--line-2)}
/* 实名认证-展业区域下拉：去掉原生浏览器小箭头，自绘干净箭头 */
.rn-sel{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2399a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 14px center;background-size:14px;padding-right:36px;cursor:pointer}
.rn-sel:focus{background-color:#fff}
.login-card .btn{margin-top:6px}
.msg{color:var(--danger);text-align:center;min-height:18px;font-size:13px;margin-top:10px}
.hint{margin-top:16px;color:var(--sub);font-size:12px;text-align:center;line-height:1.7}

/* ============================================================
   主框架
   ============================================================ */
.app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg)}
.topbar{position:sticky;top:0;z-index:20;height:54px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:17px;font-weight:800;color:var(--text)}
.back-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:8px;flex-shrink:0;margin-right:4px;padding:0;transition:background .15s}
.back-btn.show{display:flex}
.back-btn:active{background:var(--brand-soft)}
.badge{background:var(--brand-soft);color:var(--brand);padding:4px 12px;border-radius:14px;font-size:12px;font-weight:700;white-space:nowrap}
.view{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(86px + var(--safe-b))}

/* ---- 下拉刷新（页内刷新，绝不整页重载）----
   overscroll-behavior-y:contain 关掉 WebView / 浏览器自带的「整页下拉刷新」
   与边缘回弹 —— 那是另一条会白屏重载（用户误以为闪退重进）的路径。
   页内下拉刷新由 initPullToRefresh() 接管，指示器 .ptr 浮在顶栏与内容区之间。 */
html,body{overscroll-behavior-y:contain}
.view{overscroll-behavior-y:contain}
.ptr{position:relative;height:0;flex:0 0 0;z-index:6;pointer-events:none}
.ptr-in{position:absolute;left:50%;top:0;display:flex;align-items:center;gap:6px;height:34px;
  padding:0 15px;border-radius:17px;background:var(--card);border:1px solid var(--line-2);
  box-shadow:0 6px 18px rgba(22,37,107,.14);color:var(--sub);font-size:12.5px;font-weight:600;
  white-space:nowrap;opacity:0;transform:translate(-50%,-34px)}
.ptr-ic{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--brand)}
.ptr-spin{display:block;width:15px;height:15px;border-radius:50%;
  border:2px solid var(--line);border-top-color:var(--brand);animation:ptrspin .7s linear infinite}
@keyframes ptrspin{to{transform:rotate(360deg)}}
.view::-webkit-scrollbar{width:0}

/* 底栏 */
.tabbar{position:sticky;bottom:0;display:flex;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:7px 0 calc(7px + var(--safe-b));z-index:30}
.tab{flex:1;text-align:center;color:var(--sub);font-size:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;transition:color .2s}
.tab .ico{width:24px;height:24px}
.tab svg{transition:transform .2s}
.tab.active{color:var(--brand)}
.tab.active svg{transform:translateY(-1px) scale(1.1)}
.tab.active::before{content:"";position:absolute;top:0;width:24px;height:3px;border-radius:0 0 3px 3px;background:var(--brand)}

/* 等级徽章 */
.lv-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:20px;padding:0 8px;border-radius:10px;font-size:12px;font-weight:800;line-height:1}
.lv-blue{color:var(--brand);background:var(--brand-soft)}
.lv-purple{color:var(--purple);background:var(--purple-soft)}
.lv-super{color:#1a1408;background:linear-gradient(135deg,var(--gold-2),var(--gold));box-shadow:0 2px 8px rgba(202,162,74,.35)}
/* 交易等级 L1-L6 阶梯紧凑配色（小徽章 lv-badge 基底） */
.lv-1{color:#0d9488;background:#d8f3f0}
.lv-2{color:#2563eb;background:#dbeafe}
.lv-3{color:#4f46e5;background:#e0e7ff}
.lv-4{color:#7c3aed;background:#ede9fe}
.lv-5{color:#c026a3;background:#fce7f3}
.lv-6{color:#9a6a00;background:#fdf2d4}
/* 职称荣誉徽章：勋章 + 职称，每级专属渐变质感 */
.lv-honor{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px 0 6px;border-radius:14px;font-weight:800;font-size:13px;color:#fff;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.10);white-space:nowrap;vertical-align:middle}
.lv-honor .lv-medal{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.28);font-style:normal;font-size:12px;font-weight:800}
.lv-honor .lv-title{letter-spacing:.5px}
.lv-honor.lv-1{background:linear-gradient(135deg,#14b8a6,#0d9488)}
.lv-honor.lv-2{background:linear-gradient(135deg,#3b82f6,#2563eb)}
.lv-honor.lv-3{background:linear-gradient(135deg,#6366f1,#4f46e5)}
.lv-honor.lv-4{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}
.lv-honor.lv-5{background:linear-gradient(135deg,#db2777,#c026a3)}
.lv-honor.lv-6{background:linear-gradient(135deg,#e0b341,#b8860b);box-shadow:0 3px 12px rgba(184,134,11,.42)}
.lv-honor.lv-super{background:linear-gradient(135deg,var(--gold-2),var(--gold));box-shadow:0 3px 12px rgba(202,162,74,.42);color:#1a1408}
.lv-honor.lv-builder{background:linear-gradient(135deg,#0ea5e9,#0369a1);box-shadow:0 3px 10px rgba(3,105,161,.34)}
.role-tag{display:inline-flex;align-items:center;margin-left:8px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0ea5e9,#0369a1);box-shadow:0 2px 8px rgba(3,105,161,.3);vertical-align:middle}

/* ============================================================
   Hero 头图
   ============================================================ */
.hero{margin:14px 14px 0;border-radius:var(--radius-lg);padding:20px 20px 22px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--brand-3) 0%,var(--brand) 45%,var(--brand-2) 100%);box-shadow:0 14px 30px rgba(43,92,255,.28)}
.hero::after{content:"";position:absolute;right:-30px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}
.hero-top{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}
.hero-hi{font-size:14px;opacity:.85}
.hero-name{font-size:20px;font-weight:800;margin-top:2px;display:flex;align-items:center;gap:8px}
.hero-avatar{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;flex:none}
.hero-metric{margin-top:18px;position:relative;z-index:1}
.hero-label{font-size:12.5px;opacity:.82}
.hero-num{font-size:32px;font-weight:800;margin-top:4px;letter-spacing:.3px}
.hero-sub{font-size:12px;opacity:.7;margin-top:6px}
/* 首页 Hero 直营/团队交易量拆分 */
.hero-split{display:flex;align-items:stretch;margin-top:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:10px 6px;backdrop-filter:blur(2px)}
.hero-split .hs-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2px 4px}
.hero-split .hs-lbl{font-size:11px;opacity:.85;margin-bottom:4px;white-space:nowrap}
.hero-split .hs-val{font-size:16px;font-weight:800;color:#fff;letter-spacing:.2px}
.hero-split .hs-sep{width:1px;background:rgba(255,255,255,.28);margin:4px 0}
.hero-split .hs-item{cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}
.hero-split .hs-item:active{background:rgba(255,255,255,.22)}
.hero-split .hs-go{margin-top:6px;font-size:11px;font-weight:600;color:#fff;opacity:.92;white-space:nowrap}

/* 浮起数据卡 */
.float-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:-18px 14px 0;position:relative;z-index:2}
.fcard{background:#fff;border-radius:14px;padding:14px 10px;box-shadow:var(--shadow-lg);text-align:center}
.fic{color:var(--brand);display:flex;justify-content:center;margin-bottom:6px}
.fnum{font-size:17px;font-weight:800;color:var(--text)}
.flbl{font-size:12px;color:var(--sub);margin-top:2px}

/* 首页轮播图（今日交易-商户量-代理数 下方） */
.banner-slot{margin:14px 14px 0}
.banner{position:relative;border-radius:14px;overflow:hidden;background:#eef1f7;box-shadow:var(--shadow)}
.banner-track{display:flex;transition:transform .45s ease;width:100%}
.banner-slide{flex:0 0 100%;position:relative;width:100%;padding-top:56.25%;cursor:pointer;overflow:hidden}
.banner-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.banner-cap{position:absolute;left:12px;bottom:12px;right:12px;color:#fff;font-size:13px;font-weight:600;line-height:1.4;text-shadow:0 1px 5px rgba(0,0,0,.55)}
.banner-cap::before{content:"";position:absolute;left:-12px;right:-12px;bottom:-12px;height:48px;background:linear-gradient(transparent,rgba(0,0,0,.5));z-index:-1;border-bottom-left-radius:14px;border-bottom-right-radius:14px}
.banner-dots{position:absolute;right:12px;bottom:12px;display:flex;gap:5px;z-index:2}
.banner-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:all .25s}
.banner-dots i.on{background:#fff;width:16px;border-radius:3px}

/* 快捷入口 */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 14px 0}
.q{background:#fff;border-radius:14px;padding:14px 6px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;transition:transform .12s,box-shadow .2s}
.q:active{transform:translateY(1px);box-shadow:var(--shadow-lg)}
.q .ic{color:var(--brand);background:var(--brand-soft);width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center}
.q span{font-size:12.5px;font-weight:600;color:var(--text)}

/* 图表卡 */
.chart-card{margin:14px 14px 0}
.chart-wrap{position:relative;width:100%}
.chart-wrap canvas{width:100%!important}

/* ============================================================
   进件中心
   ============================================================ */
/* 通道品牌调色板：每个通道固定一个稳定品牌色，logo 加载失败时填色块 + 首字 */
.ch-logo.ch-star{background:linear-gradient(135deg,#ffe082,#ffb74d);color:#fff}
.ch-logo.ch-huifu{background:linear-gradient(135deg,#1677ff,#0d47a1);color:#fff}
.ch-logo.ch-lakala{background:linear-gradient(135deg,#ff4d4f,#c62828);color:#fff}
.ch-logo.ch-sheng{background:linear-gradient(135deg,#13c2c2,#00695c);color:#fff}
.ch-logo.ch-leshua{background:linear-gradient(135deg,#722ed1,#39145a);color:#fff}
.ch-logo.ch-suixing{background:linear-gradient(135deg,#fa8c16,#ad4e00);color:#fff}
.ch-logo.ch-huilaimi{background:linear-gradient(135deg,#52c41a,#237804);color:#fff}
.ch-logo.ch-fallback{background:linear-gradient(135deg,#5b6b8c,#2b3a55);color:#fff}

/* 三列网格 + 上下结构：图标在上，名称在下 */
.ch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ch-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--line-2);border:1px solid transparent;border-radius:14px;padding:14px 8px;cursor:pointer;transition:border-color .15s,background .15s,transform .12s;min-height:118px;justify-content:center}
.ch-card:active{transform:scale(.96);border-color:var(--brand);background:var(--brand-soft)}
.ch-card .ch-logo{width:54px;height:54px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;font-weight:800;font-size:20px;letter-spacing:-.5px;box-shadow:0 4px 10px rgba(20,30,60,.08)}
.ch-card .ch-logo img{width:100%;height:100%;border-radius:14px;object-fit:cover;background:#fff}
.ch-card .ch-logo svg{display:none;width:24px;height:24px;color:#fff}
.ch-card .ch-logo.no img{display:none}
.ch-card .ch-logo.no svg{display:block;color:#fff}
.ch-card .ch-logo-text{font-size:22px;color:#fff;font-weight:800;line-height:1}
.ch-name{font-size:13px;font-weight:700;line-height:1.25;text-align:center;color:var(--text);width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 品牌进件开关关闭（中台置 onboard_enabled=0）：灰化 + 「建设中」角标，点击只提示不进入向导 */
.ch-card-off{background:var(--line-2);border-color:transparent;cursor:default;position:relative;opacity:.72}
.ch-card-off:active{transform:none;border-color:transparent;background:var(--line-2)}
.ch-card-off .ch-logo{filter:grayscale(1);opacity:.75}
.ch-card-off .ch-name{color:var(--sub)}
.ch-badge{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;line-height:16px;padding:0 6px;border-radius:8px;background:#ff8a3d;color:#fff;letter-spacing:.2px}
.h5-badge{font-size:9px;background:var(--brand-soft);color:var(--brand);border-radius:3px;padding:0 4px;line-height:14px;vertical-align:middle;margin-left:3px;display:inline-block}
.onb-policy{display:flex;align-items:center;gap:12px;padding:14px;background:linear-gradient(135deg,#f2f5ff,#eaf0ff);border-radius:12px;cursor:pointer;transition:transform .12s,box-shadow .15s}
.onb-policy:active{transform:scale(.98);box-shadow:0 4px 14px rgba(60,80,180,.18)}
.onb-policy-ic{width:42px;height:42px;border-radius:11px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none}
.onb-policy-main{flex:1;min-width:0}
.onb-policy-t{font-size:14.5px;font-weight:700;color:var(--text);line-height:1.25}
.onb-policy-s{font-size:12px;color:var(--sub);margin-top:4px;line-height:1.3}
.onb-policy-chev{color:var(--sub);flex:none;display:inline-flex}

/* chip 用的 ch-logo（在交易筛选 chip 里继续走横向）：保持小尺寸 */
.ch-card .h5-badge{display:none}
.ch-card:hover.has-h5 .ch-name::after{content:""}
.ch-cname{font-size:13px;font-weight:700;flex:1;line-height:1.3;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.mch{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2)}
.mch:last-child{border-bottom:0;padding-bottom:0}
.mch:first-child{padding-top:0}
.mch-ic{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
.mch-main{flex:1;min-width:0}
.mch-name{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mch-sub{font-size:12px;color:var(--sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mch-btn{padding:8px 14px;flex:none}
.mch-chs{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.mch-btns{display:flex;flex-direction:column;gap:6px;flex:none}

/* 一键复用渠道选择器 */
.reuse-ch-list{display:flex;flex-direction:column;gap:8px}
.reuse-ch{display:flex;align-items:center;gap:12px;padding:12px;border:1.5px solid var(--line-2);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,transform .12s}
.reuse-ch:active{transform:scale(.98);border-color:var(--brand);background:var(--brand-soft)}
.reuse-ch-info{flex:1;min-width:0}
.reuse-ch-name{font-size:14.5px;font-weight:700;color:var(--text)}
.reuse-ch-tip{font-size:12px;color:var(--sub);margin-top:2px}
.reuse-ch-go{color:var(--sub);flex:none}
.reuse-prefill{background:var(--bg-2);border-radius:10px;padding:2px 14px;margin-bottom:10px}
.reuse-info{font-size:12.5px;color:var(--brand);background:var(--brand-soft);border-radius:8px;padding:8px 12px;margin-bottom:12px}
/* 复用进件：已复用影像资料网格（文字+图片全部一键复用可视化） */
.reuse-imgs{background:var(--bg-2);border:1px dashed var(--brand);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.reuse-imgs-h{font-size:12.5px;font-weight:700;color:var(--brand);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.reuse-imgs-h::before{content:"";width:6px;height:14px;border-radius:3px;background:var(--brand)}
.reuse-thumb{position:relative;background:#fff;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;aspect-ratio:1/1;display:flex;align-items:flex-end}
.reuse-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reuse-thumb span{position:relative;z-index:1;width:100%;font-size:10.5px;line-height:1.2;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.62));padding:10px 6px 5px;text-align:center}
.arc-ch-title{font-size:13px;font-weight:700;color:var(--sub);margin:14px 0 4px}

/* ============================================================
   物料商城
   ============================================================ */
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 14px 0}
.pcard{background:#fff;border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .12s,box-shadow .2s}
.pcard:active{transform:translateY(1px);box-shadow:var(--shadow-lg)}
.pimg{width:100%;height:150px;border-radius:12px;background:linear-gradient(135deg,var(--brand-soft),#fff);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:10px;overflow:hidden}
.pname{font-size:14px;font-weight:700;line-height:1.35}
.pcat{font-size:11.5px;color:var(--sub);margin-top:3px}
.prow{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:6px}
/* 物料商城商品卡片：库存信息改为「金额」正下方垂直排列，避免窄屏下库存药丸被挤出卡片边界 */
.prow.prow-stack{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;margin-top:10px}
.prow.prow-stack .pprice{width:100%}
.prow.prow-stack .pill{white-space:nowrap}
.pprice{font-size:16px;font-weight:800;color:var(--danger)}
.pprice small{font-size:11px;font-weight:600}

/* 状态药丸 */
.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:11px;font-size:11.5px;font-weight:700;white-space:nowrap}
.pill.ok{background:var(--success-soft);color:var(--success)}
.pill.no{background:var(--warn-soft);color:#b9781a}
.pill.info{background:var(--brand-soft);color:var(--brand)}

/* ============================================================
   我的资产
   ============================================================ */
.hero-asset{background:linear-gradient(135deg,#1a2b66 0%,#16256b 55%,#0c1640 100%)}
.accts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 14px 0}
.acct{background:#fff;border-radius:14px;padding:14px 12px;box-shadow:var(--shadow)}
.acct-top{font-size:12px;color:var(--sub);display:flex;align-items:center;gap:6px}
.acct-dot{width:8px;height:8px;border-radius:50%;flex:none}
.acct-dot.d{background:var(--brand)}
.acct-dot.m{background:var(--purple)}
.acct-dot.r{background:var(--gold)}
.acct-num{font-size:18px;font-weight:800;margin-top:8px;color:var(--text);word-break:break-all}

/* 提现记录行 */
.wd-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line-2)}
.wd-row:last-child{border-bottom:0}
.wd-row .wk{font-size:13.5px;font-weight:600}
.wd-row .wv{font-size:14.5px;font-weight:800}

/* ============================================================
   个人中心
   ============================================================ */
.profile{display:flex;align-items:center;gap:14px;margin:14px 14px 0;background:linear-gradient(135deg,var(--brand-3),var(--brand-2));border-radius:var(--radius-lg);padding:20px;color:#fff;box-shadow:0 12px 26px rgba(43,92,255,.26)}
.p-avatar{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;flex:none;color:#fff;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3)}
.p-avatar.lv-super{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#1a1408}
.p-avatar.lv-purple{background:var(--purple)}
.p-avatar.lv-1{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}
.p-avatar.lv-2{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}
.p-avatar.lv-3{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}
.p-avatar.lv-4{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}
.p-avatar.lv-5{background:linear-gradient(135deg,#db2777,#c026a3);color:#fff}
.p-avatar.lv-6{background:linear-gradient(135deg,#e0b341,#b8860b);color:#fff}
.p-info{flex:1;min-width:0}
.p-name{font-size:19px;font-weight:800;display:flex;align-items:center;gap:8px}
.p-name .lv-badge{background:rgba(255,255,255,.22);color:#fff}
.p-no{font-size:12.5px;opacity:.8;margin-top:5px}

.mrow{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line-2)}
.mrow:last-child{border-bottom:0;padding-bottom:0}
.mrow:first-child{padding-top:0}
.mk{display:flex;align-items:center;gap:9px;color:var(--sub);font-size:14px}
.mk .ic{color:var(--brand)}
.mv{font-size:14.5px;font-weight:700;color:var(--text)}
.mrow.sub{cursor:pointer;transition:background var(--t-fast),padding var(--t-fast)}
.mrow.sub:active{background:var(--line-2)}
.mrow.sub:hover{background:var(--line-2)}
.update-row{display:flex;align-items:center;gap:10px;padding:14px 0 2px}
.upd-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand-2),var(--brand));border:none;border-radius:11px;padding:9px 15px;cursor:pointer;transition:transform .15s var(--t-fast),opacity .15s var(--t-fast);box-shadow:0 4px 14px rgba(37,99,235,.28)}
.upd-btn:active{transform:scale(.97)}
.upd-btn:disabled{opacity:.6;cursor:default;transform:none}
.update-status{font-size:13px;color:var(--sub)}
.ms{color:var(--text);font-size:14.5px;font-weight:600}
.mrow.sub .mchev{margin-left:8px}

.menu{margin:14px 14px 0;padding:6px 18px}
.mitem{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:600;cursor:pointer}
.mitem:last-child{border-bottom:0}
.mitem .ic{color:var(--brand)}
.mchev{margin-left:auto;color:var(--sub);display:flex}
.logout{margin:14px 14px 0;width:calc(100% - 28px);color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}
.logout:active{background:#fbdde1}

/* ============================================================
   弹窗 / Toast / 骨架屏
   ============================================================ */
.modal-mask{position:fixed;inset:0;background:rgba(10,16,40,.5);backdrop-filter:blur(2px);display:flex;align-items:flex-end;z-index:50;animation:fade .2s ease}
.modal{background:#fff;width:100%;border-radius:22px 22px 0 0;padding:22px 20px calc(22px + var(--safe-b));max-height:88vh;overflow:auto;animation:slide .26s cubic-bezier(.2,.8,.2,1)}
.modal h3{margin-bottom:18px;font-size:17px;font-weight:800}
/* 登录/首页更新提示弹窗 */
.xzm-update-notes{font-size:14px;color:var(--sub);line-height:1.6;margin-bottom:6px;white-space:pre-wrap}
.xzm-update-force{font-size:13px;color:#e23;font-weight:700;margin-bottom:4px}
/* 首页强弹窗通知 */
.xzm-popup-img{width:100%;border-radius:14px;overflow:hidden;margin-bottom:12px;background:#f3f5fb}
.xzm-popup-img img{width:100%;display:block}
.xzm-popup-content{font-size:14px;color:var(--text);line-height:1.7;white-space:normal;word-break:break-word}
/* 首页强弹窗通知：改为屏幕居中对话框，避免「我知道了」按钮被挤出可视区需上拉 */
.xzm-popup-mask{display:flex;align-items:center;justify-content:center;padding:24px}
.xzm-popup-modal{max-width:340px;width:100%;border-radius:18px;max-height:82vh;overflow:auto;animation:popin .22s ease;padding:22px 20px calc(20px + var(--safe-b))}
.xzm-popup-modal h3{font-size:17px;font-weight:800;margin-bottom:12px}
.xzm-popup-modal #ppClose{height:46px;font-size:15px;margin-top:4px}
@keyframes popin{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slide{from{transform:translateY(100%)}to{transform:translateY(0)}}
.field{margin-bottom:14px}
.field label{display:block;color:var(--sub);font-size:13px;margin-bottom:7px;font-weight:600}

.toast{position:fixed;top:calc(18px + var(--safe-t));left:50%;transform:translateX(-50%);background:rgba(22,24,29,.92);color:#fff;padding:11px 20px;border-radius:12px;z-index:99;font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);animation:fade .2s ease;max-width:80%;text-align:center}
.toast.err{background:rgba(245,70,92,.95)}

.sk-wrap{padding:14px}
.sk{background:linear-gradient(90deg,#eceef4 25%,#f6f8fc 37%,#eceef4 63%);background-size:400% 100%;animation:shimmer 1.3s infinite;border-radius:12px;margin-bottom:12px}
.sk-line{height:16px;width:55%}
.sk-card{height:120px}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}

/* 顶部加载进度条：板块切换即时反馈，消除"白屏"观感 */
#pbar{position:fixed;top:0;left:0;height:3px;width:0;z-index:9999;background:linear-gradient(90deg,#3b82f6,#22d3ee);opacity:0;transition:width .25s ease,opacity .2s;box-shadow:0 0 8px rgba(59,130,246,.6);pointer-events:none}
#pbar.on{opacity:1;width:78%}
#pbar.done{width:100%;opacity:0;transition:width .15s ease,opacity .35s ease .08s}

.empty{text-align:center;color:var(--sub);font-size:13px;padding:26px 0}
.empty .ic{color:var(--line);margin:0 auto 8px}

/* ── 进件草稿箱 ── */
.draft{display:flex;align-items:flex-start;gap:10px;background:var(--card);border-radius:13px;padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow)}
.draft-check{margin-top:13px;flex:0 0 auto}
.draft-check input{width:18px;height:18px;accent-color:var(--brand,#3b7cff)}
.draft-main{flex:1 1 auto;min-width:0}
.draft-name{font-size:15px;font-weight:700;color:var(--text)}
.draft-sub{font-size:12px;color:var(--sub);margin-top:2px}
.draft-prog{height:5px;background:var(--line,#eef1f6);border-radius:4px;margin:8px 0 6px;overflow:hidden}
.draft-prog-bar{height:100%;background:linear-gradient(90deg,#4f9bff,#3b7cff);border-radius:4px;transition:width .25s}
.draft-meta{font-size:11px;color:var(--sub)}
.draft-btns{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;margin-top:6px}
.draft-resume{background:linear-gradient(135deg,#4f9bff,#3b7cff);color:#fff;border:0;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.draft-resume:active{opacity:.9}
.draft-del{font-size:12px;padding:5px 12px}
.draft-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:10px;border-top:1px dashed var(--line,#eef1f6)}
.draft-all{font-size:13px;color:var(--text);display:flex;align-items:center;gap:6px;cursor:pointer}
.draft-all input{width:16px;height:16px;accent-color:var(--brand,#3b7cff)}
#draftDelSel{width:auto;padding:9px 16px;font-size:14px}

/* ============================================================
   管理页（代理商 / 商户）
   ============================================================ */
.scope-bar{display:flex;align-items:center;gap:8px;margin:14px 14px 0;color:var(--sub);font-size:13px;font-weight:600}
.scope-bar .pill{background:var(--brand-soft);color:var(--brand)}
.scope-period{margin-left:auto;color:var(--brand);font-weight:700}
.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 14px 0}
.tile{background:#fff;border-radius:14px;padding:14px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.tile .t-label{font-size:12.5px;color:var(--sub);font-weight:600}
.tile .t-val{font-size:19px;font-weight:800;margin-top:6px;color:var(--text)}
.tile .t-sub{font-size:11.5px;color:var(--sub);margin-top:3px}
.tile .t-ic{position:absolute;right:-8px;bottom:-8px;color:var(--line-2);opacity:.45}
.search{position:relative;margin:14px 14px 0}
.search .li-ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--sub);display:flex}
.search input{padding-left:40px;background:#fff}
.acard{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2)}
.acard:last-child{border-bottom:0;padding-bottom:0}
.acard:first-child{padding-top:0}
.acard-ic{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;flex:none}
.acard-main{flex:1;min-width:0}
.acard-name{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:7px}
.acard-sub{font-size:12px;color:var(--sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acard-flow{text-align:right;flex:none;min-width:84px}
.acard-tag{flex:none;align-self:center;margin-left:8px;border:1px solid var(--brand,#2b5cff);background:#eef3ff;color:var(--brand,#2b5cff);border-radius:9px;padding:6px 11px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.acard-tag:active{background:var(--brand,#2b5cff);color:#fff}
.acard-flow .f1{font-size:14.5px;font-weight:800;color:var(--brand)}
.acard-flow .f2{font-size:11.5px;color:var(--sub);margin-top:3px}

/* 联合收单政策（替代原办卡贷款入口） */
.uacard{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:14px;margin:10px 14px;box-shadow:0 1px 4px rgba(20,30,60,.05);cursor:pointer}
.uacard.off{opacity:.66}
.uacard-ic{width:40px;height:40px;border-radius:10px;background:#eef2ff;color:#2b5cff;display:flex;align-items:center;justify-content:center;flex:none}
.uacard-main{flex:1;min-width:0}
.uacard-name{font-size:15px;font-weight:600;color:#1a2233}
.uacard-s{font-size:12px;color:#6b7686;margin-top:2px}
.uacard-tag{flex:none;font-size:11px;padding:3px 9px;border-radius:20px;font-weight:600}
.uacard.on .uacard-tag{background:#e6f7ee;color:#16b364}
.uacard.off .uacard-tag{background:#f1f3f8;color:#9aa3b2}
/* 2026-09-04 新 — 银行政策查询卡片（新字段：活动状态 chip / 活动范围 / 有效期 / 补贴类型） */
.uacard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.uacard-status{flex:none;background:#eef2ff;color:#2b5cff;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}
.uacard-meta{font-size:12px;color:#6b7686;margin-top:3px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uacard-meta b{color:#1a2233;font-weight:600}
.uacard-foot{font-size:12px;color:#9aa3b2;margin-top:3px}
.uacard-subsidy{display:inline-block;background:#f1f3f8;color:#16b364;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600;margin-top:4px}
/* 银行政策查询筛选 chip 行（4 chip 横向滚动） */
.uafilter{display:flex;gap:10px;padding:10px 14px;background:#fff;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.uafilter::-webkit-scrollbar{display:none}
.uafilter-chip{flex:none;display:inline-flex;align-items:center;gap:4px;background:#f5f7fb;border-radius:18px;padding:7px 12px;font-size:13px;font-weight:600;color:var(--sub);cursor:pointer;border:1px solid transparent;transition:.15s}
.uafilter-chip.on{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}
.uafilter-chip .caret{transition:transform .2s}
.uafilter-chip.on .caret{transform:rotate(180deg)}
/* 银行政策查询 sheet 列表项 */
.uasheet-title{font-size:17px;font-weight:800;text-align:center;margin-bottom:14px}
.uasheet-search{display:flex;align-items:center;gap:8px;background:#f5f7fb;border-radius:10px;padding:8px 12px;margin-bottom:10px}
.uasheet-search input{flex:1;background:none;border:none;outline:none;font-size:14px;color:var(--text)}
.uasheet-list{max-height:50vh;overflow-y:auto}
.uasheet-item{display:flex;align-items:center;justify-content:space-between;padding:13px 4px;border-bottom:1px solid #f1f3f8;font-size:14.5px;cursor:pointer}
.uasheet-item.on{color:var(--brand);font-weight:600}
.uasheet-item:last-child{border-bottom:none}
.uasheet-section-title{font-size:13px;color:var(--sub);font-weight:600;margin:14px 0 8px}
.uachip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.ua-imgs{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.ua-img{width:100%;border-radius:10px;display:block}
.ua-content{font-size:14px;line-height:1.7;color:#33405a}

/* === 2026-09-04 改造：银行政策查询页 (银行活动→银行政策查询) — 4 chip + 4 sheet + 新卡片 === */
/* 4 chip 筛选行（4 个均分） */
.ua-filter-bar{display:flex;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.ua-filter-bar .ua-fc{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 0;font-size:14px;font-weight:600;color:#1a2233;cursor:pointer;position:relative;user-select:none}
.ua-filter-bar .ua-fc:not(:last-child)::after{content:"";position:absolute;right:0;top:30%;height:40%;width:1px;background:var(--line)}
.ua-filter-bar .ua-fc.on{color:var(--brand)}
.ua-filter-bar .ua-fc .caret{transition:transform .2s;color:var(--sub)}
.ua-filter-bar .ua-fc.on .caret{transform:rotate(180deg);color:var(--brand)}
.ua-filter-bar .ua-fc .badge{background:var(--brand);color:#fff;font-size:10px;line-height:1;padding:2px 5px;border-radius:8px;margin-left:2px}
/* 银行政策卡片 V2：浅灰底 + 活动状态 chip 右上 + 活动范围 + 有效期 + 报名状态 */
.ua-card-v2{background:#f5f6f8;border-radius:12px;padding:14px 16px;margin:10px 14px;cursor:pointer;transition:transform .12s;position:relative}
.ua-card-v2:active{transform:scale(.99)}
.ua-card-v2 .ua-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ua-card-v2 .ua-card-title{font-size:15px;font-weight:700;color:#1a2233;line-height:1.35;flex:1;min-width:0}
.ua-card-v2 .ua-card-status{flex:none;font-size:12px;font-weight:600;padding:3px 9px;border-radius:14px;white-space:nowrap;background:#e6f0ff;color:#2b5cff}
.ua-card-v2 .ua-card-status.s-new{background:#e6f0ff;color:#2b5cff}            /* 新活动 */
.ua-card-v2 .ua-card-status.s-upd{background:#fff1e6;color:#ff7a00}            /* 活动更新 */
.ua-card-v2 .ua-card-status.s-soon{background:#e8f7ef;color:#16b364}           /* 即将开始 */
.ua-card-v2 .ua-card-status.s-end{background:#f1f3f8;color:#9aa3b2}            /* 已结束 */
.ua-card-v2 .ua-card-meta{font-size:12.5px;color:#6b7686;margin-top:8px;line-height:1.5}
.ua-card-v2 .ua-card-meta .meta-k{color:#1a2233;font-weight:600}
.ua-card-v2 .ua-card-meta .meta-sep{color:#c5cad3;margin:0 6px}
.ua-card-v2 .ua-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px dashed #e2e5eb}
.ua-card-v2 .ua-card-foot .ua-sub-tag{font-size:11px;color:#16b364;background:#e8f7ef;border-radius:8px;padding:2px 7px}
.ua-card-v2 .ua-card-foot .ua-signup-pill{font-size:11px;color:#6b7686}
.ua-card-v2 .ua-card-foot .ua-signup-pill.ok{color:#16b364;background:#e8f7ef;border-radius:10px;padding:2px 8px;font-weight:600}
.ua-card-v2 .ua-card-foot .ua-signup-pill.fail{color:#ff4d4f;background:#fff1f0;border-radius:10px;padding:2px 8px;font-weight:600}
.ua-card-v2 .ua-card-foot .ua-signup-btn{font-size:12px;background:var(--brand);color:#fff;border:none;padding:6px 14px;border-radius:14px;font-weight:600;cursor:pointer}
.ua-card-v2 .ua-card-foot .ua-signup-btn:disabled{background:#d8dde6;cursor:default}
/* 底部 sheet 动画 */
.ua-sheet-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}
.ua-sheet-mask.open{opacity:1;pointer-events:auto}
.ua-sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:18px 18px 0 0;z-index:201;transform:translateY(100%);transition:transform .25s cubic-bezier(.32,.72,.27,1);max-height:80vh;display:flex;flex-direction:column}
.ua-sheet.open{transform:translateY(0)}
.ua-sheet .ua-sheet-head{display:flex;align-items:center;justify-content:center;position:relative;padding:14px 16px;border-bottom:1px solid var(--line);flex:none}
.ua-sheet .ua-sheet-head .ua-sheet-title{font-size:16px;font-weight:700;color:#1a2233}
.ua-sheet .ua-sheet-head .ua-sheet-close{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#9aa3b2;font-size:20px;line-height:1;cursor:pointer}
.ua-sheet .ua-sheet-body{padding:6px 18px 18px;overflow-y:auto;flex:1}
.ua-sheet .ua-sheet-foot{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--line);background:#fff;flex:none}
.ua-sheet .ua-sheet-foot button{flex:1;padding:11px 0;border-radius:22px;font-size:14px;font-weight:700;border:none;cursor:pointer}
.ua-sheet .ua-sheet-foot .ua-reset{background:#f5f7fb;color:#6b7686}
.ua-sheet .ua-sheet-foot .ua-confirm{background:linear-gradient(135deg,#ff7a00,#ff5500);color:#fff}
/* sheet 列表项（单选） */
.ua-slist-item{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;font-size:15px;color:#1a2233;cursor:pointer;border-bottom:1px solid #f1f3f8}
.ua-slist-item:last-child{border-bottom:none}
.ua-slist-item.on{color:var(--brand);font-weight:700}
.ua-slist-item .ua-check{color:var(--brand);font-size:18px;display:none}
.ua-slist-item.on .ua-check{display:inline}
/* sheet 子 chip（更新时间/补贴类型） */
.ua-subchip{display:inline-flex;align-items:center;padding:7px 14px;border-radius:18px;font-size:13px;font-weight:600;background:#f5f7fb;color:#6b7686;cursor:pointer;border:1px solid transparent;transition:.12s}
.ua-subchip.on{background:linear-gradient(135deg,#ff7a00,#ff5500);color:#fff}


/* ============================================================
   分享推广（海报 + 链接）
   ============================================================ */
.poster-wrap{margin:12px 14px 0;background:#fff;border-radius:16px;padding:14px;box-shadow:var(--shadow);text-align:center}
.poster-hint{font-size:12.5px;color:var(--sub);margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}
.poster-stage{overflow:hidden;touch-action:pan-y;border-radius:12px;cursor:grab;user-select:none}
.poster-track{display:flex;transition:transform .35s cubic-bezier(.2,.7,.2,1);will-change:transform}
.poster-slide{flex:0 0 100%;position:relative;padding:0 4px;box-sizing:border-box}
.poster-tag{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:rgba(20,42,132,.78);color:#fff;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;letter-spacing:.5px}
.poster-loading{color:var(--sub);font-size:13px;padding:48px 0;min-height:220px;display:flex;align-items:center;justify-content:center}
.poster-img{width:100%;max-width:300px;max-height:520px;object-fit:contain;border-radius:12px;display:block;margin:0 auto;box-shadow:0 8px 22px rgba(20,42,132,.18);background:#f6f7fb}
.dots{display:inline-flex;gap:5px;margin-left:6px}
.dots .dot{width:7px;height:7px;border-radius:50%;background:var(--line-2);transition:.2s}
.dots .dot.on{width:18px;border-radius:4px;background:var(--brand)}
.share-acts{display:grid;gap:10px;margin:14px 14px 0}
.share-acts-4{grid-template-columns:repeat(4,1fr)}
.sbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:14px 4px;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;transition:.15s;box-shadow:0 2px 8px rgba(20,42,132,.06)}
.sbtn:active{transform:translateY(1px)}
.sbtn .ic-sq{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--c,var(--brand));box-shadow:0 4px 12px color-mix(in srgb, var(--c,var(--brand)) 35%, transparent)}
.sbtn .ic-sq svg{color:#fff}
.sbtn .ic{color:var(--brand);width:20px;height:20px}
.tip{font-size:12px;color:var(--sub);line-height:1.6;margin:12px 16px 0}

/* 代理授权书（按模板图：华丽蓝边 + 波浪防伪底纹 + 蓝色圆形logo + 服务商资格 + 黑色授权书 + 二维码 + 红章） */
.auth-wrap{
  position:relative;
  margin:12px 14px 0;
  width:100%;
  max-width:720px;
  margin-left:auto; margin-right:auto;
  background:linear-gradient(180deg,#eaf4fb 0%,#f5fafd 45%,#e6f1f8 100%);
  border-radius:6px;
  box-shadow:0 4px 14px rgba(13,58,92,.10);
  overflow:hidden;
  aspect-ratio: 750 / 1060;
}
.auth-bg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.auth-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:0 6%}
/* 顶部 圆形 logo */
.auth-logo{margin-top:9.5%;position:relative;z-index:1}
.auth-logo-ring{
  width:102px;height:102px;border-radius:50%;
  background:#fff;
  border:5px solid #1e88c4;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(30,136,196,.18);
  overflow:hidden;
  position:relative;
}
.auth-logo-img{width:92%;height:92%;object-fit:contain;border-radius:50%}
.auth-logo-ring.fallback::before{
  content:"";position:absolute;inset:14%;
  background:radial-gradient(circle at 50% 50%,#0d3a5c 0 6%,transparent 7%),
             conic-gradient(from 0deg,#0d3a5c 0 25%,transparent 25% 50%,#0d3a5c 50% 75%,transparent 75% 100%);
  border-radius:50%;opacity:.55;
}
/* 蓝色"服务商资格" */
.auth-subtitle{
  margin-top:12px;
  color:#0d3a5c;
  font-size:28px;font-weight:700;letter-spacing:4px;
  position:relative;z-index:1;
}
/* 装饰横线 + 菱形 */
.auth-divider{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin-top:5px;width:58%;max-width:360px;
  color:#1e88c4;position:relative;z-index:1;
}
.ad-line{flex:1;height:0;border-top:1.2px solid #1e88c4}
.ad-diamond{font-size:15px;line-height:1;color:#1e88c4}
.ad-diamond-2{color:#1e88c4;font-size:13px;opacity:.85}
/* 黑色"授权书"大标题 */
.auth-title{
  margin-top:16px;
  color:#111;font-size:48px;font-weight:800;letter-spacing:2px;
  position:relative;z-index:1;
}
/* 正文 */
.auth-body{
  margin-top:14px;width:100%;
  color:#1f2937;font-size:15.5px;line-height:1.72;text-align:justify;
  position:relative;z-index:1;
}
.auth-body p{margin:5px 0;text-indent:2em}
.auth-body p.auth-p1{text-indent:2em}
.auth-body p.auth-p1 b{font-size:18px;font-weight:800;color:#111;letter-spacing:1px}
/* 底部 */
.auth-foot{
  margin-top:auto;margin-bottom:8.5%;
  width:100%;
  display:flex;align-items:flex-end;justify-content:space-between;
  position:relative;z-index:1;
}
.auth-foot-left{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.auth-invite{display:flex;align-items:baseline;gap:0;font-size:13px}
.auth-invite-label{color:#e98c2b;font-weight:700;letter-spacing:.5px}
.auth-invite-code{color:#111;font-weight:800;font-size:18px;letter-spacing:1px}
.auth-qr{width:120px;height:120px;background:#fff;padding:5px;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.08);object-fit:contain}
.auth-foot-right{flex:1;display:flex;flex-direction:column;align-items:flex-end;gap:3px;position:relative}
.auth-co{font-size:13.5px;color:#111;font-weight:700;margin-bottom:-4px;position:relative;z-index:1;max-width:170px;text-align:right;line-height:1.3}
.auth-seal{width:100px;height:100px;position:relative;z-index:2;margin-top:-36px;margin-right:10px;transform:rotate(-5deg);opacity:.95}
.auth-date{font-size:13.5px;color:#111;font-weight:700;margin-right:8px;position:relative;z-index:1}


/* 授权书预览 = 保存图（Canvas 直出，所见即所得） */
.auth-preview-wrap{position:relative;margin:12px 14px 0;width:100%;max-width:720px;margin-left:auto;margin-right:auto;background:#eaf4fb;border-radius:6px;box-shadow:0 4px 14px rgba(13,58,92,.10);overflow:hidden;aspect-ratio:750/1060}
.auth-preview-img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain}
.auth-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:14px}

/* 兼容旧版（删除旧 .letter 样式以避免样式串扰） */
.letter,.letter-title,.letter-no,.letter-body,.letter-foot,.lf-left,.lf-co,.lf-date,.lf-parent,.lf-seal{display:none !important}
.lf-co{font-weight:700;font-size:15px;color:var(--text)}
.lf-date,.lf-parent{color:var(--sub);margin-top:6px;font-size:13px}

/* ============================================================
   登录页重制（性能优化 + 多方式 + 协议）
   ============================================================ */
.login-inner{position:absolute;inset:0;display:flex;flex-direction:column;z-index:1}
.login-head{padding:calc(54px + var(--safe-t)) 28px 18px;text-align:center}
.login-card{border-radius:26px 26px 0 0;margin-top:auto;padding:26px 22px calc(30px + var(--safe-b));box-shadow:0 -12px 40px rgba(0,0,0,.22);position:relative;z-index:1}
.login-card .btn{margin-top:8px}

/* 方式切换 Tab */
.lg-tabs{display:flex;gap:6px;background:var(--line-2);border-radius:12px;padding:4px;margin-bottom:20px}
.lg-tab{flex:1;text-align:center;padding:10px 0;font-size:14.5px;font-weight:700;color:var(--sub);border-radius:9px;cursor:pointer;user-select:none;transition:background .18s,color .18s,box-shadow .18s}
.lg-tab.active{background:#fff;color:var(--brand);box-shadow:var(--shadow)}
.lg-pane{animation:fade .2s ease}

/* 密码显隐 */
.li-pwd .li-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--sub);padding:6px;cursor:pointer;display:flex;line-height:0}
.li-pwd .li-eye:active{color:var(--brand)}
.li-pwd input{padding-right:42px}
.li-ic svg,.li-caret svg,.li-eye svg{width:20px;height:20px;flex:none}

/* 账号历史下拉 + 密码可见扩展 */
.li-acct input{padding-right:40px}
.li-acct .li-caret{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--sub);padding:6px;cursor:pointer;display:flex;line-height:0;transition:transform .2s}
.li-acct .li-caret.open{transform:translateY(-50%) rotate(180deg)}
.acct-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line-2);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);z-index:30;overflow:hidden;max-height:280px;overflow-y:auto}
.acct-head{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;font-size:12px;color:var(--sub);background:var(--line-2)}
.acct-tip{font-size:11px;opacity:.7}
.acct-item{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;border-top:1px solid var(--line-2)}
.acct-item:active{background:var(--line-2)}
.acct-av{width:34px;height:34px;border-radius:50%;background:var(--brand,#2b5cff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:none}
.acct-meta{flex:1;min-width:0}
.acct-id{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-nm{font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-del{background:none;border:0;color:#c2c2c2;font-size:15px;padding:6px 4px;cursor:pointer;line-height:1}
.acct-del:active{color:#e5484d}

/* 验证码输入行 */
.li-code{display:flex;gap:10px;align-items:stretch}
.li-code input{flex:1;padding-left:14px;background:var(--line-2)}
.btn-code{flex:none;padding:0 14px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:opacity var(--t-fast)}
.btn-code:disabled{opacity:.5;cursor:not-allowed}
.code-btn{flex:none;white-space:nowrap;background:var(--brand-soft);color:var(--brand);border:0;border-radius:12px;padding:0 14px;font-size:13.5px;font-weight:700;cursor:pointer;transition:opacity .15s}
.code-btn:disabled{opacity:.5;cursor:not-allowed}
.lg-btn{margin-top:4px}

/* 协议勾选 */
.lg-agree{margin-top:16px}
.agree-box{display:flex;align-items:flex-start;gap:9px;cursor:pointer}
.agree-box input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:var(--brand);cursor:pointer}
.agree-tx{font-size:12.5px;color:var(--sub);line-height:1.6}
.lnk{color:var(--brand);text-decoration:none;font-weight:600}

/* 其他登录方式 */
.lg-other{margin-top:22px}
.lg-other-t{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:12px;margin-bottom:14px}
.lg-other-t::before,.lg-other-t::after{content:"";flex:1;height:1px;background:var(--line-2)}
/* 微信登录独占一行（最常用入口）；本机号 / 指纹 并排两列居中协调 */
.oth-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.oth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;border:1.5px solid var(--line-2);border-radius:14px;padding:13px 8px;font-size:13.5px;font-weight:700;color:var(--text);cursor:pointer;transition:transform .12s,border-color .15s,background .15s;margin-bottom:10px}
.oth-btn:active{transform:translateY(1px)}
.oth-btn .ic{width:20px;height:20px}
.oth-one{border-color:rgba(43,92,255,.35);color:var(--brand);background:linear-gradient(135deg,#eef2ff,#e7edff);margin-bottom:0}
.oth-fp{color:#7b5cff;border-color:rgba(123,92,255,.3);background:linear-gradient(135deg,#f4eeff,#ece2ff);margin-bottom:0;font-size:13px}
.oth-fp svg{color:#7b5cff}

/* 协议底部抽屉 */
.agr-mask{position:absolute;inset:0;background:rgba(8,12,30,.5);z-index:20;display:flex;align-items:flex-end;animation:fade .2s ease}
.agr-sheet{width:100%;max-height:82%;background:#fff;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .25s ease}
.agr-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;border-bottom:1px solid var(--line-2);font-size:16px;font-weight:800;color:var(--text)}
.agr-x{background:none;border:0;font-size:18px;color:var(--sub);cursor:pointer;line-height:1;padding:4px}
.agr-body{overflow-y:auto;padding:16px 18px;-webkit-overflow-scrolling:touch;font-size:13.5px;line-height:1.85;color:#3a4156}
.agr-body h4{font-size:14px;margin:16px 0 6px;color:var(--text);font-weight:800}
.agr-body h4:first-child{margin-top:0}
.agr-body p{margin:0 0 9px}
.agr-body p.sub{margin:0 0 7px 1.1em;text-indent:-1.1em;color:#5a6378;font-size:13px;line-height:1.8}
.agr-body strong{color:var(--text);font-weight:700}
.agr-ok{margin:14px 18px 18px}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* 性能：减少非必要合成层，避免过度绘制 */
.lg-tab,.oth-btn,.code-btn,.btn{will-change:auto}

.lf-seal{width:104px;height:104px;flex:none;transform:rotate(-8deg)}

@media print{
  .topbar,.tabbar,.sec,.tip,.share-acts,.poster-wrap,.card,#printL{display:none!important}
  body{background:#fff}
  #view{padding:0!important}
  .letter{box-shadow:none;border:none;margin:0;max-width:680px}
}

/* ============================================================
   新增模块样式（交易 / 升级 / 消息 / 多通道 / 终端 / 学院 / 客服）
   主色保持品牌蓝 --brand 不变
   ============================================================ */

/* 快捷入口 6 宫格 */
.quick-6{grid-template-columns:repeat(3,1fr)}

/* 周期切换 / 筛选 chips */
.periods{display:flex;flex-wrap:wrap;gap:8px;margin:14px 14px 0}
.pd{flex:1 1 28%;min-width:84px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 0;font-size:13.5px;font-weight:600;color:var(--sub);cursor:pointer;transition:.15s}
.pd.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 14px rgba(43,92,255,.28)}
.chips{display:flex;gap:8px;margin:10px 14px 0;overflow-x:auto;padding-bottom:2px}
.chips::-webkit-scrollbar{height:0}
.chip{flex:none;background:#fff;border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--sub);cursor:pointer;white-space:nowrap;transition:.15s}
.chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}

/* 聚合汇总 mini 卡 */
.mini4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.mi .mi-v{font-size:15px;font-weight:800;color:var(--text)}
.mi .mi-l{font-size:11px;color:var(--sub);margin-top:3px}

/* 流水明细 */
.flow{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2);cursor:pointer}
.flow:last-child{border-bottom:0}
.flow-ic{width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
.flow-main{flex:1;min-width:0}
.flow-ch{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-sub{font-size:12px;color:var(--sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-pay{margin-top:3px;line-height:1}
.flow-time{font-size:11.5px;color:var(--sub);margin-top:3px}
.flow-amt{font-size:15px;font-weight:800;color:var(--text);flex:none}

/* 升级进度 */
.upcard{padding:16px 18px}
.up-head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.up-head .lv-badge{font-size:11px}
.up-next{margin-left:auto;font-size:12px;color:var(--sub);font-weight:600}
.up-bar{height:10px;background:var(--line-2);border-radius:6px;margin:12px 0 8px;overflow:hidden}
.up-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--brand-3),var(--brand));transition:width .9s cubic-bezier(.2,.8,.2,1)}
.up-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--sub)}

/* 未读红点/数字 */
.qdot{position:absolute;top:-3px;right:14px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}
.q{position:relative}
.mbadge{margin-left:auto;background:var(--danger);color:#fff;font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.mchev{margin-left:auto}

/* 消息中心 */
.nrow{position:relative;padding:14px 0 14px 14px;border-bottom:1px solid var(--line-2);cursor:pointer}
.nrow:last-child{border-bottom:0}
.nrow.read{opacity:.62}
.ndot{position:absolute;left:0;top:18px;width:8px;height:8px;border-radius:50%;background:var(--danger)}
.n-title{font-size:14.5px;font-weight:700;line-height:1.4}
.npill.imp{background:var(--danger-soft);color:var(--danger);font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:8px;margin-right:6px;vertical-align:middle}
.n-sub{font-size:11.5px;color:var(--sub);margin-top:5px}
.n-prev{font-size:12.5px;color:var(--sub);margin-top:5px;line-height:1.5}
.nbody{font-size:14px;line-height:1.9;color:#2b3142;white-space:pre-wrap}
.nfoot{font-size:11.5px;color:var(--sub);margin-top:14px;text-align:right}

/* 多通道对比 */
.ccard{background:#fff;border-radius:14px;padding:15px;box-shadow:var(--shadow);margin:12px 14px 0}
.c-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.c-name{font-size:15.5px;font-weight:800}
.c-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13.5px;color:var(--sub);border-bottom:1px dashed var(--line-2)}
.c-row b{color:var(--text);font-size:14.5px}
.c-feat{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ftag{background:var(--brand-soft);color:var(--brand);font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:9px}
.rec{background:linear-gradient(135deg,var(--brand-soft),#fff);border:1px solid var(--brand-soft);border-radius:14px;padding:14px;margin-top:6px}
.rec-top{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px}
.rec-top b{color:var(--brand)}
.rec-reason{font-size:13px;color:#2b3142;line-height:1.7;margin-top:8px}
.rec-alt{font-size:12px;color:var(--sub);margin-top:8px}

/* 终端管理 */
.trow{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2)}
.trow:last-child{border-bottom:0}
.t-ic2{width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
.t-main{flex:1;min-width:0}
.t-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-sub{font-size:11.5px;color:var(--sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-right{text-align:right;flex:none}
.t-cnt{font-size:13px;font-weight:700;color:var(--brand);margin-bottom:5px}

/* 培训学院 */
.les{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line-2);cursor:pointer}
.les.last{border-bottom:0;padding-bottom:0}
.les .ic{color:var(--brand)}
.les-t{font-size:14.5px;font-weight:600;flex:1;line-height:1.4}
.les-go{color:var(--sub);display:flex}

/* 客服 FAQ */
.faq{border-bottom:1px solid var(--line-2);padding:14px 0}
.faq.last{border-bottom:0;padding-bottom:0}
.faq-q{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;cursor:pointer}
.faq-q .ic{color:var(--brand);flex:none}
.faq-a-icon{margin-left:auto;color:var(--sub);transition:transform .2s;display:flex}
.faq.open .faq-a-icon{transform:rotate(90deg)}
.faq-a{font-size:13px;color:var(--sub);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .25s ease}
.faq.open .faq-a{max-height:200px;margin-top:10px}

/* 实名认证 */
.rn-head{padding:4px 4px 0}
.rn-title{font-size:19px;font-weight:800}
.rn-desc{font-size:12.5px;color:var(--sub);line-height:1.7;margin-top:8px}
.rn-status{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--line-2)}
.rn-status .rn-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex:none;background:var(--sub)}
.rn-status.pending{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.3)}
.rn-status.pending .rn-dot{background:var(--warning,#f59e0b)}
.rn-status.ok{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.3)}
.rn-status.ok .rn-dot{background:var(--success,#10b981)}
.rn-status.no{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.3)}
.rn-status.no .rn-dot{background:var(--error,#ef4444)}
.rn-st{font-size:15px;font-weight:700}
.rn-reason{font-size:12.5px;color:var(--sub);margin-top:4px;line-height:1.6}
.rn-form .sec,.rn-done .sec{margin:18px 0 10px;font-size:13px;font-weight:700;color:var(--sub)}
.rn-done .mrow{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line-2);font-size:14px}
.rn-done .mrow:last-of-type{border-bottom:0}
.rn-uploads{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rn-up{display:block;position:relative}
.rn-up-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:120px;border:1.5px dashed var(--line-2);border-radius:14px;color:var(--sub);font-size:12.5px;text-align:center;background:var(--bg-soft,#f6f7fb);transition:.2s}
.rn-up-box.has{border-style:solid;border-color:var(--brand);background:var(--brand-soft)}
.rn-up-box svg{opacity:.6}
.rn-up-box.has svg{opacity:1;color:var(--brand)}
.rn-up-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px}
.rn-vrec{margin-top:6px;position:relative}
.rn-rec-tip{font-size:12px;color:var(--sub);line-height:1.7;background:var(--bg-soft,#f6f7fb);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.rn-script{font-size:13px;line-height:1.7;background:#eef3ff;border:1px solid #dbe5ff;border-radius:12px;padding:10px 12px;margin-bottom:8px;color:#27324a}
.rn-rec-box{position:relative;margin-top:8px}
.rn-rec-prev{width:100%;max-height:240px;background:#000;border-radius:12px;display:none}
.rn-rec-prev.has{display:block}
.rn-tele{position:absolute;left:0;right:0;bottom:0;display:none;padding:10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;font-size:13px;line-height:1.6;border-radius:0 0 12px 12px}
.rn-tele.on{display:block}
.rn-tele-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sub);margin-top:8px}
.rn-tele-toggle input{width:17px;height:17px;accent-color:var(--brand)}
/* APP 端全屏提词器（录制前弹出，系统相机无法叠加字幕） */
.xzm-tele-mask{position:fixed;inset:0;z-index:9999;background:rgba(8,12,28,.86);display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.xzm-tele-card{width:100%;max-width:420px;background:var(--card,#fff);border-radius:18px;padding:22px 20px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.xzm-tele-h{font-size:17px;font-weight:800;text-align:center;color:var(--brand,#2347ff)}
.xzm-tele-tip{font-size:12.5px;color:var(--sub,#5a6478);line-height:1.7;margin:12px 0 10px;text-align:center}
.xzm-tele-body{font-size:17px;font-weight:700;line-height:1.9;color:var(--text,#1c2433);background:var(--bg-soft,#f6f7fb);border:1px solid var(--line-2,#eef0f5);border-radius:12px;padding:16px;margin-bottom:16px;text-align:center;letter-spacing:.3px}
.xzm-tele-go{width:100%;padding:13px;font-size:15px;font-weight:700}
.xzm-tele-skip{display:block;width:100%;margin-top:10px;background:none;border:0;color:var(--sub,#8a93a6);font-size:13px;padding:6px}
/* 实名录屏提示词悬浮窗：录制全程在页面顶部常驻展示，pointer-events:none 不遮挡录制画面与触控 */
.xzm-rec-float{position:fixed;top:0;left:0;right:0;z-index:90;background:rgba(8,12,28,.82);color:#fff;font-size:13.5px;line-height:1.65;padding:11px 16px;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.xzm-rec-float::before{content:"📢 录制提示词";display:block;font-size:11.5px;opacity:.7;margin-bottom:2px}
.rn-rec-btns{display:flex;gap:10px}
.rn-rec-btns .btn{flex:1}
.rn-rec-note{font-size:12.5px;margin-top:8px;min-height:18px;color:var(--sub)}
.rn-submit{width:100%;margin-top:18px}
.rn-imgs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rn-img{width:100%;border-radius:12px;border:1px solid var(--line-2)}
.rn-video{width:100%;border-radius:12px;margin-top:10px;background:#000}

/* ===== 注销账户 ===== */
.btn-danger{background:linear-gradient(135deg,#ff5a6e,#f5465c);color:#fff;border:0;border-radius:12px;padding:14px;width:100%;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(245,70,92,.28);transition:transform .12s,opacity .2s}
.btn-danger:active{transform:translateY(1px) scale(.99);opacity:.92}
.btn-danger:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.deact-card{display:flex;flex-direction:column;gap:12px}
.deact-tip{font-size:13px;color:var(--sub);line-height:1.7;margin:0}
.deact-modal h3{color:var(--danger)}
.deact-lead{font-size:13.5px;color:var(--text);margin:0 0 6px}
.deact-warn{margin:0 0 4px;padding-left:18px}
.deact-warn li{font-size:13.5px;color:#3a3f4d;line-height:1.85;margin-bottom:6px}
.deact-warn strong{color:var(--danger)}
.deact-field{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.deact-field span{font-size:13px;color:var(--sub)}
.deact-field b{color:var(--danger)}
.deact-input{border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font-size:15px;outline:none;transition:border var(--t-fast),box-shadow var(--t-fast);width:100%}
.deact-input:focus{border-color:var(--danger);box-shadow:0 0 0 3px rgba(245,70,92,.12)}
.deact-actions{display:flex;gap:10px;margin-top:18px}
.deact-actions .btn-ghost,.deact-actions .btn-danger{margin:0}

/* ============ 首页：办卡贷款入口模块 ============ */
.loanmod{margin:16px 14px 0;background:linear-gradient(120deg,#2b5cff,#5a7bff);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.loanmod-h{display:flex;align-items:center;gap:8px;color:#fff;font-size:15px;font-weight:700}
.loanmod-tag{font-size:11px;font-weight:600;background:rgba(255,255,255,.22);padding:2px 8px;border-radius:20px}
.loanmod-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.loan-card{background:#fff;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:transform .12s,box-shadow .2s}
.loan-card:active{transform:translateY(1px);box-shadow:var(--shadow-lg)}
.loan-card-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--brand);background:var(--brand-soft);margin-bottom:4px}
.loan-card-ic2{color:#ff8a3d;background:#fff2e8}
.loan-card-t{font-size:14px;font-weight:700;color:var(--text)}
.loan-card-s{font-size:11.5px;color:var(--sub)}

/* ============ 首页中段功能导航长条 ============ */
.fnav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 6px;margin:14px 14px 0;background:#fff;border-radius:var(--radius);padding:14px 6px;box-shadow:var(--shadow)}
.fnav-item{display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;position:relative}
.fnav-item .ic{color:var(--brand);background:var(--brand-soft);width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center}
.fnav-item:active .ic{transform:scale(.94)}
.fnav-item span{font-size:11.5px;font-weight:600;color:var(--text);text-align:center}
/* 微信活动报名：WeChat 品牌绿底白图标，浅色背景下高对比、清晰可辨（覆盖默认蓝底蓝图标） */
.fnav-item[data-go="wechat_activity"] .ic{color:#fff;background:#07c160;}
.fnav-item[data-go="wechat_activity"]:active .ic{background:#06ad56;}

/* 首页功能导航：可折叠控件（标题整条可点击，箭头旋转切换） */
.sec-toggle{cursor:pointer;justify-content:space-between;user-select:none;-webkit-tap-highlight-color:transparent;padding:12px 2px;min-height:46px;box-sizing:border-box;transition:opacity .15s}
.sec-toggle:active{opacity:.62}
.sec-chev{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;color:var(--sub,#8a90a0);transition:transform .34s cubic-bezier(.4,0,.2,1)}
.sec-chev svg{width:18px;height:18px;display:block}
.sec-toggle.open .sec-chev{transform:rotate(180deg);color:var(--brand)}
/* 平滑展开 / 收起：grid-rows 0fr→1fr 过渡，内部溢出裁剪 */
.fnav-collapsible{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .36s cubic-bezier(.4,0,.2,1), opacity .3s ease}
.fnav-collapsible.open{grid-template-rows:1fr;opacity:1}
.fnav-collapsible .fnav-inner{min-height:0;overflow:hidden}

/* ============ 商户整改 / 风险商户（代理侧） ============ */
.subtabs{display:flex;gap:8px;margin:12px 14px 0}
.stab{padding:6px 14px;border-radius:20px;background:#fff;color:var(--sub);font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line-2)}
.stab.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.card-list{padding:12px 14px 16px}
.rc-item{background:#fff;border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow);cursor:pointer}
.rc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rc-top b{font-size:15px;font-weight:800}
.rc-sub{font-size:12px;color:var(--sub);margin-top:6px}
.rc-reason{font-size:13px;color:#3a4252;margin-top:8px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.rc-due{font-size:12px;color:#ff8a3d;margin-top:8px}
.pill{font-size:11px;font-weight:800;padding:3px 9px;border-radius:9px;white-space:nowrap}
.empty{text-align:center;color:var(--sub);font-size:13px;padding:40px 0}
.d-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:14px}
.d-row>span{color:var(--sub)}
.d-block{padding:10px 0;border-bottom:1px solid var(--line-2)}
.d-block>span{color:var(--sub);font-size:13px}
.d-text{font-size:14px;color:#3a4252;margin-top:6px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
.xzm-text{width:100%;min-height:74px;border:1px solid var(--line-2);border-radius:10px;padding:10px;font-size:14px;margin-top:8px;resize:vertical;font-family:inherit;box-sizing:border-box}
.sheet-actions{display:flex;gap:10px;margin-top:14px}
.d-done{color:var(--sub);font-size:13px;text-align:center;width:100%;padding:8px 0}

/* ============ 渠道授权码（代理侧） ============ */
.ca-tip{margin:10px 14px 0;font-size:12.5px;color:var(--sub);line-height:1.6;background:var(--brand-soft);border-radius:10px;padding:10px 12px}
.ca-list{padding:0 14px}
.ca-card{background:#fff;border-radius:14px;margin-top:12px;box-shadow:var(--shadow);overflow:hidden}
.ca-head{display:flex;align-items:center;gap:8px;padding:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.ca-brand{flex:1;min-width:0;font-size:16px;font-weight:800;color:#0d4f72;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-code-tag{font-size:11px;color:var(--sub);background:#f1f5f9;border-radius:7px;padding:2px 8px}
.ca-code{margin-top:10px;font-family:'Courier New',Consolas,monospace;font-size:15px;font-weight:700;color:#0f172a;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:12px;line-height:1.6;word-break:break-all;user-select:text;-webkit-user-select:text}
.ca-imgwrap{margin-top:10px;text-align:center}
.ca-img{max-width:62%;border-radius:10px;border:1px solid var(--line-2);background:#fff;cursor:pointer}
.ca-imgs{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.ca-imgblock{background:#f8fafc;border-radius:12px;padding:10px}
.ca-imglabel{font-size:13px;font-weight:700;color:#0d4f72;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ca-imglabel::before{content:"";width:4px;height:14px;background:var(--brand);border-radius:3px;display:inline-block}
.ca-acts{display:flex;gap:10px;margin-top:10px}
.btn.sm{flex:1;justify-content:center;padding:9px 0;font-size:13px;border-radius:10px;border:1px solid var(--line-2);background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-weight:600}
.btn.sm.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.ca-remark{margin-top:10px;font-size:12.5px;color:var(--sub);line-height:1.6;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border-radius:8px;padding:8px 10px}
.ca-hint{margin-top:8px;font-size:11.5px;color:#ff8a3d;text-align:center}
/* 渠道授权码 — 可收起手风琴交互 */
.ca-chevron{flex:none;width:20px;height:20px;color:#94a3b8;display:inline-flex;align-items:center;justify-content:center;transition:transform .28s ease}
.ca-chevron svg{width:18px;height:18px;display:block}
.ca-card.collapsed .ca-chevron{transform:rotate(-90deg)}
.ca-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease}
.ca-card.collapsed .ca-body{grid-template-rows:0fr}
.ca-body-inner{overflow:hidden;min-height:0;padding:0 14px 14px}
.ca-empty{font-size:12.5px;color:var(--sub);text-align:center;padding:4px 0 2px}
/* 渠道授权码 — 步骤指引入口 */
.ca-guide-card{margin-top:10px;background:linear-gradient(135deg,#f0f7ff,#fff)}
.ca-guide-btn{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.ca-guide-ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.ca-guide-tt{flex:1;min-width:0;font-size:15px;font-weight:800;color:#0d4f72;display:flex;flex-direction:column;gap:2px}
.ca-guide-sub{font-size:11.5px;font-weight:400;color:var(--sub)}
.ca-guide-sec{background:#f8fafc;border-radius:12px;padding:12px;margin-top:10px}
.ca-guide-sec:first-child{margin-top:0}
.ca-guide-steps{margin:8px 0 0;padding-left:20px;font-size:13px;color:var(--text);line-height:1.8}
.ca-guide-steps li{margin-bottom:2px;word-break:break-word}
.ca-guide-img{max-width:100%;width:100%}

/* ============ 关于我们（设置 → 关于我们） ============ */
.about-card{padding:16px 16px 14px}
.about-logo{font-size:19px;font-weight:800;letter-spacing:1px;background:linear-gradient(135deg,var(--brand),var(--brand-2,#16256b));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:8px;text-align:center}
.about-p{font-size:13.5px;color:var(--text);line-height:1.75;margin:0 0 10px}
.about-card .about-p:last-child{margin-bottom:0}
.about-row{display:flex;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line-2);font-size:13.5px}
.about-row:last-child{border-bottom:none}
.about-k{flex:none;width:104px;color:var(--sub)}
.about-v{flex:1;color:var(--text);font-weight:600;line-height:1.5;word-break:break-all}
.about-divider{height:1px;background:var(--line-2);margin:12px 0}
.about-note{color:var(--sub);font-size:12.5px}

/* ============ 办卡贷款页 ============ */
.loan-tabs{display:flex;gap:8px;margin:14px 14px 0}
.loan-tab{flex:1;text-align:center;padding:9px 0;font-size:13px;font-weight:600;color:var(--sub);background:#fff;border-radius:11px;box-shadow:var(--shadow);cursor:pointer}
.loan-tab.active{color:#fff;background:var(--brand)}
.loan-prod{background:#fff;border-radius:12px;padding:14px;margin:12px 14px 0;box-shadow:var(--shadow)}
.loan-prod-top{display:flex;align-items:center;gap:8px}
.loan-prod-name{font-size:15px;font-weight:700;color:var(--text)}
.loan-prod-tag{font-size:11px;font-weight:600;color:#ff8a3d;background:#fff2e8;padding:2px 8px;border-radius:20px}
.loan-prod-org{font-size:12.5px;color:var(--sub);margin-top:4px}
.loan-prod-meta{display:flex;gap:14px;font-size:12px;color:var(--text);margin:8px 0 12px}
.loan-prod-meta span{background:var(--brand-soft);color:var(--brand);padding:3px 9px;border-radius:8px;font-weight:600}
.loan-apply{width:100%}

/* ============ 终端：分段 + 库存 ============ */
.seg{display:flex;gap:0;margin:14px 14px 0;background:#fff;border-radius:11px;padding:4px;box-shadow:var(--shadow)}
.seg-i{flex:1;text-align:center;padding:8px 0;font-size:13px;font-weight:600;color:var(--sub);border-radius:8px;cursor:pointer}
.seg-i.active{color:#fff;background:var(--brand)}
.inv-stock{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--line-2);font-size:14px;color:var(--text)}
.inv-stock:last-child{border-bottom:none}
.inv-stock .ic{color:var(--brand);margin-right:8px;vertical-align:-5px}
.inv-stock b{color:var(--brand);font-size:16px}
.inv-range{padding:11px 2px;border-bottom:1px solid var(--line-2)}
.inv-range:last-child{border-bottom:none}
.inv-range b{color:var(--text);font-size:14px}
.inv-range-n{font-size:12px;color:var(--sub);margin-top:3px}
.inv-batch{padding:12px 2px;border-bottom:1px solid var(--line-2)}
.inv-batch:last-child{border-bottom:none}
.inv-batch-top{display:flex;align-items:center;justify-content:space-between}
.inv-batch-top b{font-size:14px;color:var(--text)}
.inv-batch-no{font-size:12.5px;color:var(--sub);margin:4px 0 8px}
.inv-batch-acts{display:flex;gap:8px}
.inv-ag{padding:9px 2px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center}
.inv-ag:last-child{border-bottom:none}
.inv-ag-name{font-size:13.5px;color:var(--text)}
.inv-ag-stock{font-size:12px;color:var(--sub)}
.inv-alc-h{font-size:12px;font-weight:700;color:var(--sub);margin:12px 0 6px}
.inv-alc{font-size:12.5px;color:var(--text);padding:5px 0;border-bottom:1px solid var(--line-2)}
.inv-alc:last-child{border-bottom:none}
.inv-dir{font-weight:700;margin-right:4px}
.inv-dir.ok{color:#16b364}
.inv-dir.no{color:var(--danger)}

/* ============ 实名：人脸核验 ============ */
.rn-face{margin:0}
.rn-face-tip{font-size:13px;color:var(--sub);margin-bottom:10px}
.rn-face-btns{display:flex;gap:10px}
.rn-face-btn{flex:1;font-size:13px}
.rn-face-note{font-size:11.5px;color:var(--sub);margin-top:10px;line-height:1.5}

/* ============ 生物识别（指纹/面容） ============ */
.bio-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bio-t{font-size:14px;font-weight:700;color:var(--text)}
.bio-s{font-size:12px;color:var(--sub);margin-top:3px}
.bio-list{margin-top:10px}
.bio-item{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line-2);font-size:13px;color:var(--text)}
.bio-item .ic{color:var(--brand);margin-right:6px;vertical-align:-5px}
.bio-empty{font-size:12.5px;color:var(--sub);padding:8px 0}
.oth-fp{color:#7b5cff}
.oth-fp svg{color:#7b5cff}

/* ── 商品卡操作区 / 购物车按钮（移动端）── */
.pactions{display:flex;gap:8px;margin-top:10px}
.pbtn{flex:1;border:none;border-radius:9px;padding:8px 0;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;gap:4px}
.pbtn.ghost{background:var(--brand-soft,#eef3ff);color:var(--brand,#2b5cff)}
.pbtn.solid{background:var(--brand,#2b5cff);color:#fff}
.pbtn:active{transform:scale(.97)}
.pdetail{margin-top:8px;text-align:right;font-size:12px;color:var(--brand,#2b5cff);cursor:pointer;user-select:none}
.pdetail:active{opacity:.6}
.pimg img{width:100%;height:100%;object-fit:contain;border-radius:12px;background:#fff}
.qbtn{width:28px;height:28px;border:1px solid var(--line,#eceef4);background:#fff;border-radius:8px;font-size:16px;color:var(--text,#16181d);cursor:pointer;display:flex;align-items:center;justify-content:center}
.qbtn:active{background:var(--brand-soft,#eef3ff)}

/* ── 设置 / 收货地址 / 官方收款账号（个人中心改版）── */
.li-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);padding:8px 2px;cursor:pointer}
.li-check input{width:16px;height:16px;accent-color:var(--brand,#2b5cff)}
.addr-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;margin-bottom:10px;background:#fff;border:1px solid var(--line,#eceef4);border-radius:12px}
.addr-card .acard-name{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.addr-card .acard-sub{font-size:12px;color:var(--sub);margin-top:4px;line-height:1.5}
.addr-ops{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.btn-mini{border:1px solid var(--line,#eceef4);background:#fff;color:var(--text);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer;white-space:nowrap}
.btn-mini:active{background:var(--brand-soft,#eef3ff)}
.btn-mini.danger{color:#f5465c;border-color:#f7c9cf}
.btn-mini.danger:active{background:#fff0f1}

.op-sec{font-size:13px;font-weight:600;color:var(--text);margin:6px 0 8px}
.op-up{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.op-box{width:96px;height:96px;border:1.5px dashed var(--line,#cfd6e4);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--sub);font-size:12px;cursor:pointer;flex-shrink:0;transition:.15s}
.op-box:active{background:var(--brand-soft,#eef3ff)}
.op-box.has{border-style:solid;border-color:var(--brand,#2b5cff);color:var(--brand,#2b5cff)}
.op-box .ic{width:24px;height:24px}
.op-prev{flex:1;min-width:0}
.op-img{max-width:120px;max-height:120px;border-radius:10px;border:1px solid var(--line,#eceef4)}

/* 下单/订单页：平台官方收款账户展示（区别于买家自身收款信息） */
.pay-info{margin:10px 0 2px}
.pay-official{background:linear-gradient(135deg,#f3f8ff,#eef6ff);border:1px solid #dbe7ff;border-radius:12px;padding:12px;color:#1f2a44}
.pay-official-h{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#1d4ed8;margin-bottom:8px}
.pay-official-h .ic{width:18px;height:18px}
.pay-qr{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:#fff;border-radius:10px;border:1px solid #e6eefc}
.pay-qr img{width:160px;height:160px;object-fit:contain;border-radius:6px;display:block}
.pay-qr-tip{font-size:12px;color:#5b6b8c}
.pay-bank{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#243049;background:#fff;border-radius:10px;border:1px solid #e6eefc;padding:10px 12px}
.pay-bank b{color:#0f1d33}
.pay-all{display:flex;flex-wrap:wrap;gap:10px}
.pay-empty{font-size:12px;color:#8a93a6;background:#f2f5fa;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:6px}
.pay-empty .ic{width:16px;height:16px}
.pay-readonly-banner{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fff8e1,#fff3cd);border:1px solid #ffe69c;border-radius:10px;padding:8px 10px;font-size:12px;color:#8a6500;margin-bottom:10px}
.pay-readonly-banner .ic{width:16px;height:16px;flex-shrink:0}

/* 支付公司品牌 logo（进件 / 多通道 / 筛选），加载失败回退线性图标 */
.ch-logo{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;vertical-align:middle}
.ch-logo img{width:100%;height:100%;border-radius:7px;object-fit:cover;display:block;background:#f1f3f8}
.ch-logo svg{display:none;width:18px;height:18px}
.ch-logo.no img{display:none}
.ch-logo.no svg{display:block}
.ch-card .ch-logo{margin-right:10px}
.c-head .ch-logo{margin-right:8px}
.chip .ch-logo{margin-right:5px;width:18px!important;height:18px!important}

.wd-calc{background:var(--brand-soft,#f4f7ff);border:1px solid #e3ebff;border-radius:10px;padding:10px 12px;margin:4px 0 10px;font-size:13px}
.wd-line{display:flex;justify-content:space-between;align-items:center;color:var(--sub);padding:3px 0}
.wd-line .num{color:var(--text)}
.wd-line.wd-total{border-top:1px dashed #d8e2ff;margin-top:4px;padding-top:7px;font-weight:700;color:var(--text)}
.wd-line.wd-total .num{color:var(--brand,#2b5cff);font-size:15px}
.wd-sub{font-size:12px;color:var(--sub);padding:6px 2px 2px;border-top:1px solid var(--line-2,#f1f3f8);margin-top:4px}
.wd-sub .num{color:var(--text)}

/* H5 自动更新提示条 */
#h5UpdateBar{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;background:linear-gradient(90deg,#2347ff,#4f6bff);color:#fff;font-size:14px;box-shadow:0 2px 12px rgba(20,40,120,.35);transform:translateY(-110%);transition:transform .35s ease;cursor:pointer;transform-origin:top}
#h5UpdateBar.show{transform:translateY(0)}
#h5UpdateBar .ub{background:rgba(255,255,255,.22);padding:3px 14px;border-radius:20px;font-weight:700;font-style:normal;font-size:13px}
#h5UpdateBar .ut{opacity:.96}

/* 银行卡管理 */
.bc-item{padding:12px 2px;border-bottom:1px solid var(--line-2,#f1f3f8)}
.bc-item:last-child{border-bottom:none}
.bc-top{display:flex;align-items:center;justify-content:space-between}
.bc-bank{font-weight:700;font-size:15px}
.bc-no{font-size:18px;letter-spacing:1px;margin:4px 0;font-family:ui-monospace,Menlo,Consolas,monospace}
.bc-sub{font-size:12px;color:var(--sub)}
.bc-photos{display:flex;gap:8px;margin:8px 0}
.bc-ph{width:64px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--line-2,#eee)}
.bc-ops{display:flex;gap:16px;margin-top:6px}
.lnk{color:#2b5cff;font-size:13px;cursor:pointer}
.lnk.danger{color:#e1453d}
.bc-ups{display:flex;gap:10px;margin-top:4px}
.bc-up{flex:1}
.bc-up-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:88px;border:1.5px dashed var(--line-2,#d7dde8);border-radius:12px;color:var(--sub);font-size:13px;position:relative;overflow:hidden;cursor:pointer}
.bc-up-box.has{border-style:solid;border-color:#bcd0ff}
.bc-up-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bc-up span{position:relative;z-index:1}
.ck-default{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px;color:var(--text)}

/* 设置页开关 */
.sw{position:relative;display:inline-block;width:46px;height:26px;flex:none}
.sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.sw-track{position:absolute;inset:0;background:#cfd6e4;border-radius:20px;transition:background .25s}
.sw-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s}
.sw input:checked + .sw-track{background:linear-gradient(90deg,#2347ff,#4f6bff)}
.sw input:checked + .sw-track .sw-thumb{transform:translateX(20px)}
.mhint{font-size:12px;color:var(--sub);padding:8px 2px 2px;line-height:1.6}

/* ===== 资产页：四分类账户（日/月/活动/分红） ===== */
.accts4{grid-template-columns:repeat(4,1fr);gap:8px}
.accts4 .acct{padding:12px 8px}
.accts4 .acct-top{font-size:11px;gap:5px}
.accts4 .acct-num{font-size:14px;margin-top:6px}
.acct-dot.g{background:#16b364}

/* ===== 资产页：五分类账户（日/月/活动/晋级/分红）=====
   6 列栅格实现 3+2 两行均分：首行三项各占 2 列，次行两项各占 3 列，两行均铺满不留豁口 */
.accts5{grid-template-columns:repeat(6,1fr);gap:8px}
.accts5 .acct{padding:12px 8px;grid-column:span 2}
.accts5 .acct:nth-child(4),
.accts5 .acct:nth-child(5){grid-column:span 3}
.accts5 .acct-top{font-size:11px;gap:5px}
.accts5 .acct-num{font-size:14px;margin-top:6px}
.accts5 .acct:nth-child(4) .acct-top,
.accts5 .acct:nth-child(5) .acct-top{font-size:12px}
.accts5 .acct:nth-child(4) .acct-num,
.accts5 .acct:nth-child(5) .acct-num{font-size:16px}
.acct-dot.u{background:#8b5cf6}

/* ===== 分红专区 hero（暖红金渐变，区别于资产蓝） ===== */
.hero-dividend{background:linear-gradient(135deg,#ff5a3c 0%,#f5465c 52%,#e23a86 100%);box-shadow:0 14px 30px rgba(245,70,92,.30)}

/* ===== 分红专区数据行 ===== */
.dv-row{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--line-2,#f1f3f8)}
.dv-row:last-child{border-bottom:none}
.dv-row>span{font-size:13.5px;color:var(--sub)}
.dv-row>b{font-size:14px;color:var(--text);font-weight:700}
.dv-row .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.warn{color:#e1453d !important}

/* ===== 分红专区固定提示 ===== */
.dv-tip{margin:14px 14px 0;background:linear-gradient(135deg,#fff7f0,#fff1ef);border:1px solid #ffe1d6;border-radius:12px;padding:13px 14px;font-size:12.5px;color:#9a5b3b;line-height:1.7}

/* ===== 提现：对私/对公分段选择控件 ===== */
.seg{display:flex;background:var(--brand-soft,#eef3ff);border-radius:12px;padding:4px;gap:4px}
.seg-btn{flex:1;border:0;background:transparent;color:var(--sub);font-size:14px;font-weight:700;padding:10px 6px;border-radius:9px;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.seg-btn.active{background:#fff;color:var(--brand);box-shadow:0 2px 8px rgba(43,92,255,.18)}

/* ===== 提现：金额扣费明细 ===== */
.wd-calc{margin-top:10px;padding-top:8px;border-top:1px solid var(--line-2,#f1f3f8)}

/* ===== 提现：税务与结算模式合规说明块 ===== */
.wd-comply{margin-top:14px;background:#f7f9ff;border:1px solid #e6ecff;border-radius:12px;padding:12px 14px}
.wd-comply-t{font-size:13px;font-weight:800;color:var(--brand);margin-bottom:7px}
.wd-comply-b{font-size:12px;color:#5a6478;line-height:1.75;margin-bottom:3px}
.wd-comply-w{font-size:12px;color:#b9781a;line-height:1.6;margin-top:7px;background:#fff6e9;padding:8px 10px;border-radius:8px}
/* ===== 库存分发：我的代理编号 + 下级代理搜索选择 ===== */
.my-no-row{display:flex;align-items:center;gap:8px;background:var(--brand-soft,#eef3ff);border:1px solid #e3ebff;border-radius:12px;padding:10px 12px;margin-bottom:14px}
.my-no-label{flex:none;font-size:13px;color:var(--sub);font-weight:600}
.my-no-val{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.copy-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:9px;background:#fff;color:var(--brand,#2b5cff);cursor:pointer;box-shadow:0 1px 3px rgba(22,37,107,.12);transition:background .15s,transform .12s}
.copy-btn:active{background:var(--brand-soft,#eef3ff);transform:scale(.94)}
.sec-sub{display:flex;align-items:center;gap:8px;margin:4px 0 10px;font-size:13px;font-weight:700;color:var(--text)}
.sec-sub::before{content:"";width:4px;height:14px;border-radius:3px;background:linear-gradient(var(--brand-3,#2347ff),var(--brand-2,#16256b))}
.agent-pick{margin-bottom:6px}
.ap-search{display:flex;align-items:center;gap:8px;padding:0 10px;background:#f5f7fc;border:1.5px solid var(--line,#eceef4);border-radius:12px;transition:border-color .15s}
.ap-search:focus-within{border-color:var(--brand,#2b5cff)}
.ap-ic{flex:none;display:inline-flex;color:var(--sub)}
.ap-input{flex:1;border:0;outline:none;background:transparent;padding:12px 0;font-size:15px;color:var(--text)}
.ap-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;background:transparent;color:var(--sub);cursor:pointer;transition:transform .2s,color .15s}
.ap-toggle.open{transform:rotate(180deg);color:var(--brand,#2b5cff)}
.kids-box{margin-top:8px;max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--line,#eceef4);border-radius:12px}
.kid-row{display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;border-bottom:1px solid var(--line-2,#f1f3f8);transition:background .12s}
.kid-row:last-child{border-bottom:0}
.kid-row:active{background:var(--brand-soft,#eef3ff)}
.kid-row.on{background:var(--brand-soft,#eef3ff)}
.kid-main{flex:1;min-width:0}
.kid-name{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text)}
.kid-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px}
.kid-no{font-size:12px;color:var(--sub);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.kid-phone{font-size:12px;color:var(--sub)}
.kid-check{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line,#eceef4);color:#fff;transition:background .15s,border-color .15s}
.kid-row.on .kid-check{background:var(--brand,#2b5cff);border-color:var(--brand,#2b5cff)}
.sel-info{margin:8px 2px 2px;min-height:18px;font-size:13px;font-weight:600;line-height:1.5;color:var(--brand,#2b5cff)}

/* 库存回调（需下级确认后回填） */
.recall-card .field{margin-bottom:10px}
#rcStockHint{padding:2px 0 4px;line-height:1.6;word-break:break-all}
.rc-confirm{margin-top:10px;width:100%}
.rc-cancel{margin-left:8px}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.6;background:#eef1f8;color:#5a6b8c}
.pill.ok{background:#e7f7ec;color:#1ba94c}
.pill.no{background:#fdecec;color:#e23b3b}
.inv-dir{padding:1px 7px;border-radius:6px;font-size:11px;font-weight:600;background:#eef1f8;color:#5a6b8c;margin-right:4px}
.inv-dir.no{background:#fdecec;color:#e23b3b}
.inv-dir.ok{background:#e7f7ec;color:#1ba94c}

/* ===== 商城左侧导航（品牌 / 礼包 / 展业物料 三模块） ===== */
.ch-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;font-weight:800;letter-spacing:-.5px}
.ch-logo img{display:block;width:100%;height:100%;object-fit:cover;background:#fff}
.ch-logo .ch-logo-text{font-size:.92em;color:#fff;font-weight:800;line-height:1}
.mall-wrap{display:flex;gap:6px;align-items:flex-start;padding:2px 6px 0}
.mall-nav{display:flex;flex-direction:column;gap:6px;width:78px;flex:0 0 78px;position:sticky;top:6px;max-height:calc(100vh - 120px);overflow-y:auto;padding-bottom:12px;scrollbar-width:none}
.mall-nav::-webkit-scrollbar{display:none}
.mall-nav .mnav-label{font-size:10px;color:#aab2c0;text-align:center;padding:2px 0 0;letter-spacing:1px}
.mall-nav .mnav-item{padding:10px 4px;border-radius:11px;font-size:12px;line-height:1.3;text-align:center;background:#fff;color:var(--sub,#8a90a0);border:1px solid var(--line,#eceef4);cursor:pointer;box-shadow:0 4px 14px rgba(22,37,107,.05);transition:all .15s}
.mall-nav .mnav-item.on{background:linear-gradient(135deg,var(--brand-3,#2347ff),var(--brand,#2b5cff));color:#fff;border-color:transparent;font-weight:700;box-shadow:0 6px 14px rgba(43,92,255,.30)}
.mall-nav .mnav-item:active{transform:scale(.97)}
.mall-nav .mnav-empty{font-size:10px;color:#aab2c0;text-align:center;padding:8px 2px}

/* 收起目录按钮（导航栏顶部） */
.mall-nav .mnav-toggle{display:flex;align-items:center;justify-content:center;gap:1px;padding:7px 2px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.5px;background:#f2f4fb;color:#7b8395;border:1px dashed #d6dbea;cursor:pointer;transition:all .15s}
.mall-nav .mnav-toggle:active{transform:scale(.96);background:#e8ebf6}
.mall-nav .mnav-toggle .mnt-ic{display:inline-flex;align-items:center;transform:rotate(180deg)}
.mall-nav .mnav-toggle .mnt-ic svg{width:12px;height:12px}

/* 品牌目录项：直接平铺在左侧导航（logo + 名称 + 商品数角标） */
.mall-nav .mnav-brand{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border-radius:10px;background:#fff;color:var(--sub,#8a90a0);border:1px solid var(--line,#eceef4);cursor:pointer;font-size:10px;line-height:1.2;text-align:center;transition:all .15s}
.mall-nav .mnav-brand svg,.mall-nav .mnav-brand img{width:20px;height:20px;display:block;object-fit:contain}
.mall-nav .mnav-brand .mnb-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mall-nav .mnav-brand .mnb-n{position:absolute;top:-4px;right:-3px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#ff7a45;color:#fff;font-size:9px;font-style:normal;font-weight:700;line-height:15px;text-align:center;box-shadow:0 2px 5px rgba(255,122,69,.35)}
.mall-nav .mnav-brand.off{opacity:.45}
.mall-nav .mnav-brand.on{background:linear-gradient(135deg,var(--brand-3,#2347ff),var(--brand,#2b5cff));color:#fff;border-color:transparent;font-weight:700;box-shadow:0 4px 10px rgba(43,92,255,.28)}
.mall-nav .mnav-brand.on .mnb-n{background:#fff;color:var(--brand,#2b5cff);box-shadow:none}
.mall-nav .mnav-brand:active{transform:scale(.97)}

/* 目录收起后：左侧「把手」按钮唤回目录，商品区整页全宽展示 */
.mnav-fab{display:none;position:fixed;left:0;top:52%;transform:translateY(-50%);z-index:60;flex-direction:column;align-items:center;gap:1px;padding:11px 5px 11px 3px;border:none;border-radius:0 13px 13px 0;background:linear-gradient(135deg,var(--brand-3,#2347ff),var(--brand,#2b5cff));color:#fff;font-size:10px;font-weight:700;letter-spacing:1px;line-height:1.1;cursor:pointer;box-shadow:0 6px 18px rgba(43,92,255,.38)}
.mnav-fab svg{width:15px;height:15px}
.mnav-fab:active{transform:translateY(-50%) scale(.95)}
.mall-wrap.nav-hidden .mall-nav{display:none}
.mall-wrap.nav-hidden .mnav-fab{display:flex}
.mall-wrap.nav-hidden .mall-content{padding-left:14px}
.mall-wrap.nav-hidden .mall-content .pgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}

.mall-content{flex:1;min-width:0;overflow:hidden;padding:0 2px}
.mall-content .pgrid{margin:12px 6px 0}
.mall-content .sec{margin:6px 6px 0}
/* 当前分类标题（收起目录后仍能一眼看到所在分类） */
.mc-head{display:flex;align-items:center;gap:8px;margin:8px 6px 2px;font-size:15px;font-weight:800;color:var(--text,#16181d)}
.mc-head .mch-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-head .mch-n{flex:none;font-size:11px;font-weight:600;color:var(--sub,#8a90a0);background:#f2f4fb;padding:2px 9px;border-radius:20px}
.brand-sec-h{display:flex;align-items:center;gap:8px;margin:14px 6px 0;font-size:14px;font-weight:800;color:var(--text,#16181d)}
.brand-sec-h .bsh-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-sec-h .bsh-count{font-size:12px;font-weight:600;color:var(--sub,#8a90a0)}
@media (max-width:380px){
  .mall-nav{width:70px;flex-basis:70px}
  .mall-nav .mnav-item{font-size:11px;padding:9px 3px}
  .mall-nav .mnav-brand{font-size:9px;padding:6px 1px}
  .mall-nav .mnav-brand svg,.mall-nav .mnav-brand img{width:18px;height:18px}
  .mall-nav .mnav-toggle{font-size:9px;padding:6px 1px}
}


/* ============ 版本更新 / 微信兼容（20260803f） ============ */
/* 设置页：更新面板（检查更新后展示可直接下载的安装包） */
.update-panel{margin-top:8px}
.up-card{background:linear-gradient(135deg,#f3f7ff,#eef3ff);border:1px solid #d7e2ff;border-radius:12px;padding:12px 14px;margin-top:4px}
.up-card.force{border-color:#ffd0c4;background:linear-gradient(135deg,#fff4f1,#ffe9e2)}
.up-ch{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text)}
.up-force{font-size:11px;font-weight:700;color:#fff;background:#ef4444;border-radius:6px;padding:2px 7px}
.up-notes{font-size:12.5px;color:var(--sub);line-height:1.6;margin:8px 0 12px}
.up-acts{display:flex;gap:10px}
.up-acts .btn,.up-acts .btn-ghost{flex:1;justify-content:center;padding:11px}

/* 应用内常驻"新版本"横幅 */
.app-update-banner{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:1200;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e3e8f2;box-shadow:0 10px 30px rgba(20,40,90,.18);border-radius:14px;padding:12px 14px}
.app-update-banner.force{border-color:#ffd0c4;background:linear-gradient(135deg,#fff,#fff3ef)}
.aub-ic{flex:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand-2,#4f6bff),var(--brand,#2347ff));color:#fff}
.aub-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.aub-txt b{font-size:14px;color:var(--text)}
.aub-txt span{font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aub-go{flex:none;border:none;background:linear-gradient(135deg,var(--brand-2,#4f6bff),var(--brand,#2347ff));color:#fff;font-weight:700;font-size:13px;border-radius:10px;padding:9px 14px;cursor:pointer}
.aub-x{flex:none;border:none;background:none;color:var(--sub);font-size:20px;line-height:1;padding:0 2px;cursor:pointer}

/* 实名认证：微信环境提示 */
.wechat-hint{display:flex;align-items:flex-start;gap:6px;background:#eaf6ff;border:1px solid #c8e6ff;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:#0a6fb5;line-height:1.6}
.wechat-hint a{color:#0a6fb5;font-weight:700;text-decoration:underline;cursor:pointer}

/* ============================================================
   全局表格响应式适配（移动端竖屏 · 2026-08-07）
   一次性规则，作用于全站所有表格（含 JS 动态注入与未来新增）：
   以 !important 抵消组件内联的 min-width / white-space:nowrap，
   实现 百分比自适应 + 列宽均分 + 自动换行，彻底消除横向溢出。
   验收标准：手机竖屏下整表完整展示，无需左右滑动即可看清全部表头与对应数据。
   ============================================================ */
table{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;            /* 抵消内联 min-width:480px 等固定像素宽度 */
  table-layout:fixed !important;     /* 列宽自动均分屏幕宽度，不靠横向拉伸 */
}
th,td{
  white-space:normal !important;     /* 取消 nowrap，表头/数据允许换行两行展示 */
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  word-wrap:break-word !important;
  vertical-align:top !important;
  padding:8px 6px !important;
}
/* 弹层容器只纵向滚动，杜绝横向滚动条（双保险） */
.modal{overflow-x:hidden !important;}
.modal-mask [style*="overflow:auto"]{overflow-x:hidden !important;}
/* 模拟账户列表底部计数条 */
.mgr-foot{font-size:12px;color:var(--sub,#8a93a6);text-align:center;padding:12px 0 4px;letter-spacing:.2px}

/* ============================================================
   商户进件多步骤向导（专业版 · 大厂风格）
   ============================================================ */
/* —— 顶部导航 —— */
.ob-header{position:sticky;top:0;z-index:25;height:54px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 10px}
.ob-back{background:none;border:0;color:var(--text);display:flex;align-items:center;padding:8px;margin:-8px;cursor:pointer}
.ob-title{flex:1;text-align:center;font-size:17px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px}
.ob-quick{background:none;border:1.5px solid var(--brand);color:var(--brand);font-size:12px;font-weight:700;border-radius:12px;padding:6px 12px;cursor:pointer;white-space:nowrap;flex:none}
.ob-quick:active{background:var(--brand-soft)}
.ob-body{padding:14px}

/* —— 步骤进度条 —— */
.onb-stepper{display:flex;align-items:flex-start;margin:4px 4px 14px}
.onb-st{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}
.onb-st-dot{width:26px;height:26px;border-radius:50%;background:var(--line-2);color:var(--sub);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;z-index:2;transition:.2s}
.onb-st-dot svg{color:#fff}
.onb-st-line{position:absolute;top:13px;left:50%;width:100%;height:2px;background:var(--line-2);z-index:1}
.onb-st-lbl{font-size:11px;color:var(--sub);margin-top:6px;font-weight:600}
.onb-st.active .onb-st-dot{background:linear-gradient(135deg,var(--brand-3),#1f49e0);color:#fff;box-shadow:0 4px 10px rgba(43,92,255,.32)}
.onb-st.active .onb-st-lbl{color:var(--brand)}
.onb-st.done .onb-st-dot{background:var(--success);color:#fff}
.onb-st.done .onb-st-line{background:var(--success)}
.onb-st.done .onb-st-lbl{color:var(--success)}

/* —— 表单行 —— */
.ob-row{display:flex;align-items:center;background:var(--card);border-radius:13px;padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow)}
.ob-lbl{flex:0 0 96px;font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center}
.ob-val{flex:1;min-width:0}
.req-dot{color:var(--danger);font-size:8px;margin-right:4px;line-height:1}
.picker-val{display:flex;align-items:center;justify-content:space-between;gap:4px;color:var(--text);font-size:14px;min-height:20px;cursor:pointer}
.picker-val svg{color:var(--sub);opacity:.5;flex:none}
.picker-sub{font-size:11px;color:var(--sub);opacity:.85}
.ob-input{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;font-size:14px;color:var(--text)}
.ob-input::placeholder{color:var(--sub);opacity:.7}

/* —— 区块标题 / 提示 —— */
.ob-section{display:flex;align-items:center;justify-content:center;margin:4px 0 12px}
.ob-section-title{font-size:13px;font-weight:700;color:var(--sub);letter-spacing:1px}
.ob-tip{font-size:12px;color:var(--sub);line-height:1.6;background:var(--brand-soft);border-radius:10px;padding:10px 12px;margin:4px 0 12px}

/* —— 进件资料查看页：复用进件向导 .ob-* 体系，保持两端排版一致 —— */
.ob-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.ob-head b{font-size:16px;font-weight:800;color:var(--text)}
.ob-reject{background:#fdecec;color:#e23b3b;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.6;margin-bottom:12px}
.ob-view{display:block;word-break:break-all;line-height:1.45;min-height:20px}
.ob-tip.ok{background:#effaf2;color:#1a8a4a;border:1px solid #cdeed7}
.ob-locked{font-size:13px;color:var(--sub);text-align:center;padding:13px 10px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg,#f6f8fb);font-weight:600}

/* —— 按钮 —— */
.ob-btn{margin-top:8px}
.ob-btns-row{display:flex;gap:10px;margin-top:6px}
.ob-btn-half{flex:1}

/* —— Step5 电子签约（安心签）验证区 —— */
.ob-sign-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;margin:4px 0 12px}
.ob-sign-row{display:flex;align-items:center;gap:12px}
.ob-sign-row+.ob-sign-row{margin-top:10px}
.ob-sign-k{font-size:13px;color:var(--sub);flex:none}
.ob-sign-v{font-size:14px;color:var(--text);font-weight:500;margin-left:auto}
.ob-sign-ipt{flex:1 1 auto;min-width:0;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:15px;background:#fff;color:var(--text);outline:none}
.ob-sign-ipt:focus{border-color:var(--brand)}
.ob-sign-ipt:disabled{background:#f7f8fb;color:var(--sub)}
.ob-sign-btn{flex:0 0 120px;height:44px;padding:0 12px;font-size:14px;border-radius:10px;white-space:nowrap}
.ob-sign-btn:disabled{opacity:.55}
.ob-sign-hint{font-size:12px;line-height:1.6;margin-top:8px;color:var(--sub)}
.ob-sign-hint.ok{color:#1a8a4a}
.ob-sign-hint.err{color:var(--danger)}

/* —— Step5 商户费率配置（与星驿官方费率页 1:1 对齐） —— */
.rate-tpl{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-radius:13px;padding:13px 14px;margin-bottom:12px;box-shadow:var(--shadow);cursor:pointer}
.rate-tpl-lbl{flex:0 0 84px;font-size:14px;font-weight:600;color:var(--text)}
.rate-tpl-val{flex:1;text-align:right;color:var(--sub);font-size:14px;display:flex;align-items:center;justify-content:flex-end;gap:4px}
.rate-card{background:var(--card);border-radius:14px;padding:6px 14px;margin-bottom:12px;box-shadow:var(--shadow)}
.rate-card-head{display:flex;align-items:center;gap:10px;padding:12px 0 8px}
/* 支付品牌图标容器：尺寸 30×30，品牌色由 payIcon() 内联；接受 .rate-ic-* 类兼容（背景色被内联 style 覆盖） */
.rate-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto;overflow:hidden}
.rate-ic svg{width:18px;height:18px;display:block}
.rate-card-name{font-size:15px;font-weight:800;color:var(--text)}
.rate-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line-2)}
.rate-card .rate-row:first-of-type{border-top:none}
.rate-row-main{flex:1;min-width:0;padding-right:8px}
.rate-row-name{font-size:14px;font-weight:600;color:var(--text)}
.rate-row-range{font-size:11px;color:var(--sub);margin-top:2px}
.rate-badge{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#ff6a00;background:#fff1e6;border-radius:6px;padding:1px 6px}
/* 费率输入框：横宽扁矩形，输入与 %/元 单位内嵌于统一灰色圆角块，宽高比与参照图 1:1 对齐 */
.rate-num-box{display:flex;align-items:center;justify-content:space-between;background:var(--bg,#f6f8fb);border-radius:10px;padding:6px 12px;min-width:88px;max-width:124px;gap:6px;flex:0 0 auto;border:1px solid transparent;transition:border-color .15s;height:42px;box-sizing:border-box}
.rate-num-box:focus-within{border-color:var(--brand,#1677ff)}
.rate-num-input{flex:1;min-width:0;width:100%;background:transparent;border:0;outline:none;text-align:right;font-size:14px;font-weight:700;color:var(--text);-moz-appearance:textfield;appearance:textfield;padding:0;line-height:1.2}
.rate-num-input::-webkit-outer-spin-button,.rate-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rate-num-unit{flex:none;font-size:13px;color:var(--sub);margin-left:3px;line-height:1}
.rate-chev{color:var(--sub);display:flex}
.rate-row-cap{justify-content:flex-end;gap:10px}
.rate-cap-txt{font-size:14px;font-weight:600;color:var(--text)}
.rate-row-sel{cursor:pointer}

/* —— 照片上传 —— */
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.photo-grid-single{margin-bottom:12px}
.photo-up{background:var(--card);border-radius:14px;padding:12px;box-shadow:var(--shadow)}
.photo-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;display:flex;align-items:center}
.photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:104px;border:1.5px dashed var(--line);border-radius:12px;color:var(--sub);font-size:12px;cursor:pointer;background:var(--line-2);transition:border-color .15s}
.photo-placeholder:active{border-color:var(--brand)}
.photo-placeholder svg{color:var(--brand);opacity:.55}
.photo-preview{position:relative;height:104px;border-radius:12px;overflow:hidden;background:#10131a}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-re{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:3px 8px;border-radius:8px;display:flex;align-items:center;gap:3px;cursor:pointer}
.photo-del{position:absolute;right:6px;top:6px;background:rgba(245,70,92,.9);color:#fff;font-size:11px;padding:3px 8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:3px}

/* —— 底部弹窗选择器 —— */
.bs-panel{background:#fff;width:100%;border-radius:22px 22px 0 0;padding:6px 0 calc(10px + var(--safe-b));max-height:72vh;overflow:auto;animation:slide .26s cubic-bezier(.2,.8,.2,1)}
.bs-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.bs-title{font-size:16px;font-weight:800;color:var(--text)}
.bs-close{color:var(--sub);display:flex;cursor:pointer;padding:4px;margin:-4px}
.bs-body{padding:4px 0}
.bs-item{display:flex;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line-2);cursor:pointer}
.bs-item:active{background:var(--brand-soft)}
.bs-item-main{flex:1;min-width:0}
.bs-item-name{font-size:15px;font-weight:600;color:var(--text)}
.bs-item-desc{font-size:12px;color:var(--sub);margin-top:2px}

/* —— 开关 —— */
.ob-toggle-row{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-radius:13px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}
.ob-toggle-info{flex:1;min-width:0}
.ob-toggle-lbl{font-size:14px;font-weight:700;color:var(--text)}
.ob-toggle-sub{font-size:12px;color:var(--sub);margin-top:3px}
.toggle-switch{position:relative;display:inline-block;width:46px;height:26px;flex:none;margin-left:10px}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--line);border-radius:30px;transition:.2s}
.toggle-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.toggle-switch input:checked + .toggle-slider{background:var(--brand)}
.toggle-switch input:checked + .toggle-slider::before{transform:translateX(20px)}

/* 身份证有效期选择器 */
.idv-sheet{width:100%;max-height:90vh;background:#fff;border-radius:22px 22px 0 0;padding:18px 18px calc(20px + var(--safe-b));overflow:auto;animation:slideUp .25s ease}
.idv-title{font-size:17px;font-weight:800;text-align:center;color:var(--text);margin-bottom:14px}
/* 顶部返回箭头：弹层必须有明确关闭入口，避免「确定」失效时用户被困在弹层里只能退出 App */
.idv-head{display:flex;align-items:center;gap:4px;margin-bottom:8px}
.idv-head .idv-title{flex:1;margin-bottom:0}
.idv-head-pad{flex:none;width:34px}
.idv-back{flex:none;width:34px;height:34px;border:none;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent}
.idv-back:active{background:#f0f2f7}
.idv-row{display:flex;align-items:center;justify-content:space-between;padding:10px 2px;border-bottom:1px solid var(--line)}
.idv-row-label{font-size:15px;color:var(--text);font-weight:600}
.idv-block{transition:opacity .2s;padding-top:6px}
.idv-sub{font-size:13px;color:var(--sub);margin:10px 2px 6px}
.idv-date{display:flex;align-items:center;gap:6px}
.idv-date select{flex:1 1 52px;min-width:52px;background:#f4f6fa;border:1px solid var(--line);border-radius:10px;padding:12px 6px;font-size:16px;text-align:center;color:var(--text);font-weight:600}
.idv-date select:disabled{opacity:.6;background:#eef1f6}
.idv-unit{font-size:14px;color:var(--sub);flex:none;padding:0 2px}
.idv-confirm{margin-top:18px;width:100%}
/* 长期有效开启时灰显日期区 */
.idv-block.disabled{opacity:.45;pointer-events:none}

/* ── 商户审核三板块（横向表头 + 各自折叠面板）── */
.rv-row{ display:flex; gap:8px; }
.rv-head{
  flex:1 1 0; min-width:0;
  display:flex; align-items:center; justify-content:space-between; gap:6px;
  padding:11px 10px;
  background:var(--card,#fff);
  border:1px solid var(--line,#eef1f6);
  border-radius:12px;
  cursor:pointer; -webkit-tap-highlight-color:transparent;
  font:inherit; color:var(--text,#1c2433); text-align:left;
  transition:background .15s ease;
}
.rv-head:active{ background:var(--bg,#f6f8fb); }
.rv-h-l{ display:flex; align-items:center; gap:6px; min-width:0; }
.rv-h-l .pill{ font-size:12px; padding:3px 9px; }
.rv-count{
  font-size:12px; font-weight:700; color:var(--sub,#8a93a6);
  background:var(--bg,#f1f4f9); border-radius:10px; padding:1px 8px; min-width:20px; text-align:center;
}
.rv-chev{ width:18px; height:18px; flex:none; color:var(--sub,#8a93a6); transition:transform .22s ease; }
.rv-chev svg{ width:18px; height:18px; display:block; }
.rv-head.open .rv-chev{ transform:rotate(180deg); color:var(--brand); }
.rv-panels{ margin-top:10px; }
.rv-panel[hidden]{ display:none; }
.rv-panel{ animation:rvIn .22s ease; }
@keyframes rvIn{ from{opacity:0; transform:translateY(-4px);} to{opacity:1; transform:none;} }
.rv-item{ background:var(--bg,#f6f8fb); border-radius:10px; padding:10px 12px; margin-bottom:8px; }
.rv-item:last-child{ margin-bottom:0; }
.rv-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rv-ch{ font-size:13.5px; font-weight:700; }
.rv-mch{ font-size:12.5px; color:var(--sub,#8a93a6); margin-top:5px; }
.rv-note{ font-size:12px; color:#b9781a; margin-top:5px; line-height:1.5; }
.rv-time{ font-size:11.5px; color:var(--sub,#8a93a6); margin-top:3px; }
.rv-empty{ font-size:12px; color:var(--sub,#8a93a6); text-align:center; padding:10px 0; }
.rv-item[data-tap="1"]{ cursor:pointer; border:1px solid #ffe0e0; }
.rv-item[data-tap="1"]:active{ background:#fff5f5; }

/* 审核中：勾选删除（管理开关 + 勾选框 + 底部操作条） */
.rv-manage{ flex:none; align-self:center; margin-left:2px; font:inherit; font-size:13px; font-weight:700; color:var(--brand,#2b5cff); background:none; border:none; padding:6px 8px; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.rv-item.has-cb{ display:flex; align-items:flex-start; gap:8px; }
.rv-item.has-cb .rv-top{ flex:1; min-width:0; }
.rv-cb{ flex:none; display:flex; align-items:center; padding-top:2px; }
.rv-cb input{ width:18px; height:18px; accent-color:var(--brand,#2b5cff); }
.rv-delbar{ position:fixed; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px calc(10px + var(--safe-b,0px)); background:var(--card,#fff); border-top:1px solid var(--line,#eef1f6); box-shadow:0 -4px 16px rgba(20,30,50,.08); z-index:55; }
.rv-delsel{ display:flex; align-items:center; gap:12px; font-size:13px; color:var(--sub,#8a93a6); }
.rv-cball{ display:flex; align-items:center; gap:5px; cursor:pointer; }
.rv-cball input{ width:17px; height:17px; accent-color:var(--brand,#2b5cff); }
.rv-delbtn{ flex:none; }
.rv-delbtn:disabled{ opacity:.5; }

/* 商户列表：操作入口（进件资料 / 审核状态按钮） */
.acard-acts{ display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:7px; }
.acard-act{ font-size:12.5px; font-weight:700; color:var(--brand, #2b5cff); cursor:pointer; -webkit-tap-highlight-color:transparent; position:relative; }
.acard-act::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; border-bottom:1px solid currentColor; opacity:.35; }
.acard-act:active{ opacity:.6; }
/* 审核状态按钮（审核通过 / 审核驳回），点击进入修改 */
.rvstat{ display:inline-flex; align-items:center; font-size:12px; font-weight:700; padding:3px 10px; border-radius:9px; cursor:pointer; -webkit-tap-highlight-color:transparent; white-space:nowrap; }
.rvstat.rv-ok{ color:#1a9e57; background:#e7f7ee; border:1px solid #b6e6cb; }
.rvstat.rv-no{ color:#d83a3a; background:#fdecec; border:1px solid #f6c9c9; }
.rvstat:active{ filter:brightness(.96); }
/* 审核驳回卡片：内联原因 + 可修改入口 */
.rv-edit-tag{ font-size:11px; font-weight:700; color:#d83a3a; background:#fdecec; border:1px solid #f6c9c9; border-radius:8px; padding:1px 8px; }
.rv-edit-hint{ font-size:12px; color:#d83a3a; margin-top:6px; line-height:1.5; font-weight:600; }

/* ===== 商户详情标签页（报备/设备/主体/结算/费率/额度/连锁/应用/其他） ===== */
.md-tabs{display:flex;gap:4px;overflow-x:auto;position:sticky;top:0;background:var(--bg,#f5f7fb);padding:8px 10px;z-index:5;border-bottom:1px solid #eef1f7}
.md-tab{flex:0 0 auto;padding:6px 12px;border-radius:999px;background:#eef1f7;color:#6b7587;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.md-tab.active{background:var(--brand,#2b5cff);color:#fff}
.md-body{padding:10px}
.md-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px dashed #eef1f7}
.md-row:last-child{border-bottom:none}
.md-l{color:#8a93a6;font-size:13px;min-width:64px}
.md-row b.num{margin-left:auto}
.md-no{margin-left:auto;color:#9aa3b5;font-size:12px}
.md-dev{padding:10px 0;border-bottom:1px dashed #eef1f7}
.md-dev-top{display:flex;justify-content:space-between;align-items:center}
.md-sn{font-weight:600;font-size:13px}
.md-dev-no{color:#9aa3b5;font-size:12px;margin:4px 0 6px}
.md-sn-input{margin-bottom:10px}
/* 设备绑定：扫码框 + 库存 SN 选择 */
.md-scan{position:relative;width:100%;aspect-ratio:4/3;background:#0c1322;border-radius:14px;overflow:hidden;margin-bottom:10px}
.md-scan video{width:100%;height:100%;object-fit:cover;display:none}
.md-scan-frame{position:absolute;inset:18% 22%;border:2px dashed rgba(255,255,255,.7);border-radius:12px;pointer-events:none}
.md-scan-hint{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#cdd6e6;font-size:12px;padding:0 12px}
.stock-type{border:1px solid #eef1f7;border-radius:12px;margin-top:10px;overflow:hidden}
.stock-type-head{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f7f9fd;font-weight:700;font-size:14px;cursor:pointer}
.stock-type-head .stock-count{margin-left:auto;background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:1px 9px;font-size:12px}
.stock-type-head .stock-arrow{transition:transform .2s;color:#9aa3b5}
.stock-type.open .stock-arrow{transform:rotate(90deg)}
.stock-sn-list{padding:10px 14px;display:flex;flex-wrap:wrap;gap:8px;background:#fff}
.sn-chip{border:1px solid var(--brand-soft);background:var(--brand-soft);color:var(--brand);border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:ui-monospace,Menlo,Consolas,monospace}
.sn-chip:active{transform:scale(.96)}
.md-checkall,.md-check{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px dashed #eef1f7;font-size:14px}
.md-check .md-sub{margin-left:auto;color:#9aa3b5;font-size:12px}
.ab-list{max-height:52vh;overflow:auto}
.ab-list .md-check{cursor:pointer}

/* ============================================================
   行业类型选择 Popover（大厂版 / 三列联动 / 左右双栏）
   - 顶层顶部栏 + 搜索框 + 三列表头 + 左右双栏
   - 左侧大类选中带蓝色左竖条
   - 右侧小类 + MCC 码双列实时联动
   - 与图示模板 1:1 对齐
   ============================================================ */
.ind-pick-mask{position:fixed;inset:0;background:#fff;z-index:80;display:flex;flex-direction:column;animation:fade .2s ease}
.ind-pick{display:flex;flex-direction:column;height:100%;width:100%;background:#fff;color:var(--text);font-size:14px}
/* ── 顶部栏 ── */
.ind-head{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line)}
.ind-head-btn{font-size:14px;color:var(--text);background:none;border:0;padding:8px 4px;cursor:pointer;-webkit-tap-highlight-color:transparent;font-weight:600}
.ind-head-btn:active{opacity:.6}
.ind-head-btn.ind-confirm{color:var(--brand);font-weight:700}
.ind-head-title{flex:1;text-align:center;font-size:16px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ── 搜索框 ── */
.ind-search{margin:10px 14px 6px;position:relative;flex:none}
.ind-search input{width:100%;height:40px;background:#f4f6fa;border:1px solid transparent;border-radius:999px;padding:0 38px 0 38px;font-size:14px;color:var(--text);outline:none;transition:.18s}
.ind-search input::placeholder{color:#a0a6b8}
.ind-search input:focus{background:#eef3ff;border-color:var(--brand-soft)}
.ind-search .ind-search-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#a0a6b8;display:flex;pointer-events:none}
.ind-search .ind-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#a0a6b8;cursor:pointer;padding:6px;display:none}
.ind-search.has-val .ind-search-clear{display:flex}
/* ── 三列表头 ── */
.ind-cols-head{display:flex;flex:none;background:#f7f9fc;border-bottom:1px solid var(--line-2);font-size:12.5px;color:#8a93a5;font-weight:600;letter-spacing:.4px}
.ind-cols-head > div{padding:11px 12px;display:flex;align-items:center}
.ind-cols-head .ind-h-cat{width:34%;border-right:1px solid var(--line-2)}
.ind-cols-head .ind-h-sub{flex:1;border-right:1px solid var(--line-2)}
.ind-cols-head .ind-h-mcc{width:96px;justify-content:flex-end}
/* ── 左右双栏主体 ── */
.ind-cols{flex:1;display:flex;overflow:hidden;position:relative;background:#fff}
.ind-col-left{width:34%;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--line);background:#fff;-webkit-overflow-scrolling:touch}
.ind-col-right{flex:1;overflow-y:auto;overflow-x:hidden;background:#fff;-webkit-overflow-scrolling:touch}
/* ── 左侧大类条目 ── */
.ind-cat{position:relative;padding:12px 14px;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:700;color:var(--text);line-height:1.45;cursor:pointer;min-height:48px;display:flex;align-items:center;-webkit-tap-highlight-color:transparent}
.ind-cat .ind-cat-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;border-radius:0 3px 3px 0}
.ind-cat.active{background:var(--brand-soft)}
.ind-cat.active .ind-cat-bar{background:var(--brand)}
.ind-cat.active .ind-cat-txt{color:var(--brand)}
.ind-cat-txt{word-break:break-word;padding-right:6px;line-height:1.35}
/* ── 右侧小类 + MCC 双列 ── */
.ind-sub{padding:14px 12px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;font-size:14px;color:#2c2f37;background:#fff;cursor:pointer;min-height:48px;-webkit-tap-highlight-color:transparent}
.ind-sub:active{background:#f7f9fc}
.ind-sub .ind-sub-name{flex:1;min-width:0;color:var(--text);font-weight:600;line-height:1.45;word-break:break-word;padding-right:10px}
.ind-sub .ind-sub-mcc{width:96px;text-align:right;color:#8a93a5;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";flex:none;font-size:14px}
.ind-sub.active{background:var(--brand-soft)}
.ind-sub.active .ind-sub-name{color:var(--brand);font-weight:700}
.ind-sub.active .ind-sub-mcc{color:var(--brand);font-weight:700}
/* ── 占位 / 空态 ── */
.ind-section-title{background:#f7f9fc;color:#8a93a5;font-size:12px;padding:8px 14px;border-bottom:1px solid var(--line-2);font-weight:600}
.ind-empty{padding:48px 24px;text-align:center;color:#a0a6b8;font-size:13.5px}

/* ============================================================
   三板块重构（通道活动 / 银行活动 / 数币开通）—— 对齐星驿付官方
   ============================================================ */
/* ── 通道/银行活动列表卡 ── */
.act-list{padding:0 12px 12px}
.act-card{background:#fff;border-radius:10px;padding:14px 14px;margin:10px 0;display:flex;align-items:flex-start;gap:10px;-webkit-tap-highlight-color:transparent;cursor:pointer;border:1px solid var(--line-2)}
.act-card:active{background:#f7f9fc}
.act-card .act-main{flex:1;min-width:0}
.act-card .act-name{font-size:15px;font-weight:600;color:var(--text);line-height:1.4;word-break:break-word}
.act-card .act-date{margin-top:4px;font-size:12px;color:#9aa3b5}
.act-card .act-date .act-date-label{color:#9aa3b5}
.act-card-bank .act-name{font-size:15.5px}
.act-card-bank .act-region{margin-top:4px;font-size:12px;color:#9aa3b5}
.act-badge{flex:none;display:inline-block;font-size:11px;color:#ff7a45;background:rgba(255,122,69,.1);padding:3px 8px;border-radius:4px;font-weight:600;margin-top:2px;line-height:1.4;white-space:nowrap}

/* ── 银行活动入口 4 卡菜单 ── */
.bk-cards{padding:0 12px}
.bk-card{background:#fff;border-radius:10px;padding:14px;margin:10px 0;display:flex;align-items:center;gap:12px;-webkit-tap-highlight-color:transparent;cursor:pointer;border:1px solid var(--line-2)}
.bk-card:active{background:#f7f9fc}
.bk-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex:none;font-size:22px}
.bk-icon-blue{background:#4a7bff}
.bk-icon-orange{background:#ff7a45}
.bk-icon-cyan{background:#2bb6c1}
.bk-icon-purple{background:#7c5cff}
.bk-main{flex:1;min-width:0}
.bk-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}
.bk-sub{margin-top:3px;font-size:12.5px;color:#8a93a5;line-height:1.35}
.bk-arr{flex:none;color:#c6cbd9}

/* ── 商户选择卡（活动下) ── */
.merch-list{padding:0 12px 12px}
.merch-card{background:#fff;border-radius:10px;padding:14px 14px;margin:10px 0;display:flex;align-items:center;gap:10px;-webkit-tap-highlight-color:transparent;cursor:pointer;border:1px solid var(--line-2)}
.merch-card:active{background:#f7f9fc}
.merch-main{flex:1;min-width:0}
.merch-name{font-size:15px;font-weight:600;color:var(--text);line-height:1.35;word-break:break-word}
.merch-id{margin-top:3px;font-size:12.5px;color:#9aa3b5;font-variant-numeric:tabular-nums}
.merch-arr{flex:none;color:#c6cbd9}
.merch-title-line{padding:14px 14px 4px;display:flex;align-items:flex-end;gap:4px}
.merch-title-line .mt-name{font-size:17px;font-weight:700;color:var(--text);line-height:1.3}
.merch-title-line .mt-region{font-size:12.5px;color:#9aa3b5;margin-top:2px}

/* ── 报名信息确认 ── */
.signup-form{padding:0 12px 140px}
.signup-section{background:#fff;border-radius:10px;margin:10px 0;border:1px solid var(--line-2);overflow:hidden}
.signup-sec-title{padding:11px 14px 4px;font-size:13px;color:#8a93a5}
.signup-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line-2);min-height:48px}
.signup-row:last-child{border-bottom:none}
.signup-row .sf-label{font-size:14px;color:var(--text);flex:none;max-width:42%;line-height:1.3}
.signup-row .sf-val{flex:1;text-align:right;font-size:14px;color:#2c2f37;min-width:0;word-break:break-all;margin-left:10px;display:flex;align-items:center;justify-content:flex-end;gap:6px}
.signup-row .sf-val.placeholder{color:#c6cbd9}
.signup-actions{display:flex;gap:10px;padding:14px 12px calc(16px + var(--safe-b));background:#fff;position:fixed;left:0;right:0;bottom:var(--tabbar-h,56px);border-top:1px solid var(--line-2);z-index:40}
.signup-actions .btn{flex:1;height:44px;border-radius:22px;font-size:14px}
.btn.btn-outline-primary{background:transparent;color:var(--brand);border:1px solid var(--brand)}
.btn.btn-outline-primary:active{background:var(--brand-soft)}

/* ── 扫码盒子：门店照片上传优化（大点选框 + 紧凑上传按钮） ── */
.signup-row--stack{flex-direction:column;align-items:stretch}
.signup-row--stack .sf-label{margin-bottom:6px}
.sf-photo-wrap{display:flex;flex-direction:column;gap:10px}
.sf-photo-wrap .photo-up{padding:10px;box-shadow:none}
.sf-photo-wrap .photo-placeholder{height:132px}
.sf-photo-wrap .photo-preview{height:132px}
.sb-upload-btn{align-self:flex-end;width:auto;min-width:92px;height:38px;padding:0 22px;border-radius:19px;font-size:14px;font-weight:600}

/* ── 数币开通 ── */
.ecny-search{display:flex;align-items:center;background:#fff;margin:10px 12px;padding:6px 12px;border-radius:22px;border:1px solid var(--line-2)}
.ecny-search input{flex:1;border:none;outline:none;background:transparent;font-size:14px;padding:6px 4px;min-width:0}
.ecny-search .ecny-search-btn{flex:none;color:var(--brand);font-size:14px;font-weight:600;padding:2px 4px}
.ecny-tabs{display:flex;background:#fff;border-bottom:1px solid var(--line-2);padding:0 12px;position:sticky;top:48px;z-index:4}
.ecny-tabs .ecny-tab{flex:1;padding:12px 0;font-size:14px;color:#8a93a5;text-align:center;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;font-weight:500}
.ecny-tabs .ecny-tab.active{color:var(--brand);font-weight:700}
.ecny-tabs .ecny-tab.active::after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:24px;height:3px;background:var(--brand);border-radius:2px}
.ecny-list{padding:0 12px 24px}
.ecny-card{background:#fff;border-radius:10px;padding:14px;margin:10px 0;border:1px solid var(--line-2)}
.ecny-card-top{display:flex;align-items:flex-start;gap:8px}
.ecny-card .ecny-name{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--text);line-height:1.4}
.ecny-card .ecny-refresh{flex:none;color:var(--brand);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-soft);border-radius:50%;cursor:pointer}
.ecny-card .ecny-id{margin-top:4px;font-size:12.5px;color:#9aa3b5}
.ecny-card .ecny-status-line{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.ecny-card .ecny-status{font-size:13px;color:#8a93a5}
.ecny-card .ecny-status .es-label{color:#9aa3b5}
.ecny-card .ecny-status .es-val{color:var(--text);font-weight:600;margin-left:4px}
.ecny-card .ecny-status-opened .es-val{color:#2bb673}
.ecny-card .ecny-status-failed .es-val{color:#e84242}
.ecny-card .ecny-status-pending .es-val{color:#ff7a45}
.ecny-apply{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;width:100%;height:42px;border-radius:21px;background:var(--brand);color:#fff;font-size:14px;font-weight:600;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ecny-apply:active{background:var(--brand-press)}
/* ── 顶部副标题(银行活动地点)── */
.act-subbar{padding:14px 14px 6px;background:#fff;border-bottom:1px solid var(--line-2)}
.act-subbar .as-title{font-size:17px;font-weight:700;color:var(--text);line-height:1.3}
.act-subbar .as-region{font-size:12.5px;color:#9aa3b5;margin-top:3px}
.act-subbar.disabled{opacity:.55}

/* 兼容小屏（<=360px）收紧 */
@media (max-width:360px){
  .ind-cols-head .ind-h-cat{width:38%}
  .ind-cols-head .ind-h-mcc{width:78px}
  .ind-sub .ind-sub-mcc{width:78px}
  .ind-cat{font-size:14.5px;padding:11px 12px}
}

/* ── 阶梯费率配置（星驿 updateStairsRate）── */
.st-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.st-row .ob-input{flex:1;min-width:0;padding:0 8px;height:38px;font-size:14px;text-align:center}
.st-row.st-head{margin-bottom:4px}
.st-row.st-head>span{flex:1;min-width:0;text-align:center;font-size:12px;color:#9aa3b5;font-weight:600}
/* 表头末位为删除按钮占位，宽度与 .st-del 一致 */
.st-row.st-head>span:last-child{flex:none;width:28px}
.st-del{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);background:#fff;color:#e84242;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.st-del:active{background:#fff1f0}

/* ── 应用内浏览器浮层（外部链接）── */
.iab{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;flex-direction:column;animation:iabIn .18s ease}
@keyframes iabIn{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
.iab-bar{height:48px;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 6px;background:#fff;border-bottom:1px solid var(--line-2);box-shadow:0 1px 4px rgba(0,0,0,.04)}
.iab-back,.iab-ext{width:40px;height:40px;border:none;background:transparent;color:#2b6cff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}
.iab-back:active,.iab-ext:active{background:#eef3ff}
.iab-title{flex:1;min-width:0;font-size:15.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;padding:0 4px}
.iab-frame{flex:1;width:100%;border:none;background:#fff}
.iab-fallback{position:absolute;left:0;right:0;top:48px;bottom:0;background:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.iab-fb-ic{color:#f0a020;margin-bottom:10px}
.iab-fb-t{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}
.iab-fb-s{font-size:13px;color:var(--sub);margin-bottom:18px;max-width:260px;line-height:1.6}
.iab-fb-btn{border:none;background:#2b6cff;color:#fff;font-size:15px;font-weight:600;padding:11px 28px;border-radius:24px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.iab-fb-btn:active{background:#1f57e0}

/* 培训学院外链：就地嵌入内容阅读器（不跳转外部浏览器，仅返回箭头回上一页） */
.acb-reader{position:fixed;inset:0;z-index:9000;background:#fff;display:flex;flex-direction:column}
.acb-bar{height:48px;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 6px;background:#fff;border-bottom:1px solid var(--line-2);box-shadow:0 1px 4px rgba(0,0,0,.04)}
.acb-back{width:40px;height:40px;border:none;background:transparent;color:#2b6cff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}
.acb-back:active{background:#eef3ff}
.acb-title{flex:1;min-width:0;font-size:15.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.acb-body{flex:1;position:relative;background:#fff;min-height:0}
.acb-frame{width:100%;height:100%;border:none;background:#fff;display:block}
.acb-fallback{position:absolute;left:0;right:0;top:0;bottom:0;background:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}

/* ===== 代理商管理：呼叫权限（严格限定直属关系） ===== */
.acard-call{flex:none;align-self:center;margin-left:8px;border:1px solid var(--call,#16b364);background:var(--call-soft,#e9f9f0);color:var(--call,#16b364);border-radius:9px;padding:6px 11px;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:4px;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}
.acard-call:hover{text-decoration:none}
.acard-call:active{background:var(--call,#16b364);color:#fff}
.acard-mask{color:#b9c0cc}
.sup-card{display:flex;align-items:center;gap:12px;padding:13px;margin:10px 0 4px;background:linear-gradient(135deg,#f3f8ff,#eef3ff);border:1px solid var(--line);border-radius:14px}
.sup-card .sup-ic{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;background:var(--brand);flex:none}
.sup-card .sup-main{flex:1;min-width:0}
.sup-card .sup-title{font-size:11px;color:var(--sub);margin-bottom:2px}
.sup-card .sup-name{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:7px}
.sup-card .sup-sub{font-size:12px;color:var(--sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== 2026-09-07 团队管理大厂版 + 代理头像 ===== */
/* 个人头像：可点上传 */
.p-avatar{position:relative;overflow:hidden;cursor:pointer}
.p-ava-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:2}
.p-ava-ini{position:relative;z-index:1}
.p-ava-cam{position:absolute;right:-2px;bottom:-2px;z-index:3;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:11px;line-height:20px;text-align:center;border:2px solid #fff;pointer-events:none}
/* 通用头像组件（列表/详情复用） */
.ava{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#fff;background:#c7ccd6;position:relative;overflow:hidden;flex:none}
.ava.lv-super{background:linear-gradient(135deg,#f0c14b,#c89b1f);color:#1a1408}
.ava.lv-1{background:linear-gradient(135deg,#14b8a6,#0d9488)}
.ava.lv-2{background:linear-gradient(135deg,#3b82f6,#2563eb)}
.ava.lv-3{background:linear-gradient(135deg,#6366f1,#4f46e5)}
.ava.lv-4{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}
.ava.lv-5{background:linear-gradient(135deg,#db2777,#c026a3)}
.ava.lv-6{background:linear-gradient(135deg,#e0b341,#b8860b)}
.ava-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:2}
.ava-ini{position:relative;z-index:1}
/* 团队汇总条 */
.am-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 14px 0}
.am-sum-i{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 6px;text-align:center}
.am-sum-v{font-size:18px;font-weight:800;color:var(--brand);line-height:1.1}
.am-sum-l{font-size:11px;color:var(--sub);margin-top:5px}
/* 工具条：筛选 + 排序 */
.am-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 14px 0}
.am-filters{display:flex;gap:7px;flex-wrap:wrap}
.am-chip{font-size:12.5px;padding:6px 12px;border-radius:20px;background:#fff;border:1px solid var(--line);color:var(--sub);cursor:pointer;-webkit-tap-highlight-color:transparent}
.am-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}
.am-sort{font-size:12.5px;padding:6px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--text);max-width:42%}
/* 代理卡片（大厂版） */
.tcard{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:14px;margin-bottom:9px;border:1px solid var(--line);cursor:pointer;transition:transform .12s,box-shadow .12s}
.tcard:active{transform:scale(.99);box-shadow:0 4px 14px rgba(20,30,60,.07)}
.tcard-ava{width:48px;height:48px}
.tcard-main{flex:1;min-width:0}
.tcard-name{font-size:15px;font-weight:700;display:flex;align-items:center;gap:7px}
.tcard-sub{font-size:12px;color:var(--sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcard-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px;font-size:11px;color:var(--sub)}
.tcard-meta .tm{background:var(--line-2);padding:2px 7px;border-radius:7px}
.tcard-stat{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px;font-size:11.5px;color:var(--sub)}
.tcard-stat b{color:var(--text);font-weight:800}
.tcard-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.tcard-go{font-size:22px;color:#c4ccd8;line-height:1}
/* 成员详情 */
.ad-head{display:flex;align-items:center;gap:14px;margin:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.ad-ava{width:60px;height:60px;border-radius:18px}
.ad-info{flex:1;min-width:0}
.ad-name{font-size:17px;font-weight:800;display:flex;align-items:center;gap:7px}
.ad-sub{font-size:12.5px;color:var(--sub);margin-top:4px}
.ad-actions{display:flex;gap:10px;margin:0 14px 12px}
.ad-actions .acard-call{flex:1;justify-content:center;margin-left:0}
.am-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-radius:12px;overflow:hidden}
.am-cell{background:#fff;padding:13px 14px}
.am-cell-v{font-size:16px;font-weight:800;color:var(--text)}
.am-cell-l{font-size:12px;color:var(--sub);margin-top:4px}
/* 成员详情（参考图 2026-09-07） */
.ad-header-blue{position:relative;margin:-10px -10px 12px;padding:28px 16px 24px;text-align:center;background:linear-gradient(135deg,#3b6cff 0%,#2347ff 100%);color:#fff;border-radius:0 0 22px 22px;box-shadow:0 8px 24px rgba(35,71,255,.22)}
.ad-header-blue .ad-h-ava{width:72px;height:72px;border-radius:50%;margin:0 auto 12px;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.55);box-shadow:0 4px 14px rgba(0,0,0,.12)}
.ad-header-blue .ad-h-ava .ava-ini{color:#fff;font-size:26px;font-weight:700}
.ad-header-blue .ad-h-name{font-size:19px;font-weight:800;margin-bottom:10px;color:#fff}
.ad-header-blue .ad-h-level{display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px;background:rgba(255,255,255,.22);color:#fff;border:1px solid rgba(255,255,255,.35)}
.ad-profit-card{padding:16px 14px;background:linear-gradient(135deg,#f6f8ff 0%,#fff 100%);border-radius:14px}
.ad-profit-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:12px}
.ad-profit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.ad-profit-cell{padding:10px 4px;background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ad-profit-v{font-size:16px;font-weight:800;color:var(--brand);white-space:nowrap}
.ad-profit-l{font-size:11px;color:var(--sub);margin-top:4px}
.ad-tabs{display:flex;justify-content:center;gap:8px;margin:0 auto 14px}
.ad-tab{font-size:13px;font-weight:600;padding:6px 18px;border-radius:20px;background:var(--line-2);color:var(--sub);cursor:pointer;transition:all .15s}
.ad-tab.active{background:var(--brand);color:#fff}
.ad-trend-wrap{min-height:150px}

/* ── 额度信息 · 星驿付官方 APP 排版一比一复刻 ── */
.qt-card{background:var(--card);border-radius:var(--radius);margin:14px 14px 0;box-shadow:var(--shadow);overflow:hidden}
.qt-head{display:flex;align-items:center;gap:8px;padding:14px 16px 8px}
.qt-ico{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:0 0 22px}
.qt-ico-scan{background:#12b76a}
.qt-ico-card{background:#1d2939}
.qt-ico-cash{background:#f5a623}
.qt-title{font-size:15px;font-weight:700;color:var(--text)}
.qt-ch{display:flex;align-items:center;padding:2px 16px}
.qt-ch+.qt-ch{border-top:1px solid var(--line-2)}
.qt-ch-name{flex:0 0 88px;font-size:14px;font-weight:600;color:var(--text)}
.qt-ch-rows{flex:1;min-width:0}
.qt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0}
.qt-lbl{font-size:13.5px;color:#5c6270;white-space:nowrap}
.qt-val{font-size:14.5px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;word-break:break-all}
.qt-note{margin:10px 18px 0;font-size:11.5px;color:var(--sub);line-height:1.6;padding-bottom:2px}

/* ── 员工管理（2026-09-10 代理公司员工子账号）── */
.st-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 14px 0}
.st-sum-i{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 6px;text-align:center}
.st-sum-v{font-size:17px;font-weight:800;color:var(--brand);line-height:1.15;font-variant-numeric:tabular-nums}
.st-sum-l{font-size:11px;color:var(--sub);margin-top:3px}
.st-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 14px 0;flex-wrap:wrap}
.st-chips{display:flex;gap:7px;flex-wrap:wrap}
.st-chip{font-size:12.5px;padding:5px 13px;border-radius:20px;background:var(--line-2);color:var(--sub);cursor:pointer;transition:all .15s}
.st-chip.active{background:var(--brand);color:#fff;font-weight:600}
.st-add{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--brand);background:rgba(59,110,246,.09);border:1px solid rgba(59,110,246,.25);padding:6px 13px;border-radius:20px;cursor:pointer}
.st-add:active{transform:scale(.96)}
.st-card{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border-bottom:1px solid var(--line-2);cursor:pointer}
.st-card:last-child{border-bottom:none}
.st-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#3b6ef6,#5b8cff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex:0 0 42px}
.st-av.off{background:#c2c7d0}
.st-main{flex:1;min-width:0}
.st-row1{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.st-name{font-size:15px;font-weight:700;color:var(--text)}
.st-pos{font-size:11px;color:#5b7cfa;background:rgba(91,124,250,.1);padding:2px 7px;border-radius:6px}
.st-pill{font-size:11px;padding:2px 8px;border-radius:9px;font-weight:600}
.st-pill.on{background:rgba(18,183,106,.12);color:#0e9f5d}
.st-pill.off{background:#f1f2f4;color:#8b909a}
.st-sub{font-size:12.5px;color:var(--sub);margin-top:4px;display:flex;gap:10px;flex-wrap:wrap}
.st-stats{display:flex;gap:14px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line-2)}
.st-stat{font-size:12px;color:var(--sub)}
.st-stat b{font-size:13.5px;color:var(--text);font-variant-numeric:tabular-nums;margin-left:3px}
.st-perms{margin-top:6px;display:flex;gap:4px;flex-wrap:wrap}
.st-perm{font-size:10.5px;color:#667085;background:var(--line-2);padding:2px 6px;border-radius:5px}
.st-acts{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.st-btn{font-size:12.5px;padding:5px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
.st-btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.st-btn.danger{color:#d93025;border-color:rgba(217,48,37,.35)}
.st-btn:active{opacity:.75}
/* 权限开关矩阵 */
.st-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.st-pitem{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff}
.st-pname{font-size:13px;font-weight:600;color:var(--text)}
.st-pdesc{font-size:10.5px;color:var(--sub);margin-top:1px;line-height:1.35}
.st-sw{position:relative;width:40px;height:22px;border-radius:11px;background:#d4d8de;flex:0 0 40px;cursor:pointer;transition:background .18s}
.st-sw.on{background:var(--brand)}
.st-sw i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.st-sw.on i{transform:translateX(18px)}
/* 业绩 */
.st-pf{display:flex;align-items:flex-end;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line-2)}
.st-pf:last-child{border-bottom:none}
.st-pf-m{flex:0 0 56px;font-size:12.5px;color:var(--sub);padding-bottom:2px}
.st-bars{flex:1;min-width:0}
.st-bar{height:9px;border-radius:5px;background:linear-gradient(90deg,#3b6ef6,#7aa2ff);min-width:2px;transition:width .4s}
.st-bar-l{height:9px;border-radius:5px;background:#eceff3}
.st-pf-v{font-size:12.5px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;margin-top:4px}
.st-pf-s{font-size:11px;color:var(--sub);font-weight:400;margin-left:6px}
/* 排行 */
.st-rk{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line-2)}
.st-rk:last-child{border-bottom:none}
.st-rk-no{width:26px;height:26px;border-radius:50%;background:var(--line-2);color:var(--sub);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 26px}
.st-rk-no.top1{background:linear-gradient(135deg,#f5a623,#ffcc4d);color:#fff}
.st-rk-no.top2{background:linear-gradient(135deg,#98a2b3,#c3c9d4);color:#fff}
.st-rk-no.top3{background:linear-gradient(135deg,#d9822b,#f0a868);color:#fff}
.st-rk-m{flex:1;min-width:0}
.st-rk-n{font-size:14.5px;font-weight:700;color:var(--text)}
.st-rk-s{font-size:11.5px;color:var(--sub);margin-top:2px}
.st-rk-v{text-align:right}
.st-rk-f{font-size:14.5px;font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums}
.st-rk-c{font-size:11px;color:var(--sub);margin-top:2px}
/* 员工身份条 */
.st-me{display:flex;align-items:center;gap:10px;margin:10px 14px 0;padding:12px 14px;background:linear-gradient(135deg,#3b6ef6,#5b8cff);border-radius:14px;color:#fff}
.st-me-ic{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex:0 0 36px}
.st-me-t{font-size:14.5px;font-weight:700}
.st-me-s{font-size:11.5px;opacity:.85;margin-top:2px}
