/* =========================================================
   nora LIVE SHOW · 员工查询端 · 暗金玻璃升级层
   (深色品牌底 × 玻璃拟态，与收银端同一套交互语言)
   ========================================================= */
body {
  background:
    radial-gradient(900px 520px at 85% -8%, rgba(212,175,55,.13), transparent 60%),
    radial-gradient(800px 500px at -12% 6%, rgba(124,58,237,.16), transparent 60%),
    radial-gradient(120% 80% at 50% -10%, #1c1626 0%, #0a0a0f 62%);
  background-attachment: fixed;
}

/* 顶部品牌区：玻璃 + 品牌金字微光 */
.topbar {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: linear-gradient(180deg, rgba(212,175,55,.07), transparent);
  border-bottom-color: rgba(212,175,55,.16);
}
.brand { text-shadow: 0 0 24px rgba(212,175,55,.25); }

/* 玻璃卡片基元（暗金玻璃） */
.who, .card, .scard, .modal-box, .login input {
  background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.02)), rgba(18,18,28,.6);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid rgba(212,175,55,.15);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 10px 34px rgba(0,0,0,.45);
}
.who, .card, .scard { border-radius: 16px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.who:hover, .card:hover, .scard:hover {
  border-color: rgba(212,175,55,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 16px 44px rgba(0,0,0,.55);
}
.scard { transition: border-color .2s ease, background .2s ease; }
.scard:hover { border-color: rgba(212,175,55,.34); }

/* 行级微交互 */
.row { transition: background .15s ease; border-radius: 6px; }
.row:hover { background: rgba(255,255,255,.035); }

/* 登录按钮：金辉 */
.login button {
  box-shadow: 0 8px 26px rgba(212,175,55,.28);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.login button:hover { transform: translateY(-1px); box-shadow: 0 12px 34px rgba(212,175,55,.4); filter: brightness(1.04); }

/* 下载等描边按钮 */
.dlbtn { border-radius: 10px; transition: all .16s ease; }
.dlbtn:hover { background: rgba(212,175,55,.12); border-color: rgba(212,175,55,.45); }

/* 徽标胶囊化 */
.tag { border-radius: 999px; letter-spacing: .5px; }

/* 输入框 */
.login input { border-radius: 12px; transition: border-color .18s ease, box-shadow .18s ease; }
.login input:focus { outline: none; border-color: rgba(212,175,55,.55); box-shadow: 0 0 0 3px rgba(212,175,55,.12); }
.modal-box input { border-radius: 10px; transition: border-color .16s ease, box-shadow .16s ease; }
.modal-box input:focus { outline: none; border-color: rgba(212,175,55,.5); box-shadow: 0 0 0 3px rgba(212,175,55,.1); }

/* 弹窗：遮罩模糊 + 弹入 */
.modal { background: rgba(5,5,10,.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.modal-box { border-radius: 18px; animation: mPop .2s cubic-bezier(.2,.9,.3,1.15); }
@keyframes mPop { from { opacity: 0; transform: scale(.95) translateY(10px); } to { opacity: 1; transform: none; } }

/* 金色按钮辉光 */
.btn-gold { box-shadow: 0 6px 20px rgba(212,175,55,.26); transition: transform .15s ease, box-shadow .15s ease; }
.btn-gold:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(212,175,55,.36); }

/* 滚动条（暗金系） */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: rgba(212,175,55,.3); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: rgba(212,175,55,.5); }
::-webkit-scrollbar-track { background: transparent; }

/* =========================================================
   v2 · 动效层（暗金玻璃版）
   ========================================================= */
/* 登录后主界面：整体淡入 */
.wrap { animation: wrapIn .45s cubic-bezier(.22,.9,.32,1); }
@keyframes wrapIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* 身份卡 & 数据卡：依次上浮入场 */
.who { animation: cardIn .5s ease both; }
.card { animation: cardIn .5s ease both; }
.card:nth-of-type(1) { animation-delay: .03s; }
.card:nth-of-type(2) { animation-delay: .09s; }
.card:nth-of-type(3) { animation-delay: .15s; }
.card:nth-of-type(4) { animation-delay: .21s; }
.card:nth-of-type(5) { animation-delay: .27s; }
.sgrid .scard { animation: cardIn .5s ease both; }
.sgrid .scard:nth-child(1) { animation-delay: .04s; }
.sgrid .scard:nth-child(2) { animation-delay: .1s; }
@keyframes cardIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* 展开的礼物明细行轻入场 */
.gift-detail { animation: detIn .22s ease; }
@keyframes detIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* 大数字轻微发光呼吸（只作用于顶部总额 big 类） */
.big, .snum { transition: color .3s ease, text-shadow .3s ease; }
.card:hover .big, .scard:hover .snum { text-shadow: 0 0 22px rgba(212,175,55,.4); }

/* 展开箭头：收起时平滑回弹 */
.arr { transition: transform .2s ease; display:inline-block; }

/* 登录按钮辉光流动 */
.login button { background-size: 160% 100%; background-image: linear-gradient(115deg, #b8932e 0%, #e8c75a 45%, #b8932e 100%); animation: shineMove 5s ease-in-out infinite; }
@keyframes shineMove { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }

/* =========================================================
   v3 · 双菜单（我的 / 军团） + 金额语义色 + 层级区分
   ========================================================= */
/* 顶部双菜单胶囊 */
.vtabs { display: flex; gap: 8px; margin-bottom: 14px; padding: 4px; background: rgba(255,255,255,.04); border: 1px solid rgba(212,175,55,.15); border-radius: 14px; }
.vtab { flex: 1; text-align: center; padding: 10px 0; font-size: 14px; letter-spacing: 3px; color: var(--muted); border-radius: 11px; cursor: pointer; transition: all .2s ease; }
.vtab.on { background: linear-gradient(135deg,#b8932e,#d4af37); color: #1a1a0f; font-weight: 700; box-shadow: 0 4px 14px rgba(212,175,55,.3); }

/* 金额语义色（全域） */
.amt-gift { color: #f0d68a; font-weight: 700; }
.amt-reb { color: #ff8a6b; font-weight: 700; }
.amt-xc { color: #7dd3fc; font-weight: 600; }
.amt-tab { color: #9ca3af; font-weight: 600; }
#g-total { color: #f0d68a; }
#r-total { color: #ff8a6b; }
.snum.gold { color: #f0d68a; }

/* 层级行（男团 → 队员 → 台/明细） */
.team-g {
  background: linear-gradient(90deg, rgba(212,175,55,.1), rgba(212,175,55,.02));
  border-left: 3px solid #d4af37;
  border-radius: 10px 0 0 10px;
  padding: 9px 10px; margin-top: 4px;
}
.team-g .gn { color: #e8c75a; font-weight: 700; letter-spacing: 2px; }
.team-m {
  margin-left: 10px;
  border-left: 2px solid rgba(212,175,55,.28);
  background: rgba(255,255,255,.025);
  border-radius: 8px 0 0 8px;
  padding: 8px 10px; margin-top: 3px;
}
.team-t { border-bottom: 1px dashed rgba(255,255,255,.08); }
.leaf { border-bottom: 1px dashed rgba(255,255,255,.06); padding: 7px 0; }
.leaf .k { color: #c9c4b6; }
.row.team-g:hover, .row.team-m:hover { background: rgba(212,175,55,.07); }

/* 角色徽标 */
.tag.r-cmd { background: linear-gradient(135deg,#b8932e,#d4af37); color: #1a1a0f; font-weight: 700; }
.tag.r-cap { background: rgba(168,130,66,.2); color: #e8c75a; }

/* 明细金额统一等宽排列 */
.row .v, .leaf .v { font-variant-numeric: tabular-nums; }


/* ===== 日期查询栏（员工端 v4） ===== */
.datebar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:rgba(212,175,55,.05); border:1px solid rgba(212,175,55,.16); border-radius:10px; padding:8px 12px; margin:10px 0 14px; }
.datebar .db-label { font-size:12px; color:#e8c75a; font-weight:700; letter-spacing:1px; white-space:nowrap; }
.datebar input[type=date] { background:#0f0f16; color:#e5e7eb; border:1px solid rgba(212,175,55,.35); border-radius:6px; padding:6px 8px; font-size:13px; color-scheme:dark; }
.datebar .db-btn { background:linear-gradient(135deg,#b8932e,#d4af37); color:#1a1a0f; border:none; border-radius:6px; padding:6px 14px; font-weight:700; font-size:13px; cursor:pointer; letter-spacing:2px; }
.datebar .db-btn:active { transform:scale(.96); }
.datebar .db-tip { font-size:11px; color:rgba(240,214,138,.8); white-space:nowrap; }
.datebar .db-clock { margin-left:auto; font-size:11px; color:rgba(255,255,255,.45); font-variant-numeric:tabular-nums; white-space:nowrap; }

/* ===== 高亮层级 v5：台号 / 订台人 / 金额 ===== */
.hl-no  { display:inline-block; font-weight:800; color:#1a1a0f; background:linear-gradient(135deg,#f0d68a,#c9a53e); padding:1px 8px; border-radius:5px; font-size:12.5px; letter-spacing:.5px; box-shadow:0 1px 6px rgba(212,175,55,.28); vertical-align:middle; }
.hl-bk  { font-weight:700; color:#ffffff; }
.hl-amt { font-weight:800; color:#fcd34d; font-variant-numeric:tabular-nums; }

/* ===== 高亮层级 v6：人名/金额统一金色胶囊语言（覆盖 v5） ===== */
.hl-bk  { display:inline-block; font-weight:700; color:#f5dfa0; background:rgba(212,175,55,.10); border:1px solid rgba(212,175,55,.45); padding:0 7px; border-radius:5px; vertical-align:middle; }
.hl-amt { display:inline-block; font-weight:800; color:#241a00; background:linear-gradient(135deg,#fdf0c8,#e3c06a); padding:0 7px; border-radius:5px; box-shadow:0 1px 5px rgba(212,175,55,.22); vertical-align:middle; font-variant-numeric:tabular-nums; }

/* ===== 高亮层级 v7：名字胶囊换紫罗兰系（区别于金台号/金金额） ===== */
.hl-bk  { display:inline-block; font-weight:700; color:#c7bbf6; background:rgba(167,139,250,.12); border:1px solid rgba(167,139,250,.5); padding:0 7px; border-radius:5px; vertical-align:middle; }

/* ===== 高亮层级 v8：名字胶囊电光蓝（高亮） ===== */
.hl-bk  { display:inline-block; font-weight:700; color:#7dd3fc; background:rgba(56,189,248,.16); border:1px solid rgba(56,189,248,.65); padding:0 7px; border-radius:5px; vertical-align:middle; }

/* ===== 语义胶囊 v9：返点珊瑚 / 现抽天青（与浅金 hl-amt 同风格） ===== */
.cap-coral{ display:inline-block; font-weight:800; color:#7c1d11; background:linear-gradient(135deg,#ffddd2,#ef9d82); padding:0 8px; border-radius:5px; box-shadow:0 1px 5px rgba(224,108,90,.22); vertical-align:middle; font-variant-numeric:tabular-nums; }
.cap-cyan { display:inline-block; font-weight:800; color:#083e5c; background:linear-gradient(135deg,#d7f2fd,#96d9f3); padding:0 8px; border-radius:5px; box-shadow:0 1px 5px rgba(56,189,248,.22); vertical-align:middle; font-variant-numeric:tabular-nums; }

/* ===== 语义胶囊 v9b：小吃粉（区别于金礼物/珊瑚返点/天青现抽） ===== */
.amt-snack{ display:inline-block; font-weight:800; color:#3f0625; background:linear-gradient(135deg,#ffd7ec,#f3a4cf); padding:0 8px; border-radius:5px; box-shadow:0 1px 5px rgba(244,114,182,.24); vertical-align:middle; font-variant-numeric:tabular-nums; }
.cap-snack{ display:inline-block; font-weight:800; color:#3f0625; background:linear-gradient(135deg,#ffd7ec,#f3a4cf); padding:3px 14px; border-radius:999px; box-shadow:0 1px 8px rgba(244,114,182,.26); vertical-align:middle; font-variant-numeric:tabular-nums; }
.sumcap-pink{ display:inline-block; font-weight:800; color:#4a062a; background:linear-gradient(135deg,#ffd7ec,#ef9ccd); padding:4px 18px; border-radius:10px; box-shadow:0 2px 12px rgba(244,114,182,.3); font-variant-numeric:tabular-nums; }
.sn-col{ display:inline-block; font-size:11px; color:#8fa0b8; border:1px dashed rgba(255,255,255,.24); border-radius:999px; padding:2px 10px; margin-left:8px; cursor:pointer; vertical-align:middle; }
.sn-col:hover{ color:#f9a8d4; border-color:rgba(244,114,182,.5); }

/* ===== 汇总大胶囊 v10：卡片顶部大数字（尺寸放大版） ===== */
.sumcap      { display:inline-block; font-weight:800; color:#241a00; background:linear-gradient(135deg,#fdf0c8,#e6c46e); padding:4px 18px; border-radius:10px; box-shadow:0 2px 12px rgba(212,175,55,.32); font-variant-numeric:tabular-nums; }
.sumcap-coral{ display:inline-block; font-weight:800; color:#7c1d11; background:linear-gradient(135deg,#ffddd2,#ef9d82); padding:4px 18px; border-radius:10px; box-shadow:0 2px 12px rgba(224,108,90,.3); font-variant-numeric:tabular-nums; }
.sumcap-cyan { display:inline-block; font-weight:800; color:#083e5c; background:linear-gradient(135deg,#d7f2fd,#96d9f3); padding:4px 18px; border-radius:10px; box-shadow:0 2px 12px rgba(56,189,248,.3); font-variant-numeric:tabular-nums; }

/* ===== 人名渐变色板 v11：8 色按人哈希稳定分配 ===== */
.pc0,.pc1,.pc2,.pc3,.pc4,.pc5,.pc6,.pc7 { display:inline-block; font-weight:700; padding:0 7px; border-radius:5px; vertical-align:middle; }
.pc0{ background:linear-gradient(135deg,#fdf0c8,#e6c46e); color:#3b2b00; }
.pc1{ background:linear-gradient(135deg,#ffd9cd,#ef9d82); color:#6e1a0c; }
.pc2{ background:linear-gradient(135deg,#d3f0fd,#8fd7f2); color:#064e6b; }
.pc3{ background:linear-gradient(135deg,#d9f9e3,#86dcae); color:#14532d; }
.pc4{ background:linear-gradient(135deg,#efe4ff,#c9a8ef); color:#4a1d7c; }
.pc5{ background:linear-gradient(135deg,#ffe9d2,#ffc489); color:#7a3207; }
.pc6{ background:linear-gradient(135deg,#ffe1ef,#f8a6cd); color:#861a4a; }
.pc7{ background:linear-gradient(135deg,#e0e7ff,#aab8f5); color:#2c2e8f; }

/* ===== 汇总大胶囊排版修正 v12：数字改用无衬线、胶囊内衬与行距归一 ===== */
.big { line-height:1.2; margin:6px 0 10px; }
.sumcap, .sumcap-coral, .sumcap-cyan {
  font-family:'Segoe UI','Microsoft YaHei',system-ui,sans-serif;
  letter-spacing:.5px; line-height:1; padding:8px 20px; border-radius:12px;
}
.sgrid .sumcap, .sgrid .sumcap-coral, .sgrid .sumcap-cyan { font-family:'Segoe UI','Microsoft YaHei',system-ui,sans-serif; letter-spacing:.5px; }

/* ===== 身份卡胶囊 v13：名字/代号/军团/男团/职位 ===== */
.who .n .pc0,.who .n .pc1,.who .n .pc2,.who .n .pc3,.who .n .pc4,.who .n .pc5,.who .n .pc6,.who .n .pc7 { font-size:15px; padding:2px 10px; border-radius:8px; }
.who .n .pccode{ margin-left:6px; vertical-align:2px; }
.who .sub{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.pccode { display:inline-block; font-size:11px; font-weight:700; color:#334155; background:linear-gradient(135deg,#eef1f5,#c9d2dc); padding:1px 8px; border-radius:5px; }
.pccorps{ display:inline-block; font-size:12px; font-weight:700; color:#1e2a78; background:linear-gradient(135deg,#e0e7ff,#b3c2f0); padding:1px 9px; border-radius:5px; }
.pcgrp  { display:inline-block; font-size:12px; font-weight:700; color:#0c4a40; background:linear-gradient(135deg,#d6f6f0,#8fd6c9); padding:1px 9px; border-radius:5px; }
.pcmem  { display:inline-block; font-weight:700; color:#cbd5e1; background:rgba(148,163,184,.16); border:1px solid rgba(148,163,184,.5); padding:1px 12px; border-radius:5px; }
.who .r{ display:flex; justify-content:flex-end; }

/* ===== v14 · 周期结算：酒水金额下拉（现抽酒水明细） ===== */
.xc-fold { cursor:pointer; border-radius:8px; padding:2px 5px; margin:0 -5px; transition:background .15s ease; }
.xc-fold:hover { background:rgba(125,211,252,.08); }
.xc-fold .arr { color:#7dd3fc; font-size:12px; margin-left:4px; }

/* ===== v15 · 现抽明细改横条块（每笔一个圆角长方形） ===== */
.xc-item {
  display:flex; flex-direction:column; gap:7px;
  border-radius:12px; margin:7px 2px 0;
  padding:9px 13px 10px;
  background:linear-gradient(135deg, rgba(125,211,252,.09), rgba(255,255,255,.025));
  border:1px solid rgba(125,211,252,.16);
}
.xi-top { display:flex; align-items:center; gap:8px; min-width:0; }
.xi-name { color:#f3f4f6; font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xi-name .xi-qty { font-style:normal; color:#9ca3af; font-weight:500; font-size:11px; margin-left:2px; }
.xi-bot { display:flex; align-items:center; gap:9px; }
.xi-amt { font-weight:800; color:#fcd34d; font-size:15px; font-variant-numeric:tabular-nums; letter-spacing:.5px; }
.xi-xc  { display:inline-block; font-weight:800; color:#083e5c; background:linear-gradient(135deg,#d7f2fd,#96d9f3); padding:1px 10px; border-radius:7px; box-shadow:0 1px 5px rgba(56,189,248,.22); font-size:12px; font-variant-numeric:tabular-nums; }
.xi-time { margin-left:auto; color:rgba(255,255,255,.35); font-size:10px; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* ===== v16 · 订台返点明细（台块 + 打给谁清单，珊瑚语义） ===== */
.rb-item {
  display:flex; flex-direction:column; gap:7px;
  border-radius:12px; margin:7px 2px 0;
  padding:9px 13px 10px;
  background:linear-gradient(135deg, rgba(224,108,90,.08), rgba(255,255,255,.025));
  border:1px solid rgba(224,108,90,.16);
}
.xi-meta { margin-left:auto; display:flex; align-items:center; gap:9px; flex-shrink:0; }
.xi-reb  { display:inline-block; font-weight:800; color:#7c1d11; background:linear-gradient(135deg,#ffddd2,#ef9d82); padding:1px 10px; border-radius:7px; box-shadow:0 1px 5px rgba(224,108,90,.22); font-size:12px; font-variant-numeric:tabular-nums; }
.rb-gifts { display:flex; flex-direction:column; gap:5px; border-top:1px dashed rgba(255,255,255,.08); padding-top:8px; }
.rb-row { display:flex; align-items:center; gap:8px; font-size:12.5px; padding:3px 6px; border-radius:6px; }
.rb-to { color:#e7e5e4; white-space:nowrap; }
.rb-amt { font-weight:700; color:#fcd34d; font-variant-numeric:tabular-nums; }
.rb-row .xi-time { margin-left:auto; font-size:10px; }
.rb-fold:hover { background:rgba(224,108,90,.08); }
.rb-fold .arr { color:#ff8a6b; }

/* ===== v17 · 罚款挂礼扣款明细（红系警示横条） ===== */
.pn-item {
  display:flex; align-items:center; gap:10px;
  border-radius:10px; margin:6px 2px 0;
  padding:8px 13px;
  background:linear-gradient(135deg, rgba(248,113,113,.08), rgba(255,255,255,.02));
  border:1px solid rgba(248,113,113,.2);
}
.pn-reason { color:#fecaca; font-size:13px; font-weight:600; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pn-amt  { display:inline-block; font-weight:800; color:#7f1d1d; background:linear-gradient(135deg,#ffe4e6,#fda4af); padding:1px 10px; border-radius:7px; box-shadow:0 1px 5px rgba(248,113,113,.2); font-size:12.5px; font-variant-numeric:tabular-nums; flex-shrink:0; }
.pn-time { color:rgba(255,255,255,.35); font-size:10px; flex-shrink:0; font-variant-numeric:tabular-nums; }
.pn-fold:hover { background:rgba(248,113,113,.07); }
.pn-fold .arr { color:#fda4af; }

/* ===== v18 · 周期结算期选择条（月份 + 四期直选） ===== */
.settle-nav { display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-bottom:10px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:8px 10px; }
.settle-nav select.sm { background:#0f172a; color:#e5e7eb; border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:6px 12px; font-size:13px; max-width:150px; cursor:pointer; }
.settle-nav .snp { cursor:pointer; padding:5px 14px; border-radius:999px; font-size:12.5px; color:#cbd5e1;
  border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.03); white-space:nowrap; transition:all .15s ease; }
.settle-nav .snp em { font-style:normal; color:#7c8aa0; font-size:11px; margin-left:2px; }
.settle-nav .snp:hover { border-color:rgba(212,175,55,.6); color:#f0d68a; }
.settle-nav .snp.on { background:linear-gradient(135deg,#fdf0c8,#e6c46e); color:#241a00; border-color:transparent; font-weight:700; box-shadow:0 2px 10px rgba(212,175,55,.3); }
.settle-nav .snp.on em { color:#6b4f0a; }
.settle-nav .snp-now { margin-left:auto; cursor:pointer; font-size:11.5px; color:#7dd3fc; border:1px dashed rgba(125,211,252,.55); padding:5px 12px; border-radius:999px; white-space:nowrap; transition:all .15s ease; }
.settle-nav .snp-now:hover { background:rgba(125,211,252,.1); }

/* ===== v19 · 移动端触摸适配 + 子菜单返回条（手机屏幕交付） ===== */
.gd-back {
  display: flex; align-items: center; gap: 6px;
  font-size: 14px; color: #7dd3fc; cursor: pointer; user-select: none;
  padding: 10px 8px 12px; margin: 0 -4px 2px;
  border-bottom: 1px dashed rgba(125,211,252,.28);
}
.gd-back-ic { font-size: 20px; line-height: 1; }
.gd-back:active { background: rgba(125,211,252,.12); }

@media (max-width: 760px){
  .wrap { padding: 10px 10px 60px; }
  .card { padding: 12px; border-radius: 16px; }
  .row { padding: 9px 2px; font-size: 14.5px; }
  /* 可展开父行：整行触摸热区 ≥46px、右侧箭头胶囊化，一眼可点 */
  .row[onclick*="toggleGift"] { min-height: 48px; align-items: center; padding: 10px 4px; border-radius: 10px; }
  .row .arr { font-size: 15px; min-width: 34px; text-align: center; margin-left: 10px;
    background: rgba(255,255,255,.10); border-radius: 999px; padding: 7px 4px; line-height: 1; }
  .row[onclick*="toggleGift"] .arr { background: rgba(212,175,55,.16); color: #f0d68a; }
  .row[onclick*="toggleGift"].open .arr { background: rgba(125,211,252,.18); color: #7dd3fc; }
  /* 周期结算三卡手机纵向排（原 2 列压缩），便于大字查看 */
  .sgrid { grid-template-columns: 1fr; gap: 12px; }
  .scard { padding: 14px 16px; }
  /* 明细子行 */
  .gift-detail .row { padding: 9px 2px; }
  .gift-detail .row.leaf { padding-left: 10px !important; }
  .row .k { flex: 1; min-width: 0; word-break: break-all; }
  /* 成员/树行触屏 */
  .team-g, .team-m, .trow { min-height: 48px; }
  .gn { font-size: 15px; }
  .muted, .small { font-size: 12px; }
  .card .tag { font-size: 11px; }
  .hl-amt, .hl-no { white-space: nowrap; }
  /* 汇总大字/胶囊在手机上仍够大 */
  .sumcap, .sumcap-coral, .sumcap-cyan { font-size: 20px !important; }
}

/* =========================================================
   v20 · 阻尼感特效（按压回弹 / 弹簧展开 / 涟漪 / 错峰入场）
   ========================================================= */
/* 展开/收起弹簧动画（覆盖旧 detIn） */
@keyframes detSpring { from { opacity: 0; transform: translateY(-8px) scale(.988); }
  62% { opacity: 1; transform: translateY(1.5px) scale(1.0015); }
  to { opacity: 1; transform: none; } }
.gift-detail { animation: detSpring .34s cubic-bezier(.22,1.25,.36,1); transform-origin: top center; }
@keyframes detOut { to { opacity: 0; transform: translateY(-5px) scale(.993); } }
.gift-detail.gd-out { animation: detOut .15s ease-in forwards; }

/* 逐行错峰（JS 注入 rowStagger + delay） */
@keyframes rowStagger { from { opacity: 0; transform: translateX(-7px); }
  to { opacity: 1; transform: none; } }

/* 按压回弹（弹簧手感） */
@keyframes pressPop { 0% { transform: scale(1); } 45% { transform: scale(.962); } 100% { transform: scale(1); } }
.row[onclick*="toggleGift"]:active, .gd-back:active, .vtab:active,
button:active, .tag:active, .chips .chip:active, .pchip:active { animation: pressPop .3s cubic-bezier(.34,1.56,.64,1); }

/* 涟漪 */
.ripple { position: absolute; border-radius: 50%; pointer-events: none; z-index: 3;
  background: radial-gradient(circle, rgba(255,255,255,.42) 0%, rgba(212,175,55,.28) 40%, rgba(255,255,255,0) 70%);
  transform: scale(0); animation: rippleIn .6s ease-out forwards; }
@keyframes rippleIn { to { transform: scale(1); opacity: 0; } }
.row[onclick*="toggleGift"], .gd-back, .vtab, .chips .chip { position: relative; overflow: hidden; }

/* 顶部 tab 胶囊：选中过渡带弹感 + 微辉光 */
.vtab { transition: background .25s cubic-bezier(.34,1.56,.64,1), color .2s ease, box-shadow .25s ease; position: relative; overflow: hidden; }
.vtab.on { box-shadow: 0 2px 12px rgba(212,175,55,.35), inset 0 1px 0 rgba(255,255,255,.25); }

/* 细滚动条（桌面鼠标滚动手感） */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: rgba(212,175,55,.25); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: rgba(212,175,55,.45); }
::-webkit-scrollbar-track { background: transparent; }

/* 平滑滚动（返回条/锚点跳转阻尼） */
html { scroll-behavior: smooth; }

/* 卡片/胶囊悬停抬升加弹簧（桌面 hover） */
@media (hover: hover){
  .row[onclick*="toggleGift"]:hover { background: rgba(212,175,55,.10) !important; transform: translateY(-1px); transition: transform .25s cubic-bezier(.34,1.56,.64,1), background .2s ease; }
  .vtab:hover { transform: translateY(-1px); }
}
/* v20 补：涟漪需要按钮为定位容器 + 去掉系统触摸高亮（手感交给自定义） */
button, .chips .chip { position: relative; overflow: hidden; -webkit-tap-highlight-color: transparent; }
body { -webkit-tap-highlight-color: transparent; }
/* v20 补：涟漪需要按钮为定位容器 + 去掉系统触摸高亮（手感交给自定义） */
button, .chips .chip { position: relative; overflow: hidden; -webkit-tap-highlight-color: transparent; }
body { -webkit-tap-highlight-color: transparent; }

/* =========================================================
   v21 · 店长实时看板（员工端「店长」入口）
   ========================================================= */
.lg-seg { display:flex; gap:6px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:999px; padding:5px; margin-bottom:18px; }
.lg-tab { flex:1; text-align:center; padding:11px 0; border-radius:999px; color:#8fa0b8; cursor:pointer;
  font-size:14px; transition:all .25s cubic-bezier(.34,1.56,.64,1); letter-spacing:1px; }
.lg-tab.on { background:linear-gradient(135deg,#fdf0c8,#e6c46e); color:#241a00; font-weight:700; box-shadow:0 2px 12px rgba(212,175,55,.35); }

.boss-wrap { max-width:1000px; margin:0 auto; padding:14px 12px 60px; }
.boss-bar { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap;
  background:linear-gradient(135deg, rgba(212,175,55,.10), rgba(255,255,255,.03));
  border:1px solid rgba(212,175,55,.25); border-radius:16px; padding:14px 18px; margin-bottom:12px; }
.boss-title { font-size:22px; font-weight:800; color:#f0d68a; letter-spacing:2px; }
.boss-sub { font-size:12px; color:#8fa0b8; margin-top:4px; }
.boss-date { background:#0f172a; color:#e5e7eb; border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:8px 10px; font-size:13px; }
.boss-auto { display:flex; align-items:center; gap:4px; color:#9aa7bd; font-size:12px; cursor:pointer; }
.boss-auto input { accent-color:#d4af37; width:16px; height:16px; }
.boss-hint { margin:0 0 12px; }
.boss-hint.red { background:rgba(220,38,38,.12); border:1px solid rgba(220,38,38,.4); color:#ffb4b4; border-radius:10px; padding:10px 14px; font-size:13px; }
.boss-hint.amber { background:rgba(217,119,6,.14); border:1px solid rgba(217,119,6,.45); color:#fcd34d; border-radius:10px; padding:10px 14px; font-size:13px; }

.boss-grid5 { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:16px; }
.boss5 { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:14px 12px; }
.boss5-t { font-size:13px; color:#9aa7bd; margin-bottom:6px; }
.boss5-v { font-size:19px; font-weight:800; color:#fcd34d; font-variant-numeric:tabular-nums; }
.boss5-s { font-size:11px; color:#7c8aa0; margin-top:5px; }

.boss-sec-t { font-size:15px; font-weight:800; color:#e5e7eb; margin:4px 0 8px; letter-spacing:1px; }
.boss-sec-t.big { font-size:16px; color:#f0d68a; }
.boss-sec { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:18px; }
.boss-sec-card { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:12px; }
.boss-sec-t2 { font-size:13px; font-weight:700; color:#cbd5e1; margin-bottom:6px; }
.rk { width:100%; border-collapse:collapse; }
.rk td { padding:7px 6px; font-size:13px; border-bottom:1px dashed rgba(255,255,255,.06); }
.rk td:last-child { text-align:right; }
.rk tr.m1 td { background:linear-gradient(90deg, rgba(212,175,55,.30), rgba(212,175,55,.05)); color:#fff; font-weight:800; }
.rk tr.m2 td { background:linear-gradient(90deg, rgba(203,213,225,.22), rgba(203,213,225,.04)); font-weight:700; }
.rk tr.m3 td { background:linear-gradient(90deg, rgba(240,176,122,.22), rgba(240,176,122,.04)); font-weight:700; }
.md { display:inline-block; min-width:24px; text-align:center; border-radius:99px; font-size:12px; margin-right:6px; padding:1px 7px; font-weight:800; }
.md.m1 { background:#f0c75e; color:#4a3204; }
.md.m2 { background:#cbd5e1; color:#1e293b; }
.md.m3 { background:#e0a86e; color:#4a2505; }
.md.plain { background:rgba(255,255,255,.10); color:#9aa7bd; font-weight:600; }
.per-row { display:flex; align-items:center; gap:8px; padding:9px 8px; border-radius:10px; margin-bottom:6px; }
.per-row.m1 { background:linear-gradient(90deg, rgba(212,175,55,.30), rgba(212,175,55,.05)); }
.per-row.m2 { background:linear-gradient(90deg, rgba(203,213,225,.22), rgba(203,213,225,.04)); }
.per-row.m3 { background:linear-gradient(90deg, rgba(240,176,122,.22), rgba(240,176,122,.04)); }
.per-n { flex:1; min-width:0; font-size:13px; }
.per-row b { font-size:15px; color:#fcd34d; font-variant-numeric:tabular-nums; white-space:nowrap; }

@media (max-width: 860px){
  .boss-grid5 { grid-template-columns:repeat(2,1fr); }
  .boss-sec { grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .boss-grid5 { grid-template-columns:repeat(2,1fr); }
  .boss5-v { font-size:16px; }
}
/* v21 补：登录表单标签 */
.lg-label { font-size:14px; color:#9aa7bd; margin:0 2px 6px; letter-spacing:1px; }
/* v21 补：个人榜 4-10 名普通行 */
.per-row.plain { background: rgba(255,255,255,.03); }
.per-row.plain b { color:#cbd5e1; }
/* v21 补：个人榜 4-10 名普通行 */
.per-row.plain { background: rgba(255,255,255,.03); }
.per-row.plain b { color:#cbd5e1; }

/* v22 店长看板·胶囊化文字（状态/日期/类别/单位全部文字胶囊化） */
.boss-sub { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:6px; }
.pill { display:inline-block; border-radius:999px; font-size:11px; letter-spacing:.5px; padding:2px 10px; vertical-align:middle; white-space:nowrap; font-weight:600; line-height:1.5; }
.pill-live   { background:rgba(45,212,191,.14); color:#5eead4; border:1px solid rgba(45,212,191,.45); }
.pill-sealed { background:rgba(203,213,225,.12); color:#cbd5e1; border:1px solid rgba(203,213,225,.35); }
.pill-gold   { background:linear-gradient(135deg,rgba(212,175,55,.28),rgba(212,175,55,.08)); color:#f0d68a; border:1px solid rgba(212,175,55,.55); }
.pill-gray   { background:rgba(255,255,255,.07); color:#9aa7bd; border:1px solid rgba(255,255,255,.16); }
.pill-coral  { background:rgba(240,157,123,.14); color:#f5b59b; border:1px solid rgba(240,157,123,.42); }
.pill-cyan   { background:rgba(125,211,252,.12); color:#7dd3fc; border:1px solid rgba(125,211,252,.38); }
.pill-amber  { background:rgba(252,211,77,.12); color:#fcd34d; border:1px solid rgba(252,211,77,.38); }
.pill-violet { background:rgba(196,181,253,.12); color:#c4b5fd; border:1px solid rgba(196,181,253,.38); }
.pill-red    { background:rgba(248,113,113,.13); color:#fca5a5; border:1px solid rgba(248,113,113,.42); }
.pill-pink   { background:rgba(244,114,182,.14); color:#f9a8d4; border:1px solid rgba(244,114,182,.44); }
.pill-ghost  { background:transparent; color:#7c8aa0; border:1px dashed rgba(255,255,255,.20); font-weight:400; }
.boss-title .pill { margin-left:8px; }
.boss-title .pill.pill-gray { font-size:12px; padding:2px 12px; }
.b5h { display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.boss-sec-t.big .pill, .boss-sec-t2 .pill { margin-left:6px; }
.per-row { flex-wrap:wrap; }
.per-row .pill.pcorp { font-size:10px; padding:1px 8px; background:rgba(255,255,255,.03); }
.per-row b { margin-left:auto; }

/* v23 店长看板：日/周/月 三榜切换胶囊 */
.boss-dims { display:inline-flex; border:1px solid rgba(212,175,55,.38); border-radius:999px; padding:3px; background:rgba(212,175,55,.07); gap:2px; }
.bd { font-size:12px; padding:5px 15px; border-radius:999px; color:#9aa7bd; cursor:pointer; letter-spacing:2px; transition:all .22s cubic-bezier(.34,1.56,.64,1); -webkit-tap-highlight-color:transparent; user-select:none; }
.bd:hover { color:#e8c75a; }
.bd.on { background:linear-gradient(135deg,#f6dc93,#d4af37); color:#241a00; font-weight:800; box-shadow:0 2px 10px rgba(212,175,55,.35); }
.boss-title { display:flex; align-items:center; flex-wrap:wrap; }
.bpick { display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.bpick select { background:#0f172a; color:#e5e7eb; border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:8px 10px; font-size:13px; }
.boss-peri { display:inline-flex; gap:4px; flex-wrap:wrap; }
.boss-peri .bp { font-size:12px; padding:5px 11px; border-radius:999px; color:#9aa7bd; border:1px solid rgba(255,255,255,.16); cursor:pointer; letter-spacing:.5px; transition:all .18s; -webkit-tap-highlight-color:transparent; white-space:nowrap; }
.boss-peri .bp:hover { color:#e8c75a; border-color:rgba(212,175,55,.5); }
.boss-peri .bp.on { background:linear-gradient(135deg,#f6dc93,#d4af37); color:#241a00; font-weight:800; border-color:transparent; box-shadow:0 2px 8px rgba(212,175,55,.3); }

/* v24 店长看板：顶行操作胶囊 + 榜单数值/军团/人名全胶囊 */
.boss-top { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; width:100%; }
.boss-qrow { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:12px; width:100%; }
.boss-ops { display:flex; align-items:center; gap:8px; margin-left:auto; }
.boss-auto { display:inline-flex; align-items:center; gap:5px; border:1px solid rgba(212,175,55,.4); border-radius:999px; padding:5px 13px; background:rgba(212,175,55,.07); color:#f0d68a; font-size:12px; letter-spacing:.5px; cursor:pointer; }
.boss-auto input { accent-color:#d4af37; width:14px; height:14px; }
.pill-ctrl { display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:5px 15px; font-size:12px; color:#cbd5e1; cursor:pointer; letter-spacing:1px; transition:all .16s; background:rgba(255,255,255,.04); -webkit-tap-highlight-color:transparent; user-select:none; }
.pill-ctrl:hover { border-color:rgba(212,175,55,.55); color:#f0d68a; }
.pill-ctrl.exit:hover { border-color:rgba(248,113,113,.6); color:#fca5a5; }
.v-pill { display:inline-block; border-radius:999px; padding:2px 12px; font-size:12px; font-weight:800; letter-spacing:.5px; font-variant-numeric:tabular-nums; white-space:nowrap; line-height:1.6; }
.v-pill.gold { background:linear-gradient(135deg,rgba(212,175,55,.22),rgba(212,175,55,.05)); color:#fcd34d; border:1px solid rgba(212,175,55,.45); }
.v-pill.cyan { background:rgba(125,211,252,.12); color:#7dd3fc; border:1px solid rgba(125,211,252,.4); }
.per-row .v-pill, .rk .v-pill { margin-left:auto; }
.pname { display:inline-block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:999px; padding:1px 12px; font-size:12px; font-weight:600; color:#e2e8f0; background:rgba(148,163,184,.13); border:1px solid rgba(148,163,184,.4); }
.per-c { font-size:11px; color:#64748b; }
.pgrp { display:inline-block; border-radius:999px; padding:1px 8px; font-size:10px; letter-spacing:.5px; color:#9aa7bd; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); white-space:nowrap; }
.v-pill.sm { padding:0 9px; font-size:11px; }
.cg-row { display:flex; align-items:center; gap:6px; padding:3px 8px 3px 30px; margin:-1px 0 1px; border-left:1px dashed rgba(255,255,255,.1); }
.cg-row .v-pill { margin-left:auto; }
.rk-sec-t { font-size:15px; font-weight:800; color:#f0d68a; margin:14px 0 8px; letter-spacing:1px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#v-rank .boss-sec { margin-bottom:0; }

/* v25 军团榜男团明细：点击展开/收起 */
.cg-cap { cursor:pointer; }
.cg-cap .cg-arr { display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%; font-size:11px; color:#f0d68a; border:1px solid rgba(212,175,55,.42); background:rgba(212,175,55,.08); margin-left:6px; transition:transform .28s cubic-bezier(.34,1.56,.64,1), background .2s; flex:0 0 auto; }
.cg-cap .cg-arr:hover { background:rgba(212,175,55,.22); }
.cg-cap.cg-on .cg-arr { transform:rotate(180deg); background:rgba(212,175,55,.24); }
.cg-cap .v-pill { margin-left:auto; }
.cg-sub { display:none; }
.cg-cap.cg-on + .cg-sub { display:block; }
.cg-sub { animation:none; }
.cg-sub .cg-row:first-child { margin-top:4px; }
@keyframes cgIn { from{opacity:0; transform:translateY(-4px);} to{opacity:1; transform:none;} }
.cg-cap.cg-on + .cg-sub { animation:cgIn .22s ease; }
.rk2 { display:block; }

/* ============================================================
   v26 全端排版规约（统一查询条/卡片/榜单/间距 · 手机+桌面双适配）
   覆盖式追加：只调布局与间距，不动任何业务逻辑
   ============================================================ */
.topbar { padding: 22px 16px 10px; }
.brand span#brand-txt { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; letter-spacing:2px; line-height:1.8; }
.brand span#brand-txt .pill { font-size:10px; padding:1px 9px; }
.login { margin-top: 16px; }
.wrap { padding-top: 12px; }

.who { align-items:flex-start; gap:10px; padding:15px 16px; margin-bottom:12px; flex-wrap:wrap; }
.who .n { display:flex; align-items:center; flex-wrap:wrap; gap:6px; line-height:1.5; }
.who .r { display:flex; flex-direction:column; align-items:flex-end; gap:7px; margin-left:auto; }
.who .r .logout { margin:0; }

.card { padding:16px; margin-bottom:12px; }
.card h3 { font-size:14px; letter-spacing:2px; margin-bottom:12px; }
.card h3 .tag, .card h3 .pill { font-size:11px; }
.big { font-size:27px; margin:4px 0 8px; }
.scard { padding:12px 14px; }
.row { padding:9px 2px; }

.datebar { padding:7px 10px; gap:6px; }
.datebar input[type=date] { height:34px; box-sizing:border-box; }
.db-btn, .dlbtn { min-height:34px; display:inline-flex; align-items:center; justify-content:center; }

.vtabs { gap:6px; padding:4px; margin-bottom:12px; }
.vtab { letter-spacing:2px; }

.per-row { min-height:38px; padding:6px 8px; border-radius:10px; margin-bottom:5px; gap:6px; }
.per-row .md { min-width:21px; font-size:11px; }
.v-pill { font-size:11.5px; padding:2px 10px; }
.pname, .pill.pcorp { font-size:11.5px; padding:1px 11px; }
.pgrp { font-size:10px; }

.boss-wrap { padding-top: 10px; }
.boss-bar { padding:12px 14px; gap:8px; }
.boss-title { font-size:19px; }
.boss-ops { gap:6px; }
.boss-qrow { gap:8px; margin-top:10px; }
.boss-date { height:34px; box-sizing:border-box; }
.bpick select { height:34px; }
.db-nav { height:34px; width:32px; }
.boss-peri .bp { padding:5px 11px; }

#v-rank .card { padding:16px; }
.rk-sec-t { margin:12px 0 8px; }
#rank-body .boss-sec { margin:2px 0 0; }

@media (max-width: 760px){
  .who .r { align-items:flex-start; flex-direction:row; width:100%; margin-left:0; }
  .boss-top { flex-direction:column; align-items:stretch; }
  .boss-ops { margin-left:0; justify-content:flex-end; }
  .boss-qrow { gap:6px; }
  .boss-qrow .boss-dims { width:100%; }
  .boss-qrow .boss-dims .bd { flex:1; text-align:center; padding:7px 4px; }
  #rkDims.boss-dims { width:auto; }
  #v-rank .rank-nav { gap:6px; }
  .datebar .db-clock { margin-left:0; width:100%; text-align:right; }
  .per-row { gap:5px; min-height:36px; }
  .per-row .pname { font-size:11px; padding:1px 9px; }
  .per-row .per-c { display:none; }
  .v-pill { font-size:11px; padding:1px 8px; }
  .boss5 { padding:11px 10px; }
  .boss5-v { font-size:16px; }
  .boss-peri .bp { font-size:11px; padding:5px 9px; }
  .bpick { width:100%; }
  .bpick select { flex:1; min-width:0; }
  .bpick .boss-peri { flex:1; }
}
@media (max-width: 380px){
  .per-row { flex-wrap:wrap; }
  .per-row .pgrp { display:none; }
  .per-row b.v-pill { margin-left:auto; }
  .vtab { font-size:13px; letter-spacing:0; padding:9px 2px; }
}

/* 挂账明细展开（与军团男团同款交互） */
.v-pill.red { background: rgba(248,113,113,0.13); color: #fca5a5; border: 1px solid rgba(248,113,113,0.42); }
.v-pill.coral { background: rgba(240,157,123,0.14); color: #f5b59b; border: 1px solid rgba(240,157,123,0.42); }
.cg-cap { cursor: pointer; }
.cg-cap .v-pill { margin-left: auto; }
.cg-cap .cg-arr { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; font-size:11px; color:#f0d68a; border:1px solid rgba(212,175,55,.42); background:rgba(212,175,55,.08); margin-left:6px; transition:transform .26s; }
.cg-cap.cg-on .cg-arr { transform: rotate(180deg); }

/* 挂账明细展开（与军团男团同款交互） */
.v-pill.red { background: rgba(248,113,113,0.13); color: #fca5a5; border: 1px solid rgba(248,113,113,0.42); }
.v-pill.coral { background: rgba(240,157,123,0.14); color: #f5b59b; border: 1px solid rgba(240,157,123,0.42); }
.cg-cap { cursor: pointer; }
.cg-cap .v-pill { margin-left: auto; }
.cg-cap .cg-arr { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; font-size:11px; color:#f0d68a; border:1px solid rgba(212,175,55,.42); background:rgba(212,175,55,.08); margin-left:6px; transition:transform .26s; }
.cg-cap.cg-on .cg-arr { transform: rotate(180deg); }

/* v27 触控目标加大（箭头钮 26px，与小程序 48rpx 同族 · 2026-09-08） */
.cg-cap .cg-arr { width:26px; height:26px; font-size:12px; border-color:rgba(212,175,55,.55); background:rgba(212,175,55,.12); }
.cg-cap .cg-arr:hover { background:rgba(212,175,55,.26); transform:scale(1.05); }

/* v28 排行榜「男团 / 个人」切换（2026-09-08） */
.who-bar-pc { display: flex; gap: 10px; margin: 12px 0 4px; }
.who-item-pc { flex: 1; text-align: center; padding: 8px 0; border-radius: 999px; font-size: 13px; color: #8fa0b8; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); cursor: pointer; }
.who-item-pc.on { background: linear-gradient(135deg,#fdf0c8,#e6c46e); color: #241a00; font-weight: 700; }
.per-row .per-c { font-size: 11px; color: #9aa7bd; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); border-radius: 999px; padding: 1px 10px; }

/* v29 人名连写胶囊（与小程序 .pnm2 同款 · 2026-09-08） */
.pnm2 { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; padding: 2px 10px; font-size: 13px; font-weight: 600; color: #ecdcae; background: rgba(212,175,55,0.14); border: 1px solid rgba(212,175,55,0.42); border-radius: 999px; white-space: nowrap; }
.pnm2 .dim { color: #a9b6c9; font-weight: 400; }

/* v30 花童标签（与小程序 .fchild 同款 · 2026-09-08） */
.fchild { color: #f0a6c4; font-size: 12px; background: rgba(244,114,182,0.10); border: 1px solid rgba(244,114,182,0.30); border-radius: 999px; padding: 1px 8px; }

/* v30 花童标签（与小程序 .fchild 同款 · 2026-09-08） */
.fchild { color: #f0a6c4; font-size: 12px; background: rgba(244,114,182,0.10); border: 1px solid rgba(244,114,182,0.30); border-radius: 999px; padding: 1px 8px; }
