/* ==========================================================================
   POD ERP · 样式（按 S2BDIY 控制台视觉规范复刻）
   品牌蓝 #276CF1 · 字体 AlibabaPuHuiTi 14px · 顶栏 66px · 卡片圆角 10px
   ========================================================================== */
:root{
  --brand:#276CF1;
  --brand-d:#1f5cd6;
  --brand-l:#eaf1ff;
  --text:#1f2329;
  --text-2:#5f6672;
  --text-3:#8a9099;
  --line:#e8ebf0;
  --bg:#f0f2f5;
  --radius:8px;
  --shadow:0 2px 10px rgba(31,35,41,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'AlibabaPuHuiTi','Alibaba PuHuiTi 3.0','PingFang SC','Microsoft YaHei',
              -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:14px;color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
a{cursor:pointer;text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#d5d9e0;border-radius:4px}

/* ---------------------------------------------------------------- 顶栏 */
.topbar{
  height:66px;display:flex;align-items:center;gap:8px;padding:0 30px;
  background:linear-gradient(90deg,#2a6cf3 0%,#3f7df9 55%,#4b86fb 100%);
  color:#fff;position:sticky;top:0;z-index:60;
}
.logo{display:flex;align-items:baseline;gap:8px;margin-right:36px;white-space:nowrap}
.logo-mark{font-size:22px;font-weight:800;letter-spacing:.5px}
.logo-text{font-size:13px;opacity:.9}
.shein-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}
.ss{background:#f7f9fc;border:1px solid #eef1f6;border-radius:8px;padding:12px 14px;font-size:13px}
.ss .ss-n{display:inline-flex;width:18px;height:18px;border-radius:50%;background:var(--brand);color:#fff;
  font-size:11px;align-items:center;justify-content:center;margin-right:6px}
.ss .dim{color:var(--text-3);font-size:12px;margin-top:6px;line-height:1.6}
.ss code{background:#eef2f8;border-radius:3px;padding:1px 5px}
@media (max-width:1400px){.shein-steps{grid-template-columns:1fr 1fr}}
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.42);display:flex;align-items:center;
  justify-content:center;z-index:200}
.modal{background:#fff;border-radius:12px;width:640px;max-width:92vw;max-height:88vh;overflow:auto;
  box-shadow:0 18px 50px rgba(0,0,0,.24)}
.modal-hd{padding:16px 22px;border-bottom:1px solid var(--line);font-size:15px;font-weight:500;
  display:flex;justify-content:space-between;align-items:center}
.modal-x{cursor:pointer;color:var(--text-3);font-size:14px;padding:2px 6px}
.modal-x:hover{color:var(--text)}
.modal-bd{padding:20px 22px}
.modal-tip{color:var(--text-2);font-size:13px;line-height:1.8;margin:0 0 16px}
.mode-pick{display:flex;gap:12px;margin-bottom:16px}
.mode-pick .btn{flex:1;flex-direction:column;gap:2px;padding:12px;height:auto;line-height:1.5}
.mode-pick .btn span{font-size:11px;opacity:.75;font-weight:400}
.auth-result{background:#f7f9fc;border:1px solid #eef1f6;border-radius:8px;padding:14px;margin-bottom:14px}
.auth-line{font-size:13px;margin-bottom:8px}
#authUrl{width:100%;height:64px;border:1px solid var(--line);border-radius:6px;padding:8px;
  font-size:11.5px;color:var(--text-2);resize:none;font-family:monospace;box-sizing:border-box}
.auth-btns{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.auth-btns .dim{font-size:11.5px;color:var(--text-3)}
.modal-sep{text-align:center;color:var(--text-3);font-size:12px;margin:16px 0 12px;position:relative}
.modal-sep:before,.modal-sep:after{content:"";position:absolute;top:50%;width:38%;height:1px;background:var(--line)}
.modal-sep:before{left:0}.modal-sep:after{right:0}
.manual-form{display:grid;grid-template-columns:1fr 150px;gap:8px;margin-bottom:8px}
.manual-form input,.manual-form select{height:34px;border:1px solid var(--line);border-radius:6px;padding:0 10px;font-size:13px;box-sizing:border-box}
.manual-form input:nth-of-type(1){grid-column:1/2}
.manual-form #mSave{grid-column:1/3}
.manual-msg{font-size:12.5px;padding:8px 10px;border-radius:6px;background:#f7f9fc;margin-bottom:12px}
.modal-note{margin-top:6px;background:#fff8e6;border:1px solid #ffe6a8;color:#8a6100;border-radius:6px;
  padding:10px 12px;font-size:12.5px;line-height:1.7}
.modal-note code{background:#fff;border-radius:3px;padding:1px 5px}
.plat-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:14px}
.pt{padding:0 2px 10px;font-size:14px;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent}
.pt:hover{color:var(--brand)}
.pt.on{color:var(--brand);font-weight:500;border-bottom-color:var(--brand)}
.plat-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.pbtn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #e3e6eb;
  border-radius:6px;font-size:13px;color:var(--text);cursor:pointer}
.pbtn:hover{border-color:var(--brand);color:var(--brand)}
.pbtn.on{border-color:var(--brand);background:var(--brand-l);color:var(--brand);font-weight:500}
.pbtn .pb-ico{width:22px;height:22px;border-radius:4px;background:#eef2f8;color:#5f6672;display:flex;
  align-items:center;justify-content:center;font-size:11px;font-weight:600}
.pbtn.on .pb-ico{background:var(--brand);color:#fff}
.pbtn i{font-style:normal;background:#f1f3f7;border-radius:8px;padding:0 7px;font-size:11px;color:var(--text-2)}
.pbtn.on i{background:#fff;color:var(--brand)}
.plat-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.plat-help{color:var(--brand);font-size:13px;margin-left:6px;cursor:pointer}
.plat-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.plat-tip{margin-top:12px;background:#fff8e6;border:1px solid #ffe6a8;color:#8a6100;border-radius:6px;
  padding:9px 14px;font-size:12.5px;line-height:1.6}
.plat-tip b{color:#8a6100}
.src-switch{display:flex;background:rgba(255,255,255,.16);border-radius:6px;overflow:hidden;margin-right:14px}
.src-btn{padding:5px 12px;font-size:13px;cursor:pointer;color:#fff;display:flex;gap:6px;align-items:center;white-space:nowrap}
.src-btn:hover{background:rgba(255,255,255,.14)}
.src-btn.on{background:#fff;color:var(--brand);font-weight:500}
.src-btn i{font-style:normal;font-size:11px;background:rgba(255,255,255,.22);border-radius:8px;padding:0 6px}
.src-btn.on i{background:var(--brand-l);color:var(--brand)}
.acct-switch{position:relative;margin-right:18px;background:rgba(255,255,255,.18);border-radius:6px;
  padding:5px 12px;font-size:13px;cursor:pointer;white-space:nowrap;display:flex;gap:6px;align-items:center}
.acct-switch:hover{background:rgba(255,255,255,.28)}
.acct-caret{font-size:10px;opacity:.8}
.acct-menu{display:none;position:absolute;left:0;top:38px;background:#fff;color:var(--text);border-radius:8px;
  box-shadow:0 8px 28px rgba(0,0,0,.16);min-width:250px;padding:6px 0;z-index:90}
.acct-menu.show{display:block}
.acct-item{padding:9px 14px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center}
.acct-item:hover{background:var(--brand-l)}
.acct-item.on{background:var(--brand-l)}
.acct-item b{font-weight:500;font-size:13px}
.acct-item span{color:var(--text-3);font-size:12px}
.acct-tip{padding:8px 14px;border-top:1px solid var(--line);color:var(--text-3);font-size:11px}
.acct-tip code{background:#f5f7fa;border-radius:3px;padding:1px 5px}
.nav{display:flex;align-items:center;gap:2px;flex:1}
.nav .item{position:relative}
.nav-sub{display:none;position:absolute;left:-8px;top:34px;background:#fff;border-radius:10px;
  box-shadow:0 12px 36px rgba(0,0,0,.16);padding:14px 18px;z-index:150;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 22px;min-width:200px}
.nav-sub.mid{min-width:340px;grid-template-columns:repeat(2,1fr)}
.nav-sub.wide{min-width:820px;grid-template-columns:repeat(5,1fr);max-width:92vw}
.nav .item:hover .nav-sub{display:grid}
.ns-group{min-width:0}
.ns-title{font-size:13px;font-weight:600;color:#333;padding:6px 8px 4px;white-space:nowrap}
.ns-link{display:block;font-size:12.5px;color:#666;padding:5px 8px;border-radius:5px;
  white-space:nowrap;cursor:pointer}
.ns-link:hover{background:var(--brand-l);color:var(--brand)}
.nav .item{
  height:34px;line-height:34px;padding:0 16px;border-radius:6px;
  color:#fff;font-size:14px;position:relative;white-space:nowrap;
}
.nav .item:hover{background:rgba(255,255,255,.16)}
.nav .item.active{background:#fff;color:var(--brand);font-weight:500}
.nav .item .new{
  position:absolute;top:-6px;right:2px;background:#ff4d3a;color:#fff;font-size:10px;
  padding:1px 5px;border-radius:8px;transform:scale(.9);
}
.topbar-right{display:flex;align-items:center;gap:14px;white-space:nowrap}
.jit-btn{
  background:#ffd75e;color:#6a4b00;font-size:13px;font-weight:600;
  padding:6px 14px;border-radius:16px;cursor:pointer;
}
.guide-btn{font-size:13px;opacity:.95;cursor:pointer}
.msg-btn{font-size:13px;position:relative;cursor:pointer}
.msg-btn .dot{
  position:absolute;top:-4px;right:-12px;background:#ff4d3a;color:#fff;font-size:10px;
  border-radius:8px;padding:0 5px;font-style:normal;
}
.avatar-wrap{position:relative}
.avatar{
  width:30px;height:30px;border-radius:50%;background:#fff;color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-weight:600;cursor:pointer;
}
.avatar-menu{
  display:none;position:absolute;right:0;top:40px;background:#fff;color:var(--text);
  border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.14);min-width:170px;padding:6px 0;z-index:80;
}
.avatar-menu.show{display:block}
.avatar-menu a{display:block;padding:9px 16px;font-size:13px}
.avatar-menu a:hover{background:var(--brand-l);color:var(--brand)}

/* ---------------------------------------------------------------- 通告条 */
.notice{
  height:38px;display:flex;align-items:center;gap:10px;padding:0 30px;
  background:#fff;border-bottom:1px solid var(--line);font-size:13px;color:var(--text-2);
}
.notice-tag{background:#fff4e6;color:#d97706;border-radius:4px;padding:1px 6px;font-size:12px}
.notice-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-more{color:var(--brand);font-size:13px}
.notice-right{color:var(--text-3);font-size:12px}

/* ---------------------------------------------------------------- 布局 */
.content{padding:18px 30px 60px}
.page-title{font-size:16px;font-weight:600;margin:4px 0 14px;display:flex;align-items:center;gap:10px}
.page-title .sub{font-size:12px;color:var(--text-3);font-weight:400}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}
.card-hd{
  height:48px;display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;border-bottom:1px solid var(--line);font-weight:600;
}
.card-hd .hd-right{font-weight:400;font-size:13px;color:var(--text-2);display:flex;gap:12px;align-items:center}
.card-bd{padding:18px 20px}
.empty{padding:46px 0;text-align:center;color:var(--text-3);font-size:13px}

/* ---------------------------------------------------------------- KPI 卡片 */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.kpi{border-radius:10px;padding:18px 22px;color:#fff;position:relative;overflow:hidden}
.kpi .k-title{font-size:14px;opacity:.95;margin-bottom:10px}
.kpi .k-num{font-size:24px;font-weight:500;letter-spacing:.3px}
.kpi .k-sub{font-size:12px;opacity:.9;margin-top:8px;display:flex;gap:16px}
.kpi.bg1{background:linear-gradient(135deg,#5b93ff 0%,#2d6bf0 100%)}
.kpi.bg2{background:linear-gradient(135deg,#ff8a80 0%,#f4511e 100%)}
.kpi.bg3{background:linear-gradient(135deg,#ffcb5b 0%,#ff9f1a 100%)}
.kpi.bg4{background:linear-gradient(135deg,#4fd8a8 0%,#0ca678 100%)}

/* ---------------------------------------------------------------- 两栏 */
.cols{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}
.todo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.todo-item{
  background:#f7f9fc;border-radius:8px;padding:14px;text-align:center;cursor:pointer;
  border:1px solid #eef1f6;transition:.15s;
}
.todo-item:hover{border-color:var(--brand);background:var(--brand-l)}
.todo-item .n{font-size:20px;font-weight:600;color:var(--brand)}
.todo-item .n.zero{color:var(--text-3)}
.todo-item .t{font-size:12px;color:var(--text-2);margin-top:6px}

/* ---------------------------------------------------------------- 表格 */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{
  background:#f7f8fa;color:var(--text-2);font-weight:500;text-align:left;
  padding:11px 14px;white-space:nowrap;border-bottom:1px solid var(--line);
}
tbody td{padding:12px 14px;border-bottom:1px solid #f2f4f7;vertical-align:middle}
tbody tr:hover{background:#f7faff}
tbody tr{cursor:pointer}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text)}
.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;background:#eef2f7;color:var(--text-2)}
.tag.blue{background:#e8f0ff;color:#276cf1}
.tag.green{background:#e6f7ef;color:#0ca678}
.tag.orange{background:#fff4e6;color:#d97706}
.tag.red{background:#ffeceb;color:#e5484d}
.tag.grey{background:#f1f2f4;color:#8a9099}
.thumb{width:38px;height:38px;border-radius:6px;object-fit:cover;background:#f2f4f7;display:inline-block}

/* ---------------------------------------------------------------- 表单控件 */
.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.filter-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2)}
input[type=text],input[type=date],select{
  height:32px;border:1px solid #d9dde3;border-radius:6px;padding:0 10px;font-size:13px;
  color:var(--text);background:#fff;outline:none;font-family:inherit;
}
input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(39,108,241,.12)}
select{min-width:110px}
.btn{
  height:32px;padding:0 16px;border-radius:6px;font-size:13px;display:inline-flex;
  align-items:center;justify-content:center;gap:6px;
}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-d)}
.btn.ghost{background:#fff;border:1px solid #d9dde3;color:var(--text-2)}
.btn.ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn.sm{height:28px;padding:0 12px;font-size:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------------------------------------------------------------- 分页 */
.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;font-size:13px;color:var(--text-2)}
.pager .pg{
  min-width:30px;height:30px;border-radius:6px;border:1px solid #e3e6eb;background:#fff;
  display:inline-flex;align-items:center;justify-content:center;padding:0 8px;color:var(--text-2);
}
.pager .pg.active{background:var(--brand);border-color:var(--brand);color:#fff}
.pager .pg[disabled]{opacity:.45;cursor:not-allowed}

/* ---------------------------------------------------------------- 抽屉 */
.mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:90}
.mask.show{display:block}
.drawer{
  position:fixed;top:0;right:-720px;width:720px;max-width:94vw;height:100%;background:#fff;
  z-index:100;transition:right .22s ease;display:flex;flex-direction:column;box-shadow:-6px 0 24px rgba(0,0,0,.12);
}
.drawer.show{right:0}
.drawer-hd{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);font-weight:600}
.drawer-bd{padding:18px 22px;overflow-y:auto;flex:1}
.drawer .close{font-size:20px;color:var(--text-3);cursor:pointer;line-height:1}
.kv{display:grid;grid-template-columns:110px 1fr;gap:10px 14px;font-size:13px;margin-bottom:18px}
.kv .k{color:var(--text-3)}
.section-title{font-weight:600;margin:6px 0 12px;padding-left:9px;border-left:3px solid var(--brand);font-size:14px}

/* ---------------------------------------------------------------- 浮动按钮 */
.floaters{position:fixed;right:0;bottom:40px;display:flex;flex-direction:column;gap:8px;z-index:70}
.floater{
  width:64px;padding:8px 0;background:var(--brand);color:#fff;font-size:11px;text-align:center;
  border-radius:8px 0 0 8px;cursor:pointer;line-height:1.5;
}
.floater span{display:block;font-size:15px}
.floater:hover{background:var(--brand-d)}

/* ---------------------------------------------------------------- 提示 */
.toast{
  position:fixed;left:50%;top:80px;transform:translate(-50%,-16px);background:rgba(31,35,41,.9);
  color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;
  transition:.2s;z-index:200;max-width:70vw;
}
.toast.show{opacity:1;transform:translate(-50%,0)}
.bar-chart{display:flex;align-items:flex-end;gap:8px;height:150px;padding:8px 4px 0}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bar{width:100%;max-width:34px;background:linear-gradient(180deg,#5b93ff,#276cf1);border-radius:4px 4px 0 0;min-height:2px;transition:.3s}
.bar-lb{font-size:11px;color:var(--text-3);white-space:nowrap}
.stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #eef1f6;font-size:13px}
.stat-row:last-child{border-bottom:none}
.loading{padding:40px;text-align:center;color:var(--text-3)}
.alert-banner{background:#fff7e6;border:1px solid #ffe0a3;color:#8a6100;border-radius:8px;
  padding:11px 16px;font-size:13px;margin-bottom:14px;line-height:1.6}
.alert-banner.info{background:#eef4ff;border-color:#cddcff;color:#1d4ed8}
.alert-banner.info b{color:#1d4ed8}
.alert-banner code{background:#fff;border:1px solid #ffe0a3;border-radius:4px;padding:1px 6px;font-size:12px}

/* ---------------------------------------------------------------- 订单页（S2BDIY 卡片版式） */
.order-layout{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start}
.side-nav{background:#fff;border-radius:8px;padding:6px 0;box-shadow:var(--shadow);position:sticky;top:118px}
.side-nav .it{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;font-size:13px;cursor:pointer;color:var(--text-2)}
.side-nav .it:hover{background:#f7faff;color:var(--brand)}
.side-nav .it.active{background:var(--brand-l);color:var(--brand);font-weight:500;border-right:3px solid var(--brand)}
.side-nav .it b{font-weight:500}
.side-nav .grp{padding:12px 16px 6px;font-size:12px;color:var(--text-3)}
.toolbar{background:#fff;border-radius:8px;padding:12px 16px;margin-bottom:12px;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tool-btn{height:30px;padding:0 12px;border-radius:6px;background:#eef3fd;color:#3f6ad8;font-size:13px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.tool-btn:hover{background:#e2ebfd}
.tool-sep{width:1px;height:20px;background:var(--line)}
.ocard{background:#fff;border:1px solid #eef1f6;border-radius:8px;margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden}
.ocard-hd{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#fafbfd;border-bottom:1px solid #f0f2f5;font-size:13px;color:var(--text-2);flex-wrap:wrap}
.ocard-hd .no{font-family:ui-monospace,Menlo,monospace;color:var(--text)}
.ocard-hd .right{margin-left:auto;display:flex;gap:16px;align-items:center;white-space:nowrap}
.ocard-bd{display:grid;grid-template-columns:1.6fr 1fr 1.1fr 1fr 132px}
.ocard-bd>div{padding:14px 16px;border-right:1px solid #f4f6f9;font-size:13px;min-width:0}
.ocard-bd>div:last-child{border-right:none}
.pinfo{display:flex;gap:12px}
.pinfo img{width:74px;height:74px;border-radius:6px;object-fit:cover;background:#f2f4f7;flex:0 0 auto}
.pinfo .nm{font-weight:500;margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fld{display:flex;gap:6px;margin-bottom:5px;color:var(--text-2);min-width:0}
.fld .k{color:var(--text-3);min-width:56px;flex:0 0 auto}
.fld .v{color:var(--text);word-break:break-all}
.fld .v.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.money-line{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}
.money-line .k{color:var(--text-3)}
.money-line.total{font-weight:600;border-top:1px dashed #eef1f6;padding-top:6px;margin-top:6px}
.track-input{width:100%;height:28px;border:1px solid #d9dde3;border-radius:6px;padding:0 8px;font-size:12px;font-family:ui-monospace,Menlo,monospace}
.act-list{display:flex;flex-direction:column;gap:7px}
.act-list a{color:var(--brand);font-size:13px}
.act-list a:hover{text-decoration:underline}


/* ---------------------------------------------------------------- 素材库（S2BDIY 版式） */
.mat-layout{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:start}
.pick-col{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:8px 0;position:sticky;top:118px;max-height:calc(100vh - 150px);overflow-y:auto}
.pick-col .hd{display:flex;align-items:center;gap:6px;padding:6px 14px 10px;font-weight:600;font-size:13px;color:var(--brand)}
.pick-card{padding:10px 14px;border-top:1px solid #f4f6f9;cursor:pointer}
.pick-card:hover{background:#f7faff}
.pick-card img{width:100%;height:104px;object-fit:contain;background:#fafbfd;border-radius:6px}
.pick-card .nm{font-size:12px;color:var(--text-2);margin:8px 0 4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pick-card .pr{color:#e5484d;font-weight:600;font-size:13px}
.pick-card .st{color:#f5a623;font-size:11px}
.chips{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;color:var(--text-2);flex-wrap:wrap}
.chip{padding:4px 12px;border-radius:14px;background:#fff;border:1px solid #e3e6eb;cursor:pointer;font-size:13px}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}
.switch{width:38px;height:20px;border-radius:10px;background:#d5d9e0;position:relative;cursor:pointer;transition:.2s}
.switch.on{background:var(--brand)}
.switch i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.switch.on i{left:20px}
.op-links a{color:var(--brand);margin-right:10px;font-size:13px;white-space:nowrap}
.op-links a.danger{color:#e5484d}


/* ---------------------------------------------------------------- 控制台整体框架（S2BDIY 布局） */
/* ---------------------------------------------------------------- 我的订单（S2BDIY 版式） */
.data-layout{display:grid;grid-template-columns:158px minmax(0,1fr);gap:14px;align-items:start}
.data-side{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:10px 0;position:sticky;top:118px}
.ds-head{padding:6px 14px 10px;font-size:13px;font-weight:500;border-bottom:1px solid var(--line)}
.pick-list{padding:8px 10px}
.pick-item{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px dashed #f0f2f5}
.pick-item img,.pick-ph{width:38px;height:38px;border-radius:5px;object-fit:cover;background:#f2f4f5;flex:0 0 38px}
.pick-name{flex:1;font-size:12px;color:var(--text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-price{font-size:12px;color:#e5484d;font-weight:500}
.data-main{min-width:0;overflow-x:auto}
.dtable{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1080px}
.dtable th{background:#f7f9fc;color:var(--text-3);font-weight:500;text-align:left;padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--line)}
.dtable td{padding:10px 12px;border-bottom:1px solid #f4f6f9;white-space:nowrap}
.dtable tbody tr:hover{background:#fafcff}
.dtable .dtotal td{background:#f7f9fc;font-weight:500;border-top:2px solid var(--line)}
.dlink{color:var(--brand);cursor:pointer}
.chip.quick{border:1px solid var(--line)}
@media (max-width:1500px){.data-layout{grid-template-columns:140px minmax(0,1fr)}}
.orders-layout{display:grid;grid-template-columns:172px 1fr;gap:14px;align-items:start}
.order-side{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:6px 0;position:sticky;top:118px}
.os-group{padding:10px 14px 4px;font-size:12px;color:var(--text-3)}
.os-item{padding:6px 14px 6px 18px;font-size:12.5px;color:var(--text-2);cursor:pointer;display:flex;justify-content:space-between}
.os-item:hover{background:#f7faff;color:var(--brand)}
.os-item.on{background:var(--brand-l);color:var(--brand);font-weight:500}
.os-item i{font-style:normal;color:var(--text-3);font-size:11.5px}
.os-item.on i{color:var(--brand)}
.os-item.zero{color:#b9c0cb;cursor:default}
.os-item.zero:hover{background:none;color:#b9c0cb}
.os-item.zero i{color:#cfd5de}
.os-see{padding:5px 18px;font-size:12.5px;color:var(--brand);cursor:pointer}
.os-help{display:block;margin:10px 12px 12px;text-align:center;background:var(--brand-l);color:var(--brand);
  border-radius:6px;padding:9px 0;font-size:13px;cursor:pointer}
.os-help:hover{background:#e2ebff}
.os-foot{padding:10px 14px;border-top:1px solid var(--line);margin-top:6px;font-size:11px;color:var(--text-3)}
.orders-main{min-width:0;overflow-x:auto}
.otable{min-width:0}
.fg-card{padding:0;margin-bottom:10px}
.fg-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.fg-title{font-size:14px;font-weight:500}
.fg-right{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--text-3)}
.fg-row{display:flex;padding:7px 16px;border-bottom:1px dashed #f0f2f5;align-items:flex-start}
.fg-label{width:88px;flex:0 0 88px;color:var(--text-3);font-size:12.5px;padding-top:4px}
.fg-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.chip{font-size:12.5px;color:var(--text-2);cursor:pointer;padding:3px 8px;border-radius:4px;white-space:nowrap}
.chip:hover{color:var(--brand);background:var(--brand-l)}
.chip.on{background:var(--brand);color:#fff}
.chip.on i{color:#fff}
.chip i{font-style:normal;font-size:11px;color:var(--text-3);margin-left:3px}
.chip.more{color:var(--brand)}
.src-chip{border:1px solid var(--line);font-weight:500}
.src-chip.on{border-color:var(--brand)}
.fg-input{height:28px;border:1px solid var(--line);border-radius:4px;padding:0 8px;font-size:12.5px}
.fg-hint{color:var(--text-3);font-size:12px;padding-top:5px}
.fg-btns{padding:10px 16px;display:flex;gap:8px}
.ot-bar{display:flex;gap:16px;align-items:center;background:#fff;border-radius:8px;box-shadow:var(--shadow);
  padding:9px 16px;margin-bottom:10px;font-size:13px;color:var(--text-2);flex-wrap:wrap}
.ot{cursor:pointer;white-space:nowrap}
.ot-dd{position:relative;cursor:pointer;white-space:nowrap}
.ot-dd-h:hover{color:var(--brand)}
.ot-dd-h i{font-style:normal;font-size:10px;color:var(--text-3)}
.ot-menu{display:none;position:absolute;left:0;top:26px;background:#fff;border-radius:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px 0;min-width:150px;z-index:120}
.ot-menu.show{display:block}
.ot-mi{display:block;padding:7px 16px;font-size:12.5px;color:var(--text-2);white-space:nowrap}
.ot-mi:hover{background:var(--brand-l);color:var(--brand)}
.ot:hover{color:var(--brand)}
.ot-right{margin-left:auto;display:flex;gap:6px;align-items:center;color:var(--text-3);font-size:12.5px}
.mini{height:28px;border:1px solid var(--line);border-radius:4px;padding:0 6px;font-size:12.5px;color:var(--text-2)}
.otable{padding:0;overflow:hidden}
/* 订单块：头行 + 六列主体 */
.oblock{border-bottom:8px solid #f4f6f9}
.oblock:last-child{border-bottom:none}
.oblock:hover{background:#fafcff}
.ohead{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#fbfcfe;
  border-bottom:1px solid #f0f2f5;font-size:12.5px;color:var(--text-2);flex-wrap:wrap}
.ohead input{flex:0 0 auto}
.o-no{font-weight:500;color:var(--text)}
.o-acct{color:var(--text-3)}
.o-flag{margin-left:auto;color:#e5484d;font-size:12px}
.obody{display:grid;grid-template-columns:2.35fr 1.05fr .95fr 1.15fr 1.05fr .72fr;
  font-size:12.5px;align-items:start}
.othead{display:grid;grid-template-columns:38px 2.35fr 1.05fr .95fr 1.15fr 1.05fr .72fr;
  background:#276CF1;border-bottom:1px solid var(--line);font-size:12.5px;color:#fff;font-weight:500}
.othead .ocell{padding:10px 12px}
.ocell{padding:12px 12px;min-width:0;overflow:hidden}
.ocell.chk{padding:12px 6px;text-align:center}
.ocell.prod{display:flex;gap:10px}
.o-img{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#f2f4f5;flex:0 0 56px}
.o-img.ph{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:11px}
.o-prodinfo{min-width:0;flex:1}
.o-line span{color:var(--text-3)}
.o-line b{font-weight:500}
.o-btns{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.mini-btn{height:24px;padding:0 8px;font-size:11.5px;border:1px solid var(--line);background:#fff;
  border-radius:4px;color:var(--brand);cursor:pointer}
.mini-btn:hover{border-color:var(--brand)}
.ocell.ops a{display:block;color:var(--brand);cursor:pointer;line-height:1.95;font-size:12.5px}
.o-line{line-height:1.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-line.dim{color:var(--text-3);font-size:12px}
.tag-mini{background:#eef2f8;color:var(--text-2);border-radius:3px;padding:0 5px;font-size:11px;margin-left:6px}
.ocell.ops a{display:block;color:var(--brand);cursor:pointer;line-height:1.9;font-size:12.5px}
.mono{font-family:ui-monospace,Menlo,monospace}
.btn.sm{height:28px;padding:0 12px;font-size:12.5px}
/* 窄屏：侧栏保持固定宽度，只缩窄，不塌成整行 */
@media (max-width:1500px){
  .orders-layout{grid-template-columns:156px minmax(0,1fr)}
  .obody{grid-template-columns:2fr .95fr .85fr 1.05fr .95fr .68fr}
  .othead{grid-template-columns:34px 2fr .95fr .85fr 1.05fr .95fr .68fr}
}
@media (max-width:1200px){
  .orders-layout{grid-template-columns:138px minmax(0,1fr)}
  .order-side{position:static}
  .orders-main{overflow-x:auto}
  .obody,.othead{min-width:920px}
}
.console-layout{display:grid;grid-template-columns:186px 1fr;gap:14px;align-items:start}
.console-layout.single{grid-template-columns:1fr}
.console-side{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:8px 0;position:sticky;top:118px}
.cs-group{padding:10px 14px 6px;font-size:12px;color:var(--text-3);font-weight:500}
.cs-item{padding:8px 14px;font-size:13px;color:var(--text-2);cursor:pointer}
.cs-item:hover{background:#f7faff;color:var(--brand)}
.cs-item.on{background:var(--brand-l);color:var(--brand);font-weight:500;border-right:3px solid var(--brand)}
.cs-foot{padding:10px 14px;border-top:1px solid var(--line);margin-top:6px;font-size:11px;color:var(--text-3);line-height:1.7}
.console-main{min-width:0}

@media (max-width:1400px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .order-layout{grid-template-columns:1fr}
  .mat-layout{grid-template-columns:1fr}
  /* ---------------------------------------------------------------- 我的订单（S2BDIY 版式） */
.data-layout{display:grid;grid-template-columns:158px minmax(0,1fr);gap:14px;align-items:start}
.data-side{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:10px 0;position:sticky;top:118px}
.ds-head{padding:6px 14px 10px;font-size:13px;font-weight:500;border-bottom:1px solid var(--line)}
.pick-list{padding:8px 10px}
.pick-item{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px dashed #f0f2f5}
.pick-item img,.pick-ph{width:38px;height:38px;border-radius:5px;object-fit:cover;background:#f2f4f5;flex:0 0 38px}
.pick-name{flex:1;font-size:12px;color:var(--text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-price{font-size:12px;color:#e5484d;font-weight:500}
.data-main{min-width:0;overflow-x:auto}
.dtable{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1080px}
.dtable th{background:#f7f9fc;color:var(--text-3);font-weight:500;text-align:left;padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--line)}
.dtable td{padding:10px 12px;border-bottom:1px solid #f4f6f9;white-space:nowrap}
.dtable tbody tr:hover{background:#fafcff}
.dtable .dtotal td{background:#f7f9fc;font-weight:500;border-top:2px solid var(--line)}
.dlink{color:var(--brand);cursor:pointer}
.chip.quick{border:1px solid var(--line)}
@media (max-width:1500px){.data-layout{grid-template-columns:140px minmax(0,1fr)}}
.orders-layout{display:grid;grid-template-columns:172px 1fr;gap:14px;align-items:start}
.order-side{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:6px 0;position:sticky;top:118px}
.os-group{padding:10px 14px 4px;font-size:12px;color:var(--text-3)}
.os-item{padding:6px 14px 6px 18px;font-size:12.5px;color:var(--text-2);cursor:pointer;display:flex;justify-content:space-between}
.os-item:hover{background:#f7faff;color:var(--brand)}
.os-item.on{background:var(--brand-l);color:var(--brand);font-weight:500}
.os-item i{font-style:normal;color:var(--text-3);font-size:11.5px}
.os-item.on i{color:var(--brand)}
.os-item.zero{color:#b9c0cb;cursor:default}
.os-item.zero:hover{background:none;color:#b9c0cb}
.os-item.zero i{color:#cfd5de}
.os-see{padding:5px 18px;font-size:12.5px;color:var(--brand);cursor:pointer}
.os-help{display:block;margin:10px 12px 12px;text-align:center;background:var(--brand-l);color:var(--brand);
  border-radius:6px;padding:9px 0;font-size:13px;cursor:pointer}
.os-help:hover{background:#e2ebff}
.os-foot{padding:10px 14px;border-top:1px solid var(--line);margin-top:6px;font-size:11px;color:var(--text-3)}
.orders-main{min-width:0;overflow-x:auto}
.otable{min-width:0}
.fg-card{padding:0;margin-bottom:10px}
.fg-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.fg-title{font-size:14px;font-weight:500}
.fg-right{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--text-3)}
.fg-row{display:flex;padding:7px 16px;border-bottom:1px dashed #f0f2f5;align-items:flex-start}
.fg-label{width:88px;flex:0 0 88px;color:var(--text-3);font-size:12.5px;padding-top:4px}
.fg-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.chip{font-size:12.5px;color:var(--text-2);cursor:pointer;padding:3px 8px;border-radius:4px;white-space:nowrap}
.chip:hover{color:var(--brand);background:var(--brand-l)}
.chip.on{background:var(--brand);color:#fff}
.chip.on i{color:#fff}
.chip i{font-style:normal;font-size:11px;color:var(--text-3);margin-left:3px}
.chip.more{color:var(--brand)}
.src-chip{border:1px solid var(--line);font-weight:500}
.src-chip.on{border-color:var(--brand)}
.fg-input{height:28px;border:1px solid var(--line);border-radius:4px;padding:0 8px;font-size:12.5px}
.fg-hint{color:var(--text-3);font-size:12px;padding-top:5px}
.fg-btns{padding:10px 16px;display:flex;gap:8px}
.ot-bar{display:flex;gap:16px;align-items:center;background:#fff;border-radius:8px;box-shadow:var(--shadow);
  padding:9px 16px;margin-bottom:10px;font-size:13px;color:var(--text-2);flex-wrap:wrap}
.ot{cursor:pointer;white-space:nowrap}
.ot-dd{position:relative;cursor:pointer;white-space:nowrap}
.ot-dd-h:hover{color:var(--brand)}
.ot-dd-h i{font-style:normal;font-size:10px;color:var(--text-3)}
.ot-menu{display:none;position:absolute;left:0;top:26px;background:#fff;border-radius:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px 0;min-width:150px;z-index:120}
.ot-menu.show{display:block}
.ot-mi{display:block;padding:7px 16px;font-size:12.5px;color:var(--text-2);white-space:nowrap}
.ot-mi:hover{background:var(--brand-l);color:var(--brand)}
.ot:hover{color:var(--brand)}
.ot-right{margin-left:auto;display:flex;gap:6px;align-items:center;color:var(--text-3);font-size:12.5px}
.mini{height:28px;border:1px solid var(--line);border-radius:4px;padding:0 6px;font-size:12.5px;color:var(--text-2)}
.otable{padding:0;overflow:hidden}
/* 订单块：头行 + 六列主体 */
.oblock{border-bottom:8px solid #f4f6f9}
.oblock:last-child{border-bottom:none}
.oblock:hover{background:#fafcff}
.ohead{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#fbfcfe;
  border-bottom:1px solid #f0f2f5;font-size:12.5px;color:var(--text-2);flex-wrap:wrap}
.ohead input{flex:0 0 auto}
.o-no{font-weight:500;color:var(--text)}
.o-acct{color:var(--text-3)}
.o-flag{margin-left:auto;color:#e5484d;font-size:12px}
.obody{display:grid;grid-template-columns:2.35fr 1.05fr .95fr 1.15fr 1.05fr .72fr;
  font-size:12.5px;align-items:start}
.othead{display:grid;grid-template-columns:38px 2.35fr 1.05fr .95fr 1.15fr 1.05fr .72fr;
  background:#276CF1;border-bottom:1px solid var(--line);font-size:12.5px;color:#fff;font-weight:500}
.othead .ocell{padding:10px 12px}
.ocell{padding:12px 12px;min-width:0;overflow:hidden}
.ocell.chk{padding:12px 6px;text-align:center}
.ocell.prod{display:flex;gap:10px}
.o-img{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#f2f4f5;flex:0 0 56px}
.o-img.ph{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:11px}
.o-prodinfo{min-width:0;flex:1}
.o-line span{color:var(--text-3)}
.o-line b{font-weight:500}
.o-btns{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.mini-btn{height:24px;padding:0 8px;font-size:11.5px;border:1px solid var(--line);background:#fff;
  border-radius:4px;color:var(--brand);cursor:pointer}
.mini-btn:hover{border-color:var(--brand)}
.ocell.ops a{display:block;color:var(--brand);cursor:pointer;line-height:1.95;font-size:12.5px}
.o-line{line-height:1.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-line.dim{color:var(--text-3);font-size:12px}
.tag-mini{background:#eef2f8;color:var(--text-2);border-radius:3px;padding:0 5px;font-size:11px;margin-left:6px}
.ocell.ops a{display:block;color:var(--brand);cursor:pointer;line-height:1.9;font-size:12.5px}
.mono{font-family:ui-monospace,Menlo,monospace}
.btn.sm{height:28px;padding:0 12px;font-size:12.5px}
/* 窄屏：侧栏保持固定宽度，只缩窄，不塌成整行 */
@media (max-width:1500px){
  .orders-layout{grid-template-columns:156px minmax(0,1fr)}
  .obody{grid-template-columns:2fr .95fr .85fr 1.05fr .95fr .68fr}
  .othead{grid-template-columns:34px 2fr .95fr .85fr 1.05fr .95fr .68fr}
}
@media (max-width:1200px){
  .orders-layout{grid-template-columns:138px minmax(0,1fr)}
  .order-side{position:static}
  .orders-main{overflow-x:auto}
  .obody,.othead{min-width:920px}
}
.console-layout{grid-template-columns:1fr}
  .console-side{position:static}
  .ocard-bd{grid-template-columns:1fr 1fr}
  .cols{grid-template-columns:1fr}
  .todo-grid{grid-template-columns:repeat(4,1fr)}
}
