*{box-sizing:border-box}
body{margin:0;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,#0066cc);color:#fff;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center}
.brand-name{color:#fff;font-size:17px;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:13px;margin-bottom:2px;transition:background .15s}
.nav-it:hover{background:var(--side-h);color:#fff}
.nav-it.on{background:linear-gradient(90deg,#0066cc,#0066cc);color:#fff;font-weight:600}
.nav-it .ic{width:20px;text-align:center;font-size:14px}
.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:17px;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 rgba(0,0,0,.08)}
.card h3{margin:0 0 14px;font-size:14px;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:12px;white-space:nowrap}
tr:hover td{background:#fbfbfd}
/* 按钮 */
button{background:var(--pri);color:#fff;border:0;border-radius:8px;padding:8px 16px;cursor:pointer;margin:2px;font-size:13px;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:12px;border-radius:7px}
/* 表单 */
input,select,textarea{border:1px solid #d9dee9;border-radius:8px;padding:8px 12px;font-size:13px;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 rgba(0,0,0,.08);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:12px}
/* tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:10px}
.tabs .tab{background:transparent;color:#1d1d1f;box-shadow:none}
.tabs .tab.on{color:#0066cc;font-weight:600;box-shadow:inset 0 -2px 0 #0066cc}
/* 弹窗 */
.modal{position:fixed;inset:0;background:rgba(15,22,40,.45);display:flex;align-items:center;justify-content:center;z-index:300;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:17px}
/* 徽标 */
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;background:rgba(0,102,204,.08);color:var(--pri)}
.badge.ok{background:#e6f7ec;color:#1d9d55}
.badge.off{background:#f1f2f6;color:#86868b}
.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:12px}
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 rgba(0,0,0,.08);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:14px}
.b-body{display:flex;min-height:640px}
.b-left{width:210px;border-right:1px solid var(--line);padding:12px;overflow-y:auto;background:#fbfbfd}
.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:#fbfbfd;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:rgba(0,102,204,.08);margin:10px;padding:8px 12px;border-radius:8px;font-size:12px;color:#1d1d1f}
.pv-title{padding:12px 14px 4px;font-weight:700;font-size:14px}
.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:rgba(0,102,204,.08);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 var(--hair)}
.pv-gzh img{width:40px;height:40px;border-radius:6px}
.pv-gzh .muted{color:#8e8e93;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:#fbfbfd;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:rgba(0,102,204,.08)}
.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:none;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:rgba(0,102,204,.08);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:300}
.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:17px}
.np-head span{cursor:pointer;color:#999;font-size:17px}
.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:rgba(0,102,204,.35)}
.np-cell.on{border-color:var(--pri);background:rgba(0,102,204,.08)}
.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:rgba(0,102,204,.35)}
.il-cell.on{border-color:var(--pri);background:rgba(0,102,204,.08)}
.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:#8e8e93;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:none}
.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:200;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:rgba(0,102,204,.08)}
.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:rgba(0,102,204,.08)}
.nt-badge{background:#f0524f;color:#fff;padding:2px 8px;border-radius:6px;font-weight:700}
.pv-ntic{margin-right:6px;font-size:14px}
.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:rgba(0,102,204,.08)}
.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:rgba(0,102,204,.08)}
.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:rgba(0,102,204,.15);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:#0066cc}
.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:#0066cc;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:#fbfbfd;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:rgba(0,102,204,.08);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:#fbfbfd}
.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:#f5f5f7;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:#fbfbfd;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 rgba(0,0,0,.08);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:#f5f5f7;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:#ff3b30;color:#fff;font-size:10px;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:#34c759;font-size:12px;font-weight:600}
.pv-plprice{color:#1d1d1f;font-size:13px;font-weight:700}
.pv-plvip{font-size:10px;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:#fbfbfd;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:rgba(0,102,204,.08);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:#f5f5f7;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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);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:#0066cc;font-weight:700;border-color:#0066cc}
.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:#0066cc;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:#0066cc;font-weight:700;border-color:#0066cc;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 rgba(0,0,0,.08);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:#fbfbfd}
.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:#0066cc;color:#fff;border-radius:12px;margin:6px 8px 8px;padding:3px 4px 3px 10px;font-size:12px}
.pv-scp1 span{background:#fff;color:#0066cc;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:#1d1d1f}
.pv-scb2{background:#0066cc;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:#fbfbfd;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 rgba(0,0,0,.08);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:rgba(0,102,204,.08);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:rgba(0,102,204,.12);color:#0066cc;font-size:10px;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:#fbfbfd}
.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:none}
.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:10px;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:#fbfbfd}
.bf-del{position:absolute;right:8px;top:8px;background:none;border:none;color:#c0392b;font-size:14px;cursor:pointer}
.pv-bfbar{border-top:1px solid rgba(0,0,0,.08);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:#0066cc}
.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:#1d1d1f;font-weight:700;font-style:italic}
.pv-pdnm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}
.pv-pdpr{color:#1d1d1f;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:10px;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:10px;z-index:2}
.pv-qr{margin-left:auto;font-size:20px;color:#333;border:1px solid rgba(0,0,0,.08);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:#fbfbfd}
.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:#0066cc;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:#fbfbfd;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 rgba(0,0,0,.08);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:rgba(0,102,204,.08);color:#0066cc;border:1px solid rgba(0,102,204,.25);border-radius:5px;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:17px}
.b-railbtn.on{color:#fff;background:#1f2534;border-left-color:#0066cc}
.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:#fbfbfd;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;color:#fff}
.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;overflow:hidden}
.mn-ava img{width:100%;height:100%;object-fit:cover}
.mn-uinfo{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:2px;flex:1;min-width:0}
.mn-uname{font-weight:700;font-size:14px}
.mn-badge{font-size:10px;background:linear-gradient(180deg,#fdf6e3,#f5e7c8);color:#5b4a2f;border-radius:999px;padding:1px 6px;font-weight:400;white-space:nowrap}
.mn-uid{font-size:11px;opacity:.85;flex-basis:100%}
.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;border:0;display:inline-flex;align-items:center;gap:3px}
.mn-vip{margin-top:12px;background:linear-gradient(90deg,#3a3f4a,#23262e);color:#f3cd8b;border-radius:11px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;position:relative;overflow:hidden}
.mn-vipbtn{background:#f3cd8b;color:#4a3205;border-radius:999px;padding:3px 10px;font-size:11px;white-space:nowrap}
.mn-head.s1{overflow:visible;margin-bottom:22px}
.mn-head.s1 .mn-sign{position:absolute;top:-2px;right:0;background:none;padding:0;flex-direction:column;gap:1px;font-size:10px;margin:0}
.mn-head.s1 .mn-vip{margin-bottom:-22px;z-index:2;border-radius:10px 10px 50% 50%/10px 10px 16px 16px;padding-bottom:13px}
.mn-head.s2 .mn-uraw{background:#fff;border-radius:18px;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{padding-bottom:0}
.mn-head.s2 .mn-urow{flex-direction:column;align-items:flex-start;gap:2px}
.mn-head.s2 .mn-uinfo{margin-left:64px;min-height:32px}
.mn-head.s2 .mn-uname,.mn-head.s2 .mn-uid{color:#333 !important}
.mn-head.s2 .mn-badge{background:#eef1f5;color:#8a94a6}
.mn-head.s2 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#8e8e93;flex-direction:column;gap:1px;font-size:10px;padding:0;margin:0}
.mn-head.s2 .mn-vip{margin-top:10px}
.mn-head.s3{overflow:visible;margin-bottom:22px}
.mn-head.s3 .mn-uname{flex-basis:100%}
.mn-head.s3 .mn-uid{flex-basis:auto}
.mn-head.s3 .mn-sign{position:absolute;top:-2px;right:0;background:none;padding:0;font-size:0;margin:0}
.mn-head.s3 .mn-vip{background:linear-gradient(90deg,#ffe9e4,#ffd9ec);color:#8a5a2b;margin-bottom:-22px;z-index:2}
.mn-head.s3 .mn-vip::before{content:"VIP";position:absolute;left:8px;top:50%;transform:translateY(-54%) skewX(-10deg);font-size:32px;font-weight:800;color:rgba(190,120,60,.16);letter-spacing:1px;pointer-events:none}
.mn-head.s3 .mn-vipbtn{background:#8a5a2b;color:#ffe9e4;font-size:0;width:24px;height:24px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center}
.mn-head.s3 .mn-vipbtn::after{content:"›";font-size:14px;line-height:1}
.mn-head.s4 .mn-uname{flex-basis:100%}
.mn-head.s4 .mn-uid{flex-basis:auto}
.mn-head.s4 .mn-sign{align-self:flex-start}
.mn-head.s5{padding-bottom:0}
.mn-head.s5 .mn-uraw{background:#fff;border-radius:18px;padding:14px 12px 0;margin:6px 2px 0}
.mn-head.s5 .mn-uname{flex-basis:100%}
.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-badge{background:#eef1f5;color:#8a94a6}
.mn-head.s5 .mn-uinfo{align-items:center;justify-content:center}
.mn-head.s5 .mn-uid{flex-basis:auto}
.mn-head.s5 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#8e8e93;margin:0;flex-direction:column;gap:1px;font-size:10px;padding:0}
.mn-head.s5 .mn-vip{background:linear-gradient(90deg,#7b4fd0,#5a2ea6);color:#ffe9a8;border-radius:0 0 18px 18px;margin:10px -12px 0}
.mn-head.s5 .mn-vipbtn{background:rgba(255,255,255,.85);color:#5a2ea6}
.mn-head.s6 .mn-uinfo{display:grid;grid-template-columns:auto 1fr;align-items:center}
.mn-head.s6 .mn-uname{grid-area:1/1}
.mn-head.s6 .mn-uid{flex-basis:auto;grid-area:1/2}
.mn-head.s6 .mn-badge{grid-area:2/1/2/3;justify-self:start}
.mn-head.s6 .mn-sign{align-self:flex-start}
.mn-head.s6 .mn-vip{width:52%;margin-left:auto;background:linear-gradient(120deg,#f7e3b8,#eed9a4);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:18px;padding:12px 4px}
.mn-stats span{flex:1;text-align:center;display:flex;flex-direction:column}
.mn-stats b{font-size:14px}
.mn-stats i{font-style:normal;font-size:11px;color:#8e8e93}
.mn-card{background:#fff;margin:10px;border-radius:18px;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:#8e8e93;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 rgba(0,0,0,.08);border-radius:8px;padding:11px 12px;margin-bottom:8px;font-size:13px}
.mn-exp{cursor:pointer;color:#999;padding:0 6px}
.mn-secbody{background:#fbfbfd;border:1px solid rgba(0,0,0,.08);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:#0066cc;box-shadow:0 0 0 2px #0066cc inset}
.mn-arow{padding:5px 0;font-size:13px}
.mn-arow span{display:inline-block;width:56px;color:#666}
.mn-dragnote{color:#d70015;font-size:12px;margin-left:auto}
.mn-mrow{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--hair);border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:13px;cursor:grab}
.mn-mrow.locked{opacity:.55}
.mn-sys{color:#0066cc}
.mn-cname{color:#888;font-size:12px}
.mn-ed{cursor:pointer;margin-left:auto}
.mn-icedit{cursor:pointer;font-size:17px}
.mn-linkrow{margin-top:10px;border-top:1px dashed var(--hair);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:11px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;background:rgba(0,102,204,.08)}
.mn-gic.line{background:#fff;border:1.5px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);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:17px;background:rgba(0,102,204,.08)}
.mn-lic.line{background:#fff;border:1.5px solid rgba(0,0,0,.08);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:#d70015}
.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:320;background:#fff;border:1px solid var(--hair);border-radius:16px;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:rgba(0,102,204,.06)}
.nv-pop a.on{color:#0066cc;font-weight:600}
.nv-stylerow{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
.nv-styleprev{flex:1;display:flex;justify-content:space-between;background:#fbfbfd;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;border:1px solid rgba(0,0,0,.08)}
.nv-switch input:checked+span{background:#34c759}
.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:13px;cursor:pointer}
.nv-microchip{display:inline-flex;align-items:center;gap:6px;background:rgba(0,102,204,.08);color:#0066cc;border-radius:8px;padding:3px 6px 3px 10px;font-size:12px;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 rgba(0,0,0,.08)}
.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 rgba(0,0,0,.08)}
.nv-phone{position:relative;background:#fbfbfd;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 rgba(0,0,0,.08)}
.nv-topbar em{font-style:normal;color:#86868b;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:#0066cc;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;overflow:hidden}
.nv-float img{width:100%;height:100%;object-fit:cover}
.nv-tabbar{display:flex;background:#fff;border-top:1px solid rgba(0,0,0,.08);padding:6px 0 8px}
.nv-tb{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:14px;color:#98a2b5}
.nv-tb i{font-style:normal;font-size:10px}
.nv-tb.on{color:#0066cc}
.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:rgba(0,102,204,.08);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 rgba(0,0,0,.08);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:#0066cc;color:#fff;border:0;border-radius:999px;padding:5px 16px;font-size:12px;cursor:pointer}
.pm-th-ov button.danger{background:#ff3b30}

.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:#0066cc}
.pm-thumb.hid .pm-th{opacity:.45}
.pm-th.add{font-size:34px;color:#0066cc;background:rgba(0,102,204,.08);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 rgba(0,0,0,.08)}
.pm-lrow{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid rgba(0,0,0,.08);font-size:13px}
.pm-ldel{cursor:pointer;opacity:.6}
.pm-lname{flex:1;cursor:pointer}
.pm-ltog{cursor:pointer;color:#999}
.pm-lset{background:#fbfbfd;border:1px solid rgba(0,0,0,.08);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:rgba(0,102,204,.08);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:#fbfbfd;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:#0066cc}
.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:#d70015;font-weight:800;font-size:17px;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:rgba(0,102,204,.08);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:#0066cc;font-weight:700;font-size:14px}
.vp-sub{color:#999;font-size:11px;margin:6px 0 12px}
.vp-btn{background:#0066cc;color:#fff;border:0;border-radius:999px;padding:8px 34px;font-size:13px}
.vp-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--hair);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:#0066cc;font-weight:400;font-size:11px}
.vp-bar-t{font-size:11px;color:#0066cc}
.vp-tools{position:absolute;right:-34px;top:120px;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);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 rgba(0,0,0,.08)}
.mp-tip{background:rgba(0,102,204,.08);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:#fbfbfd;border-radius:8px;padding:12px 14px;margin-bottom:14px}
.mp-homeic{width:38px;height:38px;border-radius:50%;background:rgba(0,102,204,.08);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 rgba(0,0,0,.08);border-radius:6px}
.mp-audit{font-size:12px;color:#666;line-height:1.6;white-space:nowrap}
.mp-more{position:fixed;z-index:320;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:none;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 rgba(0,0,0,.08);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:rgba(0,102,204,.08)}
.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:#0066cc;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:none}
.bd-audit{font-size:12px;color:#0066cc;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:14px;border:2px solid transparent}
.th-sw.on{border-color:#0066cc;box-shadow:0 0 0 2px rgba(0,102,204,.35)}
.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 rgba(0,0,0,.08);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 #0066cc;padding-left:8px;margin:22px 0 6px;font-size:14px}
.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:#34c759}
.gd-sw input:checked+span:before{left:20px}
.gd-ph{width:230px;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:10px;background:#fbfbfd;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 rgba(0,0,0,.08);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 #0066cc;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:#0066cc;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:#0066cc;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:#0066cc;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 rgba(0,0,0,.08);border-radius:6px;padding:3px 6px;background:#fff}
.grp-ic{cursor:pointer;color:#8a93a8;margin-left:4px}
.grp-ic:hover{color:#0066cc}
.grp-pop{position:fixed;z-index:300;background:#fff;border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);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:#0066cc;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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);border-radius:10px;padding:10px;cursor:pointer;background:#fff}
.gs-card.on{border-color:#0066cc}
.gs-cap{font-size:12px;color:#666;min-height:32px}
.gs-mock{border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:6px;background:#fbfbfd}
.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:10px;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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);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:rgba(0,102,204,.08);color:#0066cc;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:17px}
.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:#f5f5f7;border-radius:3px;vertical-align:middle}
.mt-bar i{display:block;height:100%;background:#0066cc;border-radius:3px}
.mt-detail{display:flex;gap:26px;background:#fbfbfd;border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);border-radius:10px;padding:14px;cursor:pointer;background:#fff;font-size:13px}
.pt-card.on{border-color:#0066cc;box-shadow:0 0 0 1px #0066cc}
.pt-card h4{margin:0 0 6px}
.pt-check{position:absolute;right:0;bottom:0;background:#0066cc;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:#fbfbfd;border:1px solid #edf0f5;border-radius:10px;padding:14px;text-align:center}
.pd-stage canvas{max-width:100%;height:auto;border:1px solid rgba(0,0,0,.08);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:#fbfbfd;border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);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 rgba(0,0,0,.08)}
.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 rgba(0,0,0,.08);border-radius:10px;padding:16px 14px;cursor:pointer;background:#fff}
.tf-pack.on{border-color:#0066cc;background:#f4f8ff}
.tf-disc{position:absolute;top:0;right:0;background:#d70015;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:#d70015;font-weight:700}

/* 店铺信息/店铺评分（021） */
.pf-note{background:rgba(0,102,204,.08);border:1px solid transparent;color:#1d1d1f;padding:10px 14px;border-radius:8px;margin-bottom:12px;line-height:1.9}
.pf-note a{color:#0066cc}
.pf-h{border-left:3px solid #0066cc;padding-left:8px;margin:18px 0 12px;font-size:14px}
.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:#0066cc;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:#fbfbfd}
.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 rgba(0,0,0,.08);border-radius:18px;padding:16px 14px;text-align:center;box-shadow:none}
.gs-ph-t{font-weight:700;font-size:14px;margin-bottom:10px}
.gs-ph-cover{background:linear-gradient(135deg,#ff9a56,#d70015);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:#86868b;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:#d70015;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:#86868b}
.gs-ph-tabs .on{color:#0066cc;font-weight:700;border-bottom:2px solid #0066cc}
.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 #0066cc;outline-offset:2px;color:#7db4f0}
.pt-demo{width:250px;background:#f5f7fa;border-radius:8px;padding:14px;text-align:center}
.pt-demo-t{color:#86868b;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:#86868b;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:#0066cc;font-weight:600}
.st-ava{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#dbe7fd;color:#0066cc;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 rgba(0,0,0,.08);border-radius:8px;padding:12px;cursor:pointer;position:relative}
.role-card.on{border-color:#0066cc;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:200;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 rgba(0,0,0,.08);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:#f5f5f7;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:#86868b;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:#86868b;text-decoration:none}
.cf-ed:hover{color:#0066cc}
.cf-sort{width:64px}
.cf-ops{white-space:nowrap}
.cf-ops a,.cd-lops a{color:#0066cc;text-decoration:none}
.cf-titleedit input{width:200px}
.cf-priceedit input{padding:3px 6px}
.popmenu{position:fixed;z-index:320;background:#fff;border:1px solid rgba(0,0,0,.08);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:#fbfbfd;color:#0066cc}
.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 rgba(0,0,0,.08);margin-bottom:14px;flex-wrap:wrap}
.cd-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:#1d1d1f;padding:8px 14px;cursor:pointer;font-size:14px}
.cd-tabs button.on{color:#0066cc;border-bottom-color:#0066cc;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:#fbfbfd;border:1px solid rgba(0,0,0,.08);color:#1d1d1f;padding:5px 14px;border-radius:16px;cursor:pointer;font-size:13px}
.cd-subtabs button.on{background:#0066cc;border-color:#0066cc;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:#0066cc;text-decoration:none}
.cd-ledit{background:#fbfbfd;border:1px solid rgba(0,0,0,.08);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:#0066cc}
.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:#f5f5f7}
.au-note{background:rgba(0,102,204,.08);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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);padding:10px;overflow:auto}
.mp-tn{padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}
.mp-tn:hover{background:#fbfbfd}
.mp-tn.on{background:#e8effe;color:#0066cc;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:#f5f5f7;border-radius:4px;vertical-align:middle;font-size:20px}
.ops-sec{border-bottom:1px solid rgba(0,0,0,.08);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:#6e6e73;margin:8px 0}
.cd-pick{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(0,0,0,.08);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:#f5f5f7;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 rgba(0,0,0,.08);border-radius:8px;padding:12px;background:#fbfbfd}
.cd-card b{font-size:20px;display:block;margin-top:4px}
.cd-legend{display:flex;gap:16px;font-size:12px;color:#6e6e73;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 rgba(0,0,0,.08);border-radius:14px;padding:14px;background:#fbfbfd}
.cd-phone-head{font-weight:600;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:8px;margin-bottom:10px}
.cd-phone-line{padding:8px 0}
.cd-like-pill{background:#fff0f0;color:#d70015;border-radius:12px;padding:3px 12px}
.sh-tabs{display:flex;gap:4px;margin-bottom:12px}
.sh-tabs button{background:#fbfbfd;border:1px solid rgba(0,0,0,.08);padding:6px 18px;border-radius:6px;cursor:pointer}
.sh-tabs button.on{background:#0066cc;color:#fff;border-color:#0066cc}
.sh-lnk{color:#6e6e73;text-decoration:none}
.sh-lnk.on{color:#0066cc;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:#fbfbfd}
.svc-ic{font-size:30px}
.svc-nm{font-size:17px;font-weight:700}
.svc-desc{font-size:13px;color:#6e6e73;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.svc-price{color:#d70015;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 rgba(0,0,0,.08);padding-top:10px;margin-top:auto}
.svc-tag{position:absolute;top:10px;right:10px;background:#d70015;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 rgba(0,0,0,.08);border-radius:10px;padding:12px 16px;margin-bottom:12px}
.ca-step{color:#86868b;font-size:14px}
.ca-step b{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#f5f5f7;color:#86868b;align-items:center;justify-content:center;margin-right:6px;font-size:12px}
.ca-step.on{color:#0066cc;font-weight:600}
.ca-step.on b{background:#0066cc;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 rgba(0,0,0,.08);border-radius:8px;padding:8px 10px;background:#fbfbfd;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:rgba(0,102,204,.08);color:#0066cc;border-radius:20px;padding:2px 10px;margin:2px 4px 2px 0;font-size:12px}
.ca-chip a{color:#0066cc;text-decoration:none}
.ca-modes{display:flex;gap:10px;flex-wrap:wrap}
.ca-mode{border:1.5px solid rgba(0,0,0,.08);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:#0066cc;background:#f4f8ff}
.ca-foot{margin-top:18px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08);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:#34c759;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 rgba(0,0,0,.08);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:#0066cc;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:#fbfbfd;font-size:13px}
.dbx-tile span{font-size:20px}
.dbx-tile:hover{border-color:#0066cc;color:#0066cc}
.dbx-canvas{margin-top:10px;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px;background:#fcfdfe}
.dbx-block{border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);border-radius:10px;padding:10px 14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;background:#fff}
.dbx-tpl:hover{border-color:#0066cc}
.camp-hero{background:#0066cc;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:#0066cc;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 rgba(0,0,0,.08);border-radius:10px;padding:12px;background:#fbfbfd}
.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 rgba(0,0,0,.08);border-radius:6px}
.x26-spacer{flex:1}
.x26-tabs{display:flex;gap:4px;border-bottom:2px solid rgba(0,0,0,.08);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:#0066cc;border-color:#0066cc;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:#fbfbfd;border-radius:4px;font-size:18px}
.x26-sort{width:64px;padding:4px 6px;border:1px solid rgba(0,0,0,.08);border-radius:6px}
.x26-batch{margin-top:12px;padding:10px;background:#fbfbfd;border-radius:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.x26-chip{display:inline-block;background:rgba(0,102,204,.08);color:#0066cc;border-radius:20px;padding:2px 10px;margin:0 4px 4px 0;font-size:12px}
.x26-chip a{color:#0066cc;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 rgba(0,0,0,.08);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:#fbfbfd;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:#0066cc;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:#fbfbfd}
.x26-mkcard:hover{border-color:#0066cc;background:#f2f6ff}
.x26-mk-ic{font-size:30px;margin-bottom:6px}
.x26-wd{display:inline-block;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:4px 10px;margin-right:6px;cursor:pointer}
.x26-wd input{display:none}
.x26-wd.on{background:#0066cc;color:#fff;border-color:#0066cc}
.x26-upbtn{display:inline-block;background:#0066cc;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:#fbfbfd;border-radius:20px;color:#666}
.x26-steps span.on{background:#0066cc;color:#fff}
.x26-steps i{color:#bbb;font-style:normal}
.x26-qcard{border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:12px;margin-bottom:10px;background:#fbfbfd}
.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 rgba(0,0,0,.08);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:#34c759;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 rgba(0,0,0,.08);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:17px}
.x26-qbleft input{width:100%;padding:6px 8px;border:1px solid rgba(0,0,0,.08);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:rgba(0,102,204,.08);color:#0066cc;font-weight:600}
.x26-qbright{flex:1;min-width:0}
.x26-quick{display:flex;gap:14px}
.x26-qpanel{flex:1;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:12px}
.x26-qphead{display:flex;justify-content:space-between;margin-bottom:8px}
.x26-qpanel textarea{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:8px}
.x26-qresult{max-height:420px;overflow:auto}
.x26-qitem{border-bottom:1px dashed rgba(0,0,0,.08);padding:8px 0}
.x26-post{border-bottom:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08)}
.x26-search{display:flex;gap:8px}
.x26-search input{flex:1;padding:6px 8px;border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08)}
.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:rgba(0,102,204,.08)}
.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 rgba(0,0,0,.08);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:#86868b}
.x27-addplus{font-size:34px;line-height:1}
.x27-bt{font-weight:700;font-size:14px}
.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 rgba(0,0,0,.08);padding:12px;text-align:center;margin-top:14px}
.x27-tabs{border-bottom:1px solid rgba(0,0,0,.08);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:#0066cc;border-color:#0066cc;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:#d70015;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:#86868b;font-size:12px}
.x27-sgwrap{display:flex;gap:16px;align-items:flex-start}
.x27-sgpal{flex:0 0 300px;border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);flex-wrap:wrap}
.x27-sgrule b{flex:0 0 110px}
.x27-sged{flex:1}
.x27-sgempty{color:#86868b;text-align:center;padding:60px 0}
.x27-formbar{position:sticky;bottom:0;background:#fff;border-top:1px solid rgba(0,0,0,.08);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:#0066cc;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 rgba(0,0,0,.08);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 #0066cc;border-radius:50%;padding:14px 8px;font-size:12px;color:#0066cc}
.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:#0066cc}
.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:#0066cc;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:#0066cc;border-bottom:2px solid #0066cc;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:#fbfbfd}
.lv29-cc b{font-size:14px}
.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:#0066cc;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:#f5f5f7;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:#e53935;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:#fbfbfd;line-height:2}
.lv29-dnote{background:#fff8e6;color:#8a6d1a;border:1px solid #f0dfae;border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:12px}
.lv29-dhead{display:flex;gap:14px;align-items:flex-start}
.lv29-dcover{position:relative;width:150px;height:100px;border-radius:8px;background:#f5f5f7;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:#0066cc;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:#0066cc;font-weight:600;border-bottom:2px solid #0066cc}
.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:#fbfbfd}
.lv29-subtabs a.on{background:#0066cc;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:#fbfbfd}
.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 rgba(0,0,0,.08);margin-bottom:12px}
.lv30-tabs a{padding:8px 18px;color:#5b6b84;border-bottom:2px solid transparent;margin-bottom:-2px}
.lv30-tabs a.on{color:#0066cc;border-bottom-color:#0066cc;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 rgba(0,0,0,.08);margin-bottom:14px}
.ci33-tabs button{background:none;border:none;color:#333;font-size:14px;padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}
.ci33-tabs button.on{color:#0066cc;border-bottom-color:#0066cc;font-weight:600}
.ci33-cards{display:flex;gap:14px;margin-bottom:14px}
.ci33-card{flex:1;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:16px 18px;background:#fbfbfd;position:relative}
.ci33-cl{color:#666;font-size:13px}
.ci33-tip{color:#0066cc;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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);border-radius:8px;padding:16px 18px;margin-bottom:14px;background:#fff}
.ci33-sec-h{font-size:14px;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 rgba(0,0,0,.08);border-radius:8px;padding:14px 16px;background:#fbfbfd}
.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:400;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:#0066cc;border-color:#0066cc;color:#fff}
.tm34-notice{background:#eaf1fe;border:1px solid #b9cff8;color:#0066cc;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:14px;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:14px;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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);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 rgba(0,0,0,.08);border-radius:10px;padding:14px 16px;cursor:pointer;position:relative;background:#fff}
.rel41-card.on{border-color:#0066cc;background:#f4f8ff}
.rel41-ct{font-size:17px;font-weight:700;margin-bottom:8px}
.rel41-card.on .rel41-ct{color:#0066cc}
.rel41-check{position:absolute;right:10px;bottom:8px;color:#0066cc;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:#d70015;color:#fff;font-size:11px;border-radius:3px;padding:1px 5px;margin-left:6px}

/* v2.5.0-042 推广业绩 */
.pf42-title{border-left:4px solid #0066cc;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:14px}
.pm43-defk{color:#666}

/* v2.5.0-044 导购员排行榜 */
.rk44-phone{width:300px;border:1px solid var(--hair);border-radius:18px;padding:16px;background:#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:#fbfbfd;font-size:13px}
.rk44-ph-tabs span.on{background:#0066cc;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:#0066cc;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,rgba(0,102,204,.08),#f7faff)}
.fc45-buy{background:#0066cc;color:#fff;border:none;border-radius:20px;padding:10px 34px;font-size:14px;cursor:pointer;margin-top:10px}
.fc45-ownedtag{display:inline-block;background:#34c759;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:#0066cc}
.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:14px}
.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:#0066cc;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:#86868b;margin-left:8px}
.ml46-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ml46-cats button{background:#fbfbfd;border:none;border-radius:16px;padding:5px 14px;cursor:pointer}
.ml46-cats button.on{background:#0066cc;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:#eef3fd;display:flex;align-items:center;justify-content:center;font-size:26px;color:#0066cc;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:#0066cc;color:#fff;border:none;border-radius:6px;padding:7px 14px;cursor:pointer}
.ml46-mask button.w{background:#fff;color:#0066cc}
.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:#eef3fd;display:flex;align-items:center;justify-content:center;font-size:34px;color:#0066cc;overflow:hidden}
.ml46-dcover img{width:100%;height:100%;object-fit:cover}
.ml46-badge{background:#34c759;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 rgba(0,0,0,.08);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:#fbfbfd;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,#d70015,#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 rgba(0,0,0,.08);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:#d70015;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:#0066cc}
.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:rgba(0,102,204,.08);border:1px solid transparent;color:#1d1d1f;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:12px;text-decoration:none;box-shadow:none}
.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:#0066cc;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:12px;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:#86868b;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:#fbfbfd}
.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:13px;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:13px;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:14px;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 rgba(0,0,0,.08);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:#0066cc}
.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 rgba(0,0,0,.08);border-radius:6px;font-size:12px;background:#fff}
.vp-color{display:inline-flex;align-items:center;gap:2px;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:2px 6px;cursor:pointer;font-weight:700;color:#0066cc;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 rgba(0,0,0,.08)}
.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 rgba(0,0,0,.08);border-radius:7px;padding:0 8px;background:#fff}
.il2-tools input{height:32px;border:1px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);border-radius:10px;padding:10px;margin-bottom:14px;overflow-y:auto}
.il2-gsearch{display:flex;align-items:center;border:1px solid rgba(0,0,0,.08);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:rgba(0,102,204,.08);color:#0066cc;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:#fbfbfd;color:#6e6e73;font-weight:600;font-size:12px;padding:10px;text-align:left;border-bottom:1px solid rgba(0,0,0,.08)}
.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:#fbfbfd}
.il2-tbl tr.on td{background:rgba(0,102,204,.08)}
.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 rgba(0,0,0,.08);background:#f4f6fb}
.il2-imgcell span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.il2-badge{display:inline-block;background:#e8f1fe;color:#0066cc;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 rgba(0,0,0,.08);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:#0066cc;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 rgba(0,0,0,.08);border-radius:6px;background:#fff;font-size:12px;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:#0066cc;border-bottom-color:#0066cc;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 #0066cc;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 rgba(0,0,0,.08);border-radius:10px;background:#fbfbfd;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:#1d1d1f;border:1px solid #d8dee9;box-shadow:none;padding:7px 20px;border-radius:8px;font-size:13px;transition:all .18s}
.bd-tabs button:hover{color:#0066cc;border-color:#0066cc}
.bd-tabs button.on{background:#0066cc;color:#fff;border-color:#0066cc;box-shadow:0 2px 8px rgba(36,86,214,.28)}

/* 110：全站问号注释气泡（JS 定位，见 admin110） */
.kp-tip{position:fixed;z-index:400;background:#fff;color:#1d1d1f;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:#1d1d1f;font-size:13px;font-weight:400;line-height:1.65;padding:12px 14px;border-radius:8px;box-shadow:none;border:1px solid var(--hair);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:13px;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:#0066cc;color:#fff;font-weight:600}
.gz-step.done{background:#cfe0ff;color:#0066cc;cursor:pointer}

/* 116：微页面列表排版对齐原站 */
.mp-tip{padding:10px 14px;border-radius:6px}
.mp-homecard{background:#fbfbfd;border-radius:6px;padding:16px 18px;gap:14px}
.mp-homeic{background:#d7e6fa}
.mp-homeinfo b{font-size:14px}
.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:#0066cc;color:#fff;border-color:#0066cc}
.mp-pager input{width:46px;height:30px;text-align:center;border:1px solid rgba(0,0,0,.08);border-radius:6px}
.mp-pager select{height:30px;border:1px solid rgba(0,0,0,.08);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:#1d1d1f}
.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 rgba(0,0,0,.08);border-radius:8px;box-shadow:0 10px 30px rgba(20,30,60,.16);padding:5px;min-width:132px;z-index:320;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:#fbfbfd;color:#0066cc}
.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:14px}
.kp-leave-b{display:flex;gap:12px;align-items:center;padding:16px 22px 22px;font-size:14px;color:#1d1d1f}
.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:rgba(0,102,204,.08);color:#1d1d1f;border:1px solid transparent}
.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 rgba(0,0,0,.08);padding-right:8px}
.d76-step{padding:9px 10px;border-left:3px solid transparent;cursor:pointer;font-size:13px;color:#1d1d1f}
.d76-step.on{color:#0066cc;border-left-color:#0066cc;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:12px}
.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:#1d1d1f}
.d76-tic{position:relative;width:44px;height:44px;border-radius:12px;background:#fbfbfd;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:10px;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:#1d1d1f}
.d76-casec{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,rgba(0,102,204,.08),#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 rgba(0,0,0,.08);font-size:13px;color:#1d1d1f}
.d76-news:last-child{border-bottom:0}
.d76-ticket{background:#fdf0f3;cursor:pointer}

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

/* 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:17px;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:#0066cc}
.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:#1d1d1f;cursor:pointer}
.od-tabs button:last-child{border-right:0}
.od-tabs button.on{color:#0066cc;font-weight:600;background:#f5f8ff}
.od-pop{position:absolute;z-index:320;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:13px}
.od-popg{font-weight:600;margin:8px 0 2px;color:#1c2536}

/* 135：内测提示条奶黄变体（商品分析页） */
.au-note.cream{background:rgba(0,102,204,.08);border-color:transparent;color:#1d1d1f}
.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}

/* 179 福利支出统计条（原站为一行两指标+竖线分隔） */
.db35-statbar{display:flex;align-items:center;gap:22px;background:#fbfbfd;border:1px solid #edf0f5;border-radius:8px;padding:12px 18px;margin:12px 0}
.db35-stat{display:flex;align-items:center;gap:10px;font-size:13px;color:#5b6478}
.db35-stat b{font-size:18px;color:#1f2733}
.db35-statdiv{width:1px;height:22px;background:#dde3ec}

/* ================= v2.5.0-184 苹果风主题层（HIG 桌面化） ================= */
:root{--pri:#0066cc;--pri-d:#0077ed;--bg:#f5f5f7;--card:#fff;--txt:#1d1d1f;--mut:#6e6e73;--line:rgba(0,0,0,.08);--side:#fbfbfd;--side-h:rgba(0,0,0,.045);--apple-red:#ff3b30;--apple-green:#34c759;--apple-orange:#ff9500;--hair:rgba(0,0,0,.08);--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
::selection{background:rgba(0,102,204,.22)}
body{background:var(--bg);color:var(--txt);font-family:var(--font);letter-spacing:0}
a{color:#0066cc}
/* 顶栏：毛玻璃浅色 */
.topbar{background:rgba(251,251,253,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);color:var(--txt);border-bottom:1px solid var(--hair);height:52px}
.topbar .brand-name{color:var(--txt)}
.brand-logo{background:#0066cc;border-radius:10px}
.sec-it{color:#3a3a3c;border-radius:980px;padding:6px 14px;font-size:13px}
.sec-it:hover{color:var(--txt);background:rgba(0,0,0,.045)}
.sec-it.on{background:rgba(0,102,204,.12);color:#0066cc;font-weight:600}
.tb-right{color:var(--mut)}
/* 侧栏：浅色 + 胶囊选中 */
.sidebar{background:var(--side);color:#3a3a3c;border-right:1px solid var(--hair)}
.brand-name{color:var(--txt)}
.nav-sec{color:#86868b;font-size:11px;font-weight:600;letter-spacing:.06em}
.nav-it{color:#3a3a3c;border-radius:10px;padding:8px 12px;font-size:13px}
.nav-it:hover{background:var(--side-h);color:var(--txt)}
.nav-it.on{background:rgba(0,102,204,.12);color:#0066cc;font-weight:600}
.nav-it .ic{filter:grayscale(1);opacity:.75;font-size:14px}
.nav-it.on .ic{filter:none;opacity:1}
.side-foot{border-top:1px solid var(--hair);color:#86868b}
/* 页头：毛玻璃 + 大标题 */
.header{background:rgba(251,251,253,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hair);height:60px}
.crumb{font-size:20px;font-weight:600;letter-spacing:-.374px;color:var(--txt)}
.h-right{color:var(--mut)}
#main{padding:24px 28px}
/* 卡片：大圆角、无边框、柔影 */
.card{background:var(--card);border:1px solid var(--hair);border-radius:18px;padding:20px 22px;box-shadow:none}
.card h3{font-size:17px;font-weight:600;letter-spacing:-.374px;color:var(--txt)}
.card h4{font-size:14px;font-weight:600;color:var(--txt)}
/* 表格：无底色表头 + 发丝线 */
th{background:transparent;color:#6e6e73;font-size:12px;font-weight:600;border-bottom:1px solid var(--hair)}
td{font-size:13px;color:#1d1d1f;border-bottom:1px solid rgba(0,0,0,.055)}
tr:hover td{background:#f5f5f7}
/* 按钮：全胶囊 */
button{background:var(--pri);border-radius:980px;padding:8px 18px;font-weight:500;box-shadow:none}
button:hover{background:#0077ed}
button:active{transform:scale(.95)}
button.ghost{background:#e8e8ed;color:#1d1d1f}
button.ghost:hover{background:#dcdce1}
button.danger{background:var(--apple-red)}
button.danger:hover{background:#e63329}
button.sm{border-radius:980px;padding:5px 13px}
button:disabled{opacity:.45;cursor:default;transform:none}
/* 表单：圆角 + 聚焦环 */
input,select,textarea{border:1px solid rgba(0,0,0,.16);border-radius:10px;padding:8px 12px;background:#fff;color:var(--txt)}
input:focus,select:focus,textarea:focus{border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.16)}
input[type=checkbox],input[type=radio]{accent-color:#0066cc;width:16px;height:16px;padding:0}
label{color:#3a3a3c}
.field label{color:#1d1d1f;font-weight:600}
::placeholder{color:#aeaeb2}
/* 分段控件式页签 */
.ci33-tabs{display:inline-flex;background:#e9e9ee;border-radius:980px;padding:2px;gap:2px}
.ci33-tabs button{background:transparent;color:#3a3a3c;border-radius:980px;margin:0;padding:6px 16px;box-shadow:none}
.ci33-tabs button:hover{background:rgba(255,255,255,.55)}
.ci33-tabs button.on{background:#fff;color:#1d1d1f;font-weight:600}
.od-tabs{border:1px solid transparent;background:#e9e9ee;border-radius:980px;padding:2px}
.od-tabs button{border-radius:980px}
.od-tabs button.on{background:#fff;color:#1d1d1f;border-color:transparent}
.sp-tabs{border-bottom:1px solid var(--hair)}
.sp-tabs .on{color:#0066cc;box-shadow:inset 0 -2px 0 #0066cc;font-weight:600}
/* 分页 */
.ci33-pager button,.mp-pager button{border-radius:980px}
.mp-pager .on{background:#0066cc}
/* 弹窗：大圆角 + 背景模糊 */
.modal{background:rgba(0,0,0,.30);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-body{border-radius:18px;border:1px solid var(--hair);box-shadow:none}
.modal-body h3{font-size:17px;font-weight:600;letter-spacing:-.374px}
/* 开关：苹果绿 */
.nv-switch span{background:#e9e9ee}
.nv-switch input:checked+span{background:var(--apple-green)}
.pf-sw input:checked+.pf-tr{background:var(--apple-green)}
/* 提示条：柔和底色 */
.au-note{background:rgba(0,102,204,.08);color:#1d1d1f;border-radius:12px;border:1px solid transparent}
.kp-trafficbar{background:#fff1f0;color:#d70015;border:1px solid transparent;border-radius:12px}
/* 统计数字 */
.stat b,.stat-grid .stat b{color:var(--txt);letter-spacing:-.02em}
.db35-statbar{background:#f5f5f7;border-radius:12px;border:1px solid transparent}
/* 筛选卡内控件对齐微调 */
.ci33-filters{background:#fbfbfd;border:1px solid var(--hair);border-radius:14px}
/* 滚动条 */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.22);border-radius:980px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.36);border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}
/* 提示气泡：深色圆角 */
.gzh-q:after{border-radius:10px;border:1px solid rgba(0,0,0,.08)}
/* 手机框保持深色设备观感，不受浅色主题影响 */
.phone{background:#111;border-color:#000}

/* ================= v2.5.0-187 移动店铺编辑器苹果风（builder 家族） ================= */
.builder{border-radius:20px;border:1px solid var(--hair)}
.b-top{padding:14px 20px;border-bottom:1px solid var(--hair);background:rgba(255,255,255,.85)}
.b-top b{font-size:17px;font-weight:600;letter-spacing:-.374px;color:#1d1d1f}
.b-body{background:#fff}
/* 左栏：深蓝导航柱 → 苹果浅色侧栏 */
.b-rail{background:#f5f5f7;border-right:1px solid var(--hair);padding:10px 0}
.b-railbtn{color:#6e6e73;border-left:0;border-radius:12px;margin:2px 7px;padding:10px 2px;font-size:11px}
.b-railbtn span{font-size:19px;filter:grayscale(35%)}
.b-railbtn.on{color:#0066cc;background:#fff;border-left-color:transparent}
.b-railbtn.on span{filter:none}
.b-panel{background:#fff;padding:8px}
.b-grp{font-size:13px;font-weight:600;color:#1d1d1f;padding:10px 6px 6px}
.b-grp span{color:#aeaeb2;font-weight:400}
/* 组件瓷砖 */
.bcomp{border:1px solid var(--hair);border-radius:14px;background:#fbfbfd;padding:12px 2px;font-size:12px;color:#1d1d1f;transition:all .15s}
.bcomp:hover{border-color:rgba(0,102,204,.35);color:#0066cc;transform:translateY(-1px);box-shadow:none}
.bcomp-ic{font-size:21px}
.bcomp small{color:#ff9500}
/* 中间画布 */
.b-center{background:#e9e9ee}
#phTools button{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--hair);border-radius:50%;color:#1d1d1f}
/* 右栏设置 */
.b-right{background:#fff}
.b-tabs{background:#e9e9ee;border-radius:12px;padding:2px;gap:2px}
.b-tabs button{flex:1;border-radius:10px;background:transparent!important;color:#6e6e73!important;box-shadow:none!important;padding:7px 0}
.b-tabs button:not(.ghost){background:#fff!important;color:#1d1d1f!important;font-weight:600}
.bd-sec{font-size:14px;font-weight:600;color:#1d1d1f;margin:18px 0 6px}
.bd-tabs button{border:1px solid rgba(0,0,0,.10);border-radius:10px;color:#1d1d1f}
.bd-tabs button:hover{border-color:#0066cc;color:#0066cc}
.bd-tabs button.on{background:#0066cc;border-color:#0066cc;color:#fff;box-shadow:none}
.bd-cardimg{border:1px solid var(--hair);border-radius:14px;background:#f5f5f7;color:#6e6e73}
.bd-cardimg img,.bd-cardimg>span{border-radius:13px}
.bd-cardimg>span{border-radius:0 0 13px 13px}
.bd-auditnote{color:#ff3b30}
/* 移动店铺落地页签：下划线蓝条 → 胶囊分段 */
.ms-tabs{border-bottom:0;gap:6px;margin-bottom:14px}
.ms-tabs button{border-radius:980px;padding:7px 16px;color:#6e6e73;background:#f5f5f7}
.ms-tabs button.on{background:#0066cc;color:#fff}

/* ================= v2.5.0-188 全站苹果风补全层 ================= */
/* 标题层级（SF 比例） */
h1{font-size:28px;font-weight:700;letter-spacing:-.02em;color:#1d1d1f}
h2{font-size:22px;font-weight:600;letter-spacing:-.015em;color:#1d1d1f}
h3{font-size:17px;font-weight:600;letter-spacing:-.01em;color:#1d1d1f}
h4{font-size:14px;font-weight:600;color:#1d1d1f}
h5{font-size:13px;font-weight:600;color:#1d1d1f}
h6{font-size:12px;font-weight:600;color:#6e6e73}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(0,113,227,.45);outline-offset:1px}
input[type=range]{accent-color:#0066cc}
.sidebar ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.16)}
/* 通用卡片/面板家族归一化 */
.stat,.svc-card,.camp-card,.role-card,.ci33-card,.cd-card,.gc-card,.gs-card,.pt-card,.sc-card,.tpl-card,.vd-card,.uw38-card,.rel41-card,.ve-card,.ml46-card,.fc45-advcard,.sa47-ccard,.x26-qcard,.x26-mkcard,.il2-side,.pmx-shop,.pmx-chan,.nv-card,.gd-sheet,.mp-homecard,.dbx-tpl{background:#fff;border:1px solid var(--hair);border-radius:16px;box-shadow:none}
.svc-card.owned{background:#fbfbfd}
.ci33-cell,.lv29-stat,.x26-stat,.d76-tic{background:#fbfbfd;border:1px solid var(--hair);border-radius:14px}
.lv29-statv{color:#1d1d1f;letter-spacing:-.01em}
/* 提示条 */
.cf-notice,.od-stats,.di36-notice,.tm34-notice,.lv29-banner-note{background:rgba(0,102,204,.07);border:1px solid transparent;color:#1d1d1f;border-radius:12px}
.lv29-banner-warn{background:rgba(255,149,0,.10);border:1px solid transparent;border-radius:12px;color:#7a4a00}
/* 徽标/计数 */
.badge{background:rgba(0,102,204,.10);color:#0066cc;border-radius:980px;font-weight:500}
.badge.ok{background:rgba(52,199,89,.13);color:#248a3d}
.badge.warn{background:rgba(255,149,0,.14);color:#9a5b00}
.badge.off{background:#f5f5f7;color:#6e6e73}
.nt-badge{background:#ff3b30;border-radius:980px}
.mp-homebadge{background:#0066cc;border-radius:6px}
.il2-badge{background:rgba(0,102,204,.10);color:#0066cc;border:1px solid transparent;border-radius:980px}
/* 页签家族（描边型 → 发丝线 + 苹果蓝选中） */
.tabs,.x27-tabs,.x27-usertabs,.cd-tabs,.cd-subtabs,.lv29-tabs,.lv29-subtabs,.lv29-itabs,.lv29-shelftabs,.tm34-subtabs,.np-tabs{border-bottom:1px solid var(--hair)}
.x27-tabs a.on,.cd-tabs .on,.cd-subtabs .on,.lv29-tabs .on,.lv29-subtabs .on,.tm34-subtabs .on{color:#0066cc;font-weight:600}
/* 菜单/浮层/抽屉 */
.popmenu,.sb-menu,.kp-more-menu,.od-pop,.grp-pop,.grp-sharepop,.x26-dropdown,.kp-tip,.np-box{border:1px solid var(--hair);border-radius:16px;box-shadow:none}
.popmenu-it,.kp-more-menu a{border-radius:9px}
.popmenu-it:hover,.kp-more-menu a:hover,.sb-menu a:hover{background:#f5f5f7;color:#0066cc}
.kp-leave{border-radius:18px;border:1px solid var(--hair);box-shadow:none}
.kp-leave-i{background:#0066cc;font-family:inherit;font-style:normal}
.rl-drawer{border-radius:18px 0 0 18px;border-left:1px solid var(--hair);box-shadow:none}
/* Toast：深色胶囊 */
.ci33-toast{background:rgba(29,29,31,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:980px;padding:11px 24px;box-shadow:none}
/* 专属工具栏控件 */
.vp-tb select,.vp-color,.il2-gsearch,.il2-pager select,.il2-gsel,.mp-pager input,.mp-pager select{border:1px solid var(--hair);border-radius:10px;background:#fff;color:#1d1d1f}
.il2-pageno{background:#0066cc;border-radius:8px}
.il2-tbl th,.cf-tbl th,.pf42-tbl th,.mp-ptable th{background:transparent;color:#6e6e73;border-bottom:1px solid var(--hair)}
/* 可选瓷砖/色板 */
.np-cell,.ic-cell,.bs-cell,.nt-ic,.il-cell,.sb-icpv,.ve-nav-ic{border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff}
.np-cell.on,.ic-cell.on,.bs-cell.on,.nt-ic.on,.il-cell.on{border-color:#0066cc;background:rgba(0,102,204,.06)}
.seg{background:#f5f5f7;border:1px solid transparent;border-radius:980px;color:#3a3a3c}
.seg.on{background:rgba(0,102,204,.10);border-color:transparent;color:#0066cc;font-weight:600}
.cpick input[type=color]{border:1px solid rgba(0,0,0,.08);border-radius:10px}
.ve-clist{border:1px solid rgba(0,0,0,.06);border-radius:12px}
/* 页面横幅/大按钮（管理界面，非模板内容） */
.camp-hero{background:#1d1d1f;border-radius:20px}
.ml46-banner{background:#1d1d1f;border-radius:20px}
.fc45-hero{background:#f5f5f7;border-radius:20px}
.pmx-head{background:#1d1d1f}
.pmx-copy,.pmx-cta{background:#0066cc;box-shadow:none}
.pmx-copy.done{background:#34c759}
.sa47-banner{background:#ff9500;border-radius:12px}
.mt-athumb{background:#0066cc;border-radius:10px}
.ca-pava{background:#0066cc}
.d76-tico{background:rgba(0,102,204,.08);border-radius:12px}
.d76-casec{background:#f5f5f7}
.rk44-phone{background:#fbfbfd;border:1px solid rgba(0,0,0,.06);border-radius:20px}
.svc-ic{border-radius:12px}

/* ================= v2.5.0-189 登录页 + 账号下拉卡 ================= */
.lg-page{position:fixed;inset:0;z-index:300;overflow:auto;background:#f5f5f7;font-family:var(--font);color:#1d1d1f}
.lg-brand{position:absolute;top:22px;left:30px;display:flex;align-items:center;gap:10px}
.lg-brandname{font-size:19px;font-weight:700;letter-spacing:-.01em}
.lg-main{max-width:1120px;margin:0 auto;padding:110px 24px 30px;display:flex;gap:56px;align-items:flex-start;justify-content:center}
.lg-left{flex:1;max-width:520px;padding-top:26px}
.lg-left h1{font-size:42px;font-weight:700;letter-spacing:-.02em;margin:0 0 12px;color:#1d1d1f}
.lg-left h1 em{font-style:normal;color:#0066cc}
.lg-left p{font-size:16.5px;color:#3a3a3c;letter-spacing:.14em;margin:0 0 8px}
.lg-artsvg{width:100%;max-width:430px;height:auto;margin-top:12px}
.lg-card{width:400px;flex:none;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:26px 30px 18px;position:relative}
.lg-tabs{display:flex;gap:0;background:#f5f5f7;border-radius:12px;padding:3px;margin-bottom:18px}
.lg-tabs button{flex:1;background:transparent;color:#6e6e73;border-radius:9px;padding:9px 0;font-size:15.5px;font-weight:500;box-shadow:none;margin:0}
.lg-tabs button.on{background:#fff;color:#1d1d1f;font-weight:600}
.lg-subtabs{display:flex;gap:20px;margin-bottom:16px}
.lg-subtabs button{background:none;color:#3a3a3c;border-radius:0;padding:5px 2px;font-size:14.5px;box-shadow:none;margin:0;border-bottom:2.5px solid transparent}
.lg-subtabs button.on{color:#1d1d1f;font-weight:600;border-bottom-color:#0066cc}
.lg-h{font-size:21px;font-weight:600;margin:2px 0 16px}
.lg-in{width:100%;border:1px solid var(--hair);border-radius:11px;padding:12px 14px;font-size:14.5px;margin:0 0 12px;background:#fff;color:#1d1d1f}
.lg-in:focus{border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.15);outline:none}
.lg-pwwrap{position:relative}
.lg-eye{position:absolute;right:12px;top:11px;cursor:pointer;opacity:.45;font-size:14px}
.lg-crow{display:flex;gap:10px;align-items:flex-start}
.lg-crow .lg-in{flex:1}
.lg-capimg{width:120px;height:45px;flex:none;border-radius:11px;overflow:hidden;border:1px solid rgba(0,0,0,.08);cursor:pointer;background:#f5f5f7}
.lg-capimg svg{width:100%;height:100%;display:block}
.lg-send{flex:none;background:#e8e8ed;color:#0066cc;border-radius:11px;padding:12px 14px;font-size:13px;font-weight:500;margin:0;box-shadow:none;white-space:nowrap}
.lg-send:disabled{color:#86868b;cursor:default}
.lg-row2{display:flex;align-items:center;gap:16px;margin:0 0 14px}
.lg-row2 .lg-link{margin-left:auto}
.lg-ck{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#3a3a3c;min-width:0;cursor:pointer}
.lg-ck input{accent-color:#0066cc;width:15px;height:15px;margin:0}
.lg-big{width:100%;background:#0066cc;color:#fff;border-radius:12px;padding:13px 0;font-size:17px;font-weight:600;letter-spacing:.35em;text-indent:.35em;margin:4px 0 10px}
.lg-big:hover{background:#0077ed}
.lg-reg{text-align:center;font-size:13px;color:#6e6e73;margin:4px 0 6px}
.lg-link{color:#0066cc;font-size:13px;cursor:pointer}
.lg-err{background:#fff1f0;color:#d70015;border-radius:10px;padding:9px 13px;font-size:13px;margin-bottom:12px}
.lg-demo{font-size:12px;color:#9a5b00;margin:-4px 0 10px;min-height:0}
.lg-demo:empty{display:none}
.lg-demo b{cursor:pointer;text-decoration:underline}
.lg-qr{width:196px;height:196px;margin:8px auto 4px;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:10px;background:#fff}
.lg-qrt{text-align:center;color:#6e6e73;font-size:13px;margin:6px 0 10px}
.lg-panel .lg-ck{display:flex;justify-content:center;margin-bottom:10px}
.lg-agree{border-top:1px solid rgba(0,0,0,.06);margin-top:14px;padding-top:12px;font-size:12px;color:#86868b;text-align:center}
.lg-agree a{color:#0066cc}
.lg-plat{margin-left:10px;color:#aeaeb2;cursor:pointer;font-size:12px}
.lg-plat:hover{color:#0066cc}
.lg-foot{text-align:center;color:#86868b;font-size:13px;padding:8px 0 26px;line-height:1.9}
.lg-foot span{font-size:12px;color:#aeaeb2}
@media (max-width:900px){.lg-left{display:none}.lg-main{padding-top:90px}}
/* 账号下拉卡 */
#tokenBox{position:relative}
.acct-chip{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:3px 10px 3px 4px;border-radius:980px}
.acct-chip:hover{background:rgba(0,0,0,.045)}
.acct-ava{width:30px;height:30px;border-radius:50%;background:#0066cc;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex:none}
.acct-ava.lg{width:42px;height:42px;font-size:18px}
.acct-nm{font-size:13px;color:#1d1d1f;font-weight:500}
.acct-caret{color:#86868b;font-size:11px}
.acct-menu{position:absolute;right:0;top:calc(100% + 8px);width:330px;background:#fff;border:1px solid var(--hair);border-radius:18px;box-shadow:none;padding:16px;z-index:900;text-align:left}
.acct-head{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06)}
.acct-head b{font-size:14px}
.acct-head a{margin-left:auto;color:#0066cc;font-size:13px}
.acct-plan{background:#f5f5f7;border-radius:14px;padding:12px 14px;margin:12px 0}
.acct-planrow{display:flex;align-items:center;justify-content:space-between}
.acct-plan p{margin:6px 0 0}
.acct-days{background:rgba(255,149,0,.16);color:#9a5b00;border-radius:980px;padding:1px 8px;font-size:11.5px}
.acct-quota{padding:4px 2px 10px}
.acct-qrow{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}
.acct-qrow a{color:#0066cc;font-size:13px}
.acct-bar{height:5px;background:#e9e9ee;border-radius:980px;overflow:hidden;margin-bottom:5px}
.acct-bar i{display:block;height:100%;background:#0066cc;border-radius:980px}
.acct-foot{border-top:1px solid rgba(0,0,0,.06);padding-top:10px;font-size:12px;color:#6e6e73;margin:2px 0 0}
.acct-foot a{color:#0066cc}

/* ================= v2.5.0-190 品牌悬停卡 + 日期灰字 ================= */
.topbar .brand{position:relative;height:100%;cursor:pointer}
.acct-menu-brand{left:0;right:auto;top:calc(100% + 4px)}
input[type="date"].kp-dempty,input[type="datetime-local"].kp-dempty,input[type="month"].kp-dempty,input[type="time"].kp-dempty,input[type="week"].kp-dempty{color:#aeaeb2}
input[type="date"].kp-dempty::-webkit-datetime-edit,input[type="datetime-local"].kp-dempty::-webkit-datetime-edit,input[type="month"].kp-dempty::-webkit-datetime-edit,input[type="time"].kp-dempty::-webkit-datetime-edit,input[type="week"].kp-dempty::-webkit-datetime-edit{color:#aeaeb2}
input[type="date"].kp-dempty::-webkit-datetime-edit-text,input[type="date"].kp-dempty::-webkit-datetime-edit-month-field,input[type="date"].kp-dempty::-webkit-datetime-edit-day-field,input[type="date"].kp-dempty::-webkit-datetime-edit-year-field,input[type="datetime-local"].kp-dempty::-webkit-datetime-edit-text,input[type="datetime-local"].kp-dempty::-webkit-datetime-edit-month-field,input[type="datetime-local"].kp-dempty::-webkit-datetime-edit-day-field,input[type="datetime-local"].kp-dempty::-webkit-datetime-edit-year-field,input[type="datetime-local"].kp-dempty::-webkit-datetime-edit-hour-field,input[type="datetime-local"].kp-dempty::-webkit-datetime-edit-minute-field{color:#aeaeb2}

/* ================= v2.5.0-192 苹果风图标库 ================= */
.kp-ic{display:inline-flex;align-items:center;justify-content:center}
.kp-ic svg{display:block}
.nv-tb .kp-ic svg{width:23px;height:23px}
.nv-ph-ic svg{width:22px;height:22px}
.nv-ph-ic.on{color:#0066cc}
.nv-icprev{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#f5f5f7;border-radius:12px;color:#1d1d1f;flex:none}
.icp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-height:48vh;overflow:auto;padding:2px}
.icp-cat{grid-column:1/-1;font-size:12px;color:#6e6e73;margin:8px 0 0}
.icp-tile{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 2px 7px;background:#f5f5f7;border:0;border-radius:14px;color:#1d1d1f;cursor:pointer;margin:0;box-shadow:none;width:auto}
.icp-tile:hover{background:#e8f1fd;color:#0066cc}
.icp-tile i{font-style:normal;font-size:11px;color:#6e6e73}
.icp-t{display:flex}
.mn-gic .kp-ic svg,.mn-lic .kp-ic svg{width:21px;height:21px}
.mn-icedit .kp-ic svg{width:19px;height:19px;vertical-align:-4px}
.mn-orow i svg{width:20px;height:20px;vertical-align:-4px}
/* 193：顶部bar/个人中心头部 SVG 对齐 */
.nv-topbar svg,.nv-sp-r svg,.nv-sp-l svg,.mn-sign svg,.mn-vip svg{vertical-align:-2px}

/* ================= v2.5.0-194 微页面页签苹果分段控件 ================= */
.sp-tabs.mp-tabs{display:inline-flex;gap:2px;background:#e9e9ee;border:0;border-radius:12px;padding:3px;margin-bottom:14px}
.sp-tabs.mp-tabs button{background:transparent;border:0;border-radius:9px;color:#6e6e73;padding:6px 18px;font-size:13px;box-shadow:none;margin:0;width:auto}
.sp-tabs.mp-tabs button.on{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:none}

/* 205 图文导航跳转链接选择框放大：放不下就整行换行占满 */
.ve-nav-link{flex-wrap:wrap}
.ve-nav-link select{flex:1 1 160px;min-width:160px;height:36px;font-size:14px}
.ve-nav-m>input{height:36px;font-size:14px}

/* ===== 207 轮播轨道：可滑动 + 自动轮播（bdInitCarousels207 驱动） ===== */
.pv-cartrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pv-cartrack::-webkit-scrollbar{display:none}
.pv-cartrack img{flex:0 0 100%;width:100%;height:130px;object-fit:cover;display:block;scroll-snap-align:center}
.pv-scroll{overflow-x:auto;scrollbar-width:none}
.pv-scroll::-webkit-scrollbar{display:none}

/* ===== 212 搜索框浅蓝底（与 H5 同步） ===== */
.pv-search{background:#e9f2ff}

/* ===== 213 样式2 数字角标改右上角（与 H5 同步） ===== */
.pv-num{top:8px;bottom:auto}

/* ===== 214 样式3 露边排列（预览，与 H5 同步） ===== */
.pv-cartrack.peek{gap:8px}
.pv-cartrack.peek img{flex:0 0 93%}

/* ===== 215 样式4 中线翻转（预览，与 H5 同步） ===== */
.pv-flip{position:relative;height:130px;perspective:700px}
.pv-fslide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:rotateX(92deg);transform-origin:center center;transition:transform .45s ease,opacity .45s ease;pointer-events:none}
.pv-fslide.on{opacity:1;transform:rotateX(0deg);pointer-events:auto;z-index:2}
.pv-fslide.out{transform:rotateX(-92deg);opacity:0;z-index:1}

/* ===== 218 组件库磁贴/分类轨图标苹果风单色 ===== */
.bcomp-ic{color:#3a3a3c;display:inline-flex;align-items:center;justify-content:center}
.b-railbtn span.kp-ic{display:inline-flex;filter:none}

/* ===== 221 手机框宽度改回原值 375（220 改错，应用户要求回退） ===== */
.phone{width:375px}

/* ===== 222 图片广告（轮播图）高度改 300px（原预览 130，用户指定） ===== */
.pv-car img{height:300px}
.pv-cartrack img{height:300px}
.pv-flip{height:300px}
.pv-flip .pv-fslide{height:100%}

/* ===== 223 图片广告（轮播图）高度改 200px（222 的 300 再改，用户指定） ===== */
.pv-car img{height:200px}
.pv-cartrack img{height:200px}
.pv-flip{height:200px}

/* ===== 224 图片广告默认高度恢复 130（默认模式）；自定义高度走组件内联样式 ===== */
.pv-car img{height:130px}
.pv-cartrack img{height:130px}
.pv-flip{height:130px}

/* ===== 226 条目卡片放宽：加大内边距/卡间距/行距，跳转链接标签不折行、下拉占满剩余宽，缩略图 44→52 ===== */
.ve-card{gap:14px;padding:14px;margin-bottom:12px}
.ve-main{gap:10px}
.ve-row{gap:8px}
.ve-row>span{white-space:nowrap;flex-shrink:0}
.ve-row select{flex:1;min-width:0;height:34px}
.ve-row input{height:34px}
.ve-ops{gap:6px}
.ve-ops button{padding:4px 9px;font-size:12px}
.ve-card>img,.ve-ic img{width:52px!important;height:52px!important}

/* ===== 227 图片广告卡片改原站排列：左侧大缩略图（底部「修改图片」条，点击开图片弹窗），操作钮圆钮置卡片右下 ===== */
.bn-thumb{position:relative;width:104px;height:64px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:pointer;background:#f1f3f7}
.bn-thumb img{width:100%!important;height:100%!important;object-fit:cover;display:block}
.bn-thumb-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#aaa}
.bn-thumb span{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:11px;text-align:center;line-height:20px}
.ve-card.bn-card{position:relative;padding-bottom:40px}
.bn-card .ve-ops{position:absolute;right:12px;bottom:12px;flex-direction:row;gap:6px}
.bn-card .ve-ops button{width:24px;height:24px;border-radius:50%;padding:0;font-size:12px;line-height:1}

/* ===== 228 图片广告缩略图缩小：104×64 → 80×50，「修改图片」条随之变矮 ===== */
.bn-thumb{width:80px;height:50px}
.bn-thumb span{line-height:18px}

/* ===== 229 编辑器右侧设置栏加宽：300 → 500px（用户要求设置区放大） ===== */
.b-right{width:500px;flex-shrink:0}

/* ===== 230 图片广告卡片左侧列：缩略图 + 下方「图片预览」按钮 ===== */
.bn-left{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.bn-pv-btn{width:80px;padding:3px 0;font-size:12px}

/* ===== 234 封面标准件：缩略图 + 底部图片预览按钮 ===== */
.cv-stack{display:inline-flex;flex-direction:column;gap:6px;vertical-align:top}
.cv-stack .cv-pvbtn{width:100%}

/* ===== 237 推广商品页页签苹果风：.sp-tabs 改分段控件（作用域 .dp-wrap 内，不影响其他页面的 .sp-tabs） ===== */
.dp-wrap .sp-tabs{display:inline-flex;gap:2px;background:#e9e9ee;border-bottom:0;border-radius:10px;padding:3px}
.dp-wrap .sp-tabs button{border-radius:8px;padding:5px 14px;font-size:13px;color:#3a3a3c;box-shadow:none}
.dp-wrap .sp-tabs button.on{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:none}

/* ===== 242 课程详情页页签苹果风：主页签 .cd-tabs 与子页签 .cd-subtabs 改分段控件（这两个类只用于课程详情页，不影响其他页面） ===== */
.cd-tabs{display:inline-flex;gap:2px;background:#e9e9ee;border-bottom:0;border-radius:10px;padding:3px;flex-wrap:wrap}
.cd-tabs button{border:0;border-bottom:0;border-radius:8px;padding:5px 14px;font-size:13px;color:#3a3a3c}
.cd-tabs button.on{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:none;border-bottom-color:transparent}
.cd-subtabs{display:inline-flex;gap:2px;background:#e9e9ee;border-radius:10px;padding:3px;flex-wrap:wrap}
.cd-subtabs button{background:transparent;border:0;border-radius:8px;padding:4px 12px;font-size:13px;color:#3a3a3c}
.cd-subtabs button.on{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:none;border-color:transparent}

/* ===== 253 用户列表页签 + 流量提醒条苹果风（用户截图批注两处） ===== */
/* 用户列表/积分等页共用的 .x27-tabs：蓝色下划线页签改 iOS 分段控件（同 237/242 口径） */
.x27-tabs{display:inline-flex;gap:2px;background:#e9e9ee;border-bottom:0;border-radius:10px;padding:3px;margin-bottom:14px;flex-wrap:wrap}
.x27-tabs a{display:inline-block;padding:5px 14px;color:#3a3a3c;border-bottom:0;margin-right:0;border-radius:8px;font-size:13px}
.x27-tabs a.on{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:none;border-color:transparent}
/* 全站流量余额条：粉底红字改苹果风——浅灰底 + 深色字；条内红色药丸按钮改蓝色文字按钮 */
.kp-trafficbar{background:#f2f2f7;color:#1d1d1f;border:1px solid transparent;border-radius:12px;text-align:center;padding:10px 14px;margin:0 0 12px;font-size:13px}
.kp-trafficbar .danger,.lv29-banner-warn .danger{background:transparent!important;color:#0071e3!important;border:0!important;box-shadow:none!important}

/* ===== 254 用户列表页（新版 pUsers72）页签苹果风：作用域 .u72-wrap 内 .sp-tabs，不动全局 .sp-tabs（其他页仍按原站口径） ===== */
.u72-wrap .sp-tabs{display:inline-flex;gap:2px;background:#e9e9ee;border:0;border-bottom:0;border-radius:12px;padding:3px;margin-bottom:14px;flex-wrap:wrap}
.u72-wrap .sp-tabs button{background:transparent;border:0;border-radius:9px;color:#3a3a3c;padding:5px 14px;font-size:13px;box-shadow:none;margin:0;width:auto}
.u72-wrap .sp-tabs button.on{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:none}

/* ===== 277 用户弹窗苹果风：作用域 .uid-apple 内（修改身份/续费/修改推荐人三个 openModal 弹窗，不动全局 .sp-tabs 与其他弹窗） ===== */
.uid-apple .sp-tabs{display:inline-flex;gap:2px;background:#e9e9ee;border:0;border-bottom:0;border-radius:12px;padding:3px;margin-bottom:16px;flex-wrap:wrap}
.uid-apple .sp-tabs button{background:transparent;border:0;border-radius:9px;color:#3a3a3c;padding:6px 16px;font-size:13px;box-shadow:none;margin:0;width:auto}
.uid-apple .sp-tabs button.on{background:#fff;color:#1d1d1f;font-weight:600;box-shadow:none}
.uid-apple input,.uid-apple select{border-color:#d2d2d7;border-radius:10px}
.uid-apple input:focus,.uid-apple select:focus{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.18)}
.uid-apple p>button{border-radius:10px;padding:9px 22px}
.uid-apple p>button.ghost{background:#f5f5f7;color:#1d1d1f}

/* ===== PC 官网原生 DIY 搭建器（桌面宽预览） ===== */
.pcb{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08);overflow:hidden}
.pcb-body{display:flex;gap:16px;padding:16px;align-items:flex-start}
.pcb-left{width:220px;flex-shrink:0}
.pcb-pal{display:flex;flex-wrap:wrap;gap:6px}
.pcb-center{flex:1;min-width:0}
.pcb-right{width:300px;flex-shrink:0}
.pcb-chip{border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:8px 10px;margin:6px 0;cursor:pointer;display:flex;gap:8px;align-items:center}
.pcb-chip.on{border-color:#0066cc;background:rgba(0,102,204,.08)}
.pcb-chip small{color:#999}
.pcb-chipops{margin-left:auto;display:flex;gap:2px}
.pcb-chipops button{padding:2px 6px;font-size:12px}

.kp-empty{padding:32px 16px;text-align:center;color:#86868b;font-size:13px}
