:root{--erp-navy: #112f53;--erp-blue: #1768e5;--erp-bg: #f3f6fa;--erp-line: #dce4ed;--erp-text: #1d2c42;--erp-muted: #6c7d92;--sidebar-width: 200px;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:var(--erp-text);background:var(--erp-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}.workbench-layout{min-height:100vh}.desktop-sidebar{position:fixed!important;inset:0 auto 0 0;z-index:30;background:var(--erp-navy)!important;width:var(--sidebar-width)!important;min-width:var(--sidebar-width)!important;max-width:var(--sidebar-width)!important;flex-basis:var(--sidebar-width)!important}.desktop-sidebar .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.main-layout{margin-left:var(--sidebar-width);min-width:0}.brand{display:flex;gap:11px;align-items:center;padding:17px 14px;height:74px;flex-shrink:0;border-bottom:1px solid #ffffff1c;color:#dce8f5}.brand-icon{height:38px;width:38px;border-radius:4px;background:#1670e7;display:grid;place-items:center;flex-shrink:0;font-size:21px;color:#fff}.brand>div:last-child{min-width:0}.brand strong{display:block;font-size:15px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand>div:last-child>span{display:block;color:#9fb3ca;font-size:12px;margin-top:2px}.desktop-sidebar .ant-menu{padding:8px 0 4px;min-height:0;overflow-y:auto}.desktop-sidebar .ant-menu-item,.mobile-sidebar .ant-menu-item{margin:0;width:100%;border-radius:0!important;height:46px;line-height:46px;padding-left:24px!important;padding-right:18px!important;font-size:15px;border-left:4px solid transparent}.desktop-sidebar .ant-menu-item-selected,.mobile-sidebar .ant-menu-item-selected{border-left-color:#3c9aff;font-weight:600}.desktop-sidebar .ant-menu-item .anticon,.mobile-sidebar .ant-menu-item .anticon{font-size:19px;width:22px}.desktop-sidebar .ant-menu-item.nav-workflow-start,.mobile-sidebar .ant-menu-item.nav-workflow-start{margin-top:12px}.desktop-sidebar .nav-workflow-start:before{content:"";position:absolute;left:14px;right:18px;top:-7px;border-top:1px solid #ffffff18}.sidebar-foot{margin-top:auto;padding:22px 24px 24px;border-top:1px solid #ffffff18;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;color:#9db2c9;font-size:12px;line-height:1.8}.sidebar-foot>.anticon{font-size:18px;margin-top:3px}.sidebar-foot p{margin:0}.sidebar-foot p span{color:#7089a4}.sidebar-foot a{width:100%;margin-top:4px;border:1px solid #ffffff24;border-radius:4px;background:#ffffff0a;color:#b7c8da;padding:7px;text-align:center}.sidebar-foot a:hover{background:#ffffff14;color:#fff}.top-header{background:#fff!important;padding:0 24px!important;display:flex;align-items:center;justify-content:space-between;height:58px!important;line-height:normal!important;border-bottom:1px solid var(--erp-line);gap:16px;position:sticky;top:0;z-index:20;color:#718198;font-size:13px}.breadcrumb-root,.breadcrumb-slash{color:#718198}.breadcrumb-slash{margin:0 6px}.top-header strong{font-size:13px;font-weight:400}.top-header .ant-btn{font-size:13px;color:#34465d}.top-header .ant-btn>.anticon-down{font-size:11px}.user-avatar{margin-right:7px;background:#dfeafb;color:#235a9a}.page-content{padding:20px 22px 30px;min-width:0;width:100%;max-width:1680px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.page-heading h1{font-size:26px;line-height:1.25;margin:0;color:#172d49;letter-spacing:-.4px;font-weight:600}.page-heading p{font-size:13px;color:#718298;line-height:1.5;margin:5px 0 0}.page-heading-actions{color:#65778e;font-size:13px}.page-heading-actions .ant-btn{font-size:13px;border-radius:4px}.mock-pill{display:inline-block;color:#d73b45;background:#fff3f3;border:1px solid #f2b9bd;border-radius:4px;padding:3px 8px;font-size:13px;font-weight:600;white-space:nowrap}.page-footer{font-size:12px;color:#8392a3;text-align:center;padding:28px 0 4px}.ant-alert{margin-bottom:16px}.workflow-note{padding:10px 16px;border-color:#dce4ed;background:#f8fafc}.workflow-note .ant-alert-message{font-size:13px;color:#65778e}.ant-card{box-shadow:none}.ant-card-head-title{font-size:17px;color:#1b2d45}.table-card{margin-bottom:14px}.table-card>.ant-card-body{padding:0}.table-card .ant-tabs-nav{margin:0;padding:0 16px;min-height:52px}.table-card .ant-tabs-ink-bar{height:3px!important}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;flex-wrap:wrap;border-bottom:1px solid var(--erp-line)}.table-card .ant-table-pagination{padding:0 15px;min-height:24px;font-size:12px}.ant-table-wrapper .ant-table-thead>tr>th{height:39px;padding:0 13px;font-size:12px;font-weight:600}.ant-table-wrapper .ant-table-tbody>tr>td{height:45px;padding:7px 13px;color:#405169;font-size:13px;line-height:1.5}.ant-table-wrapper .ant-btn{font-size:13px}.ant-table-tbody .ant-btn{height:30px}.ant-table-wrapper .ant-tag,.ant-drawer .ant-tag{border-radius:3px;font-size:12px;line-height:21px;padding:2px 7px}.ant-tag-red{color:#d42d39;background:#fff0f0;border-color:#ffc5c8}.ant-tag-orange{color:#d96b14;background:#fff5e9;border-color:#ffd3aa}.ant-tag-green{color:#168b4d;background:#eaf8ef;border-color:#bae8cb}.ant-tag-blue{color:#2869c7;background:#edf4ff;border-color:#c4d8f7}.table-card .ant-alert{margin:0 16px 16px}.table-title{padding:0!important;height:auto!important;text-align:left;white-space:normal;line-height:1.65;font-weight:550}.cell-secondary{font-size:12px;color:#8695a7;line-height:1.65;overflow-wrap:anywhere}.wb-business-list .ant-table-thead th,.wb-business-list .ant-table-tbody td,.wb-business-list .table-title{white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric-tile{background:#fff;border:1px solid #dde4ee;border-radius:5px;padding:16px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;position:relative;color:#5a6d86;min-width:0;transition:border-color .15s}.metric-tile:hover{border-color:#4489de}.metric-icon{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;font-size:24px;background:#e9f1ff;color:#1768e5;border-radius:5px}.metric-tile span{font-size:13px}.metric-tile strong{display:block;font-size:25px;line-height:1.25;color:#152b49;margin:2px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-tile small{font-size:12px;line-height:1.5;display:block}.metric-arrow{position:absolute;right:12px;top:14px;color:#a3b4c8;font-size:12px!important}.processing-grid,.processing-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.processing-summary{margin:14px 0;gap:12px}.processing-summary .ant-card{border-left:3px solid #3578d4;border-radius:4px}.processing-summary .ant-card-body{padding:13px 15px}.processing-summary .ant-statistic-content{font-size:23px;color:#173253}.processing-summary .ant-statistic-title{font-size:12px;color:#718096}.processing-grid .ant-statistic-title{font-size:12px}.processing-grid .ant-statistic-content{font-size:24px}.business-health{margin-top:24px;padding:16px 0;border-top:1px solid #edf0f4;display:flex;gap:18px;align-items:center;font-size:13px}.business-health strong{font-size:20px;margin-right:20px;color:#a66716}.card-note{font-size:12px;line-height:1.7;margin:16px 0 0!important}.detail-meta{margin:20px 0}.proposal-heading{margin:8px 0 18px}.proposal-heading h2{font-size:21px;color:#1b3453;line-height:1.5;margin:0 0 8px}.proposal-heading .ant-space{font-size:12px;color:#78899b}.proposal-form{padding-top:12px}.drawer-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;padding:6px 0}.drawer-footer .ant-space{justify-content:flex-end}.assignment-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid #e0e7f0;background:#f7f9fc;padding:12px;border-radius:5px;margin-bottom:18px}.assignment-row .ant-select{min-width:180px;flex:1}.uncertainty-list{padding-left:18px;margin:4px 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full-width{width:100%}.line-items{border:1px solid #e1e6ed;background:#fafbfd;padding:14px;border-radius:5px;margin-bottom:20px}.line-items-title{font-weight:600;margin-bottom:14px}.line-items-title span{font-weight:400;font-size:12px;color:#76879a;margin-left:8px}.line-item{display:grid;grid-template-columns:minmax(0,1fr) 110px 28px;gap:10px;align-items:center}.line-item.with-price{grid-template-columns:minmax(0,1fr) 90px 110px 28px}.line-item .ant-input-number{width:100%}.line-item .ant-form-item{min-width:0;margin-bottom:14px}.line-item .ant-btn{margin-top:17px}.evidence-message{padding:13px;border:1px solid #dce4ed;border-radius:4px;background:#f8fafc;margin-bottom:14px}.evidence-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}.evidence-meta time{font-size:12px;color:#7a8799}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px;color:#243c57;margin:14px 0}.evidence-context{border-top:1px solid #e4e9ee;margin-top:8px;padding-top:12px}.context-line{padding:10px;border-left:2px solid #e0e8f2;margin-bottom:8px;font-size:12px;color:#748399}.context-line.highlight{background:#edf4ff;border-left-color:#357ccc}.context-line p{margin:5px 0;font-size:13px}.observation{font-size:12px;overflow-wrap:anywhere;margin-bottom:10px}.attachment-row{padding:8px 0;font-size:13px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px dashed #e7ebf1}.change-record{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8fb;padding:12px;font-size:12px}.message-preview{white-space:normal!important;text-align:left;height:auto!important;padding:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7}.settings-card{max-width:700px}.import-controls{display:flex;gap:16px;align-items:flex-start;margin:20px 0;flex-wrap:wrap}.content-panel{background:#fff;border:1px solid #e1e6ed;border-radius:5px;padding:24px}.ant-drawer .ant-drawer-header{padding:19px 22px;border-color:var(--erp-line)}.ant-drawer .ant-drawer-title{font-size:20px;color:#1b2d45}.ant-drawer .ant-drawer-body{padding:19px 22px}.ant-drawer .ant-drawer-footer{padding:15px 22px;border-color:var(--erp-line)}.center-stage{min-height:100vh;display:grid;place-items:center}.login-wrap{max-width:780px;margin:7vh auto;padding:24px}.login-brand{display:flex;gap:16px;align-items:center;margin-bottom:24px;color:#1d446f}.login-brand>.anticon{font-size:48px}.login-brand h1{font-size:26px;margin:0 0 5px}.login-brand p{color:#7a8a9e;margin:0}.login-card .ant-list-item{padding:18px 0}.login-note{color:#8391a1;text-align:center;font-size:12px;margin:20px}.mobile-menu{display:none!important}a:focus-visible,button:focus-visible{outline:2px solid #438fe8!important;outline-offset:3px}@media(max-width:1150px){:root{--sidebar-width: 188px}.brand strong{font-size:13px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-tile strong{font-size:26px}.page-content{padding:16px}}@media(max-width:767px){.desktop-sidebar{display:none!important}.main-layout{margin-left:0}.mobile-menu{display:inline-flex!important}.top-header{padding:0 12px!important;height:56px!important;gap:8px}.header-environment,.breadcrumb-root,.breadcrumb-slash,.header-user{display:none}.top-header>.ant-space{gap:4px!important}.page-content{padding:16px 12px}.page-heading{gap:12px;flex-direction:column;margin-bottom:16px}.page-heading h1{font-size:22px}.page-heading p{font-size:13px}.page-heading>.ant-space{width:100%}.metric-grid{gap:10px}.metric-tile{gap:8px;padding:14px 10px}.metric-icon{display:none}.metric-tile strong{font-size:22px}.metric-tile small{font-size:10px}.table-toolbar{padding:12px}.table-toolbar .ant-input-search,.table-toolbar .ant-select{max-width:100%}.ant-drawer-content-wrapper{max-width:100vw!important}.ant-drawer-body{padding:16px!important}.drawer-footer{display:block}.drawer-footer .ant-space{justify-content:flex-start;margin-top:8px}.drawer-footer .ant-btn{font-size:12px;padding-inline:10px}.field-grid{grid-template-columns:1fr;gap:0}.line-item,.line-item.with-price{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:8px}.line-item .ant-form-item:first-child{grid-column:1 / -1}.line-item:not(.with-price) .ant-form-item:nth-child(2){grid-column:1 / 3}.line-item .ant-btn{margin-top:12px}.processing-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.processing-summary .ant-card-body{padding:14px}.processing-grid{gap:8px}.processing-grid .ant-statistic-content{font-size:20px}.assignment-row>.ant-select{min-width:150px}.business-health{gap:12px}.business-health strong{margin-right:4px}.login-wrap{margin:3vh auto;padding:18px}.login-brand h1{font-size:22px}.login-card .ant-card-body{padding:16px}.login-card .ant-list-item-meta-avatar{display:none}.login-card .ant-list-item-action{margin-left:8px}.login-card .ant-list-item-meta-title .ant-space{gap:4px!important;flex-wrap:wrap}.login-card .ant-tag{margin-inline-end:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.duplicate-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 24px}.duplicate-comparison .ant-typography{overflow-wrap:anywhere}@media(max-width:767px){.duplicate-comparison{grid-template-columns:1fr}}.attachment-evidence{margin:12px 0}.attachment-segments{margin-top:8px}.attachment-segments .ant-table-cell{vertical-align:top;word-break:break-word}.evidence-snapshot{margin:8px 0 12px}.review-assignment,.review-message-card{margin:16px 0}.review-retry{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;align-items:center}.review-message-card .ant-radio-wrapper{margin-top:6px}.line-item.with-price{grid-template-columns:minmax(145px,1fr) 95px minmax(145px,1fr) 110px 32px}.order-unit-field .ant-form-item-extra{font-size:12px;line-height:1.5;margin-top:5px}.unit-config-line{display:flex;align-items:start}.unit-config-line>.ant-space-item{min-width:0}.unit-config-line>.ant-space-item:last-child{padding-top:29px}@media(max-width:700px){.line-item.with-price{grid-template-columns:1fr 1fr}.line-item.with-price>.ant-form-item:first-child{grid-column:1 / -1}.unit-config-line .ant-input-number{width:100%}}
