:root{
  --bg:#070b16;--bg2:#0a1022;--panel:#111936;--panel2:#172244;--card:#111a35;
  --text:#eef3ff;--muted:#9cadcf;--soft:#cbd7f4;--line:rgba(255,255,255,.10);
  --accent:#7dd3fc;--accent2:#60a5fa;--gold:#f7ca55;--danger:#fb7185;--ok:#34d399;
  --shadow:0 18px 70px rgba(0,0,0,.32);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',Arial,sans-serif;background:radial-gradient(circle at 12% 0%,rgba(96,165,250,.22),transparent 32%),radial-gradient(circle at 88% 12%,rgba(247,202,85,.15),transparent 28%),linear-gradient(135deg,#070b16,#111a35 50%,#06131f);color:var(--text)}
a{color:inherit;text-decoration:none}.wrap{max-width:1280px;margin:auto;padding:18px}.topbar{position:sticky;top:0;z-index:20;background:rgba(7,11,22,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.topbarInner{display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px}.logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#7dd3fc,#f7ca55);color:#071020;display:grid;place-items:center;font-weight:950;letter-spacing:-.5px;box-shadow:0 10px 30px rgba(125,211,252,.18)}.brand h1{margin:0;font-size:20px;letter-spacing:.2px}.brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.topNav{display:flex;align-items:center;gap:14px}.topNav a:not(.btn){color:#cbd7f4;font-size:14px}.topNav a:not(.btn):hover{color:#fff}.adminEntry{padding:9px 12px}
.hero{padding:34px 18px 12px}.heroCard{max-width:1280px;margin:auto;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:linear-gradient(135deg,rgba(17,25,54,.86),rgba(9,18,38,.76));padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.heroCard:before{content:"";position:absolute;inset:-120px -80px auto auto;width:420px;height:420px;border-radius:999px;background:radial-gradient(circle,rgba(125,211,252,.18),transparent 65%);pointer-events:none}.heroGrid{display:grid;grid-template-columns:1fr 310px;gap:24px;align-items:stretch;position:relative}.heroMain{padding:6px 0}.eyebrow{display:block;color:#7dd3fc;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.hero h2{font-size:42px;line-height:1.08;margin:0 0 14px;letter-spacing:-1px}.hero p{color:var(--muted);margin:0;line-height:1.72;max-width:760px}.heroActions{display:flex;gap:10px;margin-top:22px}.btn{border:0;border-radius:14px;padding:12px 16px;background:linear-gradient(135deg,#38bdf8,#60a5fa);color:#071020;font-weight:900;cursor:pointer;transition:.18s transform,.18s opacity,.18s border-color}.btn:hover{transform:translateY(-1px)}.btn.secondary{background:#243356;color:var(--text);border:1px solid var(--line)}.btn.ghost{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--line)}.btn.danger{background:var(--danger);color:#fff}.btn.ok{background:var(--ok);color:#071020}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.statStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px;max-width:620px}.statItem{border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:18px;padding:14px}.statItem span{display:block;font-size:26px;font-weight:950;color:#fff}.statItem small{display:block;margin-top:4px;color:var(--muted)}
.qrBox{border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:24px;padding:18px;text-align:center;box-shadow:0 14px 35px rgba(0,0,0,.14)}.qrTitle{font-weight:950;margin-bottom:12px;font-size:18px}.qrImageWrap{width:184px;height:184px;margin:0 auto 12px;border:1px dashed rgba(255,255,255,.24);border-radius:18px;display:grid;place-items:center;background:rgba(0,0,0,.18);overflow:hidden}.qrImage{width:100%;height:100%;object-fit:cover}.qrPlaceholder{color:var(--muted);font-size:13px;padding:14px}.qrHint{margin-top:12px;color:#ffe79a;font-size:12px;border:1px solid rgba(247,202,85,.24);background:rgba(247,202,85,.08);border-radius:999px;padding:8px}.qrPreview{width:160px;height:160px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.infoSection{padding:8px 0 14px}.infoGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.panel{border:1px solid var(--line);border-radius:22px;background:rgba(17,25,54,.76);padding:18px;margin-bottom:16px;box-shadow:0 12px 40px rgba(0,0,0,.16)}.sectionTitle{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.sectionTitle h3,.catalogHead h3{margin:0;font-size:24px}.sectionTitle p,.catalogHead p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.sectionTitle.compact{margin-bottom:10px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.step{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:16px;padding:14px;min-height:112px}.step b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(125,211,252,.14);color:#7dd3fc;margin-bottom:10px}.step span{display:block;font-weight:900}.step small{display:block;color:var(--muted);line-height:1.55;margin-top:6px}.rulesBox{border-color:rgba(247,202,85,.24);background:rgba(247,202,85,.075)}.rulesBox h3{color:#ffe79a}.rulesBox pre{white-space:pre-wrap;word-break:break-word;margin:0;color:#f6edd0;line-height:1.62;font-family:inherit;font-size:13.5px;max-height:220px;overflow:auto;padding-right:6px}
.catalog{padding:0 0 42px}.catalogHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:0 0 12px}.filterPanel{position:sticky;top:78px;z-index:12;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(9,18,38,.86);backdrop-filter:blur(16px);padding:14px;box-shadow:0 12px 35px rgba(0,0,0,.22)}.searchLine{display:grid;grid-template-columns:1fr auto;gap:10px}.filters{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:10px}.input,select,textarea{width:100%;border:1px solid var(--line);background:#0d1530;color:var(--text);border-radius:14px;padding:12px;outline:none}.input:focus,select:focus,textarea:focus{border-color:rgba(125,211,252,.55);box-shadow:0 0 0 3px rgba(125,211,252,.08)}.searchInput{font-size:15px}textarea{min-height:74px;resize:vertical}
.grid{max-width:1280px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(305px,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(17,25,54,.92),rgba(13,21,48,.86));padding:16px;box-shadow:0 16px 42px rgba(0,0,0,.22);transition:.18s transform,.18s border-color,.18s box-shadow}.card:hover{transform:translateY(-3px);border-color:rgba(125,211,252,.30);box-shadow:0 22px 55px rgba(0,0,0,.30)}.cardHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.codeLine{display:flex;align-items:center;gap:8px}.code{font-size:21px;font-weight:950;letter-spacing:.2px}.largeCode{font-size:28px}.copyBtn{border:1px solid var(--line);background:rgba(255,255,255,.055);color:#dbeafe;border-radius:999px;padding:4px 8px;font-size:12px;cursor:pointer}.copyBtn:hover{border-color:rgba(125,211,252,.45)}.scoreBadge{width:58px;min-width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,rgba(247,202,85,.22),rgba(125,211,252,.12));border:1px solid rgba(247,202,85,.28);display:grid;place-items:center;text-align:center;line-height:1}.scoreBadge b{font-size:22px;color:#ffe79a}.scoreBadge span{font-size:11px;color:#f8e7a7}.scoreBadge.big{width:auto;min-width:96px;padding:12px 16px;height:auto}.scoreBadge.big span{margin-top:4px}.cardStatusLine{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.status{font-size:12px;padding:6px 10px;border-radius:999px;background:#26345b;color:#d9e4ff}.status.available{background:rgba(52,211,153,.16);color:#86efac}.status.busy{background:rgba(251,113,133,.16);color:#fda4af}.ratingText{font-size:12px;color:#ffe79a}.assetStats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.assetBox{border:1px solid rgba(125,211,252,.22);background:linear-gradient(180deg,rgba(125,211,252,.10),rgba(255,255,255,.045));border-radius:16px;padding:12px}.assetBox span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.assetBox b{display:block;font-size:22px;line-height:1;color:#dff6ff;letter-spacing:.2px}.meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}.tag{font-size:12px;color:#c8d5f3;border:1px solid var(--line);background:rgba(255,255,255,.05);padding:5px 8px;border-radius:999px}.scoreTag{font-weight:800;border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.10)}.sellingText{color:#cbd7f4;font-size:13px;line-height:1.55;min-height:40px}.priceBox{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.priceBox>div{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:16px;padding:12px}.priceBox span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.price{font-size:26px;font-weight:950;color:var(--gold)}.muted{color:var(--muted)}.row{display:flex;justify-content:space-between;border-top:1px dashed var(--line);padding-top:10px;margin-top:10px;font-size:14px}.actions{display:flex;gap:8px;margin-top:14px}.actions .btn{flex:1}.notice{border:1px solid rgba(125,211,252,.25);background:rgba(125,211,252,.08);border-radius:14px;padding:12px;color:#dff6ff}.dangerText{color:#fda4af}.okText{color:#86efac}.small{font-size:12px}.hidden{display:none!important}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.66);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.show{display:flex}.modalBox{max-width:820px;width:100%;max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:22px;background:#101936;padding:18px;box-shadow:var(--shadow)}.modalHead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.detailHero{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.imageStrip{margin:10px 0}.imgThumb{width:76px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--line);margin:4px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:13px;vertical-align:top}.table th{color:#cbd5e1;background:rgba(255,255,255,.04)}
.adminLayout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#091226;border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh}.sidebar .nav button{width:100%;margin:6px 0;text-align:left}.main{padding:20px}.formGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.formGrid .full{grid-column:1/-1}.loginBox{max-width:420px;margin:12vh auto;border:1px solid var(--line);border-radius:22px;background:rgba(17,25,54,.86);padding:26px}
@media(max-width:1050px){.heroGrid,.infoGrid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr 1fr}.topNav a:not(.btn){display:none}.filterPanel{position:static}.hero h2{font-size:34px}}
@media(max-width:720px){.wrap{padding:14px}.hero{padding:20px 12px 8px}.heroCard{padding:18px;border-radius:22px}.hero h2{font-size:28px}.heroActions,.catalogHead,.topbarInner{align-items:stretch}.topbarInner,.catalogHead{flex-direction:column}.statStrip,.steps,.searchLine,.filters,.priceBox{grid-template-columns:1fr}.qrBox{text-align:left}.qrImageWrap{margin-left:0}.grid{grid-template-columns:1fr;padding:0 12px}.adminLayout{grid-template-columns:1fr}.sidebar{height:auto;position:static}.formGrid{grid-template-columns:1fr}.rulesBox pre{font-size:13px;max-height:280px}.detailHero{align-items:flex-start;flex-direction:column}.modal{padding:10px}.modalBox{padding:14px}}
/* v2.9：手机端自适应增强 */
html,body{max-width:100%;overflow-x:hidden}.btn,input,select,textarea{font-size:16px}.card,.panel,.heroCard,.filterPanel{min-width:0}.table{min-width:720px}.notice.full{grid-column:1/-1}.mobileOnly{display:none}
@media(max-width:860px){.topbar{position:static}.topbarInner{gap:12px}.topNav{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.topNav a{display:flex!important;justify-content:center;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04)}.topNav .adminEntry{grid-column:1/-1}.heroGrid{gap:14px}.infoGrid{gap:12px}.sectionTitle{display:block}.sectionTitle p{margin-top:8px}.filterPanel{border-radius:18px}.filters{grid-template-columns:repeat(2,1fr)}.grid{gap:12px}.card{padding:14px}.priceBox,.assetStats{gap:8px}.actions{flex-direction:column}.actions .btn{width:100%}.modalBox{width:100%;max-height:92vh}.adminLayout{display:block}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line)}.sidebar .nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sidebar .nav button{margin:0;text-align:center}.main{padding:12px}.formGrid{grid-template-columns:1fr!important}.table{font-size:12px}}
@media(max-width:520px){.wrap{padding:10px}.brand h1{font-size:18px}.brand p{font-size:12px}.logo{width:38px;height:38px;border-radius:12px}.topNav{grid-template-columns:1fr 1fr}.hero{padding:12px 8px 6px}.heroCard{padding:14px;border-radius:18px}.hero h2{font-size:25px}.hero p{font-size:14px}.heroActions{display:grid;grid-template-columns:1fr}.statItem span{font-size:22px}.steps{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.searchLine{grid-template-columns:1fr}.searchLine .btn{width:100%}.qrImageWrap{width:150px;height:150px}.catalogHead h3,.sectionTitle h3{font-size:21px}.grid{padding:0 8px;grid-template-columns:1fr}.cardHead{align-items:flex-start}.scoreBadge{width:52px;min-width:52px;height:52px;border-radius:16px}.scoreBadge b{font-size:20px}.code{font-size:19px}.assetBox b{font-size:20px}.price{font-size:23px}.row{font-size:13px}.modal{padding:6px}.modalBox{border-radius:16px;padding:12px}.table th,.table td{padding:8px}.sidebar .nav{grid-template-columns:1fr}.loginBox{margin:8vh 12px;padding:18px}.main{padding:10px}.panel{padding:14px;border-radius:18px}}

/* v2.11：客户前台支持卡片/表格双展示 */
.catalogActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.viewToggle{display:flex;gap:6px;padding:5px;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:999px}.viewBtn{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:800}.viewBtn.active{background:linear-gradient(135deg,rgba(125,211,252,.22),rgba(247,202,85,.16));color:var(--text);box-shadow:0 8px 20px rgba(0,0,0,.16)}.viewBtn:hover{color:var(--text)}.tableView{max-width:1280px;margin:0 auto;padding:0 18px}.tableScroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(17,25,54,.92),rgba(13,21,48,.86));box-shadow:0 16px 42px rgba(0,0,0,.22)}.productTable{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0}.productTable th,.productTable td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.productTable th{position:sticky;top:0;z-index:1;background:#0d1530;color:#cbd7f4;font-weight:900;white-space:nowrap}.productTable tr:hover td{background:rgba(125,211,252,.055)}.productTable tbody tr:last-child td{border-bottom:0}.tableCode{font-size:16px;font-weight:950;color:#eaf6ff;letter-spacing:.2px;white-space:nowrap}.copyBtn.mini{margin-top:6px;padding:3px 8px;font-size:11px}.scoreText{display:block;color:#ffe79a;margin-bottom:3px}.productTable small{display:block;color:var(--muted);line-height:1.45}.sellingCell{max-width:220px;min-width:180px;line-height:1.5;color:#cbd7f4}.tablePrice{font-size:17px;white-space:nowrap}.tableActions{display:flex;gap:6px;min-width:120px}.tableActions .btn{padding:8px 10px;border-radius:12px;font-size:13px}.tableView .notice{max-width:1280px;margin:0 auto}.productTableWrap::-webkit-scrollbar{height:10px}.productTableWrap::-webkit-scrollbar-thumb{background:rgba(125,211,252,.22);border-radius:999px}.productTableWrap::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
@media(max-width:720px){.catalogActions{justify-content:stretch}.catalogActions .btn,.viewToggle{width:100%}.viewToggle{display:grid;grid-template-columns:1fr 1fr;border-radius:16px}.viewBtn{border-radius:12px}.tableView{padding:0 12px}.productTable{min-width:1080px}.productTable th,.productTable td{padding:11px 10px;font-size:12px}.sellingCell{max-width:190px}.tableScroll{border-radius:18px}.catalogHead{align-items:stretch}}
@media(max-width:520px){.tableView{padding:0 8px}.productTable{min-width:1040px}.tableActions{flex-direction:column;min-width:86px}.tableActions .btn{width:100%;padding:8px}.tableCode{font-size:15px}}


/* v2.14：使用 R&D 自有品牌 LOGO，替换临时渐变字标 */
.brandLogoBox{
  width:76px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(247,202,85,.18),rgba(255,255,255,.045));
  border:1px solid rgba(247,202,85,.42);
  box-shadow:0 10px 30px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.04) inset;
  overflow:hidden;
  flex:0 0 auto;
}
.brandLogoImg{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  padding:4px 6px;
}
.adminBrandLogo{width:72px;height:44px}
.logo{display:none}
.brand h1{line-height:1.15}
.topbar .brand{gap:14px}
.topbar{background:rgba(5,8,16,.88)}
.topbar:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(247,202,85,.38),rgba(125,211,252,.24),transparent);
}
@media(max-width:520px){
  .brandLogoBox{width:64px;height:40px;border-radius:14px}
  .adminBrandLogo{width:62px;height:38px}
  .brandLogoImg{padding:4px 5px}
}

.logoPreview{max-width:260px;max-height:100px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#090909;padding:8px}

/* v2.15：后台商品快速检索 + 客服二维码上传卡片 */
.adminSearchBar{
  display:grid;
  grid-template-columns:minmax(260px,520px) auto auto 1fr;
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.adminSearchBar .input{min-width:0}
.uploadCard{
  border:1px dashed rgba(125,211,252,.42);
  background:rgba(125,211,252,.075);
  color:#dff6ff;
  border-radius:14px;
  padding:12px 14px;
  cursor:pointer;
  min-height:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  transition:.18s border-color,.18s background,.18s transform;
}
.uploadCard:hover{
  border-color:rgba(247,202,85,.55);
  background:rgba(247,202,85,.09);
  transform:translateY(-1px);
}
.uploadCard b{font-size:14px;color:#fff}
.uploadCard span{font-size:12px;color:var(--muted);line-height:1.45}
@media(max-width:860px){
  .adminSearchBar{grid-template-columns:1fr 1fr;align-items:stretch}
  .adminSearchBar .input,.adminSearchBar .muted{grid-column:1/-1}
}
@media(max-width:520px){
  .adminSearchBar{grid-template-columns:1fr}
}

/* v2.16：服务器部署后的 Logo 兼容修复
   目的：避免不同浏览器或旧缓存导致导航栏/后台登录页 Logo 按原图尺寸显示。 */
.brandLogoBox,
.topbar .brandLogoBox{
  width:76px!important;
  height:46px!important;
  min-width:76px!important;
  max-width:76px!important;
  min-height:46px!important;
  max-height:46px!important;
  flex:0 0 76px!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
.adminBrandLogo,
.loginBox .brandLogoBox,
.sidebar .brandLogoBox{
  width:72px!important;
  height:44px!important;
  min-width:72px!important;
  max-width:72px!important;
  min-height:44px!important;
  max-height:44px!important;
  flex:0 0 72px!important;
  overflow:hidden!important;
}
.brandLogoImg,
.brandLogoBox img,
#siteLogo,
.loginBox .brand img,
.sidebar .brand img,
.topbar .brand img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  position:static!important;
  padding:4px 6px!important;
}
.topbar .brand,
.sidebar .brand,
.loginBox .brand{
  overflow:hidden!important;
  align-items:center!important;
}
.loginBox{
  overflow:hidden!important;
}
@media(max-width:520px){
  .brandLogoBox,.topbar .brandLogoBox{width:64px!important;height:40px!important;min-width:64px!important;max-width:64px!important;min-height:40px!important;max-height:40px!important;flex-basis:64px!important}
  .adminBrandLogo,.loginBox .brandLogoBox,.sidebar .brandLogoBox{width:62px!important;height:38px!important;min-width:62px!important;max-width:62px!important;min-height:38px!important;max-height:38px!important;flex-basis:62px!important}
}

/* v2.17：生产环境强制锁定 Logo 尺寸，避免浏览器缓存或不同内核按原图尺寸渲染 */
header.topbar .brandLogoBox,
.brandLogoBox,
.loginBox .brandLogoBox,
.sidebar .brandLogoBox,
.adminBrandLogo{
  width:72px!important;
  height:44px!important;
  min-width:72px!important;
  max-width:72px!important;
  min-height:44px!important;
  max-height:44px!important;
  flex:0 0 72px!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
header.topbar .brandLogoBox{width:76px!important;height:46px!important;min-width:76px!important;max-width:76px!important;min-height:46px!important;max-height:46px!important;flex-basis:76px!important}
.brandLogoBox img,
.brandLogoImg,
#siteLogo,
.loginBox img,
.sidebar img,
.topbar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  padding:4px 6px!important;
}
.loginBox .brand,.sidebar .brand,.topbar .brand{overflow:hidden!important;min-width:0!important}
@media(max-width:520px){header.topbar .brandLogoBox,.brandLogoBox{width:64px!important;height:40px!important;min-width:64px!important;max-width:64px!important;min-height:40px!important;max-height:40px!important;flex-basis:64px!important}.loginBox .brandLogoBox,.sidebar .brandLogoBox,.adminBrandLogo{width:62px!important;height:38px!important;min-width:62px!important;max-width:62px!important;min-height:38px!important;max-height:38px!important;flex-basis:62px!important}}

/* v219 hidden admin entry */
.qrHint{cursor:pointer;user-select:none;-webkit-user-select:none;}


/* v2.25：后台商品管理新增上架/下架快捷筛选 */
.productShelfTabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.shelfTab{
  border:1px solid var(--line);
  background:rgba(255,255,255,.045);
  color:var(--soft);
  border-radius:999px;
  padding:9px 13px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font-weight:900;
}
.shelfTab b{
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:rgba(125,211,252,.13);
  color:#dff6ff;
  font-size:12px;
}
.shelfTab.active{
  border-color:rgba(125,211,252,.55);
  background:linear-gradient(135deg,rgba(125,211,252,.22),rgba(96,165,250,.12));
  color:#fff;
}
.shelfBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  margin-bottom:5px;
  font-size:12px;
  font-weight:900;
  border:1px solid var(--line);
}
.shelfBadge.on{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.28);color:#86efac}
.shelfBadge.off{background:rgba(251,113,133,.12);border-color:rgba(251,113,133,.28);color:#fda4af}
.offshelfRow{opacity:.76}
@media(max-width:520px){.productShelfTabs{display:grid;grid-template-columns:1fr}.shelfTab{justify-content:space-between}}
