/* ============ 工作站 · 黄金珠宝进销存 · 样式 ============ */
:root{
  --gold:#c9a227; --gold-d:#a8861b; --gold-l:#fdf6e0;
  --blue:#2f6fed; --blue-l:#e8f0fe;
  --green:#1a9c5b; --green-l:#e3f6ec;
  --orange:#e8821e; --orange-l:#fdf0e0;
  --red:#d84a3f; --red-l:#fdeae8;
  --purple:#7a4fd3; --purple-l:#f0eafc;
  --gray:#7a8699; --gray-l:#eef1f5;
  --ink:#1f2733; --ink-2:#4a5568; --muted:#8a94a6;
  --bg:#f4f6f9; --card:#ffffff; --line:#e4e9f0;
  --r:12px; --shadow:0 2px 10px rgba(31,39,51,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}
.hidden{display:none!important}
.muted{color:var(--muted)}
.bold{font-weight:700}

/* 启动/门禁 */
.boot,.gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,#20242c,#3a3222);color:#fff;z-index:100}
.boot-mark{width:72px;height:72px;border-radius:18px;background:var(--gold);color:#fff;font-size:34px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;margin-bottom:14px}
.gate{padding:20px}
.gate-card{width:380px;max-width:94vw;background:var(--card);border-radius:16px;padding:28px 26px;color:var(--ink);box-shadow:0 12px 40px rgba(0,0,0,.35)}
.gate-card h1{font-size:24px;letter-spacing:2px}
.gate-sub{color:var(--muted);margin:4px 0 18px;font-size:13px}
.gate-brand{display:flex;flex-direction:column;align-items:center;text-align:center}
.gate-brand .brand-mark{margin-bottom:10px}
.brand-mark{width:52px;height:52px;border-radius:13px;background:linear-gradient(145deg,var(--gold),var(--gold-d));color:#fff;font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif}
.brand-mark.sm{width:34px;height:34px;font-size:15px;border-radius:9px}

/* 表单 */
.field{display:block;margin-bottom:12px}
.field>span{display:block;font-size:13px;color:var(--ink-2);margin-bottom:5px;font-weight:600}
.field input,.field select,.field textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;background:#fff;color:var(--ink)}
.field input:focus,.field select:focus{outline:2px solid var(--gold-l);border-color:var(--gold)}
.field-row{display:flex;gap:8px}
.form-error{color:var(--red);font-size:13px;margin:6px 0}
.hint{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;background:var(--gray-l);color:var(--ink);transition:.15s}
.btn:hover{filter:brightness(.97)}
.btn-primary{background:var(--gold);color:#fff}
.btn-primary:hover{background:var(--gold-d)}
.btn-blue{background:var(--blue);color:#fff}
.btn-gold{background:var(--gold-l);border-color:var(--gold);color:var(--gold-d)}
.btn-purple{background:var(--purple);color:#fff}
.btn-green{background:var(--green);color:#fff}
.btn-orange{background:var(--orange);color:#fff}
.btn-red{background:var(--red);color:#fff}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink-2)}
.btn-danger-ghost{background:#fff;border-color:var(--red);color:var(--red)}
.btn-block{width:100%}
.btn.sm{padding:5px 11px;font-size:13px;border-radius:7px}
.btn.xs{padding:3px 9px;font-size:12px;border-radius:6px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* 顶栏 */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;padding:12px 20px;background:#fff;box-shadow:0 2px 14px rgba(31,39,51,.09);flex-wrap:wrap;border-bottom:2px solid var(--gold-l)}
.topbar-left{display:flex;align-items:center;gap:9px}
.brand-title{font-size:19px;font-weight:800;letter-spacing:1.5px}
.brand-title small{display:block;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:0}
.mainnav{display:flex;gap:2px;overflow-x:auto;flex:1;min-width:200px;scrollbar-width:none}
.mainnav::-webkit-scrollbar{display:none}
.mainnav a{padding:11px 18px;border-radius:10px;color:var(--ink-2);font-weight:700;font-size:16px;letter-spacing:.5px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:.15s}
.mainnav a.active{background:linear-gradient(145deg,#e5bd33,#c9a227);color:#fff;box-shadow:0 3px 10px rgba(201,162,39,.4)}
.mainnav a:hover{background:var(--gold-l);color:var(--gold-d);transform:translateY(-1px)}
.topbar-right{display:flex;align-items:center;gap:10px}
#btn-identity{max-width:180px}
.dev-switch{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.dev-switch input{display:none}
.dev-switch i{width:34px;height:19px;border-radius:10px;background:var(--gray-l);position:relative;transition:.2s}
.dev-switch i::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}
.dev-switch input:checked+i{background:var(--green)}
.dev-switch input:checked+i::after{left:17px}
.dev-switch em{font-style:normal;font-size:13px;color:var(--ink-2)}

/* 布局 */
.view{max-width:100%;margin:16px auto;padding:0 20px;min-height:calc(100vh - 160px)}
.foot{text-align:center;color:var(--muted);font-size:12.5px;padding:18px 0 26px}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.page-head h2{font-size:20px}
.page-head .sub{color:var(--muted);font-size:13px;margin-top:2px}
.row{display:flex;gap:14px;flex-wrap:wrap}
.col{flex:1;min-width:260px}

/* 卡片 */
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;margin-bottom:14px}
.card h3{font-size:15.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.card h3 .dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.stat{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;position:relative;overflow:hidden}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,var(--gold))}
.stat .label{font-size:13px;color:var(--muted)}
.stat .value{font-size:24px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}
.stat .extra{font-size:12.5px;color:var(--muted);margin-top:3px}

/* 色块功能卡 */
.modgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.modcard{border-radius:14px;padding:18px 16px;color:#fff;cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:8px;border:none;text-align:left}
.modcard:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 6px 16px rgba(0,0,0,.15)}
.modcard .ic{font-size:24px}
.modcard .t{font-size:16px;font-weight:800}
.modcard .d{font-size:12.5px;opacity:.85}
.mc-gold{background:linear-gradient(145deg,#d8ab2c,#b3891c)}
.mc-blue{background:linear-gradient(145deg,#4a80f0,#2f62d4)}
.mc-green{background:linear-gradient(145deg,#22ad68,#148a50)}
.mc-orange{background:linear-gradient(145deg,#f09332,#d1701a)}
.mc-red{background:linear-gradient(145deg,#e05a4f,#bc382e)}
.mc-purple{background:linear-gradient(145deg,#8a5ee0,#6a42c2)}
.mc-gray{background:linear-gradient(145deg,#8d99ab,#6d7889)}
.mc-teal{background:linear-gradient(145deg,#28a8a0,#1a8680)}

/* 表格 */
.tablewrap{overflow-x:auto}
table.tb{width:100%;border-collapse:collapse;font-size:13px}
/* 自适应宽表：表格铺满页面宽度，不用左右拖动 */
.tb-fluid{table-layout:fixed}
.tb-fluid th,.tb-fluid td{padding:5px 6px;white-space:normal;overflow:hidden}
.tb-fluid input,.tb-fluid select{box-sizing:border-box}
.tb-fluid thead th{position:static}
.tb th{background:var(--gray-l);color:var(--ink-2);font-weight:600;text-align:left;padding:9px 10px;white-space:nowrap;position:sticky;top:0}
.tb td{padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tb tr:hover td{background:#fafbfd}
.tb .num{font-variant-numeric:tabular-nums;text-align:right}
.tb th.num{text-align:right}
.amount{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}

/* 状态标签 */
.tag{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}
.tag-green{background:var(--green-l);color:var(--green)}
.tag-blue{background:var(--blue-l);color:var(--blue)}
.tag-orange{background:var(--orange-l);color:#c26a12}
.tag-red{background:var(--red-l);color:var(--red)}
.tag-gray{background:var(--gray-l);color:var(--gray)}
.tag-gold{background:var(--gold-l);color:var(--gold-d)}
.tag-purple{background:var(--purple-l);color:var(--purple)}

/* 金价条 */
/* v10278 · 金价芯片重排：三列网格 + 只留主要信息（标题/金价加大加粗） */
.goldbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.goldbar{grid-template-columns:1fr}}
.goldchip{min-width:0;background:linear-gradient(145deg,#fdf6e0,#faedc8);border:1px solid #f0e0ae;border-radius:14px;padding:14px 16px 13px;display:flex;flex-direction:column;gap:4px}
.goldchip .m{font-size:16.5px;font-weight:800;color:#7a5a0a;display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.3}
.goldchip .m .tag{font-size:11px;font-weight:700}
.goldchip .p{font-size:31px;font-weight:800;color:#6f5410;font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1.15;margin:2px 0 4px}
.goldchip .p small{font-size:13px;font-weight:700;color:#9a7d2e;letter-spacing:0}
.goldchip .row{display:flex;gap:8px;align-items:center;margin-top:auto}
.goldchip .row input{flex:1;min-width:0;padding:8px 10px;border:1px solid #e6d9a8;border-radius:9px;background:#fff;font-size:14px;font-weight:700;color:#3a2f26}
.goldchip .trend{font-size:12px;font-weight:700}
.trend.up{color:var(--red)} .trend.down{color:var(--green)}

/* 搜索/筛选条 */
.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.filterbar input,.filterbar select{padding:8px 11px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;background:#fff}
.filterbar input.kw{min-width:230px}

/* 分页 */
.pager{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:10px;font-size:13px;color:var(--muted)}

/* 会员卡 */
.member-hit{background:var(--green-l);border:1px solid #bfe7d0;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.member-hit .avatar{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}
.member-miss{background:var(--orange-l);border:1px solid #f2cfa0;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#9a5b0f}
.member-miss .btn{margin-left:auto}
.member-form{background:#fff8ef;border:1px dashed var(--orange);border-radius:12px;padding:14px;margin-top:10px}

/* 开单购物车 */
.cart-line{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px dashed var(--line)}
.cart-line .nm{flex:1;min-width:0}
.cart-line .nm b{display:block}
.cart-line .nm span{font-size:12.5px;color:var(--muted)}
.big-total{font-size:30px;font-weight:800;color:var(--gold-d);font-variant-numeric:tabular-nums}
.splitline{display:flex;justify-content:space-between;padding:5px 0;font-size:14px}
.splitline.total{border-top:2px solid var(--ink);margin-top:6px;padding-top:9px;font-weight:800}
.splitline .v{font-variant-numeric:tabular-nums;font-weight:700}

/* 弹窗 */
.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(20,25,35,.45)}
.modal-body{position:relative;background:#fff;border-radius:16px;padding:22px;width:560px;max-width:96vw;max-height:88vh;overflow:auto;box-shadow:0 18px 60px rgba(0,0,0,.3)}
.modal-body h3{font-size:17px;margin-bottom:14px}
.modal-close{position:absolute;top:12px;right:14px;border:none;background:var(--gray-l);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;color:var(--ink-2)}

/* 提示 */
.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:99;background:#222b38;color:#fff;padding:12px 24px;border-radius:12px;font-size:14.5px;box-shadow:0 10px 34px rgba(0,0,0,.32);animation:fadein .22s}
.toast.err{background:var(--red)} .toast.ok{background:var(--green)}
@keyframes fadein{from{opacity:0;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* 定位码系统 */
[data-loc]{position:relative}
body.dev-on [data-loc]{outline:1px dashed rgba(201,162,39,.55);outline-offset:1px}
body.dev-on [data-loc]:hover::after{content:attr(data-loc);position:absolute;left:0;top:-20px;background:#20242c;color:#ffd968;font-size:11px;padding:1px 7px;border-radius:5px;white-space:nowrap;z-index:60;pointer-events:none}
.locmenu{position:fixed;z-index:95;background:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.22);padding:6px;min-width:150px}
.locmenu-item{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 12px;border-radius:7px;font-size:13.5px;cursor:pointer}
.locmenu-item:hover{background:var(--gray-l)}
.locmenu-item.primary{color:var(--gold-d);font-weight:700}
.loc-hit{outline:3px solid var(--red)!important;outline-offset:2px!important;background:var(--red-l)!important}
.loc-list{max-height:52vh;overflow:auto}
.loc-row{display:flex;gap:8px;align-items:center;padding:6px 4px;border-bottom:1px dashed var(--line);font-size:13px}
.loc-row code{background:var(--gray-l);padding:1px 7px;border-radius:5px;font-size:12px;word-break:break-all}
.loc-row .btn{margin-left:auto}

/* 简易条形图 */
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.bar-row .bl{width:86px;font-size:13px;color:var(--ink-2);text-align:right;flex-shrink:0}
.bar-track{flex:1;background:var(--gray-l);border-radius:6px;height:20px;overflow:hidden}
.bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#e8c457,var(--gold));min-width:2px}
.bar-row .bv{width:110px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}

/* 扫码录入区（大而醒目） */
.scanrow{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}
#sl-scan{flex:0 1 320px;min-width:210px;height:52px;font-size:18px;font-weight:700;letter-spacing:1px;padding:0 16px;border:2px solid var(--gold)!important;border-radius:12px;background:#fffdf5;color:var(--ink);box-shadow:0 0 0 3px rgba(201,162,39,.14),0 3px 14px rgba(201,162,39,.16);transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .2s;transform-origin:left center;position:relative;z-index:1;animation:scanPulse 2.8s ease-in-out infinite}
/* v10235 · 扫码框 = 全站第一个输入点：金色呼吸光圈常亮 + 点击（聚焦）放大（#sl-scan 提升优先级，压过 .card input 通用规则） */
#sl-scan:focus{outline:none;border-color:var(--gold-d)!important;background:#fffdf5!important;box-shadow:0 0 0 6px rgba(201,162,39,.30),0 10px 26px rgba(201,162,39,.32)!important;transform:scale(1.04);z-index:6;animation:none}
@keyframes scanPulse{0%,100%{box-shadow:0 0 0 3px rgba(201,162,39,.12),0 3px 14px rgba(201,162,39,.14)}50%{box-shadow:0 0 0 7px rgba(201,162,39,.28),0 5px 20px rgba(201,162,39,.30)}}
@media (prefers-reduced-motion:reduce){#sl-scan{animation:none}}
#sl-scan::placeholder{font-size:15px;font-weight:500;letter-spacing:0;color:var(--muted)}
/* v10238 · 会员手机号框（第三步「会员收款」第一个输入点）：与扫码框同款——金框 + 呼吸光圈 + 聚焦放大 */
#sl-phone{width:240px;border:2px solid var(--gold)!important;border-radius:12px;background:#fffdf5;box-shadow:0 0 0 3px rgba(201,162,39,.14),0 3px 14px rgba(201,162,39,.16);transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .2s;transform-origin:left center;position:relative;z-index:1;animation:scanPulse 2.8s ease-in-out infinite}
#sl-phone:focus{outline:none;border-color:var(--gold-d)!important;background:#fffdf5!important;box-shadow:0 0 0 6px rgba(201,162,39,.30),0 10px 26px rgba(201,162,39,.32)!important;transform:scale(1.04);z-index:6;animation:none}
#sl-phone::placeholder{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}
@media (prefers-reduced-motion:reduce){#sl-phone{animation:none}}
@media (max-width:720px){#sl-phone{width:160px}}
/* v10239 · 实收金额：红字加粗加大居中（精简 + 详情；!important 压过模板内联样式） */
#sl-received{color:#d02f2f!important;font-weight:800!important;font-size:24px!important;text-align:center!important;font-variant-numeric:tabular-nums;letter-spacing:.5px}
#sl-received::placeholder{font-weight:500;font-size:14px;letter-spacing:0;color:var(--muted)}
/* v10241 · Excel 网格数字格：隐藏浏览器自带的「三角」加减（方向键=上下移动单元格，不再调数值；全 .xls 表格统一） */
.xls input[type=number]::-webkit-outer-spin-button,
.xls input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.xls input[type=number]{-moz-appearance:textfield;appearance:textfield}
/* 选件面板 */
#sl-stockpanel{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:10px;background:#fbfcfe}
.picker-list{max-height:300px;overflow:auto;border-top:1px dashed var(--line)}
.picker-list .loc-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--line);font-size:13.5px}
.picker-list .loc-row:hover{background:var(--gold-l)}
.picker-list .loc-row span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 打印 */
.print-area{display:none}
/* 单据纸张统一 A4（210mm × 297mm，四边 10mm 页边距）；吊牌标签不指定纸张，交给打印机驱动 */
@page a4{size:A4 portrait;margin:10mm}
@media print{
  html,body{background:#fff}
  /* v10494 · 不再让「隐藏但仍占位」的整页界面撑出空白页：
     ① 高度归零 ② 除打印区外直接不参与排版（visibility:hidden 仍占高度 → 会多打一张空白纸） */
  html,body{height:auto!important;min-height:0!important;margin:0!important}
  body *{visibility:hidden}
  .print-area,.print-area *{visibility:visible}
  body>*:not(.print-area){display:none!important}
  .print-area{display:block;position:static;left:auto;top:auto;right:auto;padding:0;background:#fff}
  /* v10501 · 打印区统一「纯线条」：去掉所有底色 / 背景图 / 圆角 / 阴影（驱动常把圆角底色块打成实心黑块） */
  .print-area,.print-area *{background:transparent!important;background-image:none!important;background-color:transparent!important;
    border-radius:0!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;
    -webkit-print-color-adjust:economy!important;print-color-adjust:economy!important}
  .docprint{page:a4;box-shadow:none;border-radius:0;padding:0}
}
.label-card{display:inline-block;border:1px solid #333;padding:6px 10px;margin:6px;font-family:sans-serif}
.label-card .nm{font-size:14px;font-weight:700}
.label-card .meta{font-size:12px}
.receipt{width:280px;font-family:"Courier New",monospace;font-size:12px}
.receipt h4{text-align:center;font-size:15px}
.receipt table{width:100%;font-size:11.5px}
.receipt .r{text-align:right}

/* 响应式 */
@media (max-width:720px){
  .topbar{padding:8px 10px;gap:8px}
  .mainnav{order:3;width:100%}
  .view{margin-top:12px;padding:0 10px}
  .stat .value{font-size:20px}
  .big-total{font-size:24px}
}

/* ============ 单据设计器 ============ */
.dztabs{display:flex;gap:8px;flex-wrap:wrap}
.dztab{padding:8px 16px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.dztab:hover{background:var(--gold-l);color:var(--gold-d)}
.dztab.on{background:linear-gradient(145deg,#e5bd33,#c9a227);color:#fff;border-color:transparent;box-shadow:0 3px 10px rgba(201,162,39,.35)}
.dz-wrap{display:grid;grid-template-columns:220px minmax(0,1.6fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:12px}
.dz-palette,.dz-palette.card,.dz-canvas-card,.dz-preview-card{margin:0}
.dz-palette{max-height:640px;overflow:auto}
.dz-group{font-size:12.5px;font-weight:800;color:var(--gold-d);margin:10px 0 6px;letter-spacing:.5px}
.dz-group:first-child{margin-top:0}
.dz-pchip{display:inline-block;padding:5px 10px;margin:0 5px 6px 0;border:1px dashed #cfd7e3;border-radius:8px;background:#fbfcfe;font-size:13px;cursor:grab;user-select:none}
.dz-pchip:hover{border-color:var(--gold);background:var(--gold-l);color:var(--gold-d)}
.dz-canvas{min-height:260px;border:2px dashed #d8e0ea;border-radius:12px;padding:8px;background:#fbfcfe}
.dz-row{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:8px;padding:6px}
.dz-row.dz-over{border-color:var(--gold);background:var(--gold-l)}
.dz-rowbar{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.dz-rownum{font-size:11.5px;color:var(--muted);font-weight:700;margin-right:auto}
.dz-rowbody{display:flex;flex-wrap:wrap;gap:6px;min-height:34px;align-items:center}
.dz-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 16px 5px 8px;border:1px solid var(--gold);border-radius:9px;background:var(--gold-l);font-size:13px;cursor:grab;user-select:none;position:relative;overflow:hidden;min-width:0}
.dz-chip b{font-weight:700;color:var(--gold-d)}
.dz-chip select{padding:2px 4px;border:1px solid #e2d7ab;border-radius:6px;background:#fff;font-size:12px}
.dz-x{border:none;background:none;color:var(--red);font-size:13px;cursor:pointer;padding:0 2px;font-weight:700;flex:0 0 auto}
/* v10309 · 可视化调宽：字段右侧拖拽条 / 行选中 / 表头与列清单拖宽 */
.dz-fw{font-size:11px;color:var(--gold-d);font-weight:800;min-width:30px;text-align:right;flex:0 0 auto}
/* 窄字段只留标签 + 拖拽条，避免下拉/百分比把文字挤掉（v10309） */
.dz-chip-sm select,.dz-chip-sm .dz-fw{display:none}
.dz-chip-sm{padding:5px 14px 5px 8px;gap:4px}
.dz-resize{position:absolute;right:0;top:0;bottom:0;width:10px;cursor:ew-resize;background:linear-gradient(90deg,transparent,rgba(201,162,39,.26));border-radius:0 8px 8px 0;touch-action:none}
.dz-resize:hover{background:rgba(201,162,39,.48)}
.dz-row.dz-sel{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.16);background:#fffdf6}
.dz-colgrip{cursor:ew-resize;color:var(--gold-d);font-weight:800;padding:0 5px;user-select:none;flex:0 0 auto;touch-action:none}
.dz-thgrip{position:absolute;top:0;bottom:0;right:0;width:8px;cursor:ew-resize;z-index:9;border-radius:3px;touch-action:none;background:rgba(201,162,39,.10)}
.dz-thgrip:hover{background:rgba(201,162,39,.42)}
.dz-empty,.dz-hintdrop{color:var(--muted);font-size:13px;padding:12px;display:block;text-align:center}
.dz-prevbox{max-height:680px;overflow:auto;background:#eef1f5;border-radius:10px;padding:10px}
/* 预览纸面：与打印完全一致的 A4 比例（210×297mm），仅作缩放显示 */
.dz-paper{width:210mm;min-height:297mm;background:#fff;padding:10mm;border-radius:2px;box-shadow:0 3px 14px rgba(31,39,51,.16);font-size:13px;zoom:.52}
/* 单据渲染（预览与打印共用）——A4 内容宽度 190mm，页脚固定在纸底 */
.docprint{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);page:a4;width:190mm;min-height:277mm;display:flex;flex-direction:column;background:#fff}
.docprint-title{font-size:20px;font-weight:800;letter-spacing:2px;text-align:center;padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid var(--gold)}
.docprint-row{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:6px}
.docprint-cell{display:flex;flex-direction:column;min-width:0;padding:6px 0;border-bottom:1px dotted var(--line)}
.docprint-full{flex:1 1 100%!important;max-width:100%!important;border-bottom:none}
.docprint-lb{font-size:12.5px;color:var(--muted)}
.docprint-val{font-size:15px;font-weight:700;word-break:break-all}
.docprint-val.doc-lines{font-weight:400}
.docprint .tb{font-size:13.5px}
.docprint .tb th{position:static;white-space:normal}
.docprint .tb td{white-space:normal;padding:7px 8px}
.doc-empty{color:var(--muted);font-size:13px;padding:10px 0}
.docprint-foot{margin-top:auto;padding-top:8px;border-top:1px dashed var(--line);font-size:11.5px;color:var(--muted);text-align:center}
@media (max-width:1100px){.dz-wrap{grid-template-columns:1fr}}

/* ============ 硬件设备（天平读数器 / 设备配置卡） ============ */
.devwidget{position:fixed;right:18px;bottom:18px;z-index:60;font-size:13px}
.dw-launcher{width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(145deg,#e5bd33,#c9a227);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 6px 18px rgba(201,162,39,.45);transition:.15s}
.dw-launcher:hover{transform:translateY(-2px)}
.devwidget.on{width:268px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(31,39,51,.18);overflow:hidden}
.dw-head{display:flex;align-items:center;gap:8px;padding:9px 11px;background:linear-gradient(145deg,#fdf6e0,#fff);border-bottom:1px solid var(--line);font-weight:700}
.dw-head .dw-x{margin-left:auto;border:none;background:none;cursor:pointer;color:var(--muted);font-size:14px}
.dw-body{padding:10px 11px}
.dw-weight{font-size:30px;font-weight:800;color:var(--gold-d);text-align:center;font-variant-numeric:tabular-nums;line-height:1.2}
.dw-weight small{font-size:14px;font-weight:600}
.dw-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.dw-raw{margin-top:6px;max-height:110px;overflow:auto;background:#f7f9fc;border-radius:8px;padding:6px 8px;font-family:Consolas,Menlo,monospace;font-size:11.5px;color:var(--ink-2)}
.devgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.devchecks{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}
.devchecks label{display:flex;align-items:center;gap:5px;font-size:13.5px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe}
@media (max-width:720px){.devwidget.on{width:calc(100vw - 28px)}}

/* ============ 明细单（表格型单据） ============ */
.dztab small{display:block;font-size:10.5px;font-weight:600;opacity:.75;letter-spacing:.3px}
.dz-wrap-detail{grid-template-columns:230px minmax(0,1fr) minmax(0,1.15fr)}
.dz-pchip.used{opacity:.45;text-decoration:line-through}
.dz-cols{display:flex;flex-direction:column;gap:6px;min-height:120px;max-height:520px;overflow:auto;padding:6px;border:2px dashed #d8e0ea;border-radius:12px;background:#fbfcfe}
.dz-col{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:grab;font-size:13px}
.dz-col:hover{border-color:var(--gold)}
.dz-col.dz-over{border-color:var(--gold);background:var(--gold-l)}
.dz-colname{font-weight:700;min-width:96px;color:var(--ink)}
.dz-colw{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}
.dz-colw input{width:62px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;font-size:12.5px}
.dz-colsum{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink-2)}
.dz-excelbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.dz-prevbox-detail{background:#fff;padding:10px;max-height:520px}
/* 明细表 */
.dl-tablewrap{overflow:auto;max-height:none}
.dl-table th,.dl-table td{border-bottom:1px solid var(--line);padding:6px 8px;font-size:12.5px;white-space:nowrap}
.dl-table thead th{background:var(--gray-l);font-weight:700}
.dl-table tfoot td{background:var(--gold-l);font-weight:800;border-top:2px solid var(--gold)}
/* v10323 · 收账明细表尾合计 */
.tb tfoot td{background:#fbf7ea;font-weight:800;border-top:2px solid var(--gold);color:var(--ink)}
.dl-sumlab{color:var(--gold-d);letter-spacing:1px}
.dl-head{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.dl-head-item{display:flex;flex-direction:column;min-width:120px}
.dl-summary{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.dl-summary-item{display:flex;flex-direction:column;min-width:120px}
.detail-doc .dl-tablewrap{margin-top:4px}
@media print{
  .dl-table th,.dl-table td{font-size:11px;padding:5px 6px}
  .detail-doc .dl-summary{margin-top:14px}
}

/* ============ 开发模式：布局编辑 ============ */
.devlayout{position:fixed;left:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:10px;background:#20242c;color:#fff;
  padding:9px 12px;border-radius:12px;box-shadow:0 8px 26px rgba(0,0,0,.32);font-size:13px;max-width:calc(100vw - 40px);flex-wrap:wrap}
.devlayout b{color:#ffd968;letter-spacing:.5px}
.devlayout .muted{color:#a9b2c0;font-size:12.5px}
body.dev-on .layout-move{cursor:grab;position:relative}
body.dev-on .layout-move:hover{outline:2px dashed var(--blue)!important;outline-offset:2px}
body.dev-on .layout-move:hover::before{content:'可拖动';position:absolute;right:2px;top:-16px;background:var(--blue);color:#fff;font-size:10px;padding:0 5px;border-radius:4px;z-index:61}
.layout-dragging{opacity:.45}
@media (max-width:720px){.devlayout{left:10px;right:10px;bottom:10px;font-size:12px}}

/* ============ 单件入库表单（自适应多列布局） ============ */
.sg-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.sg-toolbar .muted{font-size:12.5px}
.sg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px}
.sg-grid .field{margin-bottom:0}
.sg-grid .field>span{font-size:13px;font-weight:600;color:var(--ink-2)}
.sg-grid .field input,.sg-grid .field select{width:100%;padding:11px 12px;font-size:15px;font-weight:600;border:1px solid var(--line);border-radius:10px;background:#fff}
.sg-grid .field input:focus,.sg-grid .field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-l)}
.sg-costbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 16px;background:var(--gold-l);border-radius:12px;max-width:640px}
.sg-costbar span{font-size:14px;font-weight:600;color:var(--ink-2)}
.sg-costbar b{font-size:24px;font-weight:800;color:var(--gold-d);font-variant-numeric:tabular-nums}
.sg-costbar small{font-size:12.5px}

/* 单件入库：底部按钮区（按钮靠右） */
.sg-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px;padding-top:12px;border-top:1px dashed var(--line)}
.sg-footer .muted{font-size:12.5px;margin-right:auto}
.sg-footer .btn{min-width:150px;padding:12px 26px;font-size:16px}
/* 拼音速查下拉 */
.py-suggest{position:fixed;z-index:120;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(31,39,51,.18);overflow:hidden;max-height:280px;overflow-y:auto}
.py-item{padding:8px 12px;font-size:14px;cursor:pointer;border-bottom:1px dashed var(--line)}
.py-item:last-child{border-bottom:none}
.py-item:hover,.py-item.on{background:var(--gold-l);color:var(--gold-d);font-weight:700}

/* ============ 打印工作室（标签设计 / 报表设计） ============ */
.ps-tabs{display:flex;gap:8px}
.ps-tab{padding:9px 18px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink-2)}
.ps-tab.on{background:var(--gold-l);border-color:var(--gold);color:var(--gold-d)}
.ps-wrap{display:grid;grid-template-columns:250px minmax(0,1fr) 272px;gap:12px;align-items:start}
@media (max-width:1180px){.ps-wrap{grid-template-columns:1fr}}
.ps-side .card,.ps-prop .card{padding:12px}
.ps-side h3{display:flex;align-items:center}
.ps-tpls{margin:6px 0}
.ps-tpl{padding:8px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;margin-bottom:6px;background:#fff}
.ps-tpl.on{border-color:var(--gold);background:var(--gold-l)}
.ps-tpl .nm{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:6px}
.ps-tplops{display:flex;gap:6px;margin-top:2px}
.ps-addbar{display:flex;flex-wrap:wrap;gap:6px}
.ps-main{min-width:0}
.ps-stage{background:#e9ecf1;border-radius:12px;padding:24px;overflow:auto;min-height:480px;display:flex;justify-content:center;align-items:flex-start}
.ps-zoom{position:relative}
.ps-paper{background:#fff;box-shadow:0 3px 14px rgba(31,39,51,.16);position:relative;
  background-image:linear-gradient(to right,rgba(31,39,51,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(31,39,51,.06) 1px,transparent 1px);
  background-size:5mm 5mm}
.ps-el{position:absolute;box-sizing:border-box;overflow:hidden;cursor:move;user-select:none;touch-action:none;display:flex;align-items:center;line-height:1.15;word-break:break-all}
.ps-el.on{outline:1px solid #3b74ff}
.ps-el canvas,.ps-el svg{max-width:100%;max-height:100%;display:block;margin:auto}
.ps-zoomctl{display:flex;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:13px}
.ps-zoomctl #ps-k{min-width:52px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.ps-prop .card{position:sticky;top:12px}
.ps-frow{display:flex;align-items:center;gap:6px;margin:8px 0;font-size:13px;flex-wrap:wrap}
.ps-frow>label{width:42px;color:var(--ink-2);font-weight:600;flex-shrink:0}
.ps-frow input[type=number],.ps-frow input[type=text],.ps-frow select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.ps-frow input:focus,.ps-frow select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-l)}

/* 宽屏弹窗（单件入库等大表单用） */
.modal-body.modal-wide{width:1120px;max-width:96vw}
.sg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 14px}
@media (max-width:1250px){.sg-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.sg-grid{grid-template-columns:repeat(2,1fr)}}
.sg-grid .field>span{font-size:12.5px}
.sg-grid .field input,.sg-grid .field select{padding:9px 10px;font-size:14px}

/* ============ 皮肤（主题）系统 ============ */
body[data-theme="cn"]{ --gold:#b8452f; --gold-d:#93331f; --gold-l:#f9e9e1;
  --bg:#f6f1e4; --card:#fffdf7; --line:#e9dfc9; --ink:#3a2f26; --ink-2:#5c4f40; --muted:#9a8d7a;
  background:radial-gradient(1100px 560px at 88% -8%, rgba(184,69,47,.07), transparent 60%),
    radial-gradient(900px 520px at -8% 108%, rgba(201,162,39,.09), transparent 60%),
    repeating-linear-gradient(45deg, rgba(58,47,38,.012) 0 2px, transparent 2px 6px), #f6f1e4; }
body[data-theme="cq"]{ --gold:#2f7d6d; --gold-d:#256557; --gold-l:#e2f0ec;
  --bg:#eef3f1; --card:#fcfffd; --line:#dbe6e1; --ink:#22322d; --ink-2:#3f534b; --muted:#7f948c;
  background:radial-gradient(1100px 560px at 88% -8%, rgba(47,125,109,.07), transparent 60%),
    radial-gradient(900px 520px at -8% 108%, rgba(47,125,109,.05), transparent 60%), #eef3f1; }
body[data-theme="ws"]{ --gold:#b07d3f; --gold-d:#96672f; --gold-l:#f7ecdc;
  --bg:#f7f2ea; --card:#fffef9; --line:#e8dfd0; --ink:#38301f; --ink-2:#5a4e38; --muted:#9a8f78;
  background:radial-gradient(1100px 560px at 88% -8%, rgba(176,125,63,.08), transparent 60%),
    radial-gradient(900px 520px at -8% 108%, rgba(176,125,63,.05), transparent 60%), #f7f2ea; }
.skin-item{display:flex;align-items:center;gap:12px;padding:12px 10px;border:2px solid var(--line);border-radius:12px;cursor:pointer;margin-bottom:10px;transition:.15s}
.skin-item:hover{border-color:var(--gold)}
.skin-item.on{border-color:var(--gold);background:var(--gold-l)}
.skin-item .sw{display:flex;gap:4px}
.skin-item .sw i{width:26px;height:26px;border-radius:8px;border:1px solid rgba(0,0,0,.08);display:block}
.skin-item b{flex:1;font-size:14.5px}

/* ============ 标签页系统（v10158）：页面以标签显示，关闭暂存数据 ============ */
.viewtabs{display:flex;gap:6px;align-items:center;padding:8px 16px 0;overflow-x:auto;scrollbar-width:thin;background:var(--bg);border-bottom:1px solid var(--line);min-height:42px;flex-wrap:nowrap}
.viewtabs.hidden{display:none}
.vtab{display:inline-flex;align-items:center;gap:8px;padding:8px 10px 8px 16px;background:var(--gray-l);border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;font-size:13.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:.12s;user-select:none}
.vtab:hover{background:var(--card);color:var(--ink)}
.vtab.on{background:var(--card);color:var(--ink);font-weight:700;box-shadow:0 -2px 6px rgba(31,39,51,.04);border-color:var(--line)}
.vtab.on b{color:var(--gold-d)}
.vtab .x{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:15px;color:var(--muted);cursor:pointer;line-height:1}
.vtab .x:hover{background:var(--red-l);color:var(--red)}
.vtab-empty{font-size:12.5px;color:var(--muted);padding:6px 2px}
.tabpage{display:none}
.tabpage.on{display:block}
.view{padding-top:2px}

/* 入库保存大按钮：右侧偏中 */
.btn-savebig{padding:12px 40px;font-size:16.5px;font-weight:800;border-radius:12px;box-shadow:0 3px 12px rgba(201,162,39,.3);letter-spacing:1px}
.btn-savebig:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(201,162,39,.4)}

/* ============ v10159 · 暗色外壳：背景灰黑，卡片内配色不变 ============ */
body, body[data-theme]{--bg:#24282f;background:#24282f!important;background-image:none!important}
.page-head h2{color:#eef1f6}
.page-head .sub{color:#98a2b3}
.foot{color:#7e8898}
.topbar{background:#262b32;border-bottom-color:#3a414c;box-shadow:0 2px 14px rgba(0,0,0,.4)}
.topbar .brand-title{color:#eef1f6}
.topbar .brand-title small{color:#98a2b3}
.mainnav a{color:#c7cedb}
.mainnav a:hover{background:#3a414c;color:#e8c766;transform:translateY(-1px)}
.topbar .btn-ghost{background:#31373f;border-color:#4a5260;color:#c7cedb}
.topbar .btn-ghost:hover{background:#3a414c;color:#fff}
.topbar .dev-switch em{color:#c7cedb}
.viewtabs{background:#262b32;border-bottom:1px solid #3a414c}
.vtab{background:#31373f;border-color:#3a414c;color:#c7cedb}
.vtab:hover{background:#3a414c;color:#fff}
.vtab.on{background:var(--card);color:var(--ink);border-color:var(--line)}
.vtab.on b{color:var(--gold-d)}
.vtab .x{color:#98a2b3}
.vtab-empty{color:#8a94a3}

/* ============ v10159 · 表格内嵌输入框（有明显凹陷输入感） + Excel 浅绿表头 ============ */
.tb-green thead th{background:#e2efda;color:#375623;font-weight:700;border-bottom:2px solid #b7d7a8}
.cell-input{width:100%;min-width:0;padding:7px 9px;border:1px solid #d6dde7;border-radius:7px;font-size:13.5px;background:#fff;color:var(--ink);box-shadow:inset 0 2px 4px rgba(31,39,51,.08);transition:border-color .12s, box-shadow .12s}
.cell-input:focus{border-color:var(--gold);outline:none;box-shadow:inset 0 2px 4px rgba(31,39,51,.05),0 0 0 3px var(--gold-l)}
select.cell-input{box-shadow:inset 0 1px 3px rgba(31,39,51,.06);cursor:pointer}
/* 点列标题排序 */
th[data-sk]{cursor:pointer;user-select:none}
th[data-sk]:hover{color:var(--gold-d)}

/* ============ v10159 · 首页主次布局 + 功能卡标题居中 + 开发模式调宽 ============ */
.dash-hero{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;align-items:stretch;margin-bottom:14px}
.dash-hero .card{margin-bottom:0}
.dash-hero .hero-side .card{margin-bottom:14px}
@media (max-width:1024px){.dash-hero{grid-template-columns:1fr}}   /* v10247 · 两列变一列提到 1024（小屏笔记本 / 窄窗） */
.modgrid{display:flex;flex-wrap:wrap;gap:12px}
.modcard{position:relative;flex:1 1 168px;min-width:150px;max-width:100%;border-radius:14px;padding:14px 12px 12px;color:#fff;cursor:pointer;transition:.15s;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;border:none}
.modcard .t{font-size:15.5px;font-weight:800;line-height:1.25;cursor:pointer}
.modcard .t:hover{text-decoration:underline;text-underline-offset:3px}
.modcard .ic{font-size:26px}
.modcard .d{font-size:12px;opacity:.88;line-height:1.35}
.modcard .rsz{display:none;position:absolute;right:1px;top:18%;bottom:18%;width:9px;border-radius:5px;cursor:ew-resize;background:rgba(255,255,255,.0)}
body.dev-on .modcard .rsz{display:block;background:rgba(255,255,255,.4)}
body.dev-on .modcard .rsz:hover{background:#fff}
.modcard.resizing{transition:none;user-select:none;cursor:ew-resize}

/* 列标题排序指示 */
.skd{color:var(--gold-d);font-size:10px;margin-left:2px}

/* ============ v10159 · 登录/启动页焕新：黄金质感暗色舞台（finesse · register=brand · A=金箔+炭黑 · B=serif tracked · D=CSS微尘 · E=金属光 · SOUL=8 SPECTACLE=4 DENSITY=2） ============ */
.boot,.gate{background:radial-gradient(1100px 760px at 72% -12%, #32291a 0%, #1b1e24 52%, #131519 100%)!important}
.boot::before,.gate::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>")}
.boot::after,.gate::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%, transparent 55%, rgba(0,0,0,.5) 100%)}
#gate-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}
.gate-card{position:relative;z-index:2;width:410px;max-width:94vw;background:rgba(28,31,37,.74);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(201,162,39,.25);border-radius:22px;padding:30px 28px 22px;color:#eef1f6;box-shadow:0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.07)}
.gate-card .gate-brand{margin-bottom:16px}
.gate-card .brand-mark{width:62px;height:62px;font-size:28px;border-radius:16px;box-shadow:0 12px 34px rgba(201,162,39,.38), inset 0 1px 0 rgba(255,255,255,.35)}
.gate-card h1{font-family:Georgia,"STSong","SimSun",serif;font-size:31px;letter-spacing:8px;color:#f3e7c3;text-indent:8px}
.gate-sub{color:#c9b47a;letter-spacing:2px;font-size:13px;margin:6px 0 20px}
.gate-card .field{margin-bottom:13px}
.gate-card .field>span{color:#b9c2cf;font-size:13px;letter-spacing:1px}
.gate-card input,.gate-card select{width:100%;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.15);color:#eef1f6;border-radius:11px;padding:12px 13px;font-size:14.5px;transition:.15s}
.gate-card input::placeholder{color:#7d8794}
.gate-card input:focus,.gate-card select:focus{outline:none;border-color:var(--gold);background:rgba(201,162,39,.07);box-shadow:0 0 0 3px rgba(201,162,39,.16)}
.gate-card select option{color:#1f2733;background:#fff}
#gate-login,#gate-enter{width:100%;margin-top:6px;background:linear-gradient(145deg,#e8c343,#b8861b);color:#2a2005;font-weight:800;font-size:16px;letter-spacing:6px;text-indent:6px;border:none;border-radius:12px;padding:13px;box-shadow:0 10px 26px rgba(201,162,39,.32);transition:.15s}
#gate-login:hover,#gate-enter:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(201,162,39,.42)}
#gate-note{color:#98a2b3;font-size:12.5px;text-align:left}
#gate-error{background:rgba(216,74,63,.14);border:1px solid rgba(216,74,63,.4);color:#ffb3ab;border-radius:10px;padding:8px 12px;font-size:13px}
#gate-master{color:#8a94a3!important}
#gate-master:hover{color:#c9b47a!important}
.gate-card .hint{color:#98a2b3}
.boot p{color:#c9b47a;letter-spacing:2px}
@media (prefers-reduced-motion: reduce){#gate-fx{display:none}}

/* ============ v10160 · 全站统一「登录页风格」：暗色金调工作台（finesse · product@register · soul=金箔炭黑 延续 gate） ============ */
body, body[data-theme]{
  --card:#262b33; --line:#39404b; --ink:#e9edf3; --ink-2:#c3cbd7; --muted:#8b95a5;
  --gray-l:#31363e; --gold-l:rgba(201,162,39,.16);
  --blue-l:rgba(47,111,237,.2); --green-l:rgba(26,156,91,.2); --red-l:rgba(216,74,63,.2);
  --orange-l:rgba(232,130,30,.2); --purple-l:rgba(122,79,211,.22);
  background:radial-gradient(1100px 700px at 72% -12%, #2c2718 0%, #1c1f25 52%, #17191e 100%)!important;
  background-image:radial-gradient(1100px 700px at 72% -12%, #2c2718 0%, #1c1f25 52%, #17191e 100%)!important;
}
*{scrollbar-width:thin;scrollbar-color:#3a414c transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:#3a414c;border-radius:6px}
*::-webkit-scrollbar-track{background:transparent}
input[type="checkbox"],input[type="radio"]{accent-color:var(--gold)}

/* 卡片：暗玻璃 + 金色发丝边（与登录卡同语言） */
.card{background:rgba(32,36,43,.85);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px rgba(0,0,0,.38)}
.card h3{color:#f0e6cd}
.page-head h2{color:#f3e7c3;letter-spacing:1.5px}
.topbar{background:linear-gradient(180deg,#22262d,#1d2127);border-bottom:1px solid rgba(201,162,39,.42);box-shadow:0 2px 18px rgba(0,0,0,.45)}
.topbar .brand-title{color:#f3e7c3}

/* 按钮：暗底 + 金主按钮（登录按钮同款） */
.btn{background:#3a414c;color:#e2e7ee}
.btn:hover{background:#454d59}
.btn-ghost{background:transparent;border-color:#4a5260;color:#c3cbd7}
.btn-ghost:hover{background:#3a414c;color:#f0e6cd}
.btn-danger-ghost{background:transparent;border-color:rgba(216,74,63,.5);color:#ff9d92}
.btn-danger-ghost:hover{background:rgba(216,74,63,.15);color:#ffb3ab}

/* 输入框：登录页同款暗色内嵌 + 金色聚焦 */
.filterbar input:not([type="checkbox"]):not([type="radio"]),.filterbar select,
.card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.card select,.card textarea,
.modal-body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.modal-body select,.modal-body textarea{
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.15);color:#e9edf3;border-radius:9px}
.filterbar input:focus,.filterbar select:focus,.card input:focus,.card select:focus,.card textarea:focus,
.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{
  outline:none;border-color:var(--gold);background:rgba(201,162,39,.07);box-shadow:0 0 0 3px rgba(201,162,39,.15)}
.filterbar input::placeholder,.card input::placeholder,.card textarea::placeholder,.modal-body input::placeholder,.modal-body textarea::placeholder,.kw::placeholder{color:#7d8794}
.filterbar select option,.card select option,.modal-body select option{color:#1f2733;background:#fff}
.cell-input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#eef1f6;box-shadow:inset 0 2px 4px rgba(0,0,0,.35)}
.cell-input:focus{background:rgba(201,162,39,.08);box-shadow:inset 0 2px 4px rgba(0,0,0,.2),0 0 0 3px rgba(201,162,39,.15)}

/* 表格：暗色 + 行悬停金晕；浅绿表头转「暗夜绿」 */
.tb th{background:#2c323b;color:#c9d0da}
.tb td{border-bottom:1px solid rgba(255,255,255,.07)}
.tb tbody tr:hover{background:rgba(201,162,39,.055)}
.tb-green thead th{background:rgba(96,138,84,.24);color:#c2ddb5;border-bottom:2px solid rgba(122,168,108,.45)}

/* 弹窗 / 菜单：登录卡片同款暗玻璃金边 */
.modal-body{background:linear-gradient(180deg,#282c34,#23272e);border:1px solid rgba(201,162,39,.26);color:#e9edf3;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.modal-mask{background:rgba(8,10,13,.62)}
.modal-body .muted,.modal-body .hint{color:#98a2b3}
.modal-body h3{color:#f0e6cd}
.splitline.total{border-top-color:rgba(255,255,255,.25)}
.splitline .v{color:#f0e6cd}
.locmenu{background:#262b33;border:1px solid rgba(201,162,39,.3);box-shadow:0 12px 34px rgba(0,0,0,.5)}
.locmenu-item{color:#e2e7ee}
.locmenu-item:hover{background:#3a414c}
.locmenu-item.primary{color:#e8c766}

/* 标签页：激活=金调暗卡 */
.vtab.on{background:linear-gradient(180deg,#31363e,#2a2f37);border-color:rgba(201,162,39,.45);color:#f3e7c3}
.vtab.on b{color:#e8c766}
.vtab-empty{color:#8a94a3}

/* 金价芯片微调（暗底上更亮一档） */
.goldchip{background:linear-gradient(145deg,#3a3220,#332c1b);border-color:rgba(201,162,39,.4)}
.goldchip .m{color:#d9c078}
.goldchip .p{color:#f3e0a0}
.goldchip .muted{color:#9a917a!important}
.goldchip input{background:rgba(255,255,255,.07)!important;border-color:rgba(201,162,39,.4)!important;color:#f3e7c3!important}

/* 打印安全：打印输出保持白底黑字 */
@media print{
  body,body[data-theme]{background:#fff!important;background-image:none!important}
  .print-area .tb th,.docprint .tb th{background:#f0f0f0!important;color:#333!important}
  .print-area .tb td,.docprint .tb td{border-bottom:1px solid #ddd!important;color:#222!important}
  .receipt,.label-card{background:#fff!important;color:#111!important}
}

/* 主按钮与登录按钮同语言：金底深字 */
.btn-primary{color:#241d05!important;font-weight:800}
.btn-primary:hover{filter:brightness(1.06)}

/* ============ v10161 · 卡片换浅色「白金磨砂」（暗色舞台保留，卡片内恢复亮底深字） ============ */
body, body[data-theme]{
  --card:#fbf8f1; --line:#e6e1d4; --ink:#232a33; --ink-2:#4a5568; --muted:#8a94a6;
  --gray-l:#eef1f5; --gold-l:#fdf6e0;
  --blue-l:#e8f0fe; --green-l:#e3f6ec; --red-l:#fdeae8; --orange-l:#fdf0e0; --purple-l:#f0eafc;
}
/* 白金磨砂卡：暖象牙白 + 金色发丝边 + 柔和投影 */
.card{background:linear-gradient(180deg,#fffdf7 0%,#faf6ec 100%);border:1px solid rgba(201,162,39,.30);box-shadow:0 8px 26px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.85)}
.card h3{color:#1f2733}
.page-head h2{color:#f3e7c3}
.modal-body{background:linear-gradient(180deg,#fffdf7,#f8f4e9);border:1px solid rgba(201,162,39,.32);color:#232a33;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.modal-body h3{color:#1f2733}
.modal-body .muted,.modal-body .hint{color:#8a94a6}
.splitline.total{border-top-color:#1f2733}
.splitline .v{color:#b8861b}
.locmenu{background:#fffdf7;border:1px solid rgba(201,162,39,.35)}
.locmenu-item{color:#3a4450}
.locmenu-item:hover{background:#fdf6e0}
.locmenu-item.primary{color:#a8861b}

/* 按钮回浅色（顶栏按钮保持暗色由 .topbar 作用域控制） */
.btn{background:#eef1f5;color:#232a33}
.btn:hover{background:#e2e8ef}
.btn-ghost{background:#fff;border-color:var(--line);color:#4a5568}
.btn-ghost:hover{background:#fdf6e0;color:#a8861b}
.btn-danger-ghost{background:#fff;border-color:rgba(216,74,63,.45);color:#d84a3f}
.btn-danger-ghost:hover{background:#fdeae8;color:#b9382e}
.btn-primary{color:#241d05!important}

/* 输入框回亮色磨砂（金色聚焦不变） */
.filterbar input:not([type="checkbox"]):not([type="radio"]),.filterbar select,
.card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.card select,.card textarea,
.modal-body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.modal-body select,.modal-body textarea{
  background:#fff;border:1px solid #e2ddcd;color:#232a33;box-shadow:inset 0 1px 3px rgba(31,39,51,.05)}
.filterbar input:focus,.filterbar select:focus,.card input:focus,.card select:focus,.card textarea:focus,
.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{
  border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(201,162,39,.14)}
.cell-input{background:#fff;border-color:#e2ddcd;color:#232a33;box-shadow:inset 0 2px 4px rgba(31,39,51,.07)}
.cell-input:focus{background:#fffdf5;box-shadow:inset 0 2px 4px rgba(31,39,51,.04),0 0 0 3px rgba(201,162,39,.16)}

/* 表格回亮色；表头恢复 Excel 浅绿 */
.tb th{background:#f2f0e6;color:#4a5568}
.tb td{border-bottom:1px solid #eceadf}
.tb tbody tr:hover{background:rgba(201,162,39,.07)}
.tb-green thead th{background:#e2efda;color:#375623;border-bottom:2px solid #b7d7a8}

/* 标签页：未开=暗、当前=浅金磨砂（与卡片衔接） */
.vtab.on{background:linear-gradient(180deg,#fffdf7,#f8f4e9);border-color:rgba(201,162,39,.45);color:#232a33}
.vtab.on b{color:#a8861b}
.vtab-empty{color:#8a94a3}

/* 金价芯片回浅金（象牙卡上更亮眼） */
.goldchip{background:linear-gradient(145deg,#fdf6e0,#faedc8);border-color:#f0e0ae}
.goldchip .m{color:#8a6d1a}
.goldchip .p{color:#7c6114}
.goldchip .muted{color:#8a6d1a!important;opacity:.75}
.goldchip input{background:#fff!important;border-color:#e6d9a8!important;color:#7c6114!important}

*::-webkit-scrollbar-thumb{background:#b9c1cc}

/* ============ v10162 · 白色玻璃外壳 + 彩色动态光晕（卡片颜色不动；登录页保持暗金） ============ */
body, body[data-theme]{
  background:linear-gradient(180deg,#f7f9fc 0%,#eef1f7 100%)!important;
  background-image:linear-gradient(180deg,#f7f9fc 0%,#eef1f7 100%)!important;
}
/* 彩色动态光晕：金 / 天蓝 / 玫瑰 / 薄荷 四团柔光缓慢漂移（磨砂玻璃的彩色光源） */
body::before{content:"";position:fixed;inset:-25%;z-index:-1;pointer-events:none;filter:blur(64px);
  background:
    radial-gradient(38% 42% at 18% 22%, rgba(232,199,102,.42), transparent 70%),
    radial-gradient(34% 38% at 82% 16%, rgba(122,172,255,.34), transparent 70%),
    radial-gradient(40% 44% at 80% 84%, rgba(255,142,152,.28), transparent 70%),
    radial-gradient(36% 40% at 20% 86%, rgba(112,222,182,.32), transparent 70%);
  animation:gzaurora 38s ease-in-out infinite alternate}
@keyframes gzaurora{
  0%{transform:translate3d(-2.2%,-1.2%,0) scale(1)}
  50%{transform:translate3d(2.2%,1.8%,0) scale(1.07)}
  100%{transform:translate3d(-1.2%,1%,0) scale(1.02)}}
@media (prefers-reduced-motion: reduce){body::before{animation:none}}
@media print{body::before{display:none}}

/* 顶栏：白色磨砂玻璃（毛玻璃透出光晕） */
.topbar{background:rgba(255,255,255,.58);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid rgba(255,255,255,.7);box-shadow:0 2px 18px rgba(31,39,51,.08)}
.topbar .brand-title{color:#1f2733}
.topbar .brand-title small{color:#8a94a6}
.mainnav a{color:#4a5568}
.mainnav a:hover{background:rgba(201,162,39,.13);color:#a8861b;transform:translateY(-1px)}
.mainnav a.active{background:linear-gradient(145deg,#e5bd33,#c9a227);color:#fff;box-shadow:0 3px 10px rgba(201,162,39,.35)}
.topbar .btn-ghost{background:rgba(255,255,255,.72);border-color:rgba(31,39,51,.1);color:#4a5568}
.topbar .btn-ghost:hover{background:#fff;color:#a8861b}
.topbar .dev-switch em{color:#4a5568}

/* 标签栏：白色玻璃条；当前标签=浅金磨砂（衔接卡片） */
.viewtabs{background:rgba(255,255,255,.45);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.65)}
.vtab{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.75);color:#4a5568}
.vtab:hover{background:#fff;color:#a8861b}
.vtab .x:hover{background:#fdeae8;color:#d84a3f}
.vtab-empty{color:#8a94a6}

/* 页面标题回深色（浅底上），金色小圆点点缀保留 */
.page-head h2{color:#232a33;letter-spacing:1px}
.foot{color:#8a94a6}
*::-webkit-scrollbar-thumb{background:#c5cdd8}

/* ============ v10163 · 安静浅灰底（去光晕）+ 导航滑动高亮 + 工作台卡片时尚化 ============ */
body, body[data-theme]{
  background:#f3f5f8!important;background-image:none!important}
body::before{content:none!important}
/* 底色安静后卡片阴影略收，注意力集中在卡片 */
.card{box-shadow:0 6px 20px rgba(31,39,51,.08), inset 0 1px 0 rgba(255,255,255,.85)}

/* 导航菜单：更明显的玻璃小卡 + 金色滑块动态跟随 */
.mainnav{position:relative}
#navslider{position:absolute;top:50%;transform:translateY(-50%);height:42px;border-radius:12px;z-index:0;opacity:0;
  background:linear-gradient(145deg,#e8c343,#c9a227);box-shadow:0 4px 14px rgba(201,162,39,.42), inset 0 1px 0 rgba(255,255,255,.45);
  transition:left .3s cubic-bezier(.34,1.25,.4,1), width .3s cubic-bezier(.34,1.25,.4,1), opacity .2s}
.mainnav a{position:relative;z-index:1;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.78);box-shadow:0 1px 6px rgba(31,39,51,.06);border-radius:12px;padding:10px 18px;font-size:16px;transition:color .2s, background .2s, transform .15s}
.mainnav a:hover{background:#fff;box-shadow:0 4px 12px rgba(31,39,51,.1)}
.mainnav a.active{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:#fff!important;text-shadow:0 1px 3px rgba(122,90,10,.35)}

/* 工作台功能卡：大图标芯片 + 光泽扫过，更时尚 */
.modcard{border-radius:18px;padding:18px 14px 15px;overflow:hidden;isolation:isolate}
.modcard>*{position:relative;z-index:1}
.modcard::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 85% -10%, rgba(255,255,255,.30), transparent 55%),
    radial-gradient(90% 70% at -10% 112%, rgba(0,0,0,.16), transparent 60%)}
.modcard::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;
  background:linear-gradient(115deg, transparent 32%, rgba(255,255,255,.22) 46%, transparent 60%);
  background-size:260% 260%;background-position:130% 0;transition:background-position .55s ease}
.modcard:hover::after{background-position:-60% 0}
.modcard .ic{width:60px;height:60px;border-radius:18px;font-size:32px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 6px 16px rgba(0,0,0,.14);margin-bottom:2px}
.modcard .t{font-size:16.5px;letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.18)}
.modcard .d{font-size:12.5px}
.modcard:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 14px 30px rgba(0,0,0,.22)}
.modcard .rsz{position:absolute;z-index:2}

/* ============ v10164 · 工作台一行 6 卡 + 光效跟随鼠标 + 导航可拖动 ============ */
.modgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:1360px){.modgrid{grid-template-columns:repeat(5,1fr)}}
@media (max-width:1120px){.modgrid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:860px){.modgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.modgrid{grid-template-columns:repeat(2,1fr)}}
/* 光效改为「指针跟随」：光斑出现在鼠标所在的卡片上（替代固定扫光） */
.modcard::after{background:radial-gradient(240px circle at var(--mx,-600px) var(--my,-600px), rgba(255,255,255,.32), rgba(255,255,255,.07) 46%, transparent 68%);background-size:100% 100%;background-position:0 0;opacity:0;transition:opacity .25s}
.modcard:hover::after{opacity:1}
/* 导航：按住可左右拖动（窗口变窄时把后面的菜单拖出来） */
.mainnav{cursor:grab;user-select:none;-webkit-user-select:none}
.mainnav.dragging{cursor:grabbing}
.mainnav.dragging a{pointer-events:none}

/* ============ v10165 · 入库标签/保存按钮醒目化 + 卡片名称移到正上方 ============ */
/* ① 页内导航标签：高对比（激活=金底白字，不再依赖顶栏滑块） */
.mainnav a.active{background:linear-gradient(145deg,#eecc4a,#c9a227)!important;color:#fff!important;box-shadow:0 4px 14px rgba(201,162,39,.45)!important;border-color:transparent!important;text-shadow:0 1px 2px rgba(122,90,10,.4);font-weight:800}
.topbar .mainnav a.active{background:transparent!important;box-shadow:none!important;border-color:transparent!important;text-shadow:0 1px 3px rgba(122,90,10,.35)}
/* ② 入库保存大按钮：金底描边加大，一眼可见 */
.btn-savebig{padding:13px 48px;font-size:17.5px;background:linear-gradient(145deg,#f0d04e,#b8861b);border:2px solid #a8861b;box-shadow:0 8px 24px rgba(201,162,39,.5), inset 0 1px 0 rgba(255,255,255,.5);letter-spacing:2px;color:#241d05!important}
.btn-savebig:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px rgba(201,162,39,.6)}
/* ③ 工作台：名称在每个格子的居中正上方（标题在卡片外） */
.modwrap{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.modcap{font-size:15.5px;font-weight:800;color:#2a2f37;text-align:center;line-height:1.3;cursor:pointer;letter-spacing:.5px;text-shadow:0 1px 0 rgba(255,255,255,.85)}
.modcap:hover{color:#a8861b;text-decoration:underline;text-underline-offset:3px}
.modcard{padding:16px 12px 14px}

/* ============ v10166 · 工作台面板回退上一版（标题回到卡片内顶部居中），此区域冻结不再改动 ============ */
.modcard{padding:14px 12px 12px}

/* ============ v10168 · 批量入库右上角合计（件数/总金重/总标价） ============ */
.bulk-stats{display:flex;justify-content:flex-end;gap:8px;margin:2px 0 10px;flex-wrap:wrap}
.bstat{background:var(--gold-l);border:1px solid rgba(201,162,39,.42);color:#7c6114;border-radius:10px;padding:6px 16px;font-size:14px;font-weight:700;white-space:nowrap}
.bstat b{font-size:16.5px;color:#6b5310;font-variant-numeric:tabular-nums;margin:0 2px}

/* ============ v10169 · 单件栏目拖拽编辑态样式 ============ */
.sg-grid.drag-on label.field{outline:1.5px dashed rgba(201,162,39,.55);outline-offset:2px;cursor:grab;border-radius:10px}
.sg-grid.drag-on label.field:hover{background:var(--gold-l)}

/* ============ v10175 · 设置目录导航 + 商品资料 ============ */
.st-navgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.st-navitem{background:var(--card);border:1px solid rgba(201,162,39,.25);border-radius:14px;padding:16px 14px;cursor:pointer;transition:.15s;text-align:left;box-shadow:0 4px 14px rgba(31,39,51,.06)}
.st-navitem:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 10px 24px rgba(31,39,51,.12)}
.st-navitem .ic{font-size:26px;margin-bottom:6px}
.st-navitem .t{font-size:15.5px;font-weight:800;color:var(--ink)}
.st-navitem .d{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45}
.st-sec .card{margin-bottom:14px}

/* ============ v10176 · 品牌管理重构：品牌卡 / 已绑门店信息行 / 换绑解绑 ============ */
.bd-block{border:1px solid rgba(201,162,39,.30);border-radius:14px;padding:12px 14px 10px;margin-bottom:12px;background:linear-gradient(180deg,rgba(201,162,39,.07),rgba(201,162,39,.02))}
.bd-t{font-size:13px;font-weight:800;color:#8a6d1a;letter-spacing:.5px;margin-bottom:9px}
.bd-brandcard{border:1px solid var(--line);border-radius:14px;padding:12px 14px 10px;margin-bottom:12px;background:#fff;box-shadow:0 3px 12px rgba(31,39,51,.05)}
.bd-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.bd-tag{display:inline-flex;align-items:center;background:linear-gradient(145deg,#f0d04e,#c9a227);color:#241d05;font-weight:800;border-radius:10px;padding:5px 16px;font-size:15px;letter-spacing:1.5px;box-shadow:0 3px 10px rgba(201,162,39,.35), inset 0 1px 0 rgba(255,255,255,.5)}
.bd-tag-gray{background:#eef1f5;color:#4a5568;box-shadow:none;border:1px solid var(--line)}
.bd-ops{display:inline-flex;gap:6px;align-items:center}
.bd-storerow{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px dashed var(--line);border-radius:10px;margin-top:6px;font-size:13.5px;background:#fdfcf8;transition:.12s}
.bd-storerow:hover{background:#fdf7e6;border-color:rgba(201,162,39,.5)}
.bd-storerow .nm{font-weight:700;color:var(--ink)}
.bd-empty{font-size:12.5px;color:var(--muted);padding:2px 2px 4px}

/* 设置单项页：解除 row/col 半宽布局，内容全宽更清爽 */
.st-open .row{display:block}
.st-open .col{display:block;min-width:0}

/* ============ v10178 · 报表目录（hub 磁贴）+ 调拨页签 ============ */
.rp-hub{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}
.rp-glabel{font-size:12.5px;font-weight:800;color:#8a6d1a;letter-spacing:2.5px;margin:0 2px 9px;display:flex;align-items:center;gap:10px}
.rp-glabel::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(201,162,39,.4),transparent)}
.rp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.rp-tile{position:relative;background:linear-gradient(180deg,#fffdf7 0%,#faf6ec 100%);border:1px solid rgba(201,162,39,.28);border-radius:15px;padding:15px 15px 13px 16px;cursor:pointer;transition:.16s cubic-bezier(.3,.9,.4,1.2);display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 14px rgba(31,39,51,.06);overflow:hidden;text-align:left}
.rp-tile:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 26px rgba(31,39,51,.13)}
.rp-tile::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0 auto 0 0;width:3.5px;background:linear-gradient(180deg,#f0d04e,#c9a227);opacity:0;transition:.18s}
.rp-tile:hover::before{opacity:1}
.rp-tile .ic{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(145deg,#fdf3d0,#f4e2a2);border:1px solid rgba(201,162,39,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 3px 8px rgba(201,162,39,.18)}
.rp-tile .tt{font-size:15.5px;font-weight:800;color:var(--ink);letter-spacing:.3px}
.rp-tile .dd{font-size:12.5px;color:var(--muted);line-height:1.45}
.rp-tile .go{position:absolute;right:14px;top:18px;color:rgba(201,162,39,0);font-size:15px;font-weight:800;transition:.18s}
.rp-tile:hover .go{color:var(--gold-d);opacity:1;transform:translateX(2px)}
.rp-back{display:flex;align-items:center;gap:10px;margin:2px 0 14px;background:linear-gradient(180deg,#fffdf7,#faf6ec);border:1px solid rgba(201,162,39,.3);border-radius:12px;padding:8px 14px;box-shadow:0 3px 10px rgba(31,39,51,.05)}
.rp-back b{font-size:15px;color:var(--ink);letter-spacing:.5px}

.seg-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.seg-bar a{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:12px;background:#fff;border:1px solid #ddd6c2;color:#3a4450;font-size:15px;font-weight:700;cursor:pointer;transition:.15s;box-shadow:0 2px 8px rgba(31,39,51,.06);user-select:none;text-decoration:none}
.seg-bar a:hover{background:#fffdf5;color:#a8861b;transform:translateY(-1px)}
.seg-bar a.active{background:linear-gradient(145deg,#eecc4a,#c9a227);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(201,162,39,.45);text-shadow:0 1px 2px rgba(122,90,10,.4)}
.seg-cnt{background:#d84a3f;color:#fff;font-size:11px;font-weight:800;border-radius:10px;padding:1px 7px;min-width:18px;text-align:center;line-height:16px}
.seg-bar a.active .seg-cnt{background:rgba(255,255,255,.92);color:#b9382e}
.tr-pane .card:last-child{margin-bottom:14px}

/* ============ v10183 · 商品资料：其余字段说明区 ============ */
.gd-fixed{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}
.gd-fixedrow{display:flex;gap:10px;font-size:12.5px;padding:3px 0;border-bottom:1px dashed var(--line);align-items:baseline}
.gd-fixedrow b{min-width:132px;color:var(--ink-2);font-weight:700}

/* ============ v10189 · Excel 工作表风格（全部录入界面的统一表格样式） ============ */
/* 表体：全网格 + 行号栏 + 浅绿冻结表头；单元格即编辑器（聚焦 = 选中格） */
.xls-wrap{overflow:auto;max-height:58vh;border:1px solid #c7d0d9;border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(31,39,51,.06)}
.xls{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;font-size:13px;background:#fff;min-width:560px}
.xls th,.xls td{border-right:1px solid #dbe2e9;border-bottom:1px solid #dbe2e9;padding:0;height:31px;vertical-align:middle}
.xls tr>*:last-child{border-right:0}
.xls tbody tr:last-child td{border-bottom:0}
.xls thead th{position:sticky;top:0;z-index:3;background:#e2efda;color:#375623;font-weight:700;font-size:12.5px;padding:0 8px;white-space:nowrap;text-align:left;border-color:#c3dab5;user-select:none}
.xls thead th.num{text-align:right;padding-right:9px}
.xls thead th.ctr{text-align:center}
.xls th.cn{width:40px;min-width:40px;background:#d7e7ca;border-color:#c3dab5;padding:0}
.xls td.rn{width:40px;min-width:40px;background:#f3f6f3;color:#7d8a95;text-align:center;font-size:12px;font-weight:600;user-select:none;border-color:#e3e9e2}
.xls tbody tr:hover td{background:#f8fbf6}
.xls tbody tr:hover td.rn{background:#edf3ea}
.xls .celltxt{display:block;padding:0 8px;line-height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.xls td.num .celltxt{text-align:right}
.xls td.ctr{text-align:center}
.xls td.ctr input[type=checkbox]{margin:0;width:16px;height:16px;cursor:pointer;accent-color:var(--gold);vertical-align:middle}
.xls td.ops{text-align:center;white-space:nowrap;padding:0 3px}
/* 单元格编辑器：铺满整格、无内框，网格线即边框 */
.xls td>input:not([type=checkbox]):not([type=radio]),.xls td>select{display:block;width:100%;height:30px;border:0;border-radius:0;background:transparent;padding:0 8px;margin:0;font-size:13px;font-weight:600;color:var(--ink);box-shadow:none!important;outline:0;font-variant-numeric:tabular-nums}
.xls td>input[type=number]{text-align:right}
.xls td>select{padding:0 5px;cursor:pointer}
.xls td>input::placeholder{color:#aab5c0;font-weight:400}
.xls td>input[readonly]{color:#67747f;cursor:not-allowed}
.xls td:focus-within{outline:2px solid var(--gold);outline-offset:-2px;background:#fffdf4!important;position:relative;z-index:2}
/* 列宽拖拽把手（表头右缘） */
.xls .cgrip{position:absolute;top:0;right:-3px;bottom:0;width:7px;cursor:col-resize;z-index:5}
.xls .cgrip:hover{background:linear-gradient(180deg,rgba(201,162,39,.22),rgba(201,162,39,.5))}   /* v10237 · 拖动提示 */
body.xls-resizing,body.xls-resizing *{cursor:col-resize!important;user-select:none!important}
/* 名称框（当前单元格指示） */
.xls-cellref{font-size:12px;font-weight:800;color:#8a6d1a;background:#fdf6e0;border:1px solid #f0e0ae;border-radius:6px;padding:2px 9px;font-variant-numeric:tabular-nums;white-space:nowrap}
/* Excel 表单（单件入库等弹窗）：网格线由 1px 缝隙显色，单元格白底 */
.sg-grid.xls-form{gap:1px!important;padding:0!important;background:#e3e9ef;border:1px solid #cfd8e0;border-radius:12px;overflow:hidden}
.sg-grid.xls-form label.field{background:#fff;margin:0!important;border-radius:0;padding:9px 13px 8px}
.sg-grid.xls-form label.xls-pad{background:#fff;pointer-events:none}
.xls-form .field>span{color:#3d6b2a!important;font-size:12px!important;letter-spacing:.3px}
.xls-form .field input:not([type=checkbox]):not([type=radio]),.xls-form .field select{width:100%;border:1px solid transparent!important;background:transparent!important;box-shadow:none!important;border-radius:6px!important;padding:6px!important;font-size:14.5px;font-weight:600}
.xls-form .field input:focus,.xls-form .field select:focus{border-color:var(--gold)!important;background:#fff!important;box-shadow:0 0 0 2px rgba(201,162,39,.14)!important;outline:none}

/* Excel 表格：含标签/按钮/文本的单元格补内边距 */
.xls td.pd{padding:0 8px}
.xls td.ops .btn.xs{padding:2px 7px;font-size:11.5px}
.xls td .tag{vertical-align:middle}

/* ============ v10190 · Excel 网格去外框（更纯粹的表格感） ============ */
.xls-wrap{border:0;border-radius:0;box-shadow:none;background:transparent}

/* ============ v10191 · 网格文字居中 + 金重红字禁负两位小数 + 标签价有值加大加粗（打印模板不受影响） ============ */
.xls td .celltxt{text-align:center}
.xls td>input:not([type=number]){text-align:center}
.xls td>select{text-align:center;text-align-last:center}
.xls td>input.wt,#sg-weight{color:#d02f2f!important;font-weight:800!important}
.xls td>input.has-val,#sg-weight.has-val,.sg-grid input.has-val{font-size:14.5px!important;font-weight:800!important;letter-spacing:.3px}
.bstat b{font-size:18px}

/* ============ v10194 · 表头居中 + 排序/筛选指示 ============ */
.xls thead th{text-align:center}
.xls thead th.num{text-align:center;padding-right:8px}
.xls .afbtn{display:inline-block;margin-left:4px;margin-right:1px;font-size:9px;font-style:normal;color:#7a8a6e;cursor:pointer;opacity:.6;vertical-align:middle;user-select:none}
.xls .afbtn:hover{opacity:1;color:var(--gold-d)}
.xls .afbtn.on{opacity:1;color:#b8861b;font-weight:800}
.skd{color:#8a6d1a;font-size:10px;margin-left:1px}

/* ============ v10198 · 手机 / 平板自适应（修复小屏重叠；Excel 网格横向滚动，不缩字） ============ */
/* 平板 ≤1024px：收拢导航与留白 */
@media (max-width:1024px){
  .topbar{gap:10px;padding:10px 12px}
  .mainnav a{padding:9px 13px;font-size:14.5px}
  .view{padding:0 12px;margin-top:12px}
  .card{padding:15px}
  .seg-bar a{padding:9px 16px;font-size:14px}
  .btn-savebig{padding:12px 34px;font-size:16.5px}
}
/* 小屏 / 窄窗 ≤768px：导航与卡片竖排 + 单列堆叠 + 底部弹层 + 表格横向滚动（v10247 · 断点由 720 提升到 768） */
@media (max-width:768px){
  .topbar{position:static;padding:8px 10px;gap:8px}
  .brand-title{font-size:16px}
  .brand-title small{display:none}
  .topbar-right{gap:5px;flex-wrap:wrap;justify-content:flex-end}
  .dev-switch em{display:none}
  #btn-identity{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mainnav{order:3;width:100%;flex-basis:100%;min-width:0}
  .mainnav a{padding:8px 12px;font-size:13.5px;border-radius:9px}
  #navslider{display:none}
  .topbar .mainnav a.active{background:linear-gradient(145deg,#eecc4a,#c9a227)!important;color:#fff!important;box-shadow:0 4px 14px rgba(201,162,39,.45)!important;border-color:transparent!important}
  .view{margin-top:10px;padding:0 10px}
  .card{padding:12px;border-radius:12px}
  .page-head h2{font-size:17px}
  .row{display:block}
  .col{min-width:0}
  .col .card{margin-bottom:12px}
  .statgrid{grid-template-columns:repeat(2,1fr)}
  .stat .value{font-size:19px}
  .filterbar input{min-width:0}
  .filterbar input.kw{flex:1 1 100%}
  .modal{padding:10px;align-items:flex-end}
  .modal-body{width:100%;max-width:100vw;max-height:92vh;border-radius:16px 16px 0 0;padding:16px 14px}
  .btn-savebig{padding:12px 20px;font-size:16px;margin-right:0!important}
  .seg-bar a{padding:8px 12px;font-size:13.5px}
  .bstat{padding:5px 10px;font-size:12.5px}
  .bstat b{font-size:15px}
  .bulk-stats{justify-content:flex-start}
  .gd-fixed{grid-template-columns:1fr}
  .xls-cellref{display:none}
  .dz-paper{zoom:.42}
  .toast{max-width:92vw;font-size:13.5px;text-align:center}
  .pager{justify-content:center;flex-wrap:wrap}
  .modgrid{grid-template-columns:repeat(2,1fr)}
  .big-total{font-size:22px}
  .dash-hero{grid-template-columns:1fr}
}
/* 小屏手机 ≤420px */
@media (max-width:420px){
  .statgrid{grid-template-columns:1fr}
  .sg-grid{grid-template-columns:1fr!important}
  .mainnav a{padding:8px 10px;font-size:13px}
  .modgrid{grid-template-columns:1fr 1fr}
}
.goldchip .btn{white-space:nowrap;flex-shrink:0}

/* ============ v10204 · 行号拖动多选（批量入库） ============ */
.xls td.rn{cursor:pointer}
.xls tbody tr.selrg td{background:#dbe9f8!important}
.xls tbody tr.selrg td.rn{background:#c3d9f2!important;color:#1d4e8a;font-weight:800}

/* ============ v10205 · 单元格拖动多选（同一列上下多格） ============ */
.xls tbody td.cellsel{outline:2px solid #2f6fed;outline-offset:-2px;background:#eaf2fe!important}

/* ============ v10208 · 入库「选择录入方式」弹窗（三大卡：单件 / 批量 / EXCEL 导入） ============ */
.modal-body.modal-ipk{width:860px}
.ipk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 2px}
.ipk-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:26px 16px 22px;background:#fffdf7;border:1.5px solid #e7dfc8;border-radius:16px;cursor:pointer;font-family:inherit;color:#2d3746;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s,border-color .18s;animation:ipkIn .5s cubic-bezier(.22,1,.36,1) both}
.ipk-card:nth-child(2){animation-delay:.07s}
.ipk-card:nth-child(3){animation-delay:.14s}
@keyframes ipkIn{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
.ipk-card:hover{transform:translateY(-4px);border-color:rgba(201,162,39,.8);box-shadow:0 14px 30px rgba(120,94,20,.16)}
.ipk-card:active{transform:translateY(-1px) scale(.985)}
.ipk-card:focus-visible{outline:2.5px solid var(--gold);outline-offset:2px}
.ipk-num{position:absolute;top:9px;left:11px;font-size:11px;font-weight:800;color:#b9a86a;background:#f6efd9;border-radius:6px;padding:1px 7px}
.ipk-ic{width:62px;height:62px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:31px;background:linear-gradient(150deg,#fdf4d8,#f7e7ae);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 10px rgba(180,145,40,.18);transition:transform .18s}
.ipk-card:hover .ipk-ic{transform:scale(1.08) rotate(-3deg)}
.ipk-t{font-size:18px;font-weight:800;letter-spacing:.4px}
.ipk-d{font-size:12.5px;color:#8a94a3;line-height:1.5}
.ipk-go{margin-top:3px;font-size:12.5px;font-weight:700;color:#a8861b;opacity:0;transform:translateY(4px);transition:.18s}
.ipk-card:hover .ipk-go{opacity:1;transform:none}
@media (max-width:720px){
  .modal-body.modal-ipk{width:100%}
  .ipk{grid-template-columns:1fr;gap:10px}
  .ipk-card{flex-direction:row;text-align:left;align-items:center;gap:13px;padding:14px 14px}
  .ipk-ic{width:48px;height:48px;font-size:24px;border-radius:14px;flex:none}
  .ipk-num{display:none}
  .ipk-go{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ipk-card{animation:none}
  .ipk-card:hover{transform:none}
  .ipk-card:hover .ipk-ic{transform:none}
}

/* ============ v10209 · 弹窗关闭按钮统一右上角（修复被 [data-loc]{position:relative} 覆盖的问题） ============ */
.modal-body .modal-close{position:absolute!important;top:10px!important;right:12px!important;left:auto!important;z-index:6}
.modal-body .modal-close:hover{background:#efe7cf;color:#8a6d1a}

/* ============ v10209 · 顶部导航 → 左侧边栏（≥960px）· 标签加大 + 入场动画 ============ */
@media (min-width:960px){
  .topbar{position:fixed;left:0;top:0;bottom:0;width:220px;z-index:60;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:12px;padding:14px 12px 12px;overflow:hidden;border-bottom:none;border-right:1px solid rgba(255,255,255,.78);box-shadow:6px 0 24px rgba(31,39,51,.08)}
  .mainnav{flex:1 1 auto;min-width:0;min-height:0;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden}
  .mainnav a{width:100%;font-size:16.5px;padding:12px 15px;border-radius:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;animation:navIn .45s cubic-bezier(.22,1,.36,1) backwards}   /* v10248 · flex-shrink:0：矮窗口下菜单项不再被压扁裁剪（容器改为滚动） */
  .mainnav a:nth-of-type(2){animation-delay:.03s}.mainnav a:nth-of-type(3){animation-delay:.06s}
  .mainnav a:nth-of-type(4){animation-delay:.09s}.mainnav a:nth-of-type(5){animation-delay:.12s}
  .mainnav a:nth-of-type(6){animation-delay:.15s}.mainnav a:nth-of-type(7){animation-delay:.18s}
  .mainnav a:nth-of-type(8){animation-delay:.21s}.mainnav a:nth-of-type(9){animation-delay:.24s}
  .mainnav a:nth-of-type(10){animation-delay:.27s}.mainnav a:nth-of-type(11){animation-delay:.3s}
  .mainnav a:nth-of-type(12){animation-delay:.33s}.mainnav a:nth-of-type(13){animation-delay:.36s}
  .mainnav a:nth-of-type(14){animation-delay:.39s}.mainnav a:nth-of-type(15){animation-delay:.42s}
  .mainnav a:nth-of-type(16){animation-delay:.45s}.mainnav a:nth-of-type(17){animation-delay:.48s}
  @keyframes navIn{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
  .mainnav a:hover{transform:none}   /* 悬停放大由 v10213 磁吸效果接管 */
  .topbar-right{flex-wrap:wrap;justify-content:center;gap:6px;padding-top:10px;border-top:1px dashed rgba(31,39,51,.14)}
  .viewtabs{margin-left:220px}
  .view{margin-left:220px}
  .foot{margin-left:220px}
  #navslider{top:auto;transform:none;left:6px;right:6px;width:auto;height:auto;
    transition:top .3s cubic-bezier(.34,1.25,.4,1), height .3s cubic-bezier(.34,1.25,.4,1), opacity .2s}
  body.nav-collapsed .topbar{display:none}
  body.nav-collapsed .viewtabs,body.nav-collapsed .view,body.nav-collapsed .foot{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .mainnav a{animation:none!important}
}

/* ============ v10209 · 明细单 A4 分页预览 / 打印（竖版默认 · 自动分页排满 · 超宽自动横版） ============ */
.modal-body.modal-a4p{width:1200px}
.a4p-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 10px;flex-wrap:wrap}
.a4p-idx{font-size:13.5px;font-weight:800;color:#5a6472;min-width:56px;text-align:center;font-variant-numeric:tabular-nums}
.a4p-badge{font-size:12px;background:var(--gold-l);border:1px solid rgba(201,162,39,.4);color:#8a6d1a;border-radius:8px;padding:3px 9px}
.a4p-view{overflow:auto;max-height:64vh;background:#e9edf3;border-radius:10px;padding:12px;display:flex;justify-content:center;align-items:flex-start}
.a4p-scaler{transform-origin:top center}
.a4p-page{background:#fff;box-shadow:0 4px 18px rgba(31,39,51,.18);display:flex;flex-direction:column;box-sizing:border-box;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#1c2430;overflow:hidden}
.a4p-title{font-size:19px;font-weight:800;letter-spacing:2px;text-align:center;padding-bottom:8px;margin-bottom:8px;border-bottom:2px solid #c9a227}
.a4p-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12px;margin-bottom:6px}
.a4p-meta i{font-style:normal;color:#8a94a3;margin-right:4px}
.a4p-meta span{font-weight:700}
.a4p-sums{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;margin:2px 0 8px;padding:6px 10px;background:#faf6e8;border:1px solid rgba(201,162,39,.35);border-radius:8px}
.a4p-sums b{font-size:14px;color:#8a6d1a}
.a4p-sums.below{margin:8px 0 0}   /* v10497 · 统计信息放在最后一页最后一行下面 */
.a4p-minihead{display:flex;justify-content:space-between;font-size:12px;color:#5a6472;margin-bottom:6px;padding-bottom:5px;border-bottom:1px dashed #d8dde6}
.a4p-table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:11px}
.a4p-table th,.a4p-table td{border:1px solid #cfd6df;padding:5px 5px;text-align:center;white-space:normal;word-break:break-all;vertical-align:middle;line-height:1.35}
.a4p-table thead th{background:#f0f2f5;font-weight:700}
.a4p-table td.num,.a4p-table th.num{text-align:right}
.a4p-table tfoot td{background:#faf6e8;font-weight:800;border-top:2px solid #c9a227}
.a4p-sumlab{color:#8a6d1a;letter-spacing:1px}
.a4p-foot{margin-top:auto;padding-top:8px;border-top:1px dashed #d8dde6;font-size:10.5px;color:#8a94a3;display:flex;justify-content:space-between}
@media print{
  .a4p-page{box-shadow:none!important;margin:0!important;break-after:page;page-break-after:always}
  .a4p-page:last-child{break-after:auto;page-break-after:auto}
  .a4p-view,.a4p-toolbar{display:none!important}
  /* v10501 · 表头 / 合计行不再强制打底色（部分驱动会把底色块打成实心黑块），只留线条与加粗 */
  .a4p-table th{color:#333!important;border-color:#999!important}
  .a4p-table tfoot td{font-weight:800}
  /* v10500 · 统计块在打印时去掉底色/圆角/边框：某些驱动会把「圆角+底色」的块打成实心黑块 */
  .a4p-sums,.a4p-sums.below{background:none!important;border:0!important;border-radius:0!important;padding:0!important;color:#000!important;
    -webkit-print-color-adjust:economy;print-color-adjust:economy}
  .a4p-sums b{color:#000!important}
}
@media (max-width:720px){
  .a4p-view{max-height:56vh;padding:8px}
}

/* v10211 · 单据设计（明细单）窄屏堆叠修正（此前 .dz-wrap-detail 未随媒体查询塌缩成单列） */
@media (max-width:1100px){.dz-wrap-detail{grid-template-columns:1fr}}

/* ============ v10212 · 弹窗可拖动（按住标题）+ 单件入库「上一件/下一件」导航 ============ */
.modal-body h3{cursor:grab;touch-action:none}
.modal-body.modaldrag{user-select:none}
.modal-body.modaldrag h3{cursor:grabbing}
.sg-navbar{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
#sg-pos{font-weight:800;color:#8a6d1a;font-size:13.5px;min-width:130px}

/* ============ v10213 · 侧边栏高级质感（深色黄金 + 浮光光晕）· 标签页加大 · 磁吸样式 ============ */
@media (min-width:960px){
  /* 深色黄金质感：与登录页同一设计语言（深炭底 + 金色浮光 + 金发丝边） */
  .topbar{
    background:
      radial-gradient(420px 300px at 88% -40px, rgba(232,199,102,.20), transparent 70%),
      radial-gradient(360px 300px at -30% 108%, rgba(201,162,39,.16), transparent 72%),
      linear-gradient(168deg,#262b34 0%, #1f242c 55%, #191d24 100%);
    border-right:1px solid rgba(201,162,39,.38);
    box-shadow:8px 0 30px rgba(12,15,20,.38);
  }
  /* 浮光：两团金色光晕缓慢上下漂移（呼应登录页光尘） */
  .topbar::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;
    background:
      radial-gradient(230px 170px at 28% 16%, rgba(232,199,102,.17), transparent 70%),
      radial-gradient(260px 210px at 76% 82%, rgba(232,199,102,.11), transparent 72%);
    animation:sideGlow 13s ease-in-out infinite alternate}
  @keyframes sideGlow{from{transform:translateY(-14px);opacity:.72}to{transform:translateY(16px);opacity:1}}
  .topbar>*{position:relative;z-index:1}
  .topbar .brand-title{background:linear-gradient(180deg,#f7e7ae 15%,#dcb84e 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .topbar .brand-title small{-webkit-text-fill-color:#98a2b3;color:#98a2b3}
  .topbar .btn-ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#cfd6e0}
  .topbar .btn-ghost:hover{background:rgba(232,199,102,.20);color:#f3dd8e;border-color:rgba(232,199,102,.55)}
  .topbar .dev-switch em{color:#b9c1cd}
  .topbar .dev-switch i{background:rgba(255,255,255,.18)}
  /* 菜单卡：文字居中、悬浮玻璃金卡 */
  .mainnav{padding:4px 6px}
  .mainnav a{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);color:#cfd6e0;text-align:center;
    transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .15s cubic-bezier(.22,1,.36,1)}
  .mainnav a:hover{background:rgba(255,255,255,.13);color:#f3dd8e;border-color:rgba(232,199,102,.5);transform:none}
  .topbar .mainnav a.active{color:#ffe9a8!important;text-shadow:0 1px 8px rgba(232,199,102,.6)}
}
@media (prefers-reduced-motion:reduce){
  .topbar::before{animation:none}
}

/* 标签页加大（全尺寸通用） */
.viewtabs{min-height:52px;padding:10px 18px 0;gap:8px}
.vtab{font-size:15px;padding:11px 12px 11px 18px;border-radius:12px 12px 0 0;font-weight:600}
.vtab.on{font-weight:800}
.vtab .x{width:22px;height:22px;font-size:16px}
.vtab-empty{font-size:13.5px}

/* v10214 · A4 全竖版 · 表格自适应（列多自动缩字号、收紧边距，信息尽量放全） */
.a4p-table.tight th,.a4p-table.tight td{padding:3px 3px}
.a4p-table.tighter th,.a4p-table.tighter td{padding:2px 2px;line-height:1.25}

/* ============ v10215 · 标签页栏：深色黄金质感（与侧边栏同一设计语言）+ 玻璃金卡标签 + 金色浮光 ============ */
.viewtabs{
  position:relative;
  background:
    radial-gradient(440px 160px at 82% -80px, rgba(232,199,102,.20), transparent 70%),
    radial-gradient(360px 150px at 4% 150%, rgba(201,162,39,.15), transparent 72%),
    linear-gradient(168deg,#262b34 0%, #1f242c 55%, #191d24 100%);
  border-bottom:1px solid rgba(201,162,39,.38);
  box-shadow:0 8px 22px rgba(12,15,20,.20);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
/* 金色浮光缓慢左右漂移（比侧边栏更含蓄） */
.viewtabs::after{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;
  background:radial-gradient(320px 130px at 50% 0%, rgba(232,199,102,.13), transparent 70%) no-repeat;
  background-size:200% 100%;
  animation:vtGlow 15s ease-in-out infinite alternate;
}
@keyframes vtGlow{from{background-position:0% 0}to{background-position:100% 0}}
.viewtabs>*{position:relative;z-index:1}
.viewtabs .vtab{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  border-bottom:none;
  color:#cfd6e0;
  transform-origin:bottom center;
  transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .15s cubic-bezier(.22,1,.36,1);
}
.viewtabs .vtab:hover{background:rgba(255,255,255,.13);color:#f3dd8e;border-color:rgba(232,199,102,.5)}
.viewtabs .vtab.on{
  background:linear-gradient(180deg,rgba(232,199,102,.30),rgba(201,162,39,.13));
  border-color:rgba(232,199,102,.6);
  color:#ffe9a8;
  text-shadow:0 1px 8px rgba(232,199,102,.45);
}
.viewtabs .vtab.on b{color:#ffd76e}
.viewtabs .vtab .x{color:#98a2b3}
.viewtabs .vtab:hover .x{color:#e6deca}
.viewtabs .vtab .x:hover{background:rgba(216,74,63,.28);color:#ffb0a6}
.viewtabs .vtab-empty{color:#98a2b3}
@media (prefers-reduced-motion:reduce){
  .viewtabs::after{animation:none}
  .viewtabs .vtab{transition:background .18s,color .18s,border-color .18s,box-shadow .18s}
}

/* ============ v10217 · 入库页头「单件录入 / 表单导入」大按钮（加大 + 醒目） ============ */
.imgb{font-size:15px;font-weight:800;padding:11px 20px;border-radius:11px;letter-spacing:.5px;box-shadow:0 4px 14px rgba(201,162,39,.32)}
.imgb:active{transform:translateY(1px)}
@media (max-width:720px){.imgb{font-size:13.5px;padding:9px 14px}}

/* ============ v10218 · 销售明细：克重 / 金额 红字加大加粗（与入库金重同语言） ============ */
#sl-lines input.wt{font-size:15px!important;font-variant-numeric:tabular-nums}
#sl-lines .wtfix{color:#d02f2f;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
#sl-lines b[data-amt]{color:#d02f2f;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}

/* ============ v10219 · 批量入库：拖入 Excel/CSV 自动导入（拖放提示层） ============ */
.intake-dropov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:rgba(24,30,38,.42);display:flex;align-items:center;justify-content:center;pointer-events:none}
.intake-dropov.hidden{display:none}
.intake-dropbox{background:#fffdf5;border:3px dashed rgba(201,162,39,.85);border-radius:22px;padding:40px 60px;text-align:center;box-shadow:0 26px 70px rgba(0,0,0,.4);animation:ipkIn .28s cubic-bezier(.22,1,.36,1) both}
.intake-dropbox .ic{font-size:48px;line-height:1}
.intake-dropbox .t{font-size:20px;font-weight:800;color:#8a6d1a;margin-top:12px;letter-spacing:.5px}
.intake-dropbox .d{font-size:13.5px;color:#8a94a6;margin-top:7px}

/* ============ v10221 · 单件入库：金重 / 标签价 红字加大加粗（更醒目） ============ */
#sg-weight,#sg-retail{color:#d02f2f!important;font-weight:800!important;font-size:20px!important;font-variant-numeric:tabular-nums}

/* ============ v10224 · 开单成功庆祝：烟花画布 + 「爆单成功」金字（动画结束自动消失） ============ */
.celebrate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;overflow:hidden;border-radius:16px;opacity:1;transition:opacity .55s ease}
.celebrate.fade{opacity:0}
.celebrate-cv{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}
.celebrate-word{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.3) rotate(-7deg);font-size:46px;font-weight:900;letter-spacing:8px;white-space:nowrap;
  font-family:"PingFang SC","Microsoft YaHei",sans-serif;
  background:linear-gradient(180deg,#fff7d8 8%,#f6c945 46%,#d4901f 92%);-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:celebrateIn .6s cubic-bezier(.16,1.5,.3,1) forwards, celebrateGlow 1.5s .6s ease-in-out infinite alternate}
@keyframes celebrateIn{to{transform:translate(-50%,-50%) scale(1) rotate(0deg)}}
@keyframes celebrateGlow{from{filter:drop-shadow(0 0 4px rgba(246,201,69,.5))}to{filter:drop-shadow(0 0 22px rgba(246,201,69,.98))}}
@media (prefers-reduced-motion:reduce){
  .celebrate-word{animation:none;transform:translate(-50%,-50%)}
}

/* ============ v10225 · 销售开单：详情 / 精简双模式 + 精简模式（三步分步卡片 · 轮动切换 · 高端紧凑） ============ */
/* 模式切换分段控件（页头右上角） */
.smode{display:inline-flex;align-items:center;background:#efe7cf;border:1px solid rgba(201,162,39,.42);border-radius:12px;padding:3px;gap:3px;box-shadow:inset 0 1px 3px rgba(120,94,20,.10);flex-shrink:0}
.smode button{appearance:none;border:0;background:transparent;font-family:inherit;font-size:13.5px;font-weight:800;letter-spacing:.4px;color:#8a6d1a;padding:7px 16px;border-radius:9px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease;white-space:nowrap}
.smode button:hover{background:rgba(201,162,39,.14)}
.smode button.on{background:linear-gradient(145deg,#e8c766,#c9a227);color:#fff;box-shadow:0 3px 10px rgba(201,162,39,.42)}
@media (max-width:720px){.smode button{padding:6px 10px;font-size:12px}}

/* —— 顶部信息条（精简模式） —— */
.cs-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px}
.cs-f{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);font-weight:600}
.cs-f select{padding:7px 9px;border:1px solid var(--line);border-radius:9px;font-size:13.5px;background:#fff;font-weight:700;color:var(--ink)}
.cs-f select:focus{border-color:var(--gold);outline:2px solid var(--gold-l)}
.cs-date{width:132px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--gray-l);color:var(--ink-2);font-size:13px;font-weight:700;cursor:not-allowed}
.cs-sp{flex:1;min-width:6px}

/* —— 步骤条 —— */
.cs-rail{position:relative;display:flex;align-items:stretch;background:#fffdf6;border:1px solid rgba(201,162,39,.32);border-radius:14px;padding:6px 6px 8px;margin-bottom:14px;box-shadow:0 2px 10px rgba(31,39,51,.05);overflow:hidden}
.cs-tab{flex:1;display:flex;align-items:center;gap:10px;appearance:none;border:0;background:transparent;font-family:inherit;padding:9px 12px;border-radius:10px;cursor:pointer;text-align:left;transition:background .2s ease;min-width:0;position:relative;z-index:1}
.cs-tab:hover{background:rgba(201,162,39,.10)}
.cs-tab .cs-n{width:27px;height:27px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#efe7cf;color:#8a6d1a;font-weight:800;font-size:13.5px;transition:background .25s ease,color .25s ease,box-shadow .25s ease;font-style:normal}
.cs-tab .cs-t{display:flex;flex-direction:column;min-width:0;line-height:1.28}
.cs-tab .cs-t b{font-size:14.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}
.cs-tab .cs-t em{font-style:normal;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.cs-tab.on .cs-n{background:linear-gradient(145deg,#e8c766,#c9a227);color:#fff;box-shadow:0 3px 10px rgba(201,162,39,.45)}
.cs-tab.on .cs-t b{color:#8a6d1a}
.cs-tab.done .cs-n{background:#f4e8c4;color:#a8861b}
.cs-tab.done .cs-t em{color:#a8861b}
.cs-railline{width:22px;flex:none;align-self:center;height:1px;background:linear-gradient(90deg,rgba(201,162,39,.38),rgba(201,162,39,.14));border-radius:1px}
.cs-railind{position:absolute;bottom:3px;height:3px;border-radius:2px;left:20px;width:60px;background:linear-gradient(90deg,rgba(232,199,102,.18),#c9a227,rgba(232,199,102,.18));transition:left .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1);pointer-events:none}

/* —— 三步舞台：轮动切换（透视滚轮） —— */
.cs-stage{position:relative;perspective:1500px;transition:height .55s cubic-bezier(.22,1,.36,1);margin-bottom:14px}
.cs-step{position:absolute;left:0;right:0;top:0;opacity:0;visibility:hidden;pointer-events:none;transform:rotateX(-13deg) translateY(34px) scale(.97);transform-origin:50% 6%;backface-visibility:hidden}
.cs-step.cs-on{position:relative;opacity:1;visibility:visible;pointer-events:auto;transform:none}
.cs-step.cs-anim{transition:transform .58s cubic-bezier(.22,1,.36,1),opacity .46s ease;will-change:transform,opacity}
.cs-step.cs-abs{position:absolute!important;left:0;right:0;top:0;visibility:visible;pointer-events:none}
.cs-step .cs-card{margin-bottom:0}

/* —— 步骤卡片内部 —— */
.cs-card{padding:18px 18px 14px}
.cs-chead{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.cs-cnum{width:30px;height:30px;flex:none;border-radius:9px;background:var(--gold-l);color:#a8861b;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,162,39,.45);margin-top:1px;font-style:normal}
.cs-chead>div{flex:1;min-width:0}
.cs-chead b{font-size:16.5px;letter-spacing:.3px}
.cs-chead span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.cs-tools{display:flex;gap:6px;flex-wrap:wrap;flex:none;align-items:center}
.cs-foot{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.cs-foot .cs-hint{font-size:12.5px;color:var(--muted)}
.cs-next{padding:11px 22px;font-size:15px;font-weight:800}
.cs-save{font-size:16px;padding:13px 30px;font-weight:800;box-shadow:0 6px 18px rgba(201,162,39,.35)}

/* 精简模式明细：行更高、金额沿用红字 */
#cs-stage .xls th,#cs-stage .xls td{height:42px}
#cs-stage .xls thead th{height:34px;font-size:12px}
#cs-stage .xls .csc-name b{font-size:14.5px}
#cs-stage .xls .csc-name .celltxt{padding-left:4px}
#cs-stage .xls input{font-size:14px;font-weight:700}
#cs-stage .actv{color:#a8861b;font-weight:800}
#cs-stage .xls td.ops{width:44px}

/* —— 第 3 步：汇总收款 —— */
.cs-memrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:#fffdf5;border:1px solid rgba(201,162,39,.30);border-radius:12px}
.cs-memrow .cs-memlab{font-weight:800;font-size:13.5px;color:#8a6d1a}
.cs-memrow input{width:210px;max-width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-weight:600}
.cs-memrow input:focus{border-color:var(--gold);outline:2px solid var(--gold-l)}
.cs-memrow #sl-membercard{flex-basis:100%;margin:0}
.cs-memrow #sl-membercard .member-hit,.cs-memrow #sl-membercard .member-miss{margin:0}
.cs-memrow .muted{font-size:12.5px}
.cs-sum{display:grid;grid-template-columns:1.12fr 1fr;gap:18px;align-items:start}
.cs-sum-l,.cs-sum-r{min-width:0}
.cs-offrow{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 10px}
.cs-offrow input{width:112px;text-align:right;padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums}
.cs-offrow input:focus{border-color:var(--gold);outline:2px solid var(--gold-l)}
.cs-offrow em{font-style:normal;font-size:11.5px;color:var(--muted)}
.cs-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:10px;border-top:2px solid var(--ink)}
.cs-total span{font-weight:800;font-size:15px}
.cs-total b{font-size:31px;font-weight:800;color:var(--gold-d);font-variant-numeric:tabular-nums;line-height:1.1}
.cs-rec{display:block;margin-bottom:12px}
.cs-rec>span{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);font-weight:600;margin-bottom:5px}
.cs-rec input{width:100%;padding:10px 12px;border-radius:10px;font-variant-numeric:tabular-nums}
.cs-rec input:focus{outline:none;box-shadow:0 0 0 4px var(--gold-l)}
.cs-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 10px}
.cs-plab{color:#4a5568;font-size:14px;font-weight:600}
.cs-pay input{width:108px;text-align:right;padding:8px 10px;border:1.5px solid var(--gold);border-radius:9px;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.cs-pay input:focus{outline:none;box-shadow:0 0 0 4px var(--gold-l)}
.cs-state{display:flex;justify-content:flex-end}
@media (max-width:1024px){   /* v10247 · 会员收款两栏改一列提到 1024 */
  .cs-sum{grid-template-columns:1fr;gap:6px}
  .cs-sum-r{margin-top:6px}
}
@media (max-width:720px){
  .cs-rail{padding:5px 5px 7px}
  .cs-tab{padding:7px 8px;gap:7px}
  .cs-tab .cs-t em{display:none}
  .cs-tab .cs-t b{font-size:12.5px}
  .cs-tab .cs-n{width:23px;height:23px;font-size:12px}
  .cs-railline{width:10px}
  .cs-chead b{font-size:15px}
  .cs-chead span{display:none}
  .cs-card{padding:14px 12px 12px}
  .cs-foot .cs-hint{display:none}
  .cs-next{width:100%;justify-content:center}
  .cs-total b{font-size:26px}
  .cs-memrow input{width:160px}
}
@media (prefers-reduced-motion:reduce){
  .cs-step,.cs-stage,.cs-railind{transition:none!important}
}

/* ============ v10226 · 精简模式微调：卡片收窄为居中横向长方体（缩短操作距离）+ 文字数据放大 ============ */
.cs-bar,.cs-rail,.cs-stage{max-width:960px;margin-left:auto;margin-right:auto}
.cs-card{padding:16px 18px 13px}
.cs-bar{padding:11px 15px;gap:10px 12px}
.cs-tab .cs-n{font-size:14px}
.cs-tab .cs-t b{font-size:15px}
.cs-tab .cs-t em{font-size:12px}
.cs-chead b{font-size:17px}
.cs-chead span{font-size:13px}
.cs-f{font-size:13.5px}
.cs-f select{font-size:14px}
#cs-stage .xls th,#cs-stage .xls td{height:46px}
#cs-stage .xls thead th{height:36px;font-size:12.5px}
#cs-stage .xls .csc-name b{font-size:15.5px}
#cs-stage .xls input{font-size:15px}
#cs-stage #sl-lines b[data-amt]{font-size:16px}
.cs-sum-l .splitline{font-size:15px;padding:6px 0}
.cs-offrow{font-size:14px}
.cs-offrow input{width:124px;font-size:15px}
.cs-rec>span{font-size:13.5px}
.cs-plab{font-size:14.5px}
.cs-foot .cs-hint{font-size:13px}
.cs-memrow .cs-memlab{font-size:14px}
.cs-memrow input{font-size:15px}

/* ============ v10227 · 精简模式：右侧「今日开单」查询栏 + 退单/重印 + 退货水印 ============ */
.cs-split{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;justify-content:center}
.cs-main{flex:1 1 640px;max-width:960px;min-width:0}
.cs-side{flex:0 0 302px;width:302px;max-width:302px;position:sticky;top:10px}
@media (max-width:1460px){
  .cs-side{flex:1 1 100%;width:auto;max-width:960px;position:static;margin:0 auto}
}
.cs-panel{padding:12px 12px 10px;margin-bottom:0}
.cs-phead{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.cs-phead b{font-size:15px}
.cs-phead .muted{font-size:12px;margin-left:auto;font-variant-numeric:tabular-nums}
.cs-psearch{display:flex;gap:6px;margin-bottom:8px}
.cs-psearch input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;font-size:13.5px}
.cs-psearch input:focus{border-color:var(--gold);outline:2px solid var(--gold-l)}
.cs-plist{max-height:560px;overflow-y:auto;overscroll-behavior:contain;cursor:grab;border:1px solid var(--line);border-radius:10px;background:#fffdf9;touch-action:pan-y}
.cs-plist.dragging{cursor:grabbing;user-select:none}
.cs-orow{padding:8px 10px;border-bottom:1px dashed #ece5d2;transition:background .15s}
.cs-orow:last-child{border-bottom:0}
.cs-orow:hover{background:#fff9ea}
.cs-orow1{display:flex;align-items:center;gap:6px}
.cs-orow1 b{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-orow1 em{font-style:normal;margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
.cs-otag{flex:none;font-size:10.5px;padding:1px 6px}
.cs-orow2{display:flex;align-items:center;gap:6px;margin-top:3px}
.cs-ono{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.cs-oops{display:flex;gap:4px;flex:none}
.cs-pfoot{margin-top:8px;font-size:11.5px;text-align:center}
/* 退货水印（重印顾客销售单：已退货商品上盖章） */
.ret-cell{position:relative}
.retwm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-10deg);font-size:18px;font-weight:900;color:rgba(216,74,63,.40);letter-spacing:6px;text-indent:6px;pointer-events:none;white-space:nowrap;border:2px solid rgba(216,74,63,.30);border-radius:6px;padding:0 3px}
@media print{
  .retwm{color:rgba(216,74,63,.55)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ============ v10229 · 会员显示规范：统一「姓名（手机号码）」——姓名偏大、手机号小字灰色 ============ */
.memlb{min-width:0}
.memlb .mem-nm{font-size:14.5px;font-weight:800;letter-spacing:.2px}
.memlb .mem-ph{font-style:normal;font-size:11.5px;color:var(--muted);font-weight:500;margin-left:3px;letter-spacing:0}
/* 各场景微调 */
.cs-orow1 .memlb{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-orow1 .memlb .mem-nm{font-size:13.5px}
.cs-orow1 .memlb .mem-ph{font-size:11px}
.member-hit .memlb .mem-nm{font-size:16px}
.member-hit .memlb .mem-ph{font-size:12px}
#mb-list .memlb .mem-nm{font-size:15px}
#mb-list .memlb .mem-ph{font-size:12px}
.splitline .memlb .mem-nm,.docprint .memlb .mem-nm{font-size:inherit}

/* ============ v10229 · 旧金折抵：回收单价输入框收窄（与其他网格输入一致）· 损耗率默认 0 可填 ============ */
.cellflex{display:flex;align-items:center;justify-content:flex-end;gap:5px;width:100%;min-width:0;padding:0 6px}
.cellflex>input{width:106px;flex:none;height:30px;border:0;background:transparent;padding:0;margin:0;font-size:13px;font-weight:600;text-align:right;color:var(--ink);outline:0;box-shadow:none!important;font-variant-numeric:tabular-nums}
#cs-stage .cellflex>input{font-size:15px}
.xls td>input[data-k="ded"]{max-width:110px;margin-left:auto}

/* ============ v10231 · 销售开单精简模式：金色光尘动态背景（慢速 · 小颗 · 少量；置于卡片之下） ============ */
.cs-bgfx{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}
@media print{.cs-bgfx{display:none!important}}

/* ============ v10235 · 销售开单页：黑金底色（同登录页）——金色光尘在深底上清晰可见 ============ */
.sd-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-2;
  background:radial-gradient(1100px 760px at 72% -12%, #32291a 0%, #1b1e24 52%, #131519 100%)}
.sd-bg::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>")}
.sd-bg::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 40%, transparent 55%, rgba(0,0,0,.5) 100%)}
@media print{.sd-bg{display:none!important}}
[data-tabpage="sales"] .page-head h2{color:#f3e7c3;text-shadow:0 1px 8px rgba(0,0,0,.4)}
[data-tabpage="sales"] .page-head .sub{color:#c9b47a}
[data-tabpage="sales"] .page-head .btn-ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#d8d2c0}
[data-tabpage="sales"] .page-head .btn-ghost:hover{background:rgba(232,199,102,.16);color:#f3dd8e;border-color:rgba(232,199,102,.5)}
[data-tabpage="sales"] .smode{background:rgba(255,255,255,.07);border-color:rgba(201,162,39,.42);box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}
[data-tabpage="sales"] .smode button{color:#e8c766}
[data-tabpage="sales"] .smode button:hover{background:rgba(201,162,39,.18)}
[data-tabpage="sales"] .smode button.on{color:#fff;box-shadow:0 3px 10px rgba(201,162,39,.5)}

/* ============ v10235 · 标签栏金色滑块：切换标签时平滑滑到新选中的标签上 ============ */
#vtslider{position:absolute;left:0;top:8px;width:0;height:38px;border-radius:13px;z-index:0;opacity:0;pointer-events:none;
  background:linear-gradient(145deg,#eac96e,#c9a227);
  box-shadow:0 4px 14px rgba(201,162,39,.5), inset 0 1px 0 rgba(255,255,255,.5);
  transition:left .42s cubic-bezier(.22,1,.36,1),top .28s ease,width .42s cubic-bezier(.22,1,.36,1),height .28s ease,opacity .25s ease}
#vtslider.no-anim{transition:none!important}
.viewtabs .vtab.on{background:transparent!important;border-color:transparent!important;color:#3a2c07!important;text-shadow:none!important}
.viewtabs .vtab.on b{color:#3a2c07!important}
.viewtabs .vtab.on .x{color:rgba(58,44,7,.6)!important}
.viewtabs .vtab.on .x:hover{background:rgba(216,74,63,.85);color:#fff!important}
@media (prefers-reduced-motion:reduce){#vtslider{transition:none}}

/* ============ v10244 · 会员收款：其他优惠上移至实收金额上方 + 醒目加大 ============ */
.cs-offrow.offbig span{font-size:15.5px;font-weight:800;color:#8a6d1a}
.cs-offrow.offbig em{font-size:12.5px}
#sl-otheroff{width:150px;font-size:22px;font-weight:800;text-align:right;border:2px solid var(--gold);border-radius:11px;padding:8px 12px;background:#fffdf5;font-variant-numeric:tabular-nums;letter-spacing:.3px}
#sl-otheroff:focus{outline:none;border-color:var(--gold-d);box-shadow:0 0 0 4px rgba(201,162,39,.22)}
.field.offbig>span{font-size:15px;font-weight:800;color:#8a6d1a}

/* ============ v10244 · 工作台「当前活动」卡：主题（大字号）/ 活动内容（小字号）做区分 ============ */
.promo-list{display:flex;flex-direction:column}
.promo-item{display:flex;gap:10px;align-items:stretch;padding:9px 2px;border-bottom:1px dashed var(--line)}
.promo-item:last-child{border-bottom:none}
.promo-bar{width:4px;border-radius:3px;background:linear-gradient(180deg,#eac96e,#c9a227);flex-shrink:0}
.promo-t{font-size:17px;font-weight:800;color:var(--ink);line-height:1.35;letter-spacing:.2px}
.promo-c{font-size:13px;color:var(--muted);line-height:1.6;margin-top:2px}

/* ============ v10245 · 背景回退：黑金底仅保留销售开单页（其适配见上方 v10235 「[data-tabpage="sales"]」段） ============ */

/* ============ v10244 · 主按钮恢复「金底深字」：精简模式「下一步 / 保存销售单」做醒目、不再灰色 ============ */
.btn-primary{background:linear-gradient(145deg,#eecb52,#c9a227);border-color:rgba(122,90,10,.35);color:#241d05!important}
.btn-primary:hover{background:linear-gradient(145deg,#f3d364,#d4ab2c)}
.btn-primary.cs-next{box-shadow:0 6px 16px rgba(201,162,39,.42), inset 0 1px 0 rgba(255,255,255,.55)}
.btn-primary.cs-save{background:linear-gradient(145deg,#f2d05c,#c9a227);box-shadow:0 8px 22px rgba(201,162,39,.55), inset 0 1px 0 rgba(255,255,255,.55);letter-spacing:.5px}

/* ============ v10247 · 笔记本 / 小屏电脑响应式增强 ============ */
/* ① 记录表防压扁：窄屏保持列宽（外层 .tablewrap 横向滑动查看；宽屏不受影响） */
table.tb{min-width:640px}
@media print{table.tb{min-width:0}}

/* ② 小屏笔记本（1025–1440px：1366×768 / 1280×800 / 125% 缩放屏等）：收紧内容区留白，不缩正文字号
   （≥960px 为左侧边栏模式，导航字号/侧栏结构保持不动） */
@media (min-width:1025px) and (max-width:1440px){
  .view{padding:0 16px;margin-top:12px}
  .card{padding:16px}
}
/* ②b 非侧栏模式的横排顶栏（769–959px）：留白轻微收紧 */
@media (min-width:769px) and (max-width:959px){
  .topbar{gap:12px;padding:11px 16px}
}
/* ③ ≤1024px 两列变一列（工作台 hero / 会员收款，见上方对应断点）；④ ≤768px 导航与卡片竖排（见上方主断点块） */

/* ============ v10248 · 小屏视觉审计修复（纯样式，不动业务逻辑） ============ */
/* ③ 开发工具浮球：小屏笔记本上缩小并半透明，减少对功能面板卡片的遮挡（悬停恢复） */
@media (max-width:1440px){.dw-launcher{width:44px;height:44px;font-size:19px;right:12px;bottom:12px;opacity:.92}}
.dw-launcher:hover{opacity:1}

/* ============ v10249 · 开单模式（仅销售开单 · 全屏清爽，适配 14 寸小屏） ============ */
/* 隐藏导航 / 页签栏 / 页脚 / 开发浮球，内容区全宽 */
body.mode-cashier .topbar{display:none!important}
body.mode-cashier .viewtabs{display:none!important}
body.mode-cashier .foot{display:none!important}
body.mode-cashier .devwidget{display:none!important}
body.mode-cashier .view{margin-left:0!important;margin-top:14px;padding:0 18px}
/* 左下角「⇄ 工作站模式」悬浮切换钮（仅开单模式显示） */
.btn-mode-back{position:fixed;left:12px;bottom:12px;z-index:80;display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;border:1px solid rgba(201,162,39,.5);background:rgba(255,255,255,.93);color:#8a6d1a;font-weight:700;font-size:13.5px;cursor:pointer;box-shadow:0 6px 18px rgba(31,39,51,.16);transition:.15s;font-family:inherit}
.btn-mode-back:hover{background:#fff;box-shadow:0 8px 22px rgba(201,162,39,.3);transform:translateY(-1px)}
.btn-mode-back.hidden{display:none}
/* 模式选择弹窗：「上次使用」角标 */
.mode-last::after{content:'上次使用';position:absolute;top:9px;right:10px;font-size:11px;font-weight:800;color:#a8861b;background:#f6efd9;border-radius:6px;padding:1px 7px}
@media print{body.mode-cashier .view{margin-left:0}}

/* v10249 · 开单模式：「今日开单」右侧栏收进头部按钮（点击弹窗显示；工作站模式保持原样） */
body.mode-cashier .cs-side{display:none!important}
body.mode-cashier .cs-main{max-width:1180px}
.only-cashier{display:none!important}
body.mode-cashier .only-cashier{display:inline-flex!important}
#sl-cpanel-n{color:#a8861b;font-weight:800;font-style:normal}
.modal-body .cs-plist{max-height:52vh;cursor:default}
.modal-body .cs-psearch{margin-bottom:8px}

/* ============ v10251 · 明细弹窗加宽 + 单号可点 + 记录表列宽拖拽 ============ */
/* 入库单明细弹窗加宽（显示全表内已存数据字段；配合表内列宽拖拽 + 横向滑动） */
.modal-body.modal-idm{width:1340px;max-width:97vw}
/* 单据号：直接点击进入明细（金色链接） */
.dq-no{color:#8a6d1a;font-weight:700;cursor:pointer;text-decoration:none;border-bottom:1px dashed rgba(201,162,39,.55);transition:.15s}
.dq-no:hover{color:#b8861b;border-bottom-color:#b8861b}
/* 记录表（.tb）表头拖拽把手（悬停显示，按住左右拖动调列宽） */
table.tb th.tb-grip{position:relative}
table.tb th.tb-grip .cgrip{position:absolute;top:0;right:-3px;bottom:0;width:7px;cursor:col-resize;z-index:5;opacity:.45;background:transparent}
table.tb th.tb-grip .cgrip:hover{opacity:1;background:rgba(201,162,39,.4)}
/* 调整过列宽的记录表：列宽固定，超出省略（拖宽列或横向滑动看全） */
table.tb.tb-gripped th,table.tb.tb-gripped td{overflow:hidden;text-overflow:ellipsis}

/* ============ v10252 · 修正弹窗对齐单件入库：金重/标签价红字加大（与 #sg-weight/#sg-retail 同款） ============ */
#fa-weight,#fa-fixed{color:#d02f2f!important;font-weight:800!important;font-size:20px!important;font-variant-numeric:tabular-nums}

/* ============ v10253 · 销售单（各类明细单）弹窗加大：显示全信息 ============ */
.modal-body.modal-dtl{width:1340px;max-width:97vw}

/* ============ v10254 · 登录页上的「界面模式」弹窗：层级提升（gate z-index:100 > modal 80） ============ */
#modal.modal-on-gate{z-index:110}

/* ============ v10255 · 退货 / 换货流程：红色警告大按钮 + 换货盖章水印 ============ */
/* 预览页「确认退货」：红字加大加粗警告（白底红字红框，悬停加深） */
.btn-return-big{display:block;width:100%;margin-top:12px;padding:14px 18px;border:2px solid #d02f2f;border-radius:12px;background:#fff5f4;color:#d02f2f;font-size:19px;font-weight:800;letter-spacing:.5px;cursor:pointer;transition:.15s;font-family:inherit}
.btn-return-big:hover{background:#fde3e1;box-shadow:0 8px 22px rgba(208,47,47,.28);transform:translateY(-1px)}
.btn-return-big:disabled{background:#f1f3f6;color:#9aa3b0;border-color:#d9dee6;box-shadow:none;cursor:not-allowed;transform:none}
/* 「换货」盖章水印（与退货水印同款样式：预览 / 重印时覆盖在品名上） */
.xch-cell{position:relative}
.xchwm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-10deg);font-size:18px;font-weight:900;color:rgba(139,92,246,.42);letter-spacing:6px;text-indent:6px;pointer-events:none;white-space:nowrap;border:2px solid rgba(139,92,246,.32);border-radius:6px;padding:0 3px}
@media print{
  .xchwm{color:rgba(139,92,246,.55)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ============ v10261 · 卡片选择弹窗加大（左右显示全信息）+ 卡片间距微调 ============ */
.modal-body.modal-ipk{width:1040px}          /* 860 → 1040：卡片更宽，说明文字一行放下 */
.ipk{gap:12px}                                 /* 14 → 12：卡片间距适当收紧 */
.ipk-card{padding:24px 18px 20px;gap:8px}      /* 上下微收、左右微增（更宽扁好读） */
.ipk-d{font-size:13px}                         /* 12.5 → 13：说明文字稍大更好读 */

/* ============ v10263 · 浅金底按钮（入库页「入库单明细」等，与金色主按钮同系、层次分明） ============ */
.btn-tint{background:linear-gradient(145deg,#fdf7e3,#f6ebc7)!important;border:1.5px solid #e3d29a!important;color:#7a5a0a!important;font-weight:800}
.btn-tint:hover{filter:brightness(.98);box-shadow:0 4px 12px rgba(201,162,39,.28)}

/* ============ v10264 · 旧料台账：拖黑多选行高亮 ============ */
tr.om-sel td{background:#fdf3d7!important}
tr.om-sel:hover td{background:#fbecbf!important}

/* ============ v10265 · 库存明细表 A4 打印（每页 30 行、超出翻页） ============ */
@media print{
  .iv-print-page table.tb th,.iv-print-page table.tb td{padding:3px 6px!important;font-size:11px!important;line-height:1.35}
  .iv-print-page h3{font-size:16px!important}
}

/* ===== v10270 · 单件饰品查询（工作台内联） ===== */
.tl2{position:relative;margin:4px 0 12px;padding-left:20px}
.tl2::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:#eadfb8}
.tl2-item{position:relative;padding:0 0 12px 8px}
.tl2-item::before{content:'';position:absolute;left:-18px;top:4px;width:10px;height:10px;border-radius:50%;background:#c9a227;box-shadow:0 0 0 3px rgba(201,162,39,.16)}
.tl2-item.first::before{background:#1f9d55;box-shadow:0 0 0 3px rgba(31,157,85,.16)}
.tl2-item.cur::before{background:#4a7dbd;box-shadow:0 0 0 3px rgba(74,125,189,.16)}
.tl2-time{font-size:12px;color:#98a2b3;font-variant-numeric:tabular-nums}
.tl2-t{font-size:13.5px;font-weight:800;margin:1px 0}
.tl2-s{font-size:12.5px;color:#5b6472}
.itq-print{font-size:17px!important;padding:13px 42px!important;border-radius:12px!important;font-weight:800!important;letter-spacing:1px}
.itq-menu{position:fixed;z-index:230;background:#fff;border:1px solid #e7dfc8;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.16);padding:6px;min-width:150px}
.itq-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:7px;font-size:13.5px;cursor:pointer;color:#232a33}
.itq-menu button:hover{background:#fdf8e9;color:#7a5a0a}
.itq-info{border:1px solid var(--line);border-radius:12px;padding:2px;background:#fff}

/* ===== v10273 · 库存统计：汇总卡区（大卡 + 门店小卡）/ 黄金主·子项底色 / 字号提升 ===== */
.scs-hint{font-size:13px}
table.scs{background:#fff;font-size:14px}
table.scs th{font-size:13.5px}
table.scs tbody td{padding:11px 10px}
table.scs tbody tr.gsum td{background:#f5e8c2;font-weight:800;border-top:1px solid #e8d7a4;border-bottom:1px solid #e8d7a4}
table.scs tbody tr.gsum td:first-child{color:#4a3c0d}
table.scs tbody tr.gsub td{background:#faf5e6;color:#6f6033}
table.scs tbody tr.gsub td:first-child{padding-left:40px;color:#8a7a45}
table.scs tbody tr:hover td{background:#faf6ea}
table.scs tbody tr.gsum:hover td{background:#f0e2b3}
table.scs tbody tr.gsub:hover td{background:#f6efd8}
table.scs tfoot td{background:#f4ecd6;border-top:2px solid #e6d6a3}
.scs-sum:not(:empty){display:grid;grid-template-columns:minmax(0,298px) minmax(0,1fr);gap:10px;margin:2px 0 14px;align-items:start}
.scs-big{background:linear-gradient(180deg,#fdf6e0,#f8ecc9);border:1px solid rgba(201,162,39,.45);border-radius:12px;padding:12px 15px 11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.scs-big .eb{font-size:12px;font-weight:700;color:#a8861b;letter-spacing:.4px}
.scs-big .nm{font-size:15.5px;font-weight:800;color:#1f2733;margin:2px 0 6px}
.scs-kpi{display:flex;align-items:baseline;justify-content:space-between;padding:5px 0;border-top:1px dashed rgba(201,162,39,.30)}
.scs-kpi .k{font-size:13px;color:#7a6a3a}
.scs-kpi .v{font-size:20px;font-weight:800;color:#1f2733;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.scs-kpi .v em{font-style:normal;font-size:12.5px;font-weight:700;color:#8a7a45;margin-left:3px;letter-spacing:0}
.scs-big .nt{font-size:12.5px;color:#9a8d6d;margin-top:6px;border-top:1px dashed rgba(201,162,39,.30);padding-top:6px}
.scs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;align-content:start}
.scs-st{background:#fff;border:1px solid rgba(201,162,39,.24);border-radius:12px;padding:10px 13px 9px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.scs-st:hover{transform:translateY(-2px);border-color:rgba(201,162,39,.55);box-shadow:0 8px 18px rgba(31,39,51,.10)}
.scs-st .nm{font-size:13.5px;font-weight:800;color:#1f2733;display:flex;align-items:center;gap:7px;margin-bottom:3px}
.scs-st .nm i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.14);flex-shrink:0}
.scs-st .r{display:flex;align-items:baseline;justify-content:space-between;padding:3px 0;font-size:13px;color:#8a94a6}
.scs-st .r b{font-size:15px;font-weight:800;color:#1f2733;font-variant-numeric:tabular-nums}
.scs-st .r b em{font-style:normal;font-size:11.5px;font-weight:700;color:#9a8d6d;margin-left:2px}
@media (max-width:1024px){.scs-sum:not(:empty){grid-template-columns:1fr}}

/* v10274 · 汇总卡：仅黄金系列（门店卡加「◆ 黄金合计」小标题） */
.scs-st .cap{font-size:11.5px;font-weight:700;color:#a8861b;letter-spacing:.3px;margin:1px 0 3px}

/* ============ v10486 · 库存统计：单店视图（点门店卡 → 独立画面 + 返回条） ============ */
.scs-back{margin:0 0 12px}
.scs-one{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:linear-gradient(180deg,#fdf6e0,#f8ecc9);border:1px solid rgba(201,162,39,.45);border-radius:12px;padding:11px 16px;margin:0 0 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.scs-one .nm{font-size:15.5px;font-weight:800;color:#1f2733;display:flex;align-items:center;gap:8px}
.scs-one .nm i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.16);flex-shrink:0}
.scs-one .kpi{display:flex;align-items:baseline;gap:6px;border-left:1px dashed rgba(201,162,39,.35);padding-left:18px}
.scs-one .kpi span{font-size:12.5px;color:#7a6a3a;white-space:nowrap}
.scs-one .kpi b{font-size:19px;font-weight:800;color:#1f2733;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.scs-one .kpi b em{font-style:normal;font-size:12px;font-weight:700;color:#8a7a45;margin-left:3px}
.scs-one .nt{margin-left:auto;font-size:12.5px;color:#9a8d6d}
@media (max-width:900px){.scs-one{gap:10px 16px}.scs-one .kpi{padding-left:0;border-left:none}.scs-one .nt{margin-left:0;flex-basis:100%}}

/* ============ v10487 · 库存统计汇总卡：金色底「飘移」选中动画（与标签页同款手感） ============ */
.scs-sum{position:relative}
.scs-hl{position:absolute;left:0;top:0;width:0;height:0;opacity:0;z-index:0;border-radius:12px;pointer-events:none;
  background:linear-gradient(145deg,#eecc4a,#c9a227);box-shadow:0 8px 20px rgba(201,162,39,.42);
  transition:left .26s cubic-bezier(.22,1,.36,1),top .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),opacity .16s linear}
.scs-hl.no-anim{transition:none!important}
.scs-grid{position:relative;z-index:1}
.scs-big{position:relative;z-index:1;cursor:pointer;transition:background .22s linear,box-shadow .22s ease,transform .16s ease}
.scs-big.on{background:transparent;border-color:transparent;box-shadow:none}
.scs-big.on .eb,.scs-big.on .nm,.scs-big.on .scs-kpi .k,.scs-big.on .scs-kpi .v,.scs-big.on .scs-kpi .v em,.scs-big.on .nt{color:#fff;text-shadow:0 1px 2px rgba(122,90,10,.35)}
.scs-big.on .scs-kpi,.scs-big.on .nt{border-top-color:rgba(255,255,255,.45)}
.scs-st{transition:background-color .22s linear,border-color .22s ease,box-shadow .22s ease,transform .16s ease}
.scs-st.on,.scs-st.on:hover{background-color:transparent;border-color:transparent;box-shadow:none;transform:none}
.scs-st.on .nm,.scs-st.on .nm i{color:#fff}
.scs-st.on .nm i{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.scs-st.on .cap,.scs-st.on .r,.scs-st.on .r b,.scs-st.on .r b em{color:#fff;text-shadow:0 1px 2px rgba(122,90,10,.32)}

/* v10505 · 发起调拨：标题括号内的调入门店选择框（红字 + 红框，醒目） */
.card h3 select.tr-target-hl{display:inline-block;vertical-align:middle;margin:0 3px;padding:4px 10px;font-size:14px;font-weight:800;
  color:#c0392b!important;background:#fff6f5!important;border:2px solid #e05252!important;border-radius:9px!important;
  box-shadow:0 0 0 3px rgba(224,82,82,.14);cursor:pointer;max-width:280px}
.card h3 select.tr-target-hl:focus{outline:none;box-shadow:0 0 0 4px rgba(224,82,82,.28)}
.card h3 select.tr-target-hl option{color:#232a33;font-weight:600}
/* v10506 · 必填标记 */
.tr-req{display:inline-block;color:#e05252;font-weight:900;font-size:16px;line-height:1;margin:0 2px;vertical-align:middle;text-shadow:0 0 6px rgba(224,82,82,.35)}

/* v10532 · 表单导入：红条提示 + 撤销本次导入 */
.imp-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:8px 12px;border:1px solid rgba(216,74,63,.42);
  background:#fdeae8;border-radius:10px;font-size:13px;color:#a8342a}
.imp-bar b{font-size:15px;font-variant-numeric:tabular-nums}
.imp-bar .btn{margin-left:auto}

/* v10523 · Excel 网格：Shift 多选同列多格（复制→粘贴批量填充） */
.xls td.gsel{background:#fff8e1!important;box-shadow:inset 0 0 0 2px rgba(201,162,39,.65)!important}
.xls td.gsel:focus-within{background:#fff3cd!important}
/* v10525 · 多选浮动操作条 */
.gf-bar{position:fixed;z-index:120;display:none;align-items:center;gap:8px;background:#fff;border:1px solid rgba(201,162,39,.5);border-radius:10px;
  box-shadow:0 8px 26px rgba(31,39,51,.22);padding:6px 10px;font-size:12.5px;color:#5a6472;white-space:nowrap}
.gf-bar #gf-n{font-weight:800;color:#8a6d1a}

/* v10522 · 发起调拨：表上统计（克重类 件数/金重 · 一口价 件数/总售价） */
.tr-sum{display:flex;gap:8px 20px;flex-wrap:wrap;margin:2px 0 8px;font-size:13px;color:#3f4855}
.tr-sum span{display:inline-flex;align-items:baseline;gap:6px;background:#fff7e6;border:1px solid rgba(201,162,39,.35);border-radius:8px;padding:5px 11px}
.tr-sum b{font-size:15px;color:#8a6d1a;font-variant-numeric:tabular-nums}
.tr-sum .trs-f{background:#fff6f5;border-color:rgba(224,82,82,.35)}
.tr-sum .trs-f b{color:#b9382e}

/* v10504 · 调拨单明细页：调出 → 调入 方向条 */
.tr-dirbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff7e6;border:1px solid rgba(201,162,39,.42);border-radius:10px;padding:8px 12px;font-size:13.5px;color:#6b5510;margin:-2px 0 10px}
.tr-dirbar b{color:#8a6d1a;font-weight:800}

/* ============ v10488 · 店铺退货：扫码自动带出的信息卡 + A4 竖版退货单 ============ */
.sr-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px 14px;border:1px solid rgba(201,162,39,.32);border-radius:12px;padding:10px 12px;margin-top:10px;background:#fffdf7}
.sr-info .f{display:flex;flex-direction:column;gap:1px;min-width:0}
.sr-info .f span{font-size:11.5px;color:var(--muted)}
.sr-info .f b{font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-last{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f0faf3;border:1px solid rgba(31,157,85,.32);border-radius:10px;padding:8px 12px;font-size:13px;color:#1f7a45}
@media (max-width:720px){.sr-info{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}}

/* v10491 · 店铺退货二次确认：打印单预览（直接用「入库单」那套 A4 页面，缩放显示，所见即所打） */
.srt-prevhd{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:13px;font-weight:800;color:#8a6d1a;margin:12px 0 6px}
.srt-prevhd small{font-weight:500;font-size:11.5px;color:var(--muted)}
.srt-prev{background:#e9edf3;border:1px solid var(--line);border-radius:10px;padding:10px;max-height:46vh;overflow:auto;display:flex;justify-content:center;align-items:flex-start}
.srt-prev .a4p-page{box-shadow:0 3px 12px rgba(31,39,51,.16)}
.srt-scaler{zoom:.6}
.srt-pvbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 6px}
.srt-pvbar .a4p-idx{color:var(--ink-2)}
@media (max-width:720px){.srt-scaler{zoom:.46}}

/* v10275 · 库存页签栏扩展按钮（单件饰品查询，与工作台卡片同功能） */
.seg-bar a.seg-extra{margin-left:auto;background:#fdf6e0;border-color:rgba(201,162,39,.45);color:#7a5a0a}
.seg-bar a.seg-extra:hover{background:#fbf0cd;color:#a8861b}

/* v10276 · 工作台丢货警示横栏（独立整宽置顶 · 大字加粗警示） */
.loss-bar{background:#fff6f5;border:1px solid #eeb6b0;border-radius:14px;padding:14px 18px 12px;margin-bottom:14px;box-shadow:0 6px 20px rgba(190,58,44,.10)}
.loss-bar-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#b13a2e}
.loss-bar-head .ic{font-size:20px;line-height:1}
.loss-bar-head b{font-size:17px;font-weight:800;letter-spacing:.3px}
.loss-bar-head .sub{font-size:13px;font-weight:600;color:#9a6a62}
.loss-bar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #f3cbc6;border-radius:10px;padding:10px 12px;margin-top:10px}
.loss-bar-row .st{font-size:15.5px;font-weight:800;color:#1f2733}
.loss-bar-row .meta{font-size:13px;color:#8a6a64}
.loss-bar-row .its{font-size:13.5px;font-weight:700;color:#3f302b;flex:1 1 300px;min-width:0}
.loss-bar-done{font-size:12.5px;color:#9a8d8a;margin-top:8px}

/* ===== v10291 · 工作台调拨卡（可点击 + 关键数字放大 + 未接收绿 / 未签收红） ===== */
#ds-trans-card{transition:box-shadow .16s ease,transform .16s ease}
#ds-trans-card:hover{box-shadow:0 8px 20px rgba(201,162,39,.20);transform:translateY(-1px)}
#ds-trans-card .value{font-size:36px!important;line-height:1.05;letter-spacing:-.6px}
#ds-trans-card .value .ds-tr-u{font-size:14px;font-weight:700;color:#5b6472;margin-left:3px;letter-spacing:0}
#ds-trans-card .extra{font-size:13.5px!important;color:#2b3442!important;margin-top:8px}
.dstr{display:flex;flex-direction:column;gap:6px}
.dstr-r{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.4}
.dstr-k{font-size:14px;color:#4b5565;font-weight:700;white-space:nowrap}
.dstr-n{font-size:24px;font-weight:900;color:#1f9d55;background:rgba(31,157,85,.10);border:1px solid rgba(31,157,85,.22);border-radius:7px;padding:0 5px;font-variant-numeric:tabular-nums;line-height:1.25}
.dstr-u{font-size:13px;color:#5b6472;font-weight:700}
.dstr-z{color:#98a2b3;background:#f2f4f7;border:1px solid #e4e8ee}
.dstr-d{font-size:13.5px;color:#7b8494;font-weight:600}
.dstr-miss{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:#d84a3f;font-weight:800;background:rgba(216,74,63,.08);border:1px solid rgba(216,74,63,.30);border-radius:8px;padding:5px 9px;line-height:1.4}
.dstr-mk{font-size:14px;font-weight:900;white-space:nowrap}
.dstr-mn{font-size:24px;font-weight:900;color:#d84a3f;font-variant-numeric:tabular-nums;line-height:1.25}
.dstr-mu{font-size:13px;font-weight:800;color:#d84a3f}
.dstr-md{font-size:13.5px;font-weight:700;color:#c0392b}

/* ===== v10286 · 调拨统计 / 收件卡 / 签收统计 ===== */
.trst{font-size:12.5px;line-height:1.55;color:#2b3442}
.trst-t{font-weight:700;white-space:nowrap}
.trst-s{font-size:12px;color:#5b6472;white-space:nowrap}
.trst-empty{font-size:12px;color:#98a2b3}
.trst-cell .trst-t{font-size:12px}
.trst-sign .trst-t,.trst-doc .trst-t{font-size:13.5px}
.trst-sign .trst-s,.trst-doc .trst-s{font-size:12.5px}
.trst-print{font-size:11.5px}
.tr-card{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;max-width:100%}
.tr-card-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.sgn-stat{margin:0 0 8px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}
.modal-body .tablewrap{max-width:100%}

/* ===== v10288 · 调拨搜索框（加大 · 扫码枪友好） ===== */
#tr-kw.tr-scan{width:360px;min-width:0;flex:0 0 360px;max-width:100%;padding:12px 14px!important;font-size:15px!important;line-height:1.4;border:2px solid #d9b64a!important;border-radius:10px!important;background:#fffdf5!important;font-weight:600;letter-spacing:.2px}
#tr-kw.tr-scan:focus{outline:none;box-shadow:0 0 0 3px rgba(201,162,39,.18);background:#fff!important}
#tr-kw.tr-scan::placeholder{color:#9a8b5a;font-weight:600}

/* ===== v10294 · 会员规则卡 + 会员详情弹窗 ===== */
.mrow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mcol{min-width:0}
.mh{font-size:13.5px;font-weight:800;margin:0 0 9px;color:#4b5565}
.mfr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:13px}
.mcol table.tb{min-width:0}
.mcol .tb{table-layout:fixed;width:100%}
.mcol .tb th:last-child,.mcol .tb td:last-child{width:152px;text-align:right}
.mcol .tb td input{max-width:100%}
.mfr input{width:90px;text-align:right;padding:6px 9px;border:1px solid var(--line);border-radius:7px;font-size:13.5px;font-variant-numeric:tabular-nums}
@media (max-width:920px){.mrow{grid-template-columns:1fr}}
.mbd-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-right:28px}
.mbd-kv{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px 12px;margin:14px 0 2px;font-size:13.5px;align-items:baseline}
.mbd-kv span{color:#7b8494;white-space:nowrap}
.mbd-kv b{color:#232a33;font-weight:700;min-width:0;overflow-wrap:anywhere}
.mbd-h3{margin:16px 0 8px}
.mbd-table{max-height:300px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:10px}
.mbd-table table{width:100%}
.mbd-table th,.mbd-table td{padding:8px 10px;vertical-align:middle}
@media (max-width:760px){.mbd-kv{grid-template-columns:auto 1fr}}

/* ===== v10295 · 金价卡收窄 + 报表磁贴紧凑 / 对比 KPI / 三项业绩 ===== */
.goldbar.gp-bar{grid-template-columns:repeat(auto-fill,minmax(226px,250px));justify-content:start}
.rp-tiles{grid-template-columns:repeat(auto-fill,minmax(236px,282px));justify-content:start;gap:11px}
.rp-tile{flex-direction:row!important;align-items:flex-start!important;gap:11px!important;padding:12px 13px!important;border-radius:13px!important}
.rp-tile .ic{width:36px!important;height:36px!important;font-size:19px!important;border-radius:11px!important;flex:0 0 36px}
.rp-tile .rpb{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.rp-tile .tt{font-size:14.5px!important}
.rp-tile .dd{font-size:12px!important;line-height:1.4}
.rp-tile .go{top:50%!important;transform:translateY(-50%);right:12px!important}
.rp-tile:hover .go{transform:translateY(-50%) translateX(2px)}
.rp-kpi{font-size:12.5px;font-weight:800;color:#8a6d1a;margin-top:3px;line-height:1.4}
.rp-kpi:empty{display:none}
.rp-kpi b{font-weight:900;color:#6f5410}
.rp-kpi .up{color:#1f9d55;font-style:normal;font-weight:800;margin-left:4px}
.rp-kpi .down{color:#d84a3f;font-style:normal;font-weight:800;margin-left:4px}
.rp-perf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
@media (max-width:820px){.rp-perf{grid-template-columns:1fr}}
/* v10389 · 结单页分区标题：本月累计 / 当日 */
.perf-cap{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 6px}
.perf-cap b{font-size:13px;font-weight:800;color:#39414f}
.perf-cap span{font-size:11.5px;color:#8b93a2}
/* v10390 · 结单页「累计提成」卡（仅店长及以上账号渲染；标题字不大，金额整数不带小数） */
.comm-card{display:inline-flex;align-items:baseline;gap:10px;padding:7px 13px;border-radius:11px;border:1px solid #f0e0ae;background:linear-gradient(145deg,#fdf6e0,#faedc8);margin:0 0 12px}
.comm-card-t{font-size:12.5px;font-weight:800;color:#8a6d1a}
.comm-card-v{font-size:19px;font-weight:900;color:#6f5410;font-variant-numeric:tabular-nums;letter-spacing:-.3px;line-height:1.1}
.rpp{border-radius:12px;padding:11px 13px;border:1px solid var(--line);background:#fff}
.rpp-t{font-size:12.5px;font-weight:800;color:#5b6472}
.rpp-a{display:block;font-size:22px;font-weight:900;margin:2px 0;font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.rpp-s{font-size:12px;color:#7b8494}
.rpp-gold{background:linear-gradient(145deg,#fdf6e0,#faedc8);border-color:#f0e0ae}
.rpp-gold .rpp-a{color:#8a6d1a}
.rpp-half{background:linear-gradient(145deg,#f2f6ff,#e9f0ff);border-color:#d6e2f8}
.rpp-half .rpp-a{color:#2f62d4}
.rpp-non{background:linear-gradient(145deg,#f7f4ff,#efe9ff);border-color:#e0d7f8}
.rpp-non .rpp-a{color:#7a4fd0}

/* ===== v10304 · 小程序直连（设置卡） ===== */
.mi-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 14px}
.mi-grid .field{margin:0}
.mi-grid input{width:100%}

/* ===== v10307 · 手机工作台（设置页 / 预览） ===== */
.mob-wrap{display:flex;justify-content:center;padding:8px 0 4px}
.mob-wrap iframe{width:390px;height:780px;max-width:100%;border:10px solid #1b1b22;border-radius:34px;background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.18)}
.mob-qr{display:flex;justify-content:center;padding:10px 0 8px}
.mob-qr svg{width:180px;height:180px}

/* ============ 收账日历（v10311） ============ */
.cl-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start;margin-top:12px}
@media(max-width:1100px){.cl-wrap{grid-template-columns:1fr}}
.cl-head{display:flex;align-items:center;gap:10px}
.cl-head b{font-size:16px}
.cl-rangebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.cl-rangebar input{height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}
.cl-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.cl-dow{text-align:center;font-size:11.5px;color:var(--muted);font-weight:700;padding:4px 0}
.cl-day{position:relative;height:70px;border:1px solid #e6d6a8;border-bottom:3px solid #c9a227;border-radius:9px;background:#fff;display:block;padding:0;cursor:pointer;user-select:none;overflow:hidden;touch-action:none}
/* v10313 · 可收账日期：浅绿底框 + 底部绿线向上渐变（约占格子高度 1/10） */
.cl-day::before{content:'';position:absolute;left:0;right:0;bottom:0;height:10%;background:linear-gradient(to top,rgba(201,162,39,.55),rgba(201,162,39,0));pointer-events:none}
.cl-day:hover{border-color:var(--gold)}
.cl-day.out{opacity:.3}
.cl-day.sel{background:#fdf8e9;border-color:#c9a227;box-shadow:inset 0 0 0 1px #c9a227}
.cl-day.sel .cl-num{color:#146c3a;font-weight:800}
.cl-day.sel::after{content:'✓';position:absolute;right:5px;top:2px;font-size:13px;color:#a8861b;font-weight:900;z-index:3}
.cl-day.taken{background:#eef8f1;border-color:#b8ddc6;border-bottom-color:#8fc9a8;cursor:not-allowed}
.cl-day.taken::before{display:none}
.cl-day.taken .cl-num{color:#136c3c}
.cl-wm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:rgba(19,124,60,.62);font-weight:900;letter-spacing:2px;transform:rotate(-18deg);pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.cl-num{position:absolute;left:6px;top:0;height:60%;z-index:2;display:flex;align-items:center;font-size:25px;font-weight:800;line-height:1;color:var(--ink);letter-spacing:-.6px}
.cl-amt{position:absolute;left:5px;right:4px;bottom:4px;z-index:2;display:block;text-align:left;font-size:14px;font-weight:900;color:#cf2f22;line-height:1.02;max-width:calc(100% - 9px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;letter-spacing:-.5px;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.cl-amt.zero{color:#c3c8d0;font-weight:600}
.cl-day.sel .cl-num{color:#a8861b}
.cl-selbig{font-size:15px;font-weight:800;color:var(--gold-d);line-height:1.5;word-break:break-all}
.cl-seln{font-size:12.5px;color:var(--muted);margin-top:2px}
.cl-sellist{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-height:170px;overflow:auto}
.cl-chip{font-size:12px;padding:3px 8px;border-radius:999px;background:var(--gold-l);border:1px solid #ecdfb2;color:var(--gold-d);font-weight:700}
.cl-recs{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto}
.cl-rec{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px}
.cl-rec b{font-size:13px}
.cl-rec small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.cl-recm{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-top:5px}
.cl-money{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 12px}
@media(max-width:560px){.cl-money{grid-template-columns:1fr}.cl-stats{grid-template-columns:1fr}}
.cl-money-k{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fbfcfe}
.cl-money-k span{display:block;font-size:12px;color:var(--muted)}
.cl-money-k b{font-size:22px;color:var(--gold-d);letter-spacing:-.5px}
.cl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cl-stat{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}
.cl-stat-l{font-size:12px;color:var(--muted)}
.cl-stat-v{font-size:15px;font-weight:800;margin-top:2px}
.cl-stat-s{font-size:12px;color:var(--ink-2)}

/* v10317 · 收账页：沿用精简开单页黑金底 + 金尘；页头文字改浅色 */
.collect-page .page-head h2{color:#f7f1e3}
.collect-page .page-head .sub{color:rgba(247,241,227,.62)}

/* ============ 离线状态条（v10327） ============ */
.offbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:8px;height:22px;padding:0 14px;font-size:12px;font-weight:700;letter-spacing:.2px;cursor:pointer;user-select:none}
.offbar-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto;opacity:.9}
.offbar-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.offbar-go{font-weight:800;font-size:11.5px;opacity:.85;flex:0 0 auto}
.offbar-on{background:#eaf7ef;color:#1c7a45;border-bottom:1px solid #cfe8d8}
.offbar-off{background:#fff4e5;color:#9a5b00;border-bottom:1px solid #f2ddb8}
.offbar-warn{background:#fff8e1;color:#8a6d1a;border-bottom:1px solid #efe0a8}
.offbar-sync{background:#e8f1ff;color:#1f5fa8;border-bottom:1px solid #c9dcf5}
.offbar-bad{background:#fdecea;color:#b23a32;border-bottom:1px solid #f0c9c5}
body.has-offbar .topbar{top:22px}
@media print{.offbar{display:none!important}}

/* v10343 · 会员服务「暂停」水印与禁用按钮（门店账号只读） */
.pause-tag{display:inline-block;background:#d02f2f;color:#fff;font-size:10.5px;font-weight:800;line-height:1.5;padding:0 5px;border-radius:4px;margin-left:5px;letter-spacing:1px;vertical-align:middle}
.btn.pause-btn{opacity:.62;cursor:not-allowed;filter:grayscale(.25)}
.pause-card{position:relative;overflow:hidden}
.pause-card::after{content:'暂停';position:absolute;right:14px;top:50%;transform:translateY(-50%) rotate(-16deg);font-size:46px;font-weight:900;color:rgba(208,47,47,.16);letter-spacing:8px;pointer-events:none;white-space:nowrap}
.pause-note{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:46px 16px;text-align:center;position:relative;overflow:hidden}
.pause-note::after{content:'暂停';position:absolute;font-size:88px;font-weight:900;color:rgba(208,47,47,.13);letter-spacing:14px;transform:rotate(-16deg);pointer-events:none}

/* v10348 · 班次组（卡通小花）· 埋单 · 3点警报 */
.ds-shiftrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.shift-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:800;color:#a0526f;background:linear-gradient(135deg,#fff7fb,#fdf1e4);border:1px solid #f3d7e4;box-shadow:0 1px 0 #fff inset;cursor:pointer;user-select:none;transition:.15s}
.shift-chip:hover{transform:translateY(-1px);border-color:#e8b7cd}
.shift-chip.off{opacity:.55;filter:grayscale(.35)}
.ds-shiftctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.btn-gold{background:linear-gradient(135deg,#e8c877,#d3ab4a);color:#3b2c0c;border:1px solid #c9a23c;font-weight:800}
.btn-gold:hover{filter:brightness(1.04)}
.ho-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(20,10,10,.55);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.ho-box{width:min(680px,94vw);background:#fff;border:3px solid #d02f2f;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;animation:hoShake .6s ease-in-out 2}
.ho-top{background:linear-gradient(135deg,#c62828,#e53935);color:#fff;padding:18px 22px;display:flex;align-items:center;gap:12px}
.ho-top .siren{font-size:34px;animation:hoPulse 1s infinite}
.ho-top b{font-size:22px;letter-spacing:1px}
.ho-body{padding:18px 22px;font-size:14.5px;line-height:1.9;color:#3a2222}
.ho-body .big{font-size:19px;font-weight:900;color:#c62828}
.ho-foot{padding:0 22px 20px;display:flex;justify-content:flex-end}
@keyframes hoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes hoShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}

/* v10353 · 绩优争霸（双组柱状对比）+ greet 卡小花装饰 */
.greet-deco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;opacity:.5}
.greet-deco span{position:absolute;font-size:22px;filter:saturate(.85)}
.greet-deco span:nth-child(1){right:12px;top:10px;transform:rotate(12deg)}
.greet-deco span:nth-child(2){right:44px;top:44px;font-size:16px;transform:rotate(-14deg);opacity:.8}
.greet-deco span:nth-child(3){right:16px;bottom:56px;font-size:15px;transform:rotate(18deg);opacity:.7}
.greet-deco span:nth-child(4){right:60px;bottom:12px;font-size:13px;transform:rotate(-8deg);opacity:.6}
.perf-wrap{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line)}
.perf-head{display:flex;align-items:center;gap:6px;font-weight:800;font-size:13.5px;color:#8a6d1a;margin-bottom:6px}
.perf-bars{display:flex;align-items:flex-end;gap:18px;height:76px;padding:0 4px}
.perf-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.perf-track{width:100%;max-width:74px;height:58px;display:flex;align-items:flex-end;background:linear-gradient(180deg,#fbf7ea,#fdfbf4);border:1px solid #efe2c6;border-radius:8px;overflow:hidden}
.perf-bar{width:100%;border-radius:6px 6px 0 0;transition:height .45s cubic-bezier(.2,.8,.2,1);min-height:3px}
.perf-bar.am{background:linear-gradient(180deg,#f6d9e6,#e8a9c6)}
.perf-bar.pm{background:linear-gradient(180deg,#f3e2b0,#d9b45a)}
.perf-lab{font-size:12px;font-weight:700;margin-top:4px;color:#5a4a2a;white-space:nowrap}
.perf-col.lead .perf-lab{color:#b8860b}
.perf-col.lead .perf-lab::after{content:' 👑';font-size:11px}
.perf-note{font-size:11px;color:var(--muted);margin-top:4px}

/* v10354 · 绩优争霸：横向柱 · 追赶特效 · 皇冠 */
.perf-bars-h{margin-top:2px}
.perf-hrow{display:flex;align-items:center;gap:8px;margin:8px 0}
.perf-name{flex:0 0 62px;width:62px;font-size:12.5px;font-weight:800;color:#5a4a2a;cursor:pointer;white-space:nowrap;user-select:none;transition:color .15s}
.perf-name:hover{color:#b8860b}
.perf-trackh{position:relative;flex:1;height:20px;border-radius:999px;background:none;border:0}
.perf-fill{position:relative;height:100%;border-radius:999px;transition:width .75s cubic-bezier(.22,.9,.24,1);min-width:14px;overflow:hidden}
.perf-fill.am{background:linear-gradient(90deg,#f8dfeb,#e8a9c6 68%,#d98bb0)}
.perf-fill.pm{background:linear-gradient(90deg,#f7ecc8,#d9b45a 68%,#c9a23c)}
.perf-fill::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.42) 0 6px,rgba(255,255,255,0) 6px 15px);animation:perfStreak 1.1s linear infinite;pointer-events:none}
.perf-runner{position:absolute;right:1px;top:50%;transform:translateY(-50%) scaleX(-1);font-size:12px;opacity:0;pointer-events:none}
.perf-hrow.lead .perf-runner{opacity:1;animation:perfRun 1s ease-in-out infinite}
.perf-crown{position:absolute;top:-14px;font-size:15px;display:none;pointer-events:none;filter:drop-shadow(0 1px 0 #fff)}
.perf-hrow.lead .perf-crown{display:block;animation:crownB 1.5s ease-in-out infinite}
@keyframes perfStreak{to{background-position:30px 0}}
@keyframes perfRun{0%,100%{transform:translateY(-50%) scaleX(-1) translateX(0)}50%{transform:translateY(-50%) scaleX(-1) translateX(-4px) scale(1.06)}}
@keyframes crownB{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media (prefers-reduced-motion: reduce){
  .perf-fill{transition:none!important}
  .perf-fill::after,.perf-runner,.perf-crown,.ho-top .siren,.ho-box{animation:none!important}
}

/* v10356 · 提成计算（两组色块 + 公式） */
.comm-blk{border:1px solid #efe2c6;border-radius:14px;padding:12px 14px;background:linear-gradient(180deg,#fffdfa,#fdf9f0)}
.comm-blk.am{background:linear-gradient(180deg,#fff8fb,#fdf1f5);border-color:#f3d7e4}
.comm-blk.pm{background:linear-gradient(180deg,#fffbf0,#fbf3df);border-color:#efe2c6}
.comm-h{font-weight:800;font-size:14px;margin-bottom:8px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.comm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.comm-grid>div{background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.05);border-radius:10px;padding:7px 9px;min-width:0}
.comm-grid span{display:block;font-size:11.5px;color:var(--muted)}
.comm-grid b{font-size:14.5px;font-weight:800;white-space:nowrap}
.comm-total{margin-top:9px;display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:#7a6a45}
.comm-total b{font-size:24px;font-weight:900;color:#b8860b;letter-spacing:.5px}
.comm-blk.am .comm-total b{color:#c2567f}
.comm-f{display:flex;gap:6px;margin-top:9px}
.comm-f input{flex:1;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:12.5px}

/* v10357 · 当前活动并入 hero（精简 chips，填满金价卡下方空白） */
.hero-promo{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line)}
.hp-head{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:#8a6d1a}
.hp-head small{font-weight:500;font-size:11.5px}
.hp-head .btn{margin-left:auto}
.hp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.hero-promo .hp-card{padding:13px 15px 12px;border-radius:14px;gap:3px}
.hero-promo .hp-card .m{font-size:15.5px;font-weight:800;line-height:1.3;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-promo .hp-card .p{font-size:23px;font-weight:800;line-height:1.22;margin:2px 0;letter-spacing:-.3px}
.hp-d{font-size:12px;font-weight:700;color:#9a7d2e;opacity:.9}
@media (max-width:900px){.hp-cards{grid-template-columns:1fr}}
.hp-empty{font-size:12px;color:var(--muted);margin-top:4px}

/* v10365 · 分组标识只读（分组只在登录时选择） */
.shift-chip-lock{cursor:default}
.shift-chip-lock:hover{transform:none;border-color:#f3d7e4}

/* v10369 · 埋单日结单末尾业绩三项（黄金 / 非黄 / 半非） */
.ho-perf{display:flex;gap:10px;margin-top:8px;padding-top:6px;border-top:1px solid #999}
.ho-pf{flex:1;display:flex;align-items:baseline;justify-content:center;gap:7px;border:1px solid #bbb;border-radius:4px;padding:4px 6px}
.ho-pf span{font-size:11px;color:#555}
.ho-pf b{font-size:14px;font-weight:800;color:#000}

/* v10376 · 入库录入模板切换（克重类 / 标价类 · 金色滑块，文字浮于上方） */
.pz-switch{display:inline-flex;flex-direction:column;align-items:center;gap:3px;user-select:none}
.pz-labs{display:flex;gap:16px;font-size:11.5px;font-weight:800;color:var(--muted);line-height:1}
.pz-lab{cursor:pointer;transition:color .15s}
.pz-lab:hover{color:#b8860b}
.pz-lab.on{color:#b8860b}
.pz-rail{position:relative;width:96px;height:20px;border-radius:999px;background:linear-gradient(180deg,#f7f0dc,#efe4c6);border:1px solid #e6d6a9;cursor:pointer;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
.pz-knob{position:absolute;top:1px;left:1px;width:17px;height:16px;border-radius:999px;background:linear-gradient(145deg,#f2d585,#d3ab4a);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .18s cubic-bezier(.3,.9,.3,1)}
.pz-knob.right{left:calc(100% - 18px)}

/* ===== v10391 · 权限管理（设置 → 权限管理：模块 + 工费 + 跨设备） ===== */
.pm-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:900px){.pm-grid{grid-template-columns:1fr}}
.pm-people{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto;padding-right:2px}
.pm-p{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:1px;font:inherit;width:100%}
.pm-p b{font-size:13.5px;color:#2f3743}
.pm-p span{font-size:11.5px;color:#8b93a2}
.pm-p i{font-style:normal;font-size:11px;color:#b08a2a;font-weight:700}
.pm-p:hover{border-color:#e5c987}
.pm-p[data-on="1"]{border-color:#d8b25a;background:linear-gradient(145deg,#fdf6e0,#faedc8);box-shadow:0 2px 8px rgba(190,150,40,.12)}
.pm-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.pm-head b{font-size:15px}
.pm-head span{font-size:12px;color:#8b93a2}
.pm-group{margin:0 0 12px;padding-top:10px;border-top:1px dashed var(--line)}
.pm-gt{font-size:13px;font-weight:800;color:#39414f;margin:0 0 8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pm-gt small{font-weight:500;font-size:11.5px;color:#8b93a2}
.pm-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.pm-item{display:flex;align-items:flex-start;gap:6px;font-size:13px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;line-height:1.35}
.pm-item small{display:block;font-size:11px;color:#8b93a2;font-weight:400}
.pm-item.pm-off{opacity:.55}
.pm-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}

/* ===== v10398 · 顾客单弹窗预览：自由版面（和打印同一套定位） ===== */
.ps-print-page{position:relative;background:#fff;color:#000;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.ps-print-page .ps-pel{position:absolute;box-sizing:border-box;overflow:hidden;display:flex;align-items:center}
.ps-print-page .ps-pel.ps-pel-lines{overflow:visible;align-items:flex-start}

/* ===== v10399 · 单据设计：明细单 A4 打印样板（与实际打印同一模板） ===== */
.dz-a4sample{background:#eef1f5;border:1px solid var(--line);border-radius:10px;padding:10px;overflow:auto;max-height:720px}
.dz-a4inner{zoom:.62;width:210mm;min-height:20mm;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.10)}
.dz-a4inner .a4p-page{box-shadow:none;margin:0}
@media (max-width:1200px){.dz-a4inner{zoom:.52}}

/* ===== v10400 · 顾客销售单：旧料表 / 旧料说明 / 明细表自适应高度 ===== */
.ps-el-auto{overflow:visible;align-items:flex-start;z-index:2}
.ps-el-auto table{font-size:inherit}
.ps-print-page .ps-pel.ps-pel-auto{overflow:visible;align-items:flex-start}
.ps-print-page .ps-pel table{font-size:inherit}

/* ===== v10401 · 标签设计：选中元素后的 8 个调节柄（四角 + 四边） ===== */
.ps-el.on{overflow:visible;z-index:6}
.ps-h{display:none;position:absolute;width:9px;height:9px;background:#fff;border:1px solid #3b74ff;border-radius:2px;box-sizing:border-box;z-index:20}
.ps-el.on .ps-h{display:block}
.ps-h[data-hd="nw"]{left:-4px;top:-4px;cursor:nwse-resize}
.ps-h[data-hd="ne"]{right:-4px;top:-4px;cursor:nesw-resize}
.ps-h[data-hd="sw"]{left:-4px;bottom:-4px;cursor:nesw-resize}
.ps-h[data-hd="se"]{right:-4px;bottom:-4px;cursor:nwse-resize}
.ps-h[data-hd="n"]{left:50%;top:-4px;margin-left:-4px;cursor:ns-resize}
.ps-h[data-hd="s"]{left:50%;bottom:-4px;margin-left:-4px;cursor:ns-resize}
.ps-h[data-hd="w"]{left:-4px;top:50%;margin-top:-4px;cursor:ew-resize}
.ps-h[data-hd="e"]{right:-4px;top:50%;margin-top:-4px;cursor:ew-resize}

/* ===== v10404 · 标签设计：超出纸张提示条 ===== */
.ps-warn{margin-top:8px;padding:8px 11px;border:1px solid rgba(216,74,63,.35);background:#fdf0ee;color:#a8342a;border-radius:10px;font-size:12.5px;line-height:1.6}

/* v10539 · 店铺退货作废：未回库清单条 + 「继续回库」 */
.void-backlog{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 10px;padding:8px 12px;
  border:1px solid rgba(216,74,63,.42);background:#fdeae8;border-radius:10px;font-size:13px;color:#a8342a}
.void-backlog b{font-size:15px;font-variant-numeric:tabular-nums}
.void-backlog .btn{margin-left:auto}
/* v10551 · 员工账号表：表头只在自身滚动区吸顶、操作列可换行，避免按钮溢出卡片/被顶部栏遮住 */
#st-accounts{position:relative;z-index:1}
#st-accounts table.tb thead th{position:sticky;top:0;z-index:2;background:var(--gray-l)}
#st-accounts table.tb td:last-child,#st-accounts table.tb th:last-child{white-space:normal;min-width:196px}
#st-accounts .btn.xs{margin:2px 2px 2px 0}
/* v10556 · 登录页「选择门店」：下拉字号加大，品牌 · 店名 · 编号分层显示 */
#gate-pick-block select{font-size:15.5px;font-weight:700;min-height:46px;padding:9px 12px;line-height:1.5}
#gate-pick-block label>span{font-size:13px;font-weight:700;color:var(--ink-2)}
#gate-store-cap{margin-top:6px;font-size:15px;font-weight:700;color:var(--ink);background:#f7f9fc;border:1px solid var(--line);border-radius:9px;padding:8px 10px}
#gate-store-cap b{font-size:16.5px}
#gate-store-cap .gcap-code{font-weight:600;color:var(--muted);font-size:13px;margin-left:6px}
/* v10575 · 旧内核（Win7 上的 360/老 Chrome）兼容：
   1) 字体回退到 Win7 自带的 Segoe UI Symbol，避免图标字形缺失；
   2) flex 的 gap 在 Chrome<84 无效 → 用 margin 兜底；
   3) 弹窗/遮罩不再依赖 inset 简写（已全部改为四向定位）。 */
body,button,input,select,textarea{font-family:"Microsoft YaHei","Segoe UI","Segoe UI Emoji","Segoe UI Symbol","Apple Color Emoji","Noto Color Emoji",Arial,sans-serif}
@supports not (gap: 1px){
  .filterbar>*+*{margin-left:8px}
  .row{gap:0}
  .btn+.btn{margin-left:6px}
}
/* v10576 · Win7（Windows NT 6.1）字体偏虚：整体放大 8%，并把 <12px 的细字号抬到 13px；
   打印媒体下取消缩放，保证 A4 模板尺寸不变。 */
html.gz-win7 body{zoom:1.12}
html.gz-win7 .tb td,html.gz-win7 .tb th,html.gz-win7 .hint,html.gz-win7 .muted,
html.gz-win7 .field>span,html.gz-win7 .tag,html.gz-win7 .splitline,
html.gz-win7 .nav a,html.gz-win7 .st-navitem .d,
html.gz-win7 .btn,html.gz-win7 button,html.gz-win7 input,html.gz-win7 select,html.gz-win7 textarea,
html.gz-win7 .sub,html.gz-win7 small{font-size:13px!important;line-height:1.55}
/* Win7 的 GDI 渲染让细笔画发虚：加极轻的字影，等于给字加半像素描边 */
html.gz-win7 body{text-shadow:0 0 .45px rgba(0,0,0,.22)}
html.gz-win7 .btn,html.gz-win7 .tb th,html.gz-win7 h1,html.gz-win7 h2,html.gz-win7 h3{text-shadow:none}
@media print{html.gz-win7 body{zoom:1;text-shadow:none}}
/* v10584 · 内联 SVG 图标（替代 emoji，Win7 也清晰） */
.gzi{display:inline-flex;align-items:center;justify-content:center;width:1.05em;height:1.05em;vertical-align:-0.16em;margin:0 .12em}
.gzi svg{width:100%;height:100%;display:block}
.btn .gzi,.st-navitem .ic .gzi,.card h3 .gzi{color:currentColor}