*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#f4f6fa;color:#1f2937;font-size:14px}
.top{height:52px;background:#1e2a45;color:#fff;display:flex;align-items:center;padding:0 18px;gap:14px;position:sticky;top:0;z-index:50}
.top .t{font-size:15px;font-weight:700}
.top .env{font-size:11.5px;color:#8fa3c8;background:rgba(255,255,255,.08);padding:3px 9px;border-radius:10px}
.top .tab{margin-left:auto;display:flex;gap:6px}
.top .tab button{background:rgba(255,255,255,.1);border:none;color:#c3cbdc;padding:6px 16px;border-radius:16px;font-size:13px;cursor:pointer}
.top .tab button.on{background:#2f6bff;color:#fff;font-weight:600}
.top .who{font-size:12.5px;color:#8fa3c8}
.wrap{max-width:820px;margin:0 auto;padding:16px 14px 60px}
.card{background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(31,41,55,.06);padding:16px;margin-bottom:12px}
.card h3{font-size:14.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.card h3 .more{margin-left:auto;font-size:12.5px;color:#2f6bff;cursor:pointer;font-weight:400}
label{font-size:12.5px;color:#5b6478;display:block;margin-bottom:5px}
input,select{height:36px;border:1px solid #e3e8f0;border-radius:8px;padding:0 11px;font-size:13.5px;outline:none;width:100%;background:#fff;color:#1f2937}
input:focus,select:focus{border-color:#b9d0ff}
/* ★2026-09-19：上面那条 `input{height:36px;width:100%}` 会把**勾选框**也撑成一个大方块
   （用户反馈"抢单员打勾的框做的太大了"）→ 勾选框/单选框单独一条规则：小、不撑满、不撑高 */
input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;padding:0;margin:0 5px 0 0;
  vertical-align:middle;flex:0 0 auto;accent-color:#1677ff;cursor:pointer}
.row{display:flex;gap:10px;align-items:flex-end;margin-bottom:10px}
.row>div{flex:1}
button.btn{height:36px;border-radius:8px;border:none;padding:0 16px;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.btn-pri{background:linear-gradient(135deg,#2f6bff,#5b8cff);color:#fff}
.btn-gh{background:#fff;border:1px solid #e3e8f0!important;color:#4b5563;font-weight:500}
.btn-sm{height:28px;padding:0 11px;font-size:12.5px;border-radius:6px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.kpi{background:#fff;border-radius:10px;padding:13px;box-shadow:0 1px 4px rgba(31,41,55,.05)}
.kpi .k{font-size:11.5px;color:#8b93a7}
.kpi .v{font-size:21px;font-weight:700;margin-top:5px}
.kpi .v small{font-size:12px;font-weight:400;color:#8b93a7}
.task{border:1px solid #eef0f5;border-radius:10px;padding:12px;margin-bottom:10px}
.task .tt{font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:6px}
.task .meta{font-size:12.5px;color:#8b93a7;margin-top:5px;line-height:1.7}
.task .bt{display:flex;align-items:center;justify-content:space-between;margin-top:9px}
.price{color:#f5222d;font-size:18px;font-weight:700}
/* ★2026-09-17：加 white-space:nowrap —— 窄屏/手机上「未认证」会被挤成一根竖排字（一列一个字），
   难看且把行撑得很高。标签本身不该换行。 */
.tagd{display:inline-block;font-size:11.5px;border-radius:4px;padding:1px 7px;line-height:18px;white-space:nowrap}
.t-pend{background:#fff7e6;color:#d46b08;border:1px solid #ffd591}
.t-ing{background:#e6f4ff;color:#0958d9;border:1px solid #91caff}
.t-wait{background:#f9f0ff;color:#722ed1;border:1px solid #d3adf7}
.t-done{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}
.t-bad{background:#fff1f0;color:#cf1322;border:1px solid #ffa39e}
.t-gray{background:#f1f3f9;color:#5b6478;border:1px solid #e3e8f0}
.tbl{width:100%;border-collapse:collapse}
.tbl th{background:#f7f8fc;font-size:12.5px;color:#5b6478;text-align:left;padding:9px 10px;font-weight:600;white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid #f2f4f8;font-size:13px}
.tbl tr:last-child td{border-bottom:none}
.money{color:#f5222d;font-weight:600}
.gray{color:#8b93a7;font-size:12.5px}
.link{color:#2f6bff;cursor:pointer;font-size:12.5px}
.link:hover{text-decoration:underline}
.link.dg{color:#f5222d}
.note{background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;padding:10px 13px;font-size:12.5px;color:#874d00;line-height:1.75;margin-bottom:12px}
.mask{position:fixed;inset:0;background:rgba(17,24,39,.45);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.mask.show{display:flex}
.modal{background:#fff;border-radius:12px;width:100%;max-width:440px;max-height:88vh;overflow:auto}
.modal h3{font-size:15.5px;padding:16px 18px 4px}
.modal .msub{font-size:12px;color:#8b93a7;padding:0 18px 10px}
.modal .mbody{padding:2px 18px 16px}
.modal .mfoot{display:flex;gap:10px;padding:0 18px 18px}
.modal .mfoot button{flex:1;height:38px;border-radius:8px;border:none;font-size:13.5px;font-weight:600;cursor:pointer}
.fld{margin-bottom:11px}
.calc{background:#f7faff;border:1px solid #d6e4ff;border-radius:8px;padding:10px 12px;font-size:12.5px;color:#0958d9;line-height:1.8;margin-bottom:10px}
.toast{position:fixed;left:50%;top:66px;transform:translateX(-50%) translateY(-14px);background:#1f2937;color:#fff;padding:10px 20px;border-radius:8px;font-size:13.5px;opacity:0;transition:.25s;z-index:200;pointer-events:none;max-width:82vw;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.empty{text-align:center;color:#9aa2b5;padding:36px 0;font-size:13px}
/* 订单倒计时 */
.cd{display:inline-block;margin-top:4px;font-size:12px;color:#fa8c16;background:#fff7e6;border-radius:10px;padding:1px 8px}
.cd.warn{color:#f5222d;background:#fff1f0}
.cd.over{color:#8b93a7;background:#f1f3f9}
/* 顶部铃铛 */
.bellbtn{position:relative;background:rgba(255,255,255,.1);border:none;color:#fff;padding:6px 11px;border-radius:16px;font-size:14px;cursor:pointer;white-space:nowrap}
.bellbtn .dot{position:absolute;top:-3px;right:-3px;background:#f5222d;color:#fff;font-size:10px;border-radius:8px;padding:0 5px;line-height:15px;font-weight:600}
.notice{border-bottom:1px solid #f2f4f8;padding:11px 2px}
.notice:last-child{border-bottom:none}
.notice .nt{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px}
.notice .nb{font-size:12.5px;color:#5b6478;margin-top:4px;line-height:1.7}
.notice .nd{font-size:11.5px;color:#9aa2b5;margin-top:4px}
.notice.unread{background:#f7faff}
/* 手机适配：窄屏不换行、隐藏次要信息 */
.top .tab button{white-space:nowrap}
@media(max-width:560px){
  .top{height:46px;padding:0 10px;gap:7px}
  .top .t{font-size:13.5px}
  .top .env,.top .who{display:none}
  .top .tab{gap:5px}
  .top .tab button{padding:5px 11px;font-size:12.5px}
  .bellbtn{padding:5px 9px;font-size:13px}
  .wrap{padding:12px 10px 50px}
  .kpis{grid-template-columns:repeat(2,1fr);gap:8px}
  .kpi .v{font-size:19px}
  .row{flex-wrap:wrap}
  .row>div{flex:1 1 100%}
  .row button{width:100%}
  .tbl th,.tbl td{padding:7px 6px;font-size:12.5px}
  .task .tt{font-size:14px}
  .price{font-size:17px}
}
@media(max-width:700px){.kpis{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   拆页后新增（接单端 / 管理后台 共用）
   ============================================================ */
/* 商品图（接单端大厅 / 我的订单 / 管理端商品表都用） */
.goods{width:64px;height:64px;border-radius:9px;object-fit:cover;background:#f1f3f9;border:1px solid #eef0f5;flex:0 0 auto}
.goods.lg{width:88px;height:88px;border-radius:11px}
.goods.sm{width:40px;height:40px;border-radius:7px}
.goods-ph{display:flex;align-items:center;justify-content:center;color:#b6bdcd;font-size:11px;font-weight:600;letter-spacing:.5px}
.taskrow{display:flex;gap:12px;align-items:flex-start}
.taskrow .tb{flex:1;min-width:0}
/* 顶部栏（两页共用） */
.top .brand{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700}
.top .sp{margin-left:auto;display:flex;align-items:center;gap:8px}
.top .btnq{background:rgba(255,255,255,.1);border:none;color:#dbe3f3;padding:6px 13px;border-radius:16px;font-size:12.5px;cursor:pointer;white-space:nowrap}
.top .btnq:hover{background:rgba(255,255,255,.18)}
/* 管理后台：左侧导航 + 右侧内容（PC 为主） */
.shell{display:flex;min-height:calc(100vh - 52px)}
.side{width:186px;flex:0 0 186px;background:#fff;border-right:1px solid #eef0f5;padding:12px 10px;position:sticky;top:52px;height:calc(100vh - 52px);overflow:auto}
.side a{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:9px;color:#3d4657;font-size:13.5px;text-decoration:none;cursor:pointer;margin-bottom:3px}
.side a:hover{background:#f4f7fd}
.side a.on{background:#eef3ff;color:#2f6bff;font-weight:600}
.side a .badge{margin-left:auto;background:#f5222d;color:#fff;font-size:10.5px;border-radius:9px;padding:0 6px;line-height:16px}
.main{flex:1;min-width:0;padding:16px 20px 84px}
.main .wrap{max-width:1080px;margin:0;padding:0}
@media(max-width:820px){
  .shell{display:block}
  .side{width:auto;flex:none;position:static;height:auto;display:flex;gap:6px;overflow-x:auto;border-right:none;border-bottom:1px solid #eef0f5;padding:8px 10px}
  .side a{margin-bottom:0;white-space:nowrap;padding:7px 11px}
  .main{padding:12px 10px 50px}
}
/* 凭证图墙（审核交付时看） */
.proofs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.proofs img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid #eef0f5;cursor:zoom-in;background:#f7f8fc}
.bigimg{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;z-index:300;padding:20px;cursor:zoom-out}
.bigimg.show{display:flex}
.bigimg img{max-width:96vw;max-height:92vh;border-radius:8px}

/* ============================================================================
   商家管理后台 · 导航与工具栏（2026-09-16 重做）
   ----------------------------------------------------------------------------
   ★ 之前的问题：8 个功能段的「操作按钮」全挤在卡片标题右边当小文字链接
     （<h3>标题 <span class="more">同步码速达</span> <span class="more">粘贴识别录单</span>…），
     看起来就是一堆散的链接，找不到、也点不准。
   ★ 现在：底部 4 个大分组 Tab（经营/订单/人员/财务）+ 左侧该分组下的菜单 +
     每个页面顶部一个**统一的操作工具栏**（真按钮，不是文字链接）。
   ============================================================================ */

/* 底部大分组 Tab */
.adm-tabbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 120;
  display: flex; align-items: stretch;
  background: rgba(18, 22, 30, .95);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.adm-tab {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 54px; padding: 6px 4px 7px; border: none; background: none; cursor: pointer;
  color: rgba(255, 255, 255, .52); font-size: 11.5px; -webkit-tap-highlight-color: transparent;
  position: relative;
}
.adm-tab .ic { font-size: 18px; line-height: 1.25; margin-bottom: 1px; }
.adm-tab.active { color: #ff9e9e; font-weight: 600; }
.adm-tab .badge {
  position: absolute; top: 4px; left: 50%; margin-left: 8px;
  background: #f5222d; color: #fff; font-size: 10px; line-height: 15px;
  border-radius: 8px; padding: 0 5px; font-weight: 600;
}

/* 左侧菜单：分组标题 + 该分组的下级页面 */
.side { display: flex; flex-direction: column; }
.side-hd {
  font-size: 12px; color: #98a1b3; font-weight: 600; letter-spacing: .5px;
  padding: 4px 12px 9px; border-bottom: 1px solid #f0f2f6; margin-bottom: 8px;
}

/* 页面头（标题 + 说明） */
.adm-head { padding: 14px 16px 0; }
.adm-head .tt { font-size: 16px; font-weight: 700; color: #1f2937; }
.adm-head .sub { font-size: 12.5px; color: #8b93a7; margin-top: 4px; line-height: 1.6; }

/* 操作工具栏：统一放按钮，左对齐、可换行 */
.adm-bar {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  padding: 11px 16px 13px; border-bottom: 1px solid #f2f4f8; margin-bottom: 12px;
}
.adm-bar .sp { margin-left: auto; }

/* 卡片改造：标题区用 adm-head，内容区自己带边距 */
/* ★★2026-09-17 修「手机上看不到表格后面的内容」（用户主诉）：
   原来这里是 `overflow: hidden` —— 表格比卡片宽时**右侧被直接裁掉、还没有横向滚动条**，
   做单员与押金页最右列「登记押金 / 认证/权限」在手机上完全看不到、点不到（实测 390/430 宽时按钮右侧到 535px）。
   现在：卡片横向可滚 + 「操作」列吸附在右边常驻可见。 */
.card.adm { padding: 0 0 14px; overflow-x: auto; overflow-y: hidden; }
.card.adm > .adm-body { padding: 0 16px; }
/* 操作列吸附：无论横向怎么滚，「登记押金 / 认证/权限 / 审核交付…」都在右下角看得见点得到 */
.tbl .ops { position: sticky; right: 0; background: #fff; white-space: nowrap;
  box-shadow: -8px 0 10px -8px rgba(0,0,0,.12); }
.tbl th.ops { background: #f7f8fc; }
/* 「待指派商品」这类高亮行：整行同色，吸附列也要跟着变，否则右边会突兀地白一条 */
.tbl tr.row-warn td { background: #fffbe6; }
.tbl tr.row-warn td.ops { background: #fffbe6; }
/* 手机上隐藏次要列（如做单员的「信誉」——权限列已经会写出"信誉分不足"的原因），
   少一列就少盖住一点内容，横向滚动也更短 */
@media (max-width: 640px) { .tbl .hide-sm { display: none; } }

/* ★★2026-09-17 窄屏「做单员与押金」改成卡片流：
   8 列表格在手机上必然放不下（横向滚动时中间列还会被吸附列盖住），
   卡片一行一项、按钮永远看得见。宽度 ≤640 时由 admin.js 的 loadWorkers 渲染 .wk-card 而不是 table。 */
.wk-card { border: 1px solid #eef0f5; border-radius: 10px; padding: 12px 13px; margin-bottom: 10px; background: #fff; }
.wk-card .wk-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.wk-card .wk-name { font-size: 15px; font-weight: 500; }
.wk-card .wk-line { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; margin-top: 6px; color: #4a5568; }
.wk-card .wk-line .k { color: #8a9099; }
.wk-card .wk-ops { display: flex; gap: 10px; margin-top: 12px; }
.wk-card .wk-ops .link { flex: 1; text-align: center; border: 1px solid #e0e5ee; border-radius: 8px;
  padding: 9px 0; font-size: 14px; }
.wk-card .wk-ops .link.pri { background: #2f6fed; color: #fff; border-color: #2f6fed; }

@media (max-width: 820px) {
  .main { padding-bottom: 78px !important; }
  /* 窄屏把表格挤一挤，能少滚动就少滚动 */
  .tbl th, .tbl td { padding: 8px 7px; font-size: 12.5px; }
  .tbl th { font-size: 12px; }
}

/* ============================================================
   ★ 第 7 批：游戏资料 / 订单动作时间线 / 详情行 / 提示标签
   （对照参考站 yiyoutong.maihaobei.com 补齐的界面元素）
   ============================================================ */

/* 卡片里的「商品规格：xxx」这类细行 */
.ogh-item-detail{font-size:11.5px;color:#6b7a99;line-height:1.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 需要花钱/需要注意的标签（冻结押金） */
.tagd.tag-warn,.ogh-item-tag.tag-warn{background:#fff2e8;color:#d4380d;border:1px solid #ffbb96}

/* 弹窗里的「键 : 值」一行 */
.kv-line{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;line-height:2;
  border-bottom:1px dashed #eef0f5;padding:1px 0}
.kv-line span{color:#8b93a7;flex:0 0 auto}
.kv-line b{color:#2b3345;text-align:right;word-break:break-all}

/* 游戏资料列表 */
.pf-row{display:flex;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid #f0f2f7;flex-wrap:wrap}
.pf-game{display:flex;align-items:center;gap:6px;flex:1 1 160px;font-size:13px}
.pf-game img{width:22px;height:22px;border-radius:5px;object-fit:cover}
.pf-info{flex:1 1 100%;font-size:11.5px;color:#6b7a99;padding-left:28px}
.pf-hint{font-size:11px;color:#d46b08;background:#fff7e6;border-radius:5px;padding:3px 8px;margin:0 2px 6px}

/* 订单记录 / 留言 时间线 */
.tl-item{border-left:2px solid #e6ebf5;padding:0 0 10px 10px;margin-left:3px}
.tl-head{display:flex;align-items:center;gap:6px;font-size:12px;flex-wrap:wrap}
.tl-head b{font-weight:600;color:#2b3345}
.tl-time{margin-left:auto;color:#a3abbd;font-size:11px}
.tl-body{font-size:12.5px;color:#4a5568;line-height:1.8;margin-top:3px;white-space:pre-wrap;word-break:break-all}
.tl-reply{font-size:12px;color:#0958d9;background:#f7faff;border-radius:6px;padding:5px 8px;margin-top:4px;line-height:1.7}
.tl-img{width:56px;height:56px;object-fit:cover;border-radius:6px;margin:5px 5px 0 0;border:1px solid #eef0f5}

/* ★ 第 7 批：管理后台 —— 待处理申请 / 商品规格 */
.todo-row{border:1px solid #eef0f5;border-radius:9px;padding:10px 12px;margin-bottom:10px;background:#fff}
.todo-head{display:flex;align-items:center;gap:7px;font-size:12.5px;flex-wrap:wrap;margin-bottom:6px}
.todo-head b{color:#2b3345}
.todo-body{font-size:13px;color:#2b3345;line-height:1.9}
.todo-note{font-size:12.5px;color:#4a5568;background:#f7f9fc;border-radius:6px;padding:6px 9px;margin-top:6px;line-height:1.8}
.todo-ops{display:flex;gap:8px;align-items:center;margin-top:9px;flex-wrap:wrap}
.todo-remark{flex:1 1 180px;min-width:140px;height:30px;border:1px solid #dfe4ee;border-radius:6px;padding:0 9px;font-size:12.5px}

.sp-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #f0f2f7;flex-wrap:wrap}
.sp-row.sp-off{opacity:.55}
.sp-main{flex:1 1 220px;font-size:13px}
.sp-meta{flex:1 1 100%;font-size:11.5px;color:#6b7a99;padding-left:2px}
.sp-ops{flex:0 0 auto;font-size:12px;white-space:nowrap}
/* ★2026-09-17 规格缩略图（参考站导入的商品图，点开看大图） */
.sp-img{width:46px;height:46px;flex:0 0 46px;border-radius:8px;background:#f3f4f6;object-fit:cover;cursor:zoom-in}

/* ★2026-09-18 第 13 批：后台「订单与发货」列表改卡片式（原来 5 列窄表格挤成一团、凭证只显示张数） */
.ord-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #eaeef5;
  border-radius:12px;background:#fff;margin-bottom:10px}
.ord-item.ord-warn{background:#fffbe6;border-color:#ffe58f}
.ord-thumb{flex:0 0 64px}
.ord-main{flex:1 1 auto;min-width:0}
.ord-l1{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13.5px}
.ord-title{font-weight:700;margin-right:2px;word-break:break-all}
.ord-l2{margin-top:5px;font-size:12.5px;color:#41506b}
.ord-l3{margin-top:4px;font-size:11.5px;color:#8a94a6;line-height:1.7}
.ord-k{color:#9aa3b1}
.ord-err{color:#cf1322}
/* ★2026-09-19：凭证图放大到 76px（原来 56px，手机上偏小、不容易看出是什么）+ 加底色框，
   并给「交付凭证 N 张」加个标记色 —— 用户反馈"看不到凭证图"，先让它在列表里足够显眼。 */
.ord-proofs{margin-top:8px;display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:11.5px;color:#8a94a6;
  background:#f7f9fc;border:1px dashed #dfe4ee;border-radius:10px;padding:7px 9px}
.ord-pf{width:76px;height:76px;border-radius:10px;object-fit:cover;border:1px solid #e6e9ef;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);
  cursor:zoom-in;background:#f3f4f6}
.ord-ops{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;min-width:96px}
.ord-btn{border:1px solid #d7dbe6;background:#fff;color:#2b3038;border-radius:8px;
  padding:5px 10px;font-size:12.5px;cursor:pointer;line-height:1.5}
.ord-btn:hover{border-color:#2f6bff;color:#2f6bff}
.ord-btn.pri{background:#1677ff;border-color:#1677ff;color:#fff}
.ord-btn.pri:hover{background:#0958d9;color:#fff}
.ord-btn.danger{border-color:#ffa39e;color:#cf1322}
@media (max-width:820px){
  .ord-item{flex-wrap:wrap}
  .ord-ops{flex-direction:row;flex-wrap:wrap;min-width:0;width:100%}
}

/* ★★2026-09-18 第 14 批：管理后台手机端（≤640px）适配
   起因：用户「我很多也是手机查看的，很多按钮点不到」——
   多列表格在 390 宽下右侧列（售价/上限/发货/凭证/操作）被整列截到屏幕外。 */
.mcard{border:1px solid #eaeef5;border-radius:12px;background:#fff;padding:11px 12px;margin-bottom:9px}
.mcard-hide{opacity:.5}
.mcard-off{background:#fafbfc;color:#9aa3b1}
.mcard-l1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.mcard-l1 .goods{width:34px;height:34px;border-radius:8px}
.mcard-l1 .money{margin-left:auto}
.mcard-l2{margin-top:5px;font-size:12.5px;color:#41506b;line-height:1.7}
.mcard-l3{margin-top:4px;font-size:11.5px;color:#8a94a6;line-height:1.7}
/* 卡片里的操作按钮：手机上一排按钮，每个都够大（≥40px 高）好点 */
.mcard-ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.mcard-ops .ord-btn{flex:1 1 auto;min-width:76px;min-height:40px;font-size:13px;padding:8px 10px}
/* 目录树的「游戏 / 业务类型」分组标题（手机端） */
.mcat-hd{margin:14px 0 8px;padding-top:10px;border-top:1px solid #eef0f5}
.mcat-hd-t{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:14.5px}
.mcat-biz{margin:9px 0 6px;padding-top:0;border-top:0}
.mcat-biz .mcat-hd-t{font-size:13px}

@media (max-width:640px){
  /* 顶部工具栏按钮：竖排会看不清谁是谁，改成两列等宽大按钮 */
  .adm-bar{display:flex;flex-wrap:wrap;gap:8px}
  .adm-bar .btn,.adm-bar button{flex:1 1 44%;min-height:42px;font-size:13.5px;white-space:normal}
  /* 页头标题与说明别太占地方 */
  .adm-head .tt{font-size:17px;line-height:1.5}
  .adm-head .sub{font-size:12.5px;line-height:1.7}
  /* 弹窗：手机上基本占满屏，底部按钮固定，避免"保存"被键盘/屏幕边裁掉 */
  .modal{width:94vw !important;max-width:94vw !important;max-height:88vh !important;
    display:flex;flex-direction:column;overflow:hidden}
  .modal .mbody{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .modal .mfoot{position:sticky;bottom:0;background:#fff;padding-top:10px;border-top:1px solid #eef0f5}
  .modal .mfoot .btn,.modal .mfoot button{min-height:44px;font-size:14.5px;flex:1 1 auto}
  .modal .mfoot{display:flex;gap:9px}
  /* 表单控件也放大，手指好点 */
  .fld input,.fld select,.fld textarea{min-height:42px;font-size:15px}
  /* 表格兜底：手机上一律可横向滚动 + 操作列吸附（万一还有没改成卡片的表） */
  .card.adm{overflow-x:auto}
  .tbl .ops{position:sticky;right:0;background:#fff;box-shadow:-8px 0 10px -8px rgba(0,0,0,.12)}
  .tbl th,.tbl td{padding:8px 7px;font-size:12.5px}
  /* 底部 TabBar 的手指友好度 */
  .adm-tabbar .adm-tab{min-height:52px}
}

/* ★2026-09-18 第 16 批：订单与发货页 —— 时间 / 游戏 / 状态 三行筛选 + 按游戏分组 */
.ord-bar-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.ord-bar-lb{font-size:12px;color:#8a94a6;flex:0 0 auto;min-width:32px}
.ord-group{margin-bottom:16rpx}
.ord-group-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 2px 9px;
  border-bottom:2px solid #eef0f5;margin-bottom:10px}
.ord-group-nm{font-size:14.5px;font-weight:700;color:#1f2329}
@media (max-width:640px){
  .ord-bar-row{gap:5px;margin-bottom:7px}
  .ord-bar-lb{display:none}          /* 手机上省地方：chips 自身已经说清是什么 */
  .ord-group-hd{padding:6px 2px 7px}
  .ord-group-nm{font-size:13.5px}
}

/* ★★2026-09-19 第 18 批：订单卡片按用户逐条指定的排法重做
   ① 商品图 │ 标题+规格   ② 订单编号+创建时间  ③ 价格+系统区服
   ④ 抢单员ID+接单时间   ⑤ 凭证图（右边交付时间） ⑥ 订单状态  ⑦ 三个主按钮 */
.ord-item{display:block;padding:13px;border:1px solid #eaeef5;border-radius:12px;background:#fff;margin-bottom:10px}
.ord-item.ord-warn{background:#fffbe6;border-color:#ffe58f}
.ord-top{display:flex;gap:11px;align-items:flex-start}
.ord-thumb{flex:0 0 64px}
.ord-t{flex:1 1 auto;min-width:0}
.ord-title{font-weight:700;font-size:14px;line-height:1.5;word-break:break-all}
.ord-spec{margin-top:4px;font-size:12.5px;color:#41506b}
.ord-sub{margin-top:3px;font-size:11.5px;color:#8a94a6}
.ord-rows{margin-top:10px;display:flex;flex-direction:column;gap:5px}
.ord-r2{display:flex;gap:16px;flex-wrap:wrap}
.ord-kv{display:flex;gap:6px;align-items:baseline;min-width:0;font-size:12.5px}
.ord-kv .ord-k{color:#9aa3b1;font-size:12px;flex:0 0 auto}
.ord-kv .ord-v{color:#1f2937;word-break:break-all}
.ord-st{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:12px}
.ord-st .ord-k{color:#9aa3b1;font-size:12px}
/* 凭证右边那条「交付时间」 */
.ord-proofs .ord-dt{display:flex;flex-direction:column;gap:3px;margin-left:4px;padding-left:10px;
  border-left:1px solid #e6e9ef;font-size:12px;color:#1f2937}
.ord-ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.ord-ops-main{display:flex;gap:8px;flex-wrap:wrap}
.ord-ops-main .ord-btn{min-height:38px;font-size:13.5px;padding:8px 15px}
.ord-ops-more{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.ord-btn.sm{font-size:12px;padding:5px 9px;min-height:30px;color:#5b6472}
.ord-btn[disabled]{opacity:.45;cursor:not-allowed;background:#f3f4f6;border-color:#e5e7eb;color:#9aa3b1}
@media (max-width:640px){
  .ord-ops-more{margin-left:0;width:100%}
  .ord-ops-main .ord-btn{flex:1 1 auto;min-height:42px}
  .ord-dt{width:100%;border-left:0;padding-left:0;margin-left:0;margin-top:4px;
    border-top:1px dashed #e6e9ef;padding-top:5px}
}

/* ★2026-09-19 第 19 批：做单员备注（列表里名字下面那行）*/
.wk-remark{margin-top:3px;font-size:11.5px;color:#8c6d1f;background:#fffbe6;border:1px solid #ffe58f;
  border-radius:6px;padding:2px 6px;display:inline-block;max-width:210px;word-break:break-all}

/* ★★2026-09-19 第 24 批：后台「界面布局设计器」 */
.ui-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.ui-wrap{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.ui-controls{flex:1 1 320px;min-width:280px}
.ui-knob{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed #eef1f6}
.ui-knob label{flex:0 0 128px;font-size:13px;color:#41506b}
.ui-knob input[type=range]{flex:1 1 auto}
.ui-knob input[type=color]{width:44px;height:30px;border:1px solid #d9e0ea;border-radius:6px;background:#fff}
.ui-knob .gray{flex:0 0 56px;text-align:right;font-size:12px}
.ui-sw{font-size:13px;display:flex;align-items:center;gap:5px}
.ui-preview{flex:1 1 460px;min-width:340px}
.ui-ph{font-size:13px;color:#41506b;margin-bottom:6px;font-weight:600}
.ui-preview iframe{border:1px solid #e3e8f0;border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(16,32,64,.06)}

/* ============================================================
   ★★第 28 批：买家填资料页配置（后台）
   ============================================================ */
.bf-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.bf-top label{margin:0;font-size:13px;color:#41506b;white-space:nowrap}
.bf-top select{flex:1 1 320px;max-width:520px}
.bf-hint{font-size:12.5px;color:#7a8398;background:#f7f9fd;border:1px solid #e9eef7;border-radius:8px;
  padding:9px 12px;line-height:1.7;margin-bottom:14px}
.bf-hint b{color:#2f6bff}
.bf-two{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.bf-l{flex:1 1 440px;min-width:300px}
.bf-r{flex:0 1 300px;min-width:260px}
.bf-sec{border:1px solid #eef1f6;border-radius:10px;padding:13px;margin-bottom:12px;background:#fcfdff}
.bf-st{font-size:14px;font-weight:700;color:#1f2937;margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.bf-sub{font-size:12px;font-weight:400;color:#8b93a7}
.bf-f{border:1px solid #e9eef7;border-radius:9px;padding:10px;margin-bottom:9px;background:#fff}
.bf-fhd{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.bf-key{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;color:#6b7a94;
  background:#f2f5fa;border-radius:5px;padding:2px 7px}
.bf-tag{font-size:11px;color:#0958d9;background:#e6f4ff;border:1px solid #91caff;border-radius:4px;padding:1px 6px}
.bf-tag2{color:#389e0d;background:#f6ffed;border-color:#b7eb8f}
.bf-grow{flex:1 1 auto}
.bf-mini{height:24px;min-width:26px;border:1px solid #e3e8f0;background:#fff;border-radius:6px;
  font-size:12px;color:#4b5563;cursor:pointer;padding:0 6px}
.bf-mini:hover{border-color:#b9d0ff;color:#2f6bff}
.bf-nm{width:100%;height:34px;margin-bottom:7px;font-size:13.5px}
.bf-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.bf-line select{flex:1 1 150px;min-width:130px;height:32px;font-size:13px}
.bf-ck{display:flex;align-items:center;gap:4px;font-size:13px;color:#41506b;margin:0;white-space:nowrap}
.bf-ck2{margin-top:10px}
.bf-so{width:76px;flex:0 0 76px;height:32px;font-size:13px;text-align:center}
/* ★★第 40 批：下拉(select)字段的选项输入 —— 只在类型=下拉选择时出现 */
.bf-op{width:100%;height:32px;margin-top:7px;font-size:13px;border-color:#91caff;background:#f6fbff}
.bf-row2{margin-top:12px}
.bf-fl{font-size:12.5px;color:#5b6478;margin-bottom:5px}
.bf-imgr{margin:6px 0 8px}
.bf-imgr img{max-width:100%;max-height:150px;border-radius:8px;border:1px solid #e3e8f0;display:block}
.bf-nopic{font-size:12.5px;color:#a3abbd}
.bf-sec textarea{width:100%;border:1px solid #e3e8f0;border-radius:8px;padding:9px 11px;font-size:13.5px;
  line-height:1.7;font-family:inherit;outline:none;resize:vertical;color:#1f2937;background:#fff}
.bf-sec textarea:focus{border-color:#b9d0ff}
.bf-ph{border:1px solid #e3e8f0;border-radius:14px;padding:11px;background:#fff;
  box-shadow:0 2px 10px rgba(16,32,64,.06)}
.bf-ph-banner{height:52px;border-radius:9px;background:linear-gradient(135deg,#16273f,#2f6bff);color:#fff;
  font-size:12.5px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.bf-ph-warn{font-size:12px;color:#f5222d;font-weight:700;margin-bottom:8px}
.bf-pv-k{font-size:12px;color:#8b93a7;background:#f7f9fd;border-radius:7px;padding:7px 9px;margin-bottom:6px;
  display:flex;justify-content:space-between;gap:8px}
.bf-pv-k b{color:#1f2937;font-weight:600}
.bf-pv-gate{font-size:12px;color:#0958d9;background:#e6f4ff;border:1px dashed #91caff;border-radius:8px;
  padding:8px 10px;line-height:1.6;margin-bottom:7px}
.bf-pv-f{font-size:12.5px;color:#1f2937;border:1px solid #e9eef7;border-radius:8px;padding:8px 10px;
  margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.bf-pv-f i{color:#f5222d;font-style:normal;margin-left:3px}
.bf-pv-f span{font-size:11px;color:#8b93a7;white-space:nowrap}
.bf-pv-note{font-size:12px;color:#d46b08;background:#fff7e6;border:1px solid #ffd591;border-radius:8px;
  padding:7px 10px;margin-bottom:6px}
.bf-pv-btn{height:38px;border-radius:9px;background:linear-gradient(135deg,#2f6bff,#5b8cff);color:#fff;
  font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:8px}
.bf-chain{font-size:11.5px;color:#a3abbd;margin-top:8px;word-break:break-all;line-height:1.6}
@media (max-width:700px){
  .bf-r{flex:1 1 100%}
}

/* ============================================================
   ★★第 29 批：自动建单商品（白名单）
   ============================================================ */
.aw-sw{background:#f7f9fd;border:1px solid #e9eef7;border-radius:9px;padding:11px 13px;margin-bottom:12px}
.aw-sw .bf-ck{font-size:13.5px}
.aw-sw2{font-size:12.5px;color:#8b93a7;margin-top:5px;padding-left:21px}
.aw-alert{background:#fff7e6;border:1px solid #ffd591;color:#d46b08;border-radius:9px;
  padding:10px 13px;font-size:13px;line-height:1.7;margin-bottom:11px}
.aw-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:11px}
.aw-cnt{font-size:12.5px;color:#8b93a7;flex:1 1 100%;line-height:1.6;word-break:break-all}
.aw-row{display:flex;align-items:center;gap:11px;border:1px solid #eef1f6;border-radius:10px;
  padding:10px 12px;margin-bottom:8px;background:#fff;flex-wrap:wrap}
.aw-row.off{opacity:.55;background:#fafbfd}
.aw-id{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:#0958d9;
  background:#e6f4ff;border:1px solid #91caff;border-radius:6px;padding:3px 9px;white-space:nowrap;flex:0 0 auto}
.aw-main{flex:1 1 180px;min-width:150px}
.aw-nm{font-size:13.5px;font-weight:600;color:#1f2937;line-height:1.5}
.aw-meta{font-size:12px;color:#8b93a7;margin-top:3px;line-height:1.6}
.aw-meta b{color:#2f6bff}
.aw-warn{color:#d46b08}
.aw-op{display:flex;gap:6px;flex:0 0 auto}
.aw-cand{display:flex;align-items:center;gap:10px;border-bottom:1px dashed #eef1f6;padding:9px 0;flex-wrap:wrap}
.aw-cand:last-child{border-bottom:0}
.aw-cand-l{flex:1 1 200px;min-width:160px}



/* ============================================================================
   ★第 30 批（2026-09-20）
    ① 交付凭证支持视频 → 订单卡片上要能直接播
    ② 游戏名 / 类型名 / 系列名点一下就能改 → 名字要看起来"可点"
    ③ 自动建单商品：可编辑 + 手动补建 + 待补规格提示
   ============================================================================ */

/* ① 凭证里的视频：跟图片同样尺寸，但带播放条 */
.ord-pf-v{background:#000;object-fit:contain}
.ord-proofs .ord-pf-v{width:120px;height:76px}

/* ② 可改名的名字：虚线下划线 + 悬停变色，让人一眼知道能点 */
.cat-nm{cursor:pointer;border-bottom:1px dashed #b9c6dd;padding-bottom:1px}
.cat-nm:hover{color:#1677ff;border-bottom-color:#1677ff}
.mcat-hd-t .cat-nm,.mcard-l1 .cat-nm{font-size:inherit}

/* ③ 待补规格：一整块黄色告警，不能被忽略 */
.aw-missbox{border:1px solid #ffe08a;background:#fffbe6;border-radius:12px;padding:12px 13px;margin:12px 0}
.aw-misstt{font-size:13.5px;color:#8c5a00;margin-bottom:9px;line-height:1.7}
.aw-misstt b{color:#d4380d;font-size:15px}
.aw-misstt .gray{color:#96794a}
.aw-miss-row{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #ffe08a;
  border-radius:10px;padding:9px 11px;margin-bottom:7px;flex-wrap:wrap}
.aw-miss-row:last-child{margin-bottom:0}
.aw-miss-price{flex:0 0 auto;font-weight:700;font-size:15px;color:#d4380d;min-width:64px}
.aw-miss-main{flex:1 1 200px;min-width:150px}
.aw-miss-line{font-size:13px;color:#41506b}
.aw-miss-sub{font-size:12px;color:#7d8aa3;margin-top:2px}
.aw-miss-op{display:flex;gap:6px;flex:0 0 auto;flex-wrap:wrap}

/* 手动补建：结果一行一条 */
.aw-bfres{font-size:13px;padding:8px 10px;border-bottom:1px dashed #eef1f6;line-height:1.7}
.aw-bfres:last-child{border-bottom:0}
.aw-bfres.off{opacity:.7}

/* 做单员交付弹窗：已上传文件列表 */
.pf-item{display:flex;align-items:center;gap:10px;border:1px solid #eef1f6;border-radius:10px;
  padding:7px 9px;margin-bottom:6px;background:#fbfcfe}
.pf-ph{width:52px;height:52px;border-radius:8px;object-fit:cover;border:1px solid #e6e9ef;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;font-size:22px;background:#eef3fb}
.pf-main{flex:1 1 auto;min-width:0}
.pf-nm{font-size:12.5px;color:#1f2b45;word-break:break-all}
.pf-del{flex:0 0 auto;color:#cf1322;cursor:pointer;font-size:12.5px}

@media (max-width:700px){
  .aw-miss-op{width:100%}
  .aw-miss-op .btn{flex:1 1 auto}
  .ord-proofs .ord-pf-v{width:104px;height:68px}
}

/* ★第 30 批修（2026-09-20）：「待补规格」里没定系列的，直接在提醒上选系列 ——
   之前只给一个「去商品页挑系列」，跳过去后管理员不知道该选哪个系列，
   而且加完规格提醒也销不掉（销账 SQL 对 NULL 恒不成立）→ 后台一直催他点「新增规格」。 */
.aw-miss-pick{display:flex;align-items:center;gap:7px;margin-top:6px;flex-wrap:wrap}
.aw-miss-pick .gray{font-size:12px}
.aw-miss-pick select{flex:1 1 200px;min-width:150px;height:32px;border:1px solid #d9e0ec;border-radius:8px;
  padding:0 8px;font-size:12.5px;background:#fff;color:#1f2b45}
.aw-miss-cat,.aw-chk-cat{max-width:100%}

/* ============================================================================
   ★★★ 第 31 批：做单员「我的挂单」页（库存 / 上架 / 自动匹配）
   ============================================================================ */
.lk-wrap{padding:0 0 12px}
.lk-hero{margin:10px 0 0;padding:14px 15px;background:#fff;border-top:1px solid #eceff1;border-bottom:1px solid #eceff1}
.lk-hero-t{font-size:16px;font-weight:700;color:#1f2b45}
.lk-hero-s{font-size:12.5px;color:#7d8aa3;line-height:1.75;margin-top:6px}
.lk-hero-s strong{color:#c0392b}
.lk-sec{margin-top:10px;background:#fff;border-top:1px solid #eceff1;border-bottom:1px solid #eceff1}
.lk-sec-h{display:flex;align-items:center;gap:8px;padding:11px 14px 8px;font-size:14px;font-weight:700;color:#222}
.lk-sec-h .btn,.lk-sec-h .gray{margin-left:auto}
.lk-sec-h .gray{font-size:11.5px;font-weight:400}

/* 待确认：最醒目的一块 —— 这是"该你动手"的时刻 */
.lk-hold{margin:10px 12px 0;padding:12px 13px;border-radius:12px;background:#fff7e6;border:1px solid #ffd591}
.lk-hold-h{font-size:13px;font-weight:700;color:#ad4e00}
.lk-hold-h .lk-cd{color:#cf1322;font-size:14px}
.lk-hold-b{margin:8px 0 10px}
.lk-hold-t{font-size:13.5px;color:#1f2b45;font-weight:500;line-height:1.5}
.lk-hold-m{font-size:12.5px;color:#5b6478;margin-top:4px;line-height:1.8}
.lk-hold-op{display:flex;gap:8px}
.lk-hold-op .btn{flex:1;height:36px;font-size:13.5px}

.lk-card{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px dashed #eef1f6}
.lk-card:last-child{border-bottom:0}
.lk-card.off{opacity:.6}
.lk-card-l{flex:1;min-width:0}
.lk-card-t{font-size:13.5px;color:#1f2b45;font-weight:500}
.lk-card-m{font-size:12.5px;color:#7d8aa3;margin-top:3px;line-height:1.7}
.lk-card-m b{color:#1f2b45}
.lk-card-op{display:flex;gap:6px;flex:0 0 auto}

.lk-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px dashed #eef1f6}
.lk-row:last-child{border-bottom:0}
.lk-row-l{flex:1;min-width:0}
.lk-row-t{font-size:13px;color:#1f2b45}
.lk-row-m{font-size:12px;color:#7d8aa3;margin-top:2px}

.lk-rules{max-height:230px;overflow:auto;border:1px solid #eef1f6;border-radius:8px;padding:6px 8px;background:#fbfcfe}
.lk-rule{display:flex;align-items:center;gap:7px;padding:5px 2px;font-size:12.5px;color:#41506b;cursor:pointer}
.lk-rule span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-rule b{flex:0 0 auto;color:#c0392b;font-weight:500}

/* ============================================================================
   ★★★ 第 31 批：后台「材料换算 / 挂单」页
   ============================================================================ */
.lkg-bar{padding:10px 0 6px}
.lkg-cfg{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px;margin:6px 0 12px}
.lkg-f label{display:block;font-size:12.5px;color:#5b6478;margin-bottom:4px}
.lkg-f input{width:100%;height:34px;border:1px solid #d9e0ec;border-radius:8px;padding:0 9px;font-size:13px}
.lkg-f .gray{font-size:11.5px;margin-top:3px;line-height:1.5}
.lkg-ops{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.lkg-ops .gray{font-size:12px}
.lkg-sec{margin-top:14px;padding-top:10px;border-top:1px dashed #eef1f6}
.lkg-sec > b{font-size:13.5px;color:#1f2b45}
.lkg-sec > .gray{font-size:12px;margin:4px 0 8px;display:block;line-height:1.6}
.lkg-tbl{table-layout:auto}
.lkg-tbl th{font-size:12px;white-space:nowrap}
.lkg-tbl td{font-size:12.5px;vertical-align:middle}
.lkg-tbl td .gray{font-size:11.5px}
@media (max-width:700px){
  .lkg-tbl th:nth-child(3),.lkg-tbl td:nth-child(3){display:none}
}

.lk-warn{margin:10px 12px 0;padding:11px 13px;border-radius:10px;background:#fff1f0;border:1px solid #ffa39e;color:#a8071a;font-size:12.5px;line-height:1.75}
.lk-warn strong{color:#cf1322}

/* ★★第 32 批：挂单区块（并入「我的订单」页顶部，紧凑 2 行） */
.lk-block{margin:10px 12px 0;background:#fff;border:1px solid #eceff1;border-radius:12px;overflow:hidden}
.lk-row1{display:flex;align-items:center;gap:8px;padding:11px 13px 0}
.lk-t{flex:0 0 auto;font-size:14px;font-weight:700;color:#1f2b45}
.lk-s{flex:1;min-width:0;font-size:12.5px;color:#7d8aa3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-more{flex:0 0 auto;font-size:12px;color:#1677ff;cursor:pointer}
.lk-row2{display:flex;align-items:center;gap:9px;padding:9px 13px 12px}
.lk-row2 .btn{flex:0 0 auto}
.lk-hint{flex:1;min-width:0;font-size:11.5px;color:#9aa2b5;line-height:1.5}
.lk-list{border-top:1px dashed #eef1f6}
.lk-item{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px dashed #eef1f6}
.lk-item:last-child{border-bottom:0}
.lk-item-l{flex:1;min-width:0}
.lk-item-t{font-size:13px;color:#1f2b45;font-weight:500}
.lk-item-m{font-size:12px;color:#7d8aa3;margin-top:3px;line-height:1.6}
.lk-item-m b{color:#1f2b45}
.lk-item-op{display:flex;gap:6px;flex:0 0 auto}
/* 成品勾选：一行显示「成品名 · 消耗材料 · 出售价」（规格价不是固定的，必须让做单员看见） */
.lk-rule .lk-rule-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-rule .lk-rule-c{flex:0 0 auto;color:#7d8aa3;font-size:11.5px;margin-right:2px}
.lk-rule .lk-rule-p{flex:0 0 auto;color:#c0392b;font-weight:600}

/* ★★第 32 批：规格列表 —— 搜索框 + 价格可直接改（用户要求） */
.sp-search{padding:0 0 9px}
.sp-search input{width:100%;height:38px;border:1px solid #dfe4ee;border-radius:9px;padding:0 12px;
  font-size:13.5px;box-sizing:border-box;outline:none;background:#fafbfd;color:#1f2b45}
.sp-search input:focus{border-color:#2f6bff;background:#fff;box-shadow:0 0 0 3px rgba(47,107,255,.12)}
.sp-pw{display:inline-flex;align-items:center;color:#c0392b;font-weight:700}
.sp-inp{width:92px;height:28px;border:1px solid #dfe4ee;border-radius:7px;padding:0 7px;margin-left:2px;
  font-size:12.5px;color:#c0392b;font-weight:700;box-sizing:border-box;outline:none;background:#fff}
.sp-inp:focus{border-color:#2f6bff;box-shadow:0 0 0 3px rgba(47,107,255,.12)}

/* ★★第 32 批：挂单成品按「消耗材料量」分档（576碎片 / 600碎片 / 960碎片 / 1200碎片 / 1800碎片） */
.lk-grp{display:flex;align-items:center;gap:8px;padding:7px 8px 3px;margin-top:7px;
  border-top:1px dashed #eef1f6;font-size:12.5px}
.lk-grp:first-child{margin-top:0;border-top:0}
.lk-grp-q{font-weight:700;color:#1f2b45}
.lk-grp-c{flex:1;min-width:0;color:#9aa2b5;font-size:11.5px}
.lk-grp-a{flex:0 0 auto;color:#1677ff;cursor:pointer;font-size:12px}
.lk-rules-g{max-height:none;border:0;background:transparent;padding:0 2px 4px}

/* ============================================================================
   ★★第 34 批：订单卡片新布局（用户逐行指定）
     · 后台（管理端）：来源+单号 / 规格图+三行(游戏·业务 / 规格×数量 / 价格+创建时间)
                      / 系统区服·交付时间 / 订单状态 / 操作按钮
     · 大厅（做单员端）：单号+创建时间 / 规格图+三行 / 价格(标红)
   ============================================================================ */

/* ---------- 后台订单卡片 ---------- */
.oc-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;flex-wrap:wrap}
.oc-src{flex:0 0 auto;background:#e6f4ff;color:#0958d9;border:1px solid #91caff;border-radius:6px;
  padding:1px 8px;font-size:11.5px;font-weight:600}
.oc-no{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:#1f2b45;word-break:break-all}
.oc-mid{display:flex;gap:12px;align-items:flex-start}
.oc-thumb{flex:0 0 auto;width:86px;height:86px;border-radius:10px;overflow:hidden;background:#f5f7fa;
  border:1px solid #eceff1;display:flex;align-items:center;justify-content:center}
.oc-thumb img{width:100%;height:100%;object-fit:contain}
.oc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;justify-content:center}
.oc-l1{font-size:13.5px;color:#1f2b45;font-weight:600}
.oc-l2{font-size:13px;color:#41506b}
.oc-q{color:#0958d9;font-weight:700}
.oc-l3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.oc-price{color:#cf1322;font-size:16px;font-weight:700}
.oc-time{color:#8c95a8;font-size:12px;flex:0 0 auto}
.oc-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;font-size:12.5px}
.oc-k{color:#8c95a8;flex:0 0 auto}
.oc-k::after{content:'：'}
.oc-v{color:#1f2b45;margin-right:14px;word-break:break-all}
.oc-st{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;
  border-top:1px dashed #eef1f6;font-size:12.5px}

/* ---------- 大厅订单卡片 ---------- */
.hc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:7px;
  border-bottom:1px dashed #eef1f6;margin-bottom:9px}
.hc-no{font-size:13px;font-weight:700;color:#1f2b45;word-break:break-all}
.hc-time{flex:0 0 auto;font-size:11.5px;color:#9aa2b5}
.hc-mid{display:flex;gap:11px;align-items:flex-start}
.hc-thumb{position:relative;flex:0 0 auto;width:78px;height:78px;border-radius:10px;overflow:hidden;
  background:#f5f7fa;border:1px solid #eceff1;display:flex;align-items:center;justify-content:center}
.hc-thumb img{width:100%;height:100%;object-fit:contain}
.hc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center}
.hc-l1{font-size:13.5px;color:#1f2b45;font-weight:600}
.hc-l2{font-size:13px;color:#41506b}
.hc-q{color:#0958d9}
.hc-l3{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;margin-top:1px}
.hc-zone{color:#41506b}
.hc-dl{flex:0 0 auto;color:#8c95a8;font-size:11.5px}
.hc-price-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}
.hc-price{color:#cf1322;font-size:17px;font-weight:700}
/* 第 34 批：大厅卡片改成**纵向**（hall.css 里 .ogh-item 原本是横向 flex：图 │ 正文 │ 按钮） */
.ogh-item{display:block !important;align-items:initial !important}
.ogh-item .btn-grab{display:block;width:100%;margin-top:10px}
