*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:12px;line-height:1.45;color:#1e293b;background:#e8eaed;-webkit-font-smoothing:antialiased}button,input{font:inherit}.app-shell{display:flex;flex-direction:column;height:100%}.app-body{display:flex;flex:1;min-height:0}.app-main{flex:1 1 0%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:10px 12px;background:#eef0f3}.topbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:#fff;border-bottom:1px solid #d1d5db;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:inherit}.brand-mark-logo{display:block;width:36px;height:36px;object-fit:contain;flex-shrink:0}.brand-mark-logo--full{width:auto;height:52px}.brand-mark-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.brand-mark-name{font-size:15px;font-weight:700;color:#1d2433;letter-spacing:.06em}.brand-mark-product{font-size:12px;font-weight:600;color:#0b7a75;letter-spacing:.08em}.brand-mark-en{margin-top:6px;font-size:11px;font-weight:500;color:#94a3b8;letter-spacing:.22em}.brand-mark--login{flex-direction:column;align-items:flex-start;gap:18px}.brand-mark--login .brand-mark-product{font-size:22px;font-weight:700;color:#f8fafc;letter-spacing:.08em}.brand-mark--login .brand-mark-en{color:#c9a227}.gyl-stale-banner{position:fixed;right:16px;bottom:16px;z-index:80;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 32px));padding:10px 12px;border:1px solid #f0c48a;border-radius:6px;background:#fff7ed;color:#9a3412;font-size:12px;box-shadow:0 8px 24px #0f172a1f}.topbar-logo{font-size:13px;font-weight:600;color:#1d2433;letter-spacing:.02em}.topbar-version{font-size:12px;color:#0f766e;text-decoration:none;padding:2px 8px;border:1px solid #99f6e4;background:#f0fdfa;border-radius:3px;white-space:nowrap}a.topbar-version:hover{background:#ccfbf1;border-color:#5eead4}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-user{font-size:12px;color:#475569}.topbar-logout{padding:3px 10px;font-size:12px;color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:3px;cursor:pointer}.topbar-logout:hover{background:#f1f5f9;border-color:#94a3b8}.topbar-pwd{position:relative}.topbar-pwd-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:240px;padding:10px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-shadow:0 8px 24px #0f172a1f;display:grid;gap:8px}.topbar-pwd-panel label{display:grid;gap:4px;font-size:12px;color:#475569}.topbar-pwd-panel input{height:28px;padding:0 8px;border:1px solid #cbd5e1;border-radius:4px}.topbar-pwd-actions{display:flex;justify-content:flex-end;gap:6px}.sidebar{width:168px;flex-shrink:0;background:#1a2332;overflow-y:auto;border-right:1px solid #111827}.sidebar-nav{padding:6px 0 12px}.sidebar-group+.sidebar-group{margin-top:2px}.sidebar-group-title{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;font-size:12px;font-weight:600;color:#94a3b8;background:transparent;border:none;cursor:pointer;text-align:left}.sidebar-group-title:hover{color:#cbd5e1;background:#ffffff0a}.sidebar-group-title.active{color:#5eead4}.sidebar-chevron{font-size:10px;opacity:.7}.sidebar-items{list-style:none;margin:0;padding:0 0 2px}.sidebar-link{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 10px 5px 18px;font-size:12px;color:#cbd5e1;text-decoration:none;border-left:2px solid transparent}.sidebar-link:hover{color:#f1f5f9;background:#ffffff0f}.sidebar-link.active{color:#fff;background:#0b7a7540;border-left-color:#0b7a75}.sidebar-link.disabled{color:#64748b;cursor:not-allowed;padding:5px 10px 5px 18px}.sidebar-badge{padding:0 5px;font-size:10px;line-height:16px;color:#94a3b8;background:#ffffff14;border:1px solid #475569;border-radius:2px;white-space:nowrap}.page{display:flex;flex-direction:column;gap:8px;flex:1 1 0%;min-height:0;width:100%;overflow:hidden}.page>*{flex-shrink:0}.page>.table-panel,.page>.split-layout,.page>.page-tab-panel{flex:1 1 0%;min-height:0}.page>.page-tab-panel{display:flex;flex-direction:column;overflow:hidden}.page>.page-tab-panel[hidden]{display:none!important}.page-tab-panel>.table-panel,.page-tab-panel>.split-layout{flex:1 1 0%;min-height:0}.page-header{padding:2px 2px 0}.page-title{margin:0;font-size:14px;font-weight:600;color:#0f172a}.page-desc{margin:4px 0 0;font-size:12px;color:#64748b}.table-panel-wide{overflow-x:auto}.data-table-wide{min-width:1600px}.data-table-wide.reissue-table{min-width:2400px}.data-table-wide.reissue-table th,.data-table-wide.reissue-table td{max-width:none}.data-table-wide.reissue-table td.col-reissue-detail{white-space:normal;vertical-align:middle}.data-table-wide.reissue-table .reissue-detail-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.data-table-wide.reissue-table .reissue-detail-cell{display:block;width:100%;min-height:76px;max-height:160px;white-space:pre-wrap;word-break:break-word;line-height:1.4;resize:vertical}.data-table-wide.reissue-table .reissue-detail-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.data-table-wide.reissue-table .reissue-detail-thumbs .thumb-cell{width:56px;height:56px}.data-table-wide td.col-ticket-remark{white-space:normal;vertical-align:middle;max-width:320px}.data-table-wide .ticket-remark-cell{display:block;width:100%;min-height:76px;max-height:160px;white-space:pre-wrap;word-break:break-word;line-height:1.4;resize:vertical}.data-table-wide th,.data-table-wide td{white-space:nowrap;max-width:180px}.data-table-wide.products-table{table-layout:fixed}.data-table-wide.products-table th,.data-table-wide.products-table td{max-width:none;overflow:hidden;text-overflow:ellipsis}.data-table-wide.products-table th.col-img,.data-table-wide.products-table th.col-img .th-main,.data-table-wide.products-table th.col-img .th-label{max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;flex-shrink:0}.thumb-cell{width:36px;height:36px;object-fit:cover;border-radius:2px;border:1px solid #e2e8f0;vertical-align:middle}.shot-cell,.shot-upload{display:flex;align-items:center;gap:8px}.paste-image-zone-cell{min-height:52px;min-width:118px;padding:4px 6px;border:1px dashed #94a3b8;border-radius:4px;background:#f8fafc;cursor:text;outline:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.paste-image-zone-cell:focus{border-color:#0b7a75;box-shadow:0 0 0 2px #0b7a7526}.paste-image-zone-cell .thumb-cell{width:44px;height:44px}.thumb-btn{padding:0;border:none;background:transparent;cursor:zoom-in;line-height:0}.thumb-btn:hover .thumb-cell{border-color:#0f766e}.thumb-cell.thumb-qr{width:52px;height:52px;object-fit:contain;background:#fff}.img-preview-overlay{display:flex;align-items:center;justify-content:center}.img-preview-box{max-width:min(92vw,960px);max-height:90vh;background:#fff;border-radius:8px;padding:16px;box-shadow:0 16px 48px #0f172a40}.img-preview{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:0 auto}.img-preview.img-preview-qr{width:min(420px,80vw);height:auto;background:#fff}.data-table-wide th.sticky-left,.data-table-wide td.sticky-left,.data-table-wide th.col-check,.data-table-wide td.col-check{position:sticky;left:0;z-index:2;background:#fff}.data-table-wide thead th.sticky-left,.data-table-wide thead th.col-check{top:0;z-index:5;background:#f1f5f9}.paste-image-zone{min-height:120px;margin-top:6px;padding:10px;border:1px dashed #94a3b8;border-radius:4px;background:#f8fafc;cursor:text;outline:none;display:flex;align-items:center;justify-content:center}.paste-image-zone:focus{border-color:#0b7a75;box-shadow:0 0 0 2px #0b7a7526}.paste-image-placeholder{color:#64748b;font-size:12px;text-align:center}.paste-image-preview{max-width:180px;max-height:180px;object-fit:contain;border:1px solid #e2e8f0;border-radius:3px;background:#fff}.paste-image-actions{display:flex;gap:8px;margin-top:8px;align-items:center}.paste-image-actions label.btn{cursor:pointer;margin:0}.form-grid .paste-image-zone{min-height:88px}.form-grid .paste-image-preview{max-width:140px;max-height:100px}.supplier-sku-readonly{margin-top:6px;min-height:40px;max-height:180px;overflow:auto;padding:10px 12px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc}.supplier-sku-list{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:2px}.supplier-sku-list li{word-break:break-all}.sticky-right{position:sticky;right:0;background:#fff;z-index:1}.table-panel{background:#fff;border:1px solid #d1d5db;border-radius:2px;overflow:auto;flex:1 1 0%;min-width:0;min-height:0}.form-panel .table-panel,.sub-row .table-panel{flex:0 1 auto;min-height:0;max-height:280px}.table-panel:has(.table-scroll){display:flex;flex-direction:column;overflow:hidden}.table-panel:has(.table-scroll)>:not(.table-scroll){flex-shrink:0}.table-scroll{flex:1 1 0%;min-width:0;min-height:0;overflow:auto}.table-panel>.pager{flex-shrink:0;background:#fff;border-top:1px solid #e2e8f0}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:fixed}.data-table thead{background:#f1f5f9}.data-table thead th{position:sticky;top:0;z-index:2;background:#f1f5f9}.data-table.nested-table thead th{position:static;z-index:auto}.data-table th{padding:5px 8px;font-weight:600;font-size:12px;text-align:center;color:#334155;border-bottom:1px solid #cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table td{padding:6px 8px;border-bottom:1px solid #e2e8f0;color:#475569;text-align:center;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table .empty-row td{padding:28px 8px;text-align:center;color:#94a3b8;font-size:12px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:24px 16px;background:radial-gradient(circle at 12% 18%,rgba(201,162,39,.18),transparent 36%),linear-gradient(135deg,#121826,#1a2332 46%,#eef0f3 46%)}.login-workbench{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(320px,.9fr);width:min(880px,100%);min-height:460px;background:#fff;border:1px solid #d1d5db;border-radius:10px;overflow:hidden;box-shadow:0 18px 48px #0f172a2e}.login-brand-panel{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:36px 32px;background:radial-gradient(circle at 80% 0%,rgba(201,162,39,.22),transparent 42%),#151b28;color:#e2e8f0}.login-brand-lead{margin:0;font-size:13px;line-height:1.7;color:#cbd5e1}.login-brand-points{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13px;color:#e2e8f0}.login-brand-points li{position:relative;padding-left:16px}.login-brand-points li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#c9a227}.login-card{display:flex;flex-direction:column;justify-content:center;padding:36px 32px;background:#fff}@media(max-width:760px){.login-workbench{grid-template-columns:1fr;min-height:0}.login-brand-panel{padding:28px 24px 20px}.login-card{padding:24px}}.login-title{margin:0;font-size:20px;font-weight:700;color:#1d2433}.login-subtitle{margin:6px 0 18px;font-size:12px;color:#64748b}.login-form{display:flex;flex-direction:column;gap:12px}.login-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.login-field input{padding:6px 8px;font-size:13px;border:1px solid #cbd5e1;border-radius:3px;outline:none}.login-field input:focus{border-color:#0b7a75;box-shadow:0 0 0 2px #0b7a7526}.login-error{margin:0;font-size:12px;color:#b91c1c}.login-submit{margin-top:4px;padding:7px 12px;font-size:13px;font-weight:500;color:#fff;background:#0b7a75;border:none;border-radius:3px;cursor:pointer}.login-submit:hover:not(:disabled){background:#096963}.login-submit:disabled{opacity:.65;cursor:not-allowed}.list-hint-banner{margin:0 0 10px;padding:10px 12px;border:1px solid #c7e0d8;border-radius:4px;background:#f3faf7;color:#0f3d36;font-size:13px;line-height:1.5}.list-hint-banner a{color:#0b7a75;font-weight:600}.list-empty-hint{text-align:left;max-width:720px;margin:8px auto;padding:8px 4px;line-height:1.55}.list-empty-hint p{margin:0 0 8px}.list-empty-hint a{color:#0b7a75;font-weight:600}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-header-compact{padding:0 2px}.page-header-compact.page-header-row{align-items:center}.page-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hidden-input{display:none}.btn{padding:5px 11px;font-size:12px;line-height:1.35;border-radius:6px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{color:#fff;background:#0b7a75;border-color:#0b7a75}.btn-primary:hover:not(:disabled){background:#096963}.btn-ghost{color:#334155;background:#f8fafc;border-color:#cbd5e1}.btn-ghost:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.btn-danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-sm{padding:4px 9px;font-size:12px}.btn-group{display:flex;gap:6px;flex-wrap:wrap}.seg{display:inline-flex;align-items:center;padding:2px;gap:2px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px}.seg .btn{border:none;background:transparent;color:#475569;box-shadow:none}.seg .btn:hover:not(:disabled){background:#e2e8f0;color:#0f172a;border-color:transparent}.seg .btn.is-on,.seg .btn.btn-primary{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 2px #0f172a14}.purchase-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 8px}.purchase-toolbar-actions,.purchase-toolbar-utils{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.purchase-toolbar-utils{margin-left:auto}.purchase-toolbar .btn-primary,.purchase-toolbar [class*=btn-tone-]{font-weight:600}.btn-tone-finance{color:#fff;background:#0b7a75;border-color:#0b7a75}.btn-tone-finance:hover:not(:disabled){background:#096963}.btn-tone-otherpay{color:#fff;background:#c05621;border-color:#c05621}.btn-tone-otherpay:hover:not(:disabled){background:#9a3412}.btn-tone-wuxi{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.btn-tone-wuxi:hover:not(:disabled){background:#1e40af}.btn-tone-jdecom{color:#fff;background:#be123c;border-color:#be123c}.btn-tone-jdecom:hover:not(:disabled){background:#9f1239}.btn-tone-pickup{color:#fff;background:#6d28d9;border-color:#6d28d9}.btn-tone-pickup:hover:not(:disabled){background:#5b21b6}.offline-batch-edit{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.page-tabs{margin-right:4px}.staff-tabs{display:flex;gap:20px;margin:0 0 12px;padding:0 2px;border-bottom:1px solid #e2e8f0}.staff-tab{display:inline-block;padding:8px 2px 10px;color:#64748b;text-decoration:none;background:none;border:none;border-bottom:2px solid transparent;font:inherit;font-size:14px;cursor:pointer}.staff-tab:hover{color:#0f172a}.staff-tab.active{color:#0f172a;font-weight:600;border-bottom-color:#2563eb}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}.toolbar-row label,.inventory-page .toolbar-row label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#334155}.inventory-page .inventory-check{gap:4px}.inventory-page .select-workbench{min-width:280px;max-width:420px}.inventory-page .inventory-pulled-at span{min-width:158px;padding:4px 6px;border:1px solid #cbd5e1;border-radius:3px;background:#f8fafc;color:#0f172a;font-variant-numeric:tabular-nums}.data-table tbody tr.shop-emg-group-first td{border-top:1px solid #cbd5e1}.data-table tbody tr.category-group-row td{background:#eef4f3;border-top:1px solid #cbd5e1;color:#0b7a75;font-weight:700;padding:8px 12px}.category-group-label{margin-right:8px}.category-group-meta{font-weight:500;color:#4b635f}.category-group-amount{margin-left:12px;font-variant-numeric:tabular-nums}.data-table td.shop-emg-total{vertical-align:middle;background:#f0f7f6;font-weight:700;color:#0b7a75}.btn-link{padding:0;font-size:11px;color:#0b7a75;background:none;border:none;cursor:pointer}.btn-link:hover{color:#096963;text-decoration:underline}.select,.form-field input,.form-field select,.input-inline{padding:4px 6px;font-size:12px;border:1px solid #cbd5e1;border-radius:3px;outline:none;background:#fff;min-width:0}.select:focus,.form-field input:focus,.input-inline:focus{border-color:#0b7a75;box-shadow:0 0 0 2px #0b7a751f}.input-inline{width:100%}.cat-multi{position:relative;min-width:108px}.cat-multi-btn{text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-multi-btn:disabled{opacity:.6;cursor:not-allowed}.cat-multi-panel{position:absolute;z-index:30;top:calc(100% + 2px);left:0;min-width:132px;padding:6px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 8px 20px #0f172a1f}.cat-multi-item{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:12px;color:#334155;white-space:nowrap}.data-table input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:#0b7a75;cursor:pointer}.data-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.col-check{width:32px;text-align:center}.pending-table th.col-check,.pending-table td.col-check{position:sticky;left:0;z-index:3;background:#f1f5f9;box-shadow:1px 0 #e2e8f0}.pending-table thead th.col-check{top:0;z-index:5}.pending-table td.col-check{background:#fff;z-index:2}.pending-table tr.row-selected td.col-check{background:#ecfeff}.col-action{width:90px;white-space:nowrap}.data-table th.col-action.custom-order-action,.data-table td.col-action.custom-order-action{width:120px;min-width:120px;white-space:normal;vertical-align:middle}.custom-order-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}.custom-order-actions .btn{width:100%;box-sizing:border-box;padding-left:6px;padding-right:6px}.data-table .num{text-align:center;font-variant-numeric:tabular-nums}.data-table thead th.num{text-align:center}.data-table tbody tr.row-selected{background:#0b7a750f}.data-table tbody tr.row-low-cost-ratio td{background:#fff1f2}.data-table td.invoice-return-pending{background:#fff7ed}.data-table tbody tr.row-low-cost-ratio td.cell-low-cost-ratio,.data-table tbody tr.row-low-cost-ratio .low-cost-ratio-value{color:#9f1239;font-weight:700}.data-table tbody tr.row-low-cost-ratio.row-selected td{background:#fecdd3}.data-table tbody tr.sub-row td{padding:4px 8px 8px 28px;background:#f8fafc}.nested-table{table-layout:auto}.nested-table th,.nested-table td{font-size:11px}.tag{display:inline-block;padding:1px 6px;font-size:11px;line-height:16px;border-radius:2px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.tag-open,.tag-draft,.tag-pending{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.tag-pushed,.tag-confirmed,.tag-routed,.tag-ordered{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.tag-void,.tag-paid{background:#f1f5f9;color:#64748b;border-color:#cbd5e1}.tag-shipped,.tag-booked,.tag-inbound{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.split-layout{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;flex:1 1 0%;min-height:0}.split-layout .form-panel{max-height:100%;overflow:auto}.split-main{flex:1;min-width:480px}.form-panel{width:320px;flex-shrink:0;padding:10px 12px;background:#fff;border:1px solid #d1d5db;border-radius:2px}.form-panel-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#0f172a}.form-panel-hint{margin-left:8px;font-size:11px;font-weight:400;color:#64748b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#64748b}.form-field-full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0f172a59}.modal{width:420px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:16px;background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 16px #0f172a1f}.modal-wide{width:720px}.modal-create{overflow:visible}.modal .supplier-search-menu{z-index:110}.link-row{display:grid;grid-template-columns:1.6fr .7fr auto auto auto;gap:8px;align-items:center;margin-top:8px}.supplier-search{position:relative;min-width:0}.supplier-search-input{width:100%;padding-right:28px}.supplier-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:0;border-radius:3px;background:transparent;color:#94a3b8;cursor:pointer;line-height:1;font-size:14px}.supplier-search-clear:hover{background:#e2e8f0;color:#0f172a}.supplier-search-menu{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 2px);max-height:240px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:4px;box-shadow:0 8px 24px #0f172a1f}.supplier-search-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:0;background:transparent;text-align:left;font-size:12px;color:#334155;cursor:pointer}.supplier-search-item.is-active,.supplier-search-item:hover{background:#f0fdfa}.supplier-search-item.is-selected{color:#0b7a75;font-weight:600}.supplier-search-item.is-inactive{color:#94a3b8}.supplier-search-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-search-name em{font-style:normal;margin-left:4px;color:#94a3b8}.supplier-search-meta{flex:0 0 auto;color:#64748b;font-size:11px}.supplier-search-empty{padding:12px 8px;text-align:center;color:#94a3b8;font-size:12px}.supplier-search.is-disabled .supplier-search-input{opacity:.6;cursor:not-allowed}.muted{color:#64748b;font-size:12px}.modal-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#0f172a}.toast{position:fixed;bottom:16px;right:16px;z-index:200;max-width:360px;padding:8px 14px;font-size:12px;color:#fff;background:#0b7a75;border-radius:4px;box-shadow:0 2px 8px #0f172a26}.toast-err{background:#b91c1c}.qty-edit{display:inline-flex;align-items:center;gap:4px}.qty-input{width:72px;height:24px;padding:0 6px;border:1px solid #cbd5e1;border-radius:3px;font-size:12px;text-align:right}.qty-input:focus{outline:none;border-color:#0b7a75}.city-input{width:96px;height:24px;padding:0 6px;border:1px solid #cbd5e1;border-radius:3px;font-size:12px}.city-input:focus{outline:none;border-color:#0b7a75}.pair-remark{align-items:center;gap:4px}.remark-input{width:100%;min-width:88px;min-height:36px;height:auto;padding:3px 6px;border:1px solid #cbd5e1;border-radius:3px;font-size:12px;line-height:1.35;resize:vertical;box-sizing:border-box}.remark-input:focus{outline:none;border-color:#0b7a75}.tag-locked{margin-left:4px;background:#fef3c7;color:#92400e}.cell-wrap{max-width:160px;white-space:normal;line-height:1.35}.tiny{font-size:11px;margin-top:2px}.pending-table,.resizable-table{table-layout:fixed;border-collapse:separate;border-spacing:0}.pending-table th,.pending-table td,.resizable-table th,.resizable-table td{box-sizing:border-box;overflow:hidden;vertical-align:middle}.resizable-table .cell-locked{display:block;padding:5px 8px;background:#eef1f4;color:#4b5563;border-radius:4px;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none}.pending-table .cell-clip,.resizable-table .cell-clip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.pending-table .mono,.resizable-table .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;letter-spacing:-.01em}.pending-table .resizable-th,.resizable-table .resizable-th{position:relative;-webkit-user-select:none;user-select:none;padding-right:10px;overflow:visible}.pending-table thead th.resizable-th,.resizable-table thead th.resizable-th,.data-table thead th.resizable-th{position:sticky;top:0;z-index:2;background:#f1f5f9}.pending-table thead th.resizable-th.th-filtered,.resizable-table thead th.resizable-th.th-filtered,.data-table thead th.resizable-th.th-filtered{background:#ecfeff}.pending-table thead th.resizable-th.col-check,.data-table-wide thead th.resizable-th.col-check,.data-table-wide thead th.resizable-th.sticky-left{left:0;z-index:5}.pending-table .th-main,.resizable-table .th-main,.data-table .th-main{display:flex;align-items:center;justify-content:center;gap:2px;min-width:0}.pending-table .th-label,.resizable-table .th-label,.data-table .th-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:0;text-align:center}.pending-table .th-filter-btn,.resizable-table .th-filter-btn,.products-table .th-filter-btn,.data-table .th-filter-btn{flex:0 0 auto;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:transparent;color:#94a3b8;font-size:11px;line-height:1;cursor:pointer}.pending-table .th-filter-btn:hover,.pending-table .th-filter-btn.active,.resizable-table .th-filter-btn:hover,.resizable-table .th-filter-btn.active,.products-table .th-filter-btn:hover,.products-table .th-filter-btn.active,.data-table .th-filter-btn:hover,.data-table .th-filter-btn.active{background:#e2e8f0;color:#0b7a75}.pending-table th.th-filtered,.resizable-table th.th-filtered,.products-table th.th-filtered,.data-table th.th-filtered{background:#ecfeff}.th-filter-panel-fixed{position:fixed;z-index:80;width:220px;max-width:calc(100vw - 16px);background:#fff;border:1px solid #cbd5e1;border-radius:4px;box-shadow:0 8px 24px #0f172a1f;padding:8px}.th-filter-title{font-size:12px;font-weight:600;color:#0f172a;margin-bottom:6px}.th-filter-panel-fixed .th-filter-search{width:100%;height:28px;padding:0 8px;border:1px solid #cbd5e1;border-radius:3px;font-size:12px;margin-bottom:6px;box-sizing:border-box}.th-filter-date-row{display:flex;gap:6px;margin-bottom:4px}.th-filter-date-lab{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;font-size:12px;color:#64748b}.th-filter-date-lab .th-filter-search{margin-bottom:0}.th-filter-panel-fixed .th-filter-search-multi{height:auto;min-height:64px;padding:6px 8px;line-height:1.4;resize:vertical}.th-filter-hint{font-size:11px;color:#64748b;line-height:1.35;margin:-2px 0 6px}.th-filter-panel-fixed .th-filter-actions{display:flex;gap:10px;margin-bottom:6px}.th-filter-panel-fixed .th-filter-list{max-height:200px;overflow:auto;border:1px solid #e2e8f0;border-radius:3px;padding:4px}.th-filter-panel-fixed .th-filter-item{display:flex;align-items:center;gap:6px;padding:3px 4px;font-size:12px;font-weight:400;color:#334155;cursor:pointer}.th-filter-panel-fixed .th-filter-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-filter-panel-fixed .th-filter-item:hover{background:#f8fafc}.th-filter-panel-fixed .th-filter-empty{padding:12px 8px;text-align:center;color:#94a3b8;font-size:12px;font-weight:400}.th-filter-panel-fixed .th-filter-footer{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.pending-table .col-resizer,.resizable-table .col-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:2}.pending-table .col-resizer:after,.resizable-table .col-resizer:after{content:"";position:absolute;top:20%;bottom:20%;left:2px;width:2px;background:#cbd5e1;border-radius:1px}.pending-table .col-resizer:hover:after,.resizable-table .col-resizer:hover:after,body.col-resizing .pending-table .col-resizer:after,body.col-resizing .resizable-table .col-resizer:after{background:#0b7a75}.pending-table td.cell-warn{color:#a15c00;background:#ffc1071f}.pending-table th.col-draggable .th-drag-label,.resizable-table th.col-draggable .th-drag-label{cursor:grab;-webkit-user-select:none;user-select:none}.pending-table th.col-draggable.col-drag-over,.resizable-table th.col-draggable.col-drag-over{box-shadow:inset 3px 0 #2f6fed;background:#2f6fed0f}.pending-table th.col-draggable:active .th-drag-label,.resizable-table th.col-draggable:active .th-drag-label{cursor:grabbing}body.col-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.col-resizing iframe{pointer-events:none}.pending-table .col-pair{vertical-align:top;background:#f8fafc}.pair-stack{display:flex;flex-direction:column;gap:4px}.pair-row{min-height:26px;display:flex;align-items:center;padding:2px 0;border-bottom:1px dashed #e2e8f0}.pair-row:last-child{border-bottom:0}.pair-city{font-weight:500;color:#0f172a}.pair-qty{gap:4px}.pair-row.pair-label{align-items:stretch;min-height:2.6em}.pair-row.pair-label textarea.cell-edit{width:100%;min-height:2.4em}.pair-total{margin-top:4px;font-size:11px}.cell-edit{width:100%;min-width:64px;max-width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:3px;padding:2px 6px;font:inherit;background:#fff}.cell-edit:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}textarea.cell-edit{display:block;min-height:2.6em;line-height:1.3;resize:both;overflow:auto;max-width:100%;white-space:pre-wrap;word-break:break-word;vertical-align:top}.pending-table td:has(>textarea.cell-edit),.resizable-table td:has(>textarea.cell-edit){overflow:hidden;vertical-align:top;white-space:normal}.pending-table td .cell-edit.select{height:26px}.cell-edit.select.biz-status-unordered{color:#b42318;font-weight:600;background:#fef3f2}.cell-edit.select.biz-status-ordered{color:#027a48;font-weight:600;background:#ecfdf3}.pending-table td.order-merge-cell,.pending-table td.settle-merge-cell{vertical-align:middle;background:#f8fafc}.pending-table td.settle-merge-cell{border-left:2px solid #cbd5e1}.po-emphasize-goods-amt{--po-goods-amt-bg: #fff4e5;--po-goods-amt-bg-header: #fde6c8;--po-goods-amt-text: #9a3412;--po-goods-amt-border: #f0c48a;--po-goods-amt-edit: #c2410c;--po-goods-amt-edit-hover: #9a3412;--po-goods-amt-bg-selected: #ffe8cc;--po-goods-amt-bg-filtered: #ffedd5}.po-emphasize-goods-amt th.col-goods-amt{background:var(--po-goods-amt-bg-header)!important;color:var(--po-goods-amt-text);font-weight:600;border-left:3px solid var(--po-goods-amt-border)}.po-emphasize-goods-amt th.col-goods-amt .th-label{color:var(--po-goods-amt-text);font-weight:600}.po-emphasize-goods-amt th.col-goods-amt.th-filtered{background:var(--po-goods-amt-bg-filtered)!important}.po-emphasize-goods-amt th.col-goods-amt .th-filter-btn:hover,.po-emphasize-goods-amt th.col-goods-amt .th-filter-btn.active{background:#c2410c1f;color:var(--po-goods-amt-edit)}.po-emphasize-goods-amt td.col-goods-amt,.po-emphasize-goods-amt td.col-goods-amt.settle-merge-cell{background:var(--po-goods-amt-bg)!important;color:var(--po-goods-amt-text);border-left:3px solid var(--po-goods-amt-border);text-align:right}.po-emphasize-goods-amt tr.row-selected td.col-goods-amt,.po-emphasize-goods-amt tr.row-selected td.col-goods-amt.settle-merge-cell{background:var(--po-goods-amt-bg-selected)!important}.po-emphasize-goods-amt .goods-amt-cell-inner{justify-content:flex-end;min-width:0}.po-emphasize-goods-amt .goods-amt-value{display:inline-block;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;color:var(--po-goods-amt-text);letter-spacing:.01em}.po-emphasize-goods-amt .goods-amt-edit-link{color:var(--po-goods-amt-edit);flex-shrink:0}.po-emphasize-goods-amt .goods-amt-edit-link:hover{color:var(--po-goods-amt-edit-hover);text-decoration:underline}.po-emphasize-goods-amt .goods-amt-input{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--po-goods-amt-text);background:#fffaf3;border-color:var(--po-goods-amt-border)}.pending-table thead th.resizable-th.col-diff-follow,.data-table thead th.resizable-th.col-diff-follow{--po-diff-follow-bg: #fff7d6;--po-diff-follow-bg-header: #f5d76e;--po-diff-follow-text: #7a4d00;--po-diff-follow-border: #e0a800;background:var(--po-diff-follow-bg-header)!important;color:var(--po-diff-follow-text);font-weight:600;border-left:3px solid var(--po-diff-follow-border)}.pending-table th.col-diff-follow .th-label,.data-table th.col-diff-follow .th-label{color:var(--po-diff-follow-text);font-weight:600}.pending-table thead th.resizable-th.col-diff-follow.th-filtered,.data-table thead th.resizable-th.col-diff-follow.th-filtered{background:#efc54a!important}.pending-table th.col-diff-follow .th-filter-btn:hover,.pending-table th.col-diff-follow .th-filter-btn.active{background:#7a4d001f;color:var(--po-diff-follow-text)}.pending-table td.order-merge-cell.col-diff-follow{background:#fff7d6!important;color:#7a4d00;border-left:3px solid #e0a800}.pending-table tr.row-selected td.order-merge-cell.col-diff-follow{background:#ffe8a3!important}.pending-table td.col-diff-follow textarea.cell-edit{background:#fffdf2;border-color:#e0a800;color:#7a4d00}.bill-code-edit{display:flex;align-items:center;gap:4px;min-width:160px}.bill-code-edit .cell-edit{flex:1;min-width:100px}.data-table .qty-input,.data-table .cell-edit,.data-table .goods-amt-value,.data-table .goods-amt-input{text-align:center}.data-table .goods-amt-cell-inner,.data-table .bill-code-edit,.data-table .pair-row{justify-content:center;align-items:center}.data-table .pair-row,.data-table .pair-city,.data-table .cell-clip{text-align:center}.data-table select.cell-edit{text-align:center;text-align-last:center}.data-table td.order-merge-cell .qty-input{display:block;margin:0 auto}.data-table.po-cell-center td{text-align:center;vertical-align:middle}.data-table.po-cell-center.pending-table td.col-pair{vertical-align:middle}.data-table.po-cell-center.pending-table td.col-pair>.pair-stack{justify-content:flex-start;align-items:center;width:100%;height:auto;min-height:0}.data-table.po-cell-center.pending-table td.col-pair>.pair-stack>.pair-row{flex:0 0 auto;width:100%;min-height:28px;justify-content:center;align-items:center}.data-table.po-cell-center.pending-table td.col-pair>.pair-total{display:block;width:100%;min-height:22px;margin-top:8px;padding-top:6px;text-align:center;box-sizing:border-box}.data-table.po-cell-center.pending-table td.col-pair>.pair-total-spacer{visibility:hidden}.data-table.po-cell-center .num,.data-table.po-cell-center .qty-input,.data-table.po-cell-center .cell-edit,.data-table.po-cell-center .goods-amt-value,.data-table.po-cell-center .goods-amt-input{text-align:center}.data-table.po-cell-center .goods-amt-cell-inner,.data-table.po-cell-center .bill-code-edit,.data-table.po-cell-center .pair-row{justify-content:center;align-items:center}.data-table.po-cell-center .pair-row,.data-table.po-cell-center .pair-city,.data-table.po-cell-center .cell-clip{text-align:center}.data-table.po-cell-center .pair-city{width:100%}.data-table.po-cell-center select.cell-edit{text-align:center;text-align-last:center}.data-table.po-cell-center td.order-merge-cell .qty-input{display:block;margin:0 auto}.self-pending-table td.col-order-center{text-align:center;vertical-align:middle;font-weight:inherit;font-family:inherit;font-size:inherit}.check-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.tag-open{background:#ffedd5;color:#9a3412}.tag-pushed{background:#dcfce7;color:#166534}.tag-group-1{background:#e0f2fe;color:#075985}.tag-group-2{background:#fce7f3;color:#9d174d}.companies-table{width:auto;min-width:640px;max-width:100%;table-layout:fixed}.companies-table th,.companies-table td{vertical-align:middle}.companies-table td.col-code,.companies-table td.col-name,.companies-table td.col-created,.companies-table td.col-group,.companies-table td.col-status{text-align:center}.companies-table .tag-on{background:#ecfdf3;color:#027a48;border-color:#bbf7d0}.group-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid #dbe3ee;border-radius:999px;background:#f8fafc;gap:2px}.group-switch-btn{min-width:52px;padding:2px 10px;border:0;border-radius:999px;background:transparent;color:#64748b;font:inherit;font-size:12px;line-height:18px;cursor:pointer}.group-switch-btn:hover:not(:disabled){color:#0f172a}.group-switch-btn:disabled{cursor:wait;opacity:.7}.group-switch-btn.is-on.group-1{background:#e0f2fe;color:#075985;font-weight:600}.group-switch-btn.is-on.group-2{background:#fce7f3;color:#9d174d;font-weight:600}.release-notes{margin:0;padding-left:1.1em}.release-notes li{margin:2px 0}.release-current-pill{font-size:12px;color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:3px;padding:3px 8px}.release-row-current td{background:#f0fdfa}.status-pill{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;white-space:nowrap}.status-current{background:#dcfce7;color:#166534}.status-hist{background:#f1f5f9;color:#475569}.status-rolled{background:#ffedd5;color:#9a3412}.muted{color:#64748b}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}.modal-card{width:min(440px,100%);background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:16px 18px;box-shadow:0 12px 40px #0f172a2e}.modal-card h2{margin:0 0 8px;font-size:15px}.modal-card p{margin:0 0 10px;font-size:13px;line-height:1.5}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;flex-wrap:wrap}.list-search{display:flex;align-items:center;gap:6px}.list-search input{min-width:220px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:3px;background:#fff}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:6px 2px;flex-wrap:wrap;font-size:12px;color:#475569}.pager-left{display:flex;align-items:center;gap:8px}.pager-left select{padding:2px 6px;border:1px solid #cbd5e1;border-radius:3px;background:#fff}.pager-right{display:flex;align-items:center;gap:6px}.dash-date-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#475569}.dash-date-input{padding:3px 6px;border:1px solid #cbd5e1;border-radius:3px;background:#fff}.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.dash-grid-depts{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}@media(min-width:720px){.dash-grid-depts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.dash-grid-depts{grid-template-columns:repeat(5,minmax(0,1fr))}}.dash-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1400px){.dash-grid-4{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:960px){.dash-grid,.dash-grid-4{grid-template-columns:1fr}}.dash-card{--dash-accent: #0f766e;--dash-tint: #f8fafc;--dash-edge: #e2e8f0;background:var(--dash-tint);border:1px solid var(--dash-edge);border-left:4px solid var(--dash-accent);border-radius:4px;padding:12px 14px;min-height:140px}.dash-card--data{--dash-accent: #0f766e;--dash-tint: #f0fdfa;--dash-edge: #99f6e4}.dash-card--purchase{--dash-accent: #1d4ed8;--dash-tint: #eff6ff;--dash-edge: #bfdbfe}.dash-card--wuxi{--dash-accent: #b45309;--dash-tint: #fffbeb;--dash-edge: #fde68a}.dash-card--logistics{--dash-accent: #7c3aed;--dash-tint: #f5f3ff;--dash-edge: #ddd6fe}.dash-card--channel{--dash-accent: #be123c;--dash-tint: #fff1f2;--dash-edge: #fecdd3}.dash-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:10px}.dash-card-head h2{margin:0;font-size:14px;font-weight:650;color:var(--dash-accent)}.dash-metric{display:flex;align-items:baseline;gap:6px}.dash-metric-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-metric-value{font-size:28px;font-weight:700;color:#0f172a;letter-spacing:-.02em;line-height:1.1}.dash-metric-money{font-size:22px}.dash-metric-unit{font-size:12px;color:#64748b}.dash-metric-label{margin-top:4px;font-size:12px;color:#64748b}.dash-note{margin:8px 0 0;font-size:11px;color:#64748b;line-height:1.4}.dash-empty{margin:6px 0 0;font-size:12px;color:#94a3b8}.page>.dash-series.table-panel{flex:0 0 auto}.dash-series{padding:0}.dash-series .table-scroll{flex:0 0 auto}.dash-series-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;margin-bottom:0;border-bottom:1px solid #e2e8f0;background:#f8fafc}.dash-series-head h3{margin:0;font-size:14px;font-weight:650;color:#0f172a}.dash-inv-title{min-width:0;flex:1 1 280px}.dash-inv-hint{margin:6px 0 0;max-width:72em;font-size:12px;line-height:1.5;color:#64748b}.dash-inv-ranges{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 auto}.dash-inv-date{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;font-size:11px;font-weight:650;color:#64748b}.dash-inv-date .dash-date-input{min-width:138px;font-size:12px;font-weight:500;color:#0f172a}.dash-inv-chip{display:inline-flex;flex-direction:column;gap:2px;min-width:108px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#0f172a;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.3}.dash-inv-chip em{font-style:normal;font-size:11px;font-weight:650;color:#64748b}.dash-inv-table{table-layout:fixed;min-width:1480px}.dash-inv-table col.dash-inv-col-company{width:12%}.dash-inv-table col.dash-inv-col-num{width:8.1%}.dash-inv-table thead th{vertical-align:bottom;line-height:1.3;white-space:normal}.dash-inv-table thead th.num{text-align:center}.dash-inv-table td.num,.dash-inv-table tfoot td.num{text-align:center;font-variant-numeric:tabular-nums}.dash-inv-th-sub{display:block;margin-top:3px;font-size:11px;font-weight:500;color:#64748b}.dash-inv-company{font-weight:600;color:#0f172a}.dash-inv-table tbody tr:nth-child(2n) td{background:#f8fafc}.dash-inv-table tbody tr:hover td{background:#f1f5f9}.dash-inv-table td.dash-inv-stock{font-weight:650;color:#0f172a}.dash-inv-table tfoot td{background:#f1f5f9;border-top:1px solid #cbd5e1;border-bottom:none;font-weight:700;color:#0f172a}@media(max-width:860px){.dash-series-head{flex-direction:column;justify-content:flex-start;gap:10px}.dash-inv-ranges{justify-content:flex-start}}.dash-sort-th{font:inherit;color:inherit;padding:0;border:0;background:none;cursor:pointer;white-space:nowrap}.dash-sort-th:hover,.dash-sort-th.is-active{color:#0f766e;text-decoration:underline}.inline-check{display:inline-flex;align-items:center;gap:6px}.rpt-panel{padding:8px 10px 12px}.rpt-caption{margin:0 0 8px;font-size:13px;font-weight:650;color:#14532d}.rpt-scroll{overflow:auto;max-height:calc(100vh - 220px)}.rpt-table{min-width:3000px;border-collapse:separate;border-spacing:0}.rpt-legend{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.rpt-legend-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border-left:4px solid currentColor;font-size:12px;font-weight:650}.rpt-table thead th{background:#e2e8f0;color:#334155;font-weight:650;text-align:center;white-space:nowrap}.rpt-table thead .rpt-company,.rpt-table thead .rpt-sum{border-left:3px solid #94a3b8}.rpt-table .rpt-week{font-size:11px;font-weight:500}.rpt-table thead th.rpt-co-youxuan{background:#5eead4;color:#134e4a;border-left-color:#0f766e}.rpt-table thead th.rpt-co-ruixuan{background:#93c5fd;color:#1e3a8a;border-left-color:#1d4ed8}.rpt-table thead th.rpt-co-yanxuan{background:#fcd34d;color:#78350f;border-left-color:#b45309}.rpt-table thead th.rpt-co-zhenxuan{background:#d8b4fe;color:#581c87;border-left-color:#7e22ce}.rpt-table thead th.rpt-co-wanhui{background:#fda4af;color:#881337;border-left-color:#be123c}.rpt-table thead th.rpt-co-geshan{background:#67e8f9;color:#164e63;border-left-color:#0e7490}.rpt-table thead th.rpt-co-tianxuan{background:#bef264;color:#365314;border-left-color:#4d7c0f}.rpt-table thead th.rpt-co-zhixuan{background:#c4b5fd;color:#312e81;border-left-color:#4338ca}.rpt-table thead th.rpt-co-xingchen{background:#fdba74;color:#7c2d12;border-left-color:#c2410c}.rpt-table td.rpt-co-youxuan{background:#f0fdfa}.rpt-table td.rpt-co-ruixuan{background:#eff6ff}.rpt-table td.rpt-co-yanxuan{background:#fffbeb}.rpt-table td.rpt-co-zhenxuan{background:#faf5ff}.rpt-table td.rpt-co-wanhui{background:#fff1f2}.rpt-table td.rpt-co-geshan{background:#ecfeff}.rpt-table td.rpt-co-tianxuan{background:#f7fee7}.rpt-table td.rpt-co-zhixuan{background:#eef2ff}.rpt-table td.rpt-co-xingchen{background:#fff7ed}.rpt-table td.rpt-co-start.rpt-co-youxuan{border-left:3px solid #0f766e}.rpt-table td.rpt-co-start.rpt-co-ruixuan{border-left:3px solid #1d4ed8}.rpt-table td.rpt-co-start.rpt-co-yanxuan{border-left:3px solid #b45309}.rpt-table td.rpt-co-start.rpt-co-zhenxuan{border-left:3px solid #7e22ce}.rpt-table td.rpt-co-start.rpt-co-wanhui{border-left:3px solid #be123c}.rpt-table td.rpt-co-start.rpt-co-geshan{border-left:3px solid #0e7490}.rpt-table td.rpt-co-start.rpt-co-tianxuan{border-left:3px solid #4d7c0f}.rpt-table td.rpt-co-start.rpt-co-zhixuan{border-left:3px solid #4338ca}.rpt-table td.rpt-co-start.rpt-co-xingchen{border-left:3px solid #c2410c}.rpt-table tbody tr:nth-child(2n) td.rpt-co-youxuan{background:#ccfbf1}.rpt-table tbody tr:nth-child(2n) td.rpt-co-ruixuan{background:#dbeafe}.rpt-table tbody tr:nth-child(2n) td.rpt-co-yanxuan{background:#fde68a}.rpt-table tbody tr:nth-child(2n) td.rpt-co-zhenxuan{background:#e9d5ff}.rpt-table tbody tr:nth-child(2n) td.rpt-co-wanhui{background:#fecdd3}.rpt-table tbody tr:nth-child(2n) td.rpt-co-geshan{background:#a5f3fc}.rpt-table tbody tr:nth-child(2n) td.rpt-co-tianxuan{background:#d9f99d}.rpt-table tbody tr:nth-child(2n) td.rpt-co-zhixuan{background:#c7d2fe}.rpt-table tbody tr:nth-child(2n) td.rpt-co-xingchen{background:#fed7aa}.rpt-legend-chip.rpt-co-youxuan{background:#ccfbf1;color:#134e4a;border-left-color:#0f766e}.rpt-legend-chip.rpt-co-ruixuan{background:#dbeafe;color:#1e3a8a;border-left-color:#1d4ed8}.rpt-legend-chip.rpt-co-yanxuan{background:#fde68a;color:#78350f;border-left-color:#b45309}.rpt-legend-chip.rpt-co-zhenxuan{background:#e9d5ff;color:#581c87;border-left-color:#7e22ce}.rpt-legend-chip.rpt-co-wanhui{background:#fecdd3;color:#881337;border-left-color:#be123c}.rpt-legend-chip.rpt-co-geshan{background:#a5f3fc;color:#164e63;border-left-color:#0e7490}.rpt-legend-chip.rpt-co-tianxuan{background:#d9f99d;color:#365314;border-left-color:#4d7c0f}.rpt-legend-chip.rpt-co-zhixuan{background:#c7d2fe;color:#312e81;border-left-color:#4338ca}.rpt-legend-chip.rpt-co-xingchen{background:#fed7aa;color:#7c2d12;border-left-color:#c2410c}.rpt-table .rpt-sticky{position:sticky;left:0;z-index:3;width:200px;min-width:200px;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;background:#c6e0b4}.rpt-table tbody .rpt-sticky{background:#f8fafc;z-index:2;text-align:left}.rpt-table tbody tr:nth-child(2n) .rpt-sticky{background:#e2e8f0}.rpt-metric-name{font-size:12px;font-weight:650;color:#14532d}.rpt-unit{font-weight:500;color:#64748b}.rpt-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.rpt-cell span{margin-right:4px}.rpt-arrow{font-size:10px;vertical-align:1px}.rpt-arrow-up{color:#15803d}.rpt-arrow-down{color:#dc2626}.rpt-sum-cell{font-weight:650;background:#f0fdf4}.rpt-trend-cell{min-width:88px;text-align:center;font-weight:650;white-space:nowrap}.rpt-trend-up{background:#fde8e8;color:#9f1239}.rpt-trend-down{background:#dcfce7;color:#166534}.rpt-trend-flat,.rpt-trend-empty{background:#f8fafc;color:#64748b}.rpt-trend-cell.is-good{background:#dcfce7;color:#166534}.rpt-trend-cell.is-bad{background:#fde8e8;color:#9f1239}.field-layouts-page .staff-tabs{flex-wrap:wrap}.field-role-hint{margin:0 0 10px}.field-layout-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;min-height:0;flex:1}.field-layout-nav{padding:8px;overflow:auto}.field-layout-nav h3{margin:10px 0 6px;font-size:12px;color:#64748b}.field-layout-nav button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:6px 8px;border-radius:6px;cursor:pointer}.field-layout-nav button.active{background:#e0e7ff;color:#312e81;font-weight:650}.permissions-layout{flex:1;min-height:0}.permissions-layout .permissions-panel{min-width:0}.permissions-panel{overflow:hidden;display:flex;flex-direction:column;min-height:0}.permissions-toolbar{display:flex;justify-content:flex-end;padding:6px 8px 0}.permissions-table-wrap{overflow:auto;min-height:0}.permissions-table th,.permissions-table td{text-align:center}.permissions-table .permissions-role-th,.permissions-table .permissions-role-td{text-align:left;position:sticky;left:0;background:#fff;z-index:3}.permissions-table thead .permissions-role-th{z-index:4}.permissions-role-th{vertical-align:middle}.permissions-group-th{white-space:nowrap;background:#f1f5f9;border-bottom:1px solid #cbd5e1}.permissions-table .permissions-item-th{font-weight:500;font-size:12px;white-space:nowrap;vertical-align:bottom}.permissions-table .permissions-item-th .th-label{white-space:nowrap}.permissions-all-th,.permissions-all-cell{background:#f8fafc}.permissions-kind-th,.permissions-kind-td{font-size:12px;color:#475569;background:#f8fafc}.permissions-export-row td{border-bottom-width:2px}.permissions-cell .inline-check{justify-content:center}.permissions-cell .inline-check.is-partial input{opacity:.55}.permissions-note{margin:10px 8px 4px}
