:root{color:#1b2c40;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--brand-blue:#235fbc;--brand-blue-dark:#1d519f;--navy:#172b42;--navy-soft:#2a527e;--page-bg:#f5f7fa;--border:#dce4ed;--text:#1b2c40;--ink:#1b2c40;--border-color:#dce4ed;--muted:#68798d;background:#f5f7fa}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;color:var(--text);background:var(--page-bg);font-family:Inter,PingFang SC,Microsoft YaHei UI,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button:focus-visible,input:focus-visible,[role=tab]:focus-visible{outline-offset:2px;outline:3px solid #2f66ea47}.route-loading{place-items:center;min-height:100vh;display:grid}.auth-page{background:#fff;grid-template-columns:minmax(420px,1.15fr) minmax(440px,.85fr);min-height:100vh;display:grid}.auth-story{color:#fff;background:linear-gradient(155deg,#183450,#132a42 64%,#1b4165);flex-direction:column;justify-content:center;padding:8vw;display:flex}.auth-story .ant-typography{color:#fff;max-width:640px}.auth-story h1{letter-spacing:-.02em;margin:26px 0 14px;font-size:clamp(38px,4vw,54px)}.auth-story p{opacity:.84;font-size:18px;line-height:1.8}.brand-badge{color:#fff;background:#286abe;border-radius:10px;place-items:center;width:54px;height:54px;font-size:25px;font-weight:800;display:grid;box-shadow:0 8px 24px #0000001f}.auth-feature{opacity:.9;margin-top:36px;font-size:15px}.auth-feature .anticon{margin-right:10px}.auth-card{flex-direction:column;gap:24px;width:min(420px,100% - 48px);margin:auto;display:flex}.auth-card h2{margin:6px 0;font-size:34px}.auth-foot{text-align:center}.wecom-login-panel .ant-alert{padding:8px 12px;font-size:13px}.auth-card>.ant-divider{color:var(--muted);margin:-8px 0;font-size:13px}.wecom-callback-page{background:#f5f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.wecom-callback-page .ant-result{border:1px solid var(--border);background:#fff;border-radius:18px;width:min(620px,100%);padding:48px;box-shadow:0 18px 52px #13243d14}.wecom-callback-loading{width:240px;height:120px}.company-page{background:linear-gradient(160deg,#eef4ff,#f7f9fc 55%,#eef3fa);place-items:center;min-height:100vh;padding:56px 24px;display:grid}.company-panel{width:min(940px,100%)}.company-heading{align-items:flex-start;gap:20px;margin-bottom:34px;display:flex}.company-heading h2{margin:4px 0 8px}.company-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:28px;display:grid}.company-grid .ant-card{border:1px solid var(--border);min-height:190px;position:relative;box-shadow:0 18px 48px #1d376014}.company-grid .ant-card:hover{border-color:#92aff8;transform:translateY(-2px);box-shadow:0 20px 52px #2f66ea21}.company-icon{color:var(--brand-blue);font-size:30px}.company-arrow{color:var(--brand-blue);position:absolute;bottom:24px;right:24px}.app-shell{min-height:100vh}.app-main-layout{min-width:0}.app-sider{z-index:20;height:100vh;box-shadow:none;border-right:1px solid #29425f;top:0;overflow:hidden;background:var(--navy)!important;position:sticky!important}.app-sider .ant-layout-sider-children{flex-direction:column;height:100%;display:flex}.app-brand{color:#fff;background:#1a324d;border-bottom:1px solid #ffffff17;flex:none;align-items:center;gap:11px;height:68px;padding:12px 17px;display:flex}.app-brand>span{color:#fff;background:linear-gradient(145deg,#3478e6,#235bc1);border:1px solid #ffffff1f;border-radius:6px;flex:none;place-items:center;width:38px;height:38px;font-size:19px;font-weight:800;display:grid;box-shadow:0 5px 14px #00000029}.app-brand div{flex-direction:column;min-width:0;display:flex}.app-brand b{white-space:nowrap;font-size:17px;line-height:1.35}.app-brand small{white-space:nowrap;color:#8fb7e0;font-size:12px}.ant-layout-sider-collapsed .app-brand{padding-inline:15px}.sidebar-search{padding:14px 12px 10px}.sidebar-search .ant-input-affix-wrapper{color:#d5dfed;background:#ffffff0b;border-color:#97b2d02e;border-radius:5px;height:34px}.sidebar-search .ant-input-affix-wrapper:hover,.sidebar-search .ant-input-affix-wrapper-focused{background:#ffffff12;border-color:#5e97eaad}.sidebar-search .ant-input{color:#fff;background:0 0}.sidebar-search .ant-input::placeholder{color:#8fa1b9}.sidebar-search .ant-input-prefix{color:#aebdd0}.sidebar-search .ant-input-clear-icon{color:#91a3bb}.sidebar-menu-scroll{scrollbar-width:thin;scrollbar-color:#344a68 transparent;flex:1;min-height:0;overflow:auto}.app-sider .ant-menu{background:0 0;padding:4px 9px 16px;border-inline-end:0!important}.app-sider .ant-menu-item-group-title{color:#7f91a4;letter-spacing:.04em;padding:16px 12px 5px;font-size:11px}.app-sider .ant-menu-item{border-radius:7px;height:40px;margin-block:3px;line-height:40px;position:relative;padding-inline:12px!important}.app-sider .ant-menu-submenu-title{letter-spacing:.01em;border-radius:7px;height:42px;margin-block:3px;font-weight:600;line-height:42px;position:relative;color:#d7e1ed!important;padding-inline:12px!important}.app-sider .ant-menu-submenu-title:hover{color:#fff!important;background:#5b80a929!important}.app-sider .ant-menu-submenu-open>.ant-menu-submenu-title,.app-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important;background:#223f60!important}.app-sider .ant-menu-submenu-open>.ant-menu-submenu-title:before{content:"";background:#4e8df5;border-radius:0 3px 3px 0;width:3px;position:absolute;top:11px;bottom:11px;left:0}.app-sider .ant-menu-submenu>.ant-menu{background:0 0;border-left:1px solid #7598be40;margin:0 0 5px 22px;padding:3px 0 4px!important}.app-sider .ant-menu-submenu>.ant-menu .ant-menu-item{height:36px;margin-block:1px;line-height:36px;padding-inline-start:18px!important}.app-sider .ant-menu-item .anticon,.app-sider .ant-menu-submenu-title .anticon{color:#aebed3;font-size:16px}.app-sider .ant-menu-submenu-open>.ant-menu-submenu-title .anticon,.app-sider .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:#bcd7ff}.app-sider .ant-menu-submenu-arrow{color:#91a4bb!important}.app-sider .ant-menu-item-selected:before{content:"";background:#61a0ff;border-radius:0 3px 3px 0;width:3px;position:absolute;top:7px;bottom:7px;left:-8px}.app-sider .ant-menu-item-selected .anticon{color:#fff}.nav-label{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.nav-label>span{text-overflow:ellipsis;overflow:hidden}.nav-label small{color:#7287a5;flex:none;font-size:11px}.ant-menu-item-selected .nav-label small{color:#9fbdff}.ant-layout-sider-collapsed .ant-menu-item-group-title{display:none}.ant-layout-sider-collapsed .ant-menu-item{padding-inline:calc(50% - 9px)!important}.sidebar-footer{border-top:1px solid #ffffff14;flex:none;align-items:center;gap:10px;min-height:54px;padding:8px 12px;display:flex}.sidebar-footer .ant-btn{color:#c4d0df}.sidebar-footer .ant-btn:hover{color:#fff!important;background:#ffffff14!important}.sidebar-footer div{color:#fff;flex-direction:column;line-height:1.35;display:flex}.sidebar-footer small{color:#7990ae}.app-header{z-index:15;border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,270px) minmax(300px,440px) auto;align-items:center;gap:24px;height:64px;padding:0 24px;line-height:normal;display:grid;position:sticky;top:0;background:#fff!important}.company-control{border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.company-control>.anticon{color:var(--text);font-size:19px}.company-control .ant-select{flex:1;min-width:0;font-weight:600}.company-control .ant-select-selector{padding-inline:4px!important}.global-search{border-radius:8px;height:38px}.global-search .ant-input-prefix{color:#91a0b5;margin-right:10px;font-size:19px}.global-search kbd{color:#8190a6;border:1px solid var(--border);background:#fafbfe;border-radius:5px;padding:2px 7px;font-family:inherit;font-size:12px}.header-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.notice-button{color:#53647c;width:42px;height:42px;font-size:19px}.profile-control{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:4px 8px;display:flex}.profile-control:hover{background:#f4f7fc}.profile-control .ant-avatar{color:#2459cc;background:#e5edff;font-weight:700}.user-summary{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.35;display:flex}.user-summary .ant-typography{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}.user-summary .ant-typography:last-child{color:var(--muted);font-size:12px}.app-content{background:var(--page-bg);min-width:0}.page-stack{flex-direction:column;gap:16px;width:100%;max-width:1760px;margin:0 auto;display:flex}.page-hero{border-bottom:1px solid var(--border);background:#fff;padding:14px 24px}.page-hero.has-tabs{padding-bottom:0}.page-hero+*{margin-inline:24px}.page-hero-top{justify-content:space-between;align-items:center;gap:20px;min-height:36px;display:flex}.page-hero .ant-breadcrumb{color:#8290a5;min-width:0;margin-bottom:0;font-size:13px}.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.page-tabs{gap:24px;margin-top:10px;display:flex}.page-tabs button{color:#64758e;cursor:pointer;background:0 0;border:0;padding:0 0 11px;font-size:14px;font-weight:600;position:relative}.page-tabs button:hover,.page-tabs button.is-active{color:var(--brand-blue)}.page-tabs button.is-active:after{background:var(--brand-blue);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.page-stack>.ant-alert,.page-stack>.ant-row,.page-stack>.ant-card,.page-stack>.filter-panel,.page-stack>.rules-panel,.page-stack>.table-panel,.page-stack>.metric-grid,.page-stack>.welcome-strip{margin-inline:24px}.page-stack>:last-child{margin-bottom:24px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{border-color:var(--border);border-top:2px solid #456f9c;min-height:104px;overflow:hidden}.metric-card:nth-child(2){border-top-color:#24906f}.metric-card:nth-child(3){border-top-color:#4f74bb}.metric-card:nth-child(4){border-top-color:#c87812}.metric-card:hover{border-color:#bdc8d5;border-top-color:var(--brand-blue);box-shadow:0 5px 16px #18345a12}.metric-card.metric-card-action{cursor:pointer}.metric-card.metric-card-action.is-active{background:#f4f8ff;border-color:#2563c9;box-shadow:0 3px 10px #18345a1a}.metric-card.metric-card-action:focus-visible{outline-offset:2px;outline:2px solid #2563c9}.metric-card .ant-card-body{padding:16px 18px}.metric-label{color:#59697c;margin-bottom:10px;font-size:13px;display:block}.metric-value{color:#172536;font-size:26px;font-weight:750;line-height:1;display:block}.metric-value.is-warning{color:#d37b00}.project-overview-alerts{z-index:5;background:var(--page-bg);padding-bottom:2px;position:sticky;top:0}.project-overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.overview-metric .ant-card-body{flex-direction:column;min-height:116px;display:flex}.overview-metric span{color:var(--muted);font-size:13px}.overview-metric strong{color:var(--ink);margin:8px 0 2px;font-size:28px;line-height:1.15}.overview-metric strong.is-warning{color:#d46b08}.overview-metric small{color:var(--muted);margin-top:auto}.project-node-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.project-node-card{border:1px solid var(--border);min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:13px 16px;display:grid}.project-node-card:hover{border-color:#91caff;box-shadow:0 3px 12px #1860e81a}.project-node-card>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;line-height:1.5;overflow:hidden}.project-node-card>.ant-tag{white-space:nowrap;justify-self:end;margin-inline-end:0}.project-node-card>small{color:#cf1322;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;line-height:1.4;overflow:hidden}.project-node-card.is-blocked{background:#fff7f6;border-color:#ffccc7}.project-node-card.is-completed{background:#f6ffed;border-color:#b7eb8f}.project-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.overview-section .ant-card-body{min-height:178px}.overview-mini-list{flex-direction:column;display:flex}.embedded-filter-form{border:1px solid var(--border-color);background:#f8fafc;border-radius:12px;row-gap:12px;margin-bottom:16px;padding:14px 16px}.overview-mini-item{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:9px 0;display:flex}.overview-mini-item:last-child{border-bottom:0}.overview-mini-content{min-width:0}.overview-mini-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.overview-mini-description{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.overview-mini-status{flex:none}.overview-supplier{color:var(--muted);background:#f6f8fb;border-radius:8px;margin-top:10px;padding:9px 12px}.metric-value.amount-value{font-size:26px}.metric-note{color:#7b8795;margin-top:10px;font-size:12px;display:block}.filter-panel,.table-panel,.rules-panel{border-color:var(--border)!important}.page-stack>.ant-card,.page-stack>.ant-row .ant-card,.metric-card{box-shadow:0 2px 10px #1c335109;border-radius:10px!important}.filter-panel .ant-card-body,.compact-filter-panel .ant-card-body{padding:16px 18px 4px}.compact-filter-panel .list-filters{gap:10px 12px}.compact-filter-panel .list-filters .ant-form-item{margin-bottom:10px}.compact-filter-panel .list-filters .ant-form-item-label{padding-bottom:4px}.filter-panel .ant-input-affix-wrapper,.filter-panel .ant-input-group-wrapper,.filter-panel .ant-input-group,.filter-panel .ant-input-number,.filter-panel .ant-picker,.filter-panel .ant-select-single{height:36px;width:100%!important}.filter-panel input.ant-input{width:100%!important}.filter-panel input.ant-input.ant-input-outlined{height:36px;padding-block:5px;line-height:24px}.filter-panel .ant-input-affix-wrapper{align-items:center}.filter-panel .ant-input-affix-wrapper>input.ant-input{height:auto;padding-block:0;line-height:24px}.filter-panel .ant-btn,.filter-panel .ant-input-group .ant-input-affix-wrapper{height:36px}.filter-panel .ant-input-number-input{height:34px;line-height:34px}.filter-panel .ant-picker-input>input{line-height:24px}.filter-panel .ant-select-single .ant-select-selector{height:36px!important}.filter-panel .ant-select-single .ant-select-selection-item,.filter-panel .ant-select-single .ant-select-selection-placeholder{line-height:34px!important}.list-filters{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:12px 14px;display:grid}.supplier-list-filters,.project-list-filters{grid-template-columns:repeat(5,minmax(0,1fr))}.list-filters>.ant-form-item:last-child,.project-list-filters .filter-actions-field{grid-area:auto/5;justify-self:stretch}.advanced-filter-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;display:grid}.advanced-filter-fields .ant-form-item{margin-bottom:14px}.list-filters .ant-form-item{min-width:0;margin:0 0 12px}.list-filters .ant-form-item-label{padding-bottom:5px}.list-filters .ant-form-item-label>label{color:#41546b;font-size:13px;font-weight:600}.list-filters .ant-input-affix-wrapper,.list-filters .ant-select{width:100%!important}.filter-actions{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.filter-actions .ant-btn-link{color:#66768e}.filter-panel form>.ant-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px;display:grid;margin:0!important}.filter-panel form>.ant-row>.ant-col{max-width:none;padding:0!important}.compact-filter-panel form>.ant-row>.ant-col:last-child{grid-column:5}.compact-filter-panel form>.ant-row>.ant-col:last-child .ant-space,.boss-query-panel form>.ant-space{justify-content:flex-end;width:100%;display:flex}.filter-panel>.ant-card-body>.ant-space{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;width:100%;display:grid;gap:10px!important}.filter-panel>.ant-card-body>.ant-space>.ant-space-item{min-width:0}.filter-panel>.ant-card-body>.ant-space>.ant-space-item:first-child{order:10;grid-column:1/5}.filter-panel>.ant-card-body>.ant-space>.ant-space-item:last-child{order:11;grid-column:5;justify-self:end}.page-stack>.approval-summary-strip{margin-inline:24px}.approval-filter-panel{border-color:var(--border)!important}.approval-filter-panel .ant-card-body{padding:17px 20px 16px}.approval-filter-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.approval-filter-heading>div{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.approval-filter-heading strong{color:var(--ink);font-size:14px}.approval-filter-heading span{color:var(--muted);font-size:12px}.approval-filter-heading .ant-tag{margin-inline-end:0}.approval-filter-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 14px;display:grid}.approval-filter-advanced{border-top:1px solid #edf1f5;margin-top:14px;padding-top:14px}.approval-filter-field{flex-direction:column;gap:5px;min-width:0;display:flex}.approval-filter-field>span{color:#41546b;font-size:13px;font-weight:600}.approval-filter-field .ant-select,.approval-filter-field .ant-picker,.approval-filter-field .ant-input-number,.approval-filter-field .ant-input-affix-wrapper{width:100%;height:36px}.approval-filter-field .ant-select-single .ant-select-selector{height:36px!important}.approval-filter-field .ant-select-single .ant-select-selection-item,.approval-filter-field .ant-select-single .ant-select-selection-placeholder{line-height:34px!important}.approval-filter-field .ant-input-number-input{height:34px}.approval-filter-footer{border-top:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding-top:12px;display:flex}.approval-filter-footer>.ant-btn-link{color:var(--brand-blue);padding-inline:0}.approval-filter-footer .ant-space{margin-left:auto}.approval-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.approval-summary-item{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:1fr auto;align-content:center;gap:3px 12px;min-height:78px;padding:13px 18px;display:grid;box-shadow:0 2px 10px #1c335109}.approval-summary-item span{color:#4f6279;font-size:13px}.approval-summary-item strong{color:var(--ink);font-variant-numeric:tabular-nums;grid-area:1/2/3;align-self:center;font-size:25px;line-height:1}.approval-summary-item small{color:#8291a2;font-size:12px}.approval-summary-item.is-alert strong{color:#bc6a16}.table-panel .ant-card-head{min-height:54px;padding-inline:18px}.table-panel .ant-card-head-title{padding-block:10px}.table-panel .ant-card-body{padding:0}.table-title{flex-direction:column;gap:2px;display:flex}.table-title>span{font-size:15px}.table-title>small{color:#7b8795;font-size:12px;font-weight:400}.table-panel .ant-table-thead>tr>th{height:46px;padding-block:10px;font-size:13px;font-weight:650}.table-panel .ant-table-tbody>tr>td{height:52px;padding-block:10px}.table-panel .ant-table-tbody>tr{transition:background-color .16s}.table-panel .ant-table-tbody>tr:hover>td{background:#f5f8ff!important}.table-panel .ant-pagination{margin:14px 16px!important}.cell-link{text-align:left;height:auto;padding:0;font-weight:650}.status-tag{border:0;padding-inline:10px;font-weight:600}.rules-panel .ant-card-body{padding:28px}.rules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.rule-item{background:#f7f9fd;border:1px solid #e4eaf3;border-radius:12px;padding:20px}.rule-item .anticon{color:var(--brand-blue);margin-bottom:14px;font-size:22px}.rule-item h4{margin:0 0 8px;font-size:16px}.rule-item p{color:#697a92;margin:0;line-height:1.7}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;display:grid}.welcome-strip{color:#fff;background:linear-gradient(120deg,#17375f,#2458b8 74%,#2f66ea);border-radius:14px;justify-content:space-between;align-items:center;min-height:160px;padding:28px 32px;display:flex;overflow:hidden}.welcome-strip .ant-typography{color:#fff}.welcome-strip h2{margin:4px 0}.welcome-strip p{opacity:.78;margin:0}.welcome-mark{color:#ffffffd6;background:#ffffff1f;border-radius:28px;place-items:center;width:104px;height:104px;font-size:46px;display:grid}.analytics-grid{margin-inline:24px}.analytics-grid>.ant-col{display:flex}.analytics-grid .ant-card{border-color:var(--border);width:100%}.analytics-filters{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px;display:grid}.analytics-filters .ant-form-item{margin-bottom:14px}.analytics-filters .ant-form-item:last-child{grid-column:1/-1;justify-self:end}.analytics-status{margin:0 24px}.distribution-list{flex-direction:column;justify-content:center;gap:17px;min-height:230px;display:flex}.distribution-row{color:#60718a;width:100%;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:86px 1fr 34px;align-items:center;gap:12px;padding:3px 0;display:grid}.distribution-row:not(:disabled){cursor:pointer}.distribution-row:not(:disabled):hover,.distribution-row:not(:disabled):focus-visible{color:#1e5cdb}.distribution-row:disabled{cursor:default}.distribution-row>b{color:#15243c;text-align:right}.distribution-track{background:#eef2f8;border-radius:5px;height:9px;overflow:hidden}.distribution-track>i{border-radius:inherit;height:100%;display:block}.compact-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;padding:8px 0 22px;display:grid}.compact-stat-grid .ant-statistic-content{font-size:22px}.compact-stat-grid .ant-statistic-content-value{overflow-wrap:anywhere}.card-foot-note{color:#708097;border-top:1px solid var(--border);padding-top:14px}.danger-number{color:#cf1322}.node-progress-list{flex-direction:column;justify-content:center;gap:12px;min-height:230px;display:flex}.node-progress-list>div{grid-template-columns:90px 1fr;align-items:center;gap:14px;display:grid}.boss-query-panel .ant-card-body{padding-bottom:8px}.boss-type-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.boss-type-tabs button{color:#62738b;cursor:pointer;background:#f4f7fb;border:1px solid #e1e7f0;border-radius:8px;padding:7px 14px}.boss-type-tabs button:hover{color:var(--brand-blue);border-color:#a8bff8}.boss-type-tabs button.is-active{color:#fff;background:var(--brand-blue);border-color:var(--brand-blue)}.settings-company-card{border-color:var(--border)}.permission-check-grid{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;max-height:330px;padding:12px;display:grid;overflow:auto}.permission-check-grid .ant-checkbox-wrapper{margin-inline-start:0;font-size:12px}.notification-menu-item{flex-direction:column;gap:3px;width:260px;display:flex}.notification-menu-item b{color:#172842}.notification-menu-item span{color:#718198;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-option{align-items:flex-start;gap:8px;padding:4px 0;display:flex}.global-search-option>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.global-search-option b,.global-search-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-option small{color:#718198}.validation-result{flex-direction:column;gap:14px;margin-top:18px;display:flex}.table-subline{margin-top:3px;font-size:12px;line-height:1.45;display:block}@media (width<=1180px){.app-header{grid-template-columns:minmax(210px,270px) minmax(220px,1fr) auto;gap:16px;padding-inline:20px}.metric-grid,.list-filters,.supplier-list-filters,.project-list-filters,.analytics-filters,.filter-panel form>.ant-row,.filter-panel>.ant-card-body>.ant-space{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel>.ant-card-body>.ant-space>.ant-space-item:first-child,.filter-panel>.ant-card-body>.ant-space>.ant-space-item:last-child{grid-column:1/-1}.list-filters>.ant-form-item:last-child,.project-list-filters .filter-actions-field,.compact-filter-panel form>.ant-row>.ant-col:last-child{grid-column:2}.advanced-filter-fields{grid-area:auto/1/auto/-1}.approval-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-card{justify-content:center;min-height:100vh}.company-grid{grid-template-columns:1fr}.app-header{grid-template-columns:minmax(150px,1fr) auto;height:68px;padding:0 12px}.global-search{display:none}.company-control{height:42px}.header-actions{gap:2px}.user-summary{display:none}.page-hero{padding:14px 18px}.page-hero.has-tabs{padding-bottom:0}.page-hero+*,.page-stack>.ant-alert,.page-stack>.ant-row,.page-stack>.ant-card,.page-stack>.filter-panel,.page-stack>.rules-panel,.page-stack>.table-panel,.page-stack>.metric-grid,.page-stack>.welcome-strip,.page-stack>.approval-summary-strip{margin-inline:14px}.page-hero-top{flex-direction:column;align-items:flex-start}.page-actions{justify-content:flex-start;width:100%}.page-tabs{gap:20px;max-width:100%;overflow-x:auto}.metric-grid,.rules-grid,.project-overview-metrics,.project-overview-grid,.project-node-grid{grid-template-columns:1fr}.list-filters{grid-template-columns:1fr;gap:0}.project-list-filters,.supplier-list-filters,.analytics-filters,.filter-panel form>.ant-row,.filter-panel>.ant-card-body>.ant-space{grid-template-columns:1fr}.list-filters>.ant-form-item:last-child,.project-list-filters .filter-actions-field,.compact-filter-panel form>.ant-row>.ant-col:last-child{grid-column:1}.advanced-filter-fields{grid-template-columns:1fr;gap:0}.filter-actions{padding-bottom:2px}.approval-filter-grid,.approval-summary-strip{grid-template-columns:1fr}.approval-filter-panel .ant-card-body{padding:15px}.approval-filter-heading{align-items:flex-start}.approval-filter-heading>div{flex-direction:column;gap:2px}.form-grid{grid-template-columns:1fr}.analytics-filters{grid-template-columns:1fr;gap:0}.welcome-strip{padding:24px}.welcome-mark{display:none}}@media (prefers-reduced-motion:no-preference){.company-grid .ant-card,.profile-control,.page-tabs button,.metric-card{transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .18s}}.entity-log-modal .ant-table-thead>tr>th{color:#fff;text-align:center;background:#4d56a8}.entity-log-modal .ant-table-tbody>tr>td{vertical-align:top}.entity-log-modal .ant-pagination{justify-content:center}:root{--control-height:32px;--page-gutter:16px;--section-gap:8px;--table-row-height:44px;--panel-radius:4px}body{font-size:14px}body .app-sider{border-right:1px solid var(--border);color:var(--text);background:#fff!important}body .app-brand{height:48px;color:var(--text);border-bottom:1px solid var(--border);background:#fff;gap:8px;padding:8px 12px}body .app-brand>span{width:30px;height:30px;box-shadow:none;background:var(--brand-blue);border:0;border-radius:4px;font-size:16px}body .app-brand b{font-size:16px}body .app-brand small{color:var(--muted);font-size:12px}body .sidebar-search{padding:8px}body .sidebar-search .ant-input-affix-wrapper{height:32px;color:var(--text);border-color:var(--border);background:#f7f9fc;border-radius:4px}body .sidebar-search .ant-input,body .sidebar-search .ant-input-prefix{color:var(--text);background:0 0}body .sidebar-search .ant-input::placeholder{color:var(--muted)}body .app-sider .ant-menu{background:#fff;padding:0 8px 8px}body .app-sider .ant-menu-submenu-title,body .app-sider .ant-menu-item{border-radius:4px;height:36px;margin-block:2px;font-weight:400;line-height:36px;color:var(--text)!important}body .app-sider .ant-menu-submenu-title:hover,body .app-sider .ant-menu-submenu-open>.ant-menu-submenu-title,body .app-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--brand-blue)!important;background:#f3f6fb!important}body .app-sider .ant-menu-item-selected{background:#eaf2ff;color:var(--brand-blue)!important}body .app-sider .ant-menu-submenu>.ant-menu{border-left:0;margin:0 0 4px 10px}body .app-sider .ant-menu-item .anticon,body .app-sider .ant-menu-submenu-title .anticon,body .app-sider .ant-menu-submenu-arrow{font-size:15px;color:var(--brand-blue)!important}body .app-sider .ant-menu-submenu-title:before,body .app-sider .ant-menu-item:before{display:none}body .sidebar-footer{border-color:var(--border);min-height:40px;padding:4px 8px}body .sidebar-footer div,body .sidebar-footer .ant-btn{color:var(--text)}body .sidebar-footer small{color:var(--muted)}body .app-header{grid-template-columns:minmax(0,1fr) auto;gap:16px;height:48px;padding:0 16px}.header-breadcrumb{min-width:0;overflow:hidden}.header-breadcrumb .ant-breadcrumb{font-size:14px}.header-breadcrumb .ant-breadcrumb ol{flex-wrap:nowrap;align-items:center}.header-breadcrumb .ant-breadcrumb li{white-space:nowrap}.header-breadcrumb .ant-breadcrumb li:last-child{text-overflow:ellipsis;min-width:0;color:var(--text);font-size:16px;font-weight:600;overflow:hidden}body .notice-button{width:32px;height:32px;font-size:16px}body .profile-control{border-radius:4px;padding:0 4px}body .header-actions{gap:8px}body .app-content .page-stack{gap:8px;max-width:none;padding-bottom:16px}body .app-content .page-stack>*{min-width:0}body .app-content .page-stack>.ant-card,body .app-content .page-stack>.ant-row,body .app-content .page-stack>.ant-alert,body .app-content .page-stack>.metric-grid,body .app-content .page-stack>.welcome-strip,body .app-content .page-stack>.ant-tabs,body .app-content .page-stack>.approval-summary-strip{margin-inline:16px}body .app-content .page-stack>:last-child{margin-bottom:0}body .app-content .page-hero{border-bottom:1px solid var(--border);background:#fff;padding:8px 16px}body .app-content .page-hero-top{gap:8px;min-height:24px}body .app-content .page-hero .ant-breadcrumb{font-size:14px}body .app-content .page-hero .ant-breadcrumb li:last-child{color:var(--text);font-size:16px;font-weight:600}body .app-content .page-tabs{gap:24px;margin-top:8px}body .app-content .page-tabs button{padding-bottom:8px;font-weight:400}body .app-content .ant-tabs-nav{margin-bottom:8px}body .app-content .ant-card{box-shadow:none!important;border-radius:4px!important}body .app-content .ant-card-head{min-height:44px;padding:0 12px;font-size:14px}body .app-content .ant-card-head-title{white-space:normal;padding-block:6px;font-weight:500}body .app-content .ant-card-body{padding:12px}body .app-content .filter-panel .ant-card-body{padding:12px 16px}body .app-content .table-panel .ant-card-body{padding:0}body .app-content .table-panel .ant-card-head{min-height:48px;padding-inline:8px}body .app-content .table-panel .ant-card-head-title{padding-block:8px}body .app-content .filter-panel :is(.list-filters,.unit-filters,.payments-filters,.procurement-filters,.bidding-filters,.analytics-filters,.approval-filter-grid){grid-template-columns:repeat(3,minmax(240px,1fr));align-items:center;gap:8px 16px;display:grid}body .app-content .filter-panel .ant-form-item{min-width:0;margin-bottom:0}body .app-content .filter-panel .ant-form-item-row{flex-flow:row;align-items:center}body .app-content .filter-panel .ant-form-item-label{text-align:right;white-space:normal;flex:0 0 84px;padding:0 8px 0 0}body .app-content .filter-panel .ant-form-item-label>label{height:auto;min-height:32px;font-size:14px;font-weight:400;line-height:20px}body .app-content .filter-panel .ant-form-item-control{flex:1;min-width:0}body .app-content .filter-panel :is(.ant-select-single,.ant-picker,.ant-input-affix-wrapper,.ant-input-number,.ant-btn){height:32px!important}body .app-content .filter-panel input.ant-input.ant-input-outlined{height:32px;padding-block:4px;line-height:22px}body .app-content .filter-panel .ant-input-number-input{height:30px;line-height:30px}body .app-content .filter-panel .ant-select-single .ant-select-selector{height:32px!important}body .app-content .filter-panel .ant-select-single :is(.ant-select-selection-item,.ant-select-selection-placeholder){line-height:30px!important}body .app-content .filter-panel :is(.unit-filter-actions,.filter-actions){justify-content:flex-end;gap:8px;margin:0;padding:0}body .app-content .unit-page .filter-panel form{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}body .app-content .unit-page .filter-panel .unit-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}body .app-content .table-title{gap:0}body .app-content .table-title>span{font-size:14px}body .app-content .table-title>small{font-size:12px}body .app-content .ant-table{font-size:14px}body .app-content .ant-table-thead>tr>th{background:#f7f8fa;border-right:1px solid #edf0f4;height:44px;padding:10px 12px;font-size:14px;font-weight:600;line-height:22px}body .app-content .ant-table-tbody>tr>td{vertical-align:middle;border-right:1px solid #edf0f4;height:44px;padding:10px 12px;line-height:22px}body .app-content .ant-table-tbody .ant-btn-link{height:22px;min-height:22px;padding:0 4px;font-size:14px}body .app-content .ant-table-tbody .ant-tag{margin-block:0;line-height:22px}body .app-content .ant-pagination{margin:12px 16px!important}body .app-content .ant-alert{border-radius:4px;padding:8px 12px;font-size:14px}body .app-content .table-panel>.ant-card-body>.ant-alert{margin:8px!important}body .app-content .rules-panel .ant-card-body{padding:16px}body .app-content :is(.rules-grid,.project-overview-grid){gap:8px}body .app-content .rule-item{border-radius:4px;padding:12px}body .app-content .rule-item .anticon{margin-bottom:8px;font-size:18px}body .app-content .rule-item h4{font-size:14px}body .app-content .metric-grid,body .app-content .project-overview-metrics,body .app-content .approval-summary-strip{gap:8px}body .app-content .metric-card{border-top-width:1px;min-height:80px}body .app-content .metric-card .ant-card-body{padding:12px}body .app-content .metric-label{margin-bottom:4px;font-size:14px}body .app-content .metric-value,body .app-content .metric-value.amount-value,body .app-content .overview-metric strong,body .app-content .approval-summary-item strong{font-size:22px;font-weight:600}body .app-content .overview-metric .ant-card-body{min-height:90px}body .app-content .approval-summary-item{min-height:72px;box-shadow:none;border-radius:4px;padding:12px}body .app-content .welcome-strip{min-height:72px;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:4px;padding:12px 16px}body .app-content .welcome-strip .ant-typography{color:var(--text)}body .app-content .welcome-strip h2{margin:0 0 4px;font-size:16px}body .app-content .welcome-strip p{margin:0;font-size:14px}body .app-content .welcome-mark{display:none}body .ant-modal.standard-modal .ant-modal-content{border-radius:4px;padding:0;overflow:hidden}body .ant-modal.standard-modal .ant-modal-header{border-bottom:1px solid var(--border);margin:0;padding:12px 16px}body .ant-modal.standard-modal .ant-modal-title{font-size:16px;line-height:24px}body .ant-modal.standard-modal .ant-modal-body{padding:16px}body .ant-modal.standard-modal .ant-modal-footer{border-top:1px solid var(--border);background:#fff;margin:0;padding:12px 16px}body .ant-modal.standard-modal .ant-form-item{margin-bottom:16px}body .ant-modal.standard-modal .ant-form-item-label{padding-bottom:4px}body .ant-modal.standard-modal .ant-form-item-label>label{font-size:14px}body .ant-modal.standard-modal .ant-card{box-shadow:none;border-radius:4px}body .ant-modal.standard-modal .ant-card-head{min-height:40px;padding-inline:12px}body .ant-modal.standard-modal .ant-card-body{padding:12px}body .ant-modal.standard-modal .ant-input-number{width:100%}body .auth-page{background:#f5f7fa;justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}body .auth-story{display:none}body .auth-card{border:1px solid var(--border);background:#fff;border-radius:4px;gap:16px;width:min(420px,100%);margin:0;padding:24px}body .auth-card h2{margin:0 0 8px;font-size:20px}body .auth-card .ant-form-item{margin-bottom:16px}body .auth-card .ant-form-item-label{padding-bottom:4px}body .auth-card .ant-btn,body .auth-card .ant-input-affix-wrapper{height:32px}body .auth-card .ant-alert{padding:8px 12px;font-size:14px}body .auth-card>.ant-divider{margin:0}@media (width>=1500px){body .app-content .filter-panel :is(.payments-filters,.procurement-filters){grid-template-columns:repeat(3,minmax(280px,1fr))}}@media (width<=1180px){body .app-content .filter-panel :is(.list-filters,.unit-filters,.payments-filters,.procurement-filters,.bidding-filters,.analytics-filters,.approval-filter-grid){grid-template-columns:repeat(2,minmax(200px,1fr))}body .app-content .unit-page .filter-panel form{grid-template-columns:1fr}body .app-content .unit-page .filter-panel .unit-filters{grid-template-columns:repeat(2,minmax(200px,1fr))}}@media (width<=800px){body .app-header{grid-template-columns:1fr auto;height:48px;padding-inline:12px}body .app-content .page-stack>.ant-card,body .app-content .page-stack>.ant-row,body .app-content .page-stack>.ant-alert,body .app-content .page-stack>.metric-grid,body .app-content .page-stack>.welcome-strip,body .app-content .page-stack>.ant-tabs{margin-inline:12px}body .app-content .filter-panel :is(.list-filters,.unit-filters,.payments-filters,.procurement-filters,.bidding-filters,.analytics-filters,.approval-filter-grid),body .app-content .unit-page .filter-panel .unit-filters{grid-template-columns:1fr}body .app-content .filter-panel .ant-form-item-label{flex-basis:90px}body .auth-card{min-height:0}body .standard-modal{max-width:calc(100vw - 16px)!important}}body .app-content .filter-panel :is(.list-filters,.payments-filters,.procurement-filters,.bidding-filters,.analytics-filters,.approval-filter-grid)>.ant-form-item{grid-column:auto}body .app-content .filter-panel .filter-actions{grid-column:1/-1;justify-self:end}body .app-content .filter-panel .filter-actions .ant-form-item{margin:0}body .app-content .filter-panel .ant-form-item-control-input-content{min-width:0}body .app-content .filter-panel .ant-select,body .app-content .filter-panel .ant-picker{width:100%;min-width:0}body .app-content .ant-table-cell-ellipsis{max-width:0}body .app-content .filter-panel form>.ant-row{grid-template-columns:repeat(3,minmax(200px,1fr));align-items:center;gap:8px 16px}body .app-content .compact-filter-panel form>.ant-row>.ant-col:last-child{grid-column:auto}body .app-content .filter-panel>.ant-card-body>.ant-space{grid-template-columns:minmax(0,1fr) auto;gap:8px!important}body .app-content .filter-panel>.ant-card-body>.ant-space>.ant-space-item:first-child{order:0;grid-column:1}body .app-content .filter-panel>.ant-card-body>.ant-space>.ant-space-item:last-child{order:1;grid-column:2}@media (width<=1180px){body .app-content .filter-panel form>.ant-row{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (width<=800px){body .app-content .filter-panel form>.ant-row,body .app-content .filter-panel>.ant-card-body>.ant-space{grid-template-columns:1fr}body .app-content .filter-panel>.ant-card-body>.ant-space>.ant-space-item:last-child{grid-column:1}}body .ant-modal.detail-modal{max-width:calc(100vw - 32px);padding-bottom:0}body .ant-modal.detail-modal :is(.ant-modal-container,.ant-modal-content){border-radius:4px;flex-direction:column;max-height:calc(100dvh - 32px);padding:0;display:flex;overflow:hidden}body .ant-modal.detail-modal .ant-modal-header{border-bottom:1px solid var(--border);flex:none;margin:0;padding:12px 48px 12px 16px}body .ant-modal.detail-modal .ant-modal-title{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:24px}body .ant-modal.detail-modal .ant-modal-close{inset-inline-end:12px;width:28px;height:28px;top:10px}body .ant-modal.detail-modal .ant-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:16px;overflow:hidden auto;max-height:none!important}body .ant-modal.detail-modal .ant-modal-footer{border-top:1px solid var(--border);background:#fff;flex:none;max-height:40dvh;margin:0;padding:12px 16px;overflow-y:auto}.detail-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.detail-modal-actions .ant-space{flex-wrap:wrap;min-width:0;gap:8px!important}.detail-modal .ant-tabs,.detail-modal .ant-tabs-content-holder,.detail-modal .ant-table-wrapper{min-width:0;max-width:100%}.detail-modal .ant-table-content{overflow-x:auto}.select-add-option{border-top:1px solid var(--border,#e5eaf2);background:#fff;flex:none;padding:4px 8px}.detail-modal :is(.ant-descriptions-item-content,.ant-typography){overflow-wrap:anywhere}.detail-modal .ant-row:not(.ant-form-item-row)>.ant-col{min-width:0}@media (width<=800px){body .ant-modal.detail-modal{max-width:calc(100vw - 24px)!important}body .ant-modal.detail-modal :is(.ant-modal-container,.ant-modal-content){max-height:calc(100dvh - 24px)}.detail-modal :is(.metric-grid,.project-overview-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}.detail-modal .ant-row:not(.ant-form-item-row)>:is(.ant-col-6,.ant-col-8,.ant-col-12){flex:0 0 50%;max-width:50%}}@media (width<=480px){body .ant-modal.detail-modal .ant-modal-body{padding:12px}.detail-modal :is(.metric-grid,.project-overview-metrics){grid-template-columns:minmax(0,1fr)}.detail-modal .ant-row:not(.ant-form-item-row)>.ant-col{flex:0 0 100%;max-width:100%}}body .app-content .business-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}body .app-content .business-list-actions{flex:240px;align-items:center;gap:8px;min-width:0;display:flex}body .app-content .business-list-actions>.ant-space{flex:1;min-width:0}body .app-content .business-list-actions>.ant-btn:last-child{margin-left:auto}body .app-content .filter-panel form.standard-filter-form{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 16px;display:grid}body .app-content .standard-filter-form .standard-filter-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px 16px;min-width:0;display:grid}body .app-content .standard-filter-form .standard-filter-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:320px;display:flex}body .app-content .standard-filter-form .standard-filter-actions>*{margin:0!important}body .app-content .filter-panel form.standard-filter-form .ant-form-item-row>.ant-form-item-label{text-align:right;flex:0 0 100px;width:100px;max-width:100px}body .app-content .filter-panel form.standard-filter-form .ant-form-item-row>.ant-form-item-control{flex:1 1 0;width:auto;min-width:0;max-width:none}body .app-content .standard-filter-form .ant-form-item-hidden{display:none}body .app-content .standard-filter-form .standard-filter-actions .ant-btn-link{padding-inline:8px}body .app-content .standard-filter-form .standard-filter-actions .ant-btn-link:not(:last-child){color:var(--text);border:1px solid var(--border);background:#fff}body .app-content .standard-filter-form .standard-filter-fields>.ant-form-item{grid-column:auto}body .app-content .approval-filter-panel>.ant-card-body{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 16px;display:grid}body .app-content .approval-filter-heading{grid-column:1/-1;margin:0}body .app-content .filter-panel .approval-filter-grid{border:0;grid-column:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px 16px;margin:0;padding:0;display:grid}body .app-content .approval-filter-field{flex-direction:row;align-items:center;gap:0;min-width:0;display:flex}body .app-content .approval-filter-field>:first-child{text-align:right;flex:0 0 100px;padding-right:8px;font-size:14px;font-weight:400}body .app-content .approval-filter-field>:not(:first-child){flex:1;min-width:0}body .app-content .approval-filter-footer{border:0;flex-wrap:wrap;grid-area:2/2/span 2;justify-content:flex-end;align-items:center;gap:8px;margin:0;padding:0;display:flex}@media (width<=800px){body .app-content .approval-filter-panel>.ant-card-body{grid-template-columns:minmax(0,1fr)}body .app-content .approval-filter-footer{grid-area:auto/1}body .app-content .filter-panel .approval-filter-grid,body .app-content .filter-panel form.standard-filter-form{grid-template-columns:minmax(0,1fr)}body .app-content .standard-filter-form .standard-filter-actions{justify-self:end;max-width:none}body .app-content .standard-filter-form .standard-filter-fields{grid-template-columns:minmax(0,1fr)}}body .app-content .page-stack>.ant-row{width:auto;margin-inline:16px!important}@media (width<=800px){body .app-content .page-stack>.ant-row{margin-inline:12px!important}}
