*{box-sizing:border-box}
:root{--pri:#2456d6;--pri-d:#1a43b0;--bg:#f2f4f9;--card:#fff;--txt:#1e2433;--mut:#8a93a6;--line:#e8ecf3;--side:#171e2e;--side-h:#222c44}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--txt);font-size:14px;-webkit-font-smoothing:antialiased}
.app{display:flex;min-height:100vh}
/* 侧边栏 */
.sidebar{width:216px;background:var(--side);color:#c6cddc;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}
.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}
.brand-logo{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#3b6ef0,#1a43b0);color:#fff;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center}
.brand-name{color:#fff;font-size:16px;font-weight:700}
#nav{flex:1;overflow-y:auto;padding:4px 10px 12px}
.nav-sec{font-size:11px;color:#6b7590;padding:12px 10px 6px;letter-spacing:.08em}
.nav-it{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#c6cddc;cursor:pointer;font-size:13.5px;margin-bottom:2px;transition:background .15s}
.nav-it:hover{background:var(--side-h);color:#fff}
.nav-it.on{background:linear-gradient(90deg,#2c5ce0,#2456d6);color:#fff;font-weight:600}
.nav-it .ic{width:20px;text-align:center;font-size:15px}
.side-foot{padding:12px 18px;border-top:1px solid #232c44;font-size:11px;color:#6b7590}
/* 主体 */
.body{flex:1;display:flex;flex-direction:column;min-width:0}
.header{background:#fff;border-bottom:1px solid var(--line);padding:0 24px;height:58px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}
.crumb{font-size:16px;font-weight:700}
.h-right{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--mut)}
#main{padding:22px 24px;overflow:auto}
#tokenBox button{margin:0}
/* 卡片 */
.card{background:var(--card);border-radius:12px;padding:18px 20px;margin-bottom:16px;box-shadow:0 1px 2px rgba(20,30,60,.05);border:1px solid #eef1f7}
.card h3{margin:0 0 14px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.card h3 button{margin-left:auto}
.card h4{margin:14px 0 10px;font-size:14px}
/* 表格 */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 12px;text-align:left;font-size:13px;border-bottom:1px solid #f0f3f8}
th{background:#f8fafd;color:#7a8499;font-weight:600;font-size:12.5px;white-space:nowrap}
tr:hover td{background:#fafbfe}
/* 按钮 */
button{background:var(--pri);color:#fff;border:0;border-radius:8px;padding:8px 16px;cursor:pointer;margin:2px;font-size:13.5px;transition:background .15s}
button:hover{background:var(--pri-d)}
button.ghost{background:#eef1f8;color:#3a4358}
button.ghost:hover{background:#e2e8f5}
button.danger{background:#e05353}
button.danger:hover{background:#c93f3f}
button.sm{padding:5px 11px;font-size:12.5px;border-radius:7px}
/* 表单 */
input,select,textarea{border:1px solid #d9dee9;border-radius:8px;padding:8px 12px;font-size:13.5px;margin:2px;background:#fff;transition:border .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px rgba(36,86,214,.1)}
textarea{width:100%;min-height:76px;resize:vertical}
label{color:#5b6478;font-size:13px;min-width:88px}
.field{margin-bottom:12px}
.field label{display:block;margin-bottom:5px;font-weight:600;color:#3a4358}
.field input,.field select,.field textarea{width:100%;margin:0}
/* 统计 */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-bottom:16px}
.stat{background:var(--card);border-radius:12px;padding:18px;border:1px solid #eef1f7;box-shadow:0 1px 2px rgba(20,30,60,.05)}
.stat b{font-size:26px;color:var(--pri);display:block;margin-bottom:4px}
.stat span{color:var(--mut);font-size:12.5px}
/* tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:10px}
/* 弹窗 */
.modal{position:fixed;inset:0;background:rgba(15,22,40,.45);display:flex;align-items:center;justify-content:center;z-index:50;backdrop-filter:blur(2px)}
.modal.hidden{display:none}
.modal-body{background:#fff;border-radius:14px;padding:24px;width:560px;max-width:92vw;max-height:88vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.modal-body h3{margin:0 0 16px;font-size:16px}
/* 徽标 */
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;background:#eef3ff;color:var(--pri)}
.badge.ok{background:#e6f7ec;color:#1d9d55}
.badge.off{background:#f1f2f6;color:#8a93a6}
.badge.warn{background:#fef3e2;color:#d97c1a}
.muted{color:var(--mut)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
code{background:#f1f3f9;padding:2px 7px;border-radius:5px;font-size:12.5px}
a{color:var(--pri)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#c9d2e3;border-radius:4px}
.sidebar ::-webkit-scrollbar-thumb{background:#2c3650}
/* 可视化搭建器 */
.builder{background:#fff;border-radius:12px;border:1px solid #eef1f7;overflow:hidden}
.b-top{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line)}
.b-top b{font-size:15px}
.b-body{display:flex;min-height:640px}
.b-left{width:210px;border-right:1px solid var(--line);padding:12px;overflow-y:auto;background:#fafbfe}
.b-sec{font-size:12px;color:var(--mut);padding:8px 4px;font-weight:600}
.bcomp{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 10px;margin-bottom:8px;cursor:pointer;font-size:13px;transition:all .15s}
.bcomp:hover{border-color:var(--pri);color:var(--pri);box-shadow:0 2px 8px rgba(36,86,214,.12)}
.b-center{flex:1;display:flex;justify-content:center;padding:20px;background:#f0f2f7;overflow-y:auto}
/* 084：全站手机框统一为 iPhone 矢量框（灵动岛 + 钛金属边框 + 侧边按键，纯 CSS 矢量绘制） */
.phone{width:375px;min-height:667px;padding:12px;background:#0b0b0d;border-radius:58px;box-shadow:0 0 0 2px #7d7d84,0 0 0 4px #26262b,0 24px 60px rgba(15,15,20,.35),inset 0 0 0 2px #000;position:relative}
.phone::before{content:"";position:absolute;top:23px;left:50%;transform:translateX(-50%);width:112px;height:30px;border-radius:20px;background:#000 radial-gradient(circle at 84% 50%,#22344a 4px,#0a1420 5.5px,#000 7px);z-index:60;pointer-events:none;box-shadow:inset 0 0 2px rgba(255,255,255,.14)}
.phone::after{content:"";position:absolute;left:-4.5px;top:196px;width:4px;height:58px;border-radius:3px 0 0 3px;background:#3a3a40;box-shadow:0 66px 0 #3a3a40,0 -64px 0 -1px #3a3a40,403px 34px 0 #3a3a40;z-index:0;pointer-events:none}
.phone>:first-child{border-top-left-radius:46px;border-top-right-radius:46px}
.phone>:last-child{border-bottom-left-radius:46px;border-bottom-right-radius:46px}
.phone>:only-child{border-radius:46px}
.ph-head{text-align:center;padding:12px;font-weight:700;border-bottom:1px solid #eee;font-size:14px;background:#fff;position:sticky;top:0}
#phBody{min-height:400px}
.pv-block{position:relative;border:2px dashed transparent;cursor:pointer}
.pv-block:hover{border-color:#a9c0f5}
.pv-block.sel{border-color:var(--pri)}
.pv-ops{position:absolute;top:4px;right:4px;display:none;gap:2px}
.pv-block:hover .pv-ops,.pv-block.sel .pv-ops{display:flex}
.pv-ops button{padding:2px 7px;font-size:11px;margin:0}
.pv-empty{text-align:center;color:#aaa;padding:60px 20px}
.pv-search{background:#f1f3f7;margin:10px;border-radius:16px;padding:8px 14px;color:#999;font-size:13px}
.pv-banner{margin:10px;border-radius:8px;overflow:hidden;display:flex;gap:6px}
.pv-banner img{width:100%;border-radius:8px}
.pv-ph{background:#f6f8fc;border-radius:8px;margin:10px;padding:26px;text-align:center;color:#9aa3b8;font-size:13px}
.pv-nav{display:flex;justify-content:space-around;padding:12px 6px;background:#fff}
.pv-nav>div{text-align:center;font-size:11px;color:#555}
.pv-ic{width:40px;height:40px;border-radius:50%;background:#eef2fa;display:flex;align-items:center;justify-content:center;margin:0 auto 4px;font-size:18px;overflow:hidden}
.pv-ic img{width:100%;height:100%;object-fit:cover}
.pv-notice{background:#fff8e6;margin:10px;padding:8px 12px;border-radius:8px;font-size:12.5px;color:#b07800}
.pv-title{padding:12px 14px 4px;font-weight:700;font-size:15px}
.pv-rt{padding:10px 14px;font-size:13px;color:#555}
.pv-tags{display:flex;gap:8px;padding:10px 14px;flex-wrap:wrap}
.pv-tags span{background:#eef3ff;color:var(--pri);padding:4px 12px;border-radius:14px;font-size:12px}
.b-right{width:300px;border-left:1px solid var(--line);padding:14px;overflow-y:auto;background:#fff}
.b-tabs{display:flex;gap:6px;margin-bottom:12px}
.b-right h4{margin:0 0 12px;font-size:14px}
.pv-gzh{display:flex;align-items:center;gap:10px;background:#fff;margin:10px;padding:10px;border-radius:8px;border:1px solid #eef1f7}
.pv-gzh img{width:40px;height:40px;border-radius:6px}
.pv-gzh .muted{color:#999;font-size:11px}
.pv-head{display:flex;align-items:baseline;gap:8px;padding-top:10px}
.pv-desc{font-size:11px;color:#999}
.pv-foot{text-align:center;color:#999;font-size:12px;padding:16px 10px;background:#fafafa}
.pv-cube{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px}
.pv-cube img{width:100%;border-radius:6px}
/* 可视化编辑器卡片 */
.ve-card{display:flex;gap:10px;background:#fafbfe;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;align-items:flex-start}
.ve-ic{flex-shrink:0}
.ve-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.ve-main input{width:100%;box-sizing:border-box}
.ve-row{display:flex;gap:6px;align-items:center}
.ve-row input{flex:1;min-width:0}
.ve-row select{flex-shrink:0}
.ve-ops{display:flex;flex-direction:column;gap:2px}
.ve-ops button{padding:2px 8px;font-size:11px;margin:0;white-space:nowrap}
.ve-card button{white-space:nowrap;flex-shrink:0}
.ve-line{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:13px}
.ve-line label{display:flex;align-items:center;gap:4px;font-weight:400}
.ve-clist{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px}
.ve-clist label{display:flex;align-items:center;gap:6px;font-weight:400;font-size:13px}
.ve-clist input{width:auto}
.ve-nav{align-items:flex-start}
.ve-nav-l{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.ve-nav-ic{width:56px;height:56px;border-radius:10px;background:#f1f3f7;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e8ebf2}
.ve-nav-ic img{width:100%;height:100%;object-fit:cover}
.ve-nav-noic{color:#b6bdc9;font-size:22px}
.ve-nav-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.ve-nav-name{display:flex;align-items:center;gap:6px}
.ve-nav-name input{flex:1;min-width:0}
.ve-count{color:#999;font-size:11px;flex-shrink:0}
.ve-nav-link{display:flex;align-items:center;gap:6px;font-size:13px;color:#555}
.ve-nav-link select{flex:1;min-width:0}
.ve-nav-r{display:flex;gap:3px;flex-shrink:0}
.ve-nav-r button{padding:3px 8px;font-size:11px;margin:0}
.seg{padding:5px 10px;border:1px solid var(--line);background:#fff;border-radius:7px;font-size:13px;margin:0 2px;cursor:pointer}
.seg.on{border-color:var(--pri);color:var(--pri);background:#eef3ff}
.ve-bgwrap{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.ve-bgs{display:flex;gap:10px}
.ve-bg{width:88px;height:44px;border-radius:8px;cursor:pointer;border:2px solid transparent;overflow:hidden}
.ve-bg.on{border-color:var(--pri)}
.ve-bg img{width:100%;height:100%;object-fit:cover}
.pv-nav{display:flex;flex-wrap:wrap;padding:10px 4px;background:#fff}
.pv-navcell{text-align:center;font-size:11px;color:#555;padding:6px 0;box-sizing:border-box}
.pv-navtxt{font-size:14px;color:#333}
.pv-navcard{margin:0 4px;padding:12px 6px;border-radius:10px;color:#fff;display:flex;flex-direction:column;align-items:center;gap:6px}
.pv-navcard span{color:#fff}

.ph-wrap{position:relative}
#phTools{position:absolute;left:calc(100% + 12px);flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:4px;z-index:5}
#phTools button{width:30px;height:30px;padding:0;margin:0;font-size:14px;background:#fff;color:#555;border-radius:6px}
#phTools button:hover{background:#eef3ff;color:var(--pri)}
.pv-block.sel{border:2px solid var(--pri) !important}
.pv-card{border-radius:12px;padding:12px 8px;margin:0 4px}
.pv-cardhead{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pv-ava{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:20px}
.pv-cardhead b{font-size:13px}
.pv-vip{font-size:10px;color:#b07800;background:rgba(255,255,255,.6);padding:1px 6px;border-radius:8px}
.pv-up{margin-left:auto;font-size:11px;background:#ff5a3c;color:#fff;padding:3px 10px;border-radius:12px}
.pv-card .pv-nav{background:transparent;padding:0}
.pv-card .pv-navcell span{color:#333}
/* 添加导航弹窗 */
.np-mask{position:fixed;inset:0;background:rgba(20,24,40,.45);display:flex;align-items:center;justify-content:center;z-index:99}
.np-box{background:#fff;border-radius:14px;width:520px;max-width:92vw;max-height:84vh;overflow-y:auto;padding:18px 20px;box-shadow:0 16px 50px rgba(0,0,0,.25)}
.np-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.np-head b{font-size:16px}
.np-head span{cursor:pointer;color:#999;font-size:16px}
.np-tabs{display:flex;gap:16px;border-bottom:1px solid var(--line);margin-bottom:14px}
.np-tabs button{background:none;border:0;padding:8px 2px;color:#666;font-size:13px;border-bottom:2px solid transparent;border-radius:0;margin:0}
.np-tabs button.on{color:var(--pri);border-bottom-color:var(--pri)}
#npGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-height:300px;overflow-y:auto}
.np-cell{position:relative;text-align:center;padding:14px 2px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#fff}
.np-cell:hover{border-color:#a9c0f5}
.np-cell.on{border-color:var(--pri);background:#eef3ff}
.np-cell.dis{opacity:.45;cursor:not-allowed}
.np-ic{font-size:24px;margin-bottom:6px}
.np-cell span{font-size:12px;color:#333}
.np-ck{position:absolute;top:4px;right:6px;font-style:normal;color:var(--pri);font-weight:700}
.np-foot{text-align:right;margin-top:14px}
/* 图片素材库 */
.il-box{width:640px}
.il-tools{display:flex;gap:8px;margin-bottom:12px;align-items:center}
.il-tools input{flex:1}
.il-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-height:340px;overflow-y:auto}
.il-cell{position:relative;border:2px solid var(--line);border-radius:10px;padding:6px;cursor:pointer;text-align:center}
.il-cell:hover{border-color:#a9c0f5}
.il-cell.on{border-color:var(--pri);background:#eef3ff}
.il-cell img{width:100%;height:64px;object-fit:cover;border-radius:6px}
.il-cell span{display:block;font-size:11px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.il-cell small{color:#999;font-size:10px}
.il-del{position:absolute;top:2px;right:4px;font-style:normal;color:#e5484d;background:#fff;border-radius:50%;width:18px;height:18px;line-height:18px;font-size:11px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.il-pv img{width:100%;max-height:120px;object-fit:cover;border-radius:8px;margin:6px 0}
.cpick{display:flex;gap:8px;align-items:center}
.cpick input[type=color]{width:44px;height:34px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff}
.bd-sec{font-size:13px;font-weight:600;margin:14px 0 4px;color:#333}
.sb-slider{display:flex;align-items:center;gap:8px;margin:8px 0}
.sb-slider input[type=range]{flex:1}
.sb-slider a{font-size:12px;color:var(--pri)}
.sb-icrow{display:flex;gap:10px;align-items:center;margin:8px 0}
.sb-icpv{width:56px;height:56px;border:1px dashed #c4cddc;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:30px;overflow:hidden;flex-shrink:0}
.sb-icpv img{width:100%;height:100%;object-fit:cover}
.sb-menu{position:fixed;z-index:120;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:110px}
.sb-menu a{display:block;padding:9px 14px;font-size:13px;cursor:pointer;color:#333}
.sb-menu a:hover{background:#f2f6ff;color:var(--pri)}
.ic-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:6px}
.ic-cell{border:2px solid var(--line);border-radius:10px;font-size:30px;text-align:center;padding:10px 0;cursor:pointer}
.ic-cell.on{border-color:var(--pri);background:#eef3ff}
.pv-searchrow{position:relative}
.pv-ckic{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:22px;width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.pv-ckic img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pv-fix{position:absolute;left:8px;top:-18px;font-size:10px;color:#fff;background:#f60;padding:1px 7px;border-radius:8px}
.nt-icons{display:flex;gap:10px;margin:6px 0 10px}
.nt-ic{width:52px;height:52px;border:2px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;background:#fff;position:relative}
.nt-ic.on{border-color:var(--pri);background:#eef3ff}
.nt-badge{background:#f0524f;color:#fff;padding:2px 8px;border-radius:6px;font-weight:700}
.pv-ntic{margin-right:6px;font-size:15px}
.bs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bs-cell{border:2px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}
.bs-cell.on{border-color:var(--pri);background:#f4f8ff}
.bs-demo{position:relative;background:linear-gradient(135deg,#5b5bd6,#8b5cf6);border-radius:8px;height:84px;overflow:hidden}
.bs-img{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px}
.bs-dots{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:4px}
.bs-dots.r{justify-content:flex-end;padding-right:8px}
.bs-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.bs-dots i.on,.bs-bars i.on{background:#fff}
.bs-num{position:absolute;bottom:6px;right:8px;background:rgba(0,0,0,.45);color:#fff;font-size:10px;padding:1px 7px;border-radius:8px}
.bs-bars{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:4px}
.bs-bars i{width:16px;height:3px;border-radius:2px;background:rgba(255,255,255,.5)}
.pv-car{position:relative}
.pv-car img{width:100%;height:130px;object-fit:cover;display:block}
.pv-dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.pv-dots.r{justify-content:flex-end;padding-right:10px}
.pv-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}
.pv-dots i.on{background:#fff}
.pv-num{position:absolute;bottom:8px;right:10px;background:rgba(0,0,0,.45);color:#fff;font-size:11px;padding:1px 8px;border-radius:9px}
.pv-bars{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:4px}
.pv-bars i{width:18px;height:3px;border-radius:2px;background:rgba(255,255,255,.55)}
.pv-bars i.on{background:#fff}
.pv-scroll{display:flex;gap:8px;overflow:hidden}
.pv-scroll img{width:72%;height:110px;object-fit:cover;flex-shrink:0}
.pv-tt{padding:4px 2px}
.pv-ttline{display:flex;align-items:center;gap:8px}
.pv-ttline b{color:#222}
.pv-more1{margin-left:auto;font-size:12px;color:#999}
.pv-more3{margin-left:auto;font-size:18px;color:#999}
.pv-more2{display:inline-block;margin-top:8px;font-size:12px;color:#666;border:1px solid #ddd;border-radius:12px;padding:2px 12px}
.pv-ttdesc{font-size:12px;color:#888;margin-top:4px;white-space:pre-wrap}
.vd-card{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:10px;background:#fff}
.vd-th{position:relative;height:96px;border-radius:8px;overflow:hidden;background:#1a1d24;display:flex;align-items:center;justify-content:center}
.vd-th img{width:100%;height:100%;object-fit:cover}
.vd-thph{font-size:34px}
.vd-thops{position:absolute;left:0;right:0;bottom:0;display:flex;background:rgba(0,0,0,.55)}
.vd-thops button{flex:1;background:none;border:0;color:#fff;font-size:12px;padding:7px 0;cursor:pointer}
.vd-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:0;cursor:pointer}
.pv-vd{position:relative;border-radius:8px;overflow:hidden;background:#1a1d24;min-height:120px}
.pv-vd img{width:100%;height:150px;object-fit:cover;display:block}
.pv-vd.big img{height:170px}
.pv-vdph{display:flex;align-items:center;justify-content:center;font-size:34px;height:150px}
.pv-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}
.pv-vdnm{font-size:11px;color:#333;padding:4px 6px;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-vdnm.two{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pv-vdgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pv-vdrow{display:flex;gap:8px;overflow:hidden}
.pv-vdrow .pv-vd{width:60%;flex-shrink:0}
.pv-vdgrid .water img{height:110px}
.pv-vdcar{position:relative}
.au-list{max-height:300px;overflow:auto}
.au-row{display:flex;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer;font-size:13px}
.au-row.on{border-color:var(--pri);background:#eef3ff}
.au-cur{display:flex;justify-content:space-between;align-items:center;background:#f6f8fc;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:10px;font-size:13px}
.au-cur a{color:var(--pri);font-size:12px}
.pv-au{position:relative;background:#fdf3f1;border:1px solid #f3d9d5;padding:10px 12px 12px}
.pv-au-tip{font-size:10px;color:#c98a80;margin-bottom:6px}
.pv-au-name{font-size:13px;font-weight:600;color:#333}
.pv-au-bar{height:4px;background:#f6d5cf;border-radius:2px;margin:10px 0 4px;position:relative}
.pv-au-bar i{position:absolute;left:0;top:-3px;width:10px;height:10px;border-radius:50%;background:#f0524f}
.pv-au-row{display:flex;justify-content:space-between;font-size:10px;color:#999}
.pv-au-play{position:absolute;right:12px;bottom:10px;width:26px;height:26px;border-radius:50%;background:#f0524f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px}
.mf-demo{display:flex;gap:6px;align-items:flex-start;padding:6px;background:#f6f8fc;border-radius:6px;min-height:64px}
.mf-demo .mf-img{flex:1;background:#dbe7ff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:22px;min-height:56px;position:relative}
.mf-demo .mf-img.sm{flex:0 0 40%;min-height:44px}
.mf-demo .mf-img.lg{min-height:76px}
.mf-demo .mf-tx{flex:1;font-size:11px;color:#555;text-align:left}
.mf-demo.mf-d1{flex-direction:column}
.mf-demo.mf-d1 .mf-img{width:100%}
.mf-demo .mf-ov{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);color:#fff;font-size:10px;padding:3px 6px;text-align:left}
.pv-cb1{margin-bottom:8px}
.pv-cb1 img{width:100%;height:110px;object-fit:cover;border-radius:8px;display:block}
.pv-cbnm{font-size:12px;color:#333;padding:4px 2px}
.rt-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.rt-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:5px 6px;border-bottom:1px solid var(--line);background:#fafbfc;align-items:center}
.rtb{border:1px solid transparent;background:none;min-width:26px;height:26px;padding:0 5px;border-radius:5px;cursor:pointer;font-size:13px;color:#333}
button.rtb:hover{background:#eef3ff;border-color:#cdd9f5}
select.rtb{border:1px solid var(--line);background:#fff}
.rt-ed{min-height:240px;max-height:380px;overflow:auto;padding:10px 12px;font-size:14px;line-height:1.7;outline:none}
.rt-ed img{max-width:100%}
.rt-ed table{width:100%;border-collapse:collapse}
.rt-ed td{border:1px solid #ccc;padding:4px}
.rt-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:4px 10px;font-size:11px;color:#999;background:#fafbfc}
.pv-rt{font-size:12px;line-height:1.7;padding:6px 4px;color:#333}
.pv-rt img{max-width:100%}
.qty{display:inline-flex;align-items:center;gap:0}
.qty button{width:28px;height:28px;border:1px solid var(--line);background:#fff;cursor:pointer}
.qty input{width:52px;height:28px;text-align:center;border:1px solid var(--line);border-left:0;border-right:0}
.pl-picks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pl-pick{position:relative;width:64px;text-align:center}
.pl-pick img,.pl-pickph{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#eef1f6;display:flex;align-items:center;justify-content:center;font-size:22px}
.pl-pick span{display:block;font-size:10px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.pl-pick button{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#333;color:#fff;border:0;font-size:10px;cursor:pointer}
.pl-add{width:64px;height:64px;border:1.5px dashed #b9c6dd;border-radius:8px;background:#fbfcfe;color:#7a8699;font-size:11px;cursor:pointer;line-height:1.5}
.pv-plgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pv-plrow{display:flex;gap:8px;overflow:hidden}
.pv-plrow .pv-plcard{width:45%;flex-shrink:0}
.pv-plcard{background:#fff;border:1px solid #eef0f3;border-radius:8px;overflow:hidden;margin-bottom:8px}
.pv-plcv img{width:100%;height:86px;object-fit:cover;display:block}
.pv-plcv.sm img{width:100%;height:100%}
.pv-plph{height:86px;display:flex;align-items:center;justify-content:center;background:#eef1f6;font-size:26px}
.pv-plcard.one{display:flex;gap:8px;padding:6px}
.pv-plcard.one .pv-plcv{width:96px;height:64px;flex-shrink:0;border-radius:6px;overflow:hidden}
.pv-plcard.one .pv-plph{height:64px}
.pv-plinf{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.pv-plnm{font-size:12px;color:#222;padding:5px 7px 0;line-height:1.45}
.pv-plcard.one .pv-plnm{padding:0}
.pv-plnm.one{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-plnm.two{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv-plbadge{display:inline-block;background:#f0524f;color:#fff;font-size:9px;border-radius:3px;padding:0 4px;margin-right:4px;vertical-align:1px}
.pv-plrow{display:flex;align-items:center;gap:6px;padding:4px 7px 7px}
.pv-plfree{color:#f0524f;font-size:12px;font-weight:600}
.pv-plprice{color:#f0524f;font-size:13px;font-weight:700}
.pv-plvip{font-size:9px;color:#fff;background:#b8860b;border-radius:3px;padding:1px 4px;font-weight:700}
.pv-plvip.red{background:#e23b3b}
.pv-plvip.dark{background:#333}
.pv-pldata{margin-left:auto;font-size:10px;color:#aaa}
.pv-plempty{text-align:center;color:#aab4c4;font-size:12px;padding:26px 0;background:#fafbfc;border-radius:8px}
.pk-box{width:760px;max-width:94vw}
.pk-body{display:flex;gap:0;min-height:380px}
.pk-cats{width:130px;border-right:1px solid var(--line);padding-right:10px;margin-right:12px;flex-shrink:0}
.pk-cat-t{font-size:12px;color:#999;margin:10px 0 4px}
.pk-cat{padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13px}
.pk-cat.on{background:#eef3ff;color:var(--pri);font-weight:600}
.pk-main{flex:1;min-width:0}
.pk-tools{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pk-tools input{flex:0 0 170px}
.pk-list{max-height:400px;overflow:auto}
.pk-row{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer}
.pk-row img,.pk-ph{width:52px;height:52px;object-fit:cover;border-radius:6px;background:#eef1f6;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.pk-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.pk-t{font-size:13px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-gt{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 8px}
.pv-gtn{font-size:14px;font-weight:700;color:#222}
.pv-gtd{font-size:11px;color:#999;font-weight:400;margin-left:4px}
.pv-gg{background:#fff;border:1px solid #eef0f3;border-radius:8px;padding:8px 10px;margin-bottom:8px}
.pv-ggn{font-size:13px;font-weight:700;color:#333;padding-bottom:5px;border-bottom:1px solid #f2f4f7;margin-bottom:5px}
.pv-ggc{display:flex;justify-content:space-between;font-size:11px;color:#555;padding:3px 0}
.pv-ggrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pv-ggrid.three{grid-template-columns:1fr 1fr 1fr}
.pv-ggrid .pv-gg{margin-bottom:0}
.pv-plgrid.three{grid-template-columns:1fr 1fr 1fr}
.tn-tab{border:1px solid var(--line);border-radius:8px;margin:8px 0;overflow:hidden}
.tn-thead{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f8fafc}
.tn-thead input{flex:1;min-width:0;height:30px}
.tn-tbody{padding:10px 12px;border-top:1px solid var(--line)}
.tn-sub{border:1px dashed #d5dce8;border-radius:8px;padding:8px 10px;margin:8px 0}
.tn-sw{position:relative;display:inline-block;width:38px;height:20px}
.tn-sw input{opacity:0;width:0;height:0}
.tn-sw i{position:absolute;inset:0;background:#ccd4e0;border-radius:20px;transition:.2s;cursor:pointer}
.tn-sw i:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.tn-sw input:checked + i{background:var(--pri)}
.tn-sw input:checked + i:before{transform:translateX(18px)}
.pv-tnbar{display:flex;gap:14px;align-items:center;padding:8px 4px;border-bottom:1px solid #eef0f3;margin-bottom:8px;overflow-x:auto}
.pv-tnbar span{font-size:13px;color:#666;white-space:nowrap;cursor:pointer;padding-bottom:6px;border-bottom:2px solid transparent;margin-bottom:-1px}
.pv-tnbar span.on{color:#222;font-weight:700;border-color:#f0524f}
.pv-tnsubs{display:flex;gap:8px;padding:6px 2px 10px;overflow-x:auto}
.pv-tnsubs span{font-size:11px;color:#666;background:#f2f4f7;border-radius:12px;padding:3px 10px;cursor:pointer;white-space:nowrap}
.pv-tnsubs span.on{background:#f0524f;color:#fff}
.pv-tnmenu{display:flex;gap:8px}
.pv-tnside{width:76px;flex-shrink:0;background:#f8fafc;border-radius:8px;padding:6px 0}
.pv-tnside div{font-size:12px;color:#666;padding:9px 4px;text-align:center;cursor:pointer;border-left:3px solid transparent}
.pv-tnside div.on{color:#f0524f;font-weight:700;border-color:#f0524f;background:#fff}
.pv-tnmain{flex:1;min-width:0}
.pv-schead{height:86px;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:16px;background-size:cover}
.pv-sctitle{font-size:19px;font-weight:800;letter-spacing:2px;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.pv-scbody{background:#fff;border:1px solid #eef0f3;border-top:none;border-radius:0 0 8px 8px;padding:10px;margin-top:-14px;position:relative}
.pv-scgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pv-sccard{background:#fff;border:1px solid #f0f2f5;border-radius:8px;overflow:hidden;margin-bottom:8px}
.pv-scgrid .pv-sccard{margin-bottom:0}
.pv-sccv{position:relative;background:#f5f6f8}
.pv-sccv img{width:100%;height:100%;display:block}
.pv-scnm{font-size:12px;font-weight:600;color:#222;padding:6px 8px 0;line-height:1.35}
.pv-scdata{font-size:10px;color:#999;padding:2px 8px 0}
.pv-scp1{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#ff8a3d,#f0524f);color:#fff;border-radius:12px;margin:6px 8px 8px;padding:3px 4px 3px 10px;font-size:12px}
.pv-scp1 span{background:#fff;color:#f0524f;border-radius:9px;padding:1px 8px;font-size:11px;font-weight:700}
.pv-scp2{display:flex;align-items:center;justify-content:space-between;padding:5px 8px 8px}
.pv-scp2 b{font-size:14px;color:#f0524f}
.pv-scb2{background:linear-gradient(90deg,#ff8a3d,#f0524f);color:#fff;font-size:11px;border-radius:10px;padding:3px 9px;font-weight:700}
.pv-scb3{background:#222;color:#ffb84d;font-size:11px;border-radius:10px;padding:3px 9px;font-weight:700}
.pv-scb4{background:linear-gradient(90deg,#c89b5a,#a87c3f);color:#fff;font-size:11px;border-radius:4px;padding:3px 9px;font-weight:700}
.sc-tpls{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:6px 4px}
.sc-tpl{border:2px solid #e3e8f0;border-radius:8px;overflow:hidden;cursor:pointer;position:relative}
.sc-tpl.on{border-color:var(--pri)}
.sc-tplhead{height:64px;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px}
.sc-tplmock{text-align:center;font-size:20px;padding:12px 0;background:#f7f8fa;line-height:1.7}
.sc-tick{position:absolute;right:0;bottom:0;background:var(--pri);color:#fff;font-size:12px;padding:2px 7px;border-radius:8px 0 0 0}
.pv-zngrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tc-bgsw{width:64px;height:26px;border-radius:4px;cursor:pointer;border:2px solid transparent;display:inline-block}
.tc-bgsw.on{border-color:var(--pri)}
.tc-avaup{border:1.5px dashed #b9c6d8;border-radius:8px;width:96px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#5b8def;font-size:12px;overflow:hidden;text-align:center}
.tc-avaup img{width:100%;height:100%;object-fit:cover}
.pv-tc1{border:1px solid #eef0f3;border-radius:8px;overflow:hidden}
.pv-tchead{height:64px;display:flex;align-items:center;gap:10px;padding:0 14px}
.pv-tcava{width:42px;height:42px;border-radius:50%;background:#dbe7f5;display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden;flex-shrink:0}
.pv-tcava img{width:100%;height:100%;object-fit:cover}
.pv-tcname{font-size:14px;font-weight:700;color:#fff}
.pv-tc2 .pv-tcname{color:#222}
.pv-tcbio2{font-size:11px;color:#666;padding:8px 10px 0;line-height:1.5}
.pv-tc2{border:1px solid #f3e3d3;border-radius:8px;padding:10px;background:#fffaf3}
.pv-tc2head{display:flex;gap:10px;margin-bottom:6px}
.pv-tc2main{flex:1;min-width:0}
.pv-tcbio{font-size:11px;color:#888;line-height:1.5;margin-top:2px}
.pv-tchot{background:#f0524f;color:#fff;font-size:9px;border-radius:3px;padding:1px 4px;margin-left:5px;vertical-align:2px}
.tc-demo1,.tc-demo2{padding:10px;font-size:12px;color:#444}
.tc-demohead{background:linear-gradient(120deg,#2f6fb4,#57a7dd);color:#fff;border-radius:6px;padding:8px;margin-bottom:8px}
.tc-demoline{padding:3px 0;color:#888}
.fx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}
.fx-cell{border:2px solid #e3e8f0;border-radius:8px;padding:8px;display:flex;justify-content:center;cursor:pointer;background:#fbfcfe}
.fx-cell.on{border-color:var(--pri)}
.fx-ic{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.fx-ic img{width:100%;height:100%;object-fit:contain}
.fx-emoji{font-size:24px;line-height:1}
.fx-lb{font-size:11px;font-weight:700;margin-top:2px}
.fx-sub{font-size:9px;background:rgba(255,255,255,.9);color:#e63e36;border-radius:6px;padding:0 5px;margin-top:2px;font-weight:700}
.fx-ph{font-size:30px}
.pv-floatwrap{position:relative;height:84px}
.pv-float{position:absolute;bottom:6px;cursor:pointer}
.pv-float.right{right:8px}
.pv-float.left{left:8px}
.pv-float img{width:64px;height:64px;object-fit:contain}
.bf-tab{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;position:relative;background:#fbfcfe}
.bf-del{position:absolute;right:8px;top:8px;background:none;border:none;color:#c0392b;font-size:15px;cursor:pointer}
.pv-bfbar{border-top:1px solid #eef0f3;padding:8px 10px;background:#fff}
.pv-bftabs{display:flex}
.pv-bftab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:#888;cursor:pointer}
.pv-bftab.on{color:#2456d6}
.pv-bfic{font-size:19px;line-height:1}
.pv-bfic img{width:22px;height:22px;object-fit:contain}
.pv-bfbtn{width:100%;font-size:14px;font-weight:600;cursor:pointer}
.pv-prod-l1 .pv-plcv{width:64px;height:48px}
.pv-prod-l4 .pv-plcv{width:80px;height:56px}
.pv-pdnum{display:flex;align-items:center;gap:8px;padding:7px 10px;border-top:1px solid #f2f4f7;font-size:12px}
.pv-pdno{color:#f0524f;font-weight:700;font-style:italic}
.pv-pdnm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}
.pv-pdpr{color:#f0524f;font-weight:600}
.pv-plcv{position:relative;overflow:hidden}
.pv-plvip.rib1{position:absolute;top:9px;left:-24px;transform:rotate(-45deg);background:linear-gradient(90deg,#57b25e,#3f9e4d);padding:1px 26px;font-size:9px;z-index:2}
.pv-plvip.rib2{position:absolute;top:0;left:0;background:linear-gradient(90deg,#e8b34b,#c9932b);border-radius:0 0 10px 0;padding:2px 9px;font-size:9px;z-index:2}
.pv-qr{margin-left:auto;font-size:20px;color:#333;border:1px solid #e3e7ee;border-radius:4px;padding:2px 5px;line-height:1;background:#fff}
.pv-plgrid.three{grid-template-columns:repeat(3,1fr)}
.pv-plstrike{color:#999;font-size:11px;text-decoration:line-through;margin-left:2px}
.pv-gb{background:#fff;border-radius:8px;overflow:hidden}
.pv-gbcv{position:relative;aspect-ratio:3/2;background:#f2f4f8}
.pv-gbcv img{width:100%;height:100%;object-fit:cover;display:block}
.pv-gbcd{position:absolute;left:0;right:0;bottom:0;background:rgba(90,90,90,.55);color:#fff;font-size:11px;padding:3px 8px}
.pv-gbbadge{background:linear-gradient(90deg,#f85032,#e73827);color:#fff;font-size:10px;border-radius:3px;padding:1px 5px}
.pv-gbbadge.tl{position:absolute;top:0;left:0;border-radius:0 0 6px 0;padding:2px 7px}
.pv-gbrow{display:flex;gap:6px;align-items:center;padding:6px 8px 0}
.pv-gbnm{font-size:13px;font-weight:600}
.pv-gbpr{color:#e73827;font-weight:700;padding:2px 8px 8px}
.pv-gbpr s,.pv-gbbar s{color:#999;font-weight:400;font-size:11px}
.pv-gbnm2{font-size:13px;font-weight:600;padding:6px 8px 0}
.pv-gbcd2{display:block;font-size:11px;color:#666;padding:3px 8px 0}
.pv-gbcd2 b{background:#222;color:#fff;border-radius:3px;padding:0 3px;font-weight:600}
.pv-gbbar{margin:6px 8px 8px;background:linear-gradient(90deg,#f85032,#e73827);color:#fff;border-radius:4px;display:flex;justify-content:space-between;align-items:center;padding:5px 8px;font-weight:700}
.pv-gbbuy{background:#fff;color:#e73827;border-radius:10px;padding:1px 9px;font-size:12px}
.pv-gbrow2{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 8px}
.pv-gbpr3{color:#e73827;font-weight:700;line-height:1.25}
.pv-gbpr3 s{color:#999;font-weight:400;font-size:11px}
.pv-gbbuy3{background:#e73827;color:#fff;border-radius:12px;padding:4px 14px;font-size:12px}
/* 优惠券组件 */
.pv-cp{display:flex;gap:8px}
.pv-cp.strip{overflow:hidden}
.pv-cp.grid{display:grid;grid-template-columns:1fr 1fr}
.pv-cp.stack{flex-direction:column}
.pv-cpc{border-radius:8px;padding:8px 10px;color:#fff;background:linear-gradient(135deg,#f85032,#e73827);min-width:0}
.pv-cp.strip .pv-cpc{flex:0 0 31%}
.pv-cp.t2 .pv-cpc{background:linear-gradient(135deg,#ffb347,#ff8c1a)}
.pv-cp.t3 .pv-cpc{background:linear-gradient(135deg,#ff416c,#ff4b2b)}
.pv-cp.t4 .pv-cpc{background:linear-gradient(135deg,#f857a6,#ff5858)}
.pv-cp.t5 .pv-cpc{background:#fde8e8;color:#d33}
.pv-cp.t7 .pv-cpc{background:#fff4e5;color:#e67e22}
.pv-cp.t9 .pv-cpc{background:linear-gradient(135deg,#f7971e,#ffd200);color:#7a4a00}
.pv-cp.t10 .pv-cpc{background:#fde8e8;color:#d33}
.pv-cp.t5 .pv-cpbtn,.pv-cp.t7 .pv-cpbtn,.pv-cp.t10 .pv-cpbtn{background:#e73827;color:#fff}
.pv-cp.t5 .pv-cpscope,.pv-cp.t7 .pv-cpscope,.pv-cp.t10 .pv-cpscope{color:inherit;opacity:.75}
.pv-cptop{display:flex;align-items:center;justify-content:space-between;gap:6px}
.pv-cpamt b{font-size:20px}
.pv-cpbtn{background:#fff;color:#e73827;border-radius:999px;padding:2px 10px;font-size:11px;white-space:nowrap}
.pv-cp.stack .pv-cpc{display:flex;align-items:center;gap:10px}
.pv-cp.stack .pv-cpmid{flex:1;min-width:0}
.pv-cpcond{font-size:10px;opacity:.85;margin-top:2px}
.pv-cpscope{font-size:10px;opacity:.85;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-demowrap{display:flex;gap:6px;padding:8px}
.cp-demo{flex:1;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f85032,#e73827);color:#fff;border-radius:6px;padding:6px 8px}
.cp-demo .cp-dt{font-weight:700}
.cp-demo .cp-db{background:#fff;color:#e73827;border-radius:999px;font-size:10px;padding:1px 7px}
.pv-cpbuy{text-align:right}
.pv-cpprice{font-weight:700;margin-bottom:3px}
.qty.wide{display:flex;align-items:stretch;width:100%}
.qty.wide input{flex:1;text-align:center}
.qty-ud{display:flex;flex-direction:column}
.qty-ud button{flex:1;font-size:8px;line-height:1;padding:1px 6px}
.pv-gzh.bg{background:#eef4f8}
.pv-gzh img{border-radius:50%}
.pv-gzph{width:40px;height:40px;border-radius:50%;background:#dbe7f3;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}
.pv-gzh button{background:#f5722c;color:#fff;border:none;border-radius:999px;padding:5px 12px;margin-left:auto;white-space:nowrap}
.pv-bt{display:flex;background:#fff;border-radius:8px;padding:10px;margin:10px}
.pv-bt.bg{background:#eef4f8}
.pv-btit{flex:1;text-align:center;font-size:13px;color:#333}
.pv-btit i{font-style:normal;margin-right:5px}
.pv-btit + .pv-btit{border-left:1px solid #eee}
.pv-fr{display:flex;flex-wrap:wrap;gap:6px}
.pv-frit{width:calc(33.33% - 4px);aspect-ratio:19/10;background:#f7f8fa;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pv-frit img{max-width:100%;max-height:100%;object-fit:contain}
.pv-chlive{display:inline-flex;flex-direction:column;align-items:center;gap:3px;background:#fff;border:1px solid #e5e9f2;border-radius:8px;padding:8px 12px;font-size:11px;color:#333;margin:10px}
.pv-chico{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#3d7bff,#25c2f2);display:flex;align-items:center;justify-content:center;font-size:14px}
.ch-step{display:inline-block;background:#e8f1ff;color:#2456d6;border:1px solid #bcd3fb;border-radius:4px;padding:0 6px;font-size:12px;margin-right:6px}
.b-left{width:252px;padding:0;display:flex;background:#fff}
.b-rail{width:58px;background:#2b3245;display:flex;flex-direction:column;padding:8px 0;flex:0 0 auto}
.b-railbtn{background:none;border:none;color:#aeb6c6;font-size:11px;padding:10px 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;border-left:3px solid transparent}
.b-railbtn span{font-size:16px}
.b-railbtn.on{color:#fff;background:#1f2534;border-left-color:#2456d6}
.b-panel{flex:1;overflow-y:auto;padding:6px}
.b-grp{font-size:12px;font-weight:600;color:#666;padding:8px 4px 4px;cursor:pointer;display:flex;justify-content:space-between}
.b-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bcomp{flex-direction:column;align-items:center;gap:2px;padding:9px 2px;margin-bottom:0;text-align:center}
.bcomp-ic{font-size:18px}
.bcomp small{color:#f5722c;font-size:10px}
.pv-ar{display:flex;gap:10px;background:#fff;border-radius:8px;padding:8px;margin-bottom:8px;align-items:center}
.pv-arimg{width:76px;height:48px;border-radius:6px;background:#f2f4f8;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;font-size:18px}
.pv-arimg img{width:100%;height:100%;object-fit:cover}
.pv-artt{font-size:13px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv-ardt{font-size:11px;color:#999;margin-top:3px}
.mn-phone{padding:0 0 12px;min-height:480px}
.mn-head{position:relative;padding:14px 12px 12px;background:linear-gradient(135deg,#2f7df6,#25a9f2);overflow:hidden}
.mn-head.white{background:#fff}
.mn-head.custom{background-color:#1d2440}
.mn-urow{display:flex;align-items:center;gap:10px;position:relative}
.mn-ava{width:46px;height:46px;border-radius:50%;background:#bfe3d8;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.mn-uinfo{display:flex;flex-direction:column;gap:2px;min-width:0}
.mn-uname{font-weight:700;font-size:15px}
.mn-badge{font-size:10px;background:rgba(255,255,255,.35);border-radius:999px;padding:1px 6px;font-weight:400}
.mn-uid{font-size:11px;opacity:.85}
.mn-sign{margin-left:auto;background:rgba(0,0,0,.25);color:#fff;font-size:11px;border-radius:999px;padding:3px 9px;white-space:nowrap}
.mn-vip{margin-top:12px;background:linear-gradient(90deg,#3a3f4a,#23262e);color:#f3cd8b;border-radius:10px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;position:relative}
.mn-vipbtn{background:#f3cd8b;color:#4a3205;border-radius:999px;padding:3px 10px;font-size:11px}
.mn-head.s2 .mn-uraw{background:#fff;border-radius:12px;padding:26px 12px 12px;margin-top:22px;position:relative}
.mn-head.s2 .mn-ava{position:absolute;top:-20px;left:12px;width:52px;height:52px;border:2px solid #fff}
.mn-head.s2 .mn-urow{flex-direction:column;align-items:flex-start;gap:2px}
.mn-head.s2 .mn-uname,.mn-head.s2 .mn-uid{color:#333 !important}
.mn-head.s2 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#999}
.mn-head.s2 .mn-vip{margin-top:10px}
.mn-head.s3 .mn-vip{background:linear-gradient(90deg,#ffe9e4,#ffd9ec);color:#8a5a2b}
.mn-head.s3 .mn-vipbtn{background:none;color:#8a5a2b;font-size:14px}
.mn-head.s4 .mn-uid{display:inline;margin-left:6px}
.mn-head.s4 .mn-uinfo{display:block}
.mn-head.s4 .mn-vip{width:58%;margin-left:auto;background:linear-gradient(120deg,#f7e3b8,#eed9a4);color:#7a5a17;transform:rotate(-2deg)}
.mn-head.s4 .mn-vipbtn{background:#7a5a17;color:#ffe9b0}
.mn-head.s5 .mn-uraw{background:#fff;border-radius:12px;padding:14px 12px 0;margin:6px 2px 0}
.mn-head.s5 .mn-urow{flex-direction:column;text-align:center;gap:4px}
.mn-head.s5 .mn-ava{width:64px;height:64px;font-size:30px}
.mn-head.s5 .mn-uname,.mn-head.s5 .mn-uid{color:#333 !important}
.mn-head.s5 .mn-uinfo{align-items:center}
.mn-head.s5 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#999;margin:0}
.mn-head.s5 .mn-vip{background:linear-gradient(90deg,#7b4fd0,#5a2ea6);color:#ffe9a8;border-radius:0 0 12px 12px;margin:10px -12px 0}
.mn-head.s6 .mn-uid{display:inline;margin-left:6px}
.mn-head.s6 .mn-uinfo{display:block}
.mn-head.s6 .mn-vip{width:58%;margin-left:auto;background:linear-gradient(120deg,#f3e2c2,#e8d3a8);color:#7a5a17;transform:rotate(-2deg)}
.mn-head.s6 .mn-vipbtn{background:#7a5a17;color:#ffe9b0}
.mn-stats{display:flex;background:#fff;margin:10px 10px 0;border-radius:10px;padding:12px 4px}
.mn-stats span{flex:1;text-align:center;display:flex;flex-direction:column}
.mn-stats b{font-size:15px}
.mn-stats i{font-style:normal;font-size:11px;color:#999}
.mn-card{background:#fff;margin:10px;border-radius:10px;padding:12px}
.mn-ct{font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center}
.mn-more{font-size:11px;color:#999;font-weight:400}
.mn-orow{display:flex;margin-top:10px}
.mn-orow span{flex:1;text-align:center;font-size:11px;color:#555;display:flex;flex-direction:column;gap:4px}
.mn-orow i{font-style:normal;font-size:17px}
.mn-grid{display:flex;flex-wrap:wrap;margin-top:8px}
.mn-git{width:25%;text-align:center;font-size:11px;color:#555;padding:7px 0;display:flex;flex-direction:column;gap:4px}
.mn-git span{font-size:19px}
.mn-sec{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #eef1f7;border-radius:8px;padding:11px 12px;margin-bottom:8px;font-size:13px}
.mn-exp{cursor:pointer;color:#999;padding:0 6px}
.mn-secbody{background:#fafbfe;border:1px solid #eef1f7;border-top:none;border-radius:0 0 8px 8px;padding:10px 12px;margin:-8px 0 8px}
.mn-irow{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.mn-irow input{flex:1;min-width:0}
.mn-irow .mn-iic{flex:0 0 44px;text-align:center}
.mn-sw{display:inline-block;width:22px;height:22px;border-radius:4px;color:transparent;text-align:center;line-height:22px;cursor:pointer;vertical-align:middle}
.mn-sw.on{color:#2456d6;box-shadow:0 0 0 2px #2456d6 inset}
.mn-arow{padding:5px 0;font-size:13px}
.mn-arow span{display:inline-block;width:56px;color:#666}
.mn-dragnote{color:#e54545;font-size:12px;margin-left:auto}
.mn-mrow{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #eef1f7;border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:13px;cursor:grab}
.mn-mrow.locked{opacity:.55}
.mn-sys{color:#2456d6}
.mn-cname{color:#888;font-size:12px}
.mn-ed{cursor:pointer;margin-left:auto}
.mn-icedit{cursor:pointer;font-size:16px}
.mn-linkrow{margin-top:10px;border-top:1px dashed #e5e9f2;padding-top:8px;font-size:12px;color:#888}
.mn-lrow{display:flex;gap:8px;align-items:center;margin-top:5px}
.mn-lrow span{flex:0 0 76px;color:#666}
.mn-lrow input{flex:1}
.mn-gic{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;background:#eef4ff}
.mn-gic.line{background:#fff;border:1.5px solid #c9d4e6;filter:grayscale(.25)}
.mn-git .mn-gic{margin:0 auto}
.mn-list{display:flex;flex-direction:column}
.mn-lirow{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #f2f4f8;font-size:13px;color:#333}
.mn-lirow i{font-style:normal;margin-left:auto;color:#bbb}
.mn-lic{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:#eef4ff}
.mn-lic.line{background:#fff;border:1.5px solid #c9d4e6;filter:grayscale(.25)}
.nv-tip{background:#fdf6e3;border:1px solid #f3dfae;color:#8a6d1a;border-radius:6px;padding:9px 12px;font-size:12px}
.nv-card{position:relative;margin-bottom:12px}
.nv-del{position:absolute;right:10px;top:8px;cursor:pointer;color:#bbb}
.nv-del:hover{color:#e54545}
.nv-icons{display:flex;gap:18px;margin-left:76px}
.nv-icons .bd-cardimg{position:relative}
.nv-icons .bd-cardimg em{position:absolute;left:0;right:0;bottom:-18px;text-align:center;font-style:normal;font-size:11px;color:#999}
.nv-icons{margin-bottom:22px}
.nv-pop{position:fixed;z-index:999;background:#fff;border:1px solid #e5e9f2;border-radius:8px;box-shadow:0 8px 24px rgba(20,30,60,.16);padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:2px;min-width:190px}
.nv-pop a{display:block;padding:6px 10px;border-radius:5px;color:#333;font-size:13px;text-decoration:none}
.nv-pop a:hover{background:#f2f6ff}
.nv-pop a.on{color:#2456d6;font-weight:600}
.nv-stylerow{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eef1f7;border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
.nv-styleprev{flex:1;display:flex;justify-content:space-between;background:#f7f9fc;border-radius:6px;padding:8px 12px;font-size:13px;color:#333}
.nv-switch{position:relative;width:40px;height:22px;min-width:0;display:inline-block;flex:0 0 auto}
.nv-switch input{display:none}
.nv-switch span{position:absolute;inset:0;background:#dcdfe6;border-radius:999px;transition:background .2s;cursor:pointer}
.nv-switch span:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s;box-shadow:0 1px 3px rgba(20,30,60,.25)}
.nv-switch input:checked+span{background:#409eff}
.nv-switch input:checked+span:before{left:20px}
.bd-tabs.join{gap:0}
.bd-tabs.join button{border-radius:0;margin-left:-1px}
.bd-tabs.join button:first-child{border-radius:8px 0 0 8px;margin-left:0}
.bd-tabs.join button:last-child{border-radius:0 8px 8px 0}
.bd-tabs.join button.on{position:relative;z-index:1}
.nv-pagerow{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;border-bottom:1px solid #f2f4f9;font-size:14px}
.nv-pagerow label{display:flex;align-items:center;gap:6px;color:#5a6a86;font-size:13.5px;cursor:pointer}
.nv-microchip{display:inline-flex;align-items:center;gap:6px;background:#eef4ff;color:#2456d6;border-radius:6px;padding:3px 6px 3px 10px;font-size:12.5px;margin:0 6px 6px 0}
.nv-microchip i{font-style:normal;cursor:pointer;color:#8aa5dd}
.nv-mainic{display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin-right:14px}
.nv-mainic em{font-style:normal;font-size:11px;color:#999}
.nv-box{background:#fff;border-radius:12px;width:520px;max-width:92vw;max-height:86vh;overflow:auto}
.nv-boxh{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #eef1f7}
.nv-boxh span{cursor:pointer;color:#999}
.nv-boxb{padding:16px 18px}
.nv-boxf{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #eef1f7}
.nv-phone{position:relative;background:#f5f6f8;border-radius:8px;min-height:430px;overflow:hidden;display:flex;flex-direction:column}
.nv-topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 12px;font-size:13px;border-bottom:1px solid #eef1f7}
.nv-topbar em{font-style:normal;color:#ddd;margin:0 4px}
.nv-body{flex:1;display:flex;align-items:center;justify-content:center;color:#c3cad6;font-size:13px}
.nv-float{position:absolute;right:12px;bottom:64px;width:44px;height:44px;border-radius:50%;background:#2456d6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 12px rgba(36,86,214,.4);overflow:hidden}
.nv-float img{width:100%;height:100%;object-fit:cover}
.nv-tabbar{display:flex;background:#fff;border-top:1px solid #eef1f7;padding:6px 0 8px}
.nv-tb{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:15px;color:#98a2b5}
.nv-tb i{font-style:normal;font-size:10px}
.nv-tb.on{color:#2456d6}
.nv-tb img{width:20px;height:20px;object-fit:contain}
.gzh-feats{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:13px}
.gzh-q{display:inline-flex;width:14px;height:14px;border-radius:50%;background:#c9d4e6;color:#fff;font-style:normal;font-size:10px;align-items:center;justify-content:center;cursor:help}
.pm-flex{display:flex;gap:22px;align-items:flex-start}
.pm-left{flex:0 0 250px}
.pm-phone{overflow:visible}
.pm-right{flex:1;min-width:0}
.pm-cap{text-align:center;font-size:13px;color:#333;margin-top:8px}
.pm-cap span{color:#999;font-size:12px}
#pmStage .pm-poster{position:relative;width:100%;aspect-ratio:640/1136;background-size:cover;background-position:center;overflow:hidden}
.pm-sys-tag{position:absolute;top:6%;left:0;right:0;text-align:center;font-size:12px;letter-spacing:2px;opacity:.85}
.pm-sys-title{position:absolute;top:13%;left:0;right:0;text-align:center;font-size:27px;font-weight:800}
.pm-sys-deco{position:absolute;top:36%;left:0;right:0;text-align:center;font-size:74px}
.pm-sys-foot{position:absolute;left:7%;right:7%;bottom:5%;display:flex;justify-content:space-between;align-items:flex-end;font-size:12px;line-height:1.7}
.pm-qr{width:64px;height:64px;background:#fff}
.pm-sys-foot .pm-qr{width:64px;height:64px}
.pm-layer{position:absolute}
.pm-layer .pm-qr{width:100%;height:auto;aspect-ratio:1}
.pm-ava{width:100%;aspect-ratio:1;border-radius:50%;background:#dbe7f5;display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden}
.pm-ava img{width:100%;height:100%;object-fit:cover}
.pm-txt{white-space:pre-wrap;word-break:break-all}
.pm-thumbs{display:flex;gap:12px;flex-wrap:wrap}
.pm-thumb{width:104px;cursor:pointer}
.pm-th{height:184px;border-radius:10px;border:2px solid #e5e9f2;background-size:cover;background-position:center;position:relative;overflow:hidden;font-size:26px;color:#445;transition:box-shadow .15s}
.pm-th-scale{width:200px;transform:scale(.52);transform-origin:top left;pointer-events:none}
.pm-th-scale .pm-poster{width:200px}
.pm-th-ov{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:rgba(20,28,45,.45);opacity:0;transition:opacity .15s;z-index:3}
.pm-thumb:hover .pm-th-ov{opacity:1}
.pm-th-ov button{background:#2456d6;color:#fff;border:0;border-radius:6px;padding:5px 16px;font-size:12.5px;cursor:pointer}
.pm-th-ov button.danger{background:#e54545}
.pm-thumb:hover .pm-th{box-shadow:0 8px 20px rgba(31,58,147,.18)}
.pm-thumb{transition:transform .15s}
.pm-thumb:hover{transform:translateY(-2px)}
.pm-th span{font-size:12px;font-weight:700;background:rgba(255,255,255,.75);padding:1px 6px;border-radius:6px}
.pm-thumb.on .pm-th{border-color:#2456d6;box-shadow:0 0 0 1px #2456d6,0 8px 18px rgba(36,86,214,.16)}
.pm-thumb.hid .pm-th{opacity:.45}
.pm-th.add{font-size:34px;color:#2456d6;background:#f5f8ff;border-style:dashed;display:flex;align-items:center;justify-content:center}
.pm-tn{font-size:11px;color:#888;text-align:center;margin-top:4px}
.pm-layers{margin-top:10px;border-top:1px solid #eef1f7}
.pm-lrow{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid #f2f4f8;font-size:13px}
.pm-ldel{cursor:pointer;opacity:.6}
.pm-lname{flex:1;cursor:pointer}
.pm-ltog{cursor:pointer;color:#999}
.pm-lset{background:#fafbfc;border:1px solid #eef1f7;border-top:0;padding:10px}
.pm-shopflex{display:flex;gap:22px;align-items:flex-start}
.pm-shopphone{flex:0 0 375px;padding:12px;overflow:visible;height:720px}
.pm-shopphone iframe{width:100%;height:100%;border:0}
.pm-shopinfo{flex:1;min-width:0}
.pm-modal-flex{display:flex;gap:20px}
.pm-modal-l{flex:0 0 210px}
.pm-modal-poster .pm-poster{position:relative;width:100%;aspect-ratio:640/1136;background-size:cover;background-position:center;overflow:hidden;border-radius:8px}
.pm-modal-poster .pm-sys-tag{position:absolute;top:6%;left:0;right:0;text-align:center;font-size:11px;letter-spacing:2px}
.pm-modal-poster .pm-sys-title{position:absolute;top:13%;left:0;right:0;text-align:center;font-size:22px;font-weight:800}
.pm-modal-poster .pm-sys-deco{position:absolute;top:36%;left:0;right:0;text-align:center;font-size:56px}
.pm-modal-poster .pm-sys-foot{position:absolute;left:7%;right:7%;bottom:5%;display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;line-height:1.7}
.pm-modal-poster .pm-layer{position:absolute}
.pm-modal-poster .pm-qr{width:52px;height:52px;background:#fff}
.pm-modal-poster .pm-layer .pm-qr{width:100%;height:auto;aspect-ratio:1}
.pm-modal-poster .pm-ava{width:100%;aspect-ratio:1;border-radius:50%;background:#dbe7f5;display:flex;align-items:center;justify-content:center;font-size:18px;overflow:hidden}
.pm-modal-poster .pm-txt{white-space:pre-wrap;word-break:break-all}
.pm-modal-r{flex:1;min-width:0;padding-top:6px}
.pm-vipprev{padding:14px;background:#f5f6f8;min-height:420px}
.pm-vipcard{background:linear-gradient(135deg,#2b3245,#4a3f22);color:#f5d98b;border-radius:12px;padding:18px;text-align:center}
.pm-vipt{font-size:19px;font-weight:800}
.pm-vips{font-size:12px;opacity:.85;margin:8px 0 12px}
.pm-vipp{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-bottom:14px}
.vp-page{background:#fff;min-height:380px}
.vp-block{border:2px solid transparent;cursor:pointer;position:relative}
.vp-block.sel{border-color:#2456d6}
.vp-block img{width:100%;display:block}
.vp-bannerph{height:180px;background:#b9cfe8;display:flex;align-items:center;justify-content:center;font-size:44px;color:#fff}
.vp-count-t{text-align:center;color:#e54545;font-weight:800;font-size:16px;padding:10px 0 6px}
.vp-digits{display:flex;gap:3px;justify-content:center;padding:0 8px 12px}
.vp-digit{background:#22252b;color:#f5a623;font-weight:800;font-size:17px;border-radius:4px;padding:3px 4px;min-width:19px;text-align:center}
.vp-content{padding:10px;font-size:12px}
.vp-content img{max-width:100%}
.vp-contentph{padding:26px 0;text-align:center;color:#9aa7ba;font-size:12px;line-height:2}
.vp-card{text-align:center;padding:16px 12px 0}
.vp-ava{width:52px;height:52px;border-radius:50%;background:#dbe7f5;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:24px}
.vp-nick{color:#999;font-size:11px;margin:5px 0 10px}
.vp-title{color:#2456d6;font-weight:700;font-size:14px}
.vp-sub{color:#999;font-size:11px;margin:6px 0 12px}
.vp-btn{background:#2456d6;color:#fff;border:0;border-radius:6px;padding:8px 34px;font-size:13px}
.vp-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef1f7;margin-top:14px;padding:8px 2px;text-align:left}
.vp-bar-p{font-size:12px;font-weight:700}
.vp-bar-p em{font-style:normal;color:#2456d6;font-weight:400;font-size:11px}
.vp-bar-t{font-size:11px;color:#2456d6}
.vp-tools{position:absolute;right:-34px;top:120px;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e5e9f2;border-radius:6px;padding:5px}
.vp-tools span{cursor:pointer;font-size:13px}
.vp-panel{max-width:560px}
.vp-tb{display:flex;gap:4px;margin:8px 0}
.vp-ed{border:1px solid #dfe5ef;border-radius:6px;min-height:150px;padding:10px;font-size:13px;background:#fff}
.vp-ed img{max-width:100%}
.pm-shrow{display:flex;gap:10px;align-items:center;margin-bottom:16px}
.pm-shl{flex:0 0 52px;text-align:right;color:#555;font-size:13px}
.pm-shqr{width:120px;height:120px;border:1px solid #eef1f7}
.mp-tip{background:#eef4ff;border:1px solid #cfe0ff;color:#33507e;border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:12px}
.mp-homecard{display:flex;align-items:center;gap:12px;background:#f7f9fc;border-radius:8px;padding:12px 14px;margin-bottom:14px}
.mp-homeic{width:38px;height:38px;border-radius:50%;background:#dbe7f5;display:flex;align-items:center;justify-content:center;font-size:19px}
.mp-homeinfo{flex:1;min-width:0}
.mp-homeact{white-space:nowrap}
.mp-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.mp-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mp-filters select,.mp-filters input{padding:6px 8px;border:1px solid #dfe5ef;border-radius:6px}
.mp-audit{font-size:12px;color:#666;line-height:1.6;white-space:nowrap}
.mp-more{position:fixed;z-index:90;background:#fff;border:1px solid #e5e9f2;border-radius:8px;box-shadow:0 10px 30px rgba(20,30,60,.16);padding:6px 0;min-width:110px}
.mp-more a{display:block;padding:7px 14px;font-size:13px;color:#333;text-decoration:none}
.mp-more a:hover{background:#f5f8ff}
.mp-more a.danger{color:#d43a31}
.tpl-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tpl-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.tpl-card{border:1px solid #e5e9f2;border-radius:10px;padding:8px;background:#fff}
.tpl-mini{height:190px;overflow:hidden;border-radius:6px;background:#f5f7fb;position:relative}
.tpl-mini img{width:100%;display:block}
.tpl-dots{display:flex;gap:8px;padding:8px 10px}
.tpl-dots i{width:22px;height:22px;border-radius:50%;background:#dbe7f5}
.tpl-bars{padding:2px 10px;display:flex;flex-direction:column;gap:7px}
.tpl-bars i{display:block;height:9px;border-radius:4px;background:#dfe6f2}
.tpl-blankph{height:110px;background:#b9cfe8;display:flex;align-items:center;justify-content:center;font-size:34px}
.tpl-name{font-size:13px;margin:8px 0}
.tpl-acts{display:flex;justify-content:space-between;align-items:center}
.tpl-phone{max-height:584px;overflow:visible}.tpl-phone>*{max-height:560px;overflow-y:auto}
.tpl-fb{background:#2456d6;color:#fff;text-align:center;padding:9px;font-size:13px;margin-top:8px}
.pv-block{position:relative}
.pv-stamp{position:absolute;top:6px;right:6px;z-index:5;width:40px;height:40px;border:2px solid #f5722c;border-radius:50%;color:#f5722c;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;transform:rotate(14deg);background:rgba(255,255,255,.75);pointer-events:none;letter-spacing:1px}
.pv-mlabel{position:absolute;left:0;top:0;z-index:5;writing-mode:vertical-rl;font-size:11px;color:#5b6b84;letter-spacing:2px;pointer-events:none;max-height:120px;overflow:hidden;background:rgba(255,255,255,.88);padding:5px 1px;border-radius:0 0 6px 0;box-shadow:0 1px 3px rgba(20,30,60,.12)}
.bd-audit{font-size:12px;color:#2456d6;margin-right:6px}
.bd-auditnote{font-size:12px;color:#d43a31;margin-right:8px}
.th-layout{display:flex;gap:28px;align-items:flex-start}
.th-left{flex:0 0 300px}
.th-sec{margin-bottom:22px}
.th-sws{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.th-sw{width:34px;height:34px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:15px;border:2px solid transparent}
.th-sw.on{border-color:#2456d6;box-shadow:0 0 0 2px #bcd0f7}
.th-prev{flex:1;min-width:0}
.th-phones{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap}
.th-phone{width:170px;border:1px solid #e5e9f2;border-radius:10px;overflow:hidden;background:#fff;font-size:11px}
.th-phone img{width:100%;display:block}
.th-pt{text-align:center;font-weight:600;padding:5px;border-bottom:1px solid #f0f2f6}
.th-prow{display:flex;justify-content:space-around;padding:7px 4px}
.th-prow i{width:22px;height:22px;border-radius:50%;background:#e8edf5;display:block}
.th-pcard{padding:7px 8px}
.th-price{font-weight:700}
.th-ptab{display:flex;justify-content:space-around;border-top:1px solid #f0f2f6;padding:6px 2px;color:#999}
.th-puser{display:flex;gap:8px;align-items:center;padding:9px 8px}
.th-ava{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:17px}
.th-pstats{display:flex;justify-content:space-around;padding:5px;border-top:1px solid #f5f6f8;border-bottom:1px solid #f5f6f8;color:#666}
.th-pbuy{display:flex;justify-content:space-between;align-items:center;padding:7px 8px;border-top:1px solid #f0f2f6}
.th-pbuy button{border:0;color:#fff;border-radius:14px;padding:4px 12px;font-size:11px}
.gd-row{display:flex;gap:10px;margin:14px 0;align-items:flex-start}
.gd-row>label:first-child{width:86px;flex:none;text-align:right;color:#333;padding-top:2px}
.gd-h{border-left:3px solid #2456d6;padding-left:8px;margin:22px 0 6px;font-size:15px}
.gd-sw{position:relative;display:inline-block;width:40px;height:22px;flex:none}
.gd-sw input{opacity:0;width:0;height:0}
.gd-sw span{position:absolute;inset:0;background:#c8cedb;border-radius:999px;cursor:pointer;transition:.2s}
.gd-sw span:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s}
.gd-sw input:checked+span{background:#2456d6}
.gd-sw input:checked+span:before{left:20px}
.gd-ph{width:230px;border:1px solid #e5e9f2;border-radius:14px;padding:10px;background:#fafbfc;font-size:12px}
.gd-ph-t{text-align:center;font-weight:600;margin-bottom:8px}
.gd-ok{color:#1a9e4b;font-weight:700;text-align:center;margin:8px 0}
.gd-sheet{background:#fff;border:1px solid #eef1f6;border-radius:10px;padding:8px;margin-top:10px}
.gd-opt{padding:6px 4px;border-bottom:1px solid #f5f6f8}
.gd-opt:last-child{border-bottom:0}
.gd-vid{background:#333;color:#fff;border-radius:8px;padding:26px 0;text-align:center}
.gd-entry{background:#fff7ec;border:1px solid #ffd9a8;border-radius:8px;padding:7px 9px;margin-top:9px;color:#8a5a12}
.gd-tipbox{background:#fff7ec;border:1px solid #ffd9a8;border-radius:8px;padding:8px;font-size:11px;color:#7a5410;line-height:1.7}
.gd-qrbox{text-align:center;font-size:34px;padding:10px 0}
.gd-nopic{width:120px;height:120px;background:#dcebfb;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7d93b2;font-size:12px;text-align:center}
.ms-tabs{display:flex;gap:2px;border-bottom:2px solid #2456d6;margin-bottom:12px}
.ms-tabs button{background:none;color:#333;border:0;border-radius:6px 6px 0 0;padding:7px 14px}
.ms-tabs button.on{background:#2456d6;color:#fff}
.topbar{position:sticky;top:0;z-index:30;background:#141927;color:#dfe5f2;display:flex;align-items:center;gap:20px;padding:0 16px;height:50px}
.topbar .brand{display:flex;align-items:center;gap:8px}
#secnav{display:flex;gap:2px;flex:1;overflow-x:auto}
.sec-it{padding:7px 15px;border-radius:6px;cursor:pointer;color:#aeb8cc;font-size:14px;white-space:nowrap}
.sec-it:hover{color:#fff}
.sec-it.on{background:#2456d6;color:#fff}
.tb-right{color:#7d879c;font-size:12px;white-space:nowrap}
.sidebar{top:50px !important;height:calc(100vh - 50px) !important}
.header{top:50px !important}
.grp-arrow{cursor:pointer;color:#2456d6;display:inline-block;width:16px}
.grp-arrow.ph{color:#d4d9e2;cursor:default}
.grp-img{width:64px;height:42px;object-fit:cover;border-radius:4px}
.grp-cimg{width:44px;height:30px;object-fit:cover;border-radius:4px;vertical-align:middle;margin-right:6px}
.grp-st{border:1px solid #e3e7ef;border-radius:6px;padding:3px 6px;background:#fff}
.grp-ic{cursor:pointer;color:#8a93a8;margin-left:4px}
.grp-ic:hover{color:#2456d6}
.grp-pop{position:fixed;z-index:300;background:#fff;border:1px solid #e3e7ef;border-radius:10px;box-shadow:0 10px 30px rgba(20,30,60,.18);padding:12px 14px}
.grp-sharepop{width:210px}
.grp-upbox{display:inline-flex;width:150px;height:100px;background:#dcecfb;border-radius:6px;align-items:center;justify-content:center;font-size:30px;vertical-align:middle}
.gc-wrap{display:flex;gap:36px;align-items:flex-start}
.gc-left{width:230px;flex:none}
.gc-right{flex:1;max-width:760px}
.gc-right .frow{margin-bottom:16px}
.gc-phone{border:1px solid #e3e7ef;border-radius:12px;overflow:hidden;background:#fff}
.gc-ph-t{font-size:10px;color:#999;text-align:center;padding:3px}
.gc-ph-h{text-align:center;font-weight:600;border-bottom:1px solid #f0f2f7;padding:6px;font-size:13px}
.gc-ph-b{display:flex;min-height:230px}
.gc-rail{width:64px;background:#f6f8fb;display:flex;flex-direction:column;gap:2px;padding:6px 0}
.gc-rail span{font-size:10px;padding:4px 6px;color:#666}
.gc-rail span.on{color:#2456d6;background:#fff;font-weight:600}
.gc-tiles{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;align-content:start}
.gc-tile{height:44px;border-radius:6px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.gc-savebar{position:sticky;bottom:0;background:#fff;border-top:1px solid #eef1f6;padding:12px;text-align:center;margin-top:18px}
.gc-tchk{display:inline-block;width:150px;margin:4px 0;font-size:13px}
.gc-ex{font-size:12px;margin-left:8px}
.gs-cards{display:flex;gap:14px;overflow-x:auto;padding:6px 2px}
.gs-card{flex:0 0 230px;border:2px solid #e3e7ef;border-radius:10px;padding:10px;cursor:pointer;background:#fff}
.gs-card.on{border-color:#2456d6}
.gs-cap{font-size:12px;color:#666;min-height:32px}
.gs-mock{border:1px solid #eef1f6;border-radius:6px;padding:6px;background:#fbfcfe}
.gs-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.gs-wall i{font-style:normal;height:26px;border-radius:4px;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}
.gs-rw{display:flex;gap:6px}
.gs-rail{display:flex;flex-direction:column;gap:3px;width:52px}
.gs-rail u{text-decoration:none;font-size:9px;color:#888;background:#f0f3f8;border-radius:3px;padding:2px 3px}
.gs-rows{flex:1;display:flex;flex-direction:column;gap:5px}
.gs-rows em{height:22px;background:#e8eefc;border-radius:4px}
.gs-sec{flex:1}
.gs-sec b{font-size:10px;color:#555}
.gc-exphone{width:190px;border:1px solid #e3e7ef;border-radius:10px;padding:8px;background:#fff}
.gc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.gc-card{height:64px;background:#e8eefc;border-radius:6px}
.gc-rows{display:flex;flex-direction:column;gap:6px}
.gc-row{height:44px;background:#e8eefc;border-radius:6px}
.mt-wrap{display:flex;gap:16px;align-items:flex-start}
.mt-left{width:190px;flex:none;border:1px solid #eef1f6;border-radius:8px;padding:10px}
.mt-right{flex:1;min-width:0}
.mt-ghead{display:flex;justify-content:space-between;align-items:center;margin:10px 0 6px}
.mt-gitem{display:block;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:#444}
.mt-gitem.on{background:#eef4ff;color:#2456d6;font-weight:600}
.mt-gdel{float:right;color:#c0c6d4}
.mt-thumb{width:64px;height:44px;object-fit:cover;border-radius:4px}
.mt-vthumb{position:relative;display:inline-block;width:76px;height:48px;background:#111;border-radius:4px;overflow:hidden}
.mt-vthumb video{width:100%;height:100%;object-fit:cover;opacity:.75}
.mt-vthumb i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:16px}
.mt-athumb{display:inline-flex;width:76px;height:48px;border-radius:4px;background:linear-gradient(135deg,#3d7eff,#6aa5ff);color:#fff;align-items:center;justify-content:center;font-size:18px;cursor:pointer}
.mt-dthumb{display:inline-flex;width:64px;height:44px;background:#f0f3f8;border-radius:4px;align-items:center;justify-content:center;font-size:20px}
.mt-bar{display:inline-block;width:110px;height:6px;background:#eef1f6;border-radius:3px;vertical-align:middle}
.mt-bar i{display:block;height:100%;background:#2456d6;border-radius:3px}
.mt-detail{display:flex;gap:26px;background:#fbfcfe;border:1px solid #eef1f6;border-radius:8px;padding:10px 14px;margin-top:10px;flex-wrap:wrap}
.mt-detail b{float:right;margin-left:18px}
.mt-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}
.mt-batch{border-top:1px solid #eef1f6;margin-top:12px;padding-top:10px;font-size:13px}
.mt-steps{display:flex;gap:0;margin:10px 0}
.mt-steps span{flex:1;background:#f6f8fb;border:1px solid #eef1f6;text-align:center;padding:8px;font-size:13px;color:#555}
.pt-cards{display:flex;gap:16px;flex-wrap:wrap}
.pt-card{position:relative;width:270px;border:1px solid #e3e7ef;border-radius:10px;padding:14px;cursor:pointer;background:#fff;font-size:13px}
.pt-card.on{border-color:#2456d6;box-shadow:0 0 0 1px #2456d6}
.pt-card h4{margin:0 0 6px}
.pt-check{position:absolute;right:0;bottom:0;background:#2456d6;color:#fff;border-radius:8px 0 9px 0;width:22px;height:22px;display:flex;align-items:center;justify-content:center}

/* 资源中心新增：图片设计 / 内容创作 / 流量中心 */
.pd-wrap{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.pd-stage{flex:1;min-width:320px;background:#f7f9fc;border:1px solid #edf0f5;border-radius:10px;padding:14px;text-align:center}
.pd-stage canvas{max-width:100%;height:auto;border:1px solid #e3e8f2;background:#fff}
.pd-side{width:380px;max-width:100%}
.pd-side .bd-sec{margin:16px 0 8px}
.pd-side input[type=range]{width:150px;vertical-align:middle}
.ar-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ar-filters input,.ar-filters select{height:30px}
.ae-tools{display:flex;gap:4px;flex-wrap:wrap;align-items:center;background:#f7f9fc;border:1px solid #e3e8f2;border-bottom:none;padding:6px;border-radius:8px 8px 0 0}
.ae-tools button{background:#fff;border:1px solid #dfe5ee;border-radius:5px;padding:3px 8px;cursor:pointer}
.ae-tools select,.ae-tools input[type=color]{height:26px}
.ae-ed{min-height:280px;border:1px solid #e3e8f2;border-radius:0 0 8px 8px;padding:12px;background:#fff;outline:none;line-height:1.8}
.ae-ed img{max-width:100%}
.tf-pers{display:flex;gap:0;flex-wrap:wrap}
.tf-per{flex:1;min-width:220px;padding:6px 18px;border-right:1px solid #eef1f6}
.tf-per:last-child{border-right:none}
.tf-bignum{font-size:30px;font-weight:700;color:#1d2739}
.tf-sub{display:flex;gap:14px;flex-wrap:wrap;color:#6b768c;font-size:12px;margin-top:6px}
.tf-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 10px}
.tf-packs{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 18px}
.tf-pack{position:relative;width:170px;border:2px solid #e3e8f2;border-radius:10px;padding:16px 14px;cursor:pointer;background:#fff}
.tf-pack.on{border-color:#2456d6;background:#f4f8ff}
.tf-disc{position:absolute;top:0;right:0;background:#e63d3d;color:#fff;font-size:11px;padding:2px 8px;border-radius:0 8px 0 8px}
.tf-pgb{font-size:26px;font-weight:700}
.tf-pgb small{font-size:13px;color:#6b768c}
.tf-pprice{font-size:18px;color:#e63d3d;font-weight:700}

/* 店铺信息/店铺评分（021） */
.pf-note{background:#fffbe6;border:1px solid #ffe58f;color:#7a5b00;padding:10px 14px;border-radius:6px;margin-bottom:12px;line-height:1.9}
.pf-note a{color:#2456d6}
.pf-h{border-left:3px solid #2456d6;padding-left:8px;margin:18px 0 12px;font-size:15px}
.pf-logo{width:90px;height:90px;object-fit:cover;border-radius:6px;vertical-align:middle}
.pf-logo.ph{display:inline-flex;align-items:center;justify-content:center;background:#dbe9f7;font-size:28px}
.pf-tips{background:#fafafa;border:1px solid #eee;color:#888;padding:8px 12px;font-size:12px;line-height:1.8;margin:6px 0;max-width:760px}
.pf-ed{min-height:180px;max-width:760px}
.pf-tplprev{max-height:300px;overflow:auto;background:#fafafa;border:1px solid #eee;padding:10px;font-size:13px;line-height:1.8}
.pf-sharecard{display:flex;gap:12px;border:1px solid #eee;border-radius:8px;padding:14px;max-width:420px;align-items:center}
.pf-sharecard img{width:64px;height:64px;object-fit:cover;border-radius:6px}
.pf-sharelogo{width:64px;height:64px;border-radius:6px;background:#2456d6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.pf-sharemain{flex:1}
.pf-sharemain p{color:#888;font-size:12px;line-height:1.7;margin-top:4px}
.sc-cards{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}
.sc-card{flex:1;min-width:170px;border:1px solid #eee;border-radius:8px;padding:12px 14px;background:#fbfcfe}
.sc-t{color:#555;font-size:13px}
.sc-v{font-size:22px;font-weight:700;margin-top:10px}
.sc-op{align-self:center;font-size:18px;color:#999}
.sc-empty{text-align:center;color:#bbb;padding:36px 0;line-height:2}

/* 全局设置示例图手机样机 */
.gs-ph{width:270px;margin:6px auto;background:#fff;border:1px solid #e3e7ee;border-radius:18px;padding:16px 14px;text-align:center;box-shadow:0 4px 18px rgba(20,30,60,.08)}
.gs-ph-t{font-weight:700;font-size:15px;margin-bottom:10px}
.gs-ph-cover{background:linear-gradient(135deg,#ff9a56,#e63d3d);color:#fff;border-radius:10px;padding:26px 8px;margin-bottom:10px}
.gs-ph-qr{width:92px;height:92px;margin:6px auto;border:2px dashed #c6cdd8;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#8a94a6;font-size:12px}
.gs-ph-btns{display:flex;gap:8px;justify-content:center;margin-top:8px}
.gs-ph-btns span{background:#f2f5fa;border-radius:14px;padding:4px 12px;font-size:12px}
.gs-ph-btn{background:#e63d3d;color:#fff;border-radius:18px;padding:8px;margin-top:10px}
.gs-ph-earn{background:#fff4e5;color:#e06e4c;border-radius:8px;padding:8px;font-size:13px;margin:8px 0}
.gs-ph-cmt{text-align:left;background:#f8f9fb;border-radius:10px;padding:10px;font-size:13px}
.gs-ph-tabs{display:flex;gap:12px;justify-content:center;margin-bottom:10px;font-size:13px;color:#8a94a6}
.gs-ph-tabs .on{color:#2456d6;font-weight:700;border-bottom:2px solid #2456d6}
.gs-ph-pill{display:inline-block;background:rgba(20,20,20,.78);color:#fff;border-radius:14px;padding:5px 12px;font-size:12px;margin:6px 0}

/* 版权保护 023 */
.pt-cols{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.pt-sw{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid #c9d2e0;cursor:pointer;vertical-align:middle;color:#fff;font-size:13px}
.pt-sw.on{outline:2px solid #2456d6;outline-offset:2px;color:#7db4f0}
.pt-demo{width:250px;background:#f5f7fa;border-radius:8px;padding:14px;text-align:center}
.pt-demo-t{color:#8a94a6;font-size:13px;margin-bottom:10px}
.pt-demo-v{position:relative;background:#20242e;border-radius:6px;height:150px;overflow:hidden}
.pt-demo-mq{position:absolute;top:44%;left:0;white-space:nowrap;animation:ptmqmove 9s linear infinite}
@keyframes ptmqmove{from{transform:translateX(105%)}to{transform:translateX(-105%)}}
.pt-demo-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.75);font-size:30px}
.pt-wmprev{position:relative;background:#eef3f8;border-radius:8px;min-height:280px;overflow:hidden;margin-top:10px}
.pt-wmtiles{position:absolute;inset:-40px;display:flex;flex-wrap:wrap;gap:34px 26px;transform:rotate(-24deg);color:#5b7ba6;font-size:13px;pointer-events:none}
.pt-wmprev-t{position:absolute;left:10px;bottom:8px;color:#8a94a6;font-size:12px}
.pt-vwrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px}
.pt-vwt td{vertical-align:top}

/* 员工组织 023 */
.st-wrap{display:flex;gap:16px;align-items:flex-start}
.st-org{width:250px;flex-shrink:0}
.st-tree{margin-top:6px}
.st-node{padding:7px 10px;border-radius:6px;cursor:pointer;margin-bottom:2px}
.st-node:hover{background:#eef3fb}
.st-node.on{background:#e3ecfd;color:#2456d6;font-weight:600}
.st-ava{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#dbe7fd;color:#2456d6;font-weight:700;vertical-align:middle;overflow:hidden}
.st-ava img{width:100%;height:100%;object-fit:cover}
.st-ava.big{width:44px;height:44px;font-size:20px}
.role-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.role-card{display:flex;gap:10px;align-items:flex-start;border:1px solid #dfe5ef;border-radius:8px;padding:12px;cursor:pointer;position:relative}
.role-card.on{border-color:#2456d6;background:#f4f8ff}
.role-card input{position:absolute;top:10px;right:10px}
.role-card .rc-ic{font-size:20px}
.role-card .rc-main{display:flex;flex-direction:column;gap:4px;padding-right:22px}
.rl-grp{font-weight:700;padding:6px 4px;color:#4a5568}
.rl-perms{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 26px;max-width:760px}
.rl-perm{display:block;padding:5px 0}
.rl-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:94vw;background:#fff;box-shadow:-6px 0 24px rgba(0,0,0,.18);z-index:60;overflow:auto;padding:20px}

/* ================= 024：课程列表/详情/服务订购 ================= */
.cf-notice{background:#fdeef3;border:1px solid #f6c9d8;color:#8a4356;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.7;margin-bottom:12px}
.cf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 18px;align-items:center}
.cf-grid label{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.cf-grid input,.cf-grid select{flex:1;min-width:0}
.cf-grid .cf-btns{display:flex;gap:8px;align-items:center}
.cf-actions{display:flex;gap:8px;align-items:center;margin:14px 0 10px}
.cf-batch{display:flex;gap:10px;align-items:center;border-top:1px solid #eef1f7;padding:10px 2px 2px;font-size:13px;flex-wrap:wrap}
.cf-tbl td{vertical-align:middle}
.cf-name{display:flex;gap:10px;align-items:center}
.cv-thumb{position:relative;display:inline-block;width:78px;height:52px;border-radius:6px;overflow:hidden;background:#eef1f7;cursor:pointer;flex:none}
.cv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cv-thumb.lg{width:120px;height:80px;cursor:default}
.cv-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#8a94a6;font-size:13px}
.cv-mod{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:11px;text-align:center;padding:2px 0;opacity:0;transition:.15s}
.cv-thumb:hover .cv-mod{opacity:1}
.cf-ninfo{min-width:0}
.cf-title{font-weight:600}
.cf-ed{color:#8a94a6;text-decoration:none}
.cf-ed:hover{color:#2456d6}
.cf-sort{width:64px}
.cf-ops{white-space:nowrap}
.cf-ops a,.cd-lops a{color:#2456d6;text-decoration:none}
.cf-titleedit input{width:200px}
.cf-priceedit input{padding:3px 6px}
.popmenu{position:fixed;z-index:300;background:#fff;border:1px solid #e3e7ee;border-radius:8px;box-shadow:0 10px 30px rgba(20,30,60,.16);padding:5px;min-width:130px}
.popmenu-it{padding:7px 12px;font-size:13px;border-radius:5px;cursor:pointer;white-space:nowrap}
.popmenu-it:hover{background:#f2f5fb;color:#2456d6}
.cd-headrow{display:flex;gap:14px;align-items:flex-start;margin-top:10px}
.cd-hinfo{flex:1;min-width:0}
.cd-hinfo h3{margin:0 0 6px}
.cd-price{font-size:17px;margin-bottom:6px}
.cd-hactions{display:flex;gap:6px;flex:none}
.cd-tabs{display:flex;gap:4px;border-bottom:1px solid #eef1f7;margin-bottom:14px;flex-wrap:wrap}
.cd-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:#3c4658;padding:8px 14px;cursor:pointer;font-size:14px}
.cd-tabs button.on{color:#2456d6;border-bottom-color:#2456d6;font-weight:600}
.cd-tabs a{align-self:center}
.cd-subtabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.cd-subtabs button{background:#f2f5fb;border:1px solid #e3e7ee;color:#3c4658;padding:5px 14px;border-radius:16px;cursor:pointer;font-size:13px}
.cd-subtabs button.on{background:#2456d6;border-color:#2456d6;color:#fff}
.cd-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.cd-frow{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.cd-frow label{display:flex;gap:6px;align-items:center;font-size:13px}
.cd-chrow td{background:#f7f9fd}
.cd-chops{margin-left:10px;font-weight:400}
.cd-chops a{color:#2456d6;text-decoration:none}
.cd-ledit{background:#fbfcfe;border:1px solid #eef1f7;border-radius:8px;padding:12px}
.rte-bar{display:flex;gap:4px;margin-bottom:6px}
.rte-bar button{background:#fff;border:1px solid #dfe4ee;border-radius:5px;padding:3px 10px;cursor:pointer;font-size:13px}
.rte-box{border:1px solid #dfe4ee;border-radius:6px;min-height:110px;padding:10px;background:#fff;line-height:1.7}
.rte-box:focus{outline:2px solid #bcd0ff}
.cd-prog{display:inline-block;width:90px;height:7px;background:#edf0f4;border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:6px}
.cd-prog span{display:block;height:100%;background:#2456d6}
.cd-ava{width:26px;height:26px;border-radius:50%;object-fit:cover;vertical-align:middle}
.cd-ava.ph{display:inline-flex;align-items:center;justify-content:center;background:#eef1f7}
.au-note{background:#eef4ff;border:1px solid #c9dbff;color:#2c4a8a;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.8;margin-bottom:12px}
.au-tags{display:flex;gap:6px;flex-wrap:wrap}
.mp-box{width:980px;max-width:96vw}
.mp-tools{display:flex;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid #eef1f7;flex-wrap:wrap}
.mp-body{display:flex;gap:0;min-height:380px;max-height:56vh}
.mp-tree{width:210px;flex:none;border-right:1px solid #eef1f7;padding:10px;overflow:auto}
.mp-tn{padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}
.mp-tn:hover{background:#f2f5fb}
.mp-tn.on{background:#e8effe;color:#2456d6;font-weight:600}
.mp-list{flex:1;overflow:auto;padding:6px 10px}
.mp-auph{display:inline-flex;width:84px;height:52px;align-items:center;justify-content:center;background:#eef1f7;border-radius:4px;vertical-align:middle;font-size:20px}
.ops-sec{border-bottom:1px solid #f0f2f7;padding:12px 0}
.ops-sec h4{margin:0 0 10px;font-size:14px}
.ops-gray{background:#f6f7fa;border-radius:6px;padding:8px 12px;font-size:13px;color:#5a6678;margin:8px 0}
.cd-pick{display:inline-flex;gap:8px;align-items:center;border:1px solid #e3e7ee;border-radius:8px;padding:5px 10px 5px 5px;background:#fff}
.cd-pick img{width:52px;height:36px;object-fit:cover;border-radius:5px}
.cd-pick-ph{display:inline-flex;width:52px;height:36px;align-items:center;justify-content:center;background:#eef1f7;border-radius:5px}
.cd-pick a{color:#b6bfcc;text-decoration:none}
.cd-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.cd-card{border:1px solid #eef1f7;border-radius:8px;padding:12px;background:#fbfcfe}
.cd-card b{font-size:20px;display:block;margin-top:4px}
.cd-legend{display:flex;gap:16px;font-size:12px;color:#5a6678;margin:4px 0 10px}
.cd-legend i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:5px;vertical-align:middle}
.cd-h4{margin:16px 0 10px;font-size:14px}
.cd-phone{width:250px;margin:0 auto;border:1px solid #e3e7ee;border-radius:14px;padding:14px;background:#fbfcfe}
.cd-phone-head{font-weight:600;border-bottom:1px solid #eef1f7;padding-bottom:8px;margin-bottom:10px}
.cd-phone-line{padding:8px 0}
.cd-like-pill{background:#fff0f0;color:#e5453c;border-radius:12px;padding:3px 12px}
.sh-tabs{display:flex;gap:4px;margin-bottom:12px}
.sh-tabs button{background:#f2f5fb;border:1px solid #e3e7ee;padding:6px 18px;border-radius:6px;cursor:pointer}
.sh-tabs button.on{background:#2456d6;color:#fff;border-color:#2456d6}
.sh-lnk{color:#5a6678;text-decoration:none}
.sh-lnk.on{color:#2456d6;font-weight:600}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.svc-card{position:relative;border:1px solid #e7ebf2;border-radius:12px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:8px}
.svc-card.owned{background:#fbfcfe}
.svc-ic{font-size:30px}
.svc-nm{font-size:16px;font-weight:700}
.svc-desc{font-size:13px;color:#5a6678;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.svc-price{color:#e5453c;font-weight:700}
.svc-price.big{font-size:19px}
.svc-btns{display:flex;gap:8px;margin-top:auto}
.svc-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f2f7;padding-top:10px;margin-top:auto}
.svc-tag{position:absolute;top:10px;right:10px;background:#e5453c;color:#fff;font-size:11px;padding:2px 8px;border-radius:9px}
.svc-on{position:absolute;top:10px;right:10px;background:#e8f7ee;color:#189a4c;font-size:11px;padding:2px 8px;border-radius:9px}
@media (max-width:1200px){.cf-grid{grid-template-columns:repeat(2,1fr)}.cd-cards{grid-template-columns:repeat(3,1fr)}.svc-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== 025：课程全页表单 / 详情块编辑器 / 套餐 / 训练营介绍 ===== */
.ca-steps{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5e9f2;border-radius:10px;padding:12px 16px;margin-bottom:12px}
.ca-step{color:#8a93a6;font-size:14px}
.ca-step b{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#eef1f7;color:#8a93a6;align-items:center;justify-content:center;margin-right:6px;font-size:12px}
.ca-step.on{color:#2456d6;font-weight:600}
.ca-step.on b{background:#2456d6;color:#fff}
.ca-arrow{color:#c3cad6}
.ca-r{display:inline-flex;align-items:center;gap:4px;margin-right:14px;cursor:pointer}
.ca-pickbox{border:1px solid #e5e9f2;border-radius:8px;padding:8px 10px;background:#fbfcfe;max-width:640px}
.ca-chk{display:inline-flex;align-items:center;gap:5px;margin:3px 12px 3px 0;cursor:pointer}
.ca-chk img{width:22px;height:22px;border-radius:50%;object-fit:cover}
.ca-chip{display:inline-block;background:#eef3ff;color:#2456d6;border-radius:20px;padding:2px 10px;margin:2px 4px 2px 0;font-size:12px}
.ca-chip a{color:#2456d6;text-decoration:none}
.ca-modes{display:flex;gap:10px;flex-wrap:wrap}
.ca-mode{border:1.5px solid #e5e9f2;border-radius:10px;padding:10px 14px;cursor:pointer;max-width:230px;background:#fff}
.ca-mode b{display:block;margin-bottom:4px}
.ca-mode.on{border-color:#2456d6;background:#f4f8ff}
.ca-foot{margin-top:18px;padding-top:14px;border-top:1px solid #eef1f6;display:flex;gap:10px;align-items:center}
.ca-done{text-align:center;padding:44px 20px}
.ca-done-ico{width:64px;height:64px;border-radius:50%;background:#35b558;color:#fff;font-size:34px;line-height:64px;margin:0 auto 14px}
.ca-phones{display:flex;gap:16px;justify-content:center}
.ca-phone{width:190px;border:1.5px solid #dfe4ee;border-radius:16px;padding:12px;text-align:left}
.ca-phead{font-weight:600;border-bottom:1px solid #eef1f6;padding-bottom:6px;margin-bottom:8px}
.ca-pinst{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.ca-pava{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#7aa5ff,#2456d6);display:inline-block}
.dbx-pal{display:flex;gap:8px;flex-wrap:wrap}
.dbx-tile{width:86px;height:64px;border:1.5px dashed #c9d3e4;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;background:#fbfcfe;font-size:13px}
.dbx-tile span{font-size:20px}
.dbx-tile:hover{border-color:#2456d6;color:#2456d6}
.dbx-canvas{margin-top:10px;border:1px solid #eef1f6;border-radius:10px;padding:10px;background:#fcfdfe}
.dbx-block{border:1px solid #e5e9f2;border-radius:8px;padding:10px;margin-bottom:10px;background:#fff}
.dbx-bhead{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.dbx-ta{width:100%;min-height:64px}
.dbx-tpls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.dbx-tpl{border:1.5px solid #e5e9f2;border-radius:10px;padding:10px 14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;background:#fff}
.dbx-tpl:hover{border-color:#2456d6}
.camp-hero{background:linear-gradient(120deg,#2456d6,#5b8cff);color:#fff;border-radius:12px;padding:26px;margin-bottom:14px}
.camp-hero h2{margin:0 0 8px;color:#fff}
.camp-hero button{background:#fff;color:#2456d6;border:none;font-weight:600}
.camp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.camp-card{border:1px solid #e5e9f2;border-radius:10px;padding:12px;background:#fbfcfe}
.camp-scenes p{margin:6px 0}

/* ===== v2.5.0-026 互动产品 ===== */
.x26-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.x26-filters input,.x26-filters select{padding:6px 8px;border:1px solid #d5dae3;border-radius:6px}
.x26-spacer{flex:1}
.x26-tabs{display:flex;gap:4px;border-bottom:2px solid #eef1f6;margin-bottom:14px}
.x26-tabs a{padding:8px 16px;color:#555;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px}
.x26-tabs a.on{color:#2456d6;border-color:#2456d6;font-weight:600}
.x26-namecell{display:flex;gap:10px;align-items:center}
.x26-namecell img{width:52px;height:36px;object-fit:cover;border-radius:4px}
.x26-nopic{display:inline-flex;width:52px;height:36px;align-items:center;justify-content:center;background:#f2f4f8;border-radius:4px;font-size:18px}
.x26-sort{width:64px;padding:4px 6px;border:1px solid #d5dae3;border-radius:6px}
.x26-batch{margin-top:12px;padding:10px;background:#f7f9fc;border-radius:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.x26-chip{display:inline-block;background:#eef3ff;color:#2456d6;border-radius:20px;padding:2px 10px;margin:0 4px 4px 0;font-size:12px}
.x26-chip a{color:#2456d6;text-decoration:none}
.x26-groups{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:130px;overflow:auto}
.x26-gchk{display:inline-block;margin:2px 12px 2px 0;white-space:nowrap}
.x26-foot{margin-top:16px;text-align:center}
.x26-foot button{margin:0 6px;padding:8px 26px}
.x26-form .row{margin-bottom:12px}
.x26-form .row>label{display:inline-block;width:110px;vertical-align:top;padding-top:6px}
.x26-form input[type=text],.x26-form input:not([type]),.x26-form textarea,.x26-form select{padding:6px 8px;border:1px solid #d5dae3;border-radius:6px}
.x26-form textarea{width:70%}
.x26-stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.x26-stat{flex:1;min-width:150px;background:#f7f9fc;border-radius:8px;padding:16px;text-align:center}
.x26-stat-v{font-size:26px;font-weight:700}
.x26-tip{font-size:13px;color:#999;cursor:help}
.x26-bar{display:inline-block;height:8px;background:#2456d6;border-radius:4px;vertical-align:middle;min-width:2px}
.x26-cards3{display:flex;gap:14px;margin-bottom:14px}
.x26-mkcard{flex:1;border:1.5px dashed #c3cee6;border-radius:10px;padding:22px;text-align:center;cursor:pointer;background:#fbfcfe}
.x26-mkcard:hover{border-color:#2456d6;background:#f2f6ff}
.x26-mk-ic{font-size:30px;margin-bottom:6px}
.x26-wd{display:inline-block;border:1px solid #d5dae3;border-radius:6px;padding:4px 10px;margin-right:6px;cursor:pointer}
.x26-wd input{display:none}
.x26-wd.on{background:#2456d6;color:#fff;border-color:#2456d6}
.x26-upbtn{display:inline-block;background:#2456d6;color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer}
.x26-steps{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.x26-steps span{padding:6px 14px;background:#f2f4f8;border-radius:20px;color:#666}
.x26-steps span.on{background:#2456d6;color:#fff}
.x26-steps i{color:#bbb;font-style:normal}
.x26-qcard{border:1px solid #e3e8f2;border-radius:8px;padding:12px;margin-bottom:10px;background:#fbfcfe}
.x26-qcard-h{display:flex;justify-content:space-between;margin-bottom:8px}
.x26-optrow{display:flex;gap:6px;align-items:center;margin:4px 0;flex-wrap:wrap}
.x26-optrow input{padding:5px 8px;border:1px solid #d5dae3;border-radius:6px}
.x26-done{text-align:center;padding:40px 0}
.x26-done-ic{width:64px;height:64px;line-height:64px;margin:0 auto 12px;background:#35c759;color:#fff;font-size:32px;border-radius:50%}
.x26-qbwrap{display:flex;gap:16px;align-items:flex-start}
.x26-qbleft{width:230px;flex:none;border:1px solid #e3e8f2;border-radius:8px;padding:12px}
.x26-qbhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.x26-qbhead a{text-decoration:none;font-size:16px}
.x26-qbleft input{width:100%;padding:6px 8px;border:1px solid #d5dae3;border-radius:6px;margin-bottom:8px}
.x26-qbnote{background:#fff7e6;color:#b26a00;font-size:12px;padding:6px 8px;border-radius:6px;margin-bottom:8px}
.x26-cat{padding:6px 8px;border-radius:6px;cursor:pointer}
.x26-cat:hover{background:#f2f6ff}
.x26-cat.on{background:#eef3ff;color:#2456d6;font-weight:600}
.x26-qbright{flex:1;min-width:0}
.x26-quick{display:flex;gap:14px}
.x26-qpanel{flex:1;border:1px solid #e3e8f2;border-radius:8px;padding:12px}
.x26-qphead{display:flex;justify-content:space-between;margin-bottom:8px}
.x26-qpanel textarea{width:100%;border:1px solid #d5dae3;border-radius:6px;padding:8px}
.x26-qresult{max-height:420px;overflow:auto}
.x26-qitem{border-bottom:1px dashed #e3e8f2;padding:8px 0}
.x26-post{border-bottom:1px solid #eef1f6;padding:8px 0}
.x26-userlist{max-height:260px;overflow:auto;margin:10px 0}
.x26-urow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px dashed #eef1f6}
.x26-search{display:flex;gap:8px}
.x26-search input{flex:1;padding:6px 8px;border:1px solid #d5dae3;border-radius:6px}
.x26-selbox{margin-top:8px}
.x26-evhead{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.x26-evhead img{width:88px;height:56px;object-fit:cover;border-radius:6px}
.x26-att{padding:8px 0;border-bottom:1px dashed #eef1f6}
.x26-switch input{width:18px;height:18px;vertical-align:middle}
.x26-dropdown{position:relative}
/* ===== v2.5.0-027 用户板块 ===== */
.x27-rt{display:flex;gap:18px;align-items:flex-start}
.x27-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;min-width:300px;flex:0 0 320px}
.x27-metric{background:#f7f9fd;border-radius:8px;padding:10px 12px}
.x27-metric.hot{background:#eef3ff}
.x27-mlab{color:#667085;font-size:12px}
.x27-mval{font-size:22px;font-weight:700;margin-top:2px}
.x27-chart{flex:1;min-width:0}
.x27-charthead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:8px}
.x27-bhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.x27-boards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.x27-board{border:1px solid #e6eaf2;border-radius:10px;padding:14px 16px;background:#fff}
.x27-b-member{background:linear-gradient(135deg,#fff5f7,#ffeef3)}
.x27-b-wecom{background:linear-gradient(135deg,#f2f7ff,#e8f1ff)}
.x27-b-add{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;cursor:pointer;border-style:dashed;color:#98a2b8}
.x27-addplus{font-size:34px;line-height:1}
.x27-bt{font-weight:700;font-size:15px}
.x27-blab{color:#667085;font-size:12px}
.x27-bbig{font-size:26px;font-weight:700}
.x27-bnum{font-size:17px;font-weight:600}
.x27-bgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.x27-bgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px}
.x27-brow{margin-top:10px}
.x27-bhr{border-top:1px dashed #d8deea;margin:10px 0 2px}
.x27-dragwrap{cursor:move}
.x27-dragwrap .x27-board{height:100%}
.x27-orderbar{position:sticky;bottom:0;background:#fff;border-top:1px solid #e6eaf2;padding:12px;text-align:center;margin-top:14px}
.x27-tabs{border-bottom:1px solid #e6eaf2;margin-bottom:14px}
.x27-tabs a{display:inline-block;padding:8px 14px;color:#344054;border-bottom:2px solid transparent;margin-right:6px}
.x27-tabs a.on{color:#2456d6;border-color:#2456d6;font-weight:600}
.x27-frow{display:flex;align-items:flex-start;margin:12px 0}
.x27-frow label{width:110px;text-align:right;margin-right:10px;padding-top:6px;flex:none}
.x27-frow label i{color:#e63d3d;font-style:normal}
.x27-count{position:relative;flex:1;max-width:640px}
.x27-count input,.x27-count textarea{width:100%}
.x27-count em{position:absolute;right:8px;bottom:6px;font-style:normal;color:#98a2b8;font-size:12px}
.x27-sgwrap{display:flex;gap:16px;align-items:flex-start}
.x27-sgpal{flex:0 0 300px;border:1px solid #e6eaf2;border-radius:8px;padding:12px}
.x27-sgg{font-weight:700;margin:8px 0 6px}
.x27-sgbtns{display:flex;flex-wrap:wrap;gap:6px}
.x27-sgrules{flex:1;border:1px dashed #d8deea;border-radius:8px;padding:12px;min-height:180px}
.x27-sgrule{display:flex;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid #f0f2f7;flex-wrap:wrap}
.x27-sgrule b{flex:0 0 110px}
.x27-sged{flex:1}
.x27-sgempty{color:#98a2b8;text-align:center;padding:60px 0}
.x27-formbar{position:sticky;bottom:0;background:#fff;border-top:1px solid #e6eaf2;padding:12px;text-align:right;margin-top:16px}
.x27-filters{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:12px}
.x27-frow2{display:flex;align-items:center;gap:6px}
.x27-frow2 label{color:#344054}
.x27-fbtns{width:100%}
.x27-actions{display:flex;gap:8px;margin:10px 0}
.x27-ava{display:inline-flex;width:30px;height:30px;border-radius:50%;background:#2456d6;color:#fff;align-items:center;justify-content:center;font-size:13px}
.x27-vip{background:#fff3d6;color:#a86e00;border-radius:4px;padding:1px 7px;font-size:12px}
.x27-batchbar{display:flex;align-items:center;gap:14px;border-top:1px solid #e6eaf2;padding:10px 4px;flex-wrap:wrap}
.x27-pager{display:inline-flex;align-items:center;gap:8px}
.x27-usertabs{margin-bottom:16px}

/* ===== v2.5.0-028 ===== */
.x28-cards{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0}
.x28-sum{flex:1;min-width:200px;background:#f7f9ff;border:1px solid #e3e9f7;border-radius:8px;padding:14px 16px}
.x28-sum b{font-size:22px;display:block;margin:4px 0}
.x28-rule{border:1px solid #e3e9f7;border-radius:6px;padding:8px 10px;margin:6px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.x28-pal h4{margin:8px 0 4px}
.x28-venn{display:flex;align-items:center;gap:6px;margin:6px 0}
.x28-circle{border:1.5px solid #2456d6;border-radius:50%;padding:14px 8px;font-size:12px;color:#2456d6}
.x28-tagbox{border:1.5px solid #e67e22;color:#e67e22;border-radius:6px;padding:10px 12px;font-size:12px}
.x28-phone{width:230px;flex:none;border:1px solid #ddd;border-radius:18px;padding:8px;background:#fff}
.x28-poster{position:relative;height:330px;border-radius:10px;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:12px;text-align:center}
.x28-poster-txt{font-size:12px;margin-bottom:6px}
.x28-poster-qr svg{width:74px;height:74px;background:#fff;padding:3px}
.x28-poster-q{font-size:11px;margin-top:6px}
.x28-thumb{width:52px;height:74px;background-size:cover;background-position:center;border:2px solid transparent;border-radius:4px;position:relative;display:inline-block}
.x28-thumb.on{border-color:#2456d6}
.x28-thumb em{position:absolute;left:0;right:0;bottom:-16px;font-size:10px;font-style:normal;color:#666;text-align:center}
.x28-bar{display:flex;align-items:center;gap:8px;margin:5px 0}
.x28-bar span{width:130px;font-size:12px;color:#555}
.x28-bar i{display:block;height:10px;background:#2456d6;border-radius:5px;min-width:2px}
.x28-bar b{font-size:12px}
.x28-h5ico{background:#07c160;color:#fff;border-radius:6px;padding:3px 8px;font-weight:700;font-size:12px}

/* v2.5.0-029 直播 */
.lv29-banner-warn{background:#fdecec;color:#c0392b;border:1px solid #f5c6c0;border-radius:6px;padding:10px 14px;margin-bottom:10px;display:flex;gap:10px;align-items:center}
.lv29-banner-note{background:#fff8e6;color:#8a6d1a;border:1px solid #f0dfae;border-radius:6px;padding:10px 14px;margin-bottom:12px;line-height:1.8;font-size:13px}
.lv29-tabs{display:flex;gap:18px;align-items:center;border-bottom:1px solid #e6e9ef;padding-bottom:8px;margin-bottom:10px}
.lv29-tabs a{color:#333;text-decoration:none;padding:4px 2px}
.lv29-tabs a.on{color:#2456d6;border-bottom:2px solid #2456d6;font-weight:600}
.lv29-filters{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.lv29-cards{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0}
.lv29-cc{border:1px solid #e6e9ef;border-radius:8px;padding:14px 16px;min-width:230px;background:#fbfcfe}
.lv29-cc b{font-size:15px}
.lv29-cc button{margin-top:8px}
.lv29-shelftabs{display:flex;gap:16px;align-items:center;border-top:1px solid #eef0f4;border-bottom:1px solid #eef0f4;padding:8px 0;margin:10px 0}
.lv29-shelftabs a{color:#333;text-decoration:none}
.lv29-shelftabs a.on{color:#2456d6;font-weight:600}
.lv29-name{display:flex;gap:10px;align-items:flex-start}
.lv29-cover{position:relative;width:84px;height:56px;border-radius:6px;background:#eef1f6;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;flex:none;font-size:22px}
.lv29-cover img{width:100%;height:100%;object-fit:cover}
.lv29-cover i{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-style:normal;text-align:center;display:none}
.lv29-cover:hover i{display:block}
.lv29-free{color:#16a34a;font-weight:600}
.lv29-ops a{margin-right:2px}
.lv29-batch{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid #eef0f4;padding-top:10px;margin-top:6px}
.lv29-demo-ph{border:1px dashed #c7cede;border-radius:10px;padding:34px;text-align:center;color:#5b6472;background:#f7f9fc;line-height:2}
.lv29-dnote{background:#fff8e6;color:#8a6d1a;border:1px solid #f0dfae;border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:12.5px}
.lv29-dhead{display:flex;gap:14px;align-items:flex-start}
.lv29-dcover{position:relative;width:150px;height:100px;border-radius:8px;background:#eef1f6;display:flex;align-items:center;justify-content:center;font-size:30px;overflow:hidden;flex:none}
.lv29-dcover img{width:100%;height:100%;object-fit:cover}
.lv29-dstat{position:absolute;left:0;top:0;background:#e5484d;color:#fff;font-size:11px;padding:2px 8px;border-bottom-right-radius:8px}
.lv29-dwrap{display:flex;gap:14px;align-items:flex-start}
.lv29-dmenu{width:150px;flex:none;background:#fff;border:1px solid #e6e9ef;border-radius:8px;padding:8px 0}
.lv29-dmenu a{display:block;padding:9px 16px;color:#333;text-decoration:none}
.lv29-dmenu a.on{color:#2456d6;background:#eef3fe;font-weight:600}
.lv29-dbody{flex:1;background:#fff;border:1px solid #e6e9ef;border-radius:8px;padding:16px 18px;min-width:0}
.lv29-itabs{display:flex;gap:18px;border-bottom:1px solid #e6e9ef;padding-bottom:8px;margin-bottom:12px}
.lv29-itabs a{color:#333;text-decoration:none}
.lv29-itabs a.on{color:#2456d6;font-weight:600;border-bottom:2px solid #2456d6}
.lv29-subtabs{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0}
.lv29-subtabs a{color:#333;text-decoration:none;padding:3px 10px;border-radius:12px;background:#f2f4f8}
.lv29-subtabs a.on{background:#2456d6;color:#fff}
.lv29-subh{display:flex;align-items:center;gap:8px;font-weight:600;margin:12px 0 8px}
.lv29-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:10px 0}
.lv29-statgrid5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:10px 0}
.lv29-stat{border:1px solid #eef0f4;border-radius:8px;padding:12px;background:#fbfcfe}
.lv29-statv{font-size:22px;font-weight:700;margin-top:4px}

/* v2.5.0-030 直播深化 */
.lv30-tabs{display:flex;gap:4px;border-bottom:2px solid #eef1f6;margin-bottom:12px}
.lv30-tabs a{padding:8px 18px;color:#5b6b84;border-bottom:2px solid transparent;margin-bottom:-2px}
.lv30-tabs a.on{color:#2456d6;border-bottom-color:#2456d6;font-weight:600}
.ls_gift_row{display:contents}

/* v2.5.0-031 邀请卡/菜单 */
.lv31-posters{display:flex;flex-wrap:wrap;gap:14px}
.lv31-ptile{width:118px}
.lv31-poster{width:118px;height:190px;border-radius:8px;padding:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 8px rgba(20,30,60,.15)}
.lv31-ptile .lv31-poster{width:118px;height:170px}
.lv31-add{border:1.5px dashed #c6d2e8;border-radius:8px;height:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#8a97ad;cursor:pointer;font-size:14px}
.lv31-pops{display:flex;gap:7px;align-items:center;font-size:12px;margin-top:5px;flex-wrap:wrap}

/* v2.5.0-033 我的账户 */
.ci33-tabs{display:flex;gap:8px;border-bottom:2px solid #eef1f6;margin-bottom:14px}
.ci33-tabs button{background:none;border:none;color:#333;font-size:15px;padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}
.ci33-tabs button.on{color:#2456d6;border-bottom-color:#2456d6;font-weight:600}
.ci33-cards{display:flex;gap:14px;margin-bottom:14px}
.ci33-card{flex:1;border:1px solid #e6eaf2;border-radius:8px;padding:16px 18px;background:#fbfcfe;position:relative}
.ci33-cl{color:#666;font-size:13px}
.ci33-tip{color:#2456d6;cursor:help}
.ci33-cv{font-size:26px;font-weight:700;margin-top:6px}
.ci33-cn{position:absolute;right:16px;bottom:12px;color:#999;font-size:12px}
.ci33-filters{border:1px solid #e6eaf2;border-radius:8px;padding:12px 14px;margin-bottom:12px;background:#fff}
.ci33-frow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:6px 0}
.ci33-frow label{font-size:13px;color:#555;display:flex;gap:6px;align-items:center}
.ci33-pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px;font-size:13px;color:#555}
.ci33-sec{border:1px solid #e6eaf2;border-radius:8px;padding:16px 18px;margin-bottom:14px;background:#fff}
.ci33-sec-h{font-size:15px;font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between}
.ci33-sec-h a{font-size:13px;font-weight:400}
.ci33-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ci33-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ci33-cell{border:1px solid #eef1f6;border-radius:8px;padding:14px 16px;background:#fbfcfe}
.ci33-cell .muted.sm{margin-top:6px}
.ci33-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);background:#f08c00;color:#fff;padding:10px 22px;border-radius:6px;font-size:14px;z-index:9999;display:none;box-shadow:0 4px 16px rgba(0,0,0,.18)}

/* v2.5.0-034 交易管理 */
.tm34-subtabs{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap}
.tm34-subtabs button{background:#f2f5fa;border:1px solid #e1e7f0;color:#333;padding:5px 14px;border-radius:16px;cursor:pointer;font-size:13px}
.tm34-subtabs button.on{background:#2456d6;border-color:#2456d6;color:#fff}
.tm34-notice{background:#eaf1fe;border:1px solid #b9cff8;color:#2456d6;border-radius:6px;padding:9px 12px;font-size:13px;margin:8px 0}

/* v2.5.0-036 推广收入 */
.di36-notice{background:#fff8e1;border:1px solid #f0d48a;color:#8a6d1a;border-radius:6px;padding:9px 12px;font-size:13px;margin:10px 0}
.di36-bal{font-size:15px;margin:10px 0;display:flex;gap:12px;align-items:center}
.di36-sum{font-size:13px;color:#555;margin:10px 0}

/* v2.5.0-037 公司提现 */
.cw37-title{font-size:15px;font-weight:600;margin:12px 0 8px;display:flex;justify-content:space-between;align-items:baseline}
.cw37-title .muted{font-size:13px;font-weight:400}

/* v2.5.0-038 用户提现 */
.uw38-cards{display:flex;gap:14px;margin-bottom:6px;flex-wrap:wrap}
.uw38-card{flex:1;min-width:260px;border:1px solid #e3e8f2;border-radius:8px;padding:12px 16px}
.uw38-cv{font-size:24px;font-weight:700;margin:4px 0}
.uw38-sub{display:flex;gap:26px;color:#667085;font-size:13px;border-top:1px dashed #e3e8f2;padding-top:8px}

/* v2.5.0-041 客户关系（绑客规则） */
.rel41-cards{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.rel41-card{flex:1;min-width:220px;border:2px solid #e3e8f2;border-radius:10px;padding:14px 16px;cursor:pointer;position:relative;background:#fff}
.rel41-card.on{border-color:#2456d6;background:#f4f8ff}
.rel41-ct{font-size:16px;font-weight:700;margin-bottom:8px}
.rel41-card.on .rel41-ct{color:#2456d6}
.rel41-check{position:absolute;right:10px;bottom:8px;color:#2456d6;font-weight:700}
.rel41-group{margin:16px 0}
.rel41-glabel{font-weight:600;margin-right:10px}
.rel41-radio{display:block;margin:8px 0 8px 12px;cursor:pointer}
.rel41-badge{background:#e63d3d;color:#fff;font-size:11px;border-radius:3px;padding:1px 5px;margin-left:6px}

/* v2.5.0-042 推广业绩 */
.pf42-title{border-left:4px solid #2456d6;padding-left:8px;margin:16px 0 10px}
.pf42-scroll{overflow-x:auto}
.pf42-tbl{min-width:1180px}

/* v2.5.0-043 导购员管理 */
.pm43-defrow{margin:14px 0;font-size:15px}
.pm43-defk{color:#666}

/* v2.5.0-044 导购员排行榜 */
.rk44-phone{width:300px;border:1px solid #e3e8f2;border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff8ec,#fff)}
.rk44-ph-title{font-size:17px;font-weight:700;text-align:center;margin-bottom:10px}
.rk44-ph-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:10px}
.rk44-ph-tabs span{padding:3px 12px;border-radius:20px;background:#f0f2f7;font-size:13px}
.rk44-ph-tabs span.on{background:#2456d6;color:#fff}
.rk44-ph-dim{display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}
.rk44-ph-row{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid #f3f4f8}
.rk44-ph-row.me{background:#fff3d6;border-radius:8px}
.rk44-ph-ava{width:28px;height:28px;border-radius:50%;background:#2456d6;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px}

/* v2.5.0-045 服务商管理 */
.fc45-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:center;background:linear-gradient(120deg,#eef4ff,#f7faff)}
.fc45-buy{background:#2456d6;color:#fff;border:none;border-radius:20px;padding:10px 34px;font-size:15px;cursor:pointer;margin-top:10px}
.fc45-ownedtag{display:inline-block;background:#52c41a;color:#fff;border-radius:20px;padding:8px 26px;margin-top:10px}
.fc45-mock{position:relative;width:320px;height:190px;background:#fff;border:1px solid #dbe4f5;border-radius:12px;padding:16px;overflow:hidden}
.fc45-mockbar{height:14px;background:#dbe7ff;border-radius:4px;margin-bottom:10px}
.fc45-mockrow{height:26px;background:#eef3fd;border-radius:6px;margin-bottom:8px}
.fc45-mockrow.short{width:62%}
.fc45-mockphone{position:absolute;right:14px;bottom:12px;width:86px;height:96px;background:#171e2e;color:#cfe0ff;border-radius:10px;font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center}
.fc45-tag{position:absolute;background:#ff8a3d;color:#fff;font-size:12px;border-radius:4px;padding:2px 8px;z-index:2}
.fc45-tag.t1{right:14px;top:10px}
.fc45-tag.t2{left:12px;bottom:12px;background:#2456d6}
.fc45-adv{display:flex;gap:12px;flex-wrap:wrap}
.fc45-advcard{flex:1;min-width:180px;text-align:center;padding:22px 10px;background:#f6f9ff;border:1px solid #e3ebfb;border-radius:10px;font-size:15px}
.fc45-scene{display:flex;gap:22px;flex-wrap:wrap;padding:16px 0;border-bottom:1px dashed #e8edf5}
.fc45-scene:last-child{border-bottom:none}
.fc45-chips{display:flex;flex-direction:column;gap:6px;min-width:220px}
.fc45-chips span{background:#fff8ec;border:1px solid #ffe1b0;border-radius:6px;padding:5px 10px;font-size:13px;color:#8a5a00}
.fc45-qr svg{width:170px;height:170px}

/* v2.5.0-046 内容市场 */
.ml46-user{display:flex;gap:10px;align-items:center;border:1px solid #e3ebfb;background:#f6f9ff;border-radius:10px;padding:10px 14px}
.ml46-banner{margin-top:14px;border-radius:12px;padding:20px 22px;background:linear-gradient(120deg,#2456d6,#5b8cff);color:#fff;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.ml46-banner b{font-size:20px}
.ml46-sec{margin:20px 0 10px;font-size:17px}
.ml46-sec span{font-size:12px;color:#8a93a6;margin-left:8px}
.ml46-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ml46-cats button{background:#f0f2f7;border:none;border-radius:16px;padding:5px 14px;cursor:pointer}
.ml46-cats button.on{background:#2456d6;color:#fff}
.ml46-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.ml46-card{border:1px solid #e8edf5;border-radius:10px;padding:10px;background:#fff}
.ml46-cover{position:relative;height:110px;border-radius:8px;background:linear-gradient(135deg,#dbe7ff,#eef3fd);display:flex;align-items:center;justify-content:center;font-size:26px;color:#2456d6;overflow:hidden;cursor:pointer}
.ml46-cover img{width:100%;height:100%;object-fit:cover}
.ml46-mask{position:absolute;inset:0;background:rgba(10,20,40,.55);display:none;align-items:center;justify-content:center;gap:8px}
.ml46-cover:hover .ml46-mask{display:flex}
.ml46-mask button{background:#2456d6;color:#fff;border:none;border-radius:6px;padding:7px 14px;cursor:pointer}
.ml46-mask button.w{background:#fff;color:#2456d6}
.ml46-title{font-weight:600;margin:8px 0 4px;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.ml46-dcover{height:190px;border-radius:10px;background:linear-gradient(135deg,#dbe7ff,#eef3fd);display:flex;align-items:center;justify-content:center;font-size:34px;color:#2456d6;overflow:hidden}
.ml46-dcover img{width:100%;height:100%;object-fit:cover}
.ml46-badge{background:#52c41a;color:#fff;font-size:11px;border-radius:4px;padding:1px 6px;margin-left:6px}

/* v2.5.0-047 开屏广告 */
.sa47-phone{width:270px;border:1px solid #e3e8f2;border-radius:22px;padding:12px;background:#fdfdfe;position:relative;flex:none}
.sa47-status{display:flex;justify-content:space-between;font-size:11px;color:#666}
.sa47-nav{display:flex;justify-content:space-between;font-weight:700;margin:8px 0}
.sa47-search{background:#f0f2f7;border-radius:14px;padding:5px 12px;color:#999;font-size:12px}
.sa47-banner{margin-top:10px;background:linear-gradient(90deg,#ffb35c,#ff7847);color:#fff;border-radius:8px;padding:14px;text-align:center;font-weight:700}
.sa47-pop{margin:12px auto;width:170px;min-height:170px;border-radius:10px;background:#f4f6fb;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sa47-pop img{width:100%;height:100%;object-fit:cover}
.sa47-imgph{color:#9aa7c2}
.sa47-gift{background:linear-gradient(160deg,#e63d3d,#c81e1e);color:#fff;border-radius:10px;padding:14px;text-align:center;width:100%}
.sa47-gc{background:#fff;color:#c81e1e;border-radius:6px;margin:6px 0;padding:5px;font-size:12px}
.sa47-gift button{background:#ffd76e;border:none;border-radius:16px;padding:6px 22px;font-weight:700;cursor:pointer}
.sa47-couponzone{margin-top:10px}
.sa47-ccard{border:1px dashed #ffb35c;border-radius:8px;padding:8px;margin-top:6px;color:#d46b08;font-size:12px}
.sa47-tabbar{display:flex;justify-content:space-between;border-top:1px solid #eef1f6;margin-top:12px;padding-top:8px;font-size:12px;color:#666}

/* v2.5.0-048 好友灌溉 */
.as48-poster{border-radius:14px;color:#fff;padding:22px 18px;text-align:center;min-height:430px;display:flex;flex-direction:column;align-items:center;gap:8px}
.as48-poster h2{font-size:28px;margin:8px 0 0}
.as48-pgoods{background:rgba(255,255,255,.92);color:#333;border-radius:10px;padding:12px;width:88%}
.as48-pprice{color:#e63d3d;font-size:22px;font-weight:700}
.as48-pqr{background:#fff;padding:8px;border-radius:8px}
.as48-pqr svg{width:110px;height:110px}
.as48-pfoot{margin-top:auto;font-size:11px;opacity:.85}
.as48-puser{background:rgba(0,0,0,.25);border-radius:14px;padding:3px 12px;font-size:12px}
.as48-tpl{display:inline-flex;width:64px;height:84px;border-radius:8px;margin:4px 6px 4px 0;color:#fff;font-size:11px;align-items:flex-end;justify-content:center;padding-bottom:5px;cursor:pointer;border:2px solid transparent;vertical-align:top}
.as48-tpl.on{border-color:#2456d6}
.as48-tpl.add{background:#f4f6fb;color:#999;font-size:22px;align-items:center;border:1px dashed #c6cfdd}

/* v2.5.0-051 拼团 */
.gp51-play{flex:1;min-width:260px;border:1px solid #e8edf5;border-radius:10px;padding:16px;background:linear-gradient(135deg,#f7faff,#fff)}
.gp51-play h3{margin:0 0 6px}
.fl50-batch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}

/* 087：「我要推广」弹窗高级化排版 */
.pmx-box{width:880px;border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(10,18,40,.35)}
.pmx-head{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;background:linear-gradient(120deg,#101a33,#1f3a93 55%,#2f6bff);color:#fff}
.pmx-headl{display:flex;gap:14px;align-items:center}
.pmx-logo{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;backdrop-filter:blur(2px)}
.pmx-title{font-size:19px;font-weight:800;letter-spacing:1px}
.pmx-sub{font-size:12px;opacity:.85;margin-top:2px}
.pmx-x{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:13px}
.pmx-x:hover{background:rgba(255,255,255,.28)}
.pmx-tip{margin:14px 26px 0;background:#fff8e6;border:1px solid #f3dfae;color:#8a6d1a;border-radius:10px;padding:8px 12px;font-size:12px}
.pmx-body{display:flex;gap:26px;padding:20px 26px 26px}
.pmx-stage{flex:0 0 264px;background:linear-gradient(160deg,#f4f6ff,#e9edff);border:1px solid #e3e8fb;border-radius:18px;padding:18px 18px 14px}
.pmx-poster .pm-poster{border-radius:12px;box-shadow:0 16px 34px rgba(31,58,147,.28)}
.pmx-stagebtns{display:flex;gap:10px;justify-content:center;margin-top:14px}
.pmx-stagebtns a{background:#fff;border:1px solid #dbe2f5;color:#2f4ac9;border-radius:18px;padding:6px 13px;font-size:12.5px;text-decoration:none;box-shadow:0 2px 8px rgba(31,58,147,.08)}
.pmx-stagebtns a:hover{border-color:#2f6bff;color:#2f6bff}
.pmx-side{flex:1;min-width:0;display:flex;flex-direction:column}
.pmx-shop{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #edf0f7;border-radius:14px;background:linear-gradient(180deg,#fbfcff,#f5f7fd)}
.pmx-avatar{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#f5722c,#f0524f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800}
.pmx-shopinfo{flex:1;min-width:0}
.pmx-shopname{font-size:16.5px;font-weight:800;color:#1c2333}
.pmx-live{display:flex;align-items:center;gap:6px;color:#159947;font-size:12.5px;background:#e9f9ef;border:1px solid #bfe9cd;padding:4px 10px;border-radius:14px}
.pmx-live i{width:7px;height:7px;border-radius:50%;background:#22b573;display:inline-block}
.pmx-label{font-size:12px;color:#8a93a6;letter-spacing:1px;margin:18px 0 8px;font-weight:600}
.pmx-copyrow{display:flex;align-items:center;gap:0;border:1.5px solid #dfe5f2;border-radius:12px;overflow:hidden;background:#fbfcfe}
.pmx-link{flex:1;min-width:0;padding:11px 13px;font-size:13px;color:#33415c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,Menlo,Consolas,monospace}
.pmx-copy{border:0;border-radius:0;background:linear-gradient(120deg,#2f6bff,#1f3a93);color:#fff;padding:0 18px;align-self:stretch;font-size:13.5px;cursor:pointer}
.pmx-copy.done{background:linear-gradient(120deg,#22b573,#159947)}
.pmx-hint{margin-top:8px;line-height:1.7}
.pmx-chans{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pmx-chan{display:flex;gap:10px;align-items:center;border:1px solid #edf0f7;border-radius:12px;padding:11px 13px;background:#fff}
.pmx-chan b{font-size:13.5px;color:#1c2333}
.pmx-cta{margin-top:auto;padding-top:0;width:100%;margin-top:20px;padding:12px;border:0;border-radius:12px;background:linear-gradient(120deg,#2f6bff,#1f3a93);color:#fff;font-size:15px;font-weight:700;letter-spacing:2px;cursor:pointer;box-shadow:0 10px 24px rgba(47,107,255,.35)}
.pmx-cta:hover{filter:brightness(1.07)}


/* 088：页面排版优化——系统海报艺术画板 + 底部吸底操作栏 */
.pm-sys-art{position:absolute;top:29%;left:11%;right:11%;height:36%;border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.55);box-shadow:0 14px 30px rgba(38,48,60,.18);display:flex;align-items:center;justify-content:center;font-size:76px}
.pm-modal-poster .pm-sys-art{font-size:58px}
.lay-foot{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);padding:12px 2px 4px;border-top:1px solid #eef1f7;margin-top:16px;z-index:5}


/* 089：手机框改真实 iPhone 比例 375×812，海报内置满屏 */
.phone{min-height:812px}
.pm-shopphone{height:812px}
.pm-phone{height:812px}
#pmStage{height:100%;border-radius:46px;overflow:hidden}
#pmStage .pm-poster{height:100%;aspect-ratio:auto}

/* 090：自定义推广图「选择背景」对齐原站——预览框 + 上传按钮 + 建议文案 */
.pm-bgrow{display:flex;gap:16px;align-items:flex-start}
.pm-bgprev{width:84px;height:148px;flex:0 0 84px;border:1px solid #dfe5f2;border-radius:8px;background:#c9dcf2;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}
.pm-bgprev img{width:100%;height:100%;object-fit:cover;display:block}
.pm-bgprev:hover{border-color:#2456d6}
.pm-bgph{font-size:34px;color:#fff;}
.pm-bgctl{padding-top:4px}

/* 091：升级会员编辑器对齐原站——宣传图上传控件/预览填充/工具条 */
.vp-bgprev{width:88px;height:118px;flex-basis:88px}
.pm-phone{display:flex;flex-direction:column}
.pm-phone #vpPrev{flex:1;background:#fff;border-radius:0 0 46px 46px;overflow:hidden}
.vp-page{min-height:100%}
.vp-tb{flex-wrap:wrap;align-items:center}
.vp-tb select{height:26px;border:1px solid #dfe5ef;border-radius:6px;font-size:12px;background:#fff}
.vp-color{display:inline-flex;align-items:center;gap:2px;border:1px solid #dfe5ef;border-radius:6px;padding:2px 6px;cursor:pointer;font-weight:700;color:#2456d6;background:#fff}
.vp-color input{width:16px;height:16px;border:0;padding:0;background:none;cursor:pointer}

/* 092：全局间隔统一放宽——卡片/表单行/弹窗/设置面板 */
.card{padding:22px 26px}
.row{gap:10px;margin-bottom:13px}
.field{margin-bottom:15px}
.modal-body{width:660px}
.nv-box{width:620px}
.pm-flex{gap:28px}
.vp-panel{max-width:840px}
.vp-panel .row>input[type="text"],.vp-panel .row>input:not([type]){flex:1 1 auto;max-width:560px}
.vp-panel .row>textarea{flex:1 1 auto}
.pd-side{width:420px}

/* 093：会员推广手机预览内页可滚动（同移动店铺预览） */
.pm-phone #vpPrev{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(90,110,150,.45) transparent}
.pm-phone #vpPrev::-webkit-scrollbar{width:4px}
.pm-phone #vpPrev::-webkit-scrollbar-thumb{background:rgba(90,110,150,.45);border-radius:2px}
.pm-phone #vpPrev::-webkit-scrollbar-track{background:transparent}

/* 094：页面级分栏间距统一改宽（预览列 ↔ 设置列） */
.pm-flex{gap:44px}
.pm-shopflex{gap:44px}
.pm-modal-flex{gap:36px}
.b-body{gap:36px}
.th-layout{gap:44px}
.gc-wrap{gap:44px}
.mt-wrap{gap:36px}
.pd-wrap{gap:40px}
.pt-cols{gap:40px}
.st-wrap{gap:36px}
.x26-qbwrap{gap:36px}
.x27-rt{gap:36px}
.x27-sgwrap{gap:36px}

/* 095：升级会员预览四区块高度（750 设计稿等比）+ 数字方框平铺铺满 */
.vp-bannerph{height:281px}
.vp-count-t{padding:16px 0 10px;font-size:17px}
.vp-digits{padding:0 12px 18px;gap:4px}
.vp-digit{flex:1;min-width:0;font-size:22px;padding:7px 0}
.vp-contentph{min-height:234px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}
.vp-content{min-height:234px}
.vp-card{min-height:281px;display:flex;flex-direction:column}
.vp-card .vp-bar{margin-top:auto}

/* 096：页面排版手机↔设置面板间距按用户要求增至 5 倍（44→220），窄屏自动收窄防挤压 */
.pm-flex{gap:220px}
@media (max-width:1500px){.pm-flex{gap:120px}}
@media (max-width:1200px){.pm-flex{gap:64px}}

/* 098：图片/音频选择器改原站大弹窗（分组侧栏 + 表格 + 分页） */
.il2-box{width:1080px;max-width:94vw;padding:0;overflow:hidden}
.il2-box .np-head{padding:16px 22px;border-bottom:1px solid #eef1f7}
.il2-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px 4px;flex-wrap:wrap}
.il2-tools-r{display:flex;gap:8px;align-items:center}
.il2-tools select{height:32px;border:1px solid #dfe5ef;border-radius:7px;padding:0 8px;background:#fff}
.il2-tools input{height:32px;border:1px solid #dfe5ef;border-radius:7px;padding:0 10px;width:210px}
.il2-body{display:flex;min-height:430px;max-height:58vh;padding:10px 22px 0}
.il2-side{width:216px;flex:0 0 216px;border:1px solid #eef1f7;border-radius:10px;padding:10px;margin-bottom:14px;overflow-y:auto}
.il2-gsearch{display:flex;align-items:center;border:1px solid #dfe5ef;border-radius:7px;padding:0 8px;margin-bottom:10px}
.il2-gsearch input{flex:1;border:0;height:30px;min-width:0}
.il2-gsearch input:focus{outline:none}
.il2-gitem{padding:8px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:#3c465c}
.il2-gitem.on{background:#eef3ff;color:#2456d6;font-weight:600}
.il2-main{flex:1;min-width:0;padding-left:18px;display:flex;flex-direction:column;overflow-y:auto}
.il2-tbl{width:100%;border-collapse:collapse}
.il2-tbl th{background:#f7f9fc;color:#5a6678;font-weight:600;font-size:12.5px;padding:10px;text-align:left;border-bottom:1px solid #eef1f7}
.il2-tbl td{padding:9px 10px;border-bottom:1px solid #f0f3f8;font-size:13px;vertical-align:middle}
.il2-tbl tbody{overflow-y:auto}
.il2-tbl tr{cursor:pointer}
.il2-tbl tr:hover td{background:#fafbfe}
.il2-tbl tr.on td{background:#eef3ff}
.il2-imgcell{display:flex;align-items:center;gap:12px}
.il2-imgcell img{width:54px;height:54px;object-fit:cover;border-radius:7px;border:1px solid #eef1f7;background:#f4f6fb}
.il2-imgcell span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.il2-badge{display:inline-block;background:#e8f1fe;color:#2456d6;border:1px solid #bcd4fb;border-radius:5px;padding:2px 8px;font-size:12px}
.il2-foot{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:12px 2px 4px;margin-top:auto}
.il2-pager{display:flex;align-items:center;gap:7px}
.il2-pager select{height:30px;border:1px solid #dfe5ef;border-radius:6px;background:#fff}
.il2-pageno{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:6px;background:#2456d6;color:#fff;font-size:13px;padding:0 6px}
.il2-box .np-foot{padding:12px 22px 18px}

/* 099：选择器分组可点/可管 */
.il2-gitem{position:relative}
.il-gdel{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-style:normal;color:#b6c2d4;display:none}
.il2-gitem:hover .il-gdel{display:inline}
.il-gdel:hover{color:#d43a31}
.il2-gsel{height:28px;border:1px solid #dfe5ef;border-radius:6px;background:#fff;font-size:12.5px;max-width:112px}

/* 100：lv30-tabs 改 span 后的样式镜像 */
.lv30-tabs span{padding:8px 18px;color:#5b6b84;border-bottom:2px solid transparent;margin-bottom:-2px}
.lv30-tabs span.on{color:#2456d6;border-bottom-color:#2456d6;font-weight:600}

/* 102：个人中心 DIY 预览内置手机框滚动 + 区块可点选联动 */
.phone.mn-phonebox{height:812px;display:flex;flex-direction:column}
#mnPhone{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;border-radius:0 0 46px 46px}
#mnPhone::-webkit-scrollbar{width:4px}
#mnPhone::-webkit-scrollbar-thumb{background:rgba(20,25,39,.25);border-radius:2px}
.mn-blk{cursor:pointer}
.mn-blk:hover{outline:2px dotted #9db9ee;outline-offset:-2px}
.mn-blk.sel{outline:2px solid #2456d6;outline-offset:-2px}

/* 103：个人中心头部样式修正 + 背景图瓦片 */
.mn-head.s2 .mn-uinfo{margin-top:16px}
.mn-head.s2 .mn-ava{box-shadow:0 2px 8px rgba(20,30,60,.18)}
.mn-head.s4 .mn-uid,.mn-head.s6 .mn-uid{white-space:nowrap}
.mn-vipbtn{white-space:nowrap}
.mn-head.custom{background:linear-gradient(135deg,#1d2440,#3a2a5e)}
.mn-bgtile{position:relative;width:150px;height:88px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#232a4a,#4a3a6b);cursor:pointer;flex:0 0 auto}
.mn-bgtile img{width:100%;height:100%;object-fit:cover;display:block}
.mn-bgdef{position:absolute;top:6px;left:8px;color:#fff;font-size:11px;background:rgba(0,0,0,.4);padding:1px 7px;border-radius:4px}
.mn-bgbar{position:absolute;left:0;right:0;bottom:0;background:rgba(10,12,20,.55);color:#fff;font-size:12px;text-align:center;padding:4px 0}

/* 104：导航预览内置手机框撑满 + bd-cardimg 通用瓦片 */
.phone.nv-phonebox{height:812px;display:flex;flex-direction:column}
#nvPhone{flex:1;display:flex;flex-direction:column;min-height:0}
#nvPhone .nv-phone{flex:1;min-height:0;border-radius:0 0 46px 46px}
.bd-cardimg{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border:1px solid #e3e8f2;border-radius:10px;background:#f7f9fc;font-size:28px;cursor:pointer;position:relative;vertical-align:top;color:#5a6a86}
.bd-cardimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px}
.bd-cardimg>span{position:absolute;left:0;right:0;bottom:0;background:rgba(15,18,28,.55);color:#fff;font-size:12px;text-align:center;padding:3px 0;border-radius:0 0 10px 10px;z-index:2}

/* 105：导航自定义图标瓦片对齐原站尺寸与状态区分 */
.nv-icons{gap:26px}
.nv-icons .bd-cardimg{width:104px;height:104px;font-size:46px}
.nv-ph-ic{filter:grayscale(1);opacity:.65}
.nv-ph-ic.on{filter:none;opacity:1}

/* 108：bd-tabs 分段按钮补样式——选中蓝填充，未选中白底 */
.bd-tabs{display:flex;gap:8px;flex-wrap:wrap}
.bd-tabs button{background:#fff;color:#3c4658;border:1px solid #d8dee9;box-shadow:none;padding:7px 20px;border-radius:8px;font-size:13.5px;transition:all .18s}
.bd-tabs button:hover{color:#2456d6;border-color:#2456d6}
.bd-tabs button.on{background:#2456d6;color:#fff;border-color:#2456d6;box-shadow:0 2px 8px rgba(36,86,214,.28)}

/* 110：全站问号注释气泡（JS 定位，见 admin110） */
.kp-tip{position:fixed;z-index:3000;background:#fff;color:#3c4658;font-size:13px;line-height:1.65;padding:12px 14px;border-radius:8px;box-shadow:0 10px 30px rgba(20,30,60,.2);border:1px solid #edf0f6;display:none;pointer-events:none}

/* 111：问号注释气泡（纯 CSS，不依赖 JS） */
.gzh-q{position:relative}
.gzh-q[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);left:-16px;width:300px;max-width:78vw;background:#fff;color:#3c4658;font-size:13px;font-weight:400;line-height:1.65;padding:12px 14px;border-radius:8px;box-shadow:0 10px 30px rgba(20,30,60,.2);border:1px solid #edf0f6;z-index:2000;white-space:normal;text-align:left;cursor:default}
.gzh-q[data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;margin-left:-6px;width:12px;height:12px;background:#fff;border-right:1px solid #edf0f6;border-bottom:1px solid #edf0f6;transform:rotate(45deg);z-index:2001}

/* 113：公众号配置向导步骤条 */
.gz-steps{display:flex;gap:4px;margin-bottom:18px}
.gz-step{flex:1;text-align:center;padding:11px 4px;background:#eef2f8;color:#5a6a86;font-size:13.5px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%)}
.gz-step:first-child{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.gz-step.on{background:#2456d6;color:#fff;font-weight:600}
.gz-step.done{background:#cfe0ff;color:#2456d6;cursor:pointer}

/* 116：微页面列表排版对齐原站 */
.mp-tip{padding:10px 14px;border-radius:6px}
.mp-homecard{background:#f7f8fa;border-radius:6px;padding:16px 18px;gap:14px}
.mp-homeic{background:#d7e6fa}
.mp-homeinfo b{font-size:15px}
.mp-homebadge{background:#2f7cf6;color:#fff;border-radius:3px;padding:1px 6px;font-size:12px;vertical-align:1px}
.mp-ptable td{padding:14px 10px}
.mp-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;font-size:13px;color:#5a6a86}
.mp-pager button{min-width:30px;height:30px;padding:0 8px}
.mp-pager button.on{background:#2456d6;color:#fff;border-color:#2456d6}
.mp-pager input{width:46px;height:30px;text-align:center;border:1px solid #dfe5ef;border-radius:6px}
.mp-pager select{height:30px;border:1px solid #dfe5ef;border-radius:6px}

/* 119：分享弹窗放大（全站分享弹窗共用 .pm-sh* 组件） */
.pm-shrow{gap:16px;margin-bottom:30px}
.pm-shrow:last-child{margin-bottom:8px}
.pm-shl{flex:0 0 56px;text-align:left;font-size:14px;color:#3c4658}
.pm-shqr{width:158px;height:158px}
#modalBody.pm-shwide{width:760px}

/* 120：「更多」菜单纯 CSS 悬停（同问号注释机制） */
.kp-more{position:relative;display:inline-block}
.kp-more-menu{position:absolute;right:0;top:calc(100% + 4px);display:none;background:#fff;border:1px solid #e3e7ee;border-radius:8px;box-shadow:0 10px 30px rgba(20,30,60,.16);padding:5px;min-width:132px;z-index:300;text-align:left}
.kp-more-menu::before{content:"";position:absolute;top:-9px;left:0;right:0;height:9px}
.kp-more:hover .kp-more-menu{display:block}
.kp-more-menu a{display:block;padding:7px 12px;font-size:13px;border-radius:5px;white-space:nowrap;color:#24304a}
.kp-more-menu a:hover{background:#f2f5fb;color:#2456d6}
.kp-more-menu a.danger{color:#d43a2f}

/* 121：离开页面确认弹窗 */
.kp-leave{background:#fff;border-radius:10px;width:560px;max-width:92vw;box-shadow:0 18px 50px rgba(0,0,0,.25);overflow:hidden}
.kp-leave-h{display:flex;justify-content:space-between;align-items:center;padding:16px 22px 4px;font-size:17px;color:#1c2536}
.kp-leave-x{cursor:pointer;color:#98a2b5;font-size:15px}
.kp-leave-b{display:flex;gap:12px;align-items:center;padding:16px 22px 22px;font-size:15px;color:#3c4658}
.kp-leave-i{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#aab3c2;color:#fff;display:flex;align-items:center;justify-content:center;font-style:italic;font-weight:700;font-size:14px;font-family:Georgia,serif}
.kp-leave-f{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 20px}

/* 122：全站文字去下划线 */
a,a:hover,a:active,a:focus,u,ins{text-decoration:none !important}

/* 124：店铺概况一对一布局 */
.d76-wrap{display:flex;gap:16px;align-items:flex-start}
.d76-main{flex:1;min-width:0}
.d76-rail{flex:0 0 300px;display:flex;flex-direction:column;gap:16px}
@media(max-width:1200px){.d76-wrap{flex-direction:column}.d76-rail{flex:1;width:100%}}
.d76-bar{border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:13px;line-height:1.7}
.d76-bar.y{background:#fdf6e0;color:#7a5b12;border:1px solid #f3e3ac}
.d76-bar.p{background:#fdeef0;color:#c22f3d;border:1px solid #f6ccd1;text-align:center}
.d76-cardh{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.d76-cardh h3{margin:0}
.d76-guide{display:flex;gap:18px}
.d76-steps{flex:0 0 180px;max-height:252px;overflow-y:auto;border-right:1px solid #eef1f7;padding-right:8px}
.d76-step{padding:9px 10px;border-left:3px solid transparent;cursor:pointer;font-size:13.5px;color:#3c4658}
.d76-step.on{color:#2456d6;border-left-color:#2456d6;background:#f5f8ff;font-weight:600}
.d76-detail{flex:1;min-width:0}
.d76-detail h3{margin:2px 0 8px}
.d76-art{flex:0 0 150px;display:flex;align-items:center;justify-content:center;font-size:84px;background:radial-gradient(circle at 50% 40%,#fff7ea,#fff);border-radius:12px}
.d76-todos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.d76-todo{display:flex;flex-direction:column;gap:6px;cursor:pointer}
.d76-todo span{color:#8a93a5;font-size:12.5px}
.d76-todo b{font-size:22px;color:#1c2536}
.d76-biz{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.d76-bizi{display:flex;flex-direction:column;gap:6px}
.d76-bizi b{font-size:20px;color:#1c2536}
.d76-apps{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.d76-tiles{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.d76-tile{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:13px;color:#3c4658}
.d76-tic{position:relative;width:44px;height:44px;border-radius:12px;background:#f2f5fb;display:flex;align-items:center;justify-content:center;font-size:22px}
.d76-new{position:absolute;top:-7px;right:-14px;background:#f43f5e;color:#fff;font-size:9px;padding:1px 5px;border-radius:8px;font-style:normal}
.d76-cases{display:grid;grid-template-columns:repeat(6,1fr);text-align:center}
.d76-case{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:#3c4658}
.d76-casec{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#eef3ff,#fdeef5);display:flex;align-items:center;justify-content:center;font-size:26px}
.d76-term{display:flex;gap:12px;align-items:center;padding:9px 0}
.d76-tico{width:40px;height:40px;border-radius:10px;background:#fff3e8;display:flex;align-items:center;justify-content:center;font-size:20px}
.d76-news{padding:7px 0;border-bottom:1px dashed #eef1f7;font-size:13px;color:#3c4658}
.d76-news:last-child{border-bottom:0}
.d76-ticket{background:#fdf0f3;cursor:pointer}

/* 125：微页面文字页签（原站样式）+ 审核数字 */
.sp-tabs{display:flex;gap:22px;border-bottom:1px solid #eef1f7;margin-bottom:14px}
.sp-tabs button{background:none;border:0;color:#3c4658;padding:8px 2px;font-size:14px;cursor:pointer}
.sp-tabs button.on{color:#2456d6;font-weight:600;box-shadow:inset 0 -2px 0 #2456d6}
.mp-auditn{color:#2456d6}

/* 126：课程列表对照（状态点/提示条关闭/全站流量条） */
.cf-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px}
.cf-notice-x{float:right;cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:50%;background:rgba(0,0,0,.06)}
.kp-trafficbar{background:#fdeef0;color:#c22f3d;border:1px solid #f6ccd1;text-align:center;border-radius:8px;padding:10px 14px;margin:0 0 12px;font-size:13px}

/* 128：订单列表 */
.od-frow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.od-stats{background:#eef5ff;border:1px solid #cfe2fb;color:#33506e;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.9;margin-bottom:14px}
.od-stats b{color:#2456d6}
.od-tabs{display:flex;gap:0;margin-bottom:14px;border:1px solid #dbe2ee;border-radius:8px;overflow:hidden;width:max-content}
.od-tabs button{background:#fff;border:0;border-right:1px solid #dbe2ee;padding:8px 18px;font-size:14px;color:#3c4658;cursor:pointer}
.od-tabs button:last-child{border-right:0}
.od-tabs button.on{color:#2456d6;font-weight:600;background:#f5f8ff}
.od-pop{position:absolute;z-index:999;background:#fff;border:1px solid #dbe2ee;border-radius:10px;box-shadow:0 10px 30px rgba(20,30,60,.14);padding:12px;width:280px;max-height:340px;overflow-y:auto}
.od-popi{display:block;margin:5px 0;font-size:13.5px}
.od-popg{font-weight:600;margin:8px 0 2px;color:#1c2536}

/* 135：内测提示条奶黄变体（商品分析页） */
.au-note.cream{background:#fdf6e0;border-color:#f0dfa8;color:#7a5b12}
.ga60-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;color:#fff;font-size:13px;vertical-align:middle}
