.app{background:var(--erp-canvas-bg,#eef1f5);height:100vh;font-family:var(--font-sans);color:#1e293b;-webkit-font-smoothing:antialiased;--rail-bg:#0f1c2e;--rail-border:#1c2f47;--rail-item-fg:#8b9bb0;--rail-item-hover-bg:#16273d;--rail-item-hover-fg:#aebbcd;--rail-item-on-bg:#1e3a63;--rail-item-on-fg:#7db4ff;--panel-bg:#16273d;--panel-border:#1c2f47;--panel-head-border:#22354f;--panel-title-fg:#e6edf6;--panel-sub-fg:#6f819a;--panel-cap-fg:#6f819a;--panel-row-fg:#aebbcd;--panel-row-hover-bg:#1d3150;--panel-row-hover-fg:#e6edf6;--panel-row-on-bg:#1e3a63;--panel-row-on-fg:#7db4ff;--panel-dot:#47597a;--panel-leaf-fg:#8b9bb0;--panel-leaf-line:#2c405e;--panel-pin-bg:transparent;--panel-pin-border:#2c405e;--panel-pin-fg:#8b9bb0;--panel-pin-hover-bg:#1d3150;display:flex;overflow:hidden}.app.lightmenu{--rail-bg:#f1f5f9;--rail-border:#e2e8f0;--rail-item-fg:#64748b;--rail-item-hover-bg:#e5eaf1;--rail-item-hover-fg:#334155;--rail-item-on-bg:#eff6ff;--rail-item-on-fg:#005bbf;--panel-bg:#fff;--panel-border:#e2e8f0;--panel-head-border:#eef1f4;--panel-title-fg:#0f172a;--panel-sub-fg:#94a3b8;--panel-cap-fg:#94a3b8;--panel-row-fg:#475569;--panel-row-hover-bg:#f1f5f9;--panel-row-hover-fg:#0f172a;--panel-row-on-bg:#eff6ff;--panel-row-on-fg:#005bbf;--panel-dot:#cbd5e1;--panel-leaf-fg:#64748b;--panel-leaf-line:#d3dbe4;--panel-pin-bg:#fff;--panel-pin-border:#e2e8f0;--panel-pin-fg:#64748b;--panel-pin-hover-bg:#f1f5f9}.rail{background:var(--rail-bg);border-right:1px solid var(--rail-border);scrollbar-width:none;flex-direction:column;flex:none;align-items:center;gap:4px;width:74px;padding:12px 0;display:flex;overflow-y:auto}.rail::-webkit-scrollbar{display:none}.railbrand{background:var(--erp-brand-mark,#1f5fbf);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:6px;font-size:13px;font-weight:800;display:flex}.railitem{width:58px;color:var(--rail-item-fg);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:9px 0 7px;font-family:inherit;font-size:10px;font-weight:500;line-height:1.15;display:flex;position:relative}.railitem:hover{background:var(--rail-item-hover-bg);color:var(--rail-item-hover-fg)}.railitem.on{background:var(--rail-item-on-bg);color:var(--rail-item-on-fg)}.railitem .ri{width:19px;height:19px}.railitem.on .ri{color:var(--rail-item-on-fg)}.railitem .rlbl{text-overflow:ellipsis;white-space:nowrap;max-width:58px;display:block;overflow:hidden}.railitem .rbadge{color:#fff;background:#ef4444;border-radius:9999px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9px;font-weight:700;display:inline-flex;position:absolute;top:4px;right:8px}.railexpand{width:58px;color:var(--rail-item-fg);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;margin-bottom:2px;padding:7px 0;display:flex}.railexpand:hover{background:var(--rail-item-hover-bg);color:var(--rail-item-hover-fg)}.railfoot{margin-top:auto;padding-top:8px}.themesw{background:var(--rail-item-hover-bg);border-radius:9px;gap:2px;padding:3px;display:flex}.themesw button{width:24px;height:24px;color:var(--rail-item-fg);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.themesw button.on{background:var(--rail-bg);color:var(--rail-item-on-fg)}.rpanel{background:var(--panel-bg);border-right:1px solid var(--panel-border);flex-direction:column;flex:none;width:200px;display:flex;overflow:hidden}.rpanel.collapsed{display:none}.rphead{border-bottom:1px solid var(--panel-head-border);align-items:flex-start;gap:8px;padding:16px 16px 12px;display:flex}.rptitle{color:var(--panel-title-fg);font-size:15px;font-weight:700}.rpsub{color:var(--panel-sub-fg);margin-top:3px;font-size:11px}.pinbtn{border:1px solid var(--panel-pin-border);background:var(--panel-pin-bg);width:28px;height:28px;color:var(--panel-pin-fg);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.pinbtn:hover{background:var(--panel-pin-hover-bg)}.rpscroll{scrollbar-width:thin;flex:1;padding:10px;overflow-y:auto}.subcap{letter-spacing:.04em;color:var(--panel-cap-fg);padding:9px 10px 5px 12px;font-size:10px;font-weight:600}.srow{height:34px;color:var(--panel-row-fg);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:0 11px;font-family:inherit;font-size:12.5px;display:flex;position:relative}.srow:hover{background:var(--panel-row-hover-bg);color:var(--panel-row-hover-fg)}.srow.on{background:var(--panel-row-on-bg);color:var(--panel-row-on-fg);font-weight:600}.srow .sdot{background:var(--panel-dot);border-radius:9999px;flex:none;width:5px;height:5px}.srow.on .sdot{background:var(--panel-row-on-fg)}.srow .slbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.srow .rbadge{color:#fff;background:#ef4444;border-radius:9999px;flex:none;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.srow .schev{width:14px;height:14px;color:var(--panel-sub-fg);flex:none}.leaf{height:30px;color:var(--panel-leaf-fg);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;width:100%;padding:0 11px 0 30px;font-family:inherit;font-size:12px;display:flex}.leaf:before{content:"";background:var(--panel-leaf-line);flex:none;width:12px;height:1px;margin-left:-8px;margin-right:9px}.leaf:hover{background:var(--panel-row-hover-bg);color:var(--panel-row-hover-fg)}.leaf.on{color:var(--panel-row-on-fg);font-weight:600}.leaf.on:before{background:var(--panel-row-on-fg)}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.erp-card-page{background:var(--erp-surface,#fff);border:1px solid var(--erp-border,#e2e8f0);border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.erp-card-page>.erp-toolbar{background:#fff}.erp-card-page>.erp-query-panel{box-shadow:none;border:none;border-bottom:1px solid var(--erp-border,#e2e8f0);background:#f8fafc;border-radius:0}.erp-card-page>.erp-card-body{flex-direction:column;flex:1;min-height:0;display:flex}.erp-card-page>.erp-card-body>.erp-table-wrap{box-shadow:none;border:none;border-radius:0;flex:1;min-height:0}.erp-card-page>.erp-card-foot{border-top:1px solid var(--erp-border,#e2e8f0);background:#fff;flex:none}.qcard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.qcard .tablehead{border-bottom:1px solid #eef1f4;flex:none;align-items:center;gap:8px;padding:7px 16px;display:flex}.qcard .backbtn{cursor:pointer;color:#64748b;background:#fff;border:1px solid #d3d9e0;border-radius:9px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.qcard .backbtn:hover{background:#f3f5f8}.qcard .hcrumb{color:#94a3b8;align-items:center;gap:5px;font-size:12px;display:flex}.qcard .hcrumb .cs{color:#cbd5e1;display:inline-flex}.qcard .hcrumb .cur{color:#0f172a;font-size:14px;font-weight:700}.qcard .htotal{display:none}.qcard .abtn{color:#3f4a57;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cdd5de;border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 10px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.qcard .abtn:hover{background:#f3f5f8}.qcard .abtn:disabled{opacity:.45;cursor:default}.qcard .abtn:disabled:hover{background:#fff}.qcard .abtn .ai{color:#64748b;width:14px;height:14px}.qcard .abtn.act{color:#1f5fbf;background:#eef4ff;border-color:#c5d9f5}.qcard .abtn.act .ai{color:#2563eb}.qcard .hdiv{background:#e2e8f0;flex:none;width:1px;height:20px;margin:0 3px}.qcard .frow{background:#f8fafc;border-bottom:1px solid #eef1f4;flex-wrap:wrap;flex:none;align-items:center;gap:20px;padding:10px 16px;display:flex}.qcard .ffield{align-items:center;gap:10px;display:flex}.qcard .flabel{color:#475569;font-size:12.5px;font-weight:500}.qcard .fld{color:#1e293b;background:#fff;border:1px solid #cdd5de;border-radius:8px;outline:none;height:30px;padding:0 12px;font-family:inherit;font-size:13px}.qcard .fld:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.qcard .selwrap{position:relative}.qcard .selwrap select.fld{appearance:none;cursor:pointer;padding-right:32px}.qcard .caret{color:#64748b;pointer-events:none;width:15px;height:15px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qcard .searchbtn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:6px;height:30px;padding:0 18px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.qcard .searchbtn:hover{background:#1d4ed8}.qcard .searchbtn:disabled{opacity:.6;cursor:default}.qcard .searchbtn:disabled:hover{background:#2563eb}.qcard .resetbtn{color:#3f4a57;cursor:pointer;background:#fff;border:1px solid #cdd5de;border-radius:8px;align-items:center;gap:6px;height:30px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.qcard .resetbtn:hover{background:#f3f5f8}.qcard .gridwrap{background:#fff;flex:1;min-height:0;overflow:auto}.qcard table.erp{border-collapse:separate;border-spacing:0;width:100%}.qcard .erp thead th{z-index:2;color:#3f4a57;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:default;background:#eef1f5;border-bottom:1px solid #d6dce3;border-right:1px solid #e2e7ee;height:34px;padding:0 12px;font-size:11.5px;font-weight:600;position:sticky;top:0;overflow:hidden}.qcard .erp thead th.sortable{cursor:pointer}.qcard .erp thead th .sort{color:#b6bfca;margin-left:3px;font-size:10px}.qcard .erp tbody td{color:#334155;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #eef1f4;border-right:1px solid #f1f4f8;height:34px;padding:0 12px;font-size:12.5px;overflow:hidden}.qcard .erp tbody tr{cursor:pointer}.qcard .erp tbody tr:hover td{background:#f6f9fe}.qcard .erp tfoot td{z-index:1;background-color:inherit;color:#334155;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #d6dce3;border-right:1px solid #f1f4f8;height:34px;padding:0 12px;font-size:12.5px;position:sticky;bottom:0;overflow:hidden}.qcard .erp tbody tr.sel td{background:#eaf2fb}.qcard .erp tbody td.edit{white-space:normal;height:auto;padding:4px 8px;overflow:visible}.qcard .erp tbody td.edit input,.qcard .erp tbody td.edit select{font-size:12.5px}.qcard .erp tbody td.pop{z-index:3;position:relative;overflow:visible}.qcard .erp tbody td.wrap{white-space:normal;height:auto;padding:8px 12px;line-height:1.5;overflow:visible}.qcard .erp thead tr:nth-child(2) th.sub{top:34px}.qcard .erp tbody td.span{white-space:normal;height:auto}.qcard .cbcol{text-align:center;width:44px;padding:0}.qcard .lnk{color:#1f5fbf;cursor:pointer;font-weight:500}.qcard .lnk:hover{text-decoration:underline}.qcard .mut{color:#b6bfca}.qcard .num{text-align:right;font-variant-numeric:tabular-nums}.qcard .kindbadge{color:#2563eb;background:#eef4ff;border:1px solid #d5e3fb;border-radius:6px;align-items:center;height:22px;padding:0 9px;font-size:11px;font-weight:500;display:inline-flex}.qcard .kindbadge.kb-sale-exp{color:#6d28d9;background:#f3f0ff;border-color:#ddd6fe}.qcard .kindbadge.kb-buy-dom{color:#047857;background:#ecfdf3;border-color:#ccebd9}.qcard .kindbadge.kb-buy-imp{color:#0e7490;background:#ecfeff;border-color:#cfeef3}.qcard .kindbadge.kb-subcon{color:#b45309;background:#fff7ea;border-color:#f6e3c2}.qcard .kindbadge.kb-direct{color:#be123c;background:#fff1f2;border-color:#fbd5da}.qcard .stnormal{color:#0f9d58;align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:inline-flex}.qcard .stnormal.gray{color:#94a3b8}.qcard .stnormal.gray .stdot{background:#94a3b8}.qcard .stdot{background:#0f9d58;border-radius:9999px;width:6px;height:6px}.qcard .footbar{color:#64748b;border-top:1px solid #eef1f4;flex:none;justify-content:space-between;align-items:center;padding:7px 18px;font-size:12px;display:flex}.qcard .pager{align-items:center;gap:4px;display:flex}.qcard .pgbtn{cursor:pointer;color:#475569;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #e2e8f0;border-radius:7px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;font-size:12.5px;font-weight:500;display:inline-flex}.qcard .pgbtn:hover{background:#f3f5f8;border-color:#cbd5e1}.qcard .pgbtn.on{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:700}.qcard .pgbtn:disabled{opacity:.4;cursor:default}.qcard .pgell{text-align:center;color:#b6bfca;min-width:24px;font-size:12px}.xlsfmt .ptoolbar{flex:none;align-items:center;gap:12px;display:flex}.xlsfmt .backbtn{cursor:pointer;color:#64748b;background:#fff;border:1px solid #d3d9e0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.xlsfmt .backbtn:hover{background:#f3f5f8}.xlsfmt .crumb{color:#94a3b8;flex:1;align-items:center;gap:5px;min-width:0;font-size:12px;display:flex}.xlsfmt .crumb .cs{color:#cbd5e1;display:inline-flex}.xlsfmt .crumb .cur{color:#0f172a;font-size:15px;font-weight:700}.xlsfmt .abtn{color:#3f4a57;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cdd5de;border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 11px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.xlsfmt .abtn:hover{background:#f3f5f8}.xlsfmt .abtn:disabled{opacity:.5;cursor:default}.xlsfmt .abtn:disabled:hover{background:#fff}.xlsfmt .abtn .ai{color:#64748b;width:14px;height:14px}.xlsfmt .abtn.primary{color:#fff;background:#2563eb;border-color:#2563eb}.xlsfmt .abtn.primary:hover{background:#1d4ed8}.xlsfmt .abtn.primary:disabled:hover{background:#2563eb}.xlsfmt .abtn.primary .ai{color:#fff}.xlsfmt .abtn.danger{color:#dc2626;background:#fff;border-color:#f0c9c6}.xlsfmt .abtn.danger:hover{background:#fef2f2}.xlsfmt .abtn.danger:disabled:hover{background:#fff}.xlsfmt .abtn.danger .ai{color:#dc2626}.xlsfmt .split{flex:1;gap:12px;min-height:0;display:flex}.xlsfmt .card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a}.xlsfmt .listcard{flex-direction:column;flex:none;width:300px;display:flex;overflow:hidden}.xlsfmt .editcard{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.xlsfmt .listtop{border-bottom:1px solid #eef1f4;flex-direction:column;flex:none;gap:8px;padding:12px;display:flex}.xlsfmt .selwrap{position:relative}.xlsfmt .caret{color:#64748b;pointer-events:none;width:15px;height:15px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.xlsfmt .fld{color:#1e293b;background:#fff;border:1px solid #cdd5de;border-radius:8px;outline:none;width:100%;height:32px;padding:0 12px;font-family:inherit;font-size:13px}.xlsfmt .fld:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.xlsfmt select.fld{appearance:none;cursor:pointer;padding-right:32px}.xlsfmt .lsearch{position:relative}.xlsfmt .lsearch .si{color:#94a3b8;pointer-events:none;width:15px;height:15px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.xlsfmt .lscroll{flex:1;padding:8px;overflow-y:auto}.xlsfmt .fitem{cursor:pointer;border:1px solid #0000;border-radius:10px;margin-bottom:3px;padding:11px 12px}.xlsfmt .fitem:hover{background:#f6f9fe}.xlsfmt .fitem.on{background:#eaf2fb;border-color:#2563eb;box-shadow:inset 2px 0 #2563eb}.xlsfmt .fname{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;font-size:13px;font-weight:600;overflow:hidden}.xlsfmt .fmeta{align-items:center;gap:6px;display:flex}.xlsfmt .fbadge{color:#2563eb;background:#eef4ff;border:1px solid #d5e3fb;border-radius:5px;flex:none;align-items:center;height:19px;padding:0 7px;font-size:10.5px;font-weight:600;display:inline-flex}.xlsfmt .fcorp{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.xlsfmt .fmuted{color:#dc2626;flex:none;font-size:11px;font-weight:500}.xlsfmt .lstate{color:#94a3b8;text-align:center;padding:16px 12px;font-size:12px}.xlsfmt .escroll{flex:1;min-height:0;padding:14px 16px 16px;overflow-y:auto}.xlsfmt .sectitle{color:#1f5fbf;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:700;display:flex}.xlsfmt .formgrid{grid-template-columns:repeat(4,minmax(0,220px));gap:14px 16px;margin-bottom:8px;display:grid}.xlsfmt .field{flex-direction:column;gap:6px;min-width:0;display:flex}.xlsfmt .flabel{color:#475569;font-size:12px;font-weight:500}.xlsfmt .req{color:#df4f3a;margin-left:1px}.xlsfmt .hint{color:#94a3b8;margin-left:3px;font-size:11px;font-weight:400}.xlsfmt .toggle{cursor:pointer;align-items:center;gap:9px;height:32px;display:inline-flex}.xlsfmt .track{background:#cbd5e1;border-radius:9999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.xlsfmt .track.on{background:#2563eb}.xlsfmt .knob{background:#fff;border-radius:9999px;width:18px;height:18px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.xlsfmt .track.on .knob{left:18px}.xlsfmt .tglabel{color:#334155;font-size:12.5px;font-weight:600}.xlsfmt .divider{background:#eef1f4;height:1px;margin:14px 0}.xlsfmt .pdrop{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.xlsfmt .pdrop-item{cursor:pointer;color:#1e293b;border-bottom:1px solid #eef1f4;padding:8px 12px;font-size:13px}.xlsfmt .pdrop-item:last-child{border-bottom:none}.xlsfmt .pdrop-item:hover{background:#f6f9fe}.xlsfmt .maphead{align-items:center;gap:10px;margin-bottom:12px;display:flex}.xlsfmt .maptitle{color:#1f5fbf;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.xlsfmt .mapguide{color:#94a3b8;font-size:11.5px}.xlsfmt .gtable{border:1px solid #e2e7ee;border-radius:10px;overflow:hidden}.xlsfmt table.map{border-collapse:separate;border-spacing:0;width:100%}.xlsfmt .map thead th{color:#3f4a57;text-align:left;white-space:nowrap;background:#eef1f5;border-bottom:1px solid #d6dce3;border-right:1px solid #e2e7ee;height:34px;padding:0 12px;font-size:11.5px;font-weight:600}.xlsfmt .map thead th.rqh{color:#df4f3a}.xlsfmt .map thead th.ctr{text-align:center}.xlsfmt .map tbody td{border-bottom:1px solid #eef1f4;border-right:1px solid #f1f4f8;height:34px;padding:0}.xlsfmt .map tbody tr:last-child td{border-bottom:none}.xlsfmt .map .emptyrow td{text-align:center;color:#94a3b8;border-right:none;padding:30px 0;font-size:13px}.xlsfmt .ordcell{text-align:center;background:#fafbfc;width:78px}.xlsfmt .ordwrap{justify-content:center;align-items:center;gap:6px;display:flex}.xlsfmt .ordnum{color:#64748b;font-variant-numeric:tabular-nums;text-align:center;width:16px;font-size:12.5px}.xlsfmt .ordbtns{flex-direction:column;gap:1px;display:flex}.xlsfmt .ordb{color:#b6bfca;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:18px;height:12px;padding:0;display:inline-flex}.xlsfmt .ordb:hover{color:#475569;background:#e9eef5}.xlsfmt .ordb:disabled{opacity:.35;cursor:default}.xlsfmt .ordb:disabled:hover{color:#b6bfca;background:0 0}.xlsfmt .ecell{color:#1f2937;background:#eaf2fb;border:none;outline:none;width:100%;height:34px;padding:0 12px;font-family:inherit;font-size:12.5px}.xlsfmt .ecell:focus{background:#fff;box-shadow:inset 0 0 0 2px #2563eb}.xlsfmt select.ecell{appearance:none;cursor:pointer;padding-right:28px}.xlsfmt .selc{position:relative}.xlsfmt .selc .cc{color:#5b6b7f;pointer-events:none;width:14px;height:14px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.xlsfmt .rqcell{text-align:center;width:64px}.xlsfmt .rqcell .cbx{margin:0 auto}.xlsfmt .delcell{text-align:center;width:46px}.xlsfmt .delb{cursor:pointer;color:#c2cbd6;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin:0 auto;display:inline-flex}.xlsfmt .delb:hover{color:#dc2626;background:#fef2f2}.xlsfmt .cbx{cursor:pointer;color:#fff;background:#fff;border:1.5px solid #cbd5e1;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.xlsfmt .cbx.on{background:#2563eb;border-color:#2563eb}.xlsfmt .addrow{justify-content:center;margin-top:12px;display:flex}.xlsfmt .addbtn{color:#475569;cursor:pointer;background:#fafbfc;border:1px dashed #c6cfd9;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;height:34px;padding:0 16px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.xlsfmt .addbtn:hover{background:#f1f5f9;border-color:#94a3b8}.xlsfmt .emptybox{color:#94a3b8;text-align:center;flex:1;justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex}.xlsfmt .pic-head{border-bottom:1px solid #eef1f4;flex:none;align-items:center;gap:10px;padding:11px 14px;display:flex}.xlsfmt .pic-head .ptitle{color:#1f5fbf;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.xlsfmt .pic-head .ptitle.muted{color:#94a3b8;font-weight:600}.xlsfmt .pic-head .psep{color:#e2e8f0;flex:none}.xlsfmt .pic-head .lsearch{flex:none;width:240px}.xlsfmt .pic-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:14px 16px;display:flex;overflow:hidden}.xlsfmt .pic-body .erp-table-wrap{max-height:none;box-shadow:none;flex:1}.xlsfmt .pic-foot{color:#94a3b8;flex:none;padding:0 2px;font-size:12px}.cilogobtn{cursor:pointer;background:0 0;border:none;flex:none;align-items:center;padding:0;display:flex}.cilogo{flex:none;display:block}.hbdivider{background:#e2e8f0;flex:none;width:1px;height:15px}.wsbtn{cursor:pointer;color:#94a3b8;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;height:32px;padding:0 10px 0 0;font-family:inherit;font-size:13px;font-weight:500}.wsbtn:hover{color:#64748b;background:#f1f5f9}.wsbtn.open{color:#2563eb;background:#eef4ff;border-color:#d5e3fb}.favbtn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;position:relative}.favbtn:hover{background:#f1f5f9}.favbtn.open{color:#2563eb;background:#eef4ff}.favbtn .favi{color:#cbd5e1;fill:none;width:17px;height:17px}.favbtn.on .favi{color:#f5b301;fill:#f5b301}.tabrow{scrollbar-width:none;align-items:flex-end;gap:2px;min-width:0;display:flex;overflow-x:auto}.tabrow::-webkit-scrollbar{display:none}.tabchip{color:#1f5fbf;cursor:pointer;-webkit-user-select:none;user-select:none;background:#eef1f5;border:1px solid #e2e8f0;border-bottom:none;border-radius:9px 9px 0 0;flex:none;align-items:center;gap:5px;max-width:220px;height:32px;padding:0 8px 0 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex;position:relative;top:1px}.tabchip:not(.inact){box-shadow:0 2px #eef1f5}.tabchip.inact{color:#64748b;background:0 0;border-color:#0000;font-weight:500}.tabchip.inact:hover{background:#f1f5f9}.tabchip .tlabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabchip .tstar{color:#d1d5db;cursor:pointer;flex:none;font-size:10px;line-height:1}.tabchip .tstar.on{color:#f5b301}.tabchip .tx{color:#b6c0cc;cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;display:inline-flex}.tabchip .tx:hover{color:#475569;background:#0f172a14}.taballx{white-space:nowrap;color:#94a3b8;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex:none;align-self:center;align-items:center;gap:3px;height:22px;margin-left:8px;padding:0 8px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.taballx:hover{color:#ef4444;background:#f1f5f9;border-color:#fecaca}.lscrim{z-index:40;position:fixed;inset:0}.lpop{z-index:41;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:760px;max-width:calc(100% - 24px);position:absolute;top:52px;left:12px;overflow:hidden;box-shadow:0 16px 44px #0f172a2e}.lphead{border-bottom:1px solid #eef1f4;align-items:center;gap:8px;padding:14px 18px;display:flex}.lptitle{color:#0f172a;font-size:14px;font-weight:700}.lpbody{max-height:520px;padding:16px 18px 20px;overflow-y:auto}.lsec{color:#334155;align-items:center;gap:7px;margin:2px 0 10px;font-size:12.5px;font-weight:700;display:flex}.lsec .si{color:#94a3b8;width:16px;height:16px}.lgrid{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px;display:grid}.scard{cursor:pointer;text-align:left;background:#fff;border:1px solid #e8ecf1;border-radius:11px;align-items:center;gap:11px;min-width:0;padding:11px 12px;font-family:inherit;display:flex}.scard:hover{background:#f6f9fe;border-color:#cdddf6}.scard.cur{background:#eef4ff;border-color:#bcd4f7}.stile{color:#2f7fe0;background:#eaf2fe;border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.stile .ti{width:18px;height:18px}.sname{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.starbtn{cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;display:inline-flex}.starbtn:hover{background:#e9eef5}.starbtn .sfi{color:#cbd5e1;fill:none;width:15px;height:15px}.starbtn.on .sfi{color:#f5b301;fill:#f5b301}.scls{color:#b6bfca;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;display:inline-flex}.scls:hover{color:#64748b;background:#e9eef5}.lempty{color:#94a3b8;flex-direction:column;align-items:center;gap:10px;padding:28px 0 6px;display:flex}.lempty .ei{color:#c2cbd6;background:#f1f5f9;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.lempty span{font-size:12.5px}.soscreen{color:#1e293b}.soscreen .socanvas{background:var(--erp-canvas-bg,#eef1f5)}.soscreen .listcard{flex:1;min-height:0}.soscreen .detailcard{flex:none}.soscreen .tablehead{flex-wrap:wrap}.soscreen .abtn.b{color:#1f5fbf;background:#eef4ff;border-color:#c5d9f5}.soscreen .abtn.b .ai{color:#2563eb}.soscreen .abtn.b:hover{background:#e3edfd}.soscreen .abtn.warn{color:#c2610c;background:#fff7ed;border-color:#fdd7ac}.soscreen .abtn.warn .ai{color:#ea8409}.soscreen .abtn.warn:hover{background:#ffefdb}.soscreen .abtn.danger{color:#dc2626;background:#fef2f2;border-color:#f4c9c6}.soscreen .abtn.danger .ai{color:#dc2626}.soscreen .abtn.danger:hover{background:#fde5e5}.soscreen .abtn:disabled{opacity:.45;cursor:default}.soscreen .abtn:disabled:hover{background:inherit}.soscreen .filtstrip{background:#f8fafc;border-bottom:1px solid #eef1f4;flex:none;padding:12px 16px}.soscreen .filtstrip .fgrid{flex-direction:column;gap:12px;display:flex}.soscreen .filtstrip .frow{flex-wrap:wrap;align-items:center;gap:10px 22px;display:flex}.soscreen .filtstrip .fgroup{align-items:center;gap:10px;display:flex}.soscreen .filtstrip .flabel{color:#475569;white-space:nowrap;font-size:12.5px;font-weight:500}.soscreen .filtstrip .fld{color:#1e293b;background:#fff;border:1px solid #cdd5de;border-radius:8px;outline:none;height:32px;padding:0 12px;font-family:inherit;font-size:13px}.soscreen .filtstrip .fld:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.soscreen .filtstrip .selwrap{position:relative}.soscreen .filtstrip select.fld{appearance:none;cursor:pointer;padding-right:32px}.soscreen .filtstrip .caret{color:#64748b;pointer-events:none;width:15px;height:15px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.soscreen .filtstrip .datesep{color:#94a3b8;font-size:13px}.soscreen .filtstrip .searchbtn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 22px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.soscreen .filtstrip .searchbtn:hover{background:#1d4ed8}.soscreen .filtstrip .resetbtn{color:#3f4a57;cursor:pointer;background:#fff;border:1px solid #cdd5de;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.soscreen .filtstrip .resetbtn:hover{background:#f3f5f8}.soscreen .stbadge{align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.soscreen .stdot{background:#94a3b8;border-radius:9999px;flex:none;width:6px;height:6px}.soscreen .stdot.recv{background:#2563eb}.soscreen .stdot.req{background:#c2610c}.soscreen .stdot.done{background:#0f9d58}.soscreen .stdot.cancel{background:#94a3b8}.soscreen .splitter{cursor:row-resize;flex:none;justify-content:center;align-items:center;height:10px;display:flex}.soscreen .splitter .bar{background:#cbd5e1;border-radius:9999px;width:52px;height:4px}.soscreen .splitter:hover .bar{background:#94a3b8}.soscreen .detailcard .detailhead{border-bottom:1px solid #eef1f4;flex:none;align-items:center;gap:8px;padding:11px 16px;display:flex}.soscreen .detailcard .dtitle{color:#0f172a;font-size:13px;font-weight:700}.soscreen .detailcard .dcur{color:#1f5fbf;font-size:12.5px;font-weight:700}.soscreen .detailcard .dhint{color:#94a3b8;margin-left:auto;font-size:11.5px}.soscreen .detailcard .detailbody{background:#fff;overflow:auto}.soscreen .detailcard .dempty{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.soscreen .detailcard .dempty .dei{color:#c2cbd6;background:#f1f5f9;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.soscreen .detailcard .dempty span{font-size:13px}.soscreen .detailcard .dloading{color:#94a3b8;justify-content:center;align-items:center;height:100%;font-size:13px;display:flex}.soscreen .uploadbar{border-radius:8px;flex:none;justify-content:space-between;align-items:center;margin:10px 16px 0;padding:10px 14px;font-size:13px;display:flex}.soscreen .uploadbar.ok{color:#166534;background:#f0fdf4;border:1px solid #86efac}.soscreen .uploadbar.err{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.soscreen .detailcard .subhead{background:#fff;border-bottom:1px solid #eef1f4;flex:none;align-items:center;gap:8px;padding:8px 16px;display:flex}.soscreen .detailcard .subhead .dtitle{font-size:12px}.soscreen .voucher-list-grid.gridwrap table.erp thead th{height:25px}.soscreen .voucher-list-grid.gridwrap table.erp tbody td{height:20px}.soscreen .voucher-detail-grid.gridwrap table.erp thead th{height:25px}.qpop .gridwrap{background:#fff;overflow:auto}.qpop table.erp{border-collapse:separate;border-spacing:0;width:100%}.qpop .erp thead th{z-index:2;color:#3f4a57;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:default;background:#eef1f5;border-bottom:1px solid #d6dce3;border-right:1px solid #e2e7ee;height:34px;padding:0 12px;font-size:11.5px;font-weight:600;position:sticky;top:0;overflow:hidden}.qpop .erp thead th.sortable{cursor:pointer}.qpop .erp tbody td{color:#334155;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #eef1f4;border-right:1px solid #f1f4f8;height:34px;padding:0 12px;font-size:12.5px;overflow:hidden}.qpop .erp tbody tr{cursor:pointer}.qpop .erp tbody tr:hover td{background:#f6f9fe}.qpop .erp tbody tr.sel td{background:#eaf2fb}.qpop .erp tfoot td{z-index:1;background-color:inherit;color:#334155;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #d6dce3;border-right:1px solid #f1f4f8;height:34px;padding:0 12px;font-size:12.5px;position:sticky;bottom:0;overflow:hidden}.qpop .erp tbody td.edit{white-space:normal;height:auto;padding:4px 8px;overflow:visible}.qpop .erp tbody td.edit input,.qpop .erp tbody td.edit select{font-size:12.5px}.qpop .erp tbody td.pop{z-index:3;position:relative;overflow:visible}.qpop .erp tbody td.wrap{white-space:normal;height:auto;padding:8px 12px;line-height:1.5;overflow:visible}.qpop .erp thead tr:nth-child(2) th.sub{top:34px}.qpop .erp tbody td.span{white-space:normal;height:auto}.qpop .cbcol{text-align:center;width:44px;padding:0}.qpop .lnk{color:#1f5fbf;cursor:pointer;font-weight:500}.qpop .lnk:hover{text-decoration:underline}.qpop .mut{color:#b6bfca}.qpop .num{text-align:right;font-variant-numeric:tabular-nums}
