.erp-layout{--nav:#07354f;--nav-active:#032b43;--side-w:179px;font-family:"Microsoft YaHei",Arial,sans-serif;font-size:13px;background:#fff;min-height:100vh;padding-left:var(--side-w)}
.erp-layout .cfg-top{height:48px;box-sizing:border-box;position:relative;padding:0 16px;border-bottom:1px solid #e5e8eb;display:flex;gap:16px;background:#fff}
.erp-welcome{flex:1;color:#606870;font-size:13px}.erp-account{color:#555;font-size:12px}
.erp-layout .cfg-body{display:block}.erp-layout .cfg-side{position:fixed;left:0;top:0;bottom:0;width:var(--side-w);height:100vh;box-sizing:border-box;overflow:auto;background:var(--nav);padding:0;border:0;color:white;z-index:20}
.erp-brand{height:46px;display:flex;align-items:center;padding:0 15px;font-size:18px;font-weight:600;border-bottom:1px solid #16455e;color:white;flex:none}
.erp-modules>button{display:flex;align-items:center;width:100%;text-align:left;padding:11px 14px;border:0;border-radius:0;background:transparent;color:#fff;font-size:14px;min-height:40px;margin:0}
.erp-modules>button:hover,.erp-modules>button.erp-selected{background:var(--nav-active);color:white}
.erp-layout .erp-modules button.on,.erp-layout .erp-modules>button.erp-selected{background:var(--nav-active)!important;color:#fff!important;border-bottom:0!important;border-left:0!important}
.erp-ico{display:inline-block;width:22px;margin-right:8px;text-align:center;font-size:14px;color:#8fb8d2;flex:none;font-family:"Segoe UI Symbol","Microsoft YaHei",sans-serif}
.erp-cell-input{width:100%;box-sizing:border-box;padding:2px 6px;font-size:12px;border:1px solid #409eff;outline:2px solid #b4d9ff;background:#fff}
.erp-group.erp-collapsed>button{color:#cfe0ec}.erp-group.erp-collapsed>button .erp-ico{color:#7fa6bf}
.erp-submenus{background:#0c405e;padding:2px 0 6px}.erp-layout .erp-submenus button{display:block;width:100%;border:0;border-radius:0;background:transparent;color:#fff;text-align:left;padding:8px 12px 8px 36px;margin:0;font-size:13px;min-height:0}
.erp-layout .erp-submenus button:hover,.erp-layout .erp-submenus button.on{background:#0d557e;color:#fff}
.erp-layout .erp-modules .erp-submenus button.on{background:#0d557e!important;border-left:0!important}
.erp-submenus summary{padding:8px 18px;color:#dbe5ec;font-size:12px}.erp-submenus details{border:0;margin:0}
.erp-group{display:block}
.erp-modules>button,.erp-modules .erp-group>button{position:relative;padding-right:32px}
.erp-modules .erp-caret{position:absolute;right:8px;top:50%;width:5px;height:5px;border-right:1.5px solid #9fc3d8;border-bottom:1.5px solid #9fc3d8;transform:translateY(-70%) rotate(45deg);transition:transform .22s ease,opacity .22s ease;pointer-events:auto;padding:0;font-size:0}
.erp-group.erp-collapsed .erp-caret{transform:translateY(-70%) rotate(-45deg);opacity:.55}
.erp-group.erp-collapsed>.erp-submenus{display:none}
.erp-layout .cfg-main{padding:0 14px 16px;min-width:0;background:white;overflow-x:auto}.erp-tabbar{height:30px;display:flex;align-items:stretch;background:#f2f4f6;border-bottom:1px solid #dfe4e8;margin:0 -14px 10px;gap:1px}.erp-tabbar span{padding:6px 14px;color:#69727a;border-right:1px solid #e1e5e9;font-size:12px}.erp-tabbar .erp-current-tab{color:#123f59;background:white;border-top:2px solid #07354f;padding-top:4px}
.erp-layout .cfg-heading{margin:0;padding:8px 0 4px;min-height:0}.erp-layout h1{font-size:15px;font-weight:600;margin:0 0 8px;color:#343d45}.erp-layout h2{font-size:14px;margin:0 0 10px}.erp-layout .cfg-tabs,.erp-layout .cfg-breadcrumb,.erp-layout .cfg-environment{display:none}
.erp-layout .cfg-heading h1{font-size:15px;margin:0}
.erp-layout button{border-radius:2px}.erp-layout .cfg-main button:not(.secondary):not(.danger){background:#07354f;color:#fff}.erp-layout .cfg-main button.secondary{background:#fff;color:#42515d;border:1px solid #ccd5dd}
.erp-layout .cfg-main button,.erp-layout .cfg-overlay button{padding:5px 12px;font-size:13px;min-height:0}
.erp-layout .cfg-main input:not([type=checkbox]),.erp-layout .cfg-main select{padding:4px 8px;min-height:0;height:30px;font-size:13px}
.erp-layout .cfg-overlay input:not([type=checkbox]),.erp-layout .cfg-overlay select,.erp-layout .cfg-overlay textarea{padding:6px 9px;font-size:13px}
.erp-layout .cfg-toolbar{padding:8px 10px;border-top:0;gap:8px}.erp-layout .cfg-toolbar input{width:200px}
.erp-layout .cfg-toolbar form,.erp-layout .cfg-actions{gap:6px}
.erp-layout .panel{border-radius:0;box-shadow:none;margin-bottom:12px;padding:14px}.erp-layout table{font-size:12px}.erp-layout th{background:#f0f2f5;font-weight:500;color:#45515b;padding:8px 10px;white-space:nowrap;border-bottom:1px solid #dce2e8}.erp-layout td{padding:6px 10px;border-bottom:1px solid #edf0f3}.erp-layout .table-wrap{border:1px solid #e5e8ec;border-radius:0}.erp-layout input,.erp-layout select{border-radius:2px}.erp-layout .empty{min-height:160px;display:flex;align-items:center;justify-content:center;color:#929aa2;background:white}
.erp-layout .cfg-table td{padding:6px 10px}.erp-layout .cfg-sort{padding:8px 10px!important}
.erp-layout .cfg-check{width:34px;min-width:34px;padding:8px}
.erp-layout .cfg-pagination{padding:8px 12px}
.erp-layout .cfg-table .cfg-empty{height:180px}.erp-layout .cfg-empty div{font-size:13px;margin-bottom:6px}
.erp-layout .cfg-dialog>header{padding:12px 16px}.erp-layout .cfg-dialog h2{font-size:15px}.erp-layout .cfg-dialog-body{padding:14px 16px}.erp-layout .cfg-form-grid{gap:12px 16px}.erp-layout .cfg-form-grid label{font-size:12px}.erp-layout .cfg-dialog-footer{margin:14px -16px -14px;padding:10px 16px}
.erp-layout .form-grid{gap:12px}
@media(max-width:760px){.erp-layout{padding-left:var(--side-w)}.erp-brand{font-size:16px}.erp-modules>button{font-size:13px;padding-left:10px}.erp-ico{width:18px;margin-right:6px}.erp-layout .erp-submenus button{padding-left:26px;font-size:12px}.erp-layout .cfg-top{gap:7px;padding:0 10px}}
/* 侧栏拖宽手柄 */
.erp-side-resizer{position:fixed;top:0;bottom:0;left:var(--side-w);width:7px;margin-left:-3px;cursor:col-resize;z-index:60}
.erp-side-resizer:hover,.erp-side-resizing .erp-side-resizer{background:rgba(64,158,255,.3)}
body.erp-resizing{cursor:col-resize;user-select:none}
.erp-layout .cfg-main > [id] > .cfg-note{display:none}.erp-layout .cfg-panel{border-radius:0;box-shadow:none;padding:0;border:0}.erp-layout .sx-query{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}.erp-layout .cfg-top button{background:white;color:#56616a;border:1px solid #e1e5e8;padding:4px 10px;font-size:12px}
.erp-legacy{grid-template-columns:200px 1fr!important}.erp-legacy>aside{background:#07354f!important}.erp-legacy .brand{font-size:18px;padding:12px 0}.erp-legacy .nav button{border-radius:0;padding:11px 14px;font-size:13px}.erp-legacy>main{padding:0 14px 16px}.erp-legacy main>header{background:white;min-height:48px;margin:0 -14px 12px;padding:0 16px;border-bottom:1px solid #e0e5e9}.erp-legacy main>header h1{font-size:15px}.erp-legacy-welcome{color:#606870;font-size:13px}.erp-legacy .panel{border-radius:0;box-shadow:none}.erp-legacy button{border-radius:2px}.erp-legacy table{font-size:12px}.erp-legacy th{background:#f0f2f5}
/* Bom明细弹窗 */
button.pb-caret{background:none;border:none;padding:0;width:0;height:0;border-left:6px solid #6f8ca3;border-top:4px solid transparent;border-bottom:4px solid transparent;cursor:pointer;margin-right:6px;vertical-align:middle}
button.pb-caret.pb-folded{border-top:6px solid #6f8ca3;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:none;margin-top:2px}
.pb-level{font-size:12px;color:#33546b}
.pb-root td{background:#f2f7fa;font-weight:600}
#pb-tree .cfg-table td{font-size:12px;height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pb-tree .cfg-table th{text-align:left;border-bottom:1px solid #dbe3ea}
/* Excel 式网格线：列与列之间加竖线 */
#pb-tree .cfg-table{border-collapse:separate;border-spacing:0;border-right:1px solid #dfe6ee}
#pb-tree .cfg-table th,#pb-tree .cfg-table td{border-right:1px solid #e4eaef;border-left:0}
#pb-tree .cfg-table th{border-right-color:#cfd8e0}
#pb-tree th .pb-th{display:block;padding:12px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-colres{position:absolute;top:0;right:0;width:7px;height:100%;cursor:col-resize;z-index:3}
.pb-colres:hover{background:rgba(64,158,255,.25)}
.pb-photo{width:26px;height:26px;object-fit:cover;border-radius:3px;display:block}
/* 冻结列 */
th.pb-frozen{position:sticky;z-index:2}
td.pb-frozen{position:sticky;z-index:1;background:#fff}
tr.pb-root td.pb-frozen{background:#f2f7fa}
/* 设置列弹窗 */
.pb-set-overlay{position:fixed;inset:0;background:rgba(15,35,50,.45);z-index:400;display:flex;align-items:center;justify-content:center}
.pb-set-dialog{background:#fff;border-radius:6px;width:430px;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.pb-set-dialog header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #e3e9ee}
.pb-set-dialog header h3{margin:0;font-size:14px;color:#123a52;font-weight:600}
.pb-set-x{background:none;border:none;font-size:16px;color:#5a6a75;cursor:pointer;padding:2px 6px}
.pb-set-tip{display:flex;align-items:center;justify-content:space-between;background:#0b4f80;color:#fff;font-size:12px;padding:6px 12px}
.pb-set-tip-x{background:none;border:none;color:#cfe3f2;font-size:13px;cursor:pointer;padding:0 2px}
.pb-set-tab{font-size:13px;color:#123a52;padding:8px 14px 0;border-bottom:2px solid #e3e9ee}
.pb-set-tab{position:relative}
.pb-set-tab::after{content:'';position:absolute;left:14px;bottom:-2px;width:56px;height:2px;background:#0b4f80}
.pb-set-wrap{overflow:auto;flex:1;min-height:0}
.pb-set-table{width:100%;font-size:12px;border-collapse:collapse}
.pb-set-table th,.pb-set-table td{padding:7px 12px;border-bottom:1px solid #edf1f5;text-align:left;white-space:nowrap}
.pb-set-table th{background:#f5f8fa;color:#45606f;font-weight:600;position:sticky;top:0}
.pb-set-table tbody tr{cursor:grab;background:#fff}
.pb-set-table tbody tr.pb-over td{background:#eaf3fa}
.pb-set-table tbody tr.pb-dragging{opacity:.5}
.pb-set-table input[type=checkbox]{accent-color:#0b4f80;width:14px;height:14px}
.pb-set-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #e3e9ee}
.pb-set-footer button{font-size:12px;padding:5px 14px;border:1px solid #c8d4de;background:#fff;color:#33546b;border-radius:3px;cursor:pointer}
.pb-set-footer button.primary{background:#0b4f80;border-color:#0b4f80;color:#fff}
/* 全局页签（访问过的页面保留） */
.erp-pagetabs{display:flex;align-items:flex-end;gap:2px;background:#eef2f5;padding:6px 10px 0;border-bottom:1px solid #d6dee5;overflow-x:auto;min-height:30px}
.erp-pagetab{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;color:#33546b;background:#e3eaef;border:1px solid #d0dae2;border-bottom:none;border-radius:4px 4px 0 0;cursor:pointer;white-space:nowrap;user-select:none}
.erp-pagetab.on{background:#fff;color:#0b4f80;font-weight:600;border-color:#c3ced8}
.erp-pagetab i{font-style:normal;color:#7b8b97;padding:0 3px;border-radius:3px;cursor:pointer;font-size:13px;line-height:1}
.erp-pagetab i:hover{background:#c8d4de;color:#1c2b36}
.erp-tabbar,#md-tabs{display:none!important}
/* 产品资料行内 BOM 入口 */
button.unit-bom{background:none;border:none;color:#0b4f80;cursor:pointer;font-size:13px;padding:0 4px 0 0;vertical-align:middle;line-height:1}
button.unit-bom:hover{color:#063a5e;text-decoration:underline}
/* 表头排序三角（对齐高格）：每个列头都带上下双三角，点击按该列升 / 降序 */
.erp-sort{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:14px;height:16px;margin-left:3px;vertical-align:middle;flex:0 0 auto}
.erp-sort i{display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;line-height:0}
.erp-sort i.up{border-bottom:5px solid #c0c4cc;margin-bottom:2px}
.erp-sort i.down{border-top:5px solid #c0c4cc}
.erp-sort.asc i.up{border-bottom-color:#003a60}
.erp-sort.desc i.down{border-top-color:#003a60}
th.erp-sortable{cursor:pointer;user-select:none}
th.erp-sortable:hover .erp-sort i.up{border-bottom-color:#8b959e}
th.erp-sortable:hover .erp-sort i.down{border-top-color:#8b959e}
th.erp-sortable:hover .erp-sort.asc i.up,th.erp-sortable:hover .erp-sort.desc i.down{border-bottom-color:#003a60;border-top-color:#003a60}
