:root{
  --c-orange:#C9621A;
  --c-orange-2:#E8843C;
  --c-bg:#FDF0E4;
  --c-card:#FFFFFF;
  --c-brown:#5A3A0A;
  --c-brown-2:#8A4A16;
  --c-line:#F1D9C4;
  --c-green:#2E7D32;
  --c-red:#C62828;
  --c-gray:#9b8a78;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--c-bg);color:var(--c-brown);font-size:15px;line-height:1.5;}
#app{min-height:100vh;padding-bottom:66px;}

.header{position:sticky;top:0;z-index:20;background:linear-gradient(135deg,var(--c-orange),var(--c-orange-2));color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(201,98,26,.25);}
.header h1{font-size:17px;margin:0;font-weight:700;letter-spacing:1px;}
.header .sub{font-size:12px;opacity:.9;}
.header .me{font-size:13px;display:flex;align-items:center;gap:8px;}
.header .me button{background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer;}

.content{padding:14px;max-width:580px;margin:0 auto;}

.card{background:var(--c-card);border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 2px 10px rgba(201,98,26,.08);border:1px solid var(--c-line);scroll-margin-top:64px;}
.card h2{font-size:16px;margin:0 0 12px;color:var(--c-orange);}
.card h3{font-size:14px;margin:14px 0 8px;color:var(--c-brown-2);}

.btn{display:inline-block;border:none;border-radius:10px;padding:11px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:.15s;width:100%;text-align:center;background:var(--c-orange);color:#fff;}
.btn:active{background:var(--c-brown-2);}
.btn-ghost{background:transparent;color:var(--c-orange);border:1.5px solid var(--c-orange);}
.btn-sm{display:inline-block;width:auto;padding:7px 12px;font-size:13px;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

.field{margin-bottom:14px;}
.field label{display:block;font-size:13px;color:var(--c-brown-2);margin-bottom:6px;font-weight:600;}
.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1.5px solid var(--c-line);border-radius:10px;font-size:15px;background:#fff;color:var(--c-brown);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--c-orange);outline:none;}
.field .hint{font-size:12px;color:var(--c-gray);margin-top:4px;}
.ts-preview{background:#FFF7EE;border:1px dashed var(--c-line);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--c-brown-2);line-height:1.9;margin:12px 0;}
.ts-preview b{color:var(--c-orange);}

.tabs{display:flex;border:1.5px solid var(--c-line);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.tabs .t{flex:1;text-align:center;padding:9px;font-size:14px;cursor:pointer;color:var(--c-brown-2);}
.tabs .t.active{background:var(--c-orange);color:#fff;font-weight:700;}

.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--c-line);display:flex;padding:6px 0;box-shadow:0 -2px 10px rgba(0,0,0,.05);overflow-x:auto;scrollbar-width:none;}
.tabbar::-webkit-scrollbar{display:none;}
.tabbar .tab{flex:0 0 auto;min-width:56px;text-align:center;font-size:11px;color:var(--c-gray);cursor:pointer;padding:4px 6px;}
.tabbar .tab .ic{font-size:19px;display:block;margin-bottom:1px;}
.tabbar .tab.active{color:var(--c-orange);font-weight:700;}

.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;vertical-align:middle;}
.badge-boss{background:#5A3A0A;color:#fff;}
.badge-agent{background:var(--c-orange);color:#fff;}
.badge-pending{background:#FCE8D5;color:var(--c-orange);}
.badge-approved{background:#E6F4EA;color:var(--c-green);}
.badge-rejected{background:#FBE3E3;color:var(--c-red);}
.badge-type-direct{background:#FCE8D5;color:var(--c-orange);}
.badge-type-see_point{background:#E8F0FE;color:#1A56C4;}
.badge-type-level{background:#E6F4EA;color:var(--c-green);}
.badge-type-help{background:#F3E8FB;color:#7B2FA0;}

.tree-node{margin-left:0;}
.tree-node .children{margin-left:16px;border-left:2px solid var(--c-line);padding-left:10px;}
.tree-node .node-head{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 6px;border-radius:8px;}
.tree-node .node-head:hover{background:var(--c-bg);}
.tree-node .node-head .nm{font-weight:600;color:var(--c-brown);}
.tree-node .node-head .meta{font-size:12px;color:var(--c-gray);}
.tree-node .node-meta{font-size:12px;color:var(--c-gray);padding:0 6px 8px 34px;line-height:1.5;}
.tg{display:inline-block;width:16px;color:var(--c-orange);font-weight:700;}

table.tbl{width:100%;border-collapse:collapse;font-size:13px;}
table.tbl th,table.tbl td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--c-line);}
table.tbl th{color:var(--c-brown-2);font-weight:600;white-space:nowrap;}
table.tbl td.num,table.tbl th.num{text-align:right;font-variant-numeric:tabular-nums;}

.stats{display:flex;flex-wrap:wrap;gap:10px;}
.stat{flex:1;min-width:110px;background:var(--c-bg);border-radius:12px;padding:12px;text-align:center;border:1px solid var(--c-line);}
.stat .num{font-size:22px;font-weight:800;color:var(--c-orange);}
.stat .lbl{font-size:12px;color:var(--c-brown-2);margin-top:2px;}

.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-mask.show{display:flex;}
.modal{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:480px;max-height:86vh;overflow:auto;}
.modal h3{margin-top:0;color:var(--c-orange);}
.modal .close{float:right;background:none;border:none;font-size:22px;color:var(--c-gray);cursor:pointer;line-height:1;}

.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.row .grow{flex:1;min-width:120px;}
/* 行内字段（label+输入+提示 的多行块）顶部对齐，避免与相邻高字段（如带长提示的下拉）错位；按钮行仍保持居中对齐 */
.row>.field{align-self:flex-start;}
.row>.field .hint{margin-top:4px;}
.muted{color:var(--c-gray);font-size:12px;}
.toast{position:fixed;left:50%;top:18%;transform:translateX(-50%);background:rgba(90,58,10,.94);color:#fff;padding:10px 18px;border-radius:10px;z-index:99;font-size:14px;display:none;max-width:82%;text-align:center;}
.center{text-align:center;}
.mt{margin-top:12px;}
.empty{text-align:center;color:var(--c-gray);padding:30px 0;}
.hidden{display:none!important;}
.code-box{background:var(--c-bg);border:1px dashed var(--c-orange);border-radius:10px;padding:10px;text-align:center;font-size:20px;letter-spacing:3px;font-weight:700;color:var(--c-orange);user-select:all;}
.note{background:#FFF7EE;border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--c-brown-2);margin-bottom:12px;}
.ro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;}
.ro{background:#F7F4EC;border:1px dashed var(--c-line);border-radius:10px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;color:var(--c-gray);}
.ro b{color:var(--c-brown);font-size:15px;font-weight:700;}
.kpi{display:flex;gap:8px;text-align:center;}
.kpi>div{flex:1;min-width:0;}
.kpi b{display:block;font-size:17px;color:var(--c-orange);word-break:break-all;}
.qr-box{text-align:center;}
.qr-holder{position:relative;width:190px;height:190px;margin:0 auto;background:#fff;border:1px solid var(--c-line);border-radius:10px;overflow:hidden;-webkit-touch-callout:default;}
.qr-holder canvas{width:190px;height:190px;display:block;}
.qr-holder img{position:absolute;left:0;top:0;width:190px;height:190px;background:#fff;}
.qr-box canvas,.qr-box img{width:190px;height:190px;}
.qr-box .code-box{margin-top:10px;}
.qr-box .hint{word-break:break-all;margin:6px 0 10px;}
.ann{background:#FFF7EE;border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:13px;}
.ann-top{margin-bottom:12px;border-left:3px solid var(--c-orange);}
.ann-h{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap;}
.ann-h .btn{margin-left:auto;}
.neg{color:var(--c-red);font-weight:700;}
.pl-in{width:100%;padding:6px 8px;border:1px solid var(--c-line);border-radius:8px;font-size:13px;background:#fff;color:var(--c-brown);}
.pl-in:focus{border-color:var(--c-orange);outline:none;}
.prod-img{width:100%;max-height:220px;object-fit:cover;border-radius:10px;margin-bottom:10px;display:block;}
.prod-ph{display:flex;align-items:center;justify-content:center;height:130px;background:var(--c-bg);color:var(--c-gray);font-size:13px;border:1px dashed var(--c-line);}
.prod-sub{font-size:13px;font-weight:400;color:var(--c-gray);}
.prod-price{font-size:22px;font-weight:700;color:var(--c-orange);margin:2px 0 8px;}
.shop-entry{text-align:center;}
.shop-entry h2{margin-bottom:10px;}
.shop-entry .shop-qr{margin:12px auto;}
.shop-entry .shop-qr img{width:236px;height:236px;max-width:100%;object-fit:contain;border-radius:16px;background:#fff;border:1px solid var(--c-line);}
.shop-entry .shop-tip{font-size:13px;color:var(--c-gray);line-height:1.75;margin-top:4px;}
.shop-entry .shop-tip b{color:var(--c-orange);}
.shop-entry .shop-note{font-size:12px;color:var(--c-gray);line-height:1.6;margin-top:8px;}
.shop-entry .btn{display:inline-block;}
.prod-points{margin:0 0 10px;padding-left:20px;font-size:13px;color:var(--c-brown-2);line-height:1.8;}
.prod-detail{font-size:13px;color:var(--c-brown);line-height:1.8;background:var(--c-bg);border-radius:10px;padding:10px 12px;white-space:normal;}

/* ===== 产品页 · 主推大卡（重写 2026-10-08） ===== */
.prod-hero{overflow:hidden;padding:0;display:flex;align-items:stretch;}
.prod-hero-media{position:relative;flex:0 0 42%;max-width:300px;min-width:126px;aspect-ratio:1/1;background:#EAF2FA;}
.prod-hero-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.prod-hero-body{flex:1;min-width:0;padding:16px;display:flex;flex-direction:column;justify-content:center;}
.prod-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.prod-tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:#E8F0FE;color:#1A56C4;}
.prod-tag:nth-child(2n){background:#E6F4EA;color:var(--c-green);}
.prod-tag:nth-child(3n){background:#FCE8D5;color:var(--c-orange);}
.prod-title{font-size:22px;font-weight:800;color:var(--c-brown);margin:0 0 4px;letter-spacing:.5px;}
.prod-sub{font-size:13px;color:var(--c-gray);margin:0 0 12px;}
.prod-pricebox{display:flex;align-items:flex-end;gap:10px;margin-bottom:6px;}
.prod-price{font-size:30px;font-weight:800;color:var(--c-orange);line-height:1;}
.prod-price .cur{font-size:18px;margin-right:1px;}
.prod-price .unit{font-size:13px;font-weight:500;color:var(--c-gray);margin-left:3px;}
.prod-rebuy{font-size:12px;color:var(--c-gray);margin-bottom:14px;}
.prod-rebuy b{color:var(--c-orange);}
.prod-sync{font-size:12px;color:var(--c-gray);background:#FFF6EC;border-left:3px solid var(--c-orange);border-radius:0 8px 8px 0;padding:8px 12px;line-height:1.6;margin-bottom:12px;}
.prod-sync b{color:var(--c-orange);}
.prod-points-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 4px;}
.prod-point{background:var(--c-bg);border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;}
.prod-point .pt-ic{font-size:20px;display:block;margin-bottom:4px;}
.prod-point .pt-t{font-size:13px;font-weight:700;color:var(--c-brown-2);line-height:1.45;}
.prod-detail-grid{border:1px solid var(--c-line);border-radius:10px;overflow:hidden;margin-top:4px;}
.prod-detail-item{display:flex;padding:10px 12px;border-bottom:1px solid var(--c-line);font-size:13px;}
.prod-detail-item:last-child{border-bottom:none;}
.prod-detail-item .k{color:var(--c-gray);width:80px;flex:0 0 80px;}
.prod-detail-item .v{color:var(--c-brown);flex:1;}
.prod-earn{background:linear-gradient(135deg,#5A3A0A,#8A4A16);color:#fff;border:none;}
.prod-earn h2{color:#fff;}
.prod-earn .earn-num{font-size:26px;font-weight:800;color:#FFD9A8;margin:2px 0 4px;}
.prod-earn .earn-line{font-size:13px;opacity:.92;line-height:1.8;}
.prod-earn .btn{background:#fff;color:var(--c-brown);margin-top:12px;}
.prod-hero .btn{margin-top:6px;}
.recruit{background:linear-gradient(135deg,var(--c-orange),var(--c-orange-2));color:#fff;border:none;}
.recruit h2{color:#fff;}
.recruit .note{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);color:#fff;}
.recruit .kpi b{color:#fff;}
.recruit .muted{color:rgba(255,255,255,.85);}
.ad-vid{width:100%;border-radius:10px;background:#000;display:block;}
.ad-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.ad-grid img{width:100%;border-radius:10px;display:block;border:1px solid var(--c-line);}
.ad-script{font-size:14px;line-height:1.9;}
.mb{margin-bottom:14px;}
/* 互动广场 */
.plaza-item{border:1px solid var(--c-line);border-radius:12px;padding:12px;margin-bottom:12px;background:#FFFCF8;}
.plaza-hd{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.plaza-hd .badge{margin-left:auto;}
.plaza-av{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--c-line);}
.plaza-title{font-size:14px;font-weight:700;color:var(--c-brown);margin-bottom:4px;line-height:1.5;}
.plaza-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;}
.plaza-imgs:empty{display:none;}
.plaza-imgs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;border:1px solid var(--c-line);display:block;background:#fff;}
.plaza-ft{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px;}
.plaza-ft .btn{text-decoration:none;display:inline-flex;align-items:center;}
.guide{border-left:3px solid var(--c-orange);background:#FFF7EE;border-radius:0 10px 10px 0;padding:10px 12px;margin-bottom:10px;}
.guide-t{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px;}
.guide-b{font-size:13px;line-height:1.8;color:var(--c-brown-2);}
.live-card{border:1.5px solid var(--c-orange);}
.live-card.live-on{border-color:#E24B4A;background:#FCEBEB;}
.live-card.live-on h2{color:#A32D2D;}
.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#E24B4A;margin-right:6px;vertical-align:middle;animation:ldpulse 1.2s infinite;}
@keyframes ldpulse{0%,100%{opacity:1}50%{opacity:.2}}
.layout{display:flex;min-height:100vh;}.main{flex:1;min-width:0;}
.hamb{display:none;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:19px;border-radius:9px;padding:5px 10px;cursor:pointer;}
.hd-t{flex:1;margin-left:8px;}
.hd-t h1{font-size:16px;}
.mask{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:55;display:none;}
.mask.show{display:block;}
.sb-brand{padding:6px 8px 12px;border-bottom:1px solid var(--c-line);}
.sb-brand b{display:block;font-size:17px;color:var(--c-orange);letter-spacing:1px;}
.sb-brand span{font-size:11px;color:var(--c-gray);}
.sb-nav{flex:1;overflow-y:auto;padding:8px 0;}
.nav-item{display:flex;align-items:center;gap:9px;padding:10px 10px;border-radius:10px;font-size:14px;color:var(--c-brown-2);cursor:pointer;}
.nav-item .ic{font-size:17px;width:22px;text-align:center;}
.nav-item.active{background:var(--c-bg);color:var(--c-orange);font-weight:700;}
.nav-group{margin:2px 0;}
.nav-toggle .caret{margin-left:auto;font-size:11px;color:var(--c-gray);transition:transform .18s ease;}
.nav-group.open .nav-toggle .caret{transform:rotate(180deg);}
.nav-sub{margin:2px 0 4px;padding:4px 0 4px 14px;border-left:2px solid var(--c-line);margin-left:10px;}
.nav-sub-item{padding:7px 10px;border-radius:8px;font-size:13px;color:var(--c-brown-2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nav-sub-item:hover{background:var(--c-bg);color:var(--c-orange);}
.sb-foot{border-top:1px solid var(--c-line);padding-top:10px;}
.sb-me{font-size:12px;color:var(--c-gray);margin-bottom:8px;word-break:break-all;}
.sidebar{background:#fff;flex-direction:column;padding:14px 10px;z-index:60;position:fixed;left:0;top:0;bottom:0;width:224px;transform:translateX(-100%);transition:transform .22s ease;overflow-y:auto;}
.sidebar.open{transform:translateX(0);box-shadow:0 0 24px rgba(0,0,0,.2);}
@media (min-width:768px){
  .sidebar{display:flex;position:sticky;top:0;height:100vh;bottom:auto;width:190px;flex:0 0 190px;border-right:1px solid var(--c-line);transform:none;box-shadow:none;}
  .tabbar{display:none;}
  .hamb{display:none;}
  #app{padding-bottom:24px;}
  .content{max-width:880px;}
}
.seg{display:flex;gap:6px;flex-wrap:wrap;}
.seg .chip{background:var(--c-bg);border:1px solid var(--c-line);border-radius:20px;padding:5px 12px;font-size:13px;cursor:pointer;color:var(--c-brown-2);}
.seg .chip.active{background:var(--c-orange);color:#fff;border-color:var(--c-orange);}
/* 首页头图（链动2+N × 2211 饮食法 主视觉） */
.hero{margin:0 0 14px;border-radius:14px;overflow:hidden;border:1px solid var(--c-line);box-shadow:0 6px 18px rgba(201,98,26,.20);background:#E8843C;line-height:0;}
.hero img{display:block;width:100%;height:auto;}
/* ===== 新手引导浮层 ===== */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:999;padding:18px}
.modal{background:#fff;border-radius:16px;max-width:420px;width:100%;padding:22px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.modal-h{font-weight:700;color:#8A4A16;margin-bottom:10px}
.guide-modal h2{margin:0 0 14px;color:#8A4A16}
.guide-steps{display:flex;flex-direction:column;gap:10px}
.g-step{background:#FDF0E4;border-radius:10px;padding:10px 12px}
.g-step b{color:#C9621A}
.g-step p{margin:4px 0 0;font-size:13px;color:#7a5a3a}
.guide-modal .btn{width:100%}
/* ===== 海报弹窗 ===== */
.poster-modal{text-align:center}
.poster-img{width:100%;border-radius:10px;border:1px solid #eee}
.poster-modal .row{display:flex}
.poster-modal .btn{flex:1;text-align:center;text-decoration:none}
/* ===== 名额/定位 徽标配色 ===== */
.badge-tier-found{background:#9aa0a6;color:#fff}
.badge-tier-mid{background:#E8843C;color:#fff}
.badge-tier-std{background:#C9621A;color:#fff}
.badge-pos{background:#5B8DEF;color:#fff}
/* 头图与内容列同宽（不再单独收窄），保证与下方卡片左右对齐 */

/* ===== 产品主推卡：左右结构（窄屏适配） ===== */
.prod-rebuy .rb-spec{color:var(--c-gray);font-weight:400;}
@media (max-width:430px){
  .prod-hero-media{flex-basis:44%;min-width:112px;}
  .prod-hero-body{padding:12px;}
  .prod-hero-body .prod-title{font-size:17px;}
  .prod-hero-body .prod-price{font-size:22px;}
  .prod-hero-body .prod-price .cur{font-size:14px;}
  .prod-hero-body .prod-price .unit{font-size:11px;}
  .prod-hero-body .prod-pricebox{margin-bottom:4px;}
  .prod-hero-body .prod-sub{font-size:12px;margin-bottom:8px;}
  .prod-hero-body .prod-tags{gap:4px;margin-bottom:8px;}
  .prod-hero-body .prod-tag{font-size:10px;padding:2px 7px;}
  .prod-hero-body .prod-rebuy{font-size:11px;margin-bottom:10px;}
  .prod-hero-body .prod-sync{font-size:11px;padding:6px 9px;margin-bottom:8px;}
  .prod-hero-body .shop-tip{font-size:11px;}
}

/* ===== 未注册客户：醒目警示（录单页 归属成员下拉 + 提示） ===== */
.field select.sel-warn{border-color:var(--c-red);background:#FFF3F3;color:var(--c-red);font-weight:700;}
.warn-note{background:#FFF0F0;border:1px solid #F3CFCF;border-left:4px solid var(--c-red);border-radius:10px;padding:10px 12px;font-size:12px;color:#8a1f1f;margin:8px 0 12px;font-weight:600;line-height:1.75;}
.warn-note b{color:var(--c-red);}
.badge-warn{background:var(--c-red);color:#fff;font-weight:700;}

/* ===== 课件/素材 角色·阶段筛选 chips ===== */
.chipbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.chip{border:1px solid var(--c-line);background:#fff;color:var(--c-brown);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer;transition:all .15s;}
.chip:hover{border-color:var(--c-orange);}
.chip.on{background:var(--c-orange);border-color:var(--c-orange);color:#fff;font-weight:600;}

/* ===== 文件预览弹层（微信内页面内预览，替代 location.href 下载） ===== */
.file-preview-mask{background:rgba(0,0,0,.92);}
.file-preview-body{position:relative;width:100%;max-width:680px;max-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.file-preview-body .fp-close{position:absolute;top:-4px;right:6px;color:#fff;font-size:26px;cursor:pointer;z-index:2;line-height:1;padding:6px;}
.file-preview-body .fp-media{max-width:100%;max-height:84vh;object-fit:contain;border-radius:6px;background:#000;}
.file-preview-body .fp-frame{width:100%;height:84vh;border:none;border-radius:6px;background:#fff;}
.file-preview-body .fp-loading{color:#fff;font-size:14px;padding:40px;}
.file-preview-body .fp-fallback{color:#fff;text-align:center;padding:20px;}
.file-preview-body .fp-fallback .btn{display:inline-block;width:auto;margin:12px 0 8px;padding:10px 18px;}
.file-preview-body .fp-tip{color:rgba(255,255,255,.7);font-size:12px;margin-top:8px;line-height:1.6;}
.fp-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:14px 0 2px;}
.fp-actions .btn{display:inline-block;width:auto;margin:0;padding:10px 18px;}
.fp-actions .btn.btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);background:transparent;}

/* ===== 产品主推卡：窄屏纵向堆叠，图片完整显示（避免左右挤压+正方形裁切） ===== */
@media (max-width:520px){
  .prod-hero{flex-direction:column;}
  .prod-hero-media{position:relative;flex:none;max-width:none;width:100%;aspect-ratio:auto;min-width:0;}
  .prod-hero-img{position:relative;top:auto;left:auto;width:100%;height:auto;object-fit:contain;}
  .prod-hero-body{padding:14px;}
  .prod-img{max-height:320px;object-fit:contain;background:#fff;}
}

/* ===== 课件「图片版」整屏预览：逐页大图 + 放大（替代手机端模糊的 Office 在线预览） ===== */
.slide-viewer{position:fixed;inset:0;z-index:9998;background:#0b0b0c;display:none;flex-direction:column;}
.slide-viewer.show{display:flex;}
.sv-head{flex:none;display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(0,0,0,.62);color:#fff;}
.sv-title{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sv-count{flex:none;font-size:13px;color:rgba(255,255,255,.78);}
.sv-close{flex:none;font-size:22px;line-height:1;padding:4px 8px;cursor:pointer;}
.slide-doc{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:8px 0 12px;background:#111;}
.slide-doc.zoomed{overflow:auto;}
.sd-item{margin:0 0 14px;padding:0;}
.sd-img{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#fff;}
.slide-doc.zoomed .sd-img{width:200%;max-width:none;}
.sd-item figcaption{text-align:center;color:rgba(255,255,255,.6);font-size:12px;padding:6px 0 0;}
.sv-foot{flex:none;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;background:rgba(0,0,0,.62);}
.sv-btn{background:#C9621A;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer;}
.sv-btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.5);}
.sv-hint{color:rgba(255,255,255,.55);font-size:12px;}

.qr-modal-img{width:min(300px,74vw);height:auto;display:block;margin:8px auto 0;border:1px solid #eee;border-radius:10px;background:#fff;-webkit-touch-callout:default;}
.qr-modal-code{margin-top:10px;font-weight:700;letter-spacing:2px;color:#8A4A16;font-size:20px;}
.qr-modal .hint{text-align:center;}

/* 常用话术卡（公告页） */
.talk{border:1px solid #e7d3bf;border-radius:10px;padding:10px 12px;margin:10px 0;background:#fffdfb}
.talk-h{font-weight:600;color:#C9621A;margin-bottom:6px}
.talk-b{font-size:13px;color:#5A3A0A;line-height:1.7;margin-bottom:8px}

/* ---------- 课件「文字版」查看器 ---------- */
.course-viewer{position:fixed;inset:0;z-index:9998;background:#F7EFE6;display:none;flex-direction:column;}
.course-viewer.show{display:flex;}
.cv-head{flex:none;display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,var(--c-orange),var(--c-orange-2));color:#fff;}
.cv-title{flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cv-count{flex:none;font-size:13px;opacity:.92;}
.cv-close{flex:none;font-size:20px;line-height:1;padding:2px 6px;cursor:pointer;}
.cv-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;}
.cv-slide{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:20px 18px;min-height:calc(100vh - 200px);box-shadow:0 4px 18px rgba(201,98,26,.10);animation:cvIn .22s ease;}
@keyframes cvIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.cv-h{font-size:18px;margin:0 0 14px;color:var(--c-orange);padding-bottom:10px;border-bottom:2px solid #FCE8D5;}
.cv-list{margin:0;padding-left:20px;}
.cv-list li{margin:0 0 11px;font-size:15px;line-height:1.65;color:var(--c-brown);}
.cv-list li::marker{color:var(--c-orange);}
.cv-table{width:100%;border-collapse:collapse;font-size:13.5px;margin:2px 0 4px;}
.cv-table th{background:#FCE8D5;color:var(--c-orange);font-weight:700;text-align:left;padding:9px 8px;border:1px solid var(--c-line);}
.cv-table td{padding:9px 8px;border:1px solid var(--c-line);color:var(--c-brown);line-height:1.5;vertical-align:top;}
.cv-table td.cv-k{font-weight:700;color:var(--c-brown-2);white-space:nowrap;}
.cv-note{margin-top:12px;background:#FFF7EE;border:1px solid var(--c-line);border-left:4px solid var(--c-orange);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--c-brown-2);line-height:1.6;}
.cv-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(100vh - 270px);}
.cv-cover-badge{font-size:12px;color:var(--c-orange);background:#FCE8D5;border-radius:20px;padding:5px 14px;margin-bottom:18px;}
.cv-cover h1{font-size:26px;line-height:1.35;color:var(--c-brown);margin:0 0 14px;letter-spacing:1px;}
.cv-cover-sub{font-size:15px;color:var(--c-brown-2);}
.cv-cover-line{width:56px;height:3px;background:var(--c-orange);border-radius:3px;margin:20px 0;}
.cv-cover-foot{font-size:12px;color:var(--c-gray);}
.cv-nav{flex:none;display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:rgba(255,255,255,.9);border-top:1px solid var(--c-line);}
.cv-chip{flex:none;min-width:30px;height:28px;border-radius:8px;border:1px solid var(--c-line);background:#fff;color:var(--c-brown-2);font-size:12px;cursor:pointer;}
.cv-chip.on{background:var(--c-orange);border-color:var(--c-orange);color:#fff;font-weight:700;}
.cv-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0));background:#fff;border-top:1px solid var(--c-line);}
.cv-btn{background:var(--c-orange);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;}
.cv-btn-ghost{background:#fff;color:var(--c-orange);border:1.5px solid var(--c-orange);}
.cv-btn:disabled{opacity:.4;cursor:not-allowed;}
.cv-hint{font-size:12px;color:var(--c-gray);}

/* ---------- 产品图集 + 图片灯箱 ---------- */
.prod-hero-img{cursor:zoom-in;}
.prod-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.prod-gallery figure{margin:0;}
.prod-gallery img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--c-line);background:#fff;cursor:zoom-in;}
.prod-gallery figcaption{font-size:12px;color:var(--c-gray);text-align:center;padding-top:6px;}
.img-lightbox{display:block;max-width:92vw;max-height:86vh;border-radius:12px;background:#fff;}

/* 朋友圈素材（自取）配图网格 */
.mo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 4px;}
.mo-img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;cursor:zoom-in;background:#f3ede2;}

/* 图片放大查看 + 保存按钮 */
.zoom-wrap{text-align:center}
.zoom-wrap .img-lightbox{margin:0 auto}
.zoom-dl{display:inline-block;margin-top:14px;padding:11px 20px;background:var(--c-orange);color:#fff;border-radius:12px;text-decoration:none;font-size:15px;font-weight:600}
