:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f5f8}*{box-sizing:border-box}a{color:inherit}.page{flex-direction:column;gap:16px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header h1{margin:0;font-size:20px;font-weight:600;line-height:1.3}.page-header .page-header-extra{flex-wrap:wrap;gap:8px;display:flex}.card-block{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 2px #0f27470f}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.table-toolbar .left,.table-toolbar .right{flex-wrap:wrap;gap:8px;display:flex}.ant-table-wrapper .ant-table-thead>tr>th{white-space:nowrap}.num{font-variant-numeric:tabular-nums;text-align:right}.muted{color:#00000073}@media print{.no-print{display:none!important}}.ledger-cell:hover{background:#e6f4ff}.page-header.embedded{justify-content:flex-end;margin-top:-8px}.tabs-page>.ant-tabs-nav{margin-bottom:12px}.tabs-page .ant-tabs-content .page{gap:12px}.tabs-page .ant-tabs-tabpane>.page>.card-block:first-child{margin-top:0}.page-header>div:first-child{flex:220px;min-width:0}.page-header h1{overflow-wrap:anywhere}.page-header .page-header-extra{flex:0 auto;max-width:100%}.ant-space:not(.ant-space-vertical),.ant-tabs-nav{max-width:100%}@media (width<=768px){.page{gap:12px}.page-header h1{font-size:18px}.card-block{padding:12px 14px}.ant-table-wrapper .ant-table.ant-table-small .ant-table-cell,.ant-table-wrapper .ant-table .ant-table-cell{padding-inline:8px}.ant-table-wrapper .ant-table{font-size:13px}.search-bar .ant-form-inline .ant-form-item{width:100%;margin-inline-end:0}.search-bar .ant-form-item .ant-form-item-control{min-width:0}.ant-picker-range{width:100%}.ant-tabs-nav .ant-tabs-tab{padding-inline:2px}.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-inline-start:14px}.ant-drawer-content-wrapper{max-width:100vw}.ant-descriptions-item-label{width:34%!important}}.learn-card{background:linear-gradient(135deg,#fffbe6 0%,#fff 60%);border-color:#ffe58f}.learn-item{background:#fffc;border:1px solid #fff1b8;border-radius:8px;height:100%;padding:10px 12px;animation:.35s ease-out both fade-up}.learn-item-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.scroll-x{scrollbar-width:thin;max-width:100%;overflow-x:auto}@media (width<=768px){.page-header-extra>.ant-space{flex-wrap:wrap;row-gap:8px}.ant-card-head-title{min-width:0}.ant-card-head-title .ant-space{max-width:100%}.ant-space:not(.ant-space-vertical)>.ant-space-item{min-width:0;max-width:100%}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #fa8c168c}60%{box-shadow:0 0 0 8px #fa8c1600}}@keyframes slide-in-right{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.route-enter{animation:.3s cubic-bezier(.2,.7,.2,1) both fade-up}.page>*{animation:.35s cubic-bezier(.2,.7,.2,1) both fade-up}.page>:first-child{animation-delay:0s}.page>:nth-child(2){animation-delay:40ms}.page>:nth-child(3){animation-delay:80ms}.page>:nth-child(4){animation-delay:.12s}.page>:nth-child(5){animation-delay:.16s}.page>:nth-child(n+6){animation-delay:.2s}.ant-row>.ant-col>.ant-card,.site-card,.kpi-grid>.kpi,.sk-grid-4>*,.growth-grid>*{animation:.3s cubic-bezier(.2,.7,.2,1) both scale-in}.ant-row>.ant-col:nth-child(2)>.ant-card,.kpi-grid>.kpi:nth-child(2){animation-delay:40ms}.ant-row>.ant-col:nth-child(3)>.ant-card,.kpi-grid>.kpi:nth-child(3){animation-delay:80ms}.ant-row>.ant-col:nth-child(4)>.ant-card,.kpi-grid>.kpi:nth-child(4){animation-delay:.12s}.ant-row>.ant-col:nth-child(5)>.ant-card,.kpi-grid>.kpi:nth-child(5){animation-delay:.16s}.ant-row>.ant-col:nth-child(6)>.ant-card,.kpi-grid>.kpi:nth-child(6){animation-delay:.2s}.ant-row>.ant-col:nth-child(7)>.ant-card{animation-delay:.24s}.ant-row>.ant-col:nth-child(8)>.ant-card{animation-delay:.28s}.ant-list .ant-list-item,.site-reminder,.contact-item,.file-card,.gantt-row,.step-timeline li{animation:.3s ease-out both fade-up}.ant-list .ant-list-item:nth-child(2),.site-reminder:nth-child(2),.gantt-row:nth-child(2){animation-delay:30ms}.ant-list .ant-list-item:nth-child(3),.site-reminder:nth-child(3),.gantt-row:nth-child(3){animation-delay:60ms}.ant-list .ant-list-item:nth-child(4),.site-reminder:nth-child(4),.gantt-row:nth-child(4){animation-delay:90ms}.ant-list .ant-list-item:nth-child(5),.site-reminder:nth-child(5),.gantt-row:nth-child(5){animation-delay:.12s}.ant-list .ant-list-item:nth-child(n+6),.site-reminder:nth-child(n+6),.gantt-row:nth-child(n+6){animation-delay:.15s}.ant-table-tbody>tr.ant-table-row{animation:.35s ease-out both fade-in}.ant-table-tbody>tr.ant-table-row:nth-child(2){animation-delay:25ms}.ant-table-tbody>tr.ant-table-row:nth-child(3){animation-delay:50ms}.ant-table-tbody>tr.ant-table-row:nth-child(4){animation-delay:75ms}.ant-table-tbody>tr.ant-table-row:nth-child(5){animation-delay:.1s}.ant-table-tbody>tr.ant-table-row:nth-child(n+6){animation-delay:.125s}.ant-tabs-tabpane-active{animation:.25s ease-out both fade-in}.ant-card-hoverable,.site-card,.stage-chip,.file-card,.oa-type-card{transition:transform .18s,box-shadow .18s,border-color .18s}.ant-card-hoverable:hover,.site-card:hover,.file-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0f27471a}.stage-chip:hover{transform:translateY(-1px)}.ant-btn{transition:transform .12s,box-shadow .18s,background .18s,border-color .18s,color .18s}.ant-btn:active{transform:scale(.97)}.ant-btn-primary:not(:disabled):hover{box-shadow:0 4px 12px #1f4e8c47}.site-reminder{transition:transform .15s,box-shadow .15s}.site-reminder:hover{transform:translate(3px);box-shadow:0 2px 8px #0f274714}.ant-menu-item,.ant-menu-submenu-title{transition:background .18s,color .18s,padding-left .18s!important}.gantt-bar .fill,.progress-track .seg,.chart-bar{transform-origin:0;animation:.6s cubic-bezier(.2,.7,.2,1) both grow-x}.chart-bar-v{transform-origin:bottom;animation:.6s cubic-bezier(.2,.7,.2,1) both grow-y}.ant-progress-bg{transition:width .6s cubic-bezier(.2,.7,.2,1)!important}.anim-number{font-variant-numeric:tabular-nums}.pulse-dot{position:relative}.pulse-dot:after{content:"";background:#fa8c16;border-radius:50%;width:8px;height:8px;animation:1.8s ease-out infinite pulse-dot;position:absolute;top:6px;right:6px}.ant-drawer-body>*{animation:.3s ease-out both slide-in-right}.ant-modal-body{animation:.25s ease-out both fade-in}.sk-page{flex-direction:column;gap:14px;display:flex}.sk-block{background:linear-gradient(90deg,#e9edf3 25%,#f5f7fa 37%,#e9edf3 63%) 0 0/1200px 100%;animation:1.4s linear infinite shimmer}.sk-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 2px #0f27470f}.sk-hero{background:linear-gradient(135deg,#e3eaf4,#eef2f8)}.sk-row{align-items:center;gap:12px;display:flex}.sk-grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.sk-grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.sk-grid-2{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.sk-grid-6{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.sk-grid-detail{grid-template-columns:1fr 2fr;gap:14px;display:grid}.sk-bars{align-items:flex-end;gap:2%;height:160px;display:flex}.sk-app{background:#f3f5f8;min-height:100vh;display:flex}.sk-app-sider{background:#0f2747;width:232px;padding:12px 16px}.sk-app-sider .sk-block{background:linear-gradient(90deg,#1a3660 25%,#27467a 37%,#1a3660 63%) 0 0/1200px 100%}.sk-app-main{flex:1;min-width:0}.sk-app-header{background:#fff;align-items:center;height:56px;padding:0 20px;display:flex;box-shadow:0 1px #0f274714}@media (width<=768px){.sk-grid-4,.sk-grid-6{grid-template-columns:repeat(2,1fr)}.sk-grid-3,.sk-grid-2,.sk-grid-detail{grid-template-columns:1fr}.sk-app-sider{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.command-palette .ant-modal-content{padding:0;overflow:hidden}.command-palette .ant-input-affix-wrapper{border-bottom:1px solid #eef1f5;border-radius:0;padding:14px 18px}.palette-results{max-height:380px;padding:6px;overflow-y:auto}.palette-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:9px 12px;display:flex}.palette-item.active{background:#f0f6ff}.palette-item .icon{color:#1f4e8c;background:#f0f2f5;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.palette-item .text{flex-direction:column;flex:1;min-width:0;display:flex}.palette-item .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-item .sub{color:#00000073;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.palette-item .go{color:#00000040;font-size:12px}.palette-item .ant-tag{margin:0;font-size:11px}.palette-foot{background:#fafbfc;border-top:1px solid #eef1f5;padding:8px 16px;font-size:12px}.header-search{color:#00000073;cursor:pointer;background:#f7f9fc;border:1px solid #e3e8ef;border-radius:8px;align-items:center;gap:8px;min-width:200px;height:32px;padding:0 10px 0 12px;font-size:13px;display:inline-flex}.header-search:hover{color:#000000a6;border-color:#91caff}.header-search kbd{background:#fff;border:1px solid #e3e8ef;border-radius:4px;margin-left:auto;padding:1px 6px;font-family:inherit;font-size:11px}@media (width<=900px){.header-search .label,.header-search kbd{display:none}.header-search{min-width:0;padding:0 10px}}.manual-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;height:100%;display:grid}.manual-toc{border-right:1px solid #eef1f5;max-height:calc(100vh - 170px);padding-right:10px;position:sticky;top:0;overflow:auto}.manual-toc .chapter{color:#1f2937;cursor:pointer;border-radius:6px;padding:4px 6px;font-size:13px;display:block}.manual-toc .chapter:hover{background:#f3f6fb}.manual-toc .chapter.active{color:#1f4e8c;background:#e6f0ff;font-weight:600}.manual-toc .sub{color:#4b5563;cursor:pointer;border-radius:6px;padding:2px 6px 2px 18px;font-size:12px;display:block}.manual-toc .sub:hover,.manual-toc .sub.active{color:#1f4e8c;background:#f3f6fb}.manual-body{min-width:0;font-size:13.5px;line-height:1.75}.manual-body section{margin-bottom:18px;scroll-margin-top:12px}.manual-body section.is-target{background:#fffbe6;border-left:3px solid #faad14;border-radius:6px;padding:6px 10px;animation:.4s ease-out both fade-in}.manual-body h2{color:#1f4e8c;border-left:5px solid #1f4e8c;margin:0 0 10px;padding-left:10px;font-size:18px}.manual-body h3{border-bottom:1px solid #e5e9f0;margin:18px 0 8px;padding-bottom:4px;font-size:15px}.manual-body h4{margin:14px 0 6px;font-size:14px}.manual-body img{border:1px solid #d1d5db;border-radius:6px;max-width:100%;margin:6px 0}.manual-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12.5px}.manual-body th,.manual-body td{vertical-align:top;border:1px solid #d1d5db;padding:4px 8px}.manual-body th{text-align:left;background:#eef2f7}.manual-body blockquote{background:#fffbeb;border-left:4px solid #f59e0b;margin:8px 0;padding:6px 10px}.manual-body code{background:#f3f4f6;border-radius:3px;padding:1px 4px;font-size:12px}.manual-body pre{background:#f3f4f6;border-radius:6px;padding:8px;overflow:auto}.manual-search-results{flex-direction:column;gap:4px;margin-top:8px;display:flex}.manual-search-results button{text-align:left}.manual-hit{color:#6b7280;font-size:12px}.manual-button-label{margin-left:4px}@media (width<=768px){.manual-layout{grid-template-columns:1fr}.manual-toc,.manual-button-label{display:none}}.app-layout{min-height:100vh}.app-layout .ant-layout-sider{height:100vh;position:sticky;top:0;overflow:auto}.app-logo{color:#fff;white-space:nowrap;align-items:center;gap:10px;height:56px;padding:0 14px;text-decoration:none;display:flex;overflow:hidden}.app-logo-mark{color:#1f4e8c;background:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:18px;font-weight:700;display:grid}.app-logo-text{letter-spacing:.02em;font-size:15px;font-weight:600}.app-header{z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 16px 0 8px;line-height:56px;display:flex;position:sticky;top:0;box-shadow:0 1px #0f274714}.app-user{align-items:center;gap:8px;height:40px;display:inline-flex}.app-user-position{font-size:12px}.app-content{width:100%;max-width:1600px;padding:20px 24px 40px}@media (width<=768px){.app-content{padding:12px}.app-user-name,.app-user-position,.app-feedback-label{display:none}}.app-header-left{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.app-header-right{flex:none;align-items:center;gap:2px;display:flex}.app-header-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;line-height:1.2;overflow:hidden}.app-header .ant-breadcrumb{white-space:nowrap}@media (width<=768px){.app-header{padding:0 6px 0 4px}.app-header-right .ant-btn{padding-inline:8px}.app-user{padding-inline:6px}}.app-menu-drawer .ant-drawer-body{flex-direction:column;display:flex}.app-menu-drawer .ant-menu{border-inline-end:0;flex:1}.tips-list{margin:0;padding-left:20px}.tips-list li{margin-bottom:10px;line-height:1.6}.login-page{background:radial-gradient(1200px 600px at 10% -10%,#2b5fa3 0%,#0000 60%),radial-gradient(900px 500px at 100% 110%,#163a6b 0%,#0000 60%),#0f2747;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100%;padding:32px 16px;display:flex}.login-brand{color:#fff;align-items:center;gap:16px;display:flex}.login-logo{color:#1f4e8c;background:#fff;border-radius:14px;place-items:center;width:56px;height:56px;font-size:30px;font-weight:700;display:grid}.login-card{width:100%;max-width:400px;box-shadow:0 20px 60px #00000059}.login-card-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.login-footer{color:#ffffff8c;font-size:12px}
