*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#172033;font-family:Microsoft YaHei,Segoe UI,Arial,sans-serif}.login-shell{min-height:100vh;display:grid;place-items:center;background:#eef2f7;padding:24px}.login-card{width:min(420px,100%);border-radius:8px;box-shadow:0 18px 48px #10182824}.login-heading{margin-bottom:24px}.login-heading h3{margin-bottom:4px!important}.login-alert{margin-bottom:16px}.full-width{width:100%}.app-shell{min-height:100vh}.sidebar{background:#101828!important;color:#d0d5dd;padding:14px 10px}.brand{display:grid;gap:5px;padding:8px 8px 16px;border-bottom:1px solid #263244;margin-bottom:10px}.brand strong{color:#fff;font-size:18px}.brand span{color:#98a2b3;font-size:12px}.nav-item{padding:10px 11px;border-radius:6px;color:#cbd5e1;margin-bottom:4px;font-size:14px}.nav-button{display:block;width:100%;border:0;text-align:left;background:transparent;cursor:pointer;font-family:inherit}.nav-module{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-module .ant-tag{margin:0;font-size:11px;line-height:18px}.nav-item.active{background:#243145;color:#fff}.module-preview-card{border-radius:8px}.spreadsheet-page{display:grid;gap:12px}.spreadsheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.spreadsheet-heading h4{margin:0 0 4px!important}.spreadsheet-card .ant-table-cell{vertical-align:top}.spreadsheet-filterbar{align-items:center}.spreadsheet-filterbar .ant-input-search{max-width:360px}.spreadsheet-filterbar .ant-select{min-width:128px}.spreadsheet-meta{display:grid;gap:2px;color:#667085;font-size:12px;line-height:1.35}.module-preview-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.module-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.manus-workbench-content{display:flex;flex-direction:column;height:calc(100vh - 96px);padding-top:10px}.manus-topbar-hint{display:block;font-size:12px;line-height:1.45;color:#8a94a6!important}.manus-workbench-frame{width:100%;min-height:520px;flex:1 1 auto;border:1px solid #d0d5dd;border-radius:6px;background:#fff}.fabric-costing-page{padding:0;background:#f5f5f7}.costing-topnav{height:44px;display:flex;align-items:center;gap:14px;padding:0 16px;background:#f9f9fb;border-bottom:1px solid #e4e4e8}.costing-topnav strong{color:#4c46b0;margin-right:10px}.costing-topnav button{border:0;background:transparent;height:44px;cursor:pointer;color:#5a5a72}.costing-topnav button.active{color:#4c46b0;border-bottom:2px solid #4c46b0;font-weight:600}.costing-topnav .ant-btn{height:28px;border:1px solid #d0d0d6}.costing-user{margin-left:auto;font-size:12px;color:#5a5a72}.mini-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;background:#e24b4a;color:#fff;font-size:11px;margin-left:4px}.costing-tool{display:grid;grid-template-columns:minmax(0,3fr) minmax(380px,2fr);min-height:calc(100vh - 108px)}.required-mark{color:#d92d20;margin-right:4px;font-weight:800}.costing-left{border-right:1px solid #e4e4e8;padding:0 14px 20px;overflow-y:auto;max-height:calc(100vh - 108px)}.costing-right{background:#f9f9fb;padding:16px;overflow-y:auto;max-height:calc(100vh - 108px);display:flex;flex-direction:column;gap:12px}.costing-sticky-info{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;gap:12px;background:#4c46b0;color:#fff;padding:8px 14px;margin:0 -14px 12px;font-size:12px}.costing-field-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center;margin:0 0 12px;padding:9px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#344054;font-size:12px;line-height:1.35}.costing-field-legend span{display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:normal}.legend-swatch{width:16px;height:16px;border:1px solid;border-radius:4px;flex:0 0 auto}.legend-swatch.field-disabled{opacity:1}.costing-upload{display:flex;align-items:center;justify-content:space-between;gap:5px;border:1.5px dashed #f5c842;border-radius:8px;background:#fff8e6;padding:16px 18px;color:#7a5c00;margin-bottom:12px}.costing-upload>div{display:grid;gap:7px}.size-chart-status{color:#475467;font-weight:600}.costing-upload-input{display:none}.costing-left .ant-card{margin-bottom:12px;border-radius:8px}.costing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.costing-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.costing-field-wrap{display:grid;gap:4px;font-size:12px;color:#5a5a72;align-content:start}.costing-field-wrap.wide{grid-column:1 / -1}.field-required{background:#fff8e6!important;border-color:#f5c842!important;color:#7a5c00!important}.field-optional{background:#eef7f0!important;border-color:#52b86a!important;color:#1e6b33!important}.field-auto{background:#e8f3fd!important;border-color:#4a9ee0!important;color:#1a5a8a!important}.field-disabled,.field-disabled[disabled]{background:#f5f5f7!important;border-color:#d0d0d6!important;color:#9494a8!important;opacity:.45;cursor:not-allowed!important}.costing-field-wrap:has(.field-disabled),.costing-field-wrap:has(.ant-select-disabled){opacity:.68}.field-bom{background:#fff3e8!important;border-color:#e8883a!important;color:#7a3d00!important}.costing-help{min-height:30px;line-height:1.35;color:#8a90a0}.costing-size-groups{display:grid;gap:12px}.costing-size-group{display:grid;gap:8px;padding:10px;border:1px solid #edf0f5;border-radius:8px;background:#fbfcfe}.costing-size-group strong{color:#172033}.costing-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.costing-size-grid-4col,.costing-size-grid-3col,.costing-size-grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.ratio-input-wrap{display:inline-flex;align-items:center;gap:4px;color:#7a5c00}.ratio-input{width:64px;height:24px;padding:2px 6px;border:1px solid #f5c842;border-radius:6px;background:#fff8e6!important;border-color:#f5c842!important;color:#7a5c00!important}.ratio-input:focus{border-color:#d8a900!important;box-shadow:0 0 0 2px #f5c8422e;outline:none}.ratio-check{margin-top:8px;font-size:12px;font-weight:700}.ratio-check.ok{color:#188038}.ratio-check.warn{color:#d93025}.costing-validation-list{margin:8px 0 0;padding-left:20px;color:#b42318;font-weight:600}.size-chart-warnings{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.size-chart-style-confirm{display:grid;grid-template-columns:auto 180px 1fr;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;background:#f7f9ff;border:1px solid #d9e4ff;border-left:4px solid #2f6fed;border-radius:8px}.size-chart-row-warn td{background:#fffaf0!important}.size-chart-row-danger td{background:#fff1f0!important}.size-chart-empty{display:grid;gap:6px;padding:18px;border:1px dashed #d0d5dd;border-radius:8px;background:#fbfcfe;color:#475467}.size-chart-empty strong{color:#172033}.error-actions{display:flex;gap:8px;margin-top:16px}.costing-bottom-actions{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;background:#fff;border:1px solid #e4e4e8;border-radius:8px;padding:10px;margin:12px 0 0}.costing-summary{display:grid;gap:12px}.costing-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.costing-kpi-group{display:grid;gap:8px}.costing-kpi-title{font-size:12px;font-weight:700;color:#1a1a2e;padding:4px 8px;background:#eef4ff;border-left:4px solid #2f6fed;border-radius:6px}.costing-stat-card{background:#fff;border:.5px solid #e4e4e8;border-radius:6px;padding:10px 12px;text-align:center}.costing-stat-body{background:#f0f9f4;border-color:#a7d8b8;border-left:5px solid #2d9b64}.costing-stat-accessory{background:#fff7e8;border-color:#f3c77c;border-left:5px solid #d98a18}.costing-stat-tag{display:inline-block;margin-bottom:4px;padding:1px 6px;border-radius:999px;background:#ffffffc7;color:#475467;font-size:10px;font-weight:700}.costing-stat-wide{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;background:linear-gradient(90deg,#f1efff,#fff 70%);border:1px solid #c9c4ff;border-left:6px solid #4c46b0;text-align:left;padding:10px 16px}.costing-stat-wide .costing-stat-val{order:2;font-size:20px;white-space:nowrap}.costing-stat-wide .costing-stat-label{order:1;margin-top:0;font-size:12px;font-weight:700;color:#4c46b0}.costing-stat-val{font-size:18px;font-weight:600;color:#1a1a2e;line-height:1.2}.costing-stat-label{font-size:10px;color:#9494a8;margin-top:3px}.costing-stat-primary .costing-stat-val{color:#4c46b0}.costing-stat-blue .costing-stat-val{color:#1a5a8a}.costing-size-alert{margin-bottom:10px}.costing-right-save{position:sticky;bottom:0;background:linear-gradient(180deg,#f9f9fbdb,#fff);padding:12px 0 0;border-top:1px solid #d9d7f2;margin-top:auto}.costing-save-btn{width:100%;min-height:44px;padding:12px;background:linear-gradient(135deg,#4c46b0,#276ef1);color:#fff;border:none;border-radius:8px;box-shadow:0 8px 18px #4c46b03d;font-size:15px;font-weight:800;cursor:pointer}.costing-top-save-btn{min-width:136px;height:34px;font-weight:800;box-shadow:0 6px 14px #1677ff38}.costing-save-btn:disabled{opacity:.6;cursor:progress}.costing-record-detail{display:grid;gap:14px;padding:10px 12px;background:#fbfcfe}.record-review-toolbar{align-items:center;gap:10px}.record-review-toolbar .ant-input-search{flex:1 1 420px}.record-review-mode,.record-review-actions{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.record-review-actions{justify-content:flex-start;padding:8px 10px;border:1px solid #e4e7f3;border-radius:6px;background:#fff}.record-review-actions span,.record-review-mode span{font-size:12px}.record-expand-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7dce5;border-radius:50%;background:#fff;color:#172033;font-size:14px;line-height:1;cursor:pointer}.record-expand-icon:hover{border-color:#1677ff;color:#1677ff;background:#f4f8ff}.costing-save-confirm{display:grid;gap:10px}.costing-save-confirm ol{margin:0;padding-left:20px}.costing-save-confirm li{margin:4px 0;line-height:1.5}.rib-layout-warning{margin-bottom:10px}.record-version-picker{display:grid;gap:12px}.record-version-list{display:grid;gap:8px}.record-version-item{display:grid;grid-template-columns:72px 150px 120px minmax(160px,1fr) 120px 70px;align-items:center;gap:10px;width:100%;min-height:46px;padding:9px 12px;border:1px solid #e2e7f0;border-radius:6px;background:#fff;color:#172033;text-align:left;cursor:pointer}.record-version-item:hover{border-color:#1677ff;background:#f4f8ff}.record-version-item.is-current{border-color:#52c41a;background:#f6ffed}.record-version-item strong{color:#111827}.record-version-item span,.record-version-item b{overflow-wrap:anywhere}.record-version-item b{font-weight:700;color:#0f5c99}.record-version-item em{justify-self:start;padding:2px 6px;border-radius:4px;background:#e8f5de;color:#237804;font-size:12px;font-style:normal}.audit-usage-link-card{margin:10px 0 12px;border-color:#c7ddff;background:#f8fbff}.audit-usage-link-card .ant-card-body{padding:10px 12px}.audit-usage-link-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.audit-usage-link-head div{display:grid;gap:3px}.audit-usage-link-head strong{font-size:14px;color:#12315f}.audit-usage-link-head span{color:#5b677a;font-size:12px}.audit-usage-link-body{display:grid;grid-template-columns:180px 240px 220px minmax(260px,1fr);gap:8px;align-items:stretch}.audit-usage-link-metric,.audit-usage-link-select{display:grid;gap:4px;min-width:0;padding:8px 10px;border:1px solid #dfe8f7;border-radius:6px;background:#fff}.audit-usage-link-metric small,.audit-usage-link-select small{color:#6b7280;font-size:12px}.audit-usage-link-metric b{color:#0b4f8a;font-size:15px}.audit-usage-link-metric span{overflow-wrap:anywhere;color:#374151;font-size:12px}.costing-record-detail section{display:grid;gap:8px}.record-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.record-detail-grid span{display:grid;gap:3px;min-width:0;padding:7px 8px;border:1px solid #edf0f5;border-radius:6px;background:#fff}.record-detail-grid b{overflow-wrap:anywhere;font-weight:600}.costing-bridge-panel{border:1px solid #d8e6fb;background:#f8fbff;border-radius:8px;padding:12px;margin-bottom:14px}.costing-bridge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.costing-bridge-head strong{display:block;color:#102033;font-size:15px;margin-bottom:4px}.costing-bridge-head span{display:block;color:#64748b;font-size:12px;line-height:1.5}.costing-bridge-matrix{display:grid;grid-template-columns:112px repeat(3,minmax(0,1fr));border:1px solid #dfe7f2;border-radius:8px;overflow:hidden;background:#fff}.costing-bridge-cell{min-width:0;padding:10px 11px;border-right:1px solid #edf2f7;border-bottom:1px solid #edf2f7;line-height:1.35}.costing-bridge-cell:nth-child(4n){border-right:0}.costing-bridge-cell:nth-last-child(-n+4){border-bottom:0}.costing-bridge-header{background:#f1f6ff;color:#26384f;font-weight:700}.costing-bridge-label{background:#fbfdff;color:#52657c;font-weight:700}.costing-bridge-cell b{display:block;color:#102033;font-size:18px;margin-bottom:5px}.costing-bridge-cell span{display:block;color:#64748b;font-size:12px}.costing-bridge-cell em{display:inline-flex;margin-top:6px;border-radius:999px;background:#fff7e6;color:#ad6800;padding:2px 7px;font-size:12px;font-style:normal}.costing-history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.costing-history-summary span{display:grid;gap:4px;background:#fff;border:1px solid #e4e4e8;border-radius:6px;padding:8px 10px}.costing-diff-list{display:flex;flex-wrap:wrap;gap:8px}.costing-diff-list span{display:inline-flex;align-items:center;gap:6px;max-width:100%;background:#f7f9ff;border:1px solid #d9e4ff;border-left:4px solid #2f6fed;border-radius:6px;padding:6px 8px;color:#1a1a2e}.costing-diff-list em{color:#8a8a9f;font-style:normal;text-decoration:line-through}.costing-diff-list i{color:#4c46b0;font-style:normal}.costing-subtotal-row td{background:#f5f5f7!important;font-weight:600}.costing-total-row td{background:#eeedfc!important;color:#4c46b0!important;font-weight:700}.layout-mode-hint{display:grid;gap:2px;font-size:12px}.layout-badge{display:inline-block;width:fit-content;max-width:220px;background:#e8f3fd;color:#1a5a8a;border-radius:3px;padding:1px 6px;font-size:10px;line-height:1.35;white-space:normal}.costing-verify-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;background:#f9f9fb;border-bottom:1px solid #e4e4e8}.costing-verify-kpis .ant-card-body{display:grid;gap:4px}.costing-verify-kpis strong{font-size:24px}.topbar{min-height:64px;height:auto;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;gap:16px}.page-title{margin:0!important}.content{padding:14px 16px 16px}.kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.kpi-card{border-radius:8px}.kpi-card strong{display:block;margin-top:5px;font-size:24px;line-height:1.1}.kpi-card span{display:block;margin-top:4px;color:#667085;font-size:12px}.table-card{border-radius:8px;overflow:hidden}.material-library-page{display:grid;gap:10px}.material-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.material-toolbar-compact{justify-content:flex-end;margin-top:-2px}.material-toolbar h5{margin:0 0 2px}.material-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.material-kpis .ant-card-body{display:grid;gap:4px;padding:10px 12px}.material-kpis strong{font-size:20px}.material-filter-card .ant-card-body{padding:10px 12px}.material-note{margin:0}.material-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;border-radius:50%;background:#e8f1ff;color:#1d5fd0;font-size:11px;font-weight:700}.material-col-price{background:#fff7b8}.material-col-calc{background:#eef6ff;color:#174ea6;font-weight:650}.material-col-factory{background:#f8fbff}.material-selected-row td{box-shadow:inset 0 1px #1d5fd0,inset 0 -1px #1d5fd0}.material-rib-panel .ant-card-body{padding:12px}.material-rib-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.material-rib-grid span{display:grid;gap:3px;padding:8px;border:1px solid #e4e7ec;border-radius:6px;background:#fbfcfe}.material-rib-grid b{color:#667085;font-size:12px}.material-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.material-form-grid .span-2{grid-column:1 / -1}.material-calc-preview{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid #d8dee8;border-radius:8px;background:#f7fbff}.material-calc-preview span{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:5px;background:#fff}.material-calc-preview b{color:#174ea6}.material-workbench-page{gap:12px}.material-workbench-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 14px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.material-workbench-head strong{display:block;font-size:18px;color:#122033}.material-workbench-head span{display:block;margin-top:4px;color:#667085;font-size:12px;line-height:1.5}.material-actions{justify-content:flex-end}.material-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) minmax(130px,1fr) minmax(150px,1fr) minmax(130px,1fr) 86px 110px;gap:8px;align-items:center}.material-viewbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.material-view-tabs{display:flex;flex-wrap:wrap;gap:6px}.material-view-tabs button{min-height:30px;border:1px solid transparent;border-radius:6px;background:transparent;color:#344054;cursor:pointer;font:inherit;font-size:13px;padding:4px 10px}.material-view-tabs button:hover{border-color:#b7d5ff;background:#f4f8ff}.material-view-tabs button.active{border-color:#1677ff;background:#eaf3ff;color:#0958d9;font-weight:700}.material-section .ant-card-body{padding:0}.material-section-head,.material-section-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px}.material-section-head{border-bottom:1px solid #edf1f6}.material-section-head strong{display:block;color:#122033}.material-section-head span,.material-section-foot{color:#667085;font-size:12px}.material-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid #edf1f6;background:#fbfcfe;font-size:12px}.material-legend span{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:2px 8px;border:1px solid;border-radius:999px}.material-legend .manual{border-color:#d0d5dd;background:#fff;color:#344054}.material-legend .required{border-color:#ffc53d;background:#fff7e6;color:#874d00}.material-legend .calc{border-color:#91caff;background:#e6f4ff;color:#0958d9}.material-legend .price{border-color:#ffe58f;background:#fffbe6;color:#876800}.material-legend .rib{border-color:#d3adf7;background:#f9f0ff;color:#531dab}.material-legend .system{border-color:#d9d9d9;background:#f5f5f5;color:#595959}.material-main-table-card .ant-table-wrapper{border-radius:0}.material-field-input.ant-input,.material-field-input .ant-select-selector{min-width:70px;height:26px!important;border-color:#d7e0ea!important;border-radius:4px!important;background:#ffffffdb!important;font-size:12px}.material-readonly-cell{display:inline-block;min-width:42px}.material-title-required{color:#7a4b00;font-weight:800}.ant-table-wrapper .ant-table-thead>tr>th.material-col-supplier,.ant-table-wrapper .ant-table-tbody>tr>td.material-col-supplier{background:#fff}.ant-table-wrapper .ant-table-thead>tr>th.material-col-factory,.ant-table-wrapper .ant-table-tbody>tr>td.material-col-factory{background:#f8fbff}.ant-table-wrapper .ant-table-thead>tr>th.material-col-price,.ant-table-wrapper .ant-table-tbody>tr>td.material-col-price{background:#fff8b3}.ant-table-wrapper .ant-table-thead>tr>th.material-col-rib,.ant-table-wrapper .ant-table-tbody>tr>td.material-col-rib{background:#f9f0ff}.ant-table-wrapper .ant-table-thead>tr>th.material-col-system,.ant-table-wrapper .ant-table-tbody>tr>td.material-col-system{background:#f7f7f8}.ant-table-wrapper .ant-table-thead>tr>th.material-col-calc,.ant-table-wrapper .ant-table-tbody>tr>td.material-col-calc{background:#eaf5ff!important;color:#174ea6;font-weight:650}.ant-table-wrapper .ant-table-thead>tr>th.material-col-required,.ant-table-wrapper .ant-table-tbody>tr>td.material-col-required{box-shadow:inset 3px 0 #ffc53d}.material-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.material-info-grid p{margin:0;color:#475467;font-size:12px;line-height:1.7}.material-column-actions{margin-bottom:12px}.material-column-modal{display:grid;gap:12px}.material-column-group{display:grid;gap:8px;padding:10px;border:1px solid #edf1f6;border-radius:8px;background:#fbfcfe}.material-column-group strong{color:#122033}.material-column-group>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}.material-ux-v2 .material-main-table-card{overflow:hidden}.material-filter-grid-v2{grid-template-columns:minmax(280px,2fr) minmax(120px,1fr) minmax(130px,1fr) minmax(100px,.8fr) minmax(120px,1fr) 76px 76px}.material-edit-cell{display:grid;gap:2px}.material-edit-cell em{color:#16803c;font-size:10px;font-style:normal;line-height:1.1}.material-rib-panel-sticky{position:sticky;bottom:0;z-index:4;border-color:#b7d5ff;box-shadow:0 -8px 22px #0f172a14}.material-rib-workbench{display:grid;gap:10px}.material-rib-summary{display:grid;grid-template-columns:minmax(260px,2fr) minmax(120px,1fr) minmax(130px,1fr);gap:8px}.material-rib-summary span{display:grid;gap:3px;padding:8px 10px;border:1px solid #dbeafe;border-radius:6px;background:#f8fbff}.material-rib-summary b{color:#667085;font-size:12px}.material-rib-actions{padding-top:2px}.material-form-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.material-form-steps button{min-height:36px;border:1px solid #d9e2ec;border-radius:7px;background:#fff;color:#344054;cursor:pointer;font:inherit;font-size:13px}.material-form-steps button.active{border-color:#1677ff;background:#eaf3ff;color:#0958d9;font-weight:800}.material-form-step{display:none}.material-form-step.active{display:block}.material-form-tip{padding:10px 12px;border:1px solid #ffe58f;border-radius:7px;background:#fffbe6;color:#876800;font-size:12px;line-height:1.6}.material-ux-v2 .material-calc-preview{margin-top:10px}.data-guardrail{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #e5e7eb;background:#fbfcff}.data-guardrail-metrics,.data-guardrail-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.data-guardrail-metrics span{color:#667085;font-size:12px}.data-guardrail-metrics strong{margin-left:3px;color:#111827;font-size:14px}.table-empty-state{display:grid;justify-items:center;gap:8px;padding:24px 12px;color:#667085}.table-empty-state strong{color:#111827}.library-card{border-radius:8px}.library-card>.ant-card-body{padding:14px 16px 16px}.library-card .ant-tabs-nav{margin-bottom:12px}.techpack-library-card .ant-card-body{padding-top:10px}.techpack-library-card .ant-tabs-nav{margin-bottom:16px}.library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.library-panel{min-height:360px;padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfcfe}.library-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #edf0f4}.library-panel-head h5{margin:0 0 4px!important}.library-next{margin-top:14px;padding:12px;border-radius:8px;background:#fff;border:1px solid #edf0f4}.library-next p{margin:6px 0 0;color:#475467}.techpack-preview{display:grid;gap:12px}.techpack-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid #e2dfd8;border-radius:8px;background:#f7f5f0}.techpack-hero h5{margin:0 0 4px!important}.techpack-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.techpack-kpis .ant-card-body{display:grid;gap:4px;min-height:86px}.techpack-kpis strong{font-size:22px;line-height:1.1;color:#172033}.techpack-kpis span{color:#667085;font-size:12px}.techpack-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.techpack-flow-card .ant-card-body{display:grid;gap:6px;min-height:92px}.techpack-flow-card strong{color:#a8421f}.techpack-flow-card span{color:#475467;font-size:12px;line-height:1.45}.techpack-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px}.techpack-sheet{border:1px solid #d9d2c5;border-radius:8px;background:#fbfaf7;overflow:hidden}.techpack-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e2dfd8;background:#f7f5f0}.techpack-sheet-head strong{display:block;margin-bottom:3px;font-size:15px}.techpack-sections{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;padding:10px 12px 0}.techpack-sections span{padding:7px 8px;border:1px solid #e4ded2;border-radius:5px;background:#fff;color:#344054;font-size:12px;text-align:center}.techpack-sheet-table{display:grid;grid-template-columns:100px minmax(180px,1fr) repeat(7,minmax(48px,72px));padding:12px;overflow-x:auto}.techpack-sheet-table>div,.techpack-sheet-table>span,.techpack-sheet-table>strong{min-height:34px;padding:7px 8px;border-right:1px solid #ded8cc;border-bottom:1px solid #ded8cc;background:#fff;font-size:12px}.techpack-sheet-table>div{background:#ede6d9;font-weight:700}.techpack-sheet-table>strong{color:#172033}.techpack-workbench{--tp-ink: #1c1b19;--tp-paper: #f7f5f0;--tp-panel: #ffffff;--tp-line: #dcd8cf;--tp-line-strong: #b9b3a4;--tp-accent: #a8421f;--tp-accent-soft: #f1e3da;--tp-ok: #3a6b4c;color:var(--tp-ink);background:var(--tp-paper);border:1px solid var(--tp-line);border-radius:6px;overflow:hidden}.techpack-topbar{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--tp-line-strong);background:var(--tp-panel)}.techpack-actions{justify-content:flex-end}.techpack-import-status{width:100%;color:#8a8478;font-size:12px;line-height:1.5;text-align:right}.techpack-list-panel{padding:16px 20px 18px;border-bottom:1px solid var(--tp-line-strong);background:#fbfaf7}.techpack-list-panel .ant-table-wrapper{margin-top:12px}.techpack-list-panel .ant-table-thead>tr>th{background:#efede6;color:#5b554a;font-size:12px}.techpack-list-panel .ant-table-cell{white-space:nowrap;padding:7px 8px!important;max-width:240px;overflow:hidden;text-overflow:ellipsis}.techpack-detail-drawer .ant-drawer-body{padding:0;background:var(--tp-paper)}.techpack-detail-drawer .techpack-shell{border-top:1px solid var(--tp-line)}.techpack-completeness-alert,.techpack-create-alert{margin-bottom:16px}.techpack-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.techpack-field-warn{margin-left:8px;color:#b42318;font-size:12px;font-weight:600}.techpack-brand{font-family:"Noto Serif SC",Songti SC,serif;font-size:18px;font-weight:700}.techpack-brand span{margin-left:10px;color:#8a8478;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase}.techpack-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:760px}.techpack-sidebar{position:sticky;top:74px;align-self:start;max-height:calc(100vh - 86px);overflow-y:auto;padding:20px 0;border-right:1px solid var(--tp-line);background:var(--tp-panel)}.techpack-side-section{margin-bottom:22px}.techpack-side-title{padding:0 20px;margin-bottom:8px;color:#a39d8e;font-size:10.5px;letter-spacing:1.5px}.techpack-side-item{display:flex;width:100%;align-items:center;gap:9px;padding:8px 20px;border:0;border-left:2px solid transparent;background:transparent;color:#5a5448;cursor:pointer;font:inherit;font-size:13px;text-align:left}.techpack-side-item:hover{background:#f1efe9}.techpack-side-item span{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#cfc9bb}.techpack-side-item.active{border-left-color:var(--tp-accent);background:var(--tp-accent-soft);color:var(--tp-accent);font-weight:600}.techpack-side-item.active span{background:var(--tp-accent)}.techpack-main{max-width:1180px;padding:24px 32px 60px}.techpack-style-header,.techpack-panel{scroll-margin-top:118px}.techpack-style-header{display:flex;gap:24px;padding:22px 26px;margin-bottom:20px;border:1px solid var(--tp-line);border-radius:6px;background:var(--tp-panel)}.techpack-thumb{display:flex;width:130px;height:158px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid var(--tp-line);border-radius:4px;background:#e9e5da;color:#9b9586;font-size:11px}.techpack-style-image-drop{flex-direction:column;gap:8px;overflow:hidden;padding:8px}.techpack-style-image-drop img{width:100%;min-height:0;flex:1;object-fit:contain}.techpack-style-image-drop .ant-btn{width:100%;font-size:12px}.techpack-style-info{flex:1}.techpack-style-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.techpack-style-no{margin-bottom:4px;color:var(--tp-accent);font-family:JetBrains Mono,Consolas,monospace;font-size:13px;letter-spacing:.5px}.techpack-style-top h3,.techpack-panel-head h3{margin:0}.techpack-style-top h3{font-family:"Noto Serif SC",Songti SC,serif;font-size:23px}.techpack-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(260px,1.4fr);gap:16px;padding-top:14px;border-top:1px solid var(--tp-line)}.techpack-meta-item .ant-select,.techpack-meta-item .ant-space-compact{min-width:0}.techpack-meta-item span{display:block;margin-bottom:3px;color:#9b9586;font-size:10.5px;letter-spacing:1px}.techpack-meta-item strong{font-size:13.5px}.techpack-version-strip{display:flex;gap:10px;margin-bottom:20px;overflow-x:auto}.techpack-version-strip button{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;padding:7px 14px;border:1px dashed var(--tp-line-strong);border-radius:20px;background:transparent;color:#7a7468;cursor:pointer}.techpack-version-strip button.current{border-style:solid;border-color:var(--tp-accent);background:var(--tp-accent-soft);color:var(--tp-accent)}.techpack-panel{margin-bottom:18px;border:1px solid var(--tp-line);border-radius:6px;background:var(--tp-panel);overflow:hidden}.techpack-panel-head{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--tp-line)}.techpack-panel-head h3{font-size:15px}.techpack-panel-head h3 span{margin-left:8px;color:#a39d8e;font-size:11px;font-weight:400}.techpack-panel-body,.techpack-notes-grid,.techpack-asset-grid,.techpack-tracking-card{padding:18px}.techpack-table-scroll{overflow-x:auto}.techpack-data-table{width:100%;min-width:760px;border-collapse:collapse;font-size:12.5px}.techpack-data-table th{position:sticky;top:0;z-index:5;padding:10px 12px;border-bottom:1px solid var(--tp-line);background:#f3f1ea;color:#6b6557;text-align:left}.techpack-data-table td{padding:9px 12px;border-bottom:1px solid #eeeae1}.techpack-data-table .ant-input{min-width:82px}.techpack-material-table .ant-input{min-width:120px}.techpack-data-table .label-cell{color:var(--tp-accent);font-weight:700}.techpack-material-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eeeae1}.techpack-material-row i{width:22px;height:22px;border:1px solid #cfc9bb;border-radius:50%}.techpack-material-row span{display:block;color:#9b9586;font-size:12px}.techpack-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.techpack-notes-grid>.techpack-note-card{padding:14px;border:1px solid #e6dfd4;border-radius:5px;background:#fbfaf7}.techpack-note-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.techpack-note-card-head strong{min-width:0}.techpack-notes-grid p{margin:8px 0 0;color:#5a5448;line-height:1.8}.techpack-save-alert{margin:0 18px 14px}.techpack-note-card ul{padding-left:18px;margin:10px 0 0}.techpack-note-editor{margin:10px 0;line-height:1.7}.techpack-note-card li{margin-bottom:8px;color:#5a5448;line-height:1.75}.techpack-process-label{color:#b42318;font-weight:700}.techpack-asset-dropzone{margin:16px 18px 0;padding:14px 16px;border:1px dashed #c9bda8;border-radius:5px;background:#fbfaf7;color:#5a5448;outline:none}.techpack-asset-dropzone:focus{border-color:var(--tp-accent);box-shadow:0 0 0 2px #a8421f1f}.techpack-asset-dropzone strong,.techpack-asset-dropzone span{display:block}.techpack-asset-dropzone span{margin-top:4px;color:#8a8478;font-size:12px;line-height:1.6}.techpack-asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.techpack-asset-card{min-width:0;min-height:172px;padding:12px;border:1px solid var(--tp-line);border-radius:5px;background:#f7f5f0}.techpack-asset-card img{display:block;width:100%;height:92px;margin-bottom:10px;border:1px solid #e4ded2;border-radius:4px;object-fit:cover;background:#fff}.techpack-asset-card div{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:8px;font-weight:700}.techpack-asset-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.techpack-asset-card span{display:block;min-height:34px;margin:10px 0;color:#9b9586;font-size:12px;line-height:1.45}.techpack-asset-empty{grid-column:1 / -1;padding:28px 16px;border:1px dashed var(--tp-line);border-radius:5px;background:#fbfaf7;color:#8a8478;text-align:center}.techpack-stage-track,.techpack-audit-flow,.techpack-ref-grid{display:grid;gap:10px}.techpack-stage-track{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px}.techpack-stage-track span,.techpack-audit-flow div,.techpack-ref-grid span{padding:11px 12px;border:1px solid var(--tp-line);border-radius:5px;background:#fbfaf7;color:#5a5448;font-size:12px;text-align:center}.techpack-stage-track span.done{border-color:#bed6c4;background:#e6efe7;color:var(--tp-ok)}.techpack-stage-track span.active{border-color:#d6b27b;background:#f6ecd9;color:#8a5c0c;font-weight:700}.techpack-audit-flow{grid-template-columns:repeat(4,minmax(0,1fr));padding:18px}.techpack-review-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px 18px;border-bottom:1px solid var(--tp-line);background:#fbfaf7}.techpack-review-summary div{min-width:0;padding:10px 12px;border:1px solid #e6dfd4;border-radius:5px;background:#fff}.techpack-review-summary span{display:block;margin-bottom:4px;color:#9b9586;font-size:11px}.techpack-review-summary strong{display:block;overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.techpack-ref-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:18px}.viewbar{min-height:50px;padding:10px 12px;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff}.view-tabs{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:8px;min-width:0}.view-tabs .ant-btn{height:32px;padding:0 12px;white-space:nowrap}.view-actions{flex:0 0 auto;padding-top:0}.filterbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px 150px 136px 136px 72px 92px;gap:8px;padding:10px 12px;border-bottom:1px solid #edf0f4;background:#fbfcfe}.top-filterbar{border-bottom:1px solid #e5e7eb;background:#fff}.main-search{width:100%}.strong-cell{font-weight:700}.spu-entry-button{width:100%;padding:0;border:0;background:transparent;display:grid;gap:2px;text-align:left;cursor:pointer}.spu-entry-button strong{color:#0f172a;font-size:13px;line-height:1.45}.spu-entry-button span{color:#667085;font-size:12px;line-height:1.35}.spu-entry-button:hover strong{color:#0958d9}.muted-cell{color:#98a2b3}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700}.pill.blue{color:#0958d9;background:#e6f4ff}.pill.green{color:#237804;background:#f6ffed}.thumb-cell{width:74px;padding:0;border:0;background:transparent;display:grid;gap:4px;justify-items:center;color:#0958d9;cursor:pointer}.thumb-img{width:54px;height:38px;border:1px solid #bfdbfe;border-radius:6px;background:linear-gradient(135deg,#dbeafe,#f8fafc 55%,#bfdbfe);display:grid;place-items:center;color:#1d4ed8;font-weight:700;font-size:12px;overflow:hidden}.thumb-img img{width:100%;height:100%;object-fit:cover}.product-thumb-button{width:56px;height:56px;padding:0;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;color:#64748b;cursor:pointer;display:grid;place-items:center;overflow:hidden}.product-thumb-button:hover{border-color:#1677ff;color:#0958d9;box-shadow:0 0 0 3px #1677ff14}.product-thumb-button img{width:100%;height:100%;object-fit:cover}.product-thumb-button span{font-size:12px;font-weight:700}.spu-link-button{width:100%;min-width:0;padding:0;border:0;background:transparent;color:#101828;cursor:pointer;display:grid;gap:3px;text-align:left}.spu-link-button:hover strong{color:#0958d9;text-decoration:underline}.spu-link-button strong,.spu-link-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spu-link-button span{color:#667085;font-size:12px;font-weight:500}.main-stage-select{width:190px}.product-archive-hint{align-items:center;background:#f8fafc}.product-archive-hint>div{display:grid;gap:4px}.product-archive-hint strong{color:#101828}.product-archive-hint span{color:#667085;line-height:1.5}.product-stage-drawer .ant-drawer-body{padding:0;background:#f3f6fa}.product-flat-editor-drawer .ant-drawer-body{background:#f6f8fb}.product-flat-editor-shell{min-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.product-flat-editor-main{min-height:0;padding:18px;overflow:auto}.flat-product-form-section{margin:0}.flat-product-form-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-classified-editor-drawer .ant-drawer-body{overflow:hidden}.product-classified-editor-shell{height:100%}.product-classified-editor-shell.creating{height:calc(100vh - 58px);overflow:hidden}.product-create-main{height:100%;padding:18px;background:#f4f7fb}.product-classified-editor-layout{display:grid;grid-template-columns:168px minmax(0,1fr);align-items:stretch;height:calc(100vh - 118px);min-height:0;overflow:hidden}.product-classified-editor-layout .product-stage-nav{position:sticky;top:0;height:100%;overflow:hidden auto}.product-classified-editor-layout .product-stage-main,.product-classified-editor-layout .product-stage-aside{height:100%;overflow:auto}.product-stage-head strong{display:block;margin-bottom:4px}.product-stage-head span{color:#667085;font-size:13px}.product-stage-shell{min-height:100%;display:grid;grid-template-rows:auto 1fr}.product-stage-content{display:grid;gap:18px;padding:18px}.product-stage-head{padding:18px 22px 16px;border-bottom:1px solid #d9e2ec;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.product-stage-head h3{margin:0;color:#101828;font-size:18px;line-height:1.35}.product-stage-head p{margin:4px 0 0;color:#667085;font-size:13px}.product-stage-layout{min-height:0;display:grid;grid-template-columns:168px minmax(0,1fr) 240px}.product-stage-nav{padding:16px 12px;border-right:1px solid #d9e2ec;background:#fff;display:grid;align-content:start;gap:8px}.product-stage-nav button{min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#344054;font-weight:700;text-align:left;cursor:pointer}.product-stage-nav button:hover{background:#f0f6ff;color:#0958d9}.product-stage-nav button.active{border-color:#bfdbfe;background:#e6f4ff;color:#0958d9}.product-stage-main{min-width:0;overflow:auto}.product-stage-aside{padding:16px;border-left:1px solid #d9e2ec;background:#fff;overflow:auto}.product-stage-aside h4{margin:0 0 10px;color:#101828}.product-stage-aside ul{margin:12px 0 0;padding-left:18px;color:#667085;line-height:1.7}.stage-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stage-section-grid.compact{grid-template-columns:1fr}.stage-overview-stack{display:grid;gap:14px}.stage-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stage-summary-item,.stage-resource-card,.stage-note-row{min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.stage-summary-item span,.stage-resource-card span,.stage-note-row span{display:block;margin-bottom:6px;color:#667085;font-size:12px}.stage-summary-item strong,.stage-resource-card strong,.stage-note-row strong{display:block;color:#172033;line-height:1.6;word-break:break-word}.stage-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stage-resource-card{display:grid;gap:10px}.stage-summary-costing{border-color:#bfdbfe;background:#f8fbff}.stage-costing-bridge-card{border-color:#b7d5ff;background:linear-gradient(180deg,#f8fbff,#fff)}.stage-costing-bridge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stage-costing-bridge-head span{margin-bottom:0;color:#475467}.stage-costing-bridge-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stage-costing-bridge-mini span{min-width:0;margin:0;padding:8px 9px;border:1px solid #dbeafe;border-radius:6px;background:#fff}.stage-costing-bridge-mini em{display:block;margin-bottom:4px;color:#64748b;font-size:12px;font-style:normal}.stage-costing-bridge-mini b{display:block;color:#102033;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.stage-costing-bridge-card p{margin:0;color:#667085;font-size:12px;line-height:1.5}.stage-image-value{width:100%;min-height:160px;border:1px dashed #bfdbfe;border-radius:8px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#667085;font-weight:700}.stage-image-value img{width:100%;height:220px;object-fit:contain;background:#fff}.stage-note-stack{display:grid;gap:10px}.stage-checklist{margin:0;padding-left:18px;color:#475467;line-height:1.7}.stage-edit-card{min-width:0;padding:14px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.stage-edit-card.wide{grid-column:1 / -1}.stage-edit-card-head{margin-bottom:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stage-edit-card-head h4{margin:0;color:#101828;font-size:15px}.stage-edit-card-head p{margin:4px 0 0;color:#667085;line-height:1.5}.stage-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stage-action-grid .ant-btn{height:auto;min-height:38px;white-space:normal;text-align:left}.ellipsis{display:inline-block;max-width:190px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom}.cell-note{display:-webkit-box;max-width:260px;min-width:0;overflow:hidden;line-height:1.45;white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.library-cell{width:100%;min-height:44px;padding:7px 9px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#1d4ed8;text-align:left;cursor:pointer}.library-cell.compact{min-height:42px;background:#fff}.library-cell:hover{border-color:#60a5fa;background:#dbeafe}.library-cell-title{display:block;margin-bottom:3px;font-weight:700;font-size:12px}.library-cell-date{display:inline-flex;align-items:center;width:fit-content;margin:0 0 4px;padding:1px 6px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:12px;line-height:1.5}.library-cell-desc{display:-webkit-box;overflow:hidden;color:#344054;line-height:1.35;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.inline-select{min-width:132px}.inline-select.short{min-width:86px}.inline-select.owner{min-width:118px}.inline-date{width:126px}.image-editor{display:grid;gap:12px;margin-bottom:16px}.image-preview{min-height:320px;border:1px dashed #9ca3af;border-radius:8px;background:#f8fafc;display:grid;place-items:center;color:#667085;cursor:pointer;overflow:hidden}.image-preview img{width:100%;max-height:420px;object-fit:contain;background:#fff}.image-modal-body{width:100%;max-height:78vh;display:grid;place-items:center;overflow:auto;background:#f8fafc}.image-modal-body img{width:min(100%,960px);min-width:min(100%,640px);max-height:76vh;object-fit:contain}.main-image-preview-modal{width:fit-content;max-width:92vw;max-height:80vh;display:block;overflow:auto;background:transparent}.main-image-preview-modal img{display:block;width:auto;max-width:min(92vw,1200px);max-height:80vh;object-fit:contain}.main-image-viewer-modal{max-width:92vw}.main-image-viewer-modal .ant-modal-content{width:fit-content;max-width:92vw;margin:0 auto;padding:0;background:transparent;box-shadow:none}.main-image-viewer-modal .ant-modal-body{padding:0;background:transparent}.main-image-viewer-modal .ant-modal-header{display:none}.main-image-viewer-modal .ant-modal-close{top:-38px;right:-38px;color:#fff;background:#0f172ab8;border-radius:999px}.main-image-viewer-modal .ant-modal-close:hover{color:#fff;background:#0f172ae6}.sample-image-field{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}.sample-image-thumb{min-height:132px;border:1px dashed #9ca3af;border-radius:8px;background:#f8fafc;display:grid;place-items:center;color:#667085;overflow:hidden;text-align:center;padding:8px;cursor:pointer}.sample-image-thumb:disabled{cursor:not-allowed;opacity:.55}.sample-image-thumb img{width:100%;height:132px;object-fit:contain;background:#fff}.sample-image-actions{display:flex;flex-wrap:wrap;gap:8px}.sample-image-preview-modal{width:100%;max-height:76vh;display:grid;place-items:center;overflow:auto;background:#f8fafc}.sample-image-preview-modal img{width:min(100%,860px);max-height:74vh;object-fit:contain}.page-info-doc{color:#1f2937;line-height:1.7}.page-info-doc h4{margin:18px 0 6px;color:#101828}.page-info-doc p{margin:0 0 8px}.detail-missing-alert{margin:12px 0}.detail-shell{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;min-height:520px}.detail-sidebar{position:sticky;top:0;align-self:start;display:grid;gap:8px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.detail-sidebar button{width:100%;height:34px;border:1px solid transparent;border-radius:6px;background:transparent;color:#344054;font-weight:700;text-align:left;cursor:pointer}.detail-sidebar button.active{border-color:#91caff;background:#e6f4ff;color:#0958d9}.detail-panel{min-width:0;display:grid;gap:12px;align-content:start}.detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf0f4}.detail-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-field-card{min-width:0;min-height:96px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;display:grid;gap:8px;align-content:start}.detail-field-card strong{min-width:0;color:#172033;line-height:1.55;word-break:break-word}.detail-field-card.image-card{grid-row:span 2}.detail-image-preview{width:100%;height:180px;border:1px dashed #bfdbfe;border-radius:8px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:#667085;cursor:zoom-in}.detail-image-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.conditional-block{display:none;margin-bottom:12px;padding:10px 12px;border:1px dashed #bfdbfe;border-radius:8px;background:#eff6ff}.conditional-block.show{display:block}.fixed-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-card{margin-bottom:12px;border-color:#bfdbfe;background:#eff6ff}.stale-row td{background:#fff1f0!important}.product-form .ant-form-item{margin-bottom:12px}.spu-confirm-item .ant-form-item-control-input{min-height:32px}.spu-confirm-note{margin-top:6px;color:#d32029;font-size:12px;line-height:1.45}.task-status-select{width:104px}.product-image-field{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}.product-image-thumb{min-height:132px;border:1px dashed #9ca3af;border-radius:8px;background:#f8fafc;display:grid;place-items:center;color:#667085;overflow:hidden;text-align:center;padding:8px}.product-image-thumb img{width:100%;height:132px;object-fit:contain;background:#fff}.product-image-actions{display:flex;flex-wrap:wrap;gap:8px}.product-image-actions .ant-typography{flex-basis:100%;color:#d46b08}.material-library-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}.material-library-results{display:grid;gap:8px;margin-bottom:12px}.material-library-results button{display:grid;gap:3px;width:100%;padding:8px 10px;text-align:left;border:1px solid #d9e7ff;border-radius:8px;background:#f8fbff;cursor:pointer}.material-library-results span{color:#667085;font-size:12px}.form-context{margin-bottom:14px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfcfe}.form-section{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #edf0f4}.form-section-title{margin-bottom:10px;font-weight:700;color:#172033}.proposal-flow-compact{padding:14px;border:1px solid #d9e8ff;border-radius:10px;background:#fbfdff}.proposal-flow-guide{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:14px;padding:10px 12px;border-radius:8px;background:#f0f7ff;color:#475467;font-size:13px;line-height:1.55}.proposal-flow-guide strong{color:#0958d9}.product-save-error{margin-bottom:12px}.proposal-sample-entry{border-style:solid;background:#fff}.proposal-sample-entry.is-clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.proposal-sample-entry.is-clickable:hover,.proposal-sample-entry.is-clickable:focus{border-color:#1677ff;background:#f8fbff;box-shadow:0 4px 14px #1677ff1f;outline:none}.proposal-sample-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.proposal-current-stage{min-height:74px;border-style:solid;background:#f8fafc}.proposal-current-stage strong{color:#0958d9}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.span-2{grid-column:span 2}.readonly-field{min-height:56px;padding:8px 10px;border:1px dashed #d9e0ea;border-radius:8px;background:#fbfcfe;display:grid;gap:4px;align-content:start;margin-bottom:12px}.readonly-field strong{font-size:13px;font-weight:600;color:#344054;overflow:hidden;white-space:normal;word-break:break-word}.readonly-action{width:100%;border-color:#91caff;color:#0958d9}.subdrawer-layout{display:grid;gap:18px}.subdrawer-title{margin-bottom:10px;font-weight:700;color:#172033}.subdrawer-form{padding:14px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfcfe}.sample-drawer .ant-drawer-body{width:100%;max-width:100%;overflow-x:hidden}.sample-drawer .ant-drawer-content-wrapper{width:min(980px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)}.sample-drawer .ant-drawer-content,.sample-drawer .ant-drawer-wrapper-body,.sample-drawer .ant-drawer-header,.sample-drawer .ant-drawer-body>*{max-width:100%;min-width:0}.sample-drawer .subdrawer-layout,.sample-drawer .subdrawer-form,.sample-drawer .ant-form,.sample-drawer .ant-table-wrapper,.sample-drawer .ant-form-item,.sample-drawer .ant-form-item-row,.sample-drawer .ant-form-item-control,.sample-drawer .ant-form-item-control-input,.sample-drawer .ant-form-item-control-input-content{max-width:100%;min-width:0}.sample-drawer .subdrawer-layout,.sample-drawer .subdrawer-form,.sample-drawer .form-grid{width:auto;inline-size:auto}.sample-drawer .subdrawer-layout{grid-template-columns:minmax(0,1fr)}.sample-drawer .subdrawer-form{overflow-x:clip;contain:inline-size}.sample-drawer .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-drawer .ant-form-item,.sample-drawer .ant-input,.sample-drawer .ant-select,.sample-drawer .ant-input-number,.sample-drawer textarea{box-sizing:border-box;max-width:100%;min-width:0}.sample-drawer .long-input-form-item .ant-input{width:100%;overflow-x:auto;text-overflow:clip;white-space:nowrap}.sample-drawer .ant-form-item-extra{color:#667085;font-size:12px;line-height:1.5}.workbench-select-dropdown{z-index:5000}.library-search-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto;gap:8px;align-items:center;margin-bottom:12px}.record-preview-button{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;display:grid;gap:2px}.record-preview-button>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.record-detail-stack{display:grid;gap:14px}.record-detail-content{padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;white-space:pre-wrap;line-height:1.65}.detail-edit-form{display:grid;gap:8px}.detail-hint{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fbfcfe}.detail-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.drawer-actions{width:100%;justify-content:flex-end;padding-right:8px;box-sizing:border-box;position:sticky;bottom:0;z-index:5;padding-top:10px;padding-bottom:10px;background:linear-gradient(180deg,#ffffffe0,#fff 40%);border-top:1px solid #edf0f4}.product-flow-guide{margin-top:10px;padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#344054;line-height:1.55}.product-flow-guide strong{display:block;margin-bottom:4px;color:#0f3d75}.future-stage-hint{border-style:dashed;background:#fbfcff}.review-image-input{display:grid;gap:6px}.review-image-preview{min-height:96px;border:1px dashed #bfdbfe;border-radius:8px;background:#f8fafc;display:flex;align-items:center;gap:10px;padding:10px;color:#667085;overflow:visible;flex-wrap:wrap}.review-image-preview.has-image{background:#fff;border-style:solid;align-items:flex-start}.review-image-empty{display:grid;gap:4px;color:#667085}.review-image-empty span{font-size:12px}.review-image-empty strong{color:#1f2937;font-size:13px;font-weight:600}.review-thumb-card{width:118px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.review-thumb{width:100%;height:96px;display:block;padding:0;border:0;border-radius:0;background:#f8fafc;cursor:pointer;overflow:hidden}.review-thumb:hover{border-color:#1677ff}.review-thumb img{width:100%;height:100%;object-fit:cover;display:block}.review-thumb-zoom{display:none}.review-thumb-actions{display:flex;align-items:center;justify-content:space-around;gap:2px;padding:4px 6px;border-top:1px solid #eef0f3}.review-thumb-actions .ant-btn-link{height:22px;padding:0 3px;font-size:12px}.review-thumb-action{height:22px;color:#1677ff;font-size:12px;line-height:22px;cursor:pointer}.review-upload-button input,.review-thumb-action input{display:none!important}.review-image-modal-body{display:flex;align-items:center;justify-content:center;max-height:76vh;overflow:auto;background:#f8fafc}.review-image-modal-body img{max-width:100%;max-height:74vh;object-fit:contain}.review-image-raw.collapsed{min-height:34px!important;color:#667085;font-size:12px}.review-image-field{margin-bottom:14px}.review-image-input:focus-within{outline:1px solid #1677ff;outline-offset:2px;border-radius:6px}.review-image-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.review-image-actions .ant-typography{font-size:12px}.review-upload-button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px;border:1px solid #91caff;border-radius:6px;background:#f0f7ff;color:#1677ff;cursor:pointer;white-space:nowrap;line-height:1}.review-upload-button:hover{border-color:#1677ff;color:#1677ff}.review-section-title{margin-top:16px;padding-top:12px;border-top:1px solid #eef0f3}.review-comment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.review-history-strip{margin-top:12px;padding:10px 12px;border:1px solid #eef0f3;border-radius:8px;background:#fbfcff}.review-history-item{display:flex;align-items:center;gap:12px;min-height:28px;color:#475467;font-size:12px;border-top:1px solid #eef0f3}.review-history-item:first-of-type{border-top:0}.review-history-item strong{color:#101828}.saved-view-select{min-width:170px}.column-config-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:500px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin:18px 0}.column-config-left{padding:14px 16px;background:#fff}.column-config-right{padding:14px;border-left:1px solid #e5e7eb;background:#fbfcfe}.column-config-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.field-group-list{display:grid;gap:14px}.field-group{border-bottom:1px solid #f0f2f5;padding-bottom:12px}.field-group:last-child{border-bottom:0}.field-group-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.field-group .ant-checkbox-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.selected-title{margin:14px 0 4px;font-weight:700}.selected-fields{margin-top:10px;display:grid;gap:6px;max-height:420px;overflow:auto;padding-right:4px}.selected-field{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:7px 6px;border-radius:6px;background:#fff;border:1px solid #edf0f4;font-size:12px;cursor:default;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.selected-field:hover{border-color:#1677ff;box-shadow:0 2px 8px #1677ff1f}.selected-field.is-active{border-color:#1677ff;background:#f0f7ff}.selected-field.is-dragging{opacity:.55;border-color:#1677ff}.selected-field.is-drop-before:before,.selected-field.is-drop-after:after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:999px;background:#1677ff;box-shadow:0 0 0 2px #1677ff1f;pointer-events:none}.selected-field.is-drop-before:before{top:-5px}.selected-field.is-drop-after:after{bottom:-5px}.selected-field.is-drop-before .drag-dot:before,.selected-field.is-drop-after .drag-dot:after{content:"";position:absolute;left:4px;width:8px;height:8px;border-radius:50%;background:#1677ff;pointer-events:none}.selected-field.is-drop-before .drag-dot:before{top:-8px}.selected-field.is-drop-after .drag-dot:after{bottom:-8px}.selected-field span:nth-child(2){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.drag-dot{position:relative;border:0;background:transparent;color:#98a2b3;font-weight:700;line-height:1;padding:3px;cursor:grab}.drag-dot:active{cursor:grabbing}.order-actions .ant-btn{width:24px;min-width:24px;padding:0}.detail-drawer{display:grid;gap:12px}.detail-drawer p{margin:8px 0}.archive-drawer{display:grid;gap:12px}.archive-section{border-radius:8px}.archive-upload-button{min-height:42px;border:1px dashed #1677ff;border-radius:8px;background:#f0f7ff;color:#0958d9;display:grid;place-items:center;font-weight:700;cursor:pointer}.archive-upload-button input{display:none}.archive-file-list{display:grid;gap:7px}.archive-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid #edf0f4;border-radius:7px;background:#fbfcfe}.archive-file-row span{min-width:0;display:grid;gap:2px}.archive-file-row strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive-form{margin-top:12px;padding-top:12px;border-top:1px solid #edf0f4}.detail-value-wrap{display:inline;word-break:break-word;line-height:1.55}.detail-library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:8px 0;padding:8px 10px;border:1px solid #dbeafe;border-radius:7px;background:#f8fbff}.detail-library-row strong{display:block;margin-top:3px;color:#172033;word-break:break-word}.drawer-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawer-title-row h5{margin:0 0 4px!important}.ant-table-wrapper .ant-table-thead>tr>th{background:#f8fafc;color:#344054;font-size:12px}.ant-table-wrapper .ant-table-tbody>tr>td{font-size:12px;vertical-align:middle;overflow:hidden}.audit-preview-host,.audit-native-page{height:calc(100vh - 108px);display:flex;flex-direction:column;background:#f5f4f1}.audit-preview-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-bottom:1px solid #e2dfd8;background:#fff;color:#4a4840;font-size:12px}.audit-preview-notice strong{display:block;color:#1c1b18}.audit-preview-notice span{display:block;margin-top:2px}.audit-new-quote-btn.ant-btn{min-width:166px;height:36px;padding:0 18px;border-radius:6px;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;font-size:14px;font-weight:800;letter-spacing:0;color:#fff!important;box-shadow:0 6px 14px #1677ff38}.audit-new-quote-btn.ant-btn>span{color:#fff;font-size:14px;font-weight:800;line-height:1}.audit-retained-alert{margin:10px 12px 0}.audit-flow-inline{margin:10px 12px 0;border:1px solid #e2dfd8;border-radius:10px;background:#fff;overflow:hidden;flex:0 0 auto}.audit-flow-inline-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid #e2dfd8;background:#f0eee9}.audit-flow-inline-hd strong{display:block;font-size:13px}.audit-flow-inline-hd span{display:block;color:#8a877f;font-size:11px;margin-top:1px}.audit-flow-inline-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px}.audit-flow-inline-card{border:1px solid #edf1f6;border-radius:8px;padding:8px 10px;background:#fafaf8}.audit-flow-inline-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.audit-flow-inline-title span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a4840}.audit-flow-inline-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.audit-flow-inline-metrics span{display:grid;gap:2px}.audit-flow-inline-metrics b{font-size:13px}.audit-flow-page{height:calc(100vh - 108px);display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#f5f4f1}.audit-flow-shell{min-height:0;margin:12px;display:grid;grid-template-columns:220px minmax(0,1fr);border:1px solid #e2dfd8;border-radius:10px;overflow:hidden;background:#fff}.audit-flow-nav{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);border-right:1px solid #e2dfd8;background:#fff}.audit-flow-nav-hd{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f0eee9;border-bottom:1px solid #e2dfd8;color:#8a877f;font-size:11px}.audit-flow-nav .ant-input-affix-wrapper{border:0;border-bottom:1px solid #e2dfd8;border-radius:0;padding:7px 14px}.audit-flow-nav-list{min-height:0;overflow:auto}.audit-flow-nav-item{width:100%;display:grid;gap:2px;padding:9px 14px;border:0;border-bottom:1px solid #e2dfd8;background:#fff;text-align:left;cursor:pointer}.audit-flow-nav-item:hover{background:#f0eee9}.audit-flow-nav-item.active{background:#eaf0f8;border-left:3px solid #1a4f8a;padding-left:11px}.audit-flow-nav-item span{color:#8a877f;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-flow-nav-item em{display:flex;align-items:center;gap:6px;color:#8a877f;font-size:10px;font-style:normal}.audit-flow-main{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#fafaf8}.audit-flow-main-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #e2dfd8;background:#fff}.audit-flow-main-hd strong{display:block;font-size:15px}.audit-flow-main-hd span{display:block;color:#8a877f;font-size:11px;margin-top:2px}.audit-start-panel{margin:12px 14px 0;padding:12px;border:1px solid #ffd591;border-radius:8px;background:#fff7e6}.audit-start-panel-standalone{flex:0 0 auto}.audit-start-panel-hd{display:grid;gap:3px;margin-bottom:10px}.audit-start-panel-hd strong{font-size:14px}.audit-start-panel-hd span{color:#8a877f;font-size:12px}.audit-start-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:10px}.audit-start-grid label{display:grid;gap:5px}.audit-start-status{margin-bottom:10px}.audit-flow-records{min-height:0;overflow:auto;padding:12px 14px}.audit-flow-card{margin-bottom:10px;border-radius:10px}.audit-flow-card.is-final{border-color:#1c6b3a;box-shadow:0 0 0 1px #1c6b3a14}.audit-flow-card-hd,.audit-flow-card-ft{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-flow-card-hd{padding-bottom:10px;border-bottom:1px solid #edf1f6}.audit-flow-card-hd strong{flex:1;min-width:120px}.audit-flow-card-hd span{color:#8a877f;font-size:11px}.audit-flow-metrics{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;padding:10px 0}.audit-flow-metrics span{display:grid;gap:2px;border-right:1px solid #edf1f6;min-height:42px}.audit-flow-metrics span:last-child{border-right:0}.audit-flow-metrics b{font-size:15px}.audit-final-editor{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin:4px 0 10px;padding:12px;border:1px solid #91caff;border-radius:8px;background:#eef6ff;align-items:end}.audit-final-editor>div{display:grid;gap:5px}.audit-final-editor-actions{display:flex!important;flex-direction:row;gap:8px!important;justify-content:flex-end}.audit-flow-card-ft{padding-top:8px;border-top:1px solid #edf1f6}.audit-flow-empty{height:220px;display:flex;align-items:center;justify-content:center;color:#8a877f}.audit-flow-detail{height:calc(100vh - 108px);display:grid;grid-template-rows:auto minmax(0,1fr);background:#f5f4f1}.audit-flow-detail-bar{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border-bottom:1px solid #e2dfd8}.audit-native-host{min-height:0;flex:1 1 auto;overflow:auto;background:#f5f4f1}.audit-shell{padding:14px 16px 26px;background:#eef2f7;min-height:calc(100vh - 108px);color:#172033}.audit-pagebar,.audit-hcard,.audit-sc{border:1px solid #d9e0ea;border-radius:8px;background:#fff}.audit-pagebar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;margin-bottom:12px;border-left:5px solid #315d9d}.audit-pagebar strong{display:block;font-size:18px}.audit-pagebar span{display:block;margin-top:3px;color:#667085;font-size:12px}.audit-actions,.audit-export-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.audit-btn{border:1px solid #cfd8e3;border-radius:6px;background:#fff;color:#344054;cursor:pointer;font:inherit;font-size:13px;height:32px;padding:0 12px}.audit-btn:hover{border-color:#315d9d;color:#315d9d}.audit-btn-g{background:#f0f9f4;border-color:#9bd3ad;color:#157347;font-weight:700}.audit-btn-v{background:#eef4ff;border-color:#adc6ff;color:#315d9d;font-weight:700}.audit-btn-sm{height:26px;padding:0 8px;font-size:12px}.audit-hcard{padding:12px;margin-bottom:12px}.audit-ustrip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-bottom:12px;border-bottom:1px solid #edf1f6}.audit-ustrip-label,.audit-cclbl,.audit-sch{font-weight:800;color:#172033}.audit-uitem{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:4px 8px;border:1px solid #e3e8ef;border-radius:7px;background:#f8fafc;font-size:12px}.audit-uitem.cur{border-color:#b7d5ff;background:#f4f8ff}.audit-fi{display:inline-grid;place-items:center;width:30px;height:20px;border-radius:4px;background:#2f6fed;color:#fff;font-size:11px;font-weight:800}.audit-fi.old{background:#98a2b3}.audit-tag,.audit-ai-tag{display:inline-flex;align-items:center;height:20px;border-radius:999px;padding:0 7px;font-size:11px}.audit-ai-tag{background:#fff7e6;color:#ad6800}.audit-tag.tg{background:#e7f6ec;color:#15803d}.audit-tag.tz{background:#f2f4f7;color:#667085}.audit-tag.tp{margin-left:6px;background:#fff1f3;color:#c01048}.audit-info-wrap{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding-top:12px}.audit-img-box{height:132px;display:grid;place-items:center;text-align:center;border:1px dashed #c6d0dd;border-radius:8px;background:#f8fafc;color:#667085;line-height:1.7}.audit-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e4e9f1;border-left:1px solid #e4e9f1}.audit-irow{min-width:0;border-right:1px solid #e4e9f1;border-bottom:1px solid #e4e9f1;padding:8px 10px}.audit-il,.audit-fl{display:block;color:#667085;font-size:12px}.audit-iv{display:block;margin-top:4px;font-weight:700;word-break:break-word}.audit-link-btn{border:0;background:transparent;color:#315d9d;cursor:pointer;font:inherit;font-size:12px;padding:0 8px 0 0}.audit-fab-wrap,.audit-size-wrap{margin-top:12px;border:1px solid #e4e9f1;border-radius:8px;overflow:hidden}.audit-fab-hdr{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;background:#f8fafc;border-bottom:1px solid #e4e9f1}.audit-fab-hdr span{color:#667085;font-size:12px}.audit-fab-grid{display:grid;grid-template-columns:120px 1fr 120px 1fr}.audit-fl,.audit-fv{padding:9px 10px;border-right:1px solid #edf1f6;border-bottom:1px solid #edf1f6}.audit-fv{font-weight:700}.audit-fedit{margin-left:6px;color:#315d9d}.audit-fmod{margin-left:8px;color:#d92d20;font-size:12px;font-weight:700}.audit-size-toggle{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;background:#f9fbff;font-weight:700}.audit-size-body{padding:12px;border-top:1px solid #e4e9f1}.audit-size-body table{width:100%;border-collapse:collapse}.audit-sz-th,.audit-sz-td{border:1px solid #e4e9f1;padding:7px;text-align:center}.audit-sz-th{background:#f2f6fc}.audit-sz-src{margin-top:8px;color:#667085;font-size:12px}.audit-two-col{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px}.audit-col-side{display:grid;align-content:start;gap:12px;position:sticky;top:58px}.audit-ccbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.audit-ctgl{border:1px solid #d0d5dd;border-radius:999px;background:#fff;cursor:pointer;height:28px;padding:0 10px;font:inherit;font-size:12px}.audit-ctgl.on{background:#edf4ff;border-color:#84adff;color:#315d9d;font-weight:700}.audit-tscr{overflow:auto;border:1px solid #d9e0ea;border-radius:8px}.audit-at{width:100%;min-width:1660px;border-collapse:collapse;font-size:12px}.audit-at th,.audit-at td{border-bottom:1px solid #edf1f6;border-right:1px solid #edf1f6;padding:8px;vertical-align:top}.audit-at th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#344054;text-align:left;white-space:nowrap}.audit-at .num{text-align:right;white-space:nowrap}.audit-grp td{color:#fff;font-weight:800;border-bottom:0}.audit-gfabric td,.audit-rfabric td:first-child{border-left:4px solid #315d9d}.audit-gacc td,.audit-racc td:first-child{border-left:4px solid #18a058}.audit-glabor td,.audit-rlabor td:first-child{border-left:4px solid #d48806}.audit-gother td,.audit-rother td:first-child{border-left:4px solid #667085}.audit-gfabric td{background:#315d9d}.audit-gacc td{background:#18a058}.audit-glabor td{background:#d48806}.audit-gother td{background:#667085}.audit-gsummary td{background:#fbfcfe;font-weight:700}.audit-gs-lbl{color:#667085;margin-right:6px}.audit-gs-ok,.audit-gs-good,.audit-neg{color:#16803c}.audit-gs-warn{color:#b54708}.audit-gs-neg,.audit-gs-bad,.audit-pos{color:#d92d20}.audit-bgf{background:#fff9f2}.audit-bga{background:#f4f8ff}.audit-bgc{background:#f8fbf4}.audit-bgl{background:#fffbeb}.audit-flagged td{box-shadow:inset 0 0 0 999px #fff1f261}.audit-sub-n,.audit-cref,.audit-lref{display:block;margin-top:3px;color:#667085;font-size:11px}.audit-edv{width:76px;height:28px;border:1px solid #adc6ff;border-radius:5px;background:#fff;padding:0 7px;text-align:right}.audit-edv.small{width:54px}.audit-zer{color:#98a2b3}.audit-spulnk{color:#315d9d;cursor:pointer}.audit-c-note{min-width:220px}.audit-note-preview{display:grid;gap:4px}.audit-note-sys-txt{color:#475467}.audit-note-hum-txt{color:#315d9d}.audit-note-add-btn{margin-top:6px;border:0;background:transparent;color:#315d9d;cursor:pointer;padding:0}.audit-rttl td{background:#172033;color:#fff;font-weight:800}.audit-sc{overflow:hidden}.audit-sch{padding:10px 12px;border-bottom:1px solid #edf1f6;background:#f8fafc}.audit-scb{padding:12px;display:grid;gap:10px}.audit-srow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;font-size:12px}.audit-srow.tot{grid-template-columns:minmax(0,1fr) auto;padding-top:8px;border-top:1px solid #edf1f6;font-weight:800}.audit-sdot{width:10px;height:10px;border-radius:999px}.audit-sdot.fabric{background:#315d9d}.audit-sdot.acc{background:#18a058}.audit-sdot.labor{background:#d48806}.audit-sdot.other{background:#667085}.supplier-library-page{display:grid;gap:12px;--supplier-primary: #2f6fed;--supplier-primary-light: #eaf1ff;--supplier-ink: #1f2329;--supplier-ink-2: #646a73;--supplier-ink-3: #8f959e;--supplier-border: #e5e6eb;color:var(--supplier-ink)}.supplier-link-card,.supplier-table-card{border-radius:8px}.supplier-toolbar{display:flex;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--supplier-border);background:#fff}.supplier-code,.supplier-mono{font-family:SF Mono,JetBrains Mono,Consolas,Menlo,monospace;font-variant-numeric:tabular-nums}.supplier-code{display:inline-flex;padding:2px 6px;border-radius:4px;background:#f2f3f5;color:var(--supplier-ink-2);font-size:11.5px}.supplier-empty{border:1.5px dashed var(--supplier-border);border-radius:8px;padding:28px 20px;text-align:center;color:var(--supplier-ink-3)}.supplier-empty-icon{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:#f2f3f5;color:var(--supplier-ink-3);font-weight:700}.supplier-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--supplier-border);border-radius:8px;background:linear-gradient(180deg,#fafbff,#fff 60%)}.supplier-avatar{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--supplier-primary-light);color:var(--supplier-primary);font-weight:800;font-size:16px}.supplier-main{flex:1;min-width:0}.supplier-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.supplier-name-row strong{font-size:15px}.supplier-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px}.supplier-meta-grid span{min-width:0;color:var(--supplier-ink);font-size:12.5px}.supplier-meta-grid b{display:block;margin-bottom:2px;color:var(--supplier-ink-3);font-size:11px;font-weight:400}.supplier-picker-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.supplier-picker-toolbar .ant-input-search{max-width:360px}.supplier-picked-row td{background:var(--supplier-primary-light)!important}.supplier-form-modal .ant-modal-content{border-radius:12px}.supplier-section-title{display:flex;align-items:center;gap:7px;margin:20px 0 14px;color:var(--supplier-ink);font-weight:700;font-size:13.5px}.supplier-section-title:first-child{margin-top:0}.supplier-section-title span{width:3px;height:13px;border-radius:2px;background:var(--supplier-primary)}.supplier-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.supplier-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.supplier-form-grid .span-2,.supplier-mini-table .span-2{grid-column:span 2}.supplier-form-grid .span-3{grid-column:span 3}.supplier-warning{margin:-4px 0 12px;padding:8px 10px;border-radius:6px;background:#fff3e5;color:#b75b00;font-size:11.5px}.supplier-vars{display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 8px}.supplier-mini-table{display:grid;gap:8px;margin-bottom:10px}.supplier-mini-head,.supplier-mini-row{display:grid;gap:8px;align-items:center}.supplier-mini-head{padding:8px;border-bottom:1px solid var(--supplier-border);background:#fafbfc;color:var(--supplier-ink-2);font-size:11.5px}.supplier-mini-row{padding:0 8px 8px;border-bottom:1px solid #edeef1}.supplier-mini-head.contacts,.supplier-mini-row.contacts{grid-template-columns:48px minmax(120px,1fr) minmax(130px,1fr) 80px 70px}.supplier-mini-head.payees,.supplier-mini-row.payees{grid-template-columns:minmax(120px,1fr) 100px minmax(130px,1fr) minmax(160px,1fr) 70px}.supplier-mini-row .ant-form-item{margin-bottom:0}@media(max-width:900px){.supplier-toolbar,.supplier-picker-toolbar,.supplier-card{display:grid}.supplier-form-grid,.supplier-form-grid.cols-3,.supplier-meta-grid{grid-template-columns:1fr}.supplier-form-grid .span-2,.supplier-form-grid .span-3{grid-column:auto}.supplier-mini-head.contacts,.supplier-mini-row.contacts,.supplier-mini-head.payees,.supplier-mini-row.payees{grid-template-columns:1fr}}.audit-bias-box,.audit-kpi,.audit-target-grid span{padding:9px 10px;border-radius:7px;background:#f8fafc;border:1px solid #edf1f6}.audit-sbuls{margin:0;padding-left:18px;color:#344054;line-height:1.7}.audit-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.audit-sta{width:100%;resize:vertical;border:1px solid #d0d5dd;border-radius:7px;padding:8px;font:inherit}.audit-hi{display:grid;grid-template-columns:155px minmax(0,1fr);gap:10px;padding:8px 12px;border-top:1px solid #edf1f6;font-size:12px}.audit-ht{color:#667085}.audit-modal-notes{display:grid;gap:10px}.audit-nm-sys-item,.audit-nm-hum-item{border:1px solid #edf1f6;border-radius:7px;background:#f8fafc;padding:8px 10px}.audit-nm-hum-item span{margin-left:8px;color:#667085;font-size:12px}.audit-nm-hum-item p{margin:6px 0 0}@media(max-width:1100px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.product-classified-editor-layout,.product-stage-layout{grid-template-columns:1fr}.product-stage-nav{border-right:0;border-bottom:1px solid #d9e2ec;display:flex;overflow-x:auto}.product-stage-nav button{flex:0 0 auto;white-space:nowrap}.product-stage-aside{border-left:0;border-top:1px solid #d9e2ec}.filterbar,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.viewbar{display:block}.view-actions{margin-top:10px}.column-config-shell{grid-template-columns:1fr}.column-config-right{border-left:0;border-top:1px solid #e5e7eb}.field-group .ant-checkbox-group,.audit-info-grid,.costing-field-legend,.techpack-kpis,.techpack-flow,.techpack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.techpack-sections{grid-template-columns:repeat(4,minmax(0,1fr))}.audit-two-col{grid-template-columns:1fr}.audit-col-side{position:static}}@media(max-width:720px){.product-stage-head,.stage-edit-card-head{display:grid}.stage-section-grid,.stage-action-grid,.audit-pagebar,.audit-info-wrap{grid-template-columns:1fr}.audit-pagebar{display:grid}.audit-info-grid,.audit-fab-grid,.audit-target-grid,.costing-field-legend{grid-template-columns:1fr}.techpack-hero,.techpack-sheet-head{display:grid}.techpack-kpis,.techpack-flow,.techpack-grid,.techpack-sections{grid-template-columns:1fr}}
