/* ===========================================================
   王钻联盟 · 后台管理系统样式（左黑侧栏 + 右白内容区）
   =========================================================== */
.admin-body{background:var(--a-bg);color:var(--a-text);min-height:100vh;display:flex;font-size:14px}
.admin-body ::-webkit-scrollbar-thumb{background:rgba(120,140,190,.35)}
.admin-body ::-webkit-scrollbar-thumb:hover{background:rgba(120,140,190,.55)}

/* ---------------- 登录页 ---------------- */
.login-layer{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(900px 460px at 12% -20%,rgba(47,123,255,.35),transparent 62%),
             radial-gradient(800px 420px at 88% 0%,rgba(240,185,11,.24),transparent 60%),#0B0E16;
}
.login-box{
  width:380px;background:#fff;border-radius:18px;padding:36px 32px 28px;
  box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.06);
  animation:loginIn .5s cubic-bezier(.2,.8,.2,1)
}
@keyframes loginIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
.login-logo{width:58px;height:58px;border-radius:15px;overflow:hidden;margin:0 auto 14px;
  border:2px solid rgba(240,185,11,.6);box-shadow:0 8px 22px rgba(240,185,11,.3)}
.login-logo img{width:100%;height:100%;object-fit:cover}
.login-box h1{text-align:center;font-size:19px;letter-spacing:3px;color:#0F1320;margin:0 0 4px;font-weight:800}
.login-sub{text-align:center;font-size:10px;letter-spacing:1.6px;color:#8A94A8;margin:0 0 18px}
.login-tip{font-size:12px;color:#B07B00;background:rgba(240,185,11,.1);border:1px solid rgba(240,185,11,.3);
  border-radius:8px;padding:8px 12px;margin-bottom:18px;line-height:1.6}
.login-field{margin-bottom:16px}
.login-field label{display:block;font-size:12.5px;color:#5A6275;font-weight:600;margin-bottom:7px}
.login-input{
  display:flex;align-items:center;gap:8px;background:#F5F7FC;border:1.5px solid #E5E9F2;
  border-radius:11px;padding:0 12px;height:46px;transition:.2s
}
.login-input:focus-within{border-color:#2F7BFF;background:#fff;box-shadow:0 0 0 3px rgba(47,123,255,.12)}
.login-input .li-ic{font-size:15px;opacity:.7}
.login-input input{flex:1;border:0;outline:0;background:transparent;font-size:14px;color:#0F1320}
.login-input input::placeholder{color:#B0B6C3}
.li-eye{border:0;background:transparent;cursor:pointer;font-size:15px;opacity:.5;padding:4px}
.li-eye:hover{opacity:.9}
.login-captcha{display:flex;gap:10px;align-items:stretch}
.cap-img{width:120px;height:46px;border-radius:11px;overflow:hidden;flex:0 0 120px;
  border:1.5px solid #E5E9F2;background:#F5F7FC;display:flex;align-items:center;justify-content:center}
.cap-img:hover{border-color:#2F7BFF}
.cap-img svg{width:100%;height:100%;display:block}
.login-btn{
  width:100%;height:48px;border:0;border-radius:11px;margin-top:6px;cursor:pointer;
  background:linear-gradient(135deg,#F0B90B,#D9A000);color:#1A1200;font-size:16px;font-weight:800;
  letter-spacing:6px;transition:.2s;box-shadow:0 8px 20px rgba(240,185,11,.35)
}
.login-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(240,185,11,.45)}
.login-btn:active{transform:translateY(0)}
.login-foot{text-align:center;font-size:11px;color:#9AA3B5;margin-top:18px;line-height:1.6}

/* ---------------- 侧边栏（左黑） ---------------- */
.sb{
  width:232px;flex:0 0 232px;
  background:linear-gradient(180deg,#050507 0%,#0C0C12 60%,#050507 100%);
  border-right:1px solid #1A1A22;
  color:#C9CDD8;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto
}
.sb::-webkit-scrollbar{width:6px}
.sb::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14)}
.sb-logo{display:flex;align-items:center;gap:11px;padding:20px 18px 18px;border-bottom:1px solid #1A1A22}
.sb-logo .mk{
  width:38px;height:38px;border-radius:11px;overflow:hidden;flex:0 0 auto;
  border:1px solid rgba(240,185,11,.55);box-shadow:0 0 0 2px rgba(240,185,11,.25)
}
.sb-logo .mk img{width:100%;height:100%;object-fit:cover}
.sb-logo b{font-size:15.5px;letter-spacing:2.5px;color:#fff;display:block}
.sb-logo span{font-size:9.5px;color:#6E7383;letter-spacing:1.4px}
.sb-nav{flex:1;padding:14px 12px 20px}
.sb-grp{margin-bottom:6px}
.sb-grp>p{margin:14px 8px 7px;font-size:10.5px;letter-spacing:1.6px;color:#565B6B;font-weight:600}
.sb-nav a{
  display:flex;align-items:center;gap:10px;padding:9.5px 11px;border-radius:9px;font-size:13px;
  color:#9BA1B2;transition:.16s;margin-bottom:2px;position:relative
}
.sb-nav a:hover{background:rgba(255,255,255,.07);color:#F0F2F8}
.sb-nav a.on{background:linear-gradient(90deg,rgba(240,185,11,.22),rgba(240,185,11,.06));color:var(--gold-2);font-weight:600}
.sb-nav a.on::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:17px;border-radius:0 3px 3px 0;background:var(--gold)}
.sb-nav a .cnt{
  margin-left:auto;min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:#E2373C;color:#fff;
  font-size:10.5px;font-weight:700;display:grid;place-items:center
}
.sb-nav a .must{font-size:9px;padding:1px 5px;border-radius:4px;background:rgba(240,185,11,.22);color:var(--gold-2);letter-spacing:.5px}
.sb-mascot{display:flex;justify-content:center;padding:10px 14px 4px}
.sb-mascot img{width:118px;height:118px;object-fit:contain;border-radius:0;border:0;box-shadow:none;filter:drop-shadow(0 12px 26px rgba(0,0,0,.6))}
.sb-foot{padding:14px;border-top:1px solid #1A1A22}
.sb-foot a{
  display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:9px;
  background:rgba(255,255,255,.08);font-size:12.5px;color:#C9CDD8;transition:.18s
}
.sb-foot a:hover{background:rgba(240,185,11,.18);color:var(--gold-2)}

/* ---------------- 主区（右白） ---------------- */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{
  background:var(--a-panel);border-bottom:1px solid var(--a-line);padding:16px 26px;
  display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:20
}
.topbar h1{margin:0;font-size:18px;letter-spacing:.4px;color:var(--a-text)}
.topbar p{margin:4px 0 0;font-size:12px;color:var(--a-muted)}
.topbar .tb-r{margin-left:auto;display:flex;align-items:center;gap:10px}
.op-user{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border-radius:22px;background:var(--a-panel-2);border:1px solid var(--a-line)}
.op-user .av{
  width:30px;height:30px;border-radius:50%;background:linear-gradient(140deg,var(--gold-2),var(--gold));
  display:grid;place-items:center;color:#231A00;font-size:12px;font-weight:700
}
.op-user b{font-size:12.5px;color:var(--a-text)}
.op-user span{font-size:10.5px;color:var(--a-muted);display:block}
/* 内容区：白色 + 白底版品牌 Logo 淡水印 */
.content{
  padding:22px 26px 60px;flex:1;
  background:#FFFFFF url('../img/wz-logo-faded.jpg') center 32%/min(460px,52%) no-repeat fixed;
}

/* ---------------- 通用块 ---------------- */
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
@media (max-width:1240px){.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:960px){.g3,.g2{grid-template-columns:1fr}}

.stat{background:var(--a-panel);border:1px solid var(--a-line);border-radius:14px;padding:18px;box-shadow:0 10px 26px rgba(4,10,30,.4);position:relative;overflow:hidden}
.stat .si{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;margin-bottom:13px
}
.stat .sl{font-size:12px;color:var(--a-muted)}
.stat .sv{font-size:26px;font-weight:800;font-family:var(--ff-num);margin:5px 0 6px;letter-spacing:-.5px;color:var(--a-text)}
.stat .ss{font-size:11.5px;color:var(--a-muted);display:flex;align-items:center;gap:5px}
.stat .ss em{font-style:normal;color:#4ADE80;font-weight:700}
.stat .ss em.down{color:#FF6B6E}

.card{background:var(--a-panel);border:1px solid var(--a-line);border-radius:14px;box-shadow:0 10px 26px rgba(4,10,30,.4);overflow:hidden;margin-bottom:18px}
.card-h{padding:15px 18px;border-bottom:1px solid var(--a-line);display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.card-h h3{margin:0;font-size:14.5px;letter-spacing:.3px;color:var(--a-text)}
.card-h .sub{font-size:11.5px;color:var(--a-muted)}
.card-h .hr{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.card-b{padding:18px}
.card-b.flush{padding:0}

/* 表格 */
.tbwrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}
.tbl th{
  background:#F3F6FB;text-align:left;padding:11px 16px;font-weight:600;color:var(--a-muted);
  border-bottom:1px solid var(--a-line);white-space:nowrap;font-size:11.5px;letter-spacing:.4px
}
.tbl td{padding:13px 16px;border-bottom:1px solid var(--a-line);vertical-align:middle;color:var(--a-text)}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:#F7FAFF}
.tbl .u{display:flex;align-items:center;gap:9px;min-width:150px}
.tbl .u .av{width:32px;height:32px;border-radius:50%;flex:0 0 auto}
.tbl .u b{font-size:13px;display:block;color:var(--a-text)}
.tbl .u span{font-size:11px;color:var(--a-muted)}
.tbl .acts{display:flex;gap:7px;flex-wrap:wrap}
.tbl .money{font-family:var(--ff-num);font-weight:700}
.tbl .money.r{color:var(--price)}
.tbl .mono{font-family:var(--ff-num);font-size:12px;color:var(--a-muted)}

.mini{border-radius:10px;height:60px}

/* 徽标 */
.bdg{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:6px;font-size:11.5px;font-weight:600}
.bdg.wait{background:rgba(240,185,11,.16);color:#8A6400}
.bdg.ok{background:rgba(34,197,94,.14);color:#15803D}
.bdg.no{background:rgba(255,77,79,.12);color:#DC2626}
.bdg.info{background:rgba(47,123,255,.12);color:#1D5FD8}
.bdg.gray{background:rgba(90,100,120,.12);color:#5B6474}
.bdg.gold{background:rgba(240,185,11,.18);color:#8A6400}
.bdg.purple{background:rgba(47,123,255,.12);color:#1D5FD8}

/* 表单行 */
.frow{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:860px){.frow{grid-template-columns:1fr}}
.fgrp{margin-bottom:18px}
.fgrp>label{display:block;font-size:12.5px;font-weight:600;color:var(--a-muted);margin-bottom:7px}
.fgrp .hint{font-size:11.5px;color:#7A88B0;margin-top:6px;line-height:1.7}
.inp{
  width:100%;height:40px;padding:0 13px;border-radius:9px;border:1px solid var(--a-line);
  background:var(--a-panel-2);font-size:13.5px;color:var(--a-text);transition:.16s
}
textarea.inp{height:88px;padding:10px 13px;resize:vertical;line-height:1.7}
.inp:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(240,185,11,.15)}

/* 单选组 / 开关 */
.seg{display:inline-flex;border:1px solid var(--a-line);border-radius:9px;overflow:hidden;background:var(--a-panel-2)}
.seg button{padding:8px 16px;font-size:12.5px;color:var(--a-muted);transition:.16s;border-right:1px solid var(--a-line)}
.seg button:last-child{border-right:0}
.seg button.on{background:rgba(240,185,11,.15);color:var(--gold-2);font-weight:700}
.sw{width:44px;height:25px;border-radius:13px;background:#26375F;position:relative;transition:.2s;flex:0 0 auto}
.sw::after{content:"";position:absolute;top:2.5px;left:2.5px;width:20px;height:20px;border-radius:50%;background:#E8EEFF;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.sw.on{background:#22C55E}
.sw.on::after{left:21.5px}
.swrow{display:flex;align-items:center;gap:12px}
.swrow .txt{flex:1}
.swrow .txt b{font-size:13.5px;display:block;color:var(--a-text)}
.swrow .txt span{font-size:11.5px;color:var(--a-muted)}

/* 规则卡 */
.rulebox{border:1px solid var(--a-line);border-radius:12px;padding:16px;background:var(--a-panel-2)}
.rulebox.hl{border-color:rgba(240,185,11,.5);background:linear-gradient(180deg,rgba(240,185,11,.10),rgba(240,185,11,.03))}
.rulebox h4{margin:0 0 4px;font-size:13.5px;display:flex;align-items:center;gap:7px;color:var(--a-text)}
.rulebox .rsub{font-size:11.5px;color:var(--a-muted);margin-bottom:14px}
.calcout{
  margin-top:14px;padding:12px 14px;border-radius:9px;background:rgba(95,208,255,.06);font-size:12.5px;color:#C9D6F2;line-height:1.9;
  border:1px dashed rgba(95,208,255,.3)
}
.calcout b{color:var(--gold-2);font-family:var(--ff-num)}

/* 弹窗 */
.amask{position:fixed;inset:0;background:rgba(3,7,20,.66);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:80;animation:fade .18s}
.amodal{width:min(560px,92vw);max-height:88vh;overflow-y:auto;background:var(--a-panel);border:1px solid var(--a-line);border-radius:16px;box-shadow:0 24px 60px rgba(2,6,18,.6);animation:pop .22s cubic-bezier(.2,.9,.3,1.15)}
.amodal.wide{width:min(760px,94vw)}
.amodal-h{padding:18px 22px;border-bottom:1px solid var(--a-line);display:flex;align-items:center}
.amodal-h h3{margin:0;font-size:16px;flex:1;color:var(--a-text)}
.amodal-h button{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--a-muted)}
.amodal-h button:hover{background:var(--a-hover)}
.amodal-b{padding:22px}
.amodal-f{padding:15px 22px;border-top:1px solid var(--a-line);display:flex;justify-content:flex-end;gap:10px;background:#FAFBFE;border-radius:0 0 16px 16px}

/* 轮播预览 */
.bnlist{display:grid;gap:14px}
.bnitem{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid var(--a-line);border-radius:13px;background:var(--a-panel-2)}
.bnitem .bnprev{
  width:180px;height:74px;border-radius:10px;flex:0 0 auto;padding:12px 16px;display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden
}
.bnitem .bnprev h4{margin:0 0 4px;font-size:13px;color:#fff;font-weight:800;position:relative;z-index:2}
.bnitem .bnprev p{margin:0;font-size:10px;color:rgba(255,255,255,.88);position:relative;z-index:2}
.bnitem .bnprev::after{content:"";position:absolute;right:-24px;bottom:-34px;width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.14)}
.bnitem .bnmeta{flex:1;min-width:0}
.bnitem .bnmeta b{font-size:13.5px;display:block;color:var(--a-text)}
.bnitem .bnmeta span{font-size:11.5px;color:var(--a-muted);display:block;margin-top:5px;word-break:break-all}

/* 类目表 */
.catico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px}

/* 图表 */
.chart{width:100%;height:210px}
.donut-wrap{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.legend{display:flex;flex-direction:column;gap:9px;font-size:12.5px;color:var(--a-text)}
.legend div{display:flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;border-radius:3px;display:block}
.legend b{margin-left:auto;font-family:var(--ff-num)}

/* 空状态 */
.empty-l{display:flex;flex-direction:column;align-items:center;gap:10px;padding:52px 20px;color:var(--a-muted);font-size:13px}
.empty-l svg{opacity:.28}

/* 冻结提示 */
.notice-bar{
  display:flex;align-items:center;gap:11px;padding:13px 16px;border-radius:12px;
  background:rgba(240,185,11,.10);border:1px solid rgba(240,185,11,.35);color:#FFD75E;font-size:12.5px;line-height:1.7;margin-bottom:18px
}
.notice-bar.red{background:rgba(255,77,79,.10);border-color:rgba(255,77,79,.35);color:#FF8A8C}
.notice-bar.blue{background:rgba(47,123,255,.12);border-color:rgba(95,208,255,.35);color:#9CC7FF}
.notice-bar b{font-weight:700}

/* ---------------- 大类折叠导航 ---------------- */
.sb-grp{margin-bottom:4px}
.sb-grp-h{
  display:flex;align-items:center;gap:10px;padding:11px 12px;margin:4px 2px 2px;border-radius:11px;
  cursor:pointer;user-select:none;transition:.18s;color:#DCE6FF;font-weight:700;font-size:13.5px;letter-spacing:.8px
}
.sb-grp-h:hover{background:rgba(95,208,255,.10)}
.sb-grp-h .chev{margin-left:auto;font-style:normal;color:#5C6A94;transition:transform .22s;display:grid;place-items:center}
.sb-grp.open .sb-grp-h .chev{transform:rotate(90deg);color:var(--gold-2)}
.sb-grp-h .gcnt{
  margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#E2373C;color:#fff;
  font-size:10.5px;font-weight:700;display:grid;place-items:center;font-style:normal
}
.sb-grp.open .sb-grp-h .gcnt{margin-left:0}
.sb-items{display:none;padding:2px 0 6px}
.sb-grp.open .sb-items{display:block;animation:navdrop .24s ease}
@keyframes navdrop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.sb-items a{padding-left:20px}
.sb-nav .sb-grp-h .wzi{flex:0 0 auto}

/* 管理员头像（王钻管家） */
.op-user .av{overflow:hidden;border:1.5px solid rgba(240,185,11,.55)}
.op-user .av img{width:100%;height:100%;object-fit:cover}

/* ---------------- 后台 IP 加载动画 ---------------- */
.wzaload{
  position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    radial-gradient(560px 380px at 50% 36%, rgba(47,123,255,.30), transparent 70%),
    radial-gradient(420px 300px at 50% 90%, rgba(240,185,11,.14), transparent 70%),
    #050A1E;
  transition:opacity .4s, visibility .4s
}
.wzaload.bye{opacity:0;visibility:hidden;pointer-events:none}
.wa-orb{position:relative;width:150px;height:150px;display:grid;place-items:center}
.wa-ring{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(240,185,11,.42);animation:waspin 7s linear infinite}
.wa-ring.r2{inset:12px;border:2px solid transparent;border-top-color:#5FD0FF;border-right-color:rgba(95,208,255,.18);animation:waspin 1.5s linear infinite}
.wa-orb img{
  width:108px;height:108px;border-radius:50%;object-fit:cover;border:2.5px solid rgba(240,185,11,.55);
  box-shadow:0 16px 44px rgba(11,42,107,.7);animation:wabob 1.15s ease-in-out infinite
}
@keyframes waspin{to{transform:rotate(360deg)}}
@keyframes wabob{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-9px) scale(1.02)}60%{transform:translateY(0) scale(.985)}}
.wa-name{margin-top:24px;font-size:16px;font-weight:800;letter-spacing:5px;color:#fff;text-shadow:0 0 22px rgba(95,208,255,.5)}
.wa-bar{margin-top:16px;width:170px;height:4px;border-radius:3px;background:rgba(255,255,255,.09);overflow:hidden}
.wa-bar span{display:block;height:100%;width:40%;border-radius:3px;background:linear-gradient(90deg,#2F7BFF,#5FD0FF,#F0B90B);animation:wabar 1.15s ease-in-out infinite}
@keyframes wabar{0%{transform:translateX(-110%)}100%{transform:translateX(320%)}}

/* 空状态用 IP 形象 */
.empty-l img{width:74px;height:74px;border-radius:22px;object-fit:cover;border:1.5px solid rgba(240,185,11,.35);opacity:.95}

/* ============================================================
   后台双模式：购买道具 / 俱乐部
   ============================================================ */
.modeseg{
  display:flex;background:#F1F4FA;border:1px solid var(--a-line);
  border-radius:10px;padding:3px;gap:2px}
.modeseg button{
  border:0;background:none;color:#68748F;font-size:12.5px;font-weight:600;
  padding:7px 14px;border-radius:8px;cursor:pointer;transition:.18s;white-space:nowrap}
.modeseg button.on{background:linear-gradient(135deg,#F0B90B,#D8990A);color:#1A1204;box-shadow:0 4px 12px rgba(240,185,11,.3)}
.club-mode .modeseg button.on{background:linear-gradient(135deg,#2F7BFF,#0B2A6B);color:#fff;box-shadow:0 4px 12px rgba(47,123,255,.35)}
.club-mode .topbar h1{color:#1D5FD8}
.club-mode .sb-logo .mk{border-color:rgba(95,208,255,.5)}

/* ===== 第四轮：分类图标上传 ===== */
.catico.img{background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--a-line)}
.iconup{display:flex;align-items:center;gap:15px}
.iconup-prev{width:66px;height:66px;border-radius:16px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;
  border:1px solid var(--a-line);background-repeat:no-repeat;background-size:cover;background-position:center}
.iconup-btns{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.iconup-btns .hint{font-size:11px;color:var(--a-muted);line-height:1.6}
/* 统计控制台 */
.stats-meta{text-align:center;font-size:12.5px;color:#5A6478;margin-bottom:14px}
.stats-meta b{color:#1D5FD8}
.stcard{background:#fff;border-radius:12px;padding:16px 16px 12px;box-shadow:0 1px 4px rgba(30,50,90,.06)}
.sth{display:flex;justify-content:space-between;align-items:center}
.sth b{font-size:14px;color:#1A2233}
.stico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center}
.stv{font-family:var(--ff-num);font-size:22px;font-weight:800;color:#1A2233;margin:10px 0 8px}
.stv em{font-style:normal;font-size:12px;font-weight:600;margin-left:2px}
.stp{display:flex;justify-content:space-between;font-size:11.5px;color:#98A2B3;border-top:1px dashed #EAEEF4;padding-top:8px}
.stp b{color:#5A6478;font-family:var(--ff-num)}
.stquick{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stq{border:none;cursor:pointer;padding:7px 16px;border-radius:8px;font-size:12.5px;color:#fff;background:#22C08B;font-weight:600}
.stq.on{background:#1D5FD8;box-shadow:0 3px 8px rgba(29,95,216,.3)}
.strange{margin-left:auto;font-size:12px;color:#5A6478;border:1px solid #E3E8F0;border-radius:8px;padding:6px 12px;font-family:var(--ff-num)}
.stchips{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.stchip{background:#1D5FD8;color:#fff;font-size:12.5px;padding:7px 14px;border-radius:8px;font-weight:600}

/* ---------------- 页面设计 · 陪玩端首页编排 ---------------- */
/* v51：页面设计双栏 —— 左列编辑，右列 sticky 实时预览 */
.pgdesign{display:grid;grid-template-columns:1fr 420px;gap:18px;align-items:start}
.pd-edit-col{display:flex;flex-direction:column;gap:0}
.pd-pv-col{position:relative}
.pd-pv-col .card{position:sticky;top:20px}
@media (max-width:1200px){.pgdesign{grid-template-columns:1fr}
.cmp-list{display:flex;flex-direction:column;gap:10px}
.cmp-row{
  display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:12px;cursor:grab;
  background:var(--a-panel-2);border:1px solid var(--a-line);transition:.16s
}
.cmp-row:active{cursor:grabbing}
.cmp-row:hover{border-color:rgba(95,208,255,.45)}
.cmp-row.dragging{opacity:.42}
.cmp-row.over{border-color:var(--gold);box-shadow:0 0 0 3px rgba(240,185,11,.18)}
.cmp-row.off{opacity:.52}
.cmp-idx{
  width:22px;height:22px;flex:0 0 auto;border-radius:7px;display:grid;place-items:center;font-family:var(--ff-num);
  font-size:11.5px;font-weight:700;background:rgba(240,185,11,.18);color:var(--gold-2)
}
.cmp-drag{color:#5C6A94;flex:0 0 auto;display:grid;place-items:center}
.cmp-thumb{
  width:66px;height:40px;flex:0 0 auto;border-radius:9px;overflow:hidden;border:1px solid rgba(95,208,255,.22);
  display:grid;gap:3px;padding:5px;box-sizing:border-box
}
.cmp-thumb.t-hero{background:linear-gradient(150deg,#1B7FD9,#3AA0F0);align-content:center}
.cmp-thumb.t-banner{background:linear-gradient(150deg,#0B2A6B,#2F7BFF);align-content:center}
.cmp-thumb.t-lottery{background:linear-gradient(150deg,#6B4A00,#F0B90B);align-content:center}
.cmp-thumb.t-catgrid{background:#0A1432;grid-template-columns:repeat(4,1fr);align-content:center}
.cmp-thumb.t-hot,.cmp-thumb.t-zones{background:#0A1432;grid-template-columns:repeat(2,1fr);align-content:center;grid-auto-rows:14px}
.cmp-thumb .k{display:block;border-radius:3px;background:rgba(255,255,255,.72)}
.cmp-thumb .k.tl{height:9px;width:74%}
.cmp-thumb .k.sl{height:5px;width:52%;background:rgba(255,255,255,.55)}
.cmp-thumb .k.mid{margin:0 auto}
.cmp-thumb .k.pl{height:9px;border-radius:6px;background:rgba(255,255,255,.82)}
.cmp-thumb.t-catgrid .k.sq{height:15px;border-radius:5px;background:rgba(255,255,255,.45)}
.cmp-thumb.t-hot .k.cd{height:14px;background:linear-gradient(135deg,rgba(240,185,11,.6),rgba(47,123,255,.55))}
.cmp-meta{flex:1;min-width:0}
.cmp-meta b{display:block;font-size:13px;color:var(--a-text)}
.cmp-meta i{font-style:normal;font-size:11px;color:var(--a-muted)}
.cmp-ops{display:flex;gap:5px;flex:0 0 auto}
.cmp-b{
  width:27px;height:27px;padding:0;border-radius:8px;cursor:pointer;display:grid;place-items:center;transition:.15s;
  background:var(--a-panel);border:1px solid var(--a-line);color:#9AA6C8
}
.cmp-b:hover{border-color:rgba(95,208,255,.5);color:#E6EEFF}
.cmp-b.up svg{transform:rotate(-90deg)}
.cmp-b.dn svg{transform:rotate(90deg)}
.cmp-b.tg:hover{border-color:rgba(240,185,11,.6);color:var(--gold-2)}
.cmp-b.tg.off{color:var(--gold-2);border-color:rgba(240,185,11,.4)}
} /* 关闭 @media (max-width:1200px) */

/* 轮播图：图片预览 / 上传区 */
.bnitem .bnprev.img{background-size:cover !important;background-position:center !important;padding:0}
.bnitem .bnprev.img::after{display:none}
.bnprev.cbpv{width:100% !important;height:118px !important;border-radius:12px;padding:0 22px}
.bnprev.cbpv.has-img h4,.bnprev.cbpv.has-img p{text-shadow:0 2px 10px rgba(0,0,0,.6)}
.bup{display:flex;align-items:center;gap:15px}
.bup-prev{
  width:184px;height:76px;border-radius:10px;flex:0 0 auto;background:#0A1432 center/cover;
  border:1px dashed rgba(95,208,255,.35)
}
.bup-prev.has{border-style:solid;border-color:rgba(95,208,255,.5)}
.bup-btns{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.bup-btns .hint{font-size:11px;color:var(--a-muted);line-height:1.6}

/* ---------------- 页面设计 · 草稿预览（手机框 iframe） ---------------- */
.pv-frame{width:390px;max-width:100%;margin:0 auto;height:640px;border-radius:30px;border:10px solid #10131C;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.25)}
.pv-frame iframe{width:100%;height:100%;border:0;display:block}
.pv-tip{margin-top:12px;text-align:center;font-size:12px;color:var(--a-muted);line-height:1.7}

/* ---------------- 聊天记录监管：微信式会话面板 ---------------- */
.wc-panel{background:#F5F5F5;border-radius:10px;overflow:hidden;border:1px solid #E0E0E0}
.wc-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#EDEDED;border-bottom:1px solid #DCDCDC}
.wc-head .wc-av{width:34px;height:34px;border-radius:6px;background-size:cover;background-position:center;display:block;flex:0 0 auto}
.wc-head b{font-size:14px;color:#111}
.wc-head .wc-sub{margin-left:auto;font-size:11px;color:#9AA3B8;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wc-body{max-height:430px;overflow:auto;padding:16px 14px}
.wc-time{text-align:center;font-size:10.5px;color:#B2B2B2;margin:10px 0 14px}
.wc-row{display:flex;gap:9px;margin-bottom:14px}
.wc-row.me{flex-direction:row-reverse}
.wc-row .wc-av{width:34px;height:34px;border-radius:6px;background-size:cover;background-position:center;flex:0 0 auto;display:block}
.wc-bd{max-width:72%;display:flex;flex-direction:column;gap:3px;min-width:0}
.wc-row.me .wc-bd{align-items:flex-end}
.wc-nm{font-size:10.5px;color:#9AA3B8;padding:0 2px}
.wc-bub{
  background:#fff;border-radius:4px 12px 12px 12px;padding:9px 12px;font-size:13px;color:#111;
  line-height:1.65;box-shadow:0 1px 2px rgba(0,0,0,.06);word-break:break-word
}
.wc-row.me .wc-bub{background:#95EC69;border-radius:12px 4px 12px 12px}

/* ============ R18：服务订单详情 tabs（R20：白底弹窗文字加深加大，保证可读） ============ */
.so-tabs{display:flex;gap:4px;border-bottom:1.5px solid var(--a-line);padding-bottom:8px;flex-wrap:wrap}
.so-tabs button{
  background:transparent;border:0;color:#3D4A66;font-size:13.5px;font-weight:600;padding:7px 14px;border-radius:8px;cursor:pointer
}
.so-tabs button.on{background:rgba(240,185,11,.16);color:#8A6400;font-weight:700}
.so-kv{display:flex;justify-content:space-between;gap:18px;padding:8px 0;font-size:13.5px;border-bottom:1px dashed #D8DEEA}
.so-kv span{color:#3D4A66;flex:0 0 auto;font-weight:600}
.so-kv b{color:#111A2E;font-weight:700;font-size:13.5px;text-align:right}
.so-report .so-kv{justify-content:flex-start}
.so-report .so-kv span{width:72px}
.so-sec{margin:14px 0 8px;font-size:13.5px;font-weight:700;color:#111A2E}
.so-shots{display:flex;gap:14px;flex-wrap:wrap}
.so-shot{display:flex;flex-direction:column;align-items:center;gap:5px}
.so-shot .ph{width:96px;height:64px;border-radius:8px;display:block;border:1px solid var(--a-line)}
.so-shot i{font-style:normal;font-size:11px;color:#4A5674}
.so-tip{
  padding:10px 13px;border-radius:9px;background:#F7F8FC;border:1px solid var(--a-line);
  font-size:13px;color:#2A3550;line-height:1.7;margin:10px 0
}
.so-tip.gold{background:rgba(240,185,11,.12);border-color:rgba(240,185,11,.4);color:#7A5600;font-weight:600}
.so-tip.ok{background:rgba(34,181,69,.1);border-color:rgba(34,181,69,.35);color:#15803D;font-weight:600}
.so-track{padding:4px 0}
.tr-node{display:flex;gap:12px;position:relative;padding:0 0 18px 2px}
.tr-node:not(.last):before{
  content:'';position:absolute;left:7px;top:14px;bottom:-2px;width:1.5px;background:#D8DEEA
}
.tr-node .dot{
  width:11px;height:11px;border-radius:50%;background:#F0B90B;flex:0 0 auto;margin-top:3px;
  box-shadow:0 0 0 3px rgba(240,185,11,.18)
}
.tr-node .dot.alt{background:#5B8DEF;box-shadow:0 0 0 3px rgba(91,141,239,.18)}
.tr-node b{display:block;font-size:13.5px;color:#111A2E;font-weight:700}
.tr-node span{font-size:12px;color:#4A5674}

/* ============ R22：统计控制台（白卡蓝调 1:1） ============ */
.db-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.db-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E6ECF5;border-radius:12px;padding:14px 16px;box-shadow:0 4px 14px rgba(20,60,120,.06)}
.db-card .db-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto}
.db-card b{display:block;font-size:20px;font-weight:800;line-height:1.15;font-family:'DIN Alternate','Segoe UI',sans-serif}
.db-card span{display:block;font-size:12px;color:#2B3648;font-weight:600;margin-top:1px}
.db-card i{display:block;font-style:normal;font-size:11px;color:#8A97AD;margin-top:1px}
.db-tbl th{background:#F4F7FC;color:#2B3648;font-weight:700}
.db-tbl td.hl{color:#2E63E6;font-weight:700}

/* ============ v24：后台签到系统（日历式设置） ============ */
.ad-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.ad-cal-week span{text-align:center;font-size:12px;color:#8A97AD;font-weight:600}
.ad-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ad-sgc{
  position:relative;min-height:52px;border:1px solid #E6ECF5;border-radius:9px;background:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  cursor:pointer;font-family:inherit;transition:.13s
}
.ad-sgc:hover{border-color:#2E63E6;background:#F4F8FF;transform:translateY(-1px)}
.ad-sgc.empty{background:transparent;border-color:transparent;cursor:default}
.ad-sgc.empty:hover{transform:none;border-color:transparent;background:transparent}
.ad-sgc i{font-style:normal;font-size:13px;font-weight:700;color:#2B3648}
.ad-sgc em{font-style:normal;font-size:10.5px;font-weight:800;color:#B07B00;background:rgba(240,185,11,.16);border-radius:999px;padding:1px 7px}
.ad-sgc.today{border:2px solid #2E63E6;background:#F0F5FF}
.ad-sgc.today i{color:#2E63E6}
.ad-sgc.bonus{border-color:rgba(240,185,11,.55);background:rgba(240,185,11,.06)}

/* v24：聊天记录 —— 系统介入提示气泡 */
.wc-sys{
  display:flex;align-items:center;gap:6px;justify-content:center;
  margin:12px auto;max-width:86%;padding:7px 12px;border-radius:8px;
  background:rgba(240,185,11,.14);border:1px solid rgba(240,185,11,.4);
  color:#B07B00;font-size:11.5px;font-weight:600;line-height:1.5
}

/* ================= v20 ================= */
/* 聊天记录查看弹窗（v29） */
.wc-head.ord{display:flex;align-items:center;gap:10px;background:rgba(47,123,255,.06);border:1px solid rgba(47,123,255,.18);border-radius:10px;padding:8px 10px;margin-bottom:8px}
.wc-head .wc-oav{width:40px;height:40px;border-radius:9px;overflow:hidden;background:#F0F4FA;flex:0 0 auto}
.wc-head .wc-oav img{width:100%;height:100%;object-fit:cover;display:block}
.wc-bub.kefu{background:linear-gradient(135deg,#2F7BFF,#1D5CE8) !important;color:#fff !important}
.wc-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--a-line)}
.wc-input input{flex:1;height:34px;border-radius:9px;border:1px solid var(--a-line);padding:0 10px;font-size:12.5px;outline:none}
/* 页面设计 · 背景图选择 */
.bgitem{width:150px;border:2px solid var(--a-line);border-radius:12px;padding:6px;background:#fff;cursor:pointer;text-align:center;display:inline-block}
.bgitem.on{border-color:#2F7BFF;box-shadow:0 4px 14px rgba(47,123,255,.22)}
.bgitem i{display:block;font-style:normal;font-size:11px;margin-top:6px;color:var(--a-muted)}
.bgitem .bgprev{display:block;height:76px;border-radius:8px;overflow:hidden}
.bgitem .bgprev img{width:100%;height:100%;object-fit:cover;display:block}
/* v36：背景图自定义比例面板 */
.bgfit-panel{width:100%;margin-top:14px;padding:14px 16px;border-radius:12px;background:#F7FAFF;border:1px solid var(--a-line)}
.bgfit-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:12.5px;color:#334155}
.bgfit-row label{width:84px;flex:0 0 84px;font-weight:600;color:#475569}
.bgfit-row select,.bgfit-row input[type=range]{flex:1;max-width:320px}
.bgfit-row select{padding:6px 10px;border:1px solid var(--a-line);border-radius:8px;background:#fff;font-size:12.5px}
.bgfit-row input[type=range]{accent-color:#2F7BFF}
.bgfit-row span[id*='Val']{min-width:50px;font-family:var(--ff-num);font-weight:700;color:#2F7BFF}
.bgfit-row .calcout{flex:1;color:var(--a-muted)}

/* ================= v50：Instagram 裁剪模型 ================= */
/* v55：允许换行 + 弹窗加宽（980px），保证右侧实时 Canvas 预览不被挤出可视区 */
.crop-body{display:flex;gap:20px;align-items:flex-start;padding:10px 0;flex-wrap:wrap}
.crop-col{display:flex;flex-direction:column;gap:8px}
.crop-ctrl-col{min-width:150px;gap:10px}

/* stage = 图片容器，object-fit:contain 显示完整图片 */
.crop-stage{position:relative;width:360px;height:480px;background:#0a0a14;border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.08),0 10px 25px rgba(0,0,0,.35)}
.crop-stage img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;user-select:none}

/* 4 块暗色遮罩（用负 margin 覆盖裁剪框外区域） */
.crop-mask{position:absolute;background:rgba(0,0,0,.55);pointer-events:none}

/* 裁剪框本体 */
.crop-frame2{position:absolute;border:2px solid #2F7BFF;box-shadow:0 0 0 1px rgba(0,0,0,.4);cursor:move;z-index:5}

/* 三分网格线（2 竖 + 2 横，共 4 条 = 9 宫格） */
.crop-grid{position:absolute;inset:0;pointer-events:none}
.crop-grid::before,.crop-grid::after{content:'';position:absolute;background:rgba(255,255,255,.35)}
.crop-grid::before{left:33.33%;top:0;width:1px;height:100%}
.crop-grid::after{top:33.33%;left:0;height:1px;width:100%}
.crop-grid .cg-v2{position:absolute;right:33.33%;top:0;width:1px;height:100%;background:rgba(255,255,255,.35)}
.crop-grid .cg-h2{position:absolute;bottom:33.33%;left:0;height:1px;width:100%;background:rgba(255,255,255,.35)}

/* 四角手柄 */
.crop-handle2{position:absolute;width:14px;height:14px;background:#2F7BFF;border:2px solid #fff;border-radius:3px;z-index:10}
.crop-handle2.h-tl{top:-8px;left:-8px;cursor:nw-resize}
.crop-handle2.h-tr{top:-8px;right:-8px;cursor:ne-resize}
.crop-handle2.h-bl{bottom:-8px;left:-8px;cursor:sw-resize}
.crop-handle2.h-br{bottom:-8px;right:-8px;cursor:se-resize}

/* 右侧 Canvas 预览 */
.crop-preview{position:relative;background:#0a0a14;border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px rgba(47,123,255,.4),0 10px 25px rgba(0,0,0,.35);width:200px}
.crop-preview canvas{display:block;width:100%;height:auto}
.crop-preview-label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);color:#fff;font-size:10px;padding:4px 8px;text-align:center}

/* 暗遮罩：viewport 本身是 9:16，裁剪框就是整个 viewport。view 外四角不需要遮罩（因为 vp 外是深色 modal）
   但 vp 内也做一个"框内亮、框外（超出 viewp 的图片部分也是暗的）"—— 由于 overflow:hidden，vp 外的图片被裁掉了
   所以 mask 其实是给 crop-frame 做边框感，以及 crop-grid 的层次 */
.crop-mask{position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(#000,#000) 0 0 /100% 2px no-repeat,
    linear-gradient(#000,#000) 0 100% /100% 2px no-repeat,
    linear-gradient(#000,#000) 0 0 /2px 100% no-repeat,
    linear-gradient(#000,#000) 100% 0 /2px 100% no-repeat;
  opacity:.0}

/* 裁剪框边框（虚线 + 四角 L 形） —— 精确叠在 viewport 内缘 */
.crop-frame{position:absolute;inset:0;pointer-events:none}
.crop-frame::before{content:"";position:absolute;inset:0;border:2px dashed rgba(255,255,255,.75);border-radius:0;mix-blend-mode:difference}
.crop-handle{position:absolute;width:20px;height:20px;pointer-events:none}
.crop-handle::before,.crop-handle::after{content:"";position:absolute;background:#fff}
/* 四角 L 形：每个角两条 3px 粗短线 */
.ch-tl{top:-2px;left:-2px}
.ch-tl::before{top:0;left:0;width:22px;height:3px}
.ch-tl::after{top:0;left:0;width:3px;height:22px}
.ch-tr{top:-2px;right:-2px}
.ch-tr::before{top:0;right:0;width:22px;height:3px}
.ch-tr::after{top:0;right:0;width:3px;height:22px}
.ch-bl{bottom:-2px;left:-2px}
.ch-bl::before{bottom:0;left:0;width:22px;height:3px}
.ch-bl::after{bottom:0;left:0;width:3px;height:22px}
.ch-br{bottom:-2px;right:-2px}
.ch-br::before{bottom:0;right:0;width:22px;height:3px}
.ch-br::after{bottom:0;right:0;width:3px;height:22px}

/* 3×3 辅助网格线（灰色半透明，不抢眼） */
.crop-grid{position:absolute;inset:0;background-image:
  linear-gradient(to right,rgba(255,255,255,.2) 1px,transparent 1px),
  linear-gradient(to bottom,rgba(255,255,255,.2) 1px,transparent 1px);
  background-size:33.33% 33.33%;pointer-events:none}

.crop-vp-label{margin-top:8px;text-align:center;font-size:11px;color:#94a3b8;letter-spacing:.3px}
.crop-ctrls{flex:1;min-width:130px;display:flex;flex-direction:column;gap:14px;padding:10px 0}
.crop-row{display:flex;flex-direction:column;gap:6px}
.crop-row label{font-size:12px;font-weight:600;color:#374151}
.crop-row input[type=range]{width:100%;accent-color:#2F7BFF}
.crop-row span{font-size:12px;font-family:var(--ff-num,monospace);color:#2F7BFF;font-weight:700}
.crop-row .btn-sm{padding:5px 10px;font-size:12px;margin-top:2px}

/* ============ v50：陪玩入驻字段配置面板 ============ */
.pg-field-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--a-line);border-radius:10px;background:var(--a-panel-2);min-width:280px}
.pg-field-row .pf-btn{padding:3px 10px;font-size:11px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-panel);color:var(--a-muted);cursor:pointer;transition:.15s}
.pg-field-row .pf-btn:hover{color:var(--a-text);border-color:var(--a-line-2)}
.pg-field-row .pf-btn.on{background:linear-gradient(135deg,#3E7BFA,#2E63E6);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(62,123,250,.35)}

/* ============ v51：段位多选 pill ============ */
.cp-tier-pill{display:inline-flex;align-items:center;gap:0;cursor:pointer;user-select:none}
.cp-tier-pill input{display:none}
.cp-tier-pill span{padding:5px 14px;font-size:12px;font-weight:600;border:1.5px solid var(--a-line);border-radius:14px;background:var(--a-panel);color:var(--a-muted);transition:.15s}
.cp-tier-pill:hover span{color:var(--a-text);border-color:rgba(62,123,250,.4)}
.cp-tier-pill input:checked + span{background:linear-gradient(135deg,#3E7BFA,#1D4ED8);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(62,123,250,.4)}

.bgprev.bga{background:radial-gradient(120px 70px at 85% -20px, rgba(47,123,255,.35), transparent 60%),radial-gradient(90px 60px at -10% 40%, rgba(240,185,11,.18), transparent 55%),linear-gradient(180deg,#E8F3FE,#F6FBFF)}
.bgprev.bgb{background:repeating-linear-gradient(45deg, rgba(47,123,255,.05) 0 2px, transparent 2px 14px),radial-gradient(110px 60px at 110% -10px, rgba(77,155,255,.5), transparent 60%),radial-gradient(80px 50px at -10% 30%, rgba(240,185,11,.2), transparent 55%),linear-gradient(160deg,#D9EAFC,#E1EEFD)}
.bgprev.bgc{background:#F0F4FA}

/* ===== v31：区服设置 / 首页弹窗配色 ===== */
.srv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.srv-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;
  background:rgba(59,130,246,.10);border:1px solid rgba(47,123,255,.28);color:#1F2A44;font-size:12.5px;font-weight:600}
.srv-chip i{font-style:normal;cursor:pointer;color:#C7303A;font-size:13px;line-height:1}
.srv-prev{display:flex;flex-wrap:wrap;gap:8px}
.srv-pv{padding:7px 14px;border-radius:999px;border:1px solid var(--a-line);font-size:12.5px;color:var(--a-muted)}
.srv-pv.on{background:linear-gradient(135deg,#FFD75E,#F0B90B);color:#3B2A00;font-weight:700;border-color:transparent}
.hp-colors{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.hp-colors button{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--a-line);cursor:pointer}
.hp-colors button.on{box-shadow:0 0 0 2px #F0B90B}
.hp-colors input[type=color]{width:34px;height:26px;border:1px solid var(--a-line);border-radius:6px;background:none;cursor:pointer;padding:0}
