/* =========================================================
   盈卖AI工作台 v0.2.1 · 界面美化
   现代卡片 / 渐变 / 动效 / 响应式
   ========================================================= */
:root {
  --bg: #f0f2f8;
  --bg-soft: #f7f8fc;
  --card: #ffffff;
  --border: #e7e9f2;
  --text: #1f2437;
  --muted: #8a91a8;
  --primary: #4f6ef7;
  --primary-2: #7b5cf0;
  --primary-3: #38bdf8;
  --grad: linear-gradient(135deg, #4f6ef7 0%, #7b5cf0 100%);
  --grad-soft: linear-gradient(135deg, rgba(79,110,247,.12), rgba(123,92,240,.12));
  --green: #16a34a;
  --green-soft: #e8f8ef;
  --orange: #ea8c00;
  --orange-soft: #fdf3e3;
  --red: #e5484d;
  --red-soft: #fdebec;
  --blue-soft: #eaf0ff;
  --gray-soft: #f1f2f6;
  --shadow: 0 1px 3px rgba(20,30,80,.06), 0 8px 24px -12px rgba(20,30,80,.12);
  --shadow-hover: 0 6px 16px rgba(20,30,80,.10), 0 16px 40px -16px rgba(20,30,80,.22);
  --radius: 14px;
  --radius-sm: 9px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family:"Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg); color:var(--text); font-size:14px;
  background-image:radial-gradient(circle at 12% 8%, rgba(79,110,247,.07), transparent 38%),
                   radial-gradient(circle at 88% 92%, rgba(123,92,240,.07), transparent 38%);
  min-height:100vh;
}
::-webkit-scrollbar { width:9px; height:9px; }
::-webkit-scrollbar-thumb { background:#c9cede; border-radius:8px; }
::-webkit-scrollbar-thumb:hover { background:#aab2c9; }
::-webkit-scrollbar-track { background:transparent; }

.layout { display:flex; min-height:100vh; }

/* ---------- 侧边栏（大麦风） ---------- */
.layout { --side-w: 248px; --side-w-collapsed: 68px; }
.side {
  width:var(--side-w); flex-shrink:0; color:#fff; position:sticky; top:0; height:100vh;
  background:linear-gradient(180deg,#121a38 0%, #1b2450 45%, #2c2458 100%);
  display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden;
  box-shadow:2px 0 20px rgba(15,20,50,.30); z-index:5;
  transition:width .28s cubic-bezier(.4,0,.2,1);
}
.layout.collapsed .side { width:var(--side-w-collapsed); }
.brand {
  padding:18px 16px 14px; border-bottom:1px solid rgba(255,255,255,.08);
  position:relative; flex-shrink:0;
}
.brand .logo { display:flex; align-items:center; gap:10px; font-size:17px; font-weight:800; letter-spacing:.3px; white-space:nowrap; }
.brand .logo .logo-ic {
  width:38px; height:38px; border-radius:12px; flex-shrink:0;
  background:linear-gradient(135deg,#4f6ef7,#7b5cf0); display:flex; align-items:center; justify-content:center;
  font-size:19px; box-shadow:0 4px 14px rgba(79,110,247,.5); transition:all .28s ease;
}
.brand .brand-name { transition:opacity .2s ease; }
.brand .logo .logo-ic {
  width:50px; height:50px; border-radius:15px;
  background:radial-gradient(circle at 32% 28%, #3d5afe 0%, #2b3a8f 45%, #0d1230 100%);
  box-shadow:0 8px 22px rgba(61,90,254,.6), 0 0 0 1px rgba(255,255,255,.12) inset, 0 0 24px rgba(255,180,60,.18);
  position:relative; overflow:hidden;
}
.brand .logo .logo-ic::after {
  content:""; position:absolute; inset:-40% -20%; pointer-events:none;
  background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.22), transparent 45%);
}
.brand .brand-name.art {
  font-family:'STXingkai','华文行楷','KaiTi','楷体','STKaiti','SimSun',serif;
  font-size:44px; font-weight:900; letter-spacing:7px; line-height:1.05; white-space:nowrap;
  background:linear-gradient(120deg,#fff8dc 0%,#ffd76a 22%,#ff9d3c 45%,#ff6b35 60%,#ffd76a 80%,#fff4cc 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.5)) drop-shadow(0 0 16px rgba(255,150,50,.4));
  transition:opacity .2s ease, filter .2s ease;
}
.brand:hover .brand-name.art { filter:drop-shadow(0 3px 6px rgba(0,0,0,.5)) drop-shadow(0 0 26px rgba(255,170,60,.65)); }
/* ===== 大炮炮口火焰动效 ===== */
@keyframes cbBlast { 0%,100% { transform:scale(1); } 50% { transform:scale(1.35); } }
.cb-blast { transform-origin:26.5px 4.5px; animation:cbBlast .9s ease-in-out infinite; transform-box:view-box; }
.cb-star2 { transform-origin:29.6px 10.5px; animation:cbBlast .8s ease-in-out .18s infinite; transform-box:view-box; }
@keyframes cbFly { 0% { transform:translate(0,0) scale(1); opacity:1; } 100% { transform:translate(6px,-5px) scale(.15); opacity:0; } }
.cb-sparks circle { animation:cbFly 1.05s ease-out infinite; transform-box:view-box; }
.cb-sparks .s2 { animation-delay:.16s; }
.cb-sparks .s3 { animation-delay:.3s; }
.cb-sparks .s4 { animation-delay:.44s; }
@keyframes cbFlash { 0%,100% { opacity:1; } 50% { opacity:.15; } }
.cb-flash { animation:cbFlash .45s ease-in-out infinite; }
.brand .brand-sub { display:block; font-size:11px; color:#96a1c8; font-weight:400; margin-top:6px; line-height:1.5; transition:opacity .15s ease; white-space:nowrap; }
.collapse-btn {
  position:absolute; right:8px; top:14px; width:24px; height:24px; border-radius:8px; border:none;
  background:rgba(255,255,255,.08); color:#aab4d8; cursor:pointer; font-size:11px; transition:all .2s ease;
  display:flex; align-items:center; justify-content:center;
}
.collapse-btn:hover { background:rgba(255,255,255,.16); color:#fff; }
.layout.collapsed .collapse-btn { transform:rotate(180deg); right:22px; }
.layout.collapsed .brand-name, .layout.collapsed .brand-sub,
.layout.collapsed .nav-title, .layout.collapsed .label,
.layout.collapsed .side-foot .foot-sub { opacity:0; width:0; overflow:hidden; white-space:nowrap; }
.layout.collapsed .nav-search-wrap { padding:8px 10px; }
.layout.collapsed .nav-search { display:none; }

/* 搜索框 */
.nav-search-wrap {
  margin:10px 14px 4px; padding:8px 12px; border-radius:10px; flex-shrink:0;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10);
  display:flex; align-items:center; gap:8px; transition:all .2s ease;
}
.nav-search-wrap:focus-within { background:rgba(255,255,255,.12); border-color:rgba(109,139,255,.6); }
.nav-search-wrap .search-ic { font-size:13px; opacity:.8; flex-shrink:0; }
.nav-search {
  width:100%; background:none; border:none; outline:none; color:#fff; font-size:12.5px;
}
.nav-search::placeholder { color:#8b95bb; }

.nav { margin-top:6px; flex:1; padding-bottom:10px; }
.nav-title {
  padding:16px 20px 6px; font-size:11px; color:#6f7ba6; letter-spacing:1.5px; text-transform:uppercase;
  transition:opacity .15s ease; white-space:nowrap;
}
.nav button {
  display:flex; align-items:center; gap:10px; width:calc(100% - 16px); margin:2px 8px;
  text-align:left; padding:9px 12px; border-radius:10px;
  background:none; border:none; color:#b9c2e2; cursor:pointer; font-size:13.5px;
  transition:all .18s ease; position:relative; white-space:nowrap;
}
.nav button .ic {
  width:26px; height:26px; border-radius:8px; flex-shrink:0; text-align:center; line-height:26px;
  font-size:15px; background:rgba(255,255,255,.06); transition:all .18s ease;
}
.nav button:hover { background:rgba(255,255,255,.08); color:#fff; }
.nav button:hover .ic { background:rgba(255,255,255,.14); transform:scale(1.06); }
.nav button.active {
  background:linear-gradient(90deg, rgba(79,110,247,.35), rgba(123,92,240,.18));
  color:#fff; font-weight:600;
}
.nav button.active .ic { background:linear-gradient(135deg,#4f6ef7,#7b5cf0); box-shadow:0 3px 8px rgba(79,110,247,.4); }
.nav button.active::before {
  content:""; position:absolute; left:-8px; top:50%; transform:translateY(-50%);
  width:3px; height:18px; border-radius:3px; background:#6d8bff; box-shadow:0 0 10px #6d8bff;
}
.layout.collapsed .nav button { width:44px; padding:9px; margin:2px 12px; }
.layout.collapsed .nav button.active::before { left:-12px; }
.side-foot { padding:14px 18px; font-size:11px; color:#7f89b0; border-top:1px solid rgba(255,255,255,.08); line-height:1.7; flex-shrink:0; white-space:nowrap; transition:opacity .15s ease; }
.side-foot .foot-ver { font-weight:700; color:#aab4d8; }
.layout.collapsed .side-foot .foot-ver { opacity:.8; }

/* ---------- 主区 ---------- */
.main { flex:1; padding:0 26px 40px; min-width:0; }
.top {
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  padding:16px 0 14px; position:sticky; top:0; z-index:4;
  background:rgba(240,242,248,.82); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.crumb { color:var(--muted); font-size:13px; display:flex; align-items:center; gap:8px; }
.crumb .sep { color:#c3c8da; }
.top-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.chip {
  display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px;
  background:var(--card); border:1px solid var(--border); color:var(--muted); font-size:12px; box-shadow:var(--shadow);
}
.chip .dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px rgba(22,163,74,.15); animation:pulse 2s infinite; }
.chip.orange .dot { background:var(--orange); box-shadow:0 0 0 3px rgba(234,140,0,.15); }
.chip.stat-chip b { color:var(--primary); font-size:13px; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.45} }
#page { animation:fadeUp .28s ease; }
@keyframes fadeUp { from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }

/* ---------- 统计卡 ---------- */
.stat-row { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.stat {
  flex:1; min-width:150px; background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px 18px; position:relative; overflow:hidden; box-shadow:var(--shadow); transition:transform .2s ease, box-shadow .2s ease;
}
.stat:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.stat .num { font-size:26px; font-weight:800; letter-spacing:.3px; }
.stat .label { font-size:12px; color:var(--muted); margin-top:5px; }
.stat .bar { position:absolute; left:0; top:0; bottom:0; width:4px; }
.stat.c1 .num{color:#4f6ef7} .stat.c1 .bar{background:#4f6ef7}
.stat.c2 .num{color:#38bdf8} .stat.c2 .bar{background:#38bdf8}
.stat.c3 .num{color:#7b5cf0} .stat.c3 .bar{background:#7b5cf0}
.stat.c4 .num{color:#ea8c00} .stat.c4 .bar{background:#ea8c00}
.stat.c5 .num{color:#16a34a} .stat.c5 .bar{background:#16a34a}
.stat.c6 .num{color:#e5484d} .stat.c6 .bar{background:#e5484d}

/* ---------- 卡片 ---------- */
.card {
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px 20px; margin-bottom:16px; box-shadow:var(--shadow); transition:box-shadow .2s ease;
}
.card h3 { margin-bottom:12px; font-size:15px; font-weight:700; display:flex; align-items:center; gap:8px; }
.card h3 .hint { font-size:12px; font-weight:400; color:var(--muted); }
.card.review-card { border-left:4px solid var(--orange); }

/* ---------- 表格 ---------- */
.table-wrap { overflow-x:auto; border-radius:var(--radius-sm); }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { padding:10px 12px; border-bottom:1px solid var(--border); text-align:left; vertical-align:middle; }
th { background:var(--bg-soft); font-weight:600; white-space:nowrap; color:#5a6180; font-size:12px; }
tbody tr { transition:background .15s ease; }
tbody tr:hover td { background:#f7f9ff; }
tr:last-child td { border-bottom:none; }

/* ---------- 按钮 ---------- */
.btn {
  display:inline-flex; align-items:center; gap:5px; padding:7px 16px; border-radius:9px; border:1px solid transparent;
  background:var(--grad); color:#fff; cursor:pointer; font-size:13px; font-weight:600; margin-right:6px;
  box-shadow:0 3px 10px -3px rgba(79,110,247,.5); transition:all .18s ease; white-space:nowrap;
}
.btn:hover { transform:translateY(-1px); box-shadow:0 6px 16px -4px rgba(79,110,247,.55); filter:brightness(1.05); }
.btn:active { transform:translateY(0); }
.btn.plain { background:#fff; color:var(--primary); border-color:#d5dcf5; box-shadow:none; }
.btn.plain:hover { background:var(--blue-soft); border-color:var(--primary); }
.btn.green { background:linear-gradient(135deg,#22c55e,#16a34a); box-shadow:0 3px 10px -3px rgba(22,163,74,.5); }
.btn.orange { background:linear-gradient(135deg,#f59e0b,#ea8c00); box-shadow:0 3px 10px -3px rgba(234,140,0,.5); }
.btn.red { background:linear-gradient(135deg,#f87171,#e5484d); box-shadow:0 3px 10px -3px rgba(229,72,77,.5); }
.btn.gray { background:#f1f2f6; color:#5a6180; border-color:var(--border); box-shadow:none; }
.btn.sm { padding:4px 11px; font-size:12px; border-radius:8px; }
.btn:disabled { opacity:.5; cursor:not-allowed; transform:none !important; }

/* ---------- 标签 ---------- */
.tag { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:500; white-space:nowrap; }
.tag.blue { background:var(--blue-soft); color:#4f6ef7; }
.tag.green { background:var(--green-soft); color:var(--green); }
.tag.orange { background:var(--orange-soft); color:var(--orange); }
.tag.red { background:var(--red-soft); color:var(--red); }
.tag.gray { background:var(--gray-soft); color:#8a91a8; }
.tag.purple { background:#f0eaff; color:#7b5cf0; }

/* ---------- 表单 ---------- */
input,select,textarea {
  padding:8px 12px; border:1px solid #d9ddeb; border-radius:9px; font-size:13px; width:100%;
  background:#fff; color:var(--text); transition:border .18s ease, box-shadow .18s ease; font-family:inherit;
}
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(79,110,247,.14); }
textarea { min-height:80px; resize:vertical; line-height:1.6; }
.form-row { display:flex; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.form-row > div { flex:1; min-width:140px; }
.form-row label { display:block; font-size:12px; color:var(--muted); margin-bottom:5px; font-weight:500; }
.form-row .suffix { font-size:12px; color:var(--muted); }

.toolbar { margin-bottom:14px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.note { font-size:12px; color:var(--muted); margin-top:6px; line-height:1.7; }
.empty { text-align:center; color:var(--muted); padding:44px 0; font-size:13px; }
.img-thumb { width:44px; height:44px; object-fit:cover; border-radius:9px; border:1px solid var(--border); background:#fafbfe; }
.result-box { background:var(--bg-soft); border:1px solid var(--border); border-radius:10px; padding:13px 15px; font-size:13px; line-height:1.9; white-space:pre-wrap; margin-top:8px; }
.profit-good { color:var(--green); font-weight:700; }
.profit-bad { color:var(--red); font-weight:700; }
.hidden { display:none; }
hr.sep { margin:18px 0; border:none; border-top:1px dashed var(--border); }

/* ---------- 定时上架 ---------- */
.sched-list { display:flex; flex-direction:column; gap:10px; }
.sched-item {
  display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:13px 16px;
  background:var(--bg-soft); border:1px solid var(--border); border-radius:12px; transition:box-shadow .18s ease;
}
.sched-item:hover { box-shadow:var(--shadow); }
.sched-item .s-ic {
  width:40px; height:40px; border-radius:11px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-size:19px; background:var(--grad-soft);
}
.sched-item .s-info { flex:1; min-width:220px; }
.sched-item .s-title { font-weight:600; font-size:13.5px; }
.sched-item .s-meta { font-size:12px; color:var(--muted); margin-top:3px; line-height:1.6; }
.sched-item .s-time { font-size:12.5px; font-weight:600; color:#3b4260; white-space:nowrap; }
.sched-item .s-time .clock { color:var(--primary); }
.sched-actions { display:flex; gap:6px; }

/* ---------- 营销视频 ---------- */
.video-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }
.video-card {
  border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--card);
  box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease;
}
.video-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.video-card .v-head {
  padding:13px 16px; background:linear-gradient(135deg,#171e3d,#3a2d63); color:#fff;
  display:flex; justify-content:space-between; align-items:center; gap:8px;
}
.video-card .v-head b { font-size:13.5px; }
.video-card .v-body { padding:14px 16px; flex:1; }
.video-card .v-hook {
  background:var(--grad-soft); border:1px solid #e0e3fb; border-radius:10px; padding:10px 12px;
  font-size:13px; font-weight:600; color:#3b3f6e; margin-bottom:12px;
}
.video-card .v-line { font-size:12.5px; line-height:1.75; color:#454b66; }
.video-card .v-line b { color:var(--primary); }
.video-card .v-cta { margin-top:10px; font-size:12.5px; color:#7b5cf0; font-weight:600; }
.video-card .v-foot { padding:11px 16px; border-top:1px solid var(--border); display:flex; gap:8px; flex-wrap:wrap; background:var(--bg-soft); }
.video-scenes { margin-top:12px; border-top:1px dashed var(--border); padding-top:10px; }
.video-scenes .sc { display:flex; gap:10px; padding:5px 0; font-size:12.5px; line-height:1.6; }
.video-scenes .sc .t { flex-shrink:0; color:var(--primary); font-weight:700; width:44px; }

/* ---------- 弹窗 ---------- */
.overlay {
  position:fixed; inset:0; background:rgba(23,30,61,.5); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; z-index:99; animation:fadeUp .2s ease;
}
.modal { width:640px; max-width:92vw; max-height:88vh; overflow-y:auto; background:var(--card); border-radius:16px; padding:22px; box-shadow:0 24px 60px -12px rgba(20,30,80,.4); }

/* ---------- 空态/提示条 ---------- */
.toast {
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%); z-index:200;
  background:#171e3d; color:#fff; padding:11px 20px; border-radius:12px; font-size:13px;
  box-shadow:0 12px 30px -8px rgba(20,30,80,.5); animation:fadeUp .25s ease; max-width:86vw;
}
.toast.ok { background:linear-gradient(135deg,#16a34a,#22c55e); }
.toast.warn { background:linear-gradient(135deg,#ea8c00,#f59e0b); }
.toast.err { background:linear-gradient(135deg,#e5484d,#f87171); }

/* ---------- 响应式 ---------- */
@media (max-width:900px) {
  .layout { flex-direction:column; }
  .side { width:100%; height:auto; position:static; flex-direction:row; flex-wrap:wrap; align-items:center; padding:10px; }
  .brand { padding:6px 12px; border-bottom:none; }
  .nav { display:flex; flex-wrap:wrap; margin:0; }
  .nav-title { display:none; }
  .nav button { width:auto; padding:8px 12px; border-left:none; border-radius:8px; }
  .nav button.active::after { display:none; }
  .side-foot { display:none; }
  .main { padding:0 14px 30px; }
}
/* ---------- 类目佣金表 ---------- */
.comm-block { margin:14px 0; padding:12px 14px; background:var(--bg-soft); border:1px solid var(--border); border-radius:12px; }
.comm-block h4 { font-size:13px; margin-bottom:10px; color:#3b4260; }
.comm-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.comm-item { display:flex; align-items:center; gap:6px; }
.comm-item label { flex:1; font-size:12px; color:var(--muted); white-space:nowrap; }
.comm-item input { width:76px; padding:5px 8px; border:1px solid var(--border); border-radius:8px; font-size:13px; }
.comm-item input:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(79,110,247,.12); }

/* ---------- 目视审核 ---------- */
.audit-card {
  display:flex; gap:14px; align-items:stretch; margin:14px 0; padding:16px;
  background:var(--bg-soft); border:1px solid var(--border); border-radius:14px; flex-wrap:wrap;
}
.audit-side { flex:1; min-width:220px; }
.audit-label { font-size:11px; color:var(--muted); letter-spacing:1px; margin-bottom:8px; font-weight:600; }
.audit-img { width:120px; height:120px; object-fit:contain; background:#fff; border:1px solid var(--border); border-radius:12px; padding:6px; margin-bottom:8px; }
.audit-title { font-size:12.5px; font-weight:600; line-height:1.5; margin-bottom:4px; color:#3b4260; }
.audit-meta { font-size:12px; color:var(--muted); margin-bottom:8px; line-height:1.6; }
.audit-arrow { align-self:center; font-size:22px; color:var(--primary); }
.audit-act { display:flex; flex-direction:column; gap:8px; align-items:center; justify-content:center; min-width:130px; }
.audit-btns { display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.btn.small { padding:4px 10px; font-size:12px; display:inline-block; text-decoration:none; }

/* ---------- 双语版本 ---------- */
.dual-lang { display:flex; gap:14px; flex-wrap:wrap; }
.dual-col { flex:1; min-width:300px; background:var(--bg-soft); border:1px solid var(--border); border-radius:12px; padding:12px; }
.dual-head { font-size:12px; font-weight:700; color:#3b4260; margin-bottom:10px; padding-bottom:8px; border-bottom:1px dashed var(--border); }

.nav-title {
    display:flex; align-items:center; gap:6px; padding:18px 20px 6px; font-size:11px; color:#6f7ba6; letter-spacing:1.2px; text-transform:uppercase;
    transition:opacity .15s ease; white-space:nowrap;
  }
  .nav-title .nt-ic { font-size:12px; opacity:.85; }
  .nav-title:not(:first-child) { margin-top:6px; border-top:1px solid rgba(255,255,255,.06); }
  .nav-title:first-child { padding-top:14px; }

/* ---------- 菜单折叠/展开 ---------- */
.nav-group { }
.nav-group .nav-title { cursor:pointer; user-select:none; justify-content:flex-start; }
.nav-group .nav-title:hover { color:#c7d2f0; }
.nav-group .nt-arrow { margin-left:auto; font-size:10px; color:#8a94b0; transition:transform .2s ease; }
.nav-group.open .nt-arrow { transform:rotate(90deg); }
.nav-group .nav-items { max-height:0; overflow:hidden; opacity:0; transition:max-height .25s ease, opacity .2s ease; }
.nav-group.open .nav-items { max-height:400px; opacity:1; }
.layout.collapsed .nav-group .nt-arrow { display:none; }
.layout.collapsed .nav-group.open .nav-items { max-height:0; opacity:0; }


/* =========================================================
   字体美化 v2 · 全局放大 + 排版优化
   ========================================================= */
body { font-size:15px; line-height:1.6; }

/* 侧边栏 */
.side { font-size:15px; }
.brand .logo { font-size:19px; }
.brand .brand-sub { font-size:12px; line-height:1.7; }
.nav-search { font-size:13.5px; }
.nav-title { font-size:12.5px; letter-spacing:1.2px; padding:18px 20px 8px; }
.nav button { font-size:15px; padding:10px 12px; gap:11px; }
.nav button .ic { width:28px; height:28px; line-height:28px; font-size:16px; }
.side-foot { font-size:12px; line-height:1.8; }

/* 顶栏 */
.crumb { font-size:14px; }
.chip { font-size:13px; padding:6px 13px; }
.chip.stat-chip b { font-size:14px; }

/* 卡片 */
.card h3 { font-size:17px; margin-bottom:14px; }
.card h3 .hint { font-size:13px; }
.stat .num { font-size:30px; }
.stat .label { font-size:13px; }

/* 表格 */
table { font-size:14.5px; }
th { font-size:13.5px; padding:11px 12px; }
td { padding:11px 12px; }

/* 表单 */
.form-row label { font-size:13px; }
.form-row input, .form-row select, .form-row textarea { font-size:14px; padding:9px 12px; }
.note { font-size:13px; line-height:1.8; }
.empty { font-size:14px; }

/* 按钮 */
.btn { font-size:14px; padding:9px 16px; }
.btn.sm { font-size:13px; padding:5px 12px; }
.btn.lg { font-size:14.5px; padding:10px 20px; }
.tag { font-size:12.5px; padding:4px 11px; }

/* 业务组件字号微调 */
.sched-item .s-title { font-size:14.5px; }
.sched-item .s-meta { font-size:13px; }
.sched-item .s-time { font-size:13.5px; }
.video-card .v-head b { font-size:14.5px; }
.video-card .v-line { font-size:13.5px; }
.video-card .v-cta { font-size:13.5px; }
.video-scenes .sc { font-size:13.5px; }
.result-box { font-size:13.5px; line-height:1.7; }
.quiet { font-size:13px; }
.mono { font-size:13px; }


/* =========================================================
   订单明细大区块（数据首页）
   ========================================================= */
.dash-card-wide { grid-column: 1 / -1; }
.order-detail-wrap { display:flex; gap:16px; flex-wrap:wrap; }
.order-charts { flex:1; min-width:280px; display:flex; flex-direction:column; gap:14px; }
.order-details { flex:2.2; min-width:420px; }
.oc-block { background:#fafbfc; border:1px solid #f0f1f5; border-radius:12px; padding:12px 14px; }
.oc-title { font-size:13px; font-weight:700; color:#3b4260; margin-bottom:10px; }
.order-details .oc-title { margin-bottom:8px; }

.sold-list { display:flex; flex-direction:column; gap:8px; max-height:520px; overflow:auto; }
.sold-row { display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid #edf0f5; border-radius:12px; background:#fff; transition:box-shadow .15s ease; }
.sold-row:hover { box-shadow:0 3px 12px rgba(20,30,80,.08); }
.sold-img { width:52px; height:52px; object-fit:contain; border-radius:8px; border:1px solid #eef0f5; background:#fff; flex-shrink:0; }
.sold-img.noimg { display:flex; align-items:center; justify-content:center; font-size:22px; background:#f5f6fa; }
.sold-main { flex:1; min-width:0; }
.sold-title { font-size:13.5px; font-weight:600; color:#2c3150; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sold-meta { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.sold-meta .tag { font-size:11.5px; padding:2px 8px; border-radius:6px; }
.sold-meta .tag.shop { background:#eaf0ff; color:#4f6ef7; }
.sold-meta .tag.site { background:#e8f8ef; color:#16a34a; }
.sold-meta .tag.time { background:#f5f3ff; color:#7b5cf0; }
.sold-sku-row { font-size:12px; color:#8a94b0; margin-top:5px; display:flex; align-items:center; gap:6px; }
.sold-sku { color:#4f6ef7; font-weight:600; text-decoration:none; }
.sold-sku:hover { text-decoration:underline; }
.sold-amt { text-align:right; flex-shrink:0; }
.sold-amt .amt { font-size:16px; font-weight:800; color:#16a34a; }
.sold-amt .cur { font-size:11px; color:#8a94b0; margin-top:2px; }


/* =========================================================
   AI处理中心 · Tab 导航
   ========================================================= */
.ai-tabs { display:flex; gap:6px; margin-bottom:16px; border-bottom:2px solid #eef0f5; padding-bottom:10px; flex-wrap:wrap; }
.ai-tab { padding:8px 18px; border:1px solid #dfe3ec; border-radius:10px 10px 0 0; background:#f5f6fa; color:#5a6380; font-size:14px; font-weight:600; cursor:pointer; transition:all .15s ease; }
.ai-tab:hover { background:#fff; color:#4f6ef7; }
.ai-tab.active { background:#fff; color:#4f6ef7; border-color:#4f6ef7; border-bottom-color:#fff; margin-bottom:-2px; box-shadow:0 -2px 6px rgba(79,110,247,.08); }
#ai-tab-content { min-height:300px; }


/* =========================================================
   商品库搜索
   ========================================================= */
.prod-search-row { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.prod-search-input { flex:1; max-width:420px; padding:9px 14px; border:1px solid #d9ddeb; border-radius:10px; font-size:14px; background:#fff; }
.prod-search-input:focus { outline:none; border-color:var(--primary,#4f6ef7); box-shadow:0 0 0 3px rgba(79,110,247,.12); }
.prod-search-count { font-size:12.5px; color:var(--muted,#8a91a8); }

/* =========================================================
   采集箱（大麦风格）v2
   ========================================================= */
.collect-filter { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.collect-filter select { padding:8px 10px; border:1px solid #d9ddeb; border-radius:10px; font-size:14px; background:#fff; }
.collect-publish { margin-top:16px; padding:14px; background:#f8f9fc; border:1px solid #e7e9f2; border-radius:12px; }
.collect-publish .form-row { display:flex; gap:14px; flex-wrap:wrap; align-items:flex-end; }

/* =========================================================
   采集箱（照搬大麦采集箱界面）
   ========================================================= */
.shelve-page { background:#fff; border:1px solid #e7e9f2; border-radius:14px; padding:16px; }
.shelve-filter { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; padding:12px; background:#f7f8fc; border-radius:10px; margin-bottom:10px; }
.shelve-filter-item { display:flex; align-items:center; gap:4px; }
.shelve-filter-item label { font-size:13px; color:#5a6380; white-space:nowrap; }
.shelve-filter-item select, .shelve-filter-item input { padding:5px 8px; border:1px solid #d9ddeb; border-radius:8px; font-size:13px; background:#fff; min-width:110px; }
.shelve-filter-btns { display:flex; gap:6px; margin-left:auto; }
.shelve-reminder { display:flex; gap:12px; padding:8px 4px; }
.shelve-remind-item { font-size:13px; font-weight:600; }
.shelve-remind-item.warn { color:#ea8c00; }
.shelve-remind-item.danger { color:#e5484d; }
.shelve-site-tabs { display:flex; gap:4px; flex-wrap:wrap; padding:4px 0 10px; border-bottom:1px solid #f0f1f5; margin-bottom:10px; }
.shelve-site-tab { padding:5px 14px; border:1px solid #e0e3ec; border-radius:16px; font-size:12.5px; color:#5a6380; cursor:pointer; background:#fff; }
.shelve-site-tab.active { background:linear-gradient(135deg,#4f6ef7,#7b5cf0); color:#fff; border-color:transparent; }
.shelve-batch-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 4px; }
.shelve-selected { font-size:13px; color:#5a6380; }
.shelve-card-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px; margin-top:8px; }
.shelve-card { display:flex; gap:10px; padding:12px; border:1px solid #e7e9f2; border-radius:12px; background:#fff; cursor:pointer; transition:box-shadow .15s ease; }
.shelve-card:hover { box-shadow:0 4px 14px rgba(20,30,80,.08); }
.shelve-check { display:flex; align-items:center; }
.shelve-check input { width:16px; height:16px; }
.shelve-img { width:72px; height:72px; flex-shrink:0; border:1px solid #eef0f5; border-radius:8px; background:#f7f8fc; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.shelve-img img { width:100%; height:100%; object-fit:contain; }
.shelve-img.noimg { font-size:24px; color:#bbb; }
.shelve-body { flex:1; min-width:0; }
.shelve-head { display:flex; gap:6px; align-items:center; margin-bottom:4px; }
.shelve-tag { font-size:11px; padding:1px 8px; border-radius:8px; }
.shelve-tag.ok { background:#e8f8ef; color:#16a34a; }
.shelve-tag.warn { background:#fef3c7; color:#d97706; }
.shelve-wt { font-size:12px; color:#8a94b0; }
.shelve-title { font-size:13.5px; font-weight:600; color:#2c3150; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shelve-sku { font-size:11.5px; color:#909399; margin-top:2px; }
.shelve-collect { font-size:12px; color:#4f6ef7; margin-top:2px; }
.shelve-meta { display:grid; grid-template-columns:1fr 1fr; gap:4px 10px; margin-top:8px; padding-top:8px; border-top:1px dashed #eef0f5; }
.shelve-col { display:flex; justify-content:space-between; gap:6px; font-size:12px; }
.shelve-col .lbl { color:#8a94b0; }
.shelve-col .val { font-weight:600; color:#3b4260; }
.shelve-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.collect-publish { margin-top:16px; padding:14px; background:#f8f9fc; border:1px solid #e7e9f2; border-radius:12px; }
.collect-publish .form-row { display:flex; gap:14px; flex-wrap:wrap; align-items:flex-end; }

/* =========================================================
   商品完整编辑弹窗
   ========================================================= */
.edit-modal { max-width:720px; max-height:90vh; overflow:auto; }
.edit-tabs { display:flex; gap:4px; border-bottom:2px solid #eef0f5; margin-bottom:14px; }
.edit-tab { padding:8px 16px; font-size:14px; color:#5a6380; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; }
.edit-tab.active { color:#4f6ef7; border-bottom-color:#4f6ef7; font-weight:600; }
.edit-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; }
.edit-field { display:flex; flex-direction:column; gap:4px; }
.edit-field label { font-size:12px; color:#8a94b0; }
.edit-field input, .edit-field select, .edit-desc textarea { padding:7px 10px; border:1px solid #d9ddeb; border-radius:8px; font-size:13px; }
.edit-desc { margin-top:12px; }
.edit-desc textarea { width:100%; }
.edit-imgs { display:flex; flex-wrap:wrap; gap:10px; }
.edit-img-wrap { position:relative; width:90px; height:90px; }
.edit-img-wrap img { width:100%; height:100%; object-fit:contain; border:1px solid #eef0f5; border-radius:8px; background:#fff; }
.edit-img-del { position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%; background:#e5484d; color:#fff; border:none; cursor:pointer; font-size:11px; line-height:20px; text-align:center; }
.edit-img-add { display:flex; gap:6px; align-items:center; margin-top:10px; }
.edit-img-add input { flex:1; padding:7px 10px; border:1px solid #d9ddeb; border-radius:8px; font-size:13px; }
.edit-mainimg { margin-top:10px; }
.edit-mainimg select { padding:7px 10px; border:1px solid #d9ddeb; border-radius:8px; }
.edit-attrs { margin-top:12px; }
.edit-attr-row { display:flex; gap:6px; margin-bottom:6px; }
.edit-attr-row input { flex:1; padding:7px 10px; border:1px solid #d9ddeb; border-radius:8px; font-size:13px; }
.edit-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:16px; padding-top:12px; border-top:1px solid #eef0f5; }

/* 编辑页-原始详情（大麦详情API原封不动展示） */
.edit-raw{max-height:60vh;overflow:auto;border:1px solid #e5e7eb;border-radius:10px}
.edit-raw-row{display:flex;border-bottom:1px solid #f0f1f3}
.edit-raw-row:last-child{border-bottom:none}
.edit-raw-k{flex:0 0 180px;font-weight:600;font-size:12px;color:#374151;padding:8px 10px;background:#f9fafb;border-right:1px solid #f0f1f3;word-break:break-all}
.edit-raw-v{flex:1;padding:8px 10px;font-size:12px;color:#1f2937;word-break:break-all;min-width:0}
.edit-raw-imgs{display:flex;flex-wrap:wrap;gap:6px}
.edit-raw-imgs img{width:72px;height:72px;object-fit:contain;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb}
.edit-raw-arr{display:flex;flex-wrap:wrap;gap:4px}
.edit-raw-item{font-size:11px;background:#f3f4f6;border-radius:6px;padding:3px 8px}
.edit-raw-json{font-size:11px;background:#f9fafb;padding:6px;border-radius:6px;max-height:200px;overflow:auto;white-space:pre-wrap}
.edit-extra{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:6px 10px;margin-bottom:10px}
.edit-extra input[readonly]{background:#f9fafb;color:#374151}

/* ========== 编辑产品弹窗（大麦同款 · 全屏 + 锚点导航） ========== */
.ep-modal{width:min(1200px, calc(100vw - 3.2rem));max-height:calc(100vh - 2rem);height:auto;min-height:70vh;max-width:1200px;display:flex;flex-direction:column;margin:1rem auto;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 48px rgba(0,0,0,.25);animation:epIn .18s ease-out;position:relative}
@keyframes epIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.ep-head{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;font-weight:700;font-size:16px;flex:0 0 auto}
.ep-head-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;line-height:1;padding:0 4px}
.ep-close:hover{opacity:.8}
.ep-nav{display:flex;gap:2px;padding:8px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;flex:0 0 auto;overflow-x:auto;position:sticky;top:0;z-index:5}
.ep-nav-item{display:inline-block;padding:6px 14px;border-radius:999px;font-size:13px;color:#475569;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer}
.ep-nav-item:hover{background:#e0e7ff;color:#1e3a8a}
.ep-body{flex:1;overflow-y:auto;padding:16px 20px 80px;background:#f1f5f9}
.ep-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.04);scroll-margin-top:10px}
.ep-sec-head{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(90deg,#1e3a8a,#2563eb);color:#fff;font-weight:700;font-size:14px;border-radius:12px 12px 0 0}
.ep-count{font-weight:400;font-size:12px;opacity:.85;margin-left:auto}
.ep-required{color:#fca5a5}
.ep-section>.ep-field,.ep-section>.ep-grid2,.ep-section>.ep-imgs,.ep-section>.ep-img-add,.ep-section>.ep-attrs,.ep-section>.ep-ai-row,.ep-section>.ep-raw,.ep-section>.ep-note{margin:14px 16px}
.ep-note{font-size:12px;color:#6b7280;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px;line-height:1.6}
.ep-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ep-field{display:flex;flex-direction:column;gap:4px;margin:0}
.ep-field>label{font-size:12px;font-weight:600;color:#374151}
.ep-field input,.ep-field textarea,.ep-field select{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:13px;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box;font-family:inherit}
.ep-field input:focus,.ep-field textarea:focus,.ep-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.ep-field textarea{resize:vertical}
.ep-cur{font-size:12px;color:#6b7280}
.ep-char{float:right;font-weight:400;font-size:11px;color:#6b7280;background:#f1f5f9;border-radius:999px;padding:1px 8px}
.ep-linkrow{display:flex;gap:6px}
.ep-linkrow input{flex:1}
.ep-ai-row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.ep-ai-inline{margin-left:auto}
.ep-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ep-img{position:relative;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#f9fafb;aspect-ratio:1}
.ep-img img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}
.ep-img-main{position:absolute;top:6px;left:6px;background:#dc2626;color:#fff;font-size:11px;padding:2px 8px;border-radius:999px;z-index:2}
.ep-img-ops{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:4px;background:rgba(15,23,42,.55);padding:4px;opacity:0;transition:opacity .15s}
.ep-img:hover .ep-img-ops{opacity:1}
.ep-ico{background:rgba(255,255,255,.92);border:none;border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:13px;line-height:1;color:#1e293b}
.ep-ico:hover{background:#fff}
.ep-img-add{display:flex;gap:8px;margin-top:12px}
.ep-img-add input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:13px;outline:none}
.ep-noimg{color:#9ca3af;text-align:center;padding:30px 10px;font-size:13px}
.ep-attr-row{display:flex;gap:6px;margin-bottom:8px}
.ep-attr-row input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:13px;outline:none}
.ep-attrs{margin:14px 16px 4px !important}
.ep-section>.btn.sm.plain{margin:4px 16px 16px}
.ep-raw{max-height:50vh;overflow:auto;border:1px solid #e5e7eb;border-radius:10px;margin:14px 16px}
.ep-raw-row{display:flex;border-bottom:1px solid #f0f1f3}
.ep-raw-row:last-child{border-bottom:none}
.ep-raw-k{flex:0 0 180px;font-weight:600;font-size:12px;color:#374151;padding:8px 10px;background:#f9fafb;border-right:1px solid #f0f1f3;word-break:break-all}
.ep-raw-v{flex:1;padding:8px 10px;font-size:12px;color:#1f2937;word-break:break-all;min-width:0}
.ep-raw-imgs{display:flex;flex-wrap:wrap;gap:6px}
.ep-raw-imgs img{width:72px;height:72px;object-fit:contain;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb}
.ep-raw-arr{display:flex;flex-wrap:wrap;gap:4px}
.ep-raw-item{font-size:11px;background:#f3f4f6;border-radius:6px;padding:3px 8px}
.ep-raw-json{font-size:11px;background:#f9fafb;padding:6px;border-radius:6px;max-height:200px;overflow:auto;white-space:pre-wrap;margin:0}
.ep-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;background:#fff;border-top:1px solid #e5e7eb;flex:0 0 auto}
.ep-foot-left,.ep-foot-right{display:flex;gap:8px;flex-wrap:wrap}
.ep-result{font-size:12px;font-weight:600}
.ep-ok{color:#15803d}
.ep-bad{color:#dc2626}
.ep-busy{color:#2563eb}
.ep-preview-modal{max-width:92vw;padding:16px;text-align:center}
.ep-actions-center{text-align:center;margin-top:10px}
.ep-toast{position:fixed;top:24px;left:50%;transform:translate(-50%,-20px);background:#111827;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;z-index:2147483647;opacity:0;transition:all .3s;box-shadow:0 6px 20px rgba(0,0,0,.3);max-width:80vw}
.ep-toast.ok{background:#15803d}
.ep-toast.warn{background:#b45309}
.ep-toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:768px){.ep-grid2{grid-template-columns:1fr}.ep-foot{flex-direction:column;align-items:stretch}}

/* ========== 采集箱商品卡片（大麦采集箱同款布局） ========== */
.dm-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .15s;display:flex;flex-direction:column}
.dm-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.dm-card-top{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid #f3f4f6}
.dm-check{display:flex;align-items:center}
.dm-check input{width:15px;height:15px;cursor:pointer;accent-color:#2563eb}
.dm-sku{font-size:12px;font-weight:600;color:#1e3a8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-badge-pub{margin-left:auto;background:#dcfce7;color:#15803d;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}
.dm-card-status{display:flex;gap:6px;padding:6px 10px}
.dm-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}
.dm-badge.ok{background:#dcfce7;color:#15803d}
.dm-badge.warn{background:#fef3c7;color:#b45309}
.dm-badge.plain{background:#f3f4f6;color:#6b7280}
.dm-card-img-wrap{position:relative;background:#f9fafb}
.dm-card-img{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dm-card-img img{width:100%;height:100%;object-fit:contain;cursor:pointer}
.dm-card-img.noimg{font-size:40px;color:#d1d5db}
.dm-link{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.92);border-radius:6px;padding:3px 6px;font-size:13px;text-decoration:none;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.dm-weight-mask{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:rgba(255,255,255,.95);border-top:1px solid #f3f4f6}
.dm-wt{font-size:12px;font-weight:700;color:#2563eb}
.dm-price{font-size:11px;color:#dc2626;font-weight:600}
.dm-card-title{font-size:13px;font-weight:500;color:#1f2937;line-height:1.45;padding:8px 10px 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.dm-card-finance{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:6px 8px;background:#f8fafc;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6}
.dm-fcol{display:flex;flex-direction:column;align-items:center;gap:1px}
.dm-flbl{font-size:10px;color:#9ca3af}
.dm-fval{font-size:12px;font-weight:700;color:#1e293b}
.dm-card-tags{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px}
.dm-tag{font-size:11px;background:#eef2ff;color:#4338ca;padding:2px 8px;border-radius:999px}
.dm-card-actions{display:flex;justify-content:center;gap:6px;padding:8px 10px}
.dm-card-actions .btn{flex:1;font-size:12px}
.shelve-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:4px 0}

/* 图片AI工具面板 */
.ep-img-ai{margin:14px 16px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:12px}
.ep-img-ai-title{font-size:13px;font-weight:700;color:#1e3a8a;margin-bottom:10px}
.ep-img-ai-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.ep-img-ai-actions .btn{font-size:12px}
.ep-img-ai-status{font-size:12px;margin-top:6px;min-height:18px}
/* 分站点定价卡片 */
.ep-site-price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:14px 16px}
.ep-site-card{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#f8fafc}
.ep-site-name{font-weight:700;font-size:13px;color:#1e3a8a;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ep-site-cur{font-weight:400;font-size:11px;color:#6b7280;background:#e0e7ff;border-radius:999px;padding:1px 8px}
.ep-site-fields{display:flex;flex-direction:column;gap:8px}

/* 标题超出60字符提示 */
.ep-title-warn{display:flex;gap:4px;align-items:flex-start;font-size:12px;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:6px 10px;line-height:1.5}

/* ========== 商品库表格（大麦 product-manage 同款） ========== */
.pm-tabs{display:flex;gap:2px;margin-bottom:12px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}
.pm-tab{display:inline-block;padding:8px 16px;font-size:13px;color:#475569;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.pm-tab:hover{color:#1e3a8a}
.pm-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}
.pm-tab b{font-weight:600;color:#2563eb;margin-left:2px}
.pm-table{width:100%;border-collapse:collapse;font-size:13px}
.pm-table th{background:#f8fafc;color:#475569;font-weight:600;text-align:left;padding:10px 12px;border-bottom:2px solid #e5e7eb;white-space:nowrap}
.pm-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.pm-table td.pm-ops{padding:8px 6px;white-space:nowrap}
.pm-table tr:hover td{background:#f8fafc}
.pm-img{width:52px;height:52px;border-radius:8px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center}
.pm-img img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}
.pm-img.noimg{font-size:20px;color:#cbd5e1}
.pm-title-cell{max-width:340px}
.pm-title{font-weight:500;color:#1f2937;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.pm-meta{font-size:11px;color:#94a3b8;margin-top:2px}
.pm-ops{white-space:nowrap}
.pm-ops .btn{margin-right:2px;font-size:12px}
.pm-toolbar{flex-wrap:wrap;gap:6px}
/* ===== 品牌竖排放大（追加覆盖） ===== */
.brand .logo { display:flex; flex-direction:column; align-items:center; gap:9px !important; }
.brand .logo .logo-ic { width:66px; height:66px; border-radius:19px; box-shadow:0 10px 26px rgba(61,90,254,.65), 0 0 0 1px rgba(255,255,255,.14) inset, 0 0 30px rgba(255,180,60,.22); }
.brand .brand-name.art { font-size:60px; letter-spacing:12px; filter:drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 20px rgba(255,150,50,.5)); }
.brand:hover .brand-name.art { filter:drop-shadow(0 3px 6px rgba(0,0,0,.55)) drop-shadow(0 0 34px rgba(255,170,60,.75)); }
.layout.collapsed .brand .logo .logo-ic { width:46px; height:46px; border-radius:13px; }
.layout.collapsed .brand .logo .logo-ic svg { width:28px; height:28px; }
/* ===== 品牌横排：盈卖左 + 大炮右，盈卖放大 ===== */
.brand .logo { flex-direction:row !important; align-items:center !important; gap:12px !important; justify-content:center; }
.brand .logo .logo-ic { width:54px !important; height:54px !important; border-radius:15px !important; box-shadow:0 8px 20px rgba(61,90,254,.6), 0 0 0 1px rgba(255,255,255,.12) inset, 0 0 24px rgba(255,180,60,.18) !important; }
.brand .logo .logo-ic svg { width:33px !important; height:33px !important; }
.brand .brand-name.art { font-size:68px !important; letter-spacing:4px !important; filter:drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 20px rgba(255,150,50,.5)) !important; }
/* ===== 界面功能字体放大 1.5 倍（大炮图标不动） ===== */
body { font-size: 21px !important; }
.nav button .label { font-size: 20px !important; }
.nav-title { font-size: 19px !important; }
.nav-title .nt-ic { font-size: 16px !important; }
.crumb { font-size: 21px !important; }
.card h3 { font-size: 25px !important; }
.card h3 .hint { font-size: 19px !important; }
.card h4 { font-size: 21px !important; }
table { font-size: 21px !important; }
.btn { font-size: 21px !important; }
.chip { font-size: 19px !important; }
.chip.stat-chip b { font-size: 21px !important; }
.tag { font-size: 18px !important; }
.form-row label { font-size: 19px !important; }
input, select, textarea { font-size: 20px !important; }
.stat .label { font-size: 19px !important; }
.alert-item, .sug-item, .sold-title, .sold-meta, .sold-sku-row, .oc-title, .oc-block { font-size: 18px !important; }
.dash-stat .num { font-size: 39px !important; }
.dash-stat .lbl { font-size: 18px !important; }
.sold-amt .amt { font-size: 24px !important; }
.dash-card h4 { font-size: 21px !important; }

/* 已售明细增强 */
.sold-row-link{display:block;text-decoration:none;color:inherit}
.sold-row-link:hover .sold-row{box-shadow:0 3px 12px rgba(37,99,235,.15);border-color:#bfdbfe;transform:translateY(-1px)}
.sold-row{transition:box-shadow .15s,transform .15s,border-color .15s}
.sold-paid{border-left:3px solid #22c55e}
.sold-cancelled{border-left:3px solid #ef4444;opacity:.75}

/* 订单明细筛选 */
.dash-filter{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px;background:#f8fafc;border:1px solid #eef0f6;border-radius:10px;padding:12px 14px}
.dash-filter label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5a6380;font-weight:600}
.dash-filter input,.dash-filter select{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:13px;outline:none;background:#fff}
.dash-filter input:focus,.dash-filter select:focus{border-color:#2563eb}
.dash-filter .btn{padding:8px 16px}
.df-hint{font-size:11px;color:#94a3b8;align-self:center;margin-left:auto}

/* 已售明细汇总条 */
.sold-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #dbeafe;border-radius:10px;padding:12px 18px;margin-bottom:12px}
.ss-item{display:flex;flex-direction:column;gap:2px}
.ss-num{font-size:22px;font-weight:800;color:#1e3a8a;line-height:1.2}
.ss-lbl{font-size:11px;color:#6b7280}
.ss-badge{background:#2563eb;color:#fff;font-size:11px;font-weight:600;padding:4px 12px;border-radius:999px;margin-left:auto}

/* 已售明细复制按钮 */
.sold-copy{margin-top:6px;font-size:11px;padding:3px 10px}
.sold-amt{display:flex;flex-direction:column;align-items:flex-end}

/* 商品可能已下架提示 */
.sold-gone{display:inline-block;background:#fef3c7;color:#b45309;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;margin-left:6px}

/* 商品库操作按钮紧凑化（防溢出） */
.pm-ops .btn{font-size:11px !important;padding:3px 8px !important;margin-right:2px;line-height:1.4}
.pm-table td.pm-ops{padding:8px 8px}

/* 商品库操作按钮紧凑化（防溢出）v2 */
.pm-ops{white-space:nowrap !important;max-width:230px}
.pm-ops .btn{font-size:9px !important;padding:1px 4px !important;margin:0 1px 0 0;line-height:1.2;display:inline-block;border-radius:4px}

/* AI一键优化 自定义确认弹窗（右下角） */
.ai-confirm-wrap{position:fixed;inset:0;z-index:2147483646;background:rgba(15,23,42,.35);display:flex;align-items:flex-end;justify-content:flex-end;padding:24px}
.ai-confirm{background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.25);width:340px;overflow:hidden;animation:epIn .2s ease-out}
.ai-confirm-hd{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;font-weight:700;font-size:14px;padding:12px 16px}
.ai-confirm-body{padding:16px;font-size:13px;color:#374151;line-height:1.6}
.ai-confirm-ft{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid #f1f5f9}

/* 行内 AI 优化进度条 */
.pm-opt-bar{display:flex;align-items:center;gap:6px;margin-top:6px;background:#f1f5f9;border-radius:6px;padding:3px 8px;min-width:140px}
.pm-opt-bar-inner{height:6px;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:3px;transition:width .3s}
.pm-opt-bar-txt{font-size:11px;color:#1e3a8a;font-weight:600;white-space:nowrap}
.mlsync-opt-bar{margin-top:4px}

/* 商品审核 发布站点勾选 */
.rv-sites{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}
.rv-site{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#374151;cursor:pointer}
.rv-site input{width:15px;height:15px;accent-color:#2563eb;cursor:pointer}
.rv-shops{display:flex;flex-wrap:wrap;gap:6px;max-height:170px;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;padding:8px;background:#fff}
.rv-shop{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#374151;padding:3px 8px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;cursor:pointer;white-space:nowrap}
.rv-shop input{width:14px;height:14px;accent-color:#2563eb;cursor:pointer}

/* ========== AI核价 悬浮球 + 悬浮面板（商品库 · 类似大麦采集箱） ========== */
/* ========== AI核价 悬浮球 + 悬浮面板（采集中心 · 对齐大麦采集箱 AI核价悬浮助手） ========== */
.aip-float-btn{position:fixed;right:24px;bottom:80px;z-index:2147483646;background:#16a34a;color:#fff;border:none;border-radius:18px;padding:10px 18px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(22,163,74,.4);font-family:-apple-system,'Segoe UI',sans-serif;transition:transform .16s ease,background .16s ease;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:128px;max-width:260px}
.aip-float-btn:hover{background:#15803d;transform:translateY(-1px)}
.aip-float-btn .aip-float-ico{font-size:17px;line-height:1}
.aip-float-btn .aip-float-label{font-size:13px;font-weight:800;line-height:1}
.aip-float-btn .aip-float-status{font-size:11px;font-weight:600;color:#fff;background:rgba(0,0,0,.24);border-radius:999px;padding:2px 8px;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;display:inline-block}
.aip-float-btn.running{animation:aipPulse 1.6s infinite}
/* ========== AI文案 悬浮球 + 悬浮面板（全局 · 对标 AI核价悬浮助手） ========== */
.aic-float-btn{position:fixed;right:24px;bottom:152px;z-index:2147483645;background:#2563eb;color:#fff;border:none;border-radius:18px;padding:10px 18px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(37,99,235,.4);font-family:-apple-system,'Segoe UI',sans-serif;transition:transform .16s ease,background .16s ease;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:128px;max-width:260px}
.aic-float-btn:hover{background:#1d4ed8;transform:translateY(-1px)}
.aic-float-btn .aic-float-ico{font-size:17px;line-height:1}
.aic-float-btn .aic-float-label{font-size:13px;font-weight:800;line-height:1}
.aic-float-btn .aic-float-status{font-size:11px;font-weight:600;color:#fff;background:rgba(0,0,0,.24);border-radius:999px;padding:2px 8px;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;display:inline-block}
.aic-float-btn.running{animation:aicPulse 1.6s infinite}
@keyframes aicPulse{0%,100%{box-shadow:0 6px 18px rgba(37,99,235,.4)}50%{box-shadow:0 6px 28px rgba(37,99,235,.8)}}
.aic-float-track{width:100%;height:4px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden;display:block}
.aic-float-fill{display:block;height:100%;background:#fff;border-radius:2px;transition:width .3s}
.aic-float-panel{position:fixed;left:auto;top:auto;right:auto;bottom:auto;width:460px;height:620px;min-width:340px;min-height:240px;z-index:2147483647;background:#fff;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;font-family:-apple-system,'Segoe UI',sans-serif;overflow:hidden}
.aic-float-panel .dap-head{background:#2563eb}
.aic-bar{height:16px;background:#e5e7eb;border-radius:8px;overflow:hidden;margin:10px 0;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
.aic-bar>div{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6);transition:width .3s;border-radius:8px}
.aic-bar-pct{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);z-index:2;pointer-events:none}
.aic-progress{font-size:12px;color:#6b7280;margin:4px 0;line-height:1.7}
.aic-pitem{display:flex;align-items:center;gap:8px;padding:6px 2px;border-bottom:1px solid #f3f4f6}
.aic-pitem img{width:36px;height:36px;object-fit:contain;border-radius:4px;background:#f9fafb;border:1px solid #e5e7eb}
.aic-name{font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@keyframes aipPulse{0%,100%{box-shadow:0 6px 18px rgba(22,163,74,.4)}50%{box-shadow:0 6px 28px rgba(22,163,74,.8)}}
.aip-float-track{width:100%;height:4px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden;display:block}
.aip-float-fill{display:block;height:100%;background:#fff;border-radius:2px;transition:width .3s}
.aip-float-panel{position:fixed;left:auto;top:auto;right:auto;bottom:auto;width:420px;height:620px;min-width:320px;min-height:240px;z-index:2147483647;background:#fff;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;font-family:-apple-system,'Segoe UI',sans-serif;overflow:hidden}
.dap-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#16a34a;color:#fff;font-weight:700;font-size:14px;cursor:move;user-select:none;flex-shrink:0}
.dap-resize{position:absolute;right:2px;bottom:2px;width:16px;height:16px;cursor:nwse-resize;opacity:.55;z-index:5}
.dap-resize::after{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;border-right:2px solid #9ca3af;border-bottom:2px solid #9ca3af;border-radius:0 0 4px 0}
.dap-resize:hover{opacity:1}
.dap-accrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.dap-acc{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid #e5e7eb;background:#fff;color:#6b7280;cursor:default}
.dap-acc-on{background:#dcfce7;color:#15803d;border-color:#bbf7d0}
.dap-acc-off{background:#fee2e2;color:#b91c1c;border-color:#fecaca}
.dap-acc-unknown{background:#f3f4f6;color:#9ca3af}
.dap-accnote{font-size:11px;color:#b45309;background:#fef3c7;border-radius:8px;padding:6px 9px;line-height:1.5;margin-bottom:8px}
.dap-close{background:none;border:none;color:#fff;font-size:18px;cursor:pointer}
.dap-body{flex:1;overflow:auto;padding:12px 14px;font-size:13px;color:#1f2937}
.dap-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.dap-note{font-size:12px;color:#6b7280;background:#f3f4f6;border-radius:8px;padding:8px 10px;line-height:1.6;margin-bottom:10px}
.dap-btn{background:#16a34a;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}
.dap-btn:disabled{opacity:.5;cursor:not-allowed}
.dap-btn.sm{padding:4px 10px;font-size:12px}
.dap-btn.ghost{background:#f3f4f6;color:#374151}
.dap-btn.blue{background:#2563eb}
.dap-sel{padding:4px 6px;border:1px solid #d1d5db;border-radius:6px;font-size:12px !important}
.dap-bar{height:16px;background:#e5e7eb;border-radius:8px;overflow:hidden;margin:10px 0;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
.dap-bar>div{height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .3s;border-radius:8px}
.dap-bar-pct{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);z-index:2;pointer-events:none}
.dap-item{border:1px solid #e5e7eb;border-radius:10px;padding:10px;margin-bottom:10px}
.dap-item-hd{display:flex;align-items:center;gap:8px}
.dap-item img{width:44px;height:44px;object-fit:contain;border-radius:6px;background:#f9fafb;border:1px solid #e5e7eb}
.dap-item-name{flex:1;min-width:0;font-weight:600;font-size:12px;line-height:1.4}
.dap-item-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:#4b5563}
.dap-item-meta b{color:#dc2626}
.dap-reasons{margin-top:6px;font-size:11px;color:#b45309;line-height:1.5}
.dap-item-ops{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.dap-empty{color:#9ca3af;text-align:center;padding:30px 10px;font-size:13px}
.dap-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}
.dap-green{background:#dcfce7;color:#15803d}.dap-orange{background:#fef3c7;color:#b45309}.dap-red{background:#fee2e2;color:#b91c1c}.dap-gray{background:#f3f4f6;color:#6b7280}
.dap-progress{font-size:12px;color:#6b7280;margin:4px 0}
.dap-marginbox{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:10px;padding:10px 12px;margin-bottom:10px}
.dap-margin-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.dap-margin-title{font-weight:700;font-size:13px;color:#166534}
.dap-margin-val{display:flex;align-items:center;gap:4px}
.dap-step{width:26px;height:26px;border:1px solid #86efac;background:#fff;color:#166534;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;line-height:1}
.dap-step:hover{background:#dcfce7}
.dap-margin-input{width:52px;height:26px;text-align:center;border:1px solid #86efac;border-radius:6px;font-size:14px !important;font-weight:700;color:#166534;outline:none}
.dap-margin-input:focus{border-color:#16a34a}
.dap-pct{font-weight:700;color:#166534;font-size:13px}
.dap-margin-range{flex:1 1 100%;min-width:120px;accent-color:#16a34a;margin-top:6px}
.dap-margin-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.dap-chip{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer}
.dap-chip:hover{border-color:#16a34a;color:#16a34a}
.dap-chip.on{background:#16a34a;border-color:#16a34a;color:#fff;font-weight:600}
.dap-margin-hint{font-size:11px;color:#6b7280;margin-top:6px;line-height:1.5}
.dap-margin-hint b{color:#dc2626}
.dap-foot{padding:10px 14px;border-top:1px solid #e5e7eb;display:flex;gap:8px;align-items:center;flex-shrink:0}
.dap-toast{position:fixed;left:50%;top:20px;transform:translateX(-50%);z-index:2147483647;background:#111827;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
@media (max-width:900px){.aip-float-panel{right:12px;left:12px;width:auto}}

/* 订单统计 三tab */
.st-tabs{display:flex;gap:4px;border-bottom:2px solid #eef0f6;margin-bottom:14px;flex-wrap:wrap}
.st-tab{display:inline-block;padding:9px 18px;font-size:14px;font-weight:600;color:#5a6380;cursor:pointer;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;transition:all .15s}
.st-tab:hover{color:#4f6ef7;background:#f5f7ff}
.st-tab.active{color:#4f6ef7;border-bottom-color:#4f6ef7;background:#f5f7ff}
.st-body{min-height:200px}


/* ========== 定价试算 全局悬浮 ========== */
.pf-float-btn{position:fixed;left:260px;bottom:30px;z-index:2147483646;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:999px;padding:13px 20px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(217,119,6,.45);font-family:-apple-system,'Segoe UI',sans-serif;transition:transform .16s ease,filter .16s ease}
.pf-float-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.pf-float-panel{position:fixed;left:260px;bottom:96px;width:min(760px,94vw);max-height:78vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.35);border:1px solid #f0e0c0;overflow:hidden;z-index:2147483647;font-family:-apple-system,'Segoe UI',sans-serif;animation:fadeUp .2s ease}
.pf-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:800;font-size:15px;cursor:move;user-select:none;flex-shrink:0}
.pf-close{background:none;border:none;color:#fff;font-size:18px;cursor:pointer}
.pf-body{overflow:auto;padding:14px;font-size:13px;color:#1f2937}
.pf-form .pf-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;align-items:flex-end}
.pf-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#4b5563}
.pf-form input,.pf-form select{padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px !important;min-width:92px;background:#fff}
.pf-form input:focus,.pf-form select:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 2px rgba(217,119,6,.15)}
.pf-btn{background:#f59e0b;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer}
.pf-btn.green{background:#16a34a}
.pf-btn:hover{filter:brightness(1.06)}
.pf-note{font-size:11px;color:#6b7280;background:#fef3c7;border-radius:8px;padding:8px 10px;line-height:1.6;margin-top:10px}
.pf-toast{position:fixed;left:50%;top:20px;transform:translateX(-50%);z-index:2147483647;background:#111827;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
@media (max-width:900px){.pf-float-btn{left:16px;bottom:22px}.pf-float-panel{left:12px;right:12px;width:auto}}


/* ===== 订单统计：表格铺满页面 + 列宽优化 ===== */
.nowrap{white-space:nowrap}
.st-body table{font-size:13px !important}
.st-body th,.st-body td{padding:8px 9px}
.od-detail{width:100%;table-layout:fixed}
.od-detail th,.od-detail td{overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.od-detail thead th{white-space:nowrap}
.od-detail td.nowrap,.od-detail th.nowrap{white-space:nowrap}
/* 各列宽度（占满页面） */
.od-detail th:nth-child(1){width:6%}
.od-detail th:nth-child(2){width:13%}   /* 店铺 加宽 */
.od-detail th:nth-child(3){width:9%}    /* 站点 加宽 */
.od-detail th:nth-child(4){width:10%}   /* 订单号 */
.od-detail th:nth-child(5){width:7%}    /* 状态 */
.od-detail th:nth-child(6){width:auto}  /* 商品标题 弹性 */
.od-detail th:nth-child(7){width:9%}    /* SKU */
.od-detail th:nth-child(8){width:3%}    /* 件数 */
.od-detail th:nth-child(9){width:6%}
.od-detail th:nth-child(10){width:6%}
.od-detail th:nth-child(11){width:6%}
.od-detail th:nth-child(12){width:6%}
.od-detail th:nth-child(13){width:7%}   /* 买家 */
.od-detail td.num{white-space:nowrap}
.od-detail td:nth-child(6){white-space:normal} /* 商品标题允许换行 */

/* 商品审核：商品库式密排（两张小卡并排为一个品，一排至少8张商品卡） */
.review-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(372px,1fr));gap:10px;margin-top:8px}
.review-item{border:1px solid #e5e7eb;border-radius:12px;padding:8px;background:#fff}
.review-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
.review-pair .dm-card{min-width:0;font-size:12px}
.review-pair .dm-card-img img{max-height:150px;object-fit:contain}
.review-pair .dm-card-title{font-size:12px}
.review-pair .dm-card-finance{grid-template-columns:repeat(2,1fr)}
.review-pair .dm-fval{font-size:11px}
.review-ops{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px;padding-top:6px;border-top:1px dashed #e5e7eb}
.review-ops .rv-name{flex:1;min-width:0;font-size:12px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-panel .ai-hd{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid #f3f4f6;background:#f8fafc;font-size:12px}
.ai-panel .ai-empty{padding:14px 8px;font-size:12px;color:#9ca3af}
.ai-panel .result-box{margin-top:6px}

/* 审核页卡片淡色背景：与列表/彼此区分（仅作用审核页，不影响商品库） */
.review-item{background:#f0f4fa;border:1px solid #d7e2f2}
.review-item .review-pair > div:first-child .dm-card{background:#fbfdff;border:1px solid #e3ebf7}
.review-item .ai-panel{background:#eef5ff;border:1px solid #cfe2ff}
.review-item .ai-panel .ai-hd{background:#e3eefc}
.review-ops{background:#fff;border-radius:8px;padding:6px 8px;border:1px solid #eef2f8}

/* ===== 盈卖作战台 (P0) ===== */
.hub-hero{margin-bottom:14px}
.hub-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.hub-title{font-size:22px;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,#1e2a56,#4f6ef7);-webkit-background-clip:text;background-clip:text;color:transparent}
.hub-sub{font-size:12px;font-weight:400;color:#8a94b0;-webkit-text-fill-color:#8a94b0}
.hub-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.hub-step{background:linear-gradient(180deg,#fff,#f7f9fe);border:1px solid #e3eaf7;border-radius:12px;padding:10px 8px;text-align:center;cursor:pointer;transition:transform .12s,box-shadow .12s}
.hub-step:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(79,110,247,.15);border-color:#4f6ef7}
.hub-step-top{display:flex;align-items:center;justify-content:center;gap:6px}
.hub-ic{font-size:18px}
.hub-num{font-size:22px;font-weight:800;color:#1e2a56}
.hub-label{font-size:11px;color:#5a6380;margin-top:2px}
.hub-warn{font-size:10px;color:#ef4444;margin-top:2px}
.hub-bar{height:5px;background:#eef2f8;border-radius:4px;margin-top:8px;overflow:hidden}
.hub-bar-fill{height:100%;background:linear-gradient(90deg,#4f6ef7,#22c55e);border-radius:4px}
.hub-row{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin-top:10px}
.hub-col{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}
.hub-col-title{font-size:13px;font-weight:700;color:#1f2937;margin-bottom:8px}
.hub-task{background:#f6f8ff;border:1px solid #e3eaf7;border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:13px;color:#1e2a56;cursor:pointer}
.hub-task:hover{border-color:#4f6ef7;background:#eef4ff}
.hub-task.ok{background:#f0fdf4;border-color:#bbf7d0;color:#15803d;cursor:default}
.hub-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.hub-kpi{background:#f8fafc;border:1px solid #eef2f8;border-radius:8px;padding:8px;text-align:center;cursor:pointer}
.hub-kpi:hover{border-color:#4f6ef7}
.hub-kpi.dim{opacity:.55}
.hub-kpi-num{font-size:20px;font-weight:800;color:#1e2a56}
.hub-kpi-lbl{font-size:11px;color:#8a94b0;margin-top:2px}
@media(max-width:1200px){.hub-flow{grid-template-columns:repeat(3,1fr)}.hub-row{grid-template-columns:1fr}.hub-kpis{grid-template-columns:repeat(3,1fr)}}


/* ===== 发布中心卡片网格（一排15个，小尺寸） ===== */
.pub-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-top:10px}
@media(max-width:1500px){.pub-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:1100px){.pub-grid{grid-template-columns:repeat(6,1fr)}}
.pub-card{position:relative;border:1px solid #e5e7eb;border-radius:10px;padding:5px;background:#fff;display:flex;flex-direction:column;gap:4px}
.pub-card-check{position:absolute;top:4px;left:4px;z-index:2;background:rgba(255,255,255,.85);border-radius:4px;padding:1px 3px}
.pub-card .dm-card{border:none;padding:0;box-shadow:none}
.pub-card .dm-card-img{min-height:130px;display:flex;align-items:center;justify-content:center;background:#f7f8fa}
.pub-card .dm-card-img img{max-height:170px;width:100%;object-fit:cover;border-radius:6px}
.pub-card .dm-card-title{font-size:11px;line-height:1.3;height:2.6em;overflow:hidden}
.pub-card .dm-card-finance{grid-template-columns:repeat(2,1fr);gap:2px}
.pub-card .dm-card-finance .dm-fval{font-size:10px}
.pub-card .dm-card-status{flex-wrap:wrap;gap:2px}
.pub-card .dm-badge{font-size:9px;padding:1px 4px}
.pub-card .dm-sku{font-size:9px}
.pub-card-ops{display:flex;gap:3px;flex-wrap:wrap;margin-top:2px}
.pub-card-ops .btn{font-size:11px;padding:3px 6px}


/* 已售商品点击详情 */
.sold-clickable{cursor:pointer}
.sold-clickable:hover{border-color:#bfdbfe;box-shadow:0 3px 12px rgba(37,99,235,.15);transform:translateY(-1px)}
.sold-view{display:inline-block;font-size:11px;color:#2563eb;font-weight:600;margin-left:4px}
.sold-btns{display:flex;gap:4px;margin-top:6px;justify-content:flex-end;flex-wrap:wrap}
.sold-btns .btn{font-size:11px !important;padding:3px 8px !important;line-height:1.3}
.sold-detail-modal{width:min(760px,94vw);padding:20px}
.sd-head{border-bottom:1px solid #eef0f6;padding-bottom:12px;margin-bottom:14px}
.sd-title{font-size:19px;font-weight:700;color:#1e293b;line-height:1.4}
.sd-sub{font-size:12px;color:#94a3b8;margin-top:4px}
.sd-body{display:flex;gap:18px;align-items:flex-start}
.sd-img{width:240px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sd-info{flex:1;min-width:0}
.sd-table{width:100%;border-collapse:collapse}
.sd-table th{text-align:left;font-size:13px;color:#64748b;font-weight:600;padding:7px 8px;border-bottom:1px solid #f1f5f9;white-space:nowrap;width:92px}
.sd-table td{font-size:14px;color:#1e293b;padding:7px 8px;border-bottom:1px solid #f1f5f9;word-break:break-word}
.sd-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
@media (max-width:640px){.sd-body{flex-direction:column}.sd-img{width:100%}}


/* 订单统计-已售明细：商品链接 */
.od-prod-link{display:inline-flex;align-items:center;gap:6px;margin:2px 0;color:#2563eb;text-decoration:none;max-width:100%}
.od-prod-link:hover{text-decoration:underline}
.od-prod-thumb{width:72px;height:72px;min-width:72px;flex-shrink:0;object-fit:contain;border:1px solid #e2e8f0;border-radius:8px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:26px;color:#cbd5e1;box-shadow:0 1px 3px rgba(20,30,80,.08)}
.od-prod-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.od-prod-link em{font-style:normal;font-size:11px;color:#94a3b8;flex-shrink:0}
