/* d99-v51-admin.css — 稳定后台外壳：顶栏 + Accordion 侧栏 + 布局偏移覆盖
   所有挂载点均为 body 直挂（React 不回收），只挂一次。 */

:root{ --v51-sbw:240px; --v51-tbh:46px; }

/* 隐藏 bundle 侧栏（仅 display，绝不移动节点），并把内容推到侧栏右侧、顶栏下方 */
body.v51-admin #root{ padding-left:var(--v51-sbw); padding-top:var(--v51-tbh); box-sizing:border-box; }
body.v51-admin aside{ display:none !important; }
/* 标准面板宿主：桌面端与侧栏并排（left:240 已存在），仅需下推到顶栏之下 */
body.v51-admin #d99-panel-host{ top:var(--v51-tbh); }

/* ---------- 顶栏 ---------- */
#v51-topbar{
  position:fixed; top:0; left:0; right:0; height:var(--v51-tbh); z-index:60;
  display:flex; align-items:center; gap:12px; padding:0 14px;
  background:hsl(240 42% 7%); border-bottom:1px solid rgba(179,71,255,.28);
  color:#e9e8f2; box-shadow:0 2px 14px rgba(0,0,0,.35);
}
#v51-topbar .v51-brand{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:14px; white-space:nowrap; }
#v51-topbar .v51-brand .v51-logo{ width:24px;height:24px;display:inline-flex; }
#v51-crumb{ font-size:13px; color:#b9b6cf; display:flex; align-items:center; gap:7px; flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#v51-crumb b{ color:#fff; font-weight:600; }
#v51-crumb .v51-sep{ color:#6c6884; }
#v51-topbar .v51-right{ display:flex; align-items:center; gap:10px; margin-left:auto; }
#v51-topbar .v51-who{ font-size:12px; color:#b9b6cf; display:flex; align-items:center; gap:6px; }
#v51-burger{ display:none; background:transparent; border:1px solid rgba(179,71,255,.4); color:#fff; border-radius:8px; width:34px;height:32px; cursor:pointer; font-size:16px; }
#v51-logout{ background:transparent; border:1px solid rgba(255,90,140,.5); color:#ff7aa0; border-radius:8px; padding:5px 11px; font-size:12.5px; cursor:pointer; }
#v51-logout:hover{ background:rgba(255,90,140,.12); }

/* ---------- 侧栏 ---------- */
#v51-sidebar{
  position:fixed; top:var(--v51-tbh); left:0; bottom:0; width:var(--v51-sbw); z-index:55;
  background:hsl(240 42% 7%); border-right:1px solid rgba(179,71,255,.22);
  overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
  padding:10px 9px 40px; box-sizing:border-box;
}
#v51-sidebar::-webkit-scrollbar{ width:7px; }
#v51-sidebar::-webkit-scrollbar-thumb{ background:rgba(179,71,255,.35); border-radius:6px; }

#v51-sidebar .v51-pin{
  display:flex; align-items:center; gap:9px; padding:9px 11px; border-radius:9px;
  color:#d8d6ea; font-size:13.5px; cursor:pointer; margin-bottom:8px;
}
#v51-sidebar .v51-pin.active{ background:linear-gradient(90deg,rgba(179,71,255,.32),rgba(179,71,255,.08)); color:#fff; }

.v51-acc{ margin-bottom:6px; }
.v51-acc > .v51-acc-head{
  display:flex; align-items:center; gap:9px; width:100%; text-align:left;
  background:transparent; border:0; color:#cfcde2; font-size:13px; font-weight:700;
  padding:9px 10px; border-radius:9px; cursor:pointer;
}
.v51-acc > .v51-acc-head:hover{ background:rgba(179,71,255,.1); }
.v51-acc > .v51-acc-head .v51-caret{ margin-left:auto; transition:transform .18s; color:#8f8ba8; font-size:11px; }
.v51-acc.open > .v51-acc-head .v51-caret{ transform:rotate(90deg); }
.v51-acc .v51-acc-body{ display:none; flex-direction:column; gap:2px; padding:2px 0 6px 6px; }
.v51-acc.open .v51-acc-body{ display:flex; }
.v51-acc .v51-subhead{ font-size:10.5px; color:#77738c; letter-spacing:.5px; padding:7px 8px 3px; }
.v51-navitem{
  display:flex; align-items:center; gap:9px; padding:7px 10px; border-radius:8px;
  color:#b6b3cc; font-size:12.8px; cursor:pointer; border:0; background:none; width:100%; text-align:left;
}
.v51-navitem:hover{ background:rgba(179,71,255,.1); color:#fff; }
.v51-navitem.active{ background:rgba(179,71,255,.24); color:#fff; }
.v51-navitem .v51-ic{ width:17px; text-align:center; flex:0 0 17px; opacity:.9; }

/* 抽屉遮罩（移动） */
#v51-overlay{ display:none; position:fixed; inset:var(--v51-tbh) 0 0 0; z-index:52; background:rgba(0,0,0,.5); }
#v51-overlay.show{ display:block; }

/* ---------- 商家账号面板 ---------- */
.v51-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.v51-tab{ padding:7px 13px; border-radius:9px; border:1px solid rgba(179,71,255,.3); background:transparent; color:#c3c0d8; font-size:12.8px; cursor:pointer; }
.v51-tab.active{ background:rgba(179,71,255,.25); color:#fff; border-color:rgba(179,71,255,.6); }
.v51-card{ background:hsl(240 38% 9%); border:1px solid rgba(179,71,255,.18); border-radius:14px; padding:16px; margin-bottom:14px; }
.v51-card h3{ margin:0 0 12px; font-size:15px; color:#fff; }
.v51-row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:10px; }
.v51-row label{ font-size:12.5px; color:#a8a5c0; min-width:74px; }
.v51-in{
  flex:1; min-width:160px; background:hsl(240 40% 6%); border:1px solid rgba(179,71,255,.25);
  border-radius:9px; padding:9px 11px; color:#fff; font-size:13px;
}
.v51-in:focus{ outline:none; border-color:rgba(179,71,255,.7); }
.v51-btn{ border:0; border-radius:9px; padding:9px 16px; font-size:13px; cursor:pointer; }
.v51-btn.primary{ background:linear-gradient(90deg,#b347ff,#8a2be2); color:#fff; }
.v51-btn.ghost{ background:transparent; border:1px solid rgba(179,71,255,.4); color:#d6cff0; }
.v51-btn.cyan{ background:#0fb5a6; color:#04201d; }
.v51-btn.sm{ padding:5px 10px; font-size:12px; }
.v51-tbl{ width:100%; border-collapse:collapse; font-size:12.8px; }
.v51-tbl th{ text-align:left; color:#9d9ab5; font-weight:600; padding:8px 10px; border-bottom:1px solid rgba(179,71,255,.2); }
.v51-tbl td{ padding:9px 10px; border-bottom:1px solid rgba(179,71,255,.1); color:#dcdaf0; }
.v51-pill{ display:inline-block; padding:2px 9px; border-radius:20px; font-size:11px; }
.v51-pill.ok{ background:rgba(20,214,110,.16); color:#3ce08c; }
.v51-pill.wait{ background:rgba(255,176,46,.16); color:#ffc257; }
.v51-pill.off{ background:rgba(255,90,140,.15); color:#ff7aa0; }
.v51-empty{ padding:30px; text-align:center; color:#8b879c; font-size:13px; }
.v51-hint{ font-size:12px; color:#9a97b2; line-height:1.7; }
.v51-kv{ display:grid; grid-template-columns:170px 1fr; gap:8px 12px; font-size:13px; }
.v51-kv .k{ color:#9d9ab5; }
.v51-kv .v{ color:#eceaf6; word-break:break-all; }

/* ---------- 移动端 ---------- */
@media (max-width:760px){
  :root{ --v51-sbw:240px; }
  #v51-burger{ display:inline-flex; align-items:center; justify-content:center; }
  body.v51-admin #root{ padding-left:0; }
  #v51-sidebar{ transform:translateX(-105%); transition:transform .22s ease; box-shadow:none; }
  body.v51-admin.v51-drawer #v51-sidebar{ transform:translateX(0); box-shadow:0 0 40px rgba(0,0,0,.5); }
  body.v51-admin #d99-panel-host{ left:0 !important; }
  #v51-topbar .v51-brand span.v51-bt{ display:none; }
  #v51-topbar .v51-who .v51-un{ display:none; }
}

/* 精品模块待办红点 */
.v51-navdot{margin-left:auto;background:#ef4444;color:#fff;border-radius:999px;font-size:10px;line-height:1;padding:3px 6px;font-weight:700}
.v51-navitem{position:relative}
