:root{--ui-button-x: 12px;--ui-control-height: 34px;--ui-dense-table-min-width: 980px;--ui-font-size: 14px;--ui-legacy-table-min-width: 1480px;--ui-main-padding: 28px;--ui-menu-font-size: 13px;--ui-page-title-size: 24px;--ui-production-table-min-width: 2780px;--ui-resource-table-min-width: 1120px;--ui-sidebar-width: 280px;--ui-small-font-size: 12px;--ui-table-cell-padding: 7px 9px;--ui-table-font-size: 12px;--ui-table-row-height: 28px;color:#182235;background:#f5f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button{border:1px solid #c9d4e5;border-radius:6px;background:#fff;color:#17233a;cursor:pointer;font:inherit;min-height:var(--ui-control-height);padding:0 var(--ui-button-x)}button:hover{border-color:#5578b8}.app-shell{display:grid;font-size:var(--ui-font-size);grid-template-columns:var(--ui-sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .16s ease}.app-shell[data-sidebar-collapsed=true]{--ui-sidebar-width: 72px}.sidebar{background:#fff;border-right:1px solid #dde5f0;padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{align-items:center;display:flex;justify-content:space-between;gap:10px;margin-bottom:24px;padding:0 8px}.brand-identity{align-items:center;display:flex;gap:10px;min-width:0}.brand svg{color:#2867c8;flex:0 0 auto}.brand strong,.brand span{display:block}.brand span{color:#6b7890;font-size:12px}.brand-copy{min-width:0}.sidebar-toggle{align-items:center;display:inline-flex;flex:0 0 auto;gap:6px;min-height:32px;padding:0 8px}.sidebar-toggle svg{color:#2867c8;height:18px;width:18px}.sidebar nav{display:grid;gap:6px}.menu-group{border-radius:8px}.menu-group summary{align-items:center;border-radius:6px;color:#23314a;display:flex;gap:10px;list-style:none;padding:10px 12px;cursor:pointer}.menu-group summary::-webkit-details-marker{display:none}.menu-group[open] summary,.menu-group summary:hover{background:#eef4ff}.submenu{display:grid;gap:2px;margin:2px 0 8px 26px}.submenu a,.breadcrumbs a,.breadcrumbs span,.row-actions a,.placeholder-panel a,.page-card{color:#23314a;text-decoration:none}.submenu a{align-items:center;border-radius:6px;color:#526078;display:flex;font-size:13px;gap:6px;justify-content:space-between;padding:7px 10px}.submenu a small{color:#a06718;flex:0 0 auto;font-size:11px;font-weight:700}.submenu a:hover,.submenu a.active{background:#eef4ff;color:#113b7a}.app-shell[data-sidebar-collapsed=true] .sidebar{overflow-x:hidden;padding:18px 8px}.app-shell[data-sidebar-collapsed=true] .brand{gap:4px;margin-bottom:16px;padding:0 2px}.app-shell[data-sidebar-collapsed=true] .brand-copy,.app-shell[data-sidebar-collapsed=true] .sidebar-toggle span,.app-shell[data-sidebar-collapsed=true] .ui-display-size-control,.app-shell[data-sidebar-collapsed=true] .menu-group summary span,.app-shell[data-sidebar-collapsed=true] .submenu{display:none}.app-shell[data-sidebar-collapsed=true] .sidebar-toggle{justify-content:center;padding:0;width:32px}.app-shell[data-sidebar-collapsed=true] .menu-group summary{justify-content:center;padding:10px 0}nav svg,.module-heading svg,.boundary-card svg{height:18px;width:18px}main{min-width:0;padding:var(--ui-main-padding)}.save-status-banner{align-items:center;background:#eef7ff;border:1px solid #b9d7ff;border-radius:8px;color:#17416f;display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin-bottom:12px;padding:9px 12px}.save-status-banner.error{background:#fff2f0;border-color:#ffb8ad;color:#9a2417}.save-status-banner button{background:transparent;border-color:currentColor;color:inherit;min-height:26px;padding:0 10px}.legacy-context-strip{align-items:center;background:#fff;border:1px solid #dde5f0;border-radius:8px;display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding:6px}.legacy-context-link{align-items:center;background:#fff;border:1px solid #dde5f0;border-radius:6px;color:#172a4a;display:flex;flex:0 0 128px;flex-direction:column;font-size:13px;font-weight:700;gap:4px;justify-content:center;min-height:56px;padding:8px 10px;text-align:center;text-decoration:none}.legacy-context-link small{color:#64748b;font-size:11px;font-weight:600}.legacy-context-link:hover{border-color:#5578b8;color:#113b7a}.legacy-context-link.exists{border-color:#b8c9e8}.legacy-context-link.placeholder{background:#f8fafc}.legacy-context-link.missing{color:#8491a6;cursor:pointer}.legacy-context-link.missing small{color:#b45309}.trace-filter-banner{align-items:center;background:#fff7d6;border:1px solid #f1d58a;border-radius:6px;color:#5f4300;display:flex;gap:12px;margin-bottom:10px;padding:8px 10px}.trace-highlight-row td,.trace-highlight-row td:first-child{background:#fff8d7}.workflow-strip{display:grid;gap:8px;grid-template-columns:repeat(30,minmax(132px,1fr));overflow-x:auto}.workflow-step{background:#fff;border:1px solid #dde5f0;border-radius:6px;min-width:132px;padding:10px}.workflow-overview{margin-bottom:22px}.page-surface{display:grid;gap:14px}.layout-contained,.page-surface,.requirement-review-card,.linked-rows-panel,.follow-calc-workbench,.legacy-detail-shell,.legacy-detail-content,.legacy-tab-body,.legacy-table-panel,.master-import-panel,.master-import-head,.master-import-search-box,.master-import-results,.dense-table-wrap{max-width:100%;min-width:0;width:100%}.breadcrumbs{align-items:center;color:#6b7890;display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.breadcrumbs svg{height:14px;width:14px}.breadcrumbs a{align-items:center;color:#5578b8;display:inline-flex;gap:4px}.page-title{align-items:center;background:#fff;border:1px solid #dde5f0;border-radius:8px;display:flex;gap:12px;padding:16px}.page-title svg{color:#2867c8;height:24px;width:24px}.page-title h1{font-size:24px;letter-spacing:0;line-height:1.2;margin:0 0 4px}.page-title p{color:#6b7890;margin:0}.page-card-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.page-card{background:#fff;border:1px solid #dde5f0;border-radius:8px;display:grid;gap:8px;padding:14px}.page-card:hover{border-color:#5578b8}.page-card span{color:#6b7890;font-size:13px}.workflow-step span{color:#5578b8;display:block;font-size:12px;font-weight:700}.workflow-step strong{display:block;font-size:13px;margin-top:4px}.module-section{margin-top:28px}.module-heading{align-items:center;display:flex;gap:10px;margin-bottom:12px}.module-heading h2{font-size:20px;line-height:1.2;margin:0}.module-heading p{color:#6b7890;margin:3px 0 0}.resource-grid,.crud-page{display:grid;gap:14px}.resource-panel{background:#fff;border:1px solid #dde5f0;border-radius:8px;overflow:hidden}.resource-heading{align-items:flex-start;border-bottom:1px solid #e6ecf5;display:flex;justify-content:space-between;gap:16px;padding:14px}.resource-heading h3{font-size:16px;margin:3px 0}.resource-heading p:not(.eyebrow){color:#6b7890;margin:0}.resource-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.resource-toolbar button,.import-button{background:linear-gradient(#fff,#eaf2fb);border-color:#b9c8dc;border-radius:4px;font-size:13px;min-height:30px;padding:0 10px}.import-button{align-items:center;border:1px solid #b9c8dc;color:#17233a;cursor:pointer;display:inline-flex}.import-button input{display:none}.crud-form{border-bottom:1px solid #e6ecf5;display:grid;gap:12px;padding:14px}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.form-grid label{display:grid;gap:5px}.form-grid span{color:#526078;font-size:12px;font-weight:700}.field-meta{color:#7a879b;font-size:11px;line-height:1.35}.form-grid input{border:1px solid #c9d4e5;border-radius:6px;color:#17233a;font:inherit;min-height:34px;padding:6px 9px}.form-grid input:disabled{background:#f4f7fb;color:#7a879b}.form-grid input:focus{border-color:#5578b8;outline:none}.form-actions{display:flex;flex-wrap:wrap;gap:8px}.resource-operation-log{align-items:center;background:#f8fafd;border-bottom:1px solid #e6ecf5;color:#244a83;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;padding:10px 14px}.resource-operation-log strong{color:#173b70}.resource-operation-log em{color:#276738;font-style:normal}.resource-operation-log a{border:1px solid #c9d4e5;border-radius:6px;padding:4px 8px}.old-erp-history-search{background:#f8fafd;border-bottom:1px solid #e6ecf5;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:10px 14px}.old-erp-history-search label{display:grid;gap:4px}.old-erp-history-search span{color:#526078;font-size:12px;font-weight:700}.old-erp-history-search input{border:1px solid #c9d4e5;border-radius:4px;color:#17233a;font:inherit;min-height:28px;padding:4px 7px}.old-erp-history-search-actions,.resource-pagination{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px}.resource-pagination{border-top:1px solid #e6ecf5;justify-content:flex-end;padding:8px 14px}.legacy-pagination-bar{align-items:center;background:#f8fbff;border:1px solid #d7e1ef;display:flex;flex-wrap:wrap;gap:8px;padding:6px 10px}.legacy-pagination-jump{align-items:center;display:inline-flex;gap:4px}.legacy-pagination-jump input{border:1px solid #b8c8df;border-radius:3px;color:#17233a;font:inherit;height:26px;padding:2px 6px;width:68px}.table-wrap{overflow-x:auto}.resource-table-wrap{max-height:min(620px,calc(100vh - 320px));overflow:auto;overscroll-behavior:contain}.production-readiness-details{background:#fbfcff;border-top:1px solid #e2e8f3;padding:10px 14px 14px}.production-readiness-details>div:first-child{align-items:center;display:flex;gap:10px;margin-bottom:8px}.production-readiness-details strong{color:#173b70}.production-readiness-details span{color:#5f6f88}.production-readiness-details .table-wrap{max-height:220px;overflow:auto}table{border-collapse:collapse;min-width:1120px;width:100%}th,td{border-bottom:1px solid #eef2f7;font-size:12px;padding:7px 9px;text-align:left;white-space:nowrap}th{background:#f8fafd;color:#526078;font-weight:700;position:sticky;top:0;z-index:1}th:first-child,td:first-child{background:#fff;left:0;position:sticky;z-index:2}th:first-child{background:#f8fafd;z-index:3}.resource-clickable-row{cursor:pointer}.resource-clickable-row:hover td{background:#f4f8ff}.resource-clickable-row:focus{outline:2px solid #6d92cf;outline-offset:-2px}.row-actions{display:flex;gap:6px}.row-actions button,.row-actions a{align-items:center;border:1px solid #c9d4e5;border-radius:6px;display:inline-flex;font-size:13px;min-height:28px;padding:0 8px}.row-actions a:hover{border-color:#5578b8}.legacy-richmax-page{display:grid;gap:0}.legacy-richmax-window{background:#f6f8fc;border:1px solid #b9c7da;min-height:720px}.legacy-toolbar{align-items:center;background:linear-gradient(#f8fbff,#e7eef8);border:0;border-bottom:1px solid #c9d4e5;border-radius:0;display:flex;flex-wrap:wrap;gap:6px;min-height:36px;padding:4px 8px}.legacy-toolbar button{background:linear-gradient(#fff,#eaf2fb);border-color:#b9c8dc;border-radius:4px;font-size:13px;min-height:30px;padding:0 10px}.legacy-toolbar button.is-disabled{cursor:not-allowed;opacity:.56}.legacy-action-log,.legacy-output-panel{background:#f8fafd;border:1px solid #dbe2ee;border-radius:6px;color:#244a83;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;padding:8px 10px}.legacy-output-panel{background:#f7fff7;border-color:#b9dfbf;color:#276738}.legacy-save-row{align-items:center;display:flex;gap:10px;justify-content:flex-end}.compact-toolbar input,.compact-toolbar select{border:1px solid #a9b9cf;color:#17233a;font:inherit;height:28px;min-width:180px;padding:3px 8px}.legacy-term-content-input{background:#fff;border:1px solid #b9c7dc;color:#17233a;font:inherit;min-height:72px;min-width:560px;padding:6px 8px;resize:vertical;width:100%}.legacy-row-status,.legacy-status-error{display:block;font-size:12px;margin-top:6px;white-space:nowrap}.legacy-row-status{color:#276738}.legacy-status-error{color:#9a2417}.legacy-inline-note{background:#fff8e5;border:1px solid #ead39b;color:#6d4b00;font-size:12px;margin:6px 0;padding:6px 8px}.legacy-generated-contract-row td{background:#eef5ff;color:#52637a}.legacy-generated-contract-row.trace-highlight-row td,.legacy-generated-contract-row.trace-highlight-row td:first-child{background:#fff8d7;color:#4b5563}.legacy-main-card{background:#fff;border:1px solid #cbd6e8;border-radius:0;display:grid;gap:10px;overflow:hidden;padding:10px}.legacy-list-card{align-content:start;border:0;gap:0;min-height:0;padding:0}.legacy-detail-shell{min-height:680px}.legacy-side-panel a.active,.legacy-side-panel a:hover{background:#fff;color:#0d4c93;font-weight:700}.legacy-detail-content{background:#fff;display:grid;align-content:start;gap:8px;min-width:0;padding:8px 10px 10px}.legacy-page-header{align-items:start;display:grid;gap:16px;grid-template-columns:1fr minmax(280px,420px)}.legacy-page-header.compact{display:block}.legacy-page-header h1{color:#1b2d4b;font-size:24px;letter-spacing:0;margin:4px 0;text-align:center}.legacy-page-header.compact h1{text-align:left}.legacy-page-header p{color:#6b7890;margin:0}.legacy-inline-page-actions{display:flex;justify-content:flex-end;margin:4px 0 8px}.legacy-inline-page-action{background:linear-gradient(#f8fbff,#dce9f8);border:1px solid #9db4d2;border-radius:3px;color:#153a67;cursor:pointer;font-size:12px;font-weight:700;min-height:28px;padding:4px 12px;white-space:nowrap}.right-side-code{display:grid;gap:6px}.right-side-code label,.legacy-field-grid label,.legacy-query-bar label{align-items:center;display:grid;gap:6px;grid-template-columns:92px minmax(0,1fr)}.right-side-code span,.legacy-field-grid span,.legacy-query-bar span{color:#17233a;font-size:13px;font-weight:700}.right-side-code input,.legacy-field-grid input,.legacy-query-bar input{background:#f7f9fd;border:1px solid #c4cfdf;color:#17233a;font:inherit;height:30px;min-width:0;padding:4px 8px}.legacy-field-grid input:disabled{background:#eef1f6;color:#667085;cursor:not-allowed}.legacy-tabs{align-items:end;border-bottom:1px solid #c9d4e5;display:flex;gap:2px}.legacy-tabs button,.legacy-tabs a{align-items:center;background:linear-gradient(#fdfdff,#e9f1f9);border-bottom:0;border-radius:5px 5px 0 0;color:#1b2d4b;display:inline-flex;font-size:13px;min-height:30px;padding:6px 12px;text-decoration:none}.legacy-tabs button.active,.legacy-tabs a.active{background:#fff3fb;border-color:#c9b4cd;font-weight:700}.legacy-field-grid{display:grid;gap:8px 12px;grid-template-columns:repeat(4,minmax(210px,1fr))}.legacy-table-panel{display:grid;gap:6px}.legacy-table-panel>strong{color:#1b2d4b;font-size:14px}.legacy-column-settings-bar{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.legacy-column-settings-actions{align-items:center;display:flex;gap:6px}.legacy-column-settings-bar button,.legacy-column-settings-bar summary{background:linear-gradient(#fdfdff,#e9f1f9);border:1px solid #b9c8df;border-radius:3px;color:#153a67;cursor:pointer;font-size:12px;font-weight:700;min-height:24px;padding:2px 8px}.legacy-column-settings-bar summary{list-style:none}.legacy-column-settings-bar summary::-webkit-details-marker{display:none}.legacy-column-settings-bar span{color:#64748b;font-size:12px}.legacy-column-settings-bar details{position:relative}.legacy-column-settings-menu{background:#fff;border:1px solid #b9c8df;box-shadow:0 12px 26px #0f172a29;display:grid;gap:2px;left:0;max-height:320px;min-width:220px;overflow:auto;padding:6px;position:absolute;top:28px;z-index:30}.legacy-column-settings-menu label{align-items:center;display:grid;gap:6px;grid-template-columns:16px minmax(0,1fr);min-height:24px;padding:2px 4px}.legacy-configurable-list .legacy-table-wrap{max-height:min(650px,calc(100vh - 220px))}.legacy-configurable-list-table{min-width:760px;width:max-content}.legacy-resizable-table{table-layout:fixed}.legacy-resizable-table th,.legacy-resizable-table td{box-sizing:border-box}.legacy-table-wrap{border:1px solid #cfd8e8;max-height:360px;overflow:auto}.legacy-detail-table,.legacy-sales-contract-table{min-width:1480px}.legacy-sales-contract-table th:nth-child(5),.legacy-sales-contract-table td:nth-child(5){max-width:210px;min-width:210px;width:210px}.legacy-follow-list .legacy-detail-table th:nth-child(10),.legacy-follow-list .legacy-detail-table td:nth-child(10){max-width:190px;min-width:190px;width:190px}.legacy-sales-contract-table td:nth-child(5),.legacy-follow-list .legacy-detail-table td:nth-child(10){white-space:normal}.legacy-purchase-contract-table th,.legacy-purchase-contract-table td{height:auto;line-height:1.35;overflow-wrap:anywhere;vertical-align:top;white-space:normal;word-break:break-word}.legacy-purchase-contract-table .legacy-row-link{overflow-wrap:anywhere;white-space:normal}.sales-contract-style-info,.follow-calc-style-info{color:#17233a}.sales-contract-style-info.truncated,.sales-contract-style-info.expanded,.follow-calc-style-info.truncated,.follow-calc-style-info.expanded{background:transparent;border:0;border-radius:0;cursor:pointer;display:block;font:inherit;max-width:100%;padding:0;text-align:left;width:100%}.sales-contract-style-info.truncated,.follow-calc-style-info.truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-contract-style-info.expanded,.follow-calc-style-info.expanded{line-height:1.45;white-space:normal;word-break:break-all}.legacy-detail-table th,.legacy-detail-table td{border:1px solid #dbe2ee;font-size:12px;height:28px;padding:4px 7px}.legacy-detail-table th{background:linear-gradient(#f8fbff,#e5edf8);color:#33435f}.legacy-print-preview-backdrop{align-items:flex-start;background:#484c549e;display:flex;justify-content:center;inset:0;overflow:auto;padding:24px;position:fixed;z-index:60}.legacy-print-preview-window{display:grid;gap:10px;justify-items:center;max-width:none;width:max-content}.legacy-print-preview-toolbar{align-items:center;background:linear-gradient(#f8fbff,#e7eef8);border:1px solid #b9c8dc;display:flex;justify-content:space-between;min-height:36px;padding:5px 10px}.legacy-print-preview-toolbar button{background:linear-gradient(#fff,#eaf2fb);border:1px solid #9fb3ce;border-radius:4px;color:#1b2d4b;font-size:13px;min-height:28px;padding:0 12px}.legacy-contract-paper{background:#fff;border:2px solid #9dbce4;box-sizing:border-box;box-shadow:0 10px 32px #11203a47;color:#111827;font-size:12px;margin:0 auto 24px;min-height:297mm;overflow:hidden;padding:14mm 10mm;width:210mm}.legacy-contract-paper h2{font-size:21px;letter-spacing:0;margin:0 0 18px;text-align:center}.legacy-print-contract-head{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(230px,280px);margin-bottom:16px}.legacy-print-contract-head p{align-items:end;display:grid;gap:8px;grid-template-columns:72px minmax(0,1fr);margin:6px 0}.legacy-print-contract-head strong{border-bottom:2px solid #3f3f46;font-weight:500;min-height:24px;padding:0 4px 2px}.legacy-print-contract-intro,.legacy-print-contract-subtitle,.legacy-print-contract-money,.legacy-print-contract-terms p{font-size:12px;margin:7px 0}.legacy-print-contract-table{border-collapse:collapse;min-width:0;table-layout:fixed;width:100%}.legacy-print-contract-table th,.legacy-print-contract-table td{border:1px solid #3f3f46;font-size:9px;line-height:1.25;min-height:24px;overflow-wrap:anywhere;padding:4px 2px;text-align:center;vertical-align:middle;word-break:break-all}.legacy-print-contract-table th{font-size:10px;font-weight:700}.legacy-print-contract-col-code{width:12%}.legacy-print-contract-col-name{width:18%}.legacy-print-contract-col-spec,.legacy-print-contract-col-width,.legacy-print-contract-col-delivery{width:8%}.legacy-print-contract-col-color{width:12%}.legacy-print-contract-col-instruction,.legacy-print-contract-col-price{width:6%}.legacy-print-contract-col-quantity{width:7%}.legacy-print-contract-col-unit{width:5%}.legacy-print-contract-col-amount{width:10%}.legacy-print-contract-total td{font-weight:700}.legacy-cost-sheet-query{grid-template-columns:220px 220px 120px 1fr}.legacy-cost-sheet-comparison{min-width:0}.legacy-cost-sheet-comparison .legacy-save-row{margin-bottom:8px}.legacy-cost-sheet-comparison-wrap{max-width:100%;overflow:auto}.legacy-cost-sheet-comparison-table{background:#fff;border-collapse:collapse;color:#111827;font-size:12px;line-height:1.2;min-width:1180px;table-layout:fixed;width:100%}.legacy-cost-sheet-comparison-table th,.legacy-cost-sheet-comparison-table td{border:1px solid #111827;height:26px;overflow-wrap:anywhere;padding:3px 5px;text-align:center;vertical-align:middle;white-space:normal;word-break:break-word}.legacy-cost-sheet-comparison-title-row th{font-size:18px;font-weight:700}.legacy-cost-sheet-comparison-spacer td{height:20px}.legacy-cost-sheet-comparison-section-row th{background:#f8fafc;font-weight:700}.legacy-cost-sheet-comparison-subtotal-row td{color:#00a000;font-weight:700}.legacy-cost-sheet-comparison-total-row td{color:#e00000;font-weight:700}.legacy-cost-sheet-comparison-table input{border:1px solid #9fb3ce;font-size:12px;height:22px;padding:1px 3px;text-align:center;width:100%}.legacy-cost-sheet-detail-editor{border-top:1px solid #d9e2ef;margin-top:12px;padding-top:8px}.legacy-cost-sheet-detail-editor summary{color:#174f9c;cursor:pointer;font-weight:700;margin-bottom:8px}.legacy-cost-sheet-table{min-width:0}.legacy-cost-sheet-table .legacy-table-wrap{display:block;max-width:100%;overflow-x:auto;overflow-y:auto}.legacy-cost-sheet-table .legacy-detail-table{min-width:1680px}.legacy-cost-sheet-table input{border:1px solid #b9c8dc;font-size:12px;height:24px;min-width:68px;padding:2px 4px;width:100%}.legacy-cost-sheet-table tfoot td{background:#f4f8ff;color:#d12d2d;font-weight:700}.legacy-toolbar-link{align-items:center;background:linear-gradient(#fff,#eaf2fb);border:1px solid #9fb3ce;border-radius:4px;color:#1b2d4b;display:inline-flex;font-size:13px;min-height:28px;padding:0 12px;text-decoration:none}.legacy-cost-sheet-paper{font-size:10px;padding:12mm 8mm}.legacy-cost-sheet-print-head{display:grid;font-size:10px;gap:5px 12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.legacy-cost-sheet-print-table{border-collapse:collapse;table-layout:fixed;width:100%}.legacy-cost-sheet-print-table th,.legacy-cost-sheet-print-table td{border:1px solid #3f3f46;font-size:8px;line-height:1.18;overflow-wrap:anywhere;padding:3px 2px;text-align:center;vertical-align:middle;word-break:break-all}.legacy-print-contract-terms{border-top:1px dashed #b7b7bd;margin-top:12px;padding-top:6px}@media print{@page{margin:0;size:A4}.legacy-print-preview-backdrop,.legacy-print-preview-window{background:#fff;display:block;overflow:visible;padding:0;position:static}.legacy-print-preview-toolbar{display:none}.legacy-contract-paper{border:0;box-shadow:none;margin:0;min-height:297mm;width:210mm}}.legacy-editable-material-table input,.legacy-editable-sales-style-table input{background:#fff;border:1px solid #b9c7dc;color:#17233a;font-size:12px;height:24px;min-width:96px;padding:3px 5px;width:100%}.free-text-select{min-width:112px;position:relative}.free-text-select-control{display:grid;grid-template-columns:minmax(72px,1fr) 24px}.free-text-select-control input{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;min-width:0}.free-text-select-control button{align-items:center;background:linear-gradient(#fff,#dce9f8);border:1px solid #9db4d2;border-bottom-left-radius:0;border-top-left-radius:0;color:#0f3158;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;padding:0}.free-text-select-menu{background:#1f1f1f;border-radius:4px;box-shadow:0 10px 24px #0f172a3d;display:grid;max-height:230px;min-width:max(100%,132px);overflow:auto;padding:4px 0;position:fixed;z-index:1000}.free-text-select-menu button{background:transparent;border:0;border-radius:0;color:#fff;display:block;font-size:12px;font-weight:700;padding:7px 12px;text-align:left;width:100%}.free-text-select-menu button:hover,.free-text-select-menu button.selected{background:#2f6fd5}.legacy-editable-material-table button,.legacy-editable-sales-style-table button{background:linear-gradient(#f8fbff,#dce9f8);border:1px solid #9db4d2;border-radius:3px;color:#153a67;cursor:pointer;font-size:12px;font-weight:700;padding:4px 8px;white-space:nowrap}.legacy-editable-material-table .supplier-import-row{grid-template-columns:minmax(96px,1fr) auto}.legacy-filter-row th{background:#f8fbff;padding:3px 4px;top:var(--ui-table-row-height);z-index:2}.legacy-filter-row input{border:1px solid #c4cfdf;color:#17233a;font-size:12px;height:24px;min-width:82px;padding:3px 5px;width:100%}.legacy-detail-table th:first-child,.legacy-detail-table td:first-child{box-shadow:2px 0 #dbe2ee}.legacy-query-bar{align-items:end;background:#f6f9fd;border:0;border-bottom:1px solid #cbd6e8;display:grid;gap:10px;grid-template-columns:260px 260px 220px 1fr;padding:8px 10px}.legacy-list-card .legacy-table-panel{padding:0 8px 8px}.legacy-list-card .legacy-table-wrap{max-height:min(620px,calc(100vh - 240px))}.legacy-tab-body{display:grid;gap:8px;min-width:0}.legacy-row-link{color:#0d4c93;font-weight:700;text-decoration:none}.legacy-row-link:hover{text-decoration:underline}.legacy-resizable-th{position:relative}.legacy-resizable-th-content{display:block;padding-right:8px}.legacy-column-resize-handle{bottom:0;cursor:col-resize;position:absolute;right:-3px;top:0;-webkit-user-select:none;user-select:none;width:7px;z-index:2}.legacy-column-resize-handle:after{background:transparent;bottom:5px;content:"";position:absolute;right:3px;top:5px;width:1px}.legacy-column-resize-handle:hover:after{background:#2f6fbd}.legacy-clickable-row{cursor:pointer}.legacy-clickable-row:hover td{background:#eef6ff}.legacy-clickable-row:focus-visible td{box-shadow:inset 0 0 0 2px #2e6fbf8c;outline:none}.legacy-radio-strip{align-items:center;display:flex;flex-wrap:wrap;gap:12px;min-height:30px}.legacy-query-bar .legacy-radio-option{align-items:center;display:inline-flex;gap:4px;grid-template-columns:none}.legacy-radio-option input{height:auto;margin:0;min-width:0;padding:0}.legacy-contract-query-bar{grid-template-columns:210px 210px 80px 1fr}.legacy-group-row td{background:#f2f4fb;color:#17233a;font-weight:700}.legacy-radio-strip span,.legacy-radio-strip button{color:#1b2d4b;font-size:13px}.legacy-selected-row td{background:#eff7ff}.boundary-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.boundary-card{background:#fff;border:1px solid #dde5f0;border-radius:8px;display:grid;gap:8px;padding:14px}.boundary-card span{color:#6b7890;font-size:13px}.status-row{align-items:center;background:#fff;border:1px solid #dde5f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px}.status-row strong{margin-right:4px}.status-row span{background:#eef4ff;border:1px solid #d7e4fb;border-radius:999px;color:#244a83;font-size:12px;padding:4px 8px}.review-summary{align-items:center;background:#fff;border:1px solid #dde5f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px}.review-summary span{background:#f4f7fb;border:1px solid #dde5f0;border-radius:999px;color:#526078;font-size:13px;padding:5px 9px}.workbench-summary{align-items:center;background:#fff;border:1px solid #dde5f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px}.workbench-summary span{background:#f4f7fb;border:1px solid #dde5f0;border-radius:999px;color:#526078;font-size:12px;padding:4px 8px}.workbench-table-wrap{max-height:680px}.workbench-table{min-width:2280px}.workbench-table td{vertical-align:top}.node-status,.node-dot,.compact-list span{border-radius:999px;display:inline-flex;font-size:11px;line-height:1.2;padding:4px 7px}.node-status{font-weight:700;text-decoration:none}.node-status-strip,.compact-list{display:flex;flex-wrap:wrap;gap:4px;max-width:440px}.node-dot{background:#f4f7fb;border:1px solid #dde5f0;color:#526078}.status-已完成{background:#e9f8ef;border:1px solid #bfe8cb;color:#1d6b38}.status-进行中,.status-可开始{background:#eef4ff;border:1px solid #c9dcff;color:#244a83}.status-待确认{background:#fff7e6;border:1px solid #f3d9a4;color:#7a4b00}.status-阻塞{background:#fff0f0;border:1px solid #f0b8b8;color:#9b1c1c}.compact-list span{background:#fff7e6;border:1px solid #f3d9a4;color:#7a4b00}.field-note{display:grid;gap:4px;max-width:360px;white-space:normal}.field-note strong{color:#113b7a}.field-note span,.field-note em{color:#526078;font-style:normal;line-height:1.35}.planning-section{background:#fff;border:1px solid #dde5f0;border-radius:8px;display:grid;gap:12px;padding:14px}.planning-section-wide{padding:10px}.compact-heading{align-items:center}.compact-heading p{font-size:12px}.compact-rules span{font-size:11px;padding:4px 7px}.planning-calibration-details{background:#fff;border:1px solid #dde5f0;border-radius:8px;padding:8px 10px}.planning-calibration-details summary{align-items:center;color:#244a83;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:8px}.planning-calibration-details summary svg{height:16px;width:16px}.planning-calibration-body{border-top:1px solid #eef2f7;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:8px;padding-top:8px}.planning-calibration-body strong{display:block;font-size:12px;margin-bottom:6px}.planning-section h2{align-items:center;display:inline-flex;gap:8px}.planning-section h2 svg{color:#2867c8;height:18px;width:18px}.manual-planning-panel{border:1px solid #e6ecf5;border-radius:6px;display:grid;gap:10px;padding:10px}.manual-planning-form{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(120px,1fr))}.manual-planning-form label,.manual-planning-preview{display:grid;gap:4px}.manual-planning-form span{color:#526078;font-size:11px;font-weight:700}.manual-planning-form input,.manual-planning-form select{border:1px solid #cfd8e6;border-radius:6px;font-size:12px;min-height:32px;padding:6px 8px}.manual-planning-form button{align-self:end;background:#173b70;border:0;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;min-height:32px;padding:6px 10px}.manual-planning-preview{background:#f8fafd;border:1px solid #dde5f0;border-radius:6px;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(120px,1fr));padding:8px}.manual-planning-queue{display:grid;gap:8px}.manual-planning-queue-body{border:1px solid #e6ecf5;border-radius:6px;display:grid;gap:8px;height:260px;overflow:auto;padding:8px}.manual-planning-queue-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.manual-planning-queue-head strong,.manual-planning-queue-head span{font-size:12px}.manual-planning-queue-head button{background:#1f5fa8;border:1px solid #1f5fa8;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:800;min-height:30px;padding:5px 12px;white-space:nowrap}.manual-planning-queue-head button:disabled{background:#d9e2ef;border-color:#c8d4e5;color:#74839a;cursor:not-allowed}.planning-save-status{background:#eef8f0;border:1px solid #bfe8cb;border-radius:6px;color:#1f6b39;font-size:12px;font-weight:700;padding:6px 8px}.planning-save-status.error{background:#fff0f0;border-color:#f0b8b8;color:#9b1c1c}.factory-master-panel{background:#fff;border:1px solid #d6e0ee;border-radius:8px;margin-top:12px;padding:12px}.factory-master-form-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.factory-master-form-grid label{color:#5e6b82;display:grid;font-size:12px;gap:4px}.factory-master-form-grid input{border:1px solid #b9c8dd;border-radius:4px;min-height:30px;padding:5px 8px}.factory-master-actions{display:flex;gap:8px;margin-top:10px}.factory-master-actions button,.factory-line-add-row button,.factory-directory-meta button{align-items:center;background:linear-gradient(#f8fbff,#e8f1fb);border:1px solid #a8bdd8;border-radius:4px;color:#13233d;cursor:pointer;display:inline-flex;gap:4px;justify-content:center;min-height:30px;padding:5px 10px}.factory-master-actions button:disabled,.factory-line-add-row button:disabled{color:#8c98aa;cursor:not-allowed;opacity:.7}.factory-directory-list{display:grid;gap:10px}.factory-directory-card{border:1px solid #ccd8e8;border-radius:6px;overflow:hidden}.factory-directory-head{align-items:center;background:#eaf2fb;border:0;color:#12213a;cursor:pointer;display:grid;gap:10px;grid-template-columns:24px minmax(180px,1fr) 120px 90px;min-height:36px;padding:6px 10px;text-align:left;width:100%}.factory-directory-head small,.factory-directory-head em{color:#506178;font-style:normal}.factory-directory-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px;padding:8px 10px}.factory-directory-meta span{color:#4e5e75}.factory-line-panel{border-top:1px solid #d8e2f0;display:grid;gap:10px;padding:10px}.factory-line-add-row{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.factory-line-add-row button svg{height:14px;width:14px}.factory-line-table-wrap{max-height:260px;overflow:auto}.draggable-planning-row{cursor:grab}.candidate-row{cursor:pointer}.selected-candidate-row td:first-child{box-shadow:inset 4px 0 #2867c8}.manual-planning-preview strong,.manual-planning-preview span{font-size:12px}.planning-table{min-width:2200px}.sortable-table-head{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-weight:800;gap:6px;justify-content:space-between;min-width:100%;padding:0;text-align:left}.sortable-table-head span:last-child{color:#58708f;font-size:10px}.factory-production-wrap{border:1px solid #e6ecf5;border-radius:6px;max-height:520px}.planning-hierarchy-tabs{border:1px solid #e6ecf5;border-radius:6px;display:grid;gap:8px;padding:8px}.factory-tab-row,.line-tab-row{display:flex;flex-wrap:wrap;gap:6px}.factory-tab,.line-tab{align-items:center;background:#fff;border:1px solid #cfd8e6;border-radius:6px;color:#20304a;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;min-height:30px;padding:5px 9px}.factory-tab span,.line-tab span{color:#6b7890;font-size:11px;font-weight:600}.factory-tab.active,.line-tab.active{background:#eef4ff;border-color:#8fb4ee;color:#113b7a}.factory-production-table{min-width:2780px}.factory-production-table th,.factory-production-table td{font-size:11px;line-height:1.35;overflow-wrap:anywhere;padding:6px 7px;white-space:normal;word-break:break-word}.factory-production-table td{vertical-align:top}.planning-cell-input{background:#fff;border:1px solid #b9c8df;border-radius:3px;color:#10213d;field-sizing:content;font:inherit;line-height:1.35;min-height:28px;min-width:0;overflow-wrap:anywhere;resize:vertical;padding:3px 4px;white-space:pre-wrap;width:100%;word-break:break-word}.planning-cell-input:focus{border-color:#4f83d1;box-shadow:0 0 0 2px #4f83d124;outline:none}.draggable-production-row{cursor:grab}.locked-production-row td{color:#6b7890}.factory-production-table th:first-child,.factory-production-table td:first-child{min-width:92px;width:92px}.factory-production-table th:nth-child(2),.factory-production-table td:nth-child(2){background:#fff;left:92px;min-width:100px;position:sticky;width:100px;z-index:2}.factory-production-table th:nth-child(2){background:#f8fafd;z-index:3}.factory-production-table th:nth-child(3),.factory-production-table td:nth-child(3){background:#fff;left:192px;min-width:128px;position:sticky;width:128px;z-index:2}.factory-production-table th:nth-child(3){background:#f8fafd;z-index:3}.factory-production-table th:nth-child(n+9):nth-child(-n+19),.factory-production-table td:nth-child(n+9):nth-child(-n+19){background:#fffde8}.factory-production-table th:nth-child(n+20),.factory-production-table td:nth-child(n+20){background:#fbfcff}.unknown-cell{color:#7a4b00;font-style:italic}.risk-row-high td:first-child{box-shadow:inset 4px 0 #d64545}.risk-row-medium td:first-child{box-shadow:inset 4px 0 #d79024}.risk-row-low td:first-child{box-shadow:inset 4px 0 #2f9e55}.planning-grid{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,2fr) minmax(320px,.7fr)}.factory-board-list,.factory-lines{display:grid;gap:10px}.factory-board{border:1px solid #e6ecf5;border-radius:8px;display:grid;gap:8px;padding:8px}.factory-board h3{font-size:15px;margin:0}.dense-factory-board{border-radius:6px}.factory-board-heading{align-items:center;display:flex;gap:10px;justify-content:space-between}.factory-board-heading span{color:#6b7890;font-size:12px}.factory-rules,.planning-rule-list,.planning-question-list{display:flex;flex-wrap:wrap;gap:6px}.factory-rules span,.planning-rule-list span,.planning-question-list span{background:#f4f7fb;border:1px solid #dde5f0;border-radius:999px;color:#526078;font-size:12px;padding:5px 8px}.factory-line{background:#f8fafd;border:1px solid #e6ecf5;border-radius:8px;display:grid;gap:8px;padding:10px}.dense-factory-line{border-radius:6px;gap:6px;padding:7px}.factory-line-head{align-items:center;display:flex;justify-content:space-between;gap:10px}.factory-line-head span,.empty-line{color:#6b7890;font-size:12px;margin:0}.factory-line-head a{border:1px solid #c9d4e5;border-radius:5px;color:#113b7a;font-size:12px;font-weight:700;padding:4px 7px;text-decoration:none}.schedule-item{background:#fff;border:1px solid #dde5f0;border-left-width:4px;border-radius:6px;display:grid;gap:3px;padding:8px}.schedule-item strong,.schedule-item span,.schedule-item em{font-size:12px}.schedule-item em{color:#6b7890;font-style:normal}.risk-chip{border-radius:999px;display:inline-flex;font-size:11px;line-height:1.35;max-width:280px;padding:4px 7px;white-space:normal}.risk-high,.risk-border-high{border-color:#f0b8b8;color:#9b1c1c}.risk-high{background:#fff0f0}.risk-medium,.risk-border-medium{border-color:#f3d9a4;color:#7a4b00}.risk-medium{background:#fff7e6}.risk-low,.risk-border-low{border-color:#bfe8cb;color:#1d6b38}.risk-low{background:#e9f8ef}.readiness-已齐,.planning-可排产{background:#e9f8ef;border:1px solid #bfe8cb;color:#1d6b38}.readiness-未齐,.planning-缺料,.planning-缺资料{background:#fff0f0;border:1px solid #f0b8b8;color:#9b1c1c}.readiness-待确认,.planning-待确认{background:#fff7e6;border:1px solid #f3d9a4;color:#7a4b00}.planning-subtitle{font-size:14px;margin:4px 0 0}.review-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.review-card{background:#fff;border:1px solid #dde5f0;border-radius:8px;display:grid;gap:12px;padding:14px}.review-card-head{align-items:flex-start;display:flex;gap:10px}.review-card-head>span{background:#eef4ff;border:1px solid #d7e4fb;border-radius:999px;color:#244a83;font-size:12px;font-weight:700;padding:4px 8px}.review-card h2{font-size:16px;margin:0}.review-card p{color:#6b7890;font-size:12px;margin:3px 0 0}.review-metrics,.review-pending{display:flex;flex-wrap:wrap;gap:6px}.review-metrics span,.review-pending span{border-radius:999px;font-size:12px;padding:4px 8px}.review-metrics span{background:#f4f7fb;border:1px solid #dde5f0;color:#526078}.review-pending span{background:#fff7e6;border:1px solid #f3d9a4;color:#7a4b00}.review-summary-fields{display:grid;gap:7px;margin:0}.review-summary-fields div{display:grid;gap:2px}.review-summary-fields dt{color:#526078;font-size:12px;font-weight:700}.review-summary-fields dd{color:#17233a;font-size:13px;margin:0}.review-detail-link{align-items:center;border:1px solid #c9d4e5;border-radius:6px;color:#113b7a;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;min-height:32px;text-decoration:none}.review-feedback{border-top:1px solid #eef2f7;display:grid;gap:8px;padding-top:10px}.review-feedback label{display:grid;gap:4px}.review-feedback span{color:#526078;font-size:12px;font-weight:700}.review-feedback textarea{border:1px solid #c9d4e5;border-radius:6px;color:#17233a;font:inherit;min-height:52px;padding:7px 9px;resize:vertical}.placeholder-panel,.detail-layout,.action-panel,.business-form-panel,.garment-legacy-details,.flow-link-panel{background:#fff;border:1px solid #dde5f0;border-radius:8px;padding:16px}.detail-toolbar,.detail-action-log{background:#fff;border:1px solid #dde5f0;border-radius:8px;padding:10px 12px}.detail-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.detail-toolbar button{background:linear-gradient(#fff,#eaf2fb);border-color:#b9c8dc;border-radius:4px;font-size:13px;min-height:30px;padding:0 10px}.detail-action-log{display:grid;gap:10px}.detail-action-log strong{color:#173b70;display:block;font-size:13px;margin-bottom:8px}.detail-output-table{min-width:0}.detail-output-table a{color:#113b7a;font-weight:700;text-decoration:none}.placeholder-panel p,.detail-layout p,.action-panel p{color:#6b7890}.record-meta{font-size:13px;margin:12px 0 0}.placeholder-panel a{color:#113b7a;font-weight:700}.detail-layout{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.detail-layout h2{font-size:16px;margin:0 0 8px}.panel-heading-row{align-items:flex-start;display:flex;justify-content:space-between;gap:16px}.panel-heading-row h2,.flow-link-panel h2,.business-form-panel h2{font-size:16px;margin:0 0 4px}.panel-heading-row p,.business-form-panel p{color:#6b7890;margin:0}.garment-legacy-details{display:grid;gap:14px}.garment-detail-counts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.garment-detail-counts span{background:#eef4fb;border:1px solid #cdd9ea;border-radius:4px;color:#14345f;font-size:12px;font-weight:700;padding:4px 7px;white-space:nowrap}.garment-material-section{display:grid;gap:6px}.garment-material-heading{align-items:center;display:flex;gap:10px}.garment-material-heading strong{color:#173b70;font-size:14px}.garment-material-heading span{color:#6b7890;font-size:12px}.garment-material-table-wrap{border:1px solid #c9d4e5;max-height:260px;overflow:auto}.garment-material-table-wrap table{min-width:1180px}.garment-material-table-wrap th,.garment-material-table-wrap td{font-size:12px;height:28px;max-width:180px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.garment-material-table-wrap th{background:linear-gradient(#edf3fb,#dfe8f5);color:#183457}.garment-raw-field-table-wrap{border:1px solid #c9d4e5;max-height:320px;overflow:auto}.garment-raw-field-table-wrap table{min-width:720px}.garment-raw-field-table-wrap th,.garment-raw-field-table-wrap td{font-size:12px;padding:5px 7px;vertical-align:top}.garment-raw-field-table-wrap th{background:linear-gradient(#edf3fb,#dfe8f5);color:#183457}.garment-raw-field-table-wrap td:first-child{color:#526078;font-weight:700;width:220px}.detail-form{border-bottom:0;padding:14px 0 0}.field-list{display:flex;flex-wrap:wrap;gap:8px}.field-list span,.field-list a{background:#f4f7fb;border:1px solid #dde5f0;border-radius:999px;color:#23314a;font-size:13px;padding:5px 9px;text-decoration:none}.field-list a:hover{border-color:#5578b8}.status-stack{display:flex;flex-wrap:wrap;gap:8px}.status-chip,.pending-chip,.quiet-chip{border-radius:999px;font-size:13px;padding:5px 10px}.status-chip{background:#eef4ff;border:1px solid #d7e4fb;color:#244a83;font-weight:700}.pending-chip{background:#fff7e6;border:1px solid #f3d9a4;color:#7a4b00}.quiet-chip{background:#f4f7fb;border:1px solid #dde5f0;color:#526078}.flow-link-panel{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.gantt-page{gap:14px}.gantt-controls{background:#fff;border:1px solid #dde5f0;border-radius:8px;display:grid;gap:8px;padding:10px 12px}.gantt-view-switch{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.gantt-view-switch a,.gantt-view-switch span{border:1px solid #dde5f0;border-radius:999px;color:#526078;font-size:12px;padding:5px 9px;text-decoration:none}.gantt-view-switch a.active{background:#eef4ff;border-color:#c7d9f7;color:#244a83;font-weight:700}.gantt-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.gantt-status-chip{background:#f4f7fb;border:1px solid #dde5f0;border-radius:999px;color:#526078;font-size:12px;padding:5px 9px}.gantt-board{background:#fff;border:1px solid #dde5f0;border-radius:8px;overflow-x:auto}.gantt-timescale{border-bottom:1px solid #e6ecf5;color:#526078;display:grid;font-size:12px;font-weight:700;grid-template-columns:190px repeat(5,minmax(160px,1fr)) 260px;min-width:1250px}.gantt-timescale span{border-left:1px solid #eef2f7;padding:9px 10px}.gantt-timescale span:first-child{grid-column-start:2}.gantt-row{border-bottom:1px solid #eef2f7;display:grid;grid-template-columns:190px minmax(800px,1fr) 260px;min-height:calc(28px + var(--track-count, 1) * 30px);min-width:1250px}.gantt-row:last-child{border-bottom:0}.gantt-row-label{background:#fbfcff;border-right:1px solid #e6ecf5;display:grid;gap:2px;padding:9px 10px}.gantt-row-label a{color:#173b70;font-size:13px;font-weight:700;text-decoration:none}.gantt-row-label small{color:#526078;font-size:12px}.gantt-track{background-image:linear-gradient(to right,#eef2f7 1px,transparent 1px);background-size:20% 100%;min-height:calc(28px + var(--track-count, 1) * 30px);position:relative}.gantt-task{align-items:center;border:1px solid #b9c8dc;border-radius:5px;color:#17233a;display:inline-flex;font-size:11px;font-weight:700;height:24px;min-height:0;min-width:0;overflow:hidden;padding:0 6px;position:absolute;white-space:nowrap}.gantt-task.compact-gantt-task{border-radius:999px;justify-content:center;min-width:0;padding:0}.gantt-task span{overflow:hidden;text-overflow:ellipsis}.gantt-risk{border-left:1px solid #e6ecf5;color:#7a4b00;display:grid;font-size:12px;gap:4px;padding:8px 10px}.gantt-risk span{background:#fff7e6;border:1px solid #f3d9a4;border-radius:5px;padding:4px 6px}.gantt-task-detail{background:#fff;border:1px solid #dde5f0;border-radius:8px;box-shadow:0 18px 40px #1733572e;display:grid;gap:10px;padding:12px}.floating-gantt-task-detail{max-height:min(460px,calc(100vh - 120px));overflow:auto;position:fixed;right:24px;top:96px;width:min(420px,calc(100vw - 48px));z-index:20}.gantt-task-detail>div:first-child{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.gantt-task-detail strong{color:#173b70;font-size:15px}.gantt-task-detail dl{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}.gantt-task-detail dt{color:#526078;font-size:12px;font-weight:700}.gantt-task-detail dd{color:#17233a;font-size:13px;margin:2px 0 0}.gantt-task-detail a{border:1px solid #c9d4e5;border-radius:6px;color:#113b7a;font-size:13px;font-weight:700;justify-self:start;padding:6px 10px;text-decoration:none}.status-已完成{background:#ecf8ef;border-color:#b9dfbf;color:#276738}.status-进行中{background:#eef4ff;border-color:#c7d9f7;color:#244a83}.status-可开始{background:#f2fbff;border-color:#bfe1ee;color:#1e6175}.status-待开始{background:#f7f8fb;border-color:#d8dee9;color:#526078}.status-待确认{background:#fff7e6;border-color:#f3d9a4;color:#7a4b00}.status-阻塞,.status-延期{background:#fff1f1;border-color:#efb8b8;color:#8b2323}.action-panel{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.action-panel a{color:#113b7a;font-weight:700;text-decoration:none}.stylebook-import-page{background:#f7f9fc;display:grid;gap:18px;min-height:calc(100vh - 72px);padding:18px}.stylebook-import-actions{display:flex;justify-content:flex-start}.stylebook-import-actions button,.stylebook-submit-row button{background:#123b73;border:1px solid #123b73;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;min-height:36px;padding:8px 16px}.stylebook-submit-row button:disabled{background:#d8dee9;border-color:#d8dee9;color:#687386;cursor:not-allowed}.stylebook-dropzone{align-items:center;background:#fff;border:2px dashed #9bb7d9;border-radius:8px;color:#16345f;cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:360px;text-align:center}.stylebook-dropzone strong{font-size:22px}.stylebook-dropzone span{color:#526078;font-size:14px}.stylebook-file-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:760px}.stylebook-file-list span{background:#eef4ff;border:1px solid #c8d8f0;border-radius:999px;color:#16345f;padding:6px 10px}.stylebook-submit-row{display:flex;justify-content:center}.requirement-review-page{gap:16px}.requirement-upload-card,.requirement-review-card{background:#fff;border:1px solid #dbe4f0;border-radius:8px;box-shadow:0 10px 26px #1e36580f;padding:16px}.requirement-upload-card strong,.requirement-review-card h2{color:#12345c;margin:0 0 12px}.requirement-review-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.requirement-review-fields{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.requirement-review-fields div,.requirement-review-fields label{background:#f7f9fc;border:1px solid #e1e8f2;border-radius:6px;display:block;min-height:54px;padding:8px}.requirement-review-fields dt{color:#627088;font-size:12px;font-weight:700}.requirement-review-fields dd{color:#102a4c;font-size:13px;font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}.requirement-review-fields label span{color:#627088;display:block;font-size:12px;font-weight:700}.requirement-review-fields label input,.editable-dense-table input{background:#fff;border:1px solid #c8d7eb;border-radius:4px;color:#102a4c;font-size:13px;font-weight:700;margin-top:4px;padding:6px 7px;width:100%}.requirement-review-edit-form{display:grid;gap:10px}.review-audit-row{align-items:center;color:#627088;display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.review-audit-row button,.editable-dense-table button{background:#173b68;border:0;border-radius:4px;color:#fff;cursor:pointer;font-weight:800;padding:6px 10px}.linked-rows-panel,.follow-calc-workbench{display:grid;gap:12px}.follow-calc-context{align-items:center;background:#f7f9fc;border:1px solid #dbe4f0;border-radius:6px;display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px}.follow-calc-context strong{color:#12345c}.follow-calc-context span{color:#314a6f;font-size:13px;font-weight:700}.master-import-panel{background:#f8fbff;border:1px solid #d6e2f1;border-radius:6px;display:block;overflow:hidden;padding:10px}.master-import-panel>*+*{margin-top:10px}.master-import-summary{align-items:center;color:#12345c;cursor:pointer;display:flex;font-size:14px;font-weight:800;justify-content:space-between;list-style:none}.master-import-summary::-webkit-details-marker{display:none}.master-import-summary:after{background:#e7f0ff;border:1px solid #c8d7eb;border-radius:999px;color:#285b9d;content:"展开搜索导入";font-size:12px;font-weight:800;padding:4px 9px}.master-import-panel[open] .master-import-summary:after{content:"收起"}.master-import-head{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(220px,360px);overflow:hidden}.master-import-head strong{color:#12345c;display:block;font-size:14px;margin-bottom:3px}.master-import-head span{color:#627088;display:block;font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.master-import-head input{border:1px solid #c8d7eb;border-radius:4px;color:#102a4c;font-size:13px;padding:7px 9px;width:100%}.master-import-search-box{display:grid;gap:5px}.master-import-search-box span{color:#34537a;font-size:12px;font-weight:800}.master-import-results{display:block;inline-size:100%;max-height:min(420px,calc(100vh - 360px));max-inline-size:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.master-import-results .dense-data-table,.master-import-results .legacy-detail-table{min-width:1280px}.master-import-empty{color:#667085;font-weight:800}.master-import-results button{background:#173b68;border:0;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:800;padding:5px 8px;white-space:nowrap}.linked-row-create-form{background:#f8fbff;border:1px solid #dbe4f0;border-radius:6px;display:grid;gap:10px;padding:10px}.linked-row-inputs{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(120px,1fr))}.linked-row-inputs label span{color:#627088;display:block;font-size:12px;font-weight:700}.linked-row-inputs input{border:1px solid #c8d7eb;border-radius:4px;color:#102a4c;margin-top:4px;padding:6px 7px;width:100%}.supplier-import-cell{min-width:220px;position:relative}.supplier-import-row{align-items:center;display:grid;gap:5px;grid-template-columns:minmax(120px,1fr) auto}.supplier-import-button{font-size:12px;padding:6px 8px;white-space:nowrap}.supplier-picker-popover{background:#fff;border:1px solid #bfd0e8;border-radius:6px;box-shadow:0 12px 28px #102a4c2e;display:grid;gap:4px;max-height:220px;min-width:260px;overflow:auto;padding:6px;position:fixed;z-index:1000}.supplier-picker-search{display:grid;gap:4px;padding:2px 2px 6px}.supplier-picker-search span{color:#39546f;font-size:12px;font-weight:800}.supplier-picker-search input{border:1px solid #c8d7eb;border-radius:4px;color:#102a4c;padding:6px 7px}.supplier-picker-option{background:#f8fbff;border:1px solid #dbe4f0;border-radius:4px;color:#12345c;display:grid;gap:2px;padding:7px 8px;text-align:left}.supplier-picker-option strong,.supplier-picker-option span{overflow:hidden;text-overflow:ellipsis}.supplier-picker-empty{color:#667085;font-size:12px;font-weight:800;padding:8px}.editable-dense-table .free-text-select-control button,.legacy-editable-material-table .free-text-select-control button{background:linear-gradient(#fff,#dce9f8);border:1px solid #9db4d2;border-bottom-left-radius:0;border-top-left-radius:0;color:#0f3158;height:24px;padding:0}.editable-dense-table .free-text-select-menu button,.legacy-editable-material-table .free-text-select-menu button{background:transparent;border:0;border-radius:0;color:#fff;font-size:12px;font-weight:700;padding:7px 12px;text-align:left}.editable-dense-table .free-text-select-menu button:hover,.editable-dense-table .free-text-select-menu button.selected,.legacy-editable-material-table .free-text-select-menu button:hover,.legacy-editable-material-table .free-text-select-menu button.selected{background:#2f6fd5}.linked-row-create-form button{justify-self:start}.detail-return-row{align-items:center;display:flex;gap:10px;justify-content:flex-start}.inline-primary-action{background:#173b68;border:0;border-radius:5px;color:#fff;cursor:pointer;font-weight:800;padding:7px 12px}.table-action-link{color:#1d5fbf;font-weight:800;text-decoration:none}.table-action-link:hover{text-decoration:underline}.dense-table-wrap{max-height:min(560px,calc(100vh - 260px));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.customer-order-preview-table-wrap{max-height:min(640px,calc(100vh - 320px));overflow-y:auto}.linked-rows-panel .dense-table-wrap{max-height:min(320px,calc(100vh - 420px));min-height:126px}.dense-data-table{border-collapse:collapse;font-size:12px;min-width:980px;width:100%}.dense-data-table th,.dense-data-table td{border:1px solid #d9e2ef;color:#152b4b;padding:7px 8px;text-align:left;white-space:nowrap}.dense-data-table th{background:#eef4fb;color:#314a6f;font-weight:800}.inventory-ledger-layout{display:grid;gap:10px}.inventory-ledger-factory-bar{align-items:center;background:#f8fbff;border:1px solid #dce6f3;border-radius:8px;display:flex;gap:8px;overflow-x:auto;padding:8px}.inventory-ledger-factory-bar button{align-items:center;background:linear-gradient(#fff,#eef4fb);border:1px solid #b9cbe2;border-radius:6px;color:#173b70;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;gap:8px;min-height:30px;padding:5px 10px}.inventory-ledger-factory-bar button.active{background:#1f5fa8;border-color:#1f5fa8;color:#fff}.inventory-ledger-factory-bar button span{color:inherit;font-size:11px;font-weight:700;opacity:.8}.inventory-ledger-panel{background:#fff;border:1px solid #dce6f3;border-radius:8px;display:grid;gap:8px;min-width:0;padding:10px}.inventory-summary-wrap{max-height:min(430px,calc(100vh - 390px));overflow:auto}.inventory-detail-wrap{max-height:min(300px,calc(100vh - 520px));min-height:150px;overflow:auto}.inventory-summary-table{min-width:1380px}.selected-ledger-row td{background:#e9f3ff;box-shadow:inset 0 1px #a9c9ef,inset 0 -1px #a9c9ef}.inventory-summary-table tbody tr{cursor:pointer}.inventory-summary-table tbody tr:hover td{background:#f4f9ff}.table-filter-row th{background:#f8fbff;padding:4px 6px;top:calc(var(--ui-table-row-height) + 6px);z-index:2}.table-wrap thead tr:first-child th{position:sticky;top:0;z-index:7}.table-wrap thead tr:nth-child(2) th{position:sticky;top:calc(var(--ui-table-row-height) + 6px);z-index:6}.legacy-table-wrap thead tr:nth-child(2) th{top:var(--ui-table-row-height)}.resource-table-head-row th,.legacy-table-head-row th{top:0;z-index:8}.resource-table-filter-row th{top:calc(var(--ui-table-row-height) + 6px);z-index:7}.legacy-table-filter-row th{top:var(--ui-table-row-height);z-index:7}.table-wrap thead tr:first-child th:first-child{z-index:10}.table-wrap thead tr:nth-child(2) th:first-child{z-index:9}.table-filter-row input{border:1px solid #c8d7eb;border-radius:4px;color:#143056;font-size:12px;min-width:96px;padding:5px 7px;width:100%}.visually-hidden{height:1px;margin:-1px;opacity:0;overflow:hidden;position:absolute;width:1px}.app-shell[data-ui-size=medium]{--ui-button-x: 14px;--ui-control-height: 38px;--ui-dense-table-min-width: 1120px;--ui-font-size: 15px;--ui-legacy-table-min-width: 1700px;--ui-main-padding: 32px;--ui-menu-font-size: 14px;--ui-page-title-size: 26px;--ui-production-table-min-width: 3180px;--ui-resource-table-min-width: 1280px;--ui-sidebar-width: 310px;--ui-small-font-size: 13px;--ui-table-cell-padding: 8px 10px;--ui-table-font-size: 13px;--ui-table-row-height: 32px}.app-shell[data-ui-size=large]{--ui-button-x: 16px;--ui-control-height: 42px;--ui-dense-table-min-width: 1260px;--ui-font-size: 16px;--ui-legacy-table-min-width: 1900px;--ui-main-padding: 36px;--ui-menu-font-size: 15px;--ui-page-title-size: 28px;--ui-production-table-min-width: 3560px;--ui-resource-table-min-width: 1460px;--ui-sidebar-width: 340px;--ui-small-font-size: 14px;--ui-table-cell-padding: 9px 11px;--ui-table-font-size: 14px;--ui-table-row-height: 36px}.ui-display-size-control{background:#f8fbff;border:1px solid #dce6f3;border-radius:8px;display:grid;gap:8px;margin:-10px 0 18px;padding:10px}.ui-display-size-control>span{color:#526078;font-size:var(--ui-small-font-size);font-weight:700}.ui-display-size-control div{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.ui-display-size-control button{border-radius:6px;font-size:var(--ui-small-font-size);font-weight:800;min-height:calc(var(--ui-control-height) - 6px);padding:0 6px}.ui-display-size-control button.active{background:#1f5fa8;border-color:#1f5fa8;color:#fff}.app-shell .brand span,.app-shell .save-status-banner,.app-shell .field-meta,.app-shell .factory-master-form-grid label,.app-shell .planning-save-status,.app-shell .table-filter-row input{font-size:var(--ui-small-font-size)}.app-shell .submenu a,.app-shell .legacy-toolbar button,.app-shell .legacy-toolbar-link,.app-shell .legacy-query-bar,.app-shell .legacy-context-link,.app-shell .factory-tab,.app-shell .line-tab,.app-shell .form-grid input,.app-shell .form-grid select,.app-shell .form-grid textarea,.app-shell .factory-master-form-grid input,.app-shell .planning-cell-input,.app-shell .requirement-review-fields label input,.app-shell .requirement-review-fields label textarea,.app-shell .master-import-form input,.app-shell .master-import-form select{font-size:var(--ui-menu-font-size)}.app-shell .page-title h1{font-size:var(--ui-page-title-size)}.app-shell .resource-table,.app-shell .dense-data-table,.app-shell .legacy-detail-table,.app-shell .factory-production-table,.app-shell .inventory-summary-table{font-size:var(--ui-table-font-size)}.app-shell .resource-table th,.app-shell .resource-table td,.app-shell .dense-data-table th,.app-shell .dense-data-table td,.app-shell .legacy-detail-table th,.app-shell .legacy-detail-table td,.app-shell .factory-production-table th,.app-shell .factory-production-table td,.app-shell .inventory-summary-table th,.app-shell .inventory-summary-table td{font-size:var(--ui-table-font-size);min-height:var(--ui-table-row-height);padding:var(--ui-table-cell-padding)}.app-shell .resource-table{min-width:var(--ui-resource-table-min-width)}.app-shell .dense-data-table{min-width:var(--ui-dense-table-min-width)}.app-shell .legacy-detail-table{min-width:var(--ui-legacy-table-min-width)}.app-shell .legacy-cost-sheet-table .legacy-detail-table{min-width:calc(var(--ui-legacy-table-min-width) + 220px)}.app-shell .planning-table{min-width:calc(var(--ui-resource-table-min-width) + 900px)}.app-shell .factory-production-table{min-width:var(--ui-production-table-min-width)}.app-shell .inventory-summary-table{min-width:calc(var(--ui-resource-table-min-width) + 260px)}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}main{padding:18px}.planning-grid,.planning-calibration-body,.requirement-review-grid{grid-template-columns:1fr}}
