
/* ---- H5 基座 ---- */
*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;height:100%}
body{background:#e5e9f0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
#app{max-width:430px;margin:0 auto;min-height:100vh;background:#f8fafc;position:relative;
  box-shadow:0 0 40px rgba(15,23,42,.12);overflow-x:hidden}
.h5-page{min-height:100vh;padding-bottom:64px}
div,span{display:block}
span{display:inline}
img{max-width:100%}
a{text-decoration:none;color:inherit}
button{border:none;outline:none;font-family:inherit}
input,textarea{outline:none;font-family:inherit;border:none}
.h5-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.h5-scroll::-webkit-scrollbar{display:none}
/* ---- 仿真自定义导航栏（大返回按钮） ---- */
.h5-cnav{background:#fff;border-bottom:1px solid #e2e8f0;height:52px;display:flex;align-items:center;
  padding:6px 10px 0;position:sticky;top:0;z-index:99;box-shadow:0 1px 4px rgba(15,23,42,.05)}
.h5-back{display:flex;align-items:center;gap:3px;height:38px;padding:0 12px 0 7px;border-radius:12px;
  background:#f1f5f9;cursor:pointer}
.h5-arrow{font-size:28px;font-weight:800;color:#2563eb;line-height:1;margin-top:-3px;display:inline}
.h5-backtxt{font-size:14px;font-weight:800;color:#2563eb;letter-spacing:1px;display:inline}
.h5-cnav-title{position:absolute;left:120px;right:120px;text-align:center;font-size:15.5px;font-weight:800;color:#0f172a}
.h5-home{margin-left:auto;width:38px;height:38px;border-radius:12px;background:#f1f5f9;display:flex;
  align-items:center;justify-content:center;font-size:18px;color:#475569;cursor:pointer}
/* ---- Toast / Modal / ActionSheet ---- */
.h5-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);background:rgba(15,23,42,.88);
  color:#fff;padding:12px 20px;border-radius:12px;font-size:13.5px;max-width:76%;text-align:center;
  z-index:9999;opacity:0;pointer-events:none;transition:.22s;line-height:1.5}
.h5-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.h5-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9998;display:flex;align-items:center;
  justify-content:center;animation:h5fade .18s}
@keyframes h5fade{from{opacity:0}to{opacity:1}}
.h5-modal{background:#fff;border-radius:16px;width:78%;max-width:330px;overflow:hidden;animation:h5pop .2s}
@keyframes h5pop{from{transform:scale(.94);opacity:.6}to{transform:scale(1);opacity:1}}
.hm-title{font-size:16px;font-weight:800;color:#0f172a;padding:20px 20px 0}
.hm-body{font-size:14px;color:#475569;padding:12px 20px 18px;line-height:1.6}
.hm-foot{display:flex;border-top:1px solid #e2e8f0}
.hm-btn{flex:1;padding:14px 0;background:#fff;font-size:15px;font-weight:700;cursor:pointer}
.hm-btn.cancel{color:#64748b;border-right:1px solid #e2e8f0}
.hm-btn.ok{color:#2563eb}
.h5-sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;z-index:9999;
  max-width:430px;margin:0 auto;animation:h5up .22s;padding-bottom:8px}
@keyframes h5up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.as-title{font-size:12.5px;color:#94a3b8;text-align:center;padding:14px 0 6px}
.as-item{padding:15px;text-align:center;font-size:15px;color:#1e293b;border-top:1px solid #f1f5f9;cursor:pointer}
.as-item:active{background:#f8fafc}
.as-cancel{color:#64748b;font-weight:700;margin-top:6px}
/* ---- TabBar ---- */
.h5-tabbar{position:fixed;left:0;right:0;bottom:0;max-width:430px;margin:0 auto;background:#fff;
  border-top:1px solid #e2e8f0;height:58px;display:flex;z-index:100}
.tb-i{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}
.tb-ic{font-size:20px;filter:grayscale(1);opacity:.42}
.tb-t{font-size:10px;color:#94a3b8;font-weight:600}
.tb-i.on .tb-ic{filter:none;opacity:1}
.tb-i.on .tb-t{color:#2563eb}

/* =========================================================================
 * 红埔会客厅 · 微信小程序主题与样式
 * 由 H5 版 style.css 转换而来：CSS 变量改挂 page，剥离手机外壳
 * ========================================================================= */
:root,body{
  --blue-900:#0f2a54; --blue-800:#16386e; --blue-700:#1d4b96;
  --blue-600:#2563eb; --blue-500:#3b82f6; --blue-400:#60a5fa;
  --blue-100:#dbeafe; --blue-50:#eff6ff;
  --gray-900:#0f172a; --gray-800:#1e293b; --gray-700:#334155;
  --gray-600:#475569; --gray-500:#64748b; --gray-400:#94a3b8;
  --gray-300:#cbd5e1; --gray-200:#e2e8f0; --gray-100:#f1f5f9; --gray-50:#f8fafc;
  --white:#ffffff;
  --gold:#d4a017; --silver:#8fa3b8; --bronze:#b08d57; --diamond:#3b82f6;
  --ok:#10b981; --warn:#f59e0b; --danger:#ef4444;
  --radius:14px; --radius-sm:10px; --radius-lg:20px;
  --shadow-sm:0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
  --shadow:0 4px 16px rgba(15,23,42,.08);
  --shadow-lg:0 12px 32px rgba(15,23,42,.12);
  --tabbar-h:58px;
  background: var(--gray-50);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;
  color: var(--gray-800);
  -webkit-font-smoothing: antialiased;
}



* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }




/* ========== 状态栏 ========== */
.statusbar.dark + .navbar,
/* ========== 顶部导航 ========== */
/* ========== 页面容器 ========== */
/* 关键：纵向 flex 页面子项不收缩，配合滚动 */
@keyframes pageIn { from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }
/* ========== 底部 TabBar ========== */
/* ========== 通用组件 ========== */
.pad { padding:14px; }
.card {
  background:var(--white); border-radius:var(--radius); padding:14px;
  box-shadow:var(--shadow-sm); border:1px solid var(--gray-100);
}
.card + .card { margin-top:10px; }
.row { display:flex; align-items:center; }
.row.between { justify-content:space-between; }
.gap6{gap:6px}.gap8{gap:8px}.gap10{gap:10px}.gap12{gap:12px}
.mt6{margin-top:6px}.mt10{margin-top:10px}.mt14{margin-top:14px}.mt18{margin-top:18px}
.f1{flex:1; min-width:0;}
.center{text-align:center}
.muted{color:var(--gray-500); font-size:12.5px;}
.tiny{font-size:11px; color:var(--gray-400);}
.h1{font-size:20px; font-weight:800; letter-spacing:.3px; color:var(--gray-900);}
.h2{font-size:16px; font-weight:700; color:var(--gray-900);}
.h3{font-size:14px; font-weight:700; color:var(--gray-800);}
.ellip{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.clamp2{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.sec-title {
  display:flex; align-items:center; justify-content:space-between;
  margin:18px 14px 10px;
}
.sec-title .st-l { display:flex; align-items:center; gap:8px; font-size:15.5px; font-weight:800; color:var(--gray-900); }
.sec-title .st-l::before {
  content:''; width:4px; height:15px; border-radius:2px;
  background:linear-gradient(180deg,var(--blue-500),var(--blue-700));
}
.sec-title .st-r { font-size:12px; color:var(--gray-400); cursor:pointer; display:flex; align-items:center; gap:2px; }

/* 按钮 */
.btn {
  border:none; border-radius:var(--radius-sm); padding:12px 16px;
  font-size:14px; font-weight:700; cursor:pointer; transition:.16s;
  font-family:inherit; display:inline-flex; align-items:center; justify-content:center; gap:6px;
}
.btn:active { transform:scale(.97); }
.btn-primary { background:linear-gradient(135deg,var(--blue-500),var(--blue-700)); color:#fff;
  box-shadow:0 6px 16px rgba(37,99,235,.28); }
.btn-ghost { background:var(--blue-50); color:var(--blue-700); }
.btn-line { background:#fff; border:1px solid var(--gray-200); color:var(--gray-700); }
.btn-block { width:100%; }
.btn-sm { padding:7px 12px; font-size:12.5px; border-radius:9px; }
.btn[disabled] { opacity:.45; pointer-events:none; }

/* 标签 */
.tag {
  display:inline-flex; align-items:center; gap:3px; font-size:11px; font-weight:600;
  padding:3px 8px; border-radius:7px; background:var(--gray-100); color:var(--gray-600);
  white-space:nowrap;
}
.tag-blue{background:var(--blue-50); color:var(--blue-700);}
.tag-green{background:#ecfdf5; color:#059669;}
.tag-amber{background:#fffbeb; color:#b45309;}
.tag-red{background:#fef2f2; color:#dc2626;}
.tag-purple{background:#f5f3ff; color:#7c3aed;}
.tag-gray{background:var(--gray-100); color:var(--gray-500);}

/* 等级徽章 */
.lv { display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:800;
  padding:2px 7px; border-radius:6px; color:#fff; letter-spacing:.3px; }
.lv.guest{background:#94a3b8}.lv.member{background:linear-gradient(135deg,#c49a6c,#8b5e34)}
.lv.vip{background:linear-gradient(135deg,#a8bccf,#6d8296)}
.lv.diamond{background:linear-gradient(135deg,#f5c542,#d4a017)}
.lv.partner{background:linear-gradient(135deg,#60a5fa,#1d4b96)}

/* 头像 */
.avatar {
  border-radius:12px; display:grid; place-items:center; color:#fff; font-weight:800;
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  flex:0 0 auto; font-size:15px;
}
.avatar.sm{width:36px;height:36px;font-size:13px;border-radius:10px;}
.avatar.md{width:46px;height:46px;font-size:17px;border-radius:12px;}
.avatar.lg{width:62px;height:62px;font-size:23px;border-radius:16px;}
.avatar.ring{ box-shadow:0 0 0 2.5px #fff, 0 0 0 4.5px var(--gold); }

/* 搜索框 */
.search {
  display:flex; align-items:center; gap:8px; background:var(--gray-100);
  border-radius:11px; padding:9px 12px; color:var(--gray-400); font-size:13.5px;
  cursor:text; transition:.16s; border:1px solid transparent;
}
.search:focus-within { background:#fff; border-color:var(--blue-400); box-shadow:0 0 0 3px var(--blue-50); }
.search input { border:none; outline:none; background:transparent; flex:1; font-size:13.5px;
  font-family:inherit; color:var(--gray-800); }
.search input::placeholder { color:var(--gray-400); }

/* 横向滚动 chips */
.chips { display:flex; gap:8px; overflow-x:auto; padding:0 14px 2px; scrollbar-width:none; }
.chips::-webkit-scrollbar{display:none}
.chip {
  flex:0 0 auto; font-size:12.5px; font-weight:600; padding:7px 13px; border-radius:20px;
  background:#fff; color:var(--gray-600); border:1px solid var(--gray-200);
  cursor:pointer; transition:.16s; white-space:nowrap;
}
.chip.active { background:var(--blue-600); color:#fff; border-color:var(--blue-600);
  box-shadow:0 4px 12px rgba(37,99,235,.24); }

/* 进度条 */
.bar { height:7px; border-radius:4px; background:var(--gray-100); overflow:hidden; }
.bar > i { display:block; height:100%; border-radius:4px;
  background:linear-gradient(90deg,var(--blue-500),var(--blue-700)); transition:width .6s; }

/* 分割线 */
.hr { height:1px; background:var(--gray-100); margin:12px 0; }

/* 空态 */
.empty { text-align:center; padding:60px 20px; color:var(--gray-400); }
.empty .ic { font-size:44px; margin-bottom:10px; opacity:.5; }

/* 列表项 */
.list-item { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#fff;
  cursor:pointer; transition:.14s; border-bottom:1px solid var(--gray-100); }
.list-item:last-child{border-bottom:none}
.list-item:active{background:var(--gray-50)}
.li-arrow{color:var(--gray-300); font-size:15px; margin-left:auto;}

/* 悬浮操作 */
.fab {
  position:absolute; right:16px; bottom:calc(var(--tabbar-h) + 18px);
  width:50px; height:50px; border-radius:16px; border:none; cursor:pointer;
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700)); color:#fff;
  font-size:22px; display:grid; place-items:center; box-shadow:0 10px 24px rgba(37,99,235,.4);
  z-index:25; transition:.18s;
}
.fab:active{transform:scale(.93)}

/* 底部弹层 */
.sheet-mask.show { display:flex; animation:fadeIn .2s; }
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
.sheet-bar{width:38px;height:4px;border-radius:3px;background:var(--gray-200);margin:0 auto 14px;}

/* Toast */
/* 分段控件 */
.seg { display:flex; background:var(--gray-100); border-radius:11px; padding:3px; gap:2px; }
.seg > div {
  flex:1; text-align:center; font-size:13px; font-weight:700; padding:8px 0; border-radius:9px;
  color:var(--gray-500); cursor:pointer; transition:.18s;
}
.seg > div.active { background:#fff; color:var(--blue-700); box-shadow:var(--shadow-sm); }

/* 表单 */
.field { margin-bottom:14px; }
.field label { display:block; font-size:12.5px; font-weight:700; color:var(--gray-600); margin-bottom:6px; }
.field input, .field select, .field textarea {
  width:100%; border:1px solid var(--gray-200); border-radius:11px; padding:12px 13px;
  font-size:14px; font-family:inherit; outline:none; transition:.16s; background:var(--gray-50);
  color:var(--gray-800);
}
.field input:focus, .field select:focus, .field textarea:focus {
  border-color:var(--blue-500); background:#fff; box-shadow:0 0 0 3px var(--blue-50);
}
.field .hint{font-size:11px; color:var(--gray-400); margin-top:5px;}

/* 渐变头图 */
.hero {
  position:relative; padding:20px 16px 26px; color:#fff; overflow:hidden;
  background:linear-gradient(140deg,var(--blue-800) 0%,var(--blue-600) 55%,var(--blue-500) 100%);
  border-radius:0 0 24px 24px;
}
.hero::after{
  content:''; position:absolute; right:-46px; top:-56px; width:190px; height:190px;
  border-radius:50%; background:rgba(255,255,255,.09);
}
.hero::before{
  content:''; position:absolute; left:-30px; bottom:-72px; width:150px; height:150px;
  border-radius:50%; background:rgba(255,255,255,.07);
}
.hero > * { position:relative; z-index:2; }

/* 统计格 */
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.stat-grid .si { background:rgba(255,255,255,.14); border-radius:12px; padding:10px 6px; text-align:center;
  backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.16);}
.stat-grid .si b { display:block; font-size:17px; font-weight:800; letter-spacing:.2px; }
.stat-grid .si span { font-size:10.5px; opacity:.86; }

/* 卡片网格 */
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 14px; }

/* 项目卡 */
.proj-card {
  background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);
  border:1px solid var(--gray-100); cursor:pointer; transition:.18s; display:flex; flex-direction:column;
}
.proj-card:active{transform:scale(.98)}
.proj-card .pc-cover { height:78px; position:relative; }
.proj-card .pc-cover .pc-heat {
  position:absolute; right:8px; top:8px; background:rgba(15,23,42,.55); color:#fff;
  font-size:10px; font-weight:700; padding:3px 7px; border-radius:6px; backdrop-filter:blur(4px);
}
.proj-card .pc-.proj-card .pc-name { font-size:13.5px; font-weight:700; color:var(--gray-900); line-height:1.35; }

/* 地图 */
.map-wrap { position:relative; margin:0 14px; border-radius:var(--radius);
  background:linear-gradient(160deg,#f2f7fd,#e4eef9); border:1px solid var(--gray-200);
  height:330px; overflow:hidden; }
.map-grid-line{position:absolute; background:rgba(148,163,184,.16);}
.map-pin {
  position:absolute; transform:translate(-50%,-100%); cursor:pointer; z-index:5;
  display:flex; flex-direction:column; align-items:center; transition:.2s;
  pointer-events:none;   /* 容器透明区不拦截点击，避免相邻 pin 互相遮挡 */
}
.map-pin .pin-dot { pointer-events:auto; }
.map-pin .pin-dot {
  width:26px; height:26px; border-radius:50% 50% 50% 4px; transform:rotate(-45deg);
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  box-shadow:0 3px 10px rgba(37,99,235,.42); display:grid; place-items:center;
  border:2px solid #fff; transition:.2s;
}
.map-pin .pin-dot span{transform:rotate(45deg); color:#fff; font-size:9px; font-weight:800;}
.map-pin .pin-label{
  margin-top:5px; font-size:10.5px; font-weight:700; color:var(--gray-700);
  background:rgba(255,255,255,.94); padding:2px 7px; border-radius:6px; white-space:nowrap;
  box-shadow:var(--shadow-sm); pointer-events:none;
}
/* pin 重叠时，仅圆点响应点击，标签不拦截；悬停/选中浮到最上层 */
.map-pin{z-index:5;}
.map-pin:hover,.map-pin.active{z-index:30;}
.map-pin:hover .pin-dot,.map-pin.active .pin-dot{ transform:rotate(-45deg) scale(1.18); }
.map-pin.active .pin-dot{ background:linear-gradient(135deg,#f5c542,#d4a017); }

/* 时间轴 */
.timeline { position:relative; padding-left:22px; }
.timeline::before{content:''; position:absolute; left:6px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(180deg,var(--blue-300,#93c5fd),var(--gray-200));}
.tl-item{position:relative; padding-bottom:16px;}
.tl-item::before{content:''; position:absolute; left:-20px; top:5px; width:10px; height:10px;
  border-radius:50%; background:#fff; border:2.5px solid var(--blue-500);}
.tl-item.done::before{background:var(--blue-500);}
.tl-item.todo::before{border-color:var(--gray-300);}

/* 登录页 */
.login-bg{
  flex:1; background:linear-gradient(160deg,var(--blue-900),var(--blue-700) 60%,var(--blue-600));
  color:#fff; display:flex; flex-direction:column; padding:0 24px; position:relative; overflow-y:auto;
}
.login-bg::after{content:''; position:absolute; width:280px;height:280px;border-radius:50%;
  background:rgba(255,255,255,.07); top:-90px; right:-90px;}
.login-bg::before{content:''; position:absolute; width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.05); bottom:80px; left:-80px;}
.login-bg > *{position:relative; z-index:2;}
.login-card{ background:#fff; border-radius:20px; padding:22px 18px; box-shadow:var(--shadow-lg); }

/* 详情大图头 */
.detail-hero {
  height:170px; position:relative; display:flex; align-items:flex-end; padding:16px; color:#fff;
}
.detail-hero::after{content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(15,42,84,.15),rgba(15,42,84,.82));}
.detail-hero > *{position:relative; z-index:2;}

/* 徽章格 */
.badge-row{display:flex; gap:14px; padding:14px 0;}
.badge-row .br-item{flex:1; text-align:center;}
.badge-row .br-item b{display:block; font-size:17px; font-weight:800; color:var(--gray-900);}
.badge-row .br-item span{font-size:11px; color:var(--gray-500);}

/* 信息行 */
.info-row{display:flex; gap:10px; padding:9px 0; font-size:13px; align-items:flex-start;}
.info-row .ir-k{color:var(--gray-500); flex:0 0 74px; font-size:12.5px;}
.info-row .ir-v{color:var(--gray-800); flex:1; font-weight:600; word-break:break-all;}

/* 等级卡 */
.level-card{
  border-radius:16px; padding:16px; color:#fff; position:relative; overflow:hidden;
  box-shadow:var(--shadow);
}
.level-card::after{content:''; position:absolute; right:-30px; top:-40px; width:130px; height:130px;
  border-radius:50%; background:rgba(255,255,255,.13);}
.level-card > *{position:relative; z-index:2;}

/* 筛选栏 */
.filter-bar{display:flex; gap:8px; align-items:center; padding:10px 14px; background:#fff;
  border-bottom:1px solid var(--gray-100); position:sticky; top:0; z-index:10;}

.badge-num{position:absolute; top:-4px; right:-6px; background:var(--danger); color:#fff;
  font-size:9.5px; font-weight:700; min-width:15px; height:15px; border-radius:8px;
  display:grid; place-items:center; padding:0 4px; border:1.5px solid #fff;}

/* 十大工程排名徽章 */
.eg-rank{
  width:46px; height:52px; border-radius:12px; flex:0 0 auto;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  box-shadow:inset 0 -2px 6px rgba(0,0,0,.08);
}
.eg-rank b{font-size:20px; font-weight:800; line-height:1;}
.eg-rank span{font-size:9px; font-weight:700; opacity:.7; margin-top:2px; letter-spacing:.5px;}

/* 通讯录：资源 / 供应 / 需求 三段信息 */
.res-block{margin-top:9px; border-top:1px dashed var(--gray-200); padding-top:8px;
  display:flex; flex-direction:column; gap:6px;}
.res-line{display:flex; gap:7px; align-items:flex-start; font-size:11.5px; line-height:1.5;}
.res-line .res-k{flex:0 0 auto; font-weight:800; padding:1px 6px; border-radius:6px; font-size:10.5px;
  white-space:nowrap;}
.res-line .res-v{flex:1; min-width:0; color:var(--gray-600);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.res-line.r-res .res-k{background:var(--blue-50); color:var(--blue-700);}
.res-line.r-sup .res-k{background:#ecfdf5; color:#059669;}
.res-line.r-dem .res-k{background:#fffbeb; color:#b45309;}
.contact-item{align-items:flex-start;}

/* 二维码容器 */
.qr-box{
  width:150px; height:150px; padding:9px; background:#fff; border-radius:14px;
  border:1px solid var(--gray-200); box-shadow:var(--shadow-sm);
  position:relative; display:inline-block; line-height:0;
}
.qr-box svg{width:100%; height:100%; display:block; border-radius:6px;}
.qr-box.qr-locked svg{filter:blur(4px); opacity:.45;}
.qr-box .qr-mask{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:4px; font-size:22px; line-height:1;
  background:rgba(255,255,255,.35); border-radius:14px;
}
.qr-box .qr-mask span{font-size:10.5px; font-weight:700; color:var(--gray-600);}

/* 加盟条件行 */
.join-req{display:flex; gap:8px; padding:6px 0; font-size:12.5px; color:var(--gray-700);}
.join-req::before{content:'·'; color:var(--blue-600); font-weight:800;}

/* 申请表单弹层内的卡片 */
.sheet .field label{font-size:12.5px;}
.sheet .h2{font-size:17px;}

/* 会客厅服务列表 */
.hall-service{display:flex; gap:12px; padding:13px 14px; align-items:flex-start;
  border-bottom:1px solid var(--gray-100);}
.hall-service:last-child{border-bottom:none;}
.mt12{margin-top:12px;}

/* ================= 路演互动（点赞 / 点评 / 意向建议 / 资料下载） ================= */
.like-btn{
  flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:9px 4px; border-radius:11px; border:1px solid var(--gray-200);
  background:var(--gray-50); cursor:pointer; transition:.16s; line-height:1.2;
  -webkit-tap-highlight-color:transparent;
}
.like-btn:active{transform:scale(.96);}
.like-btn.on{border-color:#fecaca; background:#fef2f2;}
.lb-ic{font-size:15px;}
.lb-n{font-size:13px; font-weight:800; color:var(--gray-800);}
.like-btn.on .lb-n{color:#dc2626;}
.lb-t{font-size:10px; color:var(--gray-500);}

/* 资料下载 */
.doc-item{display:flex; gap:11px; align-items:center; padding:11px 0;
  border-bottom:1px solid var(--gray-100);}
.doc-item:last-child{border-bottom:none;}
.doc-ic{width:38px; height:38px; flex:0 0 auto; border-radius:10px; display:flex;
  align-items:center; justify-content:center; font-size:18px; background:#eff6ff;}
.doc-ic.doc-pdf{background:#fef2f2;}
.doc-ic.doc-xlsx{background:#ecfdf5;}
.doc-btn{flex:0 0 auto; padding:6px 12px; border-radius:9px; font-size:11.5px; font-weight:700;
  border:none; background:var(--blue-600); color:#fff; cursor:pointer; white-space:nowrap;
  -webkit-tap-highlight-color:transparent;}
.doc-btn.lock{background:var(--gray-100); color:var(--gray-500);}
.doc-btn.done{background:#d1fae5; color:#047857;}
.doc-btn:active{opacity:.82;}

/* 点评 */
.rv-item{padding:12px 0; border-bottom:1px solid var(--gray-100);}
.rv-item:last-child{border-bottom:none;}
.rv-head{display:flex; gap:9px; align-items:center;}
.rv-text{font-size:12.5px; color:var(--gray-700); line-height:1.7; margin-top:8px;}
.stars{font-size:12px; color:#f59e0b; letter-spacing:1px; flex:0 0 auto;}
.btn-mini{padding:5px 11px !important; font-size:11.5px !important; line-height:1.5 !important;}

/* 意向建议 */
.sg-item{padding:12px 0; border-bottom:1px solid var(--gray-100);}
.sg-item:last-child{border-bottom:none;}

/* 评分弹层 */
.rate-row{display:flex; align-items:center; gap:4px;}
.rate-star{font-size:27px; color:var(--gray-200); cursor:pointer; transition:.14s;
  -webkit-tap-highlight-color:transparent;}
.rate-star.on{color:#f59e0b; transform:scale(1.05);}
.rate-star:active{transform:scale(.9);}

/* 路演地图：排序条 */
.sort-bar{display:flex; gap:8px; padding:2px 0 6px;}
.sort-item{flex:1; text-align:center; font-size:11.5px; font-weight:600; padding:8px 4px;
  border-radius:10px; background:var(--gray-50); border:1px solid var(--gray-200);
  color:var(--gray-600); cursor:pointer; transition:.16s;
  -webkit-tap-highlight-color:transparent;}
.sort-item.active{background:var(--blue-600); border-color:var(--blue-600); color:#fff;}
.rsm-card{padding:13px 14px;}
.rsm-city{font-size:11px; font-weight:700; color:var(--blue-700); flex:0 0 auto;}
.map-pin.rs-pin .pin-dot{background:linear-gradient(135deg,#f97316,#ea580c);}
.map-pin.rs-pin.active .pin-dot{transform:scale(1.22);
  box-shadow:0 0 0 5px rgba(249,115,22,.22), var(--shadow-md);}

/* ================= 英才库 ================= */
.talent-hero{position:relative; margin:10px 14px 0; border-radius:16px; overflow:hidden;
  background:linear-gradient(135deg,#0f2a54,#2563eb 60%,#4f46e5); color:#fff;
  box-shadow:0 8px 22px -8px rgba(37,99,235,.5);}
.talent-hero .th-bg{position:absolute; inset:0;
  background:radial-gradient(circle at 88% 12%, rgba(255,255,255,.22), transparent 42%);}
.talent-hero .th-.talent-hero .si b{font-size:16px; font-weight:800;}
.talent-hero .si span{font-size:10px; opacity:.82;}

/* 四维说明条 */
.talent-dims{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:12px;}
.td-item{display:flex; align-items:center; gap:6px; background:var(--gray-50);
  border:1px solid var(--gray-100); border-radius:11px; padding:8px 7px;}
.td-ic{font-size:14px;}
.td-item div{display:flex; flex-direction:column; line-height:1.25; min-width:0;}
.td-item b{font-size:11.5px; color:var(--gray-800);}
.td-item i{font-size:9.5px; color:var(--gray-400); font-style:normal;}

/* 维度切换 tabs */
.tfilter{display:flex; gap:0; margin:12px 14px 0; background:var(--gray-100);
  border-radius:12px; padding:3px;}
.tf-tab{flex:1; text-align:center; font-size:12px; font-weight:700; color:var(--gray-500);
  padding:8px 2px; border-radius:9px; cursor:pointer; transition:.16s;
  -webkit-tap-highlight-color:transparent;}
.tf-tab.active{background:#fff; color:var(--blue-700); box-shadow:var(--shadow-sm);}

/* 维度标签 */
.dim-tag{font-size:10.5px; padding:3px 8px; border-radius:7px; background:var(--gray-50);
  color:var(--gray-600); border:1px solid var(--gray-100);}

/* 荣誉 chip */
/* 小程序 WXSS 不支持 color-mix()，改用 JS 预计算的 --hc-bg / --hc-bd 变量（内联 style 传入） */
.honor-chip{display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:700;
  padding:3px 8px; border-radius:8px; color:var(--hc);
  background:var(--hc-bg, rgba(148,163,184,.12));
  border:1px solid var(--hc-bd, rgba(148,163,184,.26)); white-space:nowrap;}

/* 英才卡片 */
.talent-card{position:relative; padding:13px 14px; overflow:hidden;}
.talent-card::before{content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--tc, var(--blue-600));}
.tc-head{display:flex; gap:11px; align-items:flex-start;}
.tc-honor{display:flex; align-items:center; gap:7px; margin-top:10px; flex-wrap:wrap;}
.tc-chain{margin-top:9px; font-size:11px; font-weight:700; padding:6px 10px; border-radius:9px;
  display:inline-block;}
.tc-foot{display:flex; justify-content:space-between; align-items:center; gap:8px;
  margin-top:9px; padding-top:9px; border-top:1px dashed var(--gray-100);}
.talent-mini{display:flex; gap:11px; align-items:center; padding:11px 13px;}

/* 详情：荣誉墙 */
.honor-wall{display:flex; flex-direction:column; gap:8px; margin-top:10px;}
.hw-item{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:11px;
  border:1px solid var(--gray-100);}
.hw-ic{font-size:20px; flex:0 0 auto;}
.hw-n{font-size:13px; font-weight:800;}
.hw-lv{font-size:10px; font-weight:800; color:#fff; background:var(--gray-300);
  padding:2px 7px; border-radius:6px; flex:0 0 auto;}

/* 详情：四维网格 */
.dim-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px;}
.dim-cell{background:var(--gray-50); border:1px solid var(--gray-100); border-radius:11px;
  padding:10px 11px;}
.dc-k{font-size:10.5px; color:var(--gray-500); font-weight:700;}
.dc-v{font-size:13px; font-weight:800; color:var(--gray-800); margin-top:5px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dc-s{font-size:10px; color:var(--gray-400); margin-top:4px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

/* 详情：语录 / 成就 */
.quote-box{background:linear-gradient(135deg,#eff6ff,#e0e7ff); border-left:3px solid var(--blue-600);
  border-radius:0 11px 11px 0; padding:11px 13px; font-size:12.5px; color:var(--blue-900);
  line-height:1.75; font-style:italic;}
.ach-item{display:flex; gap:10px; align-items:flex-start; padding:9px 0;
  border-bottom:1px solid var(--gray-100); font-size:12.5px; line-height:1.65;
  color:var(--gray-700);}
.ach-item:last-child{border-bottom:none;}
.ach-no{flex:0 0 auto; width:19px; height:19px; border-radius:50%; background:var(--blue-50);
  color:var(--blue-700); font-size:10.5px; font-weight:800; display:flex;
  align-items:center; justify-content:center; margin-top:1px;}

/* 会客厅缩略图 */
.hall-thumb{width:52px; height:44px; flex:0 0 auto; border-radius:11px; font-size:21px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#dbeafe,#bfdbfe);}

/* 头像大号 */
.avatar.xl{width:66px; height:66px; font-size:26px; font-weight:800;}
.avatar.lg{width:48px; height:48px; font-size:19px; font-weight:800;}

/* ================= 管理后台 ================= */
.demo-bar{background:linear-gradient(90deg,#fef3c7,#fde68a); color:#92400e;
  font-size:10.5px; font-weight:600; padding:6px 14px; text-align:center;}

/* 工作台头部 */
.adm-hero{position:relative; border-radius:16px; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,#0f2a54,#1d4b96 55%,#4f46e5);
  box-shadow:0 8px 22px -8px rgba(29,75,150,.55);}
.adm-hero-bg{position:absolute; inset:0;
  background:radial-gradient(circle at 86% 10%, rgba(255,255,255,.2), transparent 45%);}
.adm-hero-.adm-role-switch{margin-top:13px; display:flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.24);
  border-radius:11px; padding:9px 12px; font-size:12px; font-weight:700;
  cursor:pointer; -webkit-tap-highlight-color:transparent;}
.adm-role-switch:active{transform:scale(.985);}
.ars-ic{font-size:14px;}
.ars-cur{margin-left:auto; font-size:11px; opacity:.9; font-weight:600;}

/* 角色标签 */
/* 小程序 WXSS 不支持 color-mix()，改用 JS 预计算的 --rc-bg / --rc-bd（内联 style 传入） */
.role-tag{display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:700;
  padding:3px 8px; border-radius:8px; color:var(--rc);
  background:var(--rc-bg, rgba(37,99,235,.12));
  border:1px solid var(--rc-bd, rgba(37,99,235,.26)); white-space:nowrap;}

/* 菜单宫格 */
.adm-menu{padding:12px 13px;}
.am-ic{width:38px; height:38px; flex:0 0 auto; border-radius:12px; font-size:18px;
  display:flex; align-items:center; justify-content:center; position:relative;
  background:linear-gradient(135deg,var(--blue-50),var(--blue-100));}

/* 开关 */
.sw{width:42px; height:24px; border-radius:13px; background:var(--gray-200);
  position:relative; flex:0 0 auto; cursor:pointer; transition:.2s;
  -webkit-tap-highlight-color:transparent;}
.sw i, .sw .sw-dot{position:absolute; top:2.5px; left:2.5px; width:19px; height:19px; border-radius:50%;
  background:#fff; box-shadow:0 1px 4px rgba(15,23,42,.22); transition:.2s;}
.sw.on{background:#2563eb;}
.sw.on i, .sw.on .sw-dot{left:calc(100% - 21.5px);}

/* 字典 / 配置 操作 */
.dict-head{display:flex; align-items:flex-start; gap:10px;}
.dict-no{width:24px; flex:0 0 auto; font-size:11px; font-weight:800; color:var(--gray-400);
  text-align:center;}
.dict-off{color:var(--gray-400); text-decoration:line-through;}
.dict-op{font-size:11.5px; color:var(--blue-600); font-weight:700; flex:0 0 auto;
  padding:3px 7px; border-radius:7px; background:var(--blue-50); cursor:pointer;}
.dict-op.del{color:#dc2626; background:#fef2f2;}
.cfg-op{font-size:11.5px; font-weight:700; color:var(--blue-600); cursor:pointer;
  padding:4px 9px; border-radius:8px; background:var(--blue-50);}
.cfg-op.del{color:#dc2626; background:#fef2f2;}
.cfg-item{padding:12px 14px;}
.au-title{font-size:13px; line-height:1.65; color:var(--gray-700); margin-top:9px;
  background:var(--gray-50); border-radius:10px; padding:9px 11px;}

/* 等级徽章 / 权益 */
.lv-badge{width:32px; height:32px; border-radius:10px; display:flex; align-items:center;
  justify-content:center; font-size:15px; font-weight:800; flex:0 0 auto;}
.perm-benefits{display:flex; flex-wrap:wrap; gap:5px; margin-top:9px;}
.pb-item{font-size:10.5px; color:var(--gray-600); background:var(--gray-50);
  border:1px solid var(--gray-100); border-radius:7px; padding:3px 8px;}

/* 角色选择弹层 */
.role-pick{display:flex; flex-direction:column; gap:8px; margin-top:8px;}
.rp-item{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:11px;
  border:1.5px solid var(--gray-200); cursor:pointer; transition:.16s;
  -webkit-tap-highlight-color:transparent;}
.rp-item.on{border-color:var(--blue-500); background:var(--blue-50);}
.rp-tick{opacity:0; color:var(--blue-600); font-weight:800; font-size:14px; flex:0 0 auto;}
.rp-item.on .rp-tick{opacity:1;}

/* 日志 */
.log-item{padding:12px 14px;}
.log-act{font-size:10.5px; font-weight:800; padding:3px 8px; border-radius:7px; flex:0 0 auto;}

/* ================= AI 匹配 ================= */
.ai-hero{position:relative; margin:10px 14px 0; border-radius:16px; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,#1e1b4b,#4338ca 55%,#6366f1);
  box-shadow:0 8px 24px -8px rgba(79,70,229,.55);}
.ai-hero-bg{position:absolute; inset:0;
  background:radial-gradient(circle at 85% 8%, rgba(255,255,255,.22), transparent 45%),
             radial-gradient(circle at 10% 95%, rgba(139,92,246,.3), transparent 40%);}
.ai-hero-.ai-input{background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.2);
  border-radius:12px; padding:11px 12px; display:flex; flex-direction:column; gap:9px;}
.aii-row{display:flex; gap:9px; align-items:flex-start;}
.aii-k{font-size:10.5px; opacity:.86; flex:0 0 auto; padding-top:3px; white-space:nowrap;}
.aii-v{display:flex; flex-wrap:wrap; gap:5px; flex:1;}
.aii-chip{font-size:10.5px; font-weight:700; background:rgba(255,255,255,.22);
  border-radius:7px; padding:3px 8px;}
.aii-chip.sup{background:rgba(16,185,129,.32);}
.aii-chip.city{background:rgba(251,191,36,.3);}

/* 匹配度环 */
.ai-ring{position:relative; flex:0 0 auto; border-radius:50%;
  background:conic-gradient(var(--rc) calc(var(--p) * 1%), var(--gray-100) 0);}
.ai-ring::after{content:''; position:absolute; inset:5px; border-radius:50%; background:#fff;}
.ai-ring-in{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  flex-direction:row; z-index:1;}
.ai-ring-in b{font-size:14px; font-weight:800; color:var(--rc); line-height:1;}
.ai-ring-in span{font-size:9px; color:var(--rc); margin-left:1px;}

/* 详情大环 */
.ai-big-ring{width:104px; height:104px; margin:6px auto 0; border-radius:50%; position:relative;
  background:conic-gradient(#fff calc(var(--p) * 1%), rgba(255,255,255,.28) 0);}
.ai-big-ring::after{content:''; position:absolute; inset:8px; border-radius:50%;
  background:rgba(29,75,150,.92);}
.ai-big-ring > div{position:absolute; inset:0; z-index:1; display:flex;
  align-items:center; justify-content:center; flex-direction:column; color:#fff;}
.ai-big-ring b{font-size:30px; font-weight:800; line-height:1;}
.ai-big-ring span{font-size:12px; opacity:.85; margin-top:-2px;}
.ai-big-ring em{font-size:10.5px; font-style:normal; opacity:.88; margin-top:5px;
  background:rgba(255,255,255,.2); padding:2px 8px; border-radius:6px;}

/* 匹配卡片 */
.ai-card{padding:13px 14px; position:relative;}
.ai-rank{position:absolute; top:0; left:0; width:20px; height:20px; border-radius:0 0 10px 0;
  background:var(--gray-100); color:var(--gray-500); font-size:10.5px; font-weight:800;
  display:flex; align-items:center; justify-content:center;}
.ai-card:nth-child(2) .ai-rank{background:linear-gradient(135deg,#f5c542,#d4a017); color:#5c3d00;}
.ai-card:nth-child(3) .ai-rank{background:linear-gradient(135deg,#e2e8f0,#94a3b8); color:#334155;}
.ai-card:nth-child(4) .ai-rank{background:linear-gradient(135deg,#d6b48a,#b08d57); color:#fff;}
.ai-reason-sm{font-size:10.5px; color:var(--gray-500); margin-top:5px; line-height:1.55;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box;
  -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.ai-dims{display:flex; gap:6px; margin-top:10px; padding-top:9px; flex-wrap:wrap;
  border-top:1px dashed var(--gray-100);}
.ai-dim{font-size:10.5px; color:var(--gray-500); background:var(--gray-50);
  border:1px solid var(--gray-100); border-radius:7px; padding:2px 7px;}

/* 详情：维度条 */
.dim-row{display:flex; align-items:center; gap:8px; margin-top:9px;}
.dr-k{font-size:11.5px; color:var(--gray-600); flex:0 0 62px;}
.dr-bar{flex:1; height:7px; border-radius:4px; background:var(--gray-100); overflow:hidden;}
.dr-bar i{display:block; height:100%; border-radius:4px; transition:width .5s;}
.dr-v{font-size:11.5px; font-weight:800; flex:0 0 26px; text-align:right;}
.dr-w{font-size:10px; color:var(--gray-400); flex:0 0 34px; text-align:right;}

/* 命中关键词 */
.hit-chip{font-size:11px; font-weight:700; padding:4px 10px; border-radius:8px;
  background:#ecfdf5; color:#047857; border:1px solid #a7f3d0;}
.hit-chip.comp{background:#fff7ed; color:#c2410c; border-color:#fed7aa;}
.ai-reason{background:linear-gradient(135deg,#f5f3ff,#ede9fe); border-left:3px solid #7c3aed;
  border-radius:0 10px 10px 0; padding:10px 12px; font-size:12.5px; line-height:1.7;
  color:#4c1d95;}

/* 供需对照 */
.vs-grid{display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px;}
.vs-col{border-radius:11px; overflow:hidden; border:1px solid var(--gray-100);}
.vs-h{font-size:10.5px; font-weight:800; padding:6px 9px;}
.vs-i{font-size:11px; color:var(--gray-600); padding:6px 9px;
  border-top:1px solid var(--gray-100); line-height:1.5;}

/* 权重条 */
.wt-row{display:flex; align-items:center; gap:9px; margin-top:9px;}
.wt-k{font-size:11.5px; color:var(--gray-600); flex:0 0 40px;}
.wt-bar{flex:1; height:8px; border-radius:4px; background:var(--gray-100); overflow:hidden;}
.wt-bar i{display:block; height:100%; border-radius:4px;
  background:linear-gradient(90deg,var(--blue-500),var(--blue-700));}
.wt-v{font-size:11.5px; font-weight:800; color:var(--blue-700); flex:0 0 34px; text-align:right;}

/* 同义词库 */
.syn-wrap{margin-top:10px; display:flex; flex-direction:column; gap:0;}
.syn-item{display:flex; gap:9px; padding:8px 0; border-bottom:1px solid var(--gray-100);
  align-items:flex-start;}
.syn-item:last-child{border-bottom:none;}
.syn-k{font-size:11px; font-weight:800; color:#7c3aed; flex:0 0 68px; padding-top:1px;}
.syn-v{font-size:10.5px; color:var(--gray-500); flex:1; line-height:1.6;}
.rule-item{font-size:11.5px; color:var(--gray-600); line-height:1.75; padding:7px 0;
  border-bottom:1px solid var(--gray-100);}
.rule-item:last-child{border-bottom:none;}
.rule-item b{color:var(--gray-800);}

/* 首页 AI 推荐卡 */
.ai-home-card{position:relative; border-radius:16px; overflow:hidden; color:#fff; padding:14px;
  background:linear-gradient(135deg,#1e1b4b,#4338ca 60%,#6366f1); cursor:pointer;
  box-shadow:0 6px 20px -8px rgba(79,70,229,.5);}
.ahc-glow{position:absolute; inset:0;
  background:radial-gradient(circle at 88% 6%, rgba(255,255,255,.2), transparent 45%);}
.ahc-rerun{font-size:10.5px; font-weight:700; background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.26); border-radius:8px; padding:4px 9px;
  flex:0 0 auto; -webkit-tap-highlight-color:transparent;}
.ahc-list{margin-top:11px; background:rgba(255,255,255,.11); border-radius:12px;
  padding:4px 10px; position:relative;}
.ahc-item{display:flex; align-items:center; gap:8px; padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.12);}
.ahc-item:last-child{border-bottom:none;}
.ahc-rank{width:16px; height:16px; border-radius:5px; background:rgba(255,255,255,.24);
  font-size:9.5px; font-weight:800; display:flex; align-items:center; justify-content:center;
  flex:0 0 auto;}
.ahc-ic{font-size:13px; flex:0 0 auto;}
.ahc-nm{font-size:12.5px; font-weight:700;}
.ahc-rs{font-size:10px; opacity:.78; margin-top:2px;}
.ahc-score{font-size:14px; font-weight:800; flex:0 0 auto;
  background:rgba(255,255,255,.92); border-radius:8px; padding:2px 7px;}
.ahc-more{text-align:center; font-size:11px; font-weight:700; opacity:.9;
  margin-top:10px; position:relative;}

/* 头像尺寸补充 */
.avatar.sm{width:36px; height:36px; font-size:15px;}

/* =========================================================================
 * AI 助理（信息提醒 / 工作建议 / 任务安排）
 * ========================================================================= */
.as-hero{position:relative; margin:0; border-radius:0 0 22px 22px; overflow:hidden; color:#fff;
  padding:16px 14px 18px;
  background:linear-gradient(135deg,#0f172a,#1e1b4b 45%,#4338ca);}
.as-hero-bg{position:absolute; inset:0;
  background:radial-gradient(circle at 92% 4%, rgba(255,255,255,.22), transparent 46%),
             radial-gradient(circle at 6% 92%, rgba(99,102,241,.4), transparent 50%);}
.as-hero-.as-avatar{width:44px; height:44px; border-radius:14px; flex:0 0 auto;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28);
  display:flex; align-items:center; justify-content:center; font-size:23px;}
.as-sum{display:flex; gap:8px; margin-top:14px;}
.as-sum-i{flex:1; text-align:center; background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:9px 4px;}
.as-sum-i b{display:block; font-size:19px; font-weight:800; line-height:1.1;}
.as-sum-i span{font-size:10.5px; opacity:.82;}
.as-hero-tip{margin-top:12px; font-size:11.5px; line-height:1.6; opacity:.92;
  background:rgba(255,255,255,.1); border-radius:10px; padding:8px 10px;}
.as-hero-tip b{color:#fde68a; font-weight:800;}

/* 健康度环形 */
.as-score{margin:12px 14px 0;}
.as-ring{position:relative; flex:0 0 auto; width:66px; height:66px; border-radius:50%;
  background:conic-gradient(var(--rc) calc(var(--p) * 1%), var(--gray-100) 0);}
.as-ring::after{content:''; position:absolute; inset:6px; border-radius:50%; background:#fff;}
.as-ring > div{position:absolute; inset:0; z-index:1; display:flex; align-items:baseline;
  justify-content:center; flex-direction:row;}
.as-ring b{font-size:20px; font-weight:800; color:var(--rc); line-height:1;}
.as-ring span{font-size:10px; color:var(--rc); margin-left:1px;}

/* 提醒卡 */
.as-alert{position:relative; overflow:hidden; margin-bottom:9px;}
.as-bar{position:absolute; left:0; top:0; bottom:0; width:3px;}
.as-ic{width:38px; height:38px; border-radius:12px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; font-size:18px;}
.as-ic.adv{background:#f5f3ff;}
.as-lv{font-size:9.5px; font-weight:800; border-radius:6px; padding:2px 6px;}
.as-desc{font-size:11px; color:var(--gray-500); margin-top:5px; line-height:1.6;}
.as-foot{margin-top:10px; padding-top:9px; border-top:1px dashed var(--gray-100);}
.as-act{font-size:11.5px; font-weight:800;}
.as-note{font-size:11px; color:var(--gray-400); line-height:1.6;
  background:var(--blue-50); border-radius:9px; padding:8px 10px;}

/* 建议卡 */
.as-adv{margin-bottom:9px;}
.as-adv-score{font-size:17px; font-weight:800; color:var(--blue-600);}
.as-detail{font-size:11.5px; color:var(--gray-600); line-height:1.7; margin-top:9px;
  background:var(--gray-50); border-radius:9px; padding:9px 10px;}

/* 任务行 */
.ast-item{position:relative;}
.ast-dot{width:9px; height:9px; border-radius:50%; flex:0 0 auto;}
.as-done{color:#059669; font-size:15px; font-weight:800;}

/* 我的清单 */
.as-todo-row{display:flex; align-items:center; gap:9px; padding:9px 0;
  border-bottom:1px solid var(--gray-100); cursor:pointer;}
.as-todo-row:last-child{border-bottom:none;}
.as-cb{width:19px; height:19px; border-radius:6px; flex:0 0 auto;
  border:1.6px solid var(--gray-300); display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800; color:#fff; background:#fff;}
.as-todo-row.done .as-cb{background:#059669; border-color:#059669;}
.as-todo-txt{font-size:12.5px; color:var(--gray-700); line-height:1.5;}
.as-todo-row.done .as-todo-txt{color:var(--gray-400); text-decoration:line-through;}
.as-input{padding:9px 11px; border:1px solid var(--gray-200); border-radius:10px;
  font-size:12.5px; outline:none; font-family:inherit; background:#fff;}
.as-input:focus{border-color:var(--blue-400);}

/* 能力说明 */
.as-rule{padding:9px 0; border-bottom:1px solid var(--gray-100); font-size:11.5px;
  color:var(--gray-600); line-height:1.7;}
.as-rule:last-child{border-bottom:none;}
.as-rule b{color:var(--gray-800);}

/* 我的页 · AI 助理入口条 */
.mine-assist{margin:0 14px; border-radius:16px; padding:13px 14px; color:#fff;
  position:relative; overflow:hidden; cursor:pointer;
  background:linear-gradient(135deg,#0f172a,#3730a3 60%,#4f46e5);
  box-shadow:0 6px 18px -8px rgba(67,56,202,.55);}
.mine-assist .mas-glow{position:absolute; inset:0;
  background:radial-gradient(circle at 90% 8%, rgba(255,255,255,.22), transparent 45%);}
.mine-assist .mas-.mine-assist .mas-ic{width:40px; height:40px; border-radius:13px; flex:0 0 auto;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.26);
  display:flex; align-items:center; justify-content:center; font-size:21px;}
.mine-assist .mas-t{font-size:14px; font-weight:800;}
.mine-assist .mas-d{font-size:10.5px; opacity:.84; margin-top:3px;}
.mine-assist .mas-badges{display:flex; gap:5px; margin-top:7px; flex-wrap:wrap;}
.mine-assist .mas-b{font-size:9.5px; font-weight:700; border-radius:6px; padding:2px 6px;
  background:rgba(255,255,255,.18);}
.mine-assist .mas-go{font-size:11px; font-weight:800; opacity:.92; flex:0 0 auto;}


/* ========== 小程序页面容器补丁 ========== */
/* 每个页面根节点统一用 .page-wrap，替代 H5 的 .page 绝对定位容器 */
.page-wrap {
  min-height: 100vh;
  background: var(--gray-50);
  padding-bottom: 14px;
  box-sizing: border-box;
}
.page-wrap.has-tabbar { padding-bottom: calc(50px + env(safe-area-inset-bottom)); }

/* 小程序中 icon 字体/emoji 基线修正 */
.emoji { font-family: "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }

/* 原生导航栏下的 hero 上移量修正 */
.hero { padding-top: 9px; }

/* ================= 小程序表单适配（page text/input/textarea 元素） ================= */
.field > text:first-child{display:block; font-size:12.5px; font-weight:700;
  color:var(--gray-600); margin-bottom:6px;}
.field input, .field textarea{width:100%; box-sizing:border-box; border:1px solid var(--gray-200);
  border-radius:11px; padding:12px 13px; font-size:14px; background:var(--gray-50);
  color:var(--gray-800);}
.field .picker-val{padding:12px 13px; font-size:14px; background:var(--gray-50);
  border:1px solid var(--gray-200); border-radius:11px; color:var(--gray-800);}
.field textarea{min-height:74px;}

/* 小程序内 button 已替换为 view，补齐按钮内文字默认样式 */
.btn{display:flex; align-items:center; justify-content:center; text-align:center;}
.btn.btn-block{width:100%;}

/* 小程序内 <b>/<i> 已被替换为 view/text，补齐对应选择器 */
.stat-grid .si text:first-child{display:block; font-size:17px; font-weight:800; letter-spacing:.2px;}
.stat-grid .si text:last-child{font-size:10.5px; opacity:.86;}
.eg-rank text:first-child{font-size:20px; font-weight:800; line-height:1;}
.eg-rank text:last-child{font-size:9px; font-weight:700; opacity:.7; margin-top:2px; letter-spacing:.5px;}
.badge-row .br-item text:first-child{display:block; font-size:16px; font-weight:800; color:var(--gray-800);}
.badge-row .br-item text:last-child{display:block; font-size:10.5px; color:var(--gray-500); margin-top:3px;}
.qr-mask text{font-size:10.5px; font-weight:700; color:var(--gray-600);}

/* =========================================================================
 * 厅主经营后台（hall-*）
 * 面向厅主角色的独立经营后台样式体系
 * ========================================================================= */

/* ---------- 厅主品牌头（深蓝+红点缀，与厅主招募 PPT 一致） ---------- */
.hb-hero{position:relative; border-radius:16px; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,#112a54,#1d4b96 58%,#2563eb);
  box-shadow:0 8px 22px -8px rgba(29,75,150,.55);}
.hb-hero-bg{position:absolute; inset:0;
  background:radial-gradient(circle at 88% 8%, rgba(255,255,255,.22), transparent 46%),
             radial-gradient(circle at 4% 96%, rgba(196,30,40,.32), transparent 48%);}
.hb-hero-body{padding:16px 16px 15px; position:relative;}
.hb-hero-kicker{font-size:10px; letter-spacing:1.6px; font-weight:700; opacity:.72; text-transform:uppercase;}
.hb-hero-name{font-size:18px; font-weight:800; margin-top:6px; letter-spacing:.3px;}
.hb-hero-meta{font-size:11px; opacity:.82; margin-top:7px; line-height:1.6;}
.hb-badge{margin-left:auto; flex:0 0 auto; font-size:10.5px; font-weight:800;
  padding:4px 9px; border-radius:8px; background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.3);}

/* 厅主身份标 */
.hb-role{display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:800;
  padding:3px 8px; border-radius:8px; background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.32); color:#fff;}

/* ---------- 厅切换器 ---------- */
.hb-switch{margin-top:12px; }
.hb-switch-head{display:flex; align-items:center; gap:6px; font-size:11.5px;
  font-weight:700; opacity:.9; margin-bottom:8px;}
.hb-switch-head .hs-count{margin-left:auto; font-size:10.5px; opacity:.75; font-weight:600;}
.hb-hall-list{display:flex; gap:8px; overflow-x:auto; padding-bottom:2px;}
.hb-hall{flex:0 0 auto; min-width:150px; padding:10px 12px; border-radius:12px;
  background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.2);
  cursor:pointer; transition:.18s;}
.hb-hall.on{background:rgba(255,255,255,.96); border-color:#fff; color:#112a54;}
.hb-hall.on .hb-hall-sub{color:#64748b;}
.hb-hall:active{transform:scale(.98);}
.hb-hall-name{font-size:12.5px; font-weight:800; white-space:nowrap;}
.hb-hall-sub{font-size:10px; opacity:.8; margin-top:4px; white-space:nowrap;}
.hb-hall-role{display:inline-block; font-size:9.5px; font-weight:800; padding:2px 6px;
  border-radius:5px; background:rgba(255,255,255,.22); margin-right:4px;}
.hb-hall.on .hb-hall-role{background:#eff6ff; color:#2563eb;}

/* ---------- 经营 KPI 卡 ---------- */
.hb-kpi{display:grid; grid-template-columns:1fr 1fr; gap:9px;}
.hb-kpi-i{background:#fff; border:1px solid var(--gray-100); border-radius:14px;
  padding:12px 13px; box-shadow:var(--shadow-sm);}
.hb-kpi-i:active{transform:scale(.985);}
.hb-kpi-top{display:flex; align-items:center; gap:6px;}
.hb-kpi-ic{width:26px; height:26px; border-radius:9px; font-size:14px;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;}
.hb-kpi-lb{font-size:11px; color:var(--gray-500); font-weight:600;}
.hb-kpi-v{font-size:21px; font-weight:800; letter-spacing:.2px; margin-top:9px;
  color:var(--gray-900); line-height:1.1;}
.hb-kpi-v .u{font-size:11px; font-weight:700; color:var(--gray-400); margin-left:3px;}
.hb-kpi-sub{font-size:10.5px; margin-top:6px; font-weight:600;}

/* ---------- 通用经营卡片 ---------- */
.hb-card{background:#fff; border-radius:14px; padding:14px;
  box-shadow:var(--shadow-sm); border:1px solid var(--gray-100);}
.hb-card + .hb-card{margin-top:10px;}
.hb-card-hd{display:flex; align-items:center; gap:7px; margin-bottom:12px;}
.hb-card-hd .t{font-size:14px; font-weight:800; color:var(--gray-900);}
.hb-card-hd .r{margin-left:auto; font-size:11px; color:var(--blue-600); font-weight:700;}
.hb-card-hd .bar{width:3px; height:13px; border-radius:2px; background:var(--danger); flex:0 0 auto;}
.hb-card-hd .sub{font-size:10.5px; color:var(--gray-400); font-weight:500; margin-left:2px;}

/* ---------- Canvas 容器 ---------- */
.hb-canvas{width:100%; display:block;}

/* ---------- 收入线行 ---------- */
.hb-line{display:flex; align-items:center; gap:10px; padding:11px 0;
  border-bottom:1px solid var(--gray-100);}
.hb-line:last-child{border-bottom:none; padding-bottom:2px;}
.hb-line-ic{width:36px; height:36px; border-radius:11px; flex:0 0 auto; font-size:17px;
  display:flex; align-items:center; justify-content:center;}
.hb-line-nm{font-size:13px; font-weight:800; color:var(--gray-900);}
.hb-line-ds{font-size:10.5px; color:var(--gray-400); margin-top:4px; line-height:1.5;}
.hb-line-v{font-size:15px; font-weight:800; text-align:right;}
.hb-line-p{font-size:10px; color:var(--gray-400); text-align:right; margin-top:3px; font-weight:600;}
.hb-line-track{height:5px; border-radius:3px; background:var(--gray-100); margin-top:7px; overflow:hidden;}
.hb-line-fill{height:100%; border-radius:3px;}

/* 收入线规则标签 */
.hb-line-rule{display:inline-block; font-size:9.5px; font-weight:800; padding:2px 6px;
  border-radius:5px; margin-top:5px;}

/* ---------- 流水条目 ---------- */
.hb-flow{display:flex; align-items:flex-start; gap:10px; padding:12px 0;
  border-bottom:1px solid var(--gray-100);}
.hb-flow:last-child{border-bottom:none;}
.hb-flow-ic{width:34px; height:34px; border-radius:11px; flex:0 0 auto; font-size:16px;
  display:flex; align-items:center; justify-content:center;}
.hb-flow-tt{font-size:12.5px; font-weight:700; color:var(--gray-800); line-height:1.45;}
.hb-flow-mt{font-size:10px; color:var(--gray-400); margin-top:5px; line-height:1.6;}
.hb-flow-v{font-size:15px; font-weight:800; text-align:right; white-space:nowrap;}
.hb-flow-st{font-size:9.5px; font-weight:800; padding:2px 7px; border-radius:6px;
  margin-top:6px; display:inline-block;}

/* ---------- 分段器（通用，复用 .seg 视觉但独立命名防冲突） ---------- */
.hb-seg{display:flex; gap:6px; background:var(--gray-100); border-radius:12px; padding:4px;}
.hb-seg-i{flex:1; text-align:center; font-size:12px; font-weight:700; padding:8px 4px;
  border-radius:9px; color:var(--gray-500); cursor:pointer; transition:.16s;}
.hb-seg-i.on{background:#fff; color:var(--blue-600); box-shadow:0 1px 4px rgba(15,23,42,.1);}

/* ---------- 数据条（横向占比） ---------- */
.hb-rank{display:flex; align-items:center; gap:10px; padding:9px 0;}
.hb-rank-nm{font-size:11.5px; color:var(--gray-600); width:76px; flex:0 0 auto;}
.hb-rank-tr{flex:1; height:8px; border-radius:4px; background:var(--gray-100); overflow:hidden;}
.hb-rank-fl{height:100%; border-radius:4px;}
.hb-rank-v{font-size:11.5px; font-weight:800; width:46px; text-align:right; flex:0 0 auto;}

/* ---------- 漏斗 ---------- */
.hb-fn{margin-bottom:11px;}
.hb-fn:last-child{margin-bottom:0;}
.hb-fn-hd{display:flex; align-items:center; font-size:11.5px; margin-bottom:6px;}
.hb-fn-nm{color:var(--gray-600); font-weight:600;}
.hb-fn-v{margin-left:auto; font-weight:800;}
.hb-fn-bar{height:22px; border-radius:7px; display:flex; align-items:center;
  padding-left:9px; color:#fff; font-size:10.5px; font-weight:800;}

/* ---------- 进度（回款） ---------- */
.hb-prog{height:9px; border-radius:5px; background:var(--gray-100); overflow:hidden; margin-top:4px;}
.hb-prog-fl{height:100%; border-radius:5px; background:linear-gradient(90deg,#059669,#34d399);}
.hb-prog-meta{display:flex; justify-content:space-between; font-size:10.5px; margin-top:9px;}

/* ---------- 授权费卡 ---------- */
.hb-fee{position:relative; border-radius:14px; padding:14px; overflow:hidden;
  background:linear-gradient(135deg,#112a54,#1d4b96); color:#fff;}
.hb-fee-bg{position:absolute; inset:0;
  background:radial-gradient(circle at 90% 8%, rgba(255,255,255,.18), transparent 46%);}
.hb-fee-body{position:relative;}
.hb-fee-lb{font-size:10.5px; opacity:.78; font-weight:700; letter-spacing:.4px;}
.hb-fee-amt{font-size:26px; font-weight:800; margin-top:7px; letter-spacing:.3px; line-height:1.1;}
.hb-fee-amt .u{font-size:11.5px; font-weight:600; opacity:.82; margin-left:5px;}

/* ---------- 状态标签补齐 ---------- */
.tag-purple{background:#f5f3ff; color:#7c3aed;}
.tag-teal{background:#ecfeff; color:#0891b2;}

/* ---------- 厅主中心 hero ---------- */
.hc-hero{position:relative; border-radius:16px; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,#112a54,#1d4b96 55%,#4f46e5);
  box-shadow:0 8px 22px -8px rgba(29,75,150,.5);}
.hc-hero-bg{position:absolute; inset:0;
  background:radial-gradient(circle at 90% 6%, rgba(255,255,255,.2), transparent 44%);}
.hc-hero-body{padding:16px; position:relative;}
.hc-avt{width:48px; height:48px; border-radius:15px; flex:0 0 auto; font-size:19px; font-weight:800;
  background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center;}
.hc-metrics{display:flex; gap:8px; margin-top:14px;}
.hc-metric{flex:1; text-align:center; background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:9px 4px;}
.hc-metric text:first-child{display:block; font-size:17px; font-weight:800; line-height:1.1;}
.hc-metric text:last-child{font-size:10px; opacity:.82;}

/* ---------- 厅主入口宫格 ---------- */
.hc-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.hc-item{background:#fff; border:1px solid var(--gray-100); border-radius:13px;
  padding:13px; box-shadow:var(--shadow-sm); position:relative;}
.hc-item:active{transform:scale(.985);}
.hc-item-ic{width:38px; height:38px; border-radius:12px; font-size:18px;
  display:flex; align-items:center; justify-content:center; position:relative;}
.hc-item-t{font-size:13px; font-weight:800; color:var(--gray-900); margin-top:10px;}
.hc-item-d{font-size:10.5px; color:var(--gray-400); margin-top:4px; line-height:1.5;}

/* ---------- 提醒条 / 建议 / 任务（经营版） ---------- */
.hb-alert{position:relative; overflow:hidden; margin-bottom:9px; background:#fff;
  border-radius:14px; padding:13px; border:1px solid var(--gray-100); box-shadow:var(--shadow-sm);}
.hb-alert-bar{position:absolute; left:0; top:0; bottom:0; width:3px;}
.hb-alert-ic{width:36px; height:36px; border-radius:11px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; font-size:17px;}
.hb-alert-lv{font-size:9.5px; font-weight:800; border-radius:6px; padding:2px 6px;}
.hb-alert-tt{font-size:12.5px; font-weight:700; color:var(--gray-800); line-height:1.45;}
.hb-alert-ds{font-size:11px; color:var(--gray-500); margin-top:5px; line-height:1.6;}
.hb-alert-ft{margin-top:10px; padding-top:9px; border-top:1px dashed var(--gray-100);
  display:flex; align-items:center;}
.hb-alert-act{font-size:11.5px; font-weight:800; margin-left:auto;}

.hb-adv{background:#fff; border-radius:14px; padding:13px; border:1px solid var(--gray-100);
  box-shadow:var(--shadow-sm); margin-bottom:9px;}
.hb-adv-ic{width:36px; height:36px; border-radius:11px; flex:0 0 auto; font-size:17px;
  display:flex; align-items:center; justify-content:center; background:#f5f3ff;}
.hb-adv-score{font-size:16px; font-weight:800;}
.hb-adv-dt{font-size:11.5px; color:var(--gray-600); line-height:1.7; margin-top:9px;
  background:var(--gray-50); border-radius:9px; padding:9px 10px;}
.hb-note{font-size:11px; color:var(--gray-400); line-height:1.65;
  background:var(--blue-50); border-radius:9px; padding:9px 10px;}

/* ---------- 可折叠区块 ---------- */
.hb-sec-hd{display:flex; align-items:center; gap:7px; padding:2px 0 10px;}
.hb-sec-hd .l{font-size:14px; font-weight:800; color:var(--gray-900);}
.hb-sec-hd .r{margin-left:auto; font-size:11px; color:var(--blue-600); font-weight:700;}

/* ---------- 空态 ---------- */
.hb-empty{padding:26px 0; text-align:center; color:var(--gray-400); font-size:12px;}
.hb-empty .ic{font-size:28px; margin-bottom:8px;}

/* ---------- 我的页 · 厅主经营后台入口条 ---------- */
.mine-hall{margin:0 14px; border-radius:16px; padding:13px 14px; color:#fff;
  background:linear-gradient(135deg,#112a54,#1d4b96 58%,#c41e28 160%);
  position:relative; overflow:hidden; display:flex; align-items:center;
  box-shadow:0 6px 18px -8px rgba(17,42,84,.5);}
.mine-hall .mh-glow{position:absolute; inset:0;
  background:radial-gradient(circle at 90% 6%, rgba(255,255,255,.2), transparent 46%);}
.mine-hall .mh-body{position:relative; flex:1; min-width:0;}
.mine-hall .mh-ic{width:40px; height:40px; border-radius:13px; flex:0 0 auto;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28);
  display:flex; align-items:center; justify-content:center; font-size:20px;}
.mine-hall .mh-t{font-size:14px; font-weight:800;}
.mine-hall .mh-d{font-size:10.5px; opacity:.84; margin-top:3px;}
.mine-hall .mh-score{flex:0 0 auto; text-align:center; padding-left:10px;
  border-left:1px solid rgba(255,255,255,.2); margin-left:4px;}
.mine-hall .mh-score-v{display:block; font-size:19px; font-weight:800; line-height:1.1;}
.mine-hall .mh-score-t{font-size:9.5px; opacity:.78;}
.mine-hall .mh-badges{display:flex; gap:5px; margin-top:9px; flex-wrap:wrap;}
.mine-hall .mh-b{font-size:9.5px; font-weight:700; border-radius:6px; padding:2px 6px;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.22);}
.mine-hall .mh-b.warn{background:rgba(253,230,138,.9); color:#92400e; border-color:transparent;}

/* ================= 付费化新增公共样式（钱包/路演） ================= */
.tag-gold{background:linear-gradient(135deg,#fef3c7,#fde68a); color:#92400e; font-weight:700;}
.rp-owner-bar{margin:0 14px 10px; padding:11px 13px; border-radius:14px;
  display:flex; align-items:center; gap:11px; color:#fff;
  background:linear-gradient(135deg,#b45309,#d97706 55%,#f59e0b);
  box-shadow:0 4px 14px rgba(217,119,6,.28);}

@import "styles/theme.wxss";

/* 自定义导航栏 · 大返回按钮版 */
.cnav{
  background:var(--white);
  border-bottom:1px solid var(--gray-100);
  position:relative; z-index:99;
  box-shadow:0 1px 4px rgba(15,23,42,.04);
}
.cnav-bar{
  height:52px;
  display:flex; align-items:center;
  padding:0 10px;
  position:relative;
}

/* ---------- 大返回按钮：‹ 返回 ---------- */
.cnav-back{
  display:flex; align-items:center; gap:3px;
  height:40px; padding:0 12px 0 6px;
  border-radius:12px;
  background:var(--gray-100);
  flex:0 0 auto;
  transition:.15s;
  -webkit-tap-highlight-color:transparent;
}
.cnav-back-hover{ background:#dbeafe; transform:scale(.96); }
.cnav-arrow{
  font-size:30px; font-weight:800;
  color:var(--blue-600);
  line-height:1; margin-top:-3px;
}
.cnav-back-txt{
  font-size:14px; font-weight:800;
  color:var(--blue-600);
  letter-spacing:1px;
}

/* ---------- 标题 ---------- */
.cnav-title{
  position:absolute; left:120px; right:120px;
  text-align:center;
  pointer-events:none;
}
.cnav-title-t{
  font-size:15.5px; font-weight:800; color:var(--gray-900);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  display:block;
}

/* ---------- 右侧首页按钮 ---------- */
.cnav-side{ margin-left:auto; flex:0 0 auto; }
.cnav-home{
  width:40px; height:40px; border-radius:12px;
  background:var(--gray-100);
  display:flex; align-items:center; justify-content:center;
  transition:.15s;
}
.cnav-home-ic{ font-size:19px; color:var(--gray-600); line-height:1; }


/* 首页局部微调 */
.stat-grid .si .b { font-size: 19px; }

/* ============ 首页 · 产红商学院卡片（ch-*）============ */
.ch-card { border-radius:16px; padding:15px 16px 13px; color:#fff;
  background:linear-gradient(135deg,#134e4a,#0f766e 55%,#0891b2);
  box-shadow:0 12px 28px -14px rgba(13,148,136,.7); }
.ch-top3 { margin-top:13px; background:rgba(255,255,255,.13); border-radius:12px;
  padding:4px 10px; }
.ch-item { display:flex; align-items:center; gap:10px; padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.12); }
.ch-item:last-child { border-bottom:none; }
.ch-ic { width:32px;height:32px;flex:none;border-radius:9px;display:grid;place-items:center;
  font-size:16px; background:rgba(255,255,255,.2); }
.ch-nm { font-size:12.5px; font-weight:700; }
.ch-rs { font-size:10px; opacity:.8; margin-top:3px; }
.ch-pr { text-align:right; flex:none; }
.ch-p { display:block; font-size:13px; font-weight:800; color:#fde68a; }
.ch-o { display:block; font-size:9.5px; opacity:.65; text-decoration:line-through; }
.ch-foot { display:flex; align-items:center; gap:8px; margin-top:11px; }
.ch-tag { font-size:10px; font-weight:700; padding:3px 8px; border-radius:99px;
  background:rgba(255,255,255,.18); }
.ch-go { margin-left:auto; font-size:11px; font-weight:800; color:#fde68a; }

/* ============ 首页顶部导航条（tn-*）============ */
.topnav { display:flex; gap:6px; padding:0 14px 10px; margin-top:12px; overflow-x:auto;
  -webkit-overflow-scrolling:touch; }
.topnav::-webkit-scrollbar { display:none; }
.tn-i { flex:0 0 auto; display:flex; align-items:center; gap:5px;
  background:#fff; border:1px solid #e2e8f0; border-radius:99px;
  padding:7px 13px; box-shadow:0 2px 8px -4px rgba(15,23,42,.12); }
.tn-ic { font-size:14px; }
.tn-t { font-size:11.5px; font-weight:700; color:#334155; white-space:nowrap; }
.tn-i:active { background:#eff6ff; border-color:#bfdbfe; }

/* ============ 首页广告轮播（ad-*）============ */
.ad-wrap { padding:0 14px 10px; }
.ad-swiper { height:78px; border-radius:14px; overflow:hidden;
  box-shadow:0 8px 20px -12px rgba(15,42,84,.55); }
.ad-item { height:100%; display:flex; align-items:center; gap:11px;
  padding:0 14px; position:relative; color:#fff; }
.ad-ic { width:42px; height:42px; flex:0 0 auto; border-radius:12px;
  background:rgba(255,255,255,.18); display:flex; align-items:center;
  justify-content:center; font-size:21px; }
.ad-tt { font-size:13.5px; font-weight:800; letter-spacing:.2px; }
.ad-sub { font-size:10.5px; opacity:.82; margin-top:4px; }
.ad-go { flex:0 0 auto; font-size:11px; font-weight:800; color:#fde68a; }
.ad-badge { position:absolute; right:9px; top:7px; font-size:8.5px;
  padding:1px 5px; border-radius:5px; background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.35); opacity:.9; }


/* 通讯录 - 局部样式 */


/* 会客厅 - 局部样式 */


/* 路演排期页 · 样式全部复用 theme.wxss */


/* 我的页 · 样式全部复用 theme.wxss */


/* 登录页 · 样式全部复用 theme.wxss */


/* 会员申请 · 样式全部复用 theme.wxss */


/* 会员等级与权益 · 样式全部复用 theme.wxss */


/* 设置 · 样式全部复用 theme.wxss */


/* 行业细分 · 样式全部复用 theme.wxss */


/* 行业详情 · 样式全部复用 theme.wxss */


/* 产业项目展示 · 样式全部复用 theme.wxss */


/* 项目详情 · 样式全部复用 theme.wxss */


/* 十大工程 · 样式全部复用 theme.wxss */


/* 工程详情 · 样式全部复用 theme.wxss */


/* 红埔产业英才库 · 样式全部复用 theme.wxss */


/* 英才详情 · 样式全部复用 theme.wxss */


/* 路演地图页 · 样式全部复用 theme.wxss */


/* 路演详情 · 样式全部复用 theme.wxss */


/* 会客厅详情 · 样式全部复用 theme.wxss */

/* ============ 辖区广告位（had-*）============ */
.had-item { height:100%; display:flex; align-items:center; gap:10px;
  padding:0 12px; color:#fff; position:relative; }
.had-ic { font-size:20px; flex:0 0 auto; }
.had-tt { font-size:12.5px; font-weight:800; }
.had-sub { font-size:10px; opacity:.8; margin-top:3px; }
.had-badge { position:absolute; right:8px; top:5px; font-size:8px; padding:1px 4px;
  border-radius:4px; background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.3); }


/* 联系人详情 · 样式全部复用 theme.wxss */


/* 名片页 · 样式全部复用 theme.wxss */

/* 名片码 / 微信码 切换 tabs */
.qr-tabs {
  display: flex; background: var(--gray-100); border-radius: 10px;
  padding: 3px; margin-bottom: 14px;
}
.qr-tab {
  flex: 1; text-align: center; padding: 7px 0; font-size: 13px;
  color: var(--gray-500); border-radius: 8px; transition: all .2s;
}
.qr-tab.on { background: #fff; color: var(--blue-600); font-weight: 700; box-shadow: 0 1px 4px rgba(15,42,84,.12); }

/* 未上传微信码引导块 */
.qr-empty {
  border: 1.5px dashed var(--gray-300); border-radius: 14px;
  background: var(--gray-50); padding: 26px 16px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}


/* 编辑名片 · 样式全部复用 theme.wxss */

/* 微信二维码（可选）上传块 */
.ce-qr-row { display: flex; align-items: flex-start; }
.ce-qr-prev {
  width: 92px; height: 92px; border-radius: 10px;
  border: 1.5px dashed var(--gray-300); background: var(--gray-50);
}
.ce-qr-empty {
  border: 1.5px dashed var(--gray-300); border-radius: 10px;
  background: var(--gray-50); padding: 16px 12px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}


/* 谁浏览了我的名片 · 样式全部复用 theme.wxss */


/* 我的名片夹 · 样式全部复用 theme.wxss */


/* 我的收藏 · 样式全部复用 theme.wxss */


/* 我的报名 · 样式全部复用 theme.wxss */


/* 我的预约 · 样式全部复用 theme.wxss */


/* AI 智能匹配 · 样式全部复用 theme.wxss */


/* 匹配详情 · 样式全部复用 theme.wxss */


/* 匹配偏好 · 样式全部复用 theme.wxss */


/* AI 助理 · 样式全部复用 theme.wxss */


/* 信息提醒 · 样式全部复用 theme.wxss */


/* 工作建议 · 样式全部复用 theme.wxss */


/* 任务安排 · 样式全部复用 theme.wxss */


/* 工作台 · 样式复用 theme.wxss */
.adm-hero-body{padding:16px 16px 14px;position:relative;}

/* 内容审核 · 样式复用 theme.wxss */

/* 数据字典 · 样式复用 theme.wxss */

/* 业务配置 · 样式复用 theme.wxss */

/* 权限与等级 · 样式复用 theme.wxss */

/* 操作日志 · 样式复用 theme.wxss */

/* 管理员管理 · 样式复用 theme.wxss */

/* 会员管理 · 样式复用 theme.wxss */

/* 会员详情 · 样式复用 theme.wxss */

/* 无权限兜底 · 样式复用 theme.wxss */

/* 厅主中心 · 样式复用 theme.wxss（hc-* / hb-* 系列） */


/* 厅主工作台 · 样式全部复用 theme.wxss（hb-* / hc-* / as-* 系列） */


/* 经营数据看板 · 样式全部复用 theme.wxss（hb-* 系列） */


/* 收益概览 · 样式全部复用 theme.wxss（hb-* 系列） */


/* 收益明细 · 样式全部复用 theme.wxss（hb-* / hc-* 系列） */
/* 折叠箭头旋转过渡 */
.li-arrow{transition:transform .18s;}


/* 厅主 AI 助手 · 样式复用 theme.wxss（as-* 助理体系 + hb-* 经营体系） */


/* 厅主资料 · 样式复用 theme.wxss（hb-* / hc-* 系列） */


/* =========================================================================
 * 钱包页专属样式（wl-*）
 * 通用卡片/按钮/标签复用 theme.wxss
 * ========================================================================= */

/* ---------- 余额卡 ---------- */
.wl-hero {
  position: relative;
  margin: 12px 14px 0;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, #0f2a54, #1d4b96 55%, #2563eb);
  color: #fff;
  box-shadow: var(--shadow-md);
}
.wl-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(251, 191, 36, .25), transparent 42%),
    radial-gradient(circle at 8% 92%, rgba(255, 255, 255, .12), transparent 38%);
}
.wl-hero-body { position: relative; padding: 18px 18px 14px; }
.wl-label { font-size: 11px; opacity: .78; letter-spacing: 1px; }
.wl-balance { font-size: 34px; font-weight: 800; line-height: 1.2; margin-top: 4px; }
.wl-discount { display: flex; align-items: center; gap: 7px; margin-top: 7px; font-size: 11px; opacity: .92; }
.wl-dis-tag {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #4c2600; font-weight: 800; font-size: 10.5px;
  padding: 3px 8px; border-radius: 999px;
}
.wl-stats { display: flex; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .18); }
.wl-st { flex: 1; text-align: center; }
.wl-st .v { font-size: 15px; font-weight: 800; }
.wl-st .t { font-size: 10.5px; opacity: .72; margin-top: 3px; }

/* ---------- 充值档位 ---------- */
.wl-plans {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  padding: 0 14px;
  margin-bottom: 10px;
}
.wl-plan {
  position: relative;
  background: #fff;
  border: 1.5px solid var(--gray-100);
  border-radius: 13px;
  padding: 13px 6px 11px;
  text-align: center;
  transition: border-color .15s;
}
.wl-plan.on {
  border-color: var(--blue-600, #2563eb);
  background: linear-gradient(160deg, #eff6ff, #dbeafe);
}
.wl-plan-hot {
  position: absolute; top: -8px; right: -4px;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #fff; font-size: 9px; font-weight: 800;
  padding: 2px 7px; border-radius: 999px;
  box-shadow: 0 2px 6px rgba(220, 38, 38, .35);
}
.wl-plan-amt { font-size: 17px; font-weight: 800; color: var(--blue-700, #1d4b96); }
.wl-plan-lb { font-size: 10px; color: var(--amber-700, #b45309); font-weight: 700; margin-top: 3px; }
.wl-plan-btn {
  margin: 8px auto 0; width: fit-content;
  font-size: 10px; font-weight: 700;
  padding: 3px 10px; border-radius: 999px;
  background: var(--gray-50, #f8fafc); color: var(--gray-500, #64748b);
}
.wl-plan.on .wl-plan-btn { background: linear-gradient(135deg, #2563eb, #1d4b96); color: #fff; }
.wl-tip {
  margin: 0 14px 12px; padding: 9px 12px;
  background: #fffbeb; border: 1px solid #fde68a; border-radius: 11px;
  font-size: 11px; line-height: 1.6; color: #92400e;
}

/* ---------- 流水 ---------- */
.wl-rec { display: flex; align-items: center; gap: 11px; padding: 11px 0; }
.wl-rec + .wl-rec { border-top: 1px solid var(--gray-50, #f8fafc); }
.wl-rec-ic {
  width: 34px; height: 34px; border-radius: 10px; flex: 0 0 auto;
  display: grid; place-items: center;
  font-size: 15px; font-weight: 800;
  background: var(--gray-100, #f1f5f9); color: var(--gray-500, #64748b);
}
.wl-rec-ic.in { background: #ecfdf5; color: #059669; }
.wl-rec-t { font-size: 12.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wl-rec-amt { font-size: 14px; font-weight: 800; flex: 0 0 auto; }
.wl-rec-amt.in { color: #059669; }


/* 厅主发布路演 · 样式（rp-*） */
.rp-idbar{display:flex;align-items:center;gap:10px;margin:14px 14px 0;padding:13px 14px;
  border-radius:14px;background:linear-gradient(135deg,#0f2a54,#1d4b96);color:#fff}
.rp-idbar-ic{font-size:24px}
.rp-idbar-t{font-size:15px;font-weight:800}
.rp-field{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f1f5f9}
.rp-fl{font-size:13.5px;font-weight:700;color:#334155;flex:0 0 auto;min-width:70px}
.rp-fi{flex:1;font-size:14px;color:#0f172a;padding:8px 10px;background:#f8fafc;border-radius:9px}
.rp-picker{color:#1d4b96;font-weight:700}
.rp-ta{width:100%;min-height:70px;font-size:13.5px;padding:9px 10px;background:#f8fafc;border-radius:9px;box-sizing:border-box}
.rp-seg{display:flex;gap:8px;flex:1}
.rp-seg-i{flex:1;text-align:center;font-size:12.5px;font-weight:700;padding:8px 4px;border-radius:9px;
  background:#f1f5f9;color:#64748b}
.rp-seg-i.on{background:#eff6ff;color:#2563eb;box-shadow:inset 0 0 0 1.5px #2563eb}
.rp-err{font-size:11px;color:#ef4444;margin:-6px 0 4px 80px}
.rp-est{margin:14px 14px 0;padding:13px 14px;border-radius:14px;background:#fffbeb;border:1px solid #fde68a}
.rp-est-t{font-size:13.5px;font-weight:800;color:#92400e}
.rp-est-row{display:flex;gap:8px;margin-top:10px}
.rp-est-i{flex:1;background:#fff;border-radius:10px;padding:9px 6px;text-align:center}
.rp-est-i .v{font-size:14.5px;font-weight:800;color:#0f172a}
.rp-est-i .v.hl{color:#d97706}
.rp-est-i .t{font-size:10.5px;color:#94a3b8;margin-top:2px}
.rp-est-tip{font-size:10.5px;color:#b45309;margin-top:9px;line-height:1.6}
.rp-submit{background:linear-gradient(135deg,#c41e28,#e0434c);color:#fff;font-weight:800;font-size:15.5px;
  text-align:center;padding:14px;border-radius:14px;box-shadow:0 8px 20px -8px rgba(196,30,40,.5)}


/* 品牌授权证书 · 证书视觉（ct-*） */
.ct-frame{margin:16px 14px 0;border-radius:6px;background:linear-gradient(135deg,#d4a017,#f0c95c 45%,#b8860b);
  padding:3px;box-shadow:0 16px 40px -14px rgba(180,134,11,.55)}
.ct-border{border-radius:4px;background:#fffdf6;border:1px solid #e8d9a0;position:relative;padding:22px 18px 18px;overflow:hidden}
.ct-head{display:flex;align-items:center;gap:12px}
.ct-logo{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#0f2a54,#1d4b96);
  color:#fff;font-size:26px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ct-brand{font-size:21px;font-weight:800;color:#0f2a54;letter-spacing:2px}
.ct-sub{font-size:9.5px;color:#b08d57;letter-spacing:2.5px;margin-top:2px;font-weight:700}
.ct-divider{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:#d4a017}
.ct-divider:before,.ct-divider:after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#d4a017)}
.ct-divider:after{background:linear-gradient(90deg,#d4a017,transparent)}
.ct-divider text{font-size:9px;letter-spacing:3px;font-weight:800}
.ct-no-row{display:flex;justify-content:space-between}
.ct-no{font-size:10.5px;font-weight:800;color:#8a6d1f;background:#faf3dd;border:1px dashed #d4a017;
  border-radius:5px;padding:3px 8px}
.ct-no2{color:#a3893c}
.ct-body{margin-top:14px}
.ct-grant{font-size:13px;color:#57534e;text-align:center;letter-spacing:1px}
.ct-holder{font-size:19px;font-weight:800;color:#0f2a54;text-align:center;margin:7px 0;
  padding:0 10px;line-height:1.45}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 12px}
.ct-gi{background:#fbf7ea;border:1px solid #f0e4bd;border-radius:8px;padding:8px 10px}
.ct-gi .k{font-size:9.5px;color:#b08d57;font-weight:800;letter-spacing:1px}
.ct-gi .v{font-size:12px;font-weight:700;color:#292524;margin-top:3px;line-height:1.45}
.ct-rule{font-size:10px;color:#78716c;line-height:1.7;background:#fbf7ea;border-radius:8px;padding:8px 10px}
.ct-foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:16px}
.ct-sign{text-align:left}
.ct-auth{font-size:15px;font-weight:800;color:#0f2a54;font-family:"Kaiti SC","STKaiti",serif;letter-spacing:2px}
.ct-valid{font-size:9.5px;color:#a8a29e;margin-top:4px}
.ct-stamp{position:relative}
.ct-stamp-ring{width:86px;height:86px;border-radius:50%;border:2.5px solid rgba(196,30,40,.82);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  transform:rotate(-12deg);color:#c41e28;box-shadow:inset 0 0 0 1.5px rgba(196,30,40,.35);opacity:.92}
.ct-stamp-star{font-size:13px}
.ct-stamp-t1{font-size:9.5px;font-weight:800;letter-spacing:.5px}
.ct-stamp-t2{font-size:8px;letter-spacing:2px}
.ct-qr{position:absolute;right:14px;top:14px;text-align:center}
.ct-qr-box{width:44px;height:44px;border:1.5px solid #0f2a54;border-radius:5px;font-size:6.5px;
  color:#0f2a54;display:flex;align-items:center;justify-content:center;padding:3px;text-align:center;
  font-weight:800;line-height:1.35;background:#fff;word-break:break-all}
.ct-qr-t{font-size:8px;color:#a8a29e;margin-top:3px}


/* ============ 课程列表页样式（cs-*）============ */
.cs-hero { position:relative; margin:12px 14px 0; border-radius:16px; overflow:hidden;
  background:linear-gradient(135deg,#134e4a,#0f766e 55%,#0891b2); color:#fff;
  box-shadow:0 10px 26px -14px rgba(13,148,136,.65); }
.cs-hero-bg { position:absolute; inset:0;
  background:radial-gradient(circle at 88% 15%, rgba(251,191,36,.28), transparent 44%),
    radial-gradient(circle at 6% 95%, rgba(255,255,255,.14), transparent 40%); }
.cs-hero-body { position:relative; padding:16px 18px 14px; }
.cs-hero-stats { display:flex; margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,.2); }
.cs-hs { flex:1; text-align:center; }
.cs-hs .v { display:block; font-size:16px; font-weight:800; }
.cs-hs .t { font-size:10.5px; opacity:.76; margin-top:2px; }

/* 继续学习迷你卡 */
.cs-mini { flex:0 0 168px; background:#fff; border:1px solid #e2e9f3; border-radius:13px;
  padding:12px; box-shadow:0 4px 14px -10px rgba(15,23,42,.35); }
.cs-mini-ic { width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  font-size:18px; background:linear-gradient(135deg,#ccfbf1,#99f6e4); }
.cs-mini-t { font-size:12.5px; font-weight:800; margin-top:8px; line-height:1.35; height:34px; }
.cs-bar { height:6px; border-radius:99px; background:#eef2f7; overflow:hidden; margin:9px 0 6px; }
.cs-bar > view { height:100%; border-radius:99px; background:linear-gradient(90deg,#0891b2,#22d3ee); }
.cs-mini-go { font-size:10.5px; font-weight:800; color:#0d9488; }

/* 列表封面 */
.cs-cover { width:62px;height:62px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;
  font-size:27px; background:linear-gradient(135deg,#ecfeff,#cffafe); border:1px solid #a5f3fc; }
.cs-price { font-size:18px; font-weight:800; color:#c2410c; }
.cs-origin { font-size:11.5px; color:#94a3b8; text-decoration:line-through; }

/* ============ 讲师展示卡（lc-show-*）============ */
.lc-show { flex:0 0 128px; background:#fff; border:1px solid #e2e9f3; border-radius:14px;
  padding:12px 10px; text-align:center; box-shadow:0 4px 14px -10px rgba(15,23,42,.3); }
.lc-show-top { width:44px; height:44px; border-radius:50%; margin:0 auto; color:#fff;
  font-size:18px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.lc-show-lv { display:inline-block; font-size:9px; font-weight:800; color:#92400e;
  background:#fef3c7; border:1px solid #fcd34d; border-radius:99px; padding:2px 7px; margin-top:7px; }
.lc-show-nm { font-size:13px; font-weight:800; margin-top:6px; }
.lc-show-t { font-size:9.5px; color:#94a3b8; margin-top:3px; }
.lc-show-s { font-size:9.5px; color:#0d9488; font-weight:700; margin-top:5px; }


/* ============ 课程详情页样式（cs-*）============ */
.cs-price2 { font-size:24px; font-weight:800; color:#c2410c; }
.cs-origin2 { font-size:12.5px; color:#94a3b8; text-decoration:line-through; }
.cs-money { margin-top:11px; padding-top:10px; border-top:1px dashed #e2e9f3; }
.cs-mrow { display:flex; justify-content:space-between; font-size:12px; color:#64748b; padding:3px 0; }
.cs-mrow > text:last-child { color:#334155; font-weight:600; }

.cs-gain { display:flex; align-items:flex-start; gap:8px; margin-top:8px; font-size:12.5px; color:#334155; line-height:1.6; }
.cs-gain-ck { color:#059669; font-weight:800; flex:0 0 auto; }

/* 大纲条目 */
.cs-chap { display:flex; align-items:center; gap:11px; padding:12px 14px; }
.cs-chap-ic { width:32px;height:32px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;
  font-size:14px; font-weight:800; background:#f1f5f9; color:#64748b; }
.cs-chap-ic.done { background:#ecfdf5; color:#059669; }
.cs-chap-ic.lock { background:#f8fafc; color:#cbd5e1; }
.cs-chap-t { font-size:12.5px; font-weight:600; }

/* 评价 */
.cs-rv { padding:11px 0; }
.cs-rv + .cs-rv { border-top:1px solid #f1f5f9; }
.cs-rv .stars { color:#f59e0b; font-size:12px; letter-spacing:1px; }

/* 底部操作条 */
.cs-foot { position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; align-items:center; gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97); border-top:1px solid #e6ecf4;
  box-shadow:0 -6px 20px -12px rgba(15,23,42,.4); max-width:430px; margin:0 auto; }
.cs-foot-l { flex:0 0 auto; text-align:center; padding-right:6px; }
.cs-foot-p { font-size:16px; font-weight:800; color:#c2410c; }


/* ============ 课程学习页样式（cl-*）============ */
.cl-top { position:relative; background:linear-gradient(135deg,#134e4a,#0f766e 60%,#0e7490);
  color:#fff; padding:16px 18px 14px; }
.cl-title { font-size:15px; font-weight:800; line-height:1.4; }
.cl-ring { width:56px;height:56px;flex:0 0 auto;border-radius:50%;
  background:conic-gradient(#fbbf24 0deg, rgba(255,255,255,.25) 0deg);
  display:grid;place-items:center; position:relative; }
.cl-ring::after { content:''; position:absolute; inset:5px; border-radius:50%; background:#0f766e; }
.cl-ring-v { position:relative; z-index:1; font-size:13px; font-weight:800; }
.cl-bar { height:6px; border-radius:99px; background:rgba(255,255,255,.24); overflow:hidden; margin-top:12px; }
.cl-bar > view { height:100%; border-radius:99px; background:linear-gradient(90deg,#fbbf24,#f59e0b); transition:width .3s; }

/* 播放器 */
.cl-player { border-radius:15px; overflow:hidden; background:#0b1220;
  box-shadow:0 12px 28px -16px rgba(11,18,32,.7); }
.cl-screen { position:relative; height:172px; display:grid; place-items:center;
  background:radial-gradient(circle at 50% 42%, #1e293b, #060b14 78%); }
.cl-screen-in { text-align:center; padding:0 22px; color:#e2e8f0; }
.cl-type { font-size:11px; font-weight:800; color:#5eead4; letter-spacing:1px; }
.cl-screen-t { font-size:14.5px; font-weight:800; margin-top:9px; line-height:1.4; color:#fff; }
.cl-screen-d { font-size:11px; opacity:.6; margin-top:6px; }
.cl-play-btn { position:absolute; width:54px;height:54px;border-radius:50%;
  background:rgba(255,255,255,.14); border:1.5px solid rgba(255,255,255,.4);
  display:grid;place-items:center; color:#fff; font-size:20px; padding-left:4px; }
.cl-vbar { position:absolute; left:0; right:0; bottom:0; height:4px; background:rgba(255,255,255,.18); }
.cl-vbar > view { height:100%; background:#22d3ee; transition:width .1s linear; }
.cl-ctrl { display:flex; gap:8px; padding:11px 12px; background:#fff; }
.cl-ctrl .btn { margin:0; }

/* 章节 */
.cl-chap { display:flex; align-items:center; gap:11px; padding:12px 14px; }
.cl-chap.on { background:#f0fdfa; }
.cl-chap-ic { width:28px;height:28px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;
  font-size:12px;font-weight:800;background:#f1f5f9;color:#64748b; }
.cl-chap-ic.done { background:#ecfdf5; color:#059669; }
.cl-chap-t { font-size:12.5px; font-weight:600; }

/* 笔记 */
.cl-ta { width:100%; min-height:76px; background:#f8fafc; border:1px solid #e6ecf4;
  border-radius:11px; padding:11px 12px; font-size:12.5px; line-height:1.6; color:#334155; }
.cl-note { padding:10px 0; }
.cl-note + .cl-note { border-top:1px solid #f1f5f9; }
.cl-note-t { font-size:12.5px; color:#334155; line-height:1.6; margin-top:5px; }


/* ============ 课程发布页样式（cp-*）============ */
.cp-idbar { margin:12px 14px 0; padding:12px 14px; border-radius:14px; display:flex; align-items:center; gap:11px;
  color:#fff; background:linear-gradient(135deg,#0f766e,#0d9488 55%,#14b8a6);
  box-shadow:0 6px 18px -12px rgba(13,148,136,.7); }

.cp-field { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #f1f5f9; }
.cp-fl { font-size:12.5px; font-weight:700; color:#475569; flex:0 0 96px; }
.cp-req { color:#ef4444; }
.cp-in { flex:1; font-size:13px; color:#0f172a; }
.cp-picker { font-size:13px; color:#0d9488; font-weight:700; }
.cp-ta { width:100%; min-height:82px; background:#f8fafc; border:1px solid #e6ecf4; border-radius:11px;
  padding:11px 12px; font-size:12.5px; line-height:1.6; color:#334155; margin-top:2px; }
.cp-err { font-size:11px; color:#ef4444; margin-top:6px; }

.cp-est { margin-top:12px; padding:14px; border-radius:14px;
  background:linear-gradient(135deg,#fffbeb,#fef3c7); border:1px solid #fcd34d; }
.cp-est-t { font-size:13px; font-weight:800; color:#92400e; margin-bottom:9px; }
.cp-est-row { display:flex; justify-content:space-between; font-size:12.5px; color:#78350f; padding:4px 0; }
.cp-est-row .hl { font-weight:800; color:#b45309; }
.cp-est-tip { font-size:11px; color:#92400e; opacity:.85; line-height:1.6; margin-top:9px;
  padding-top:9px; border-top:1px dashed #fcd34d; }


/* 我的课程 / 学习中心（mc-*） */

/* ---------- 概览卡 ---------- */
.mc-hero{margin:12px 14px 0;border-radius:16px;padding:16px 16px 14px;color:#fff;
  background:linear-gradient(135deg,#0f2a54,#1d4b96 55%,#2563a8);
  box-shadow:0 14px 30px -14px rgba(15,42,84,.6)}
.mc-hero .tiny{color:rgba(255,255,255,.82)}
.mc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px;
  padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
.mc-st{text-align:center}
.mc-st .v{display:block;font-size:18px;font-weight:800;letter-spacing:-.5px}
.mc-st .t{display:block;font-size:10px;color:rgba(255,255,255,.78);margin-top:3px}

/* ---------- 课程封面块 ---------- */
.mc-cover{width:64px;height:64px;border-radius:12px;flex:none;font-size:26px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#eaf2ff,#d8e6ff);border:1px solid #cddcf5}

/* ---------- 进度条 ---------- */
.mc-bar{height:6px;border-radius:4px;background:#eef2f7;overflow:hidden;margin:10px 0 6px}
.mc-bar > view{height:100%;border-radius:4px;
  background:linear-gradient(90deg,#2563a8,#4f9be0);transition:width .35s}

/* ---------- 结业证书弹层 ---------- */
.mc-mask{position:fixed;inset:0;z-index:999;background:rgba(12,20,36,.72);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:20px 16px;overflow-y:auto}
.mc-cert{width:100%;max-width:360px}
.mc-cert-frame{border-radius:8px;padding:3px;
  background:linear-gradient(135deg,#d4a017,#f0c95c 45%,#b8860b);
  box-shadow:0 20px 46px -16px rgba(180,134,11,.6)}
.mc-cert-border{border-radius:6px;background:#fffdf6;border:1px solid #e8d9a0;
  overflow:hidden}

.mc-cert-head{display:flex;align-items:center;gap:11px;padding:18px 16px 0}
.mc-cert-logo{width:42px;height:42px;border-radius:11px;flex:none;font-size:23px;font-weight:800;
  color:#fff;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#c41e28,#8f1620)}
.mc-cert-brand{font-size:19px;font-weight:800;color:#0f2a54;letter-spacing:1.5px}
.mc-cert-sub{font-size:8.5px;color:#b08d57;letter-spacing:2px;margin-top:2px;font-weight:700}

.mc-cert-div{display:flex;align-items:center;gap:9px;margin:12px 16px 8px;color:#d4a017}
.mc-cert-div:before,.mc-cert-div:after{content:'';flex:1;height:1px;
  background:linear-gradient(90deg,transparent,#d4a017)}
.mc-cert-div:after{background:linear-gradient(90deg,#d4a017,transparent)}
.mc-cert-div text{font-size:8.5px;letter-spacing:2.5px;font-weight:800}

.mc-cert-body{padding:0 16px;text-align:center}
.mc-cert-line{font-size:12.5px;color:#57534e;letter-spacing:.5px}
.mc-cert-name{font-size:20px;font-weight:800;color:#0f2a54;margin:6px 0;
  padding-bottom:5px;border-bottom:1px dashed #e2d5a8;display:inline-block;min-width:40%}

.mc-cert-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0 4px;text-align:left}
.mc-cm{background:#fbf7ea;border:1px solid #f0e4bd;border-radius:8px;padding:7px 9px}
.mc-cm .k{font-size:9px;color:#b08d57;font-weight:800;letter-spacing:.8px}
.mc-cm .v{font-size:11.5px;font-weight:700;color:#292524;margin-top:3px;line-height:1.4}

.mc-cert-foot{display:flex;align-items:flex-end;justify-content:space-between;
  padding:10px 16px 16px;margin-top:8px}
.mc-cert-no{font-size:9.5px;font-weight:800;color:#8a6d1f;background:#faf3dd;
  border:1px dashed #d4a017;border-radius:5px;padding:3px 7px;display:inline-block}
.mc-cert-valid{font-size:9px;color:#a8a29e;margin-top:5px}

.mc-cert-stamp{width:74px;height:74px;border-radius:50%;flex:none;
  border:2.5px solid rgba(196,30,40,.82);transform:rotate(-12deg);color:#c41e28;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  box-shadow:inset 0 0 0 1.5px rgba(196,30,40,.35);opacity:.92}
.mc-stamp-t1{font-size:9px;font-weight:800;letter-spacing:.5px}
.mc-stamp-t2{font-size:7.5px;letter-spacing:1.8px}


/* 讲师中心（lc-*） */

/* ---------- 认证 hero ---------- */
.lc-hero { margin:12px 14px 0; border-radius:16px; padding:16px; color:#fff; position:relative;
  background:linear-gradient(135deg,#1e3a5f,#0d9488 60%,#059669);
  box-shadow:0 14px 30px -14px rgba(13,148,136,.6); }
.lc-hero-on { background:linear-gradient(135deg,#0f2a54,#0d9488 65%,#059669); }
.lc-perks { margin-top:13px; background:rgba(255,255,255,.13); border-radius:12px; padding:10px 12px; }
.lc-perk { display:flex; align-items:center; gap:8px; font-size:11.5px; padding:4px 0; }
.lc-perk .ic { font-size:14px; }

.lc-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:14px;
  padding-top:12px; border-top:1px solid rgba(255,255,255,.2); }
.lc-st { text-align:center; }
.lc-st .v { display:block; font-size:17px; font-weight:800; }
.lc-st .t { display:block; font-size:10px; opacity:.78; margin-top:3px; }

/* ---------- 申请表单 ---------- */
.lc-field { display:flex; align-items:center; gap:10px; padding:11px 2px; border-bottom:1px solid #f1f5f9; }
.lc-field .k { font-size:12.5px; font-weight:700; color:#334155; flex:0 0 62px; }
.lc-field .in { flex:1; font-size:13px; color:#0f172a; min-width:0; }
.lc-field .in.ph { color:#94a3b8; }
.lc-field .arr { color:#cbd5e1; font-size:16px; }
.lc-field.err { border-bottom-color:#fca5a5; }
.lc-ta-wrap { align-items:flex-start; flex-direction:column; gap:8px; }
.lc-ta { width:100%; min-height:72px; font-size:12.5px; line-height:1.7; color:#0f172a;
  background:#f8fafc; border-radius:10px; padding:10px 12px; box-sizing:border-box; }
.lc-err { font-size:10.5px; color:#dc2626; margin-top:4px; }

/* ---------- 审核态 ---------- */
.lc-apply-card { margin-top:14px; text-align:left; background:#f8fafc; border-radius:12px; padding:10px 14px; }
.lc-ar { display:flex; gap:10px; padding:4px 0; }
.lc-ar .k { font-size:11px; color:#94a3b8; flex:0 0 34px; }
.lc-ar .v { font-size:12px; font-weight:700; color:#334155; }

/* ---------- 讲师后台 ---------- */
.lc-cover { width:52px; height:52px; border-radius:12px; flex:none; font-size:24px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ecfdf5,#d1fae5); border:1px solid #a7f3d0; }
.lc-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.lc-kpi { background:#f8fafc; border-radius:10px; padding:9px 6px; text-align:center; }
.lc-kpi .v { display:block; font-size:14px; font-weight:800; color:#0f172a; }
.lc-kpi .t { display:block; font-size:9.5px; color:#94a3b8; margin-top:2px; }

.lc-bar { height:6px; border-radius:4px; background:#eef2f7; overflow:hidden; margin-top:8px; }
.lc-bar > view { height:100%; border-radius:4px; background:linear-gradient(90deg,#059669,#34d399); }
.lc-toggle { color:#0d9488; font-weight:800; }

.lc-stu { display:flex; align-items:center; gap:10px; padding:7px 0; }
.lc-ava { width:30px; height:30px; border-radius:50%; flex:none; font-size:12px; font-weight:800;
  color:#fff; background:linear-gradient(135deg,#0d9488,#059669);
  display:flex; align-items:center; justify-content:center; }
.lc-sbar { height:4px; border-radius:3px; background:#eef2f7; overflow:hidden; margin-top:5px; }
.lc-sbar > view { height:100%; border-radius:3px;
  background:linear-gradient(90deg,#2563a8,#4f9be0); }

/* ---------- 讲师级别阶梯 ---------- */
.lc-ladder { display:flex; gap:6px; margin-top:12px; }
.lc-ld { flex:1; display:flex; align-items:center; justify-content:center; gap:4px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22);
  border-radius:9px; padding:6px 4px; }
.lc-ld .ic { font-size:12px; }
.lc-ld .nm { font-size:9.5px; font-weight:700; opacity:.9; white-space:nowrap; }
.lc-ld.on { background:rgba(253,230,138,.25); border-color:rgba(253,230,138,.6); }
.lc-ld.on .nm { color:#fde68a; font-weight:800; }


/* 讲师主页（ld-*） */
.ld-hero { margin:12px 14px 0; border-radius:16px; padding:16px; color:#fff;
  background:linear-gradient(135deg,#1e3a5f,#0d9488 60%,#059669);
  box-shadow:0 14px 30px -14px rgba(13,148,136,.6); }
.ld-ava { width:60px; height:60px; border-radius:18px; flex:none; color:#fff;
  font-size:25px; font-weight:800; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px -6px rgba(0,0,0,.4); }
.ld-lv { font-size:10px; font-weight:800; color:#fde68a;
  background:rgba(253,230,138,.16); border:1px solid rgba(253,230,138,.5);
  border-radius:99px; padding:2px 8px; }
.ld-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:14px;
  padding-top:12px; border-top:1px solid rgba(255,255,255,.2); }
.ld-st { text-align:center; }
.ld-st .v { display:block; font-size:16px; font-weight:800; }
.ld-st .tt { display:block; font-size:9.5px; opacity:.78; margin-top:3px; }

.ld-cover { width:56px; height:56px; border-radius:12px; flex:none; font-size:25px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ecfdf5,#d1fae5); border:1px solid #a7f3d0; }
.ld-price { font-size:15px; font-weight:800; color:#c2410c; }


/* 分账与讲师管理（asp-*） */
.asp-chips { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 8px; }
.asp-chip { font-size:11.5px; font-weight:700; padding:6px 12px; border-radius:99px;
  background:#f1f5f9; border:1px solid #e2e8f0; color:#475569; transition:.15s; }
.asp-chip.on { background:linear-gradient(135deg,#1d4b96,#2563eb); border-color:#1d4b96;
  color:#fff; box-shadow:0 4px 10px -4px rgba(29,75,150,.5); }
.asp-ava { width:42px; height:42px; border-radius:13px; flex:none; font-size:18px; font-weight:800;
  color:#fff; background:linear-gradient(135deg,#0f2a54,#1d4b96);
  display:flex; align-items:center; justify-content:center; }


/* 展销会列表页样式（复用全局 card/tag/chip/rp-owner-bar，仅补少量专属样式） */
.expo-hero-glow {
  position: absolute; right: -30px; top: -30px; width: 130px; height: 130px;
  border-radius: 50%; background: rgba(255, 255, 255, .08);
}


/* 展销会详情页样式（复用全局组件，仅补 hero 光斑与底部操作条） */
.expo-hero-glow {
  position: absolute; right: -34px; top: -34px; width: 150px; height: 150px;
  border-radius: 50%; background: rgba(255, 255, 255, .09);
}
.bottom-bar {
  position: fixed; left: 0; right: 0; bottom: 0;
  display: flex; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  background: #fff; box-shadow: 0 -4px 14px rgba(15, 42, 84, .07);
}
.page-wrap { padding-bottom: 76px; }


/* 展销会发布页（表单复用全局 field/seg/btn，仅补 picker 展示样式） */
.picker-val {
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--gray-50, #f6f8fb);
  font-size: 13px;
  font-weight: 600;
  color: var(--gray-700);
}


/* 专属广告信息页 */
.adp-hero { position:relative; overflow:hidden; padding:26px 16px 34px; color:#fff; }
.adp-glow { position:absolute; right:-40px; top:-40px; width:170px; height:170px;
  border-radius:50%; background:rgba(255,255,255,.09); }
.adp-ic { width:54px; height:54px; border-radius:16px; background:rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center; font-size:27px; }
.adp-tt { font-size:19px; font-weight:800; margin-top:12px; letter-spacing:.3px; }
.adp-by { font-size:12.5px; opacity:.85; margin-top:6px; }
.adp-tag { display:inline-block; font-size:10px; font-weight:700; margin-top:10px;
  padding:3px 9px; border-radius:99px; background:rgba(0,0,0,.2);
  border:1px solid rgba(255,255,255,.35); }
.tips { display:flex; gap:8px; padding:9px 11px; border-radius:10px;
  background:var(--blue-50, #eff6ff); font-size:11.5px; color:#1e40af; line-height:1.6; }


/* ===== 广告管理后台（总部） ===== */
.ad-hero { padding:18px 16px 20px; border-radius:0 0 20px 20px; }

.ad-note {
  background:#eff6ff; border:1px solid #dbeafe; border-radius:11px;
  padding:10px 12px; font-size:11.5px; color:#1d4b96; line-height:1.6; margin-bottom:10px;
}

/* 卡片 */
.ad-card { margin-bottom:10px; }
.ad-thumb {
  width:44px; height:44px; border-radius:12px; flex:0 0 auto;
  display:grid; place-items:center; font-size:21px;
  box-shadow:0 3px 10px rgba(15,23,42,.12);
}
.ad-thumb.sm { width:38px; height:38px; font-size:18px; border-radius:10px; }

/* 素材预览条 */
.ad-preview {
  display:flex; align-items:center; gap:10px;
  border-radius:11px; padding:11px 12px; margin-top:11px; color:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.16);
}
.ad-pv-ic { font-size:19px; }
.ad-pv-tt { font-size:13.5px; font-weight:800; }
.ad-pv-sub { font-size:10.5px; opacity:.86; margin-top:3px; }
.ad-pv-badge {
  font-size:9.5px; font-weight:700; padding:2px 7px; border-radius:6px;
  background:rgba(255,255,255,.24); border:1px solid rgba(255,255,255,.3); flex:0 0 auto;
}

/* 键值行 */
.ad-kv { margin-top:11px; border-top:1px dashed var(--gray-200); padding-top:9px; }
.ad-kv-i {
  display:flex; justify-content:space-between; gap:12px;
  font-size:11.5px; color:var(--gray-500); padding:3px 0;
}
.ad-kv-i > text:last-child { color:var(--gray-800); font-weight:600; max-width:62%; }

/* 价格三列 */
.ad-price-row {
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:11px;
}
.ad-pr {
  background:var(--gray-50); border:1px solid var(--gray-100); border-radius:10px;
  padding:9px 6px; text-align:center;
}
.ad-pr > text:first-child { display:block; font-size:16px; font-weight:800; color:var(--gray-900); }
.ad-pr > text:last-child { font-size:10px; color:var(--gray-500); margin-top:2px; display:block; }

/* 竞价状态条 */
.ad-bid-strip {
  margin-top:10px; padding:10px 12px; border-radius:11px;
  background:linear-gradient(135deg,#fffbeb,#fef3c7); border:1px solid #fde68a;
  color:#92400e;
}
.ad-top-price { font-size:18px; font-weight:800; color:#b45309; letter-spacing:.3px; }

.ad-live-line {
  display:flex; align-items:center; gap:8px; margin-top:9px;
  font-size:11.5px; color:var(--gray-600); min-width:0;
}

.ad-edit { font-size:11.5px; color:var(--blue-600); font-weight:700; flex:0 0 auto; }

/* 内联编辑 */
.ad-edit-box {
  margin-top:11px; padding:12px; border-radius:12px;
  background:var(--gray-50); border:1px solid var(--gray-100);
}
.ad-edit-box .field { margin-bottom:11px; }
.ad-edit-box .field > text:first-child {
  display:block; font-size:12px; font-weight:700; color:var(--gray-600); margin-bottom:6px;
}

.ad-mode {
  flex:1; text-align:center; font-size:12px; font-weight:700; padding:9px 8px;
  border-radius:10px; background:#fff; border:1.5px solid var(--gray-200); color:var(--gray-600);
}
.ad-mode.on { background:var(--blue-50); border-color:var(--blue-500); color:var(--blue-700); }

/* 在投列表 */
.ad-live-item {
  display:flex; align-items:center; gap:11px; padding:12px 0;
  border-bottom:1px solid var(--gray-100);
}
.ad-live-item:last-child { border-bottom:none; }
.ad-off {
  font-size:11px; color:var(--danger); font-weight:700; flex:0 0 auto;
  padding:5px 9px; border-radius:8px; background:#fef2f2;
}

/* 选择器 */
.ad-pick {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:var(--gray-50); border:1px solid var(--gray-200); border-radius:11px;
  padding:11px 12px; font-size:13px; min-height:42px;
}
.ad-pick-name { font-size:12.5px; font-weight:700; color:var(--gray-800); min-width:0; }
.ad-static {
  background:var(--gray-50); border:1px dashed var(--gray-200); border-radius:11px;
  padding:11px 12px; font-size:12px; color:var(--gray-500); line-height:1.6;
}

.ad-emoji {
  width:38px; height:38px; border-radius:10px; display:grid; place-items:center;
  font-size:19px; background:#fff; border:1.5px solid var(--gray-200);
}
.ad-emoji.on { border-color:var(--blue-500); background:var(--blue-50); }

/* 弹层 */
.ad-mask {
  position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:99;
  display:flex; align-items:flex-end;
}
.ad-sheet {
  width:100%; background:#fff; border-radius:20px 20px 0 0; padding:16px 14px 22px;
  animation:adUp .22s ease;
}
@keyframes adUp { from{transform:translateY(30px);opacity:.4} to{transform:none;opacity:1} }
.ad-sheet-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ad-sheet-x { font-size:16px; color:var(--gray-400); padding:2px 6px; }
.ad-sheet-item {
  display:flex; align-items:center; gap:10px; padding:12px 2px;
  border-bottom:1px solid var(--gray-100);
}
.ad-sheet-item:last-child { border-bottom:none; }


/* ===== 厅主广告位竞价 ===== */
.ab-wallet {
  position:relative; border-radius:16px; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,#0f2a54,#1d4b96 55%,#4f46e5);
  box-shadow:0 8px 22px -8px rgba(29,75,150,.55);
}
.ab-wallet-bg {
  position:absolute; right:-40px; top:-50px; width:160px; height:160px; border-radius:50%;
  background:rgba(255,255,255,.1);
}
.ab-wallet-body { position:relative; padding:16px 16px 14px; }
.ab-bal { font-size:27px; font-weight:800; letter-spacing:.5px; margin-top:5px; }
.ab-wallet-foot {
  display:flex; justify-content:space-between; font-size:10.5px; opacity:.84;
  margin-top:12px; padding-top:10px; border-top:1px solid rgba(255,255,255,.18);
}

.ab-card { margin-bottom:10px; }

.ab-price { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:11px; }
.ab-pr {
  background:var(--gray-50); border:1px solid var(--gray-100);
  border-radius:10px; padding:9px 4px; text-align:center;
}
.ab-pr-v { font-size:15.5px; font-weight:800; color:var(--gray-900); }
.ab-pr-v.hi { color:var(--blue-600); }
.ab-pr-t { font-size:10px; color:var(--gray-500); margin-top:3px; }

.ab-bar { height:6px; border-radius:6px; background:var(--gray-100); margin-top:11px; overflow:hidden; }
.ab-bar-i {
  height:100%; border-radius:6px;
  background:linear-gradient(90deg,#f59e0b,#ef4444);
  transition:width .3s;
}

/* 弹层 */
.ab-sheet { padding-bottom:18px; }
.ab-cur {
  border-radius:12px; padding:12px 14px; border:1px solid var(--gray-200);
  background:var(--gray-50);
}
.ab-cur-p { font-size:26px; font-weight:800; color:var(--gray-900); margin-top:6px; letter-spacing:.5px; }
.ab-lead-tip {
  margin-top:9px; font-size:11px; color:#047857; background:#ecfdf5;
  border-radius:8px; padding:7px 9px; line-height:1.5;
}

.ab-bid-box {
  margin-top:12px; padding:13px; border-radius:12px;
  background:var(--gray-50); border:1px solid var(--gray-100);
}
.ab-bid-lb { font-size:12.5px; font-weight:700; color:var(--gray-700); }
.ab-bid-input {
  display:flex; align-items:center; gap:6px; margin-top:9px;
  background:#fff; border:1.5px solid var(--gray-200); border-radius:11px; padding:10px 12px;
}
.ab-bid-input > text { font-size:16px; font-weight:800; color:var(--gray-500); }
.ab-bid-input input { flex:1; border:none; outline:none; font-size:19px; font-weight:800; color:var(--gray-900); }

.ab-quick {
  flex:1; text-align:center; font-size:11.5px; font-weight:600; color:var(--blue-700);
  background:var(--blue-50); border:1px solid var(--blue-100);
  border-radius:9px; padding:8px 4px;
}

.ab-win {
  display:flex; align-items:center; gap:11px;
  background:linear-gradient(135deg,#fffbeb,#fef3c7); border:1px solid #fde68a;
  border-radius:11px; padding:12px; color:#92400e;
}
.ab-win-ic { font-size:24px; }

.ab-his { background:#fff; border:1px solid var(--gray-100); border-radius:12px; overflow:hidden; }
.ab-his-i {
  display:flex; align-items:center; gap:11px; padding:11px 13px;
  border-bottom:1px solid var(--gray-100);
}
.ab-his-i:last-child { border-bottom:none; }
.ab-his-rank {
  width:22px; height:22px; border-radius:7px; flex:0 0 auto;
  display:grid; place-items:center; font-size:11px; font-weight:800;
  background:var(--gray-100); color:var(--gray-500);
}
.ab-his-rank.top { background:linear-gradient(135deg,#f59e0b,#ef4444); color:#fff; }
.ab-his-i .tt { font-size:12.5px; font-weight:700; color:var(--gray-800); }
.ab-mine {
  margin-left:6px; font-size:9.5px; font-weight:700; color:#fff;
  background:var(--blue-600); border-radius:5px; padding:1px 5px;
}
.ab-his-p { font-size:14px; font-weight:800; color:var(--gray-900); flex:0 0 auto; }
.ab-mask { position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:99; display:flex; align-items:flex-end; }
.ab-sheet.ad-sheet { width:100%; background:#fff; border-radius:20px 20px 0 0; padding:16px 14px 22px; }


/* ===== 广告专用钱包 ===== */
.aw-hero {
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,#0f2a54,#1d4b96 55%,#4f46e5);
  border-radius:0 0 24px 24px; padding:18px 16px 22px;
  box-shadow:0 8px 24px -10px rgba(29,75,150,.6);
}
.aw-hero-bg {
  position:absolute; right:-46px; top:-56px; width:190px; height:190px; border-radius:50%;
  background:rgba(255,255,255,.09);
}
.aw-hero-body { position:relative; }
.aw-label { font-size:11.5px; opacity:.86; }
.aw-tag {
  font-size:10px; font-weight:700; padding:3px 9px; border-radius:7px;
  background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.26);
}
.aw-balance { font-size:36px; font-weight:800; letter-spacing:.6px; margin-top:8px; }
.aw-sub {
  display:flex; gap:16px; font-size:11.5px; opacity:.86; margin-top:8px;
}

.aw-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.aw-st {
  background:#fff; border:1px solid var(--gray-100); border-radius:12px;
  padding:11px 4px; text-align:center; box-shadow:var(--shadow-sm);
}
.aw-st .v { font-size:15px; font-weight:800; color:var(--gray-900); }
.aw-st .v.in { color:#059669; }
.aw-st .v.out { color:#dc2626; }
.aw-st .t { font-size:10px; color:var(--gray-500); margin-top:3px; }

.aw-plans { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 14px; }
.aw-plan {
  position:relative; background:#fff; border:1.5px solid var(--gray-200);
  border-radius:14px; padding:14px 12px; text-align:center;
  box-shadow:var(--shadow-sm);
}
.aw-plan:active { transform:scale(.98); }
.aw-plan-hot {
  position:absolute; right:-1px; top:-1px;
  background:linear-gradient(135deg,#f59e0b,#ef4444); color:#fff;
  font-size:9.5px; font-weight:700; padding:3px 8px; border-radius:0 13px 0 10px;
}
.aw-plan-amt { font-size:25px; font-weight:800; color:var(--gray-900); }
.aw-plan-lb { font-size:11px; color:var(--gray-500); margin-top:3px; }
.aw-plan-btn {
  margin-top:10px; font-size:12px; font-weight:700; color:#fff;
  background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
  border-radius:9px; padding:8px 0;
}

.aw-tip { font-size:11px; color:var(--gray-500); padding:10px 14px 4px; line-height:1.6; }

.aw-bid {
  display:flex; align-items:center; gap:11px; padding:12px 0;
  border-bottom:1px solid var(--gray-100);
}
.aw-bid:last-child { border-bottom:none; }
.aw-bid-p { font-size:14.5px; font-weight:800; color:var(--gray-900); flex:0 0 auto; }

.aw-flow {
  display:flex; align-items:center; gap:11px; padding:12px 0;
  border-bottom:1px solid var(--gray-100);
}
.aw-flow:last-child { border-bottom:none; }
.aw-flow-ic {
  width:32px; height:32px; border-radius:10px; flex:0 0 auto;
  display:grid; place-items:center; font-size:14px; font-weight:800;
  background:#fef2f2; color:#dc2626;
}
.aw-flow-ic.in { background:#ecfdf5; color:#059669; }
.aw-flow-t { font-size:12.5px; font-weight:700; color:var(--gray-800); }
.aw-flow-amt { font-size:14px; font-weight:800; color:#dc2626; flex:0 0 auto; }
.aw-flow-amt.in { color:#059669; }


/* ===== 厅主广告素材提交 ===== */
.ap-slot { padding:14px; }

.ap-preview {
  display:flex; align-items:center; gap:11px; color:#fff;
  border-radius:12px; padding:14px; height:72px;
  box-shadow:0 5px 16px rgba(15,23,42,.16);
}
.ap-pv-ic { font-size:22px; }
.ap-pv-tt { font-size:14px; font-weight:800; }
.ap-pv-sub { font-size:10.5px; opacity:.86; margin-top:3px; }
.ap-pv-badge {
  font-size:9.5px; font-weight:700; padding:2px 7px; border-radius:6px; flex:0 0 auto;
  background:rgba(255,255,255,.24); border:1px solid rgba(255,255,255,.3);
}

.ap-bg {
  flex:1; height:26px; border-radius:8px; border:2px solid transparent;
}
.ap-bg.on { border-color:var(--blue-600); box-shadow:0 0 0 2px var(--blue-100); }

.ap-emoji {
  width:38px; height:38px; border-radius:10px; display:grid; place-items:center;
  font-size:19px; background:#fff; border:1.5px solid var(--gray-200);
}
.ap-emoji.on { border-color:var(--blue-500); background:var(--blue-50); }

.ap-mode {
  flex:1; text-align:center; font-size:12px; font-weight:700; padding:10px 8px;
  border-radius:10px; background:#fff; border:1.5px solid var(--gray-200); color:var(--gray-600);
}
.ap-mode.on { background:var(--blue-50); border-color:var(--blue-500); color:var(--blue-700); }

.ap-static {
  background:var(--gray-50); border:1px dashed var(--gray-200); border-radius:11px;
  padding:11px 12px; font-size:12px; color:var(--gray-500); line-height:1.6;
}

.ap-note {
  background:#fffbeb; border:1px solid #fde68a; border-radius:11px;
  padding:10px 12px; font-size:11.5px; color:#92400e; line-height:1.6; margin-bottom:12px;
}

.ap-item {
  display:flex; align-items:center; gap:11px; padding:12px 0;
  border-bottom:1px solid var(--gray-100);
}
.ap-item:last-child { border-bottom:none; }
.ap-thumb {
  width:42px; height:42px; border-radius:11px; flex:0 0 auto;
  display:grid; place-items:center; font-size:20px;
  box-shadow:0 3px 10px rgba(15,23,42,.12);
}
.ap-reject {
  font-size:10.5px; color:#dc2626; background:#fef2f2; border-radius:7px;
  padding:5px 8px; margin-top:6px; line-height:1.5;
}

.ap-wallet-line {
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px; color:var(--gray-600); padding:2px 4px;
}
.ap-wallet-line .go { color:var(--blue-600); font-weight:700; }

