*{box-sizing:border-box}body{margin:0;background:#f4f7f5;color:#263a33;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button,a,input{touch-action:manipulation}button{font:inherit}a{color:#237461}h1,h2,h3,p{margin-top:0}.muted{color:#84918c}.small{font-size:12px}.empty-value{color:#aeb9b4}.page-loader{min-height:80vh;display:flex;align-items:center;justify-content:center}.eyebrow,.drawer-eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#91a69c}.drawer-eyebrow{display:block;margin-bottom:7px}.brand{display:flex;align-items:center;gap:12px;padding:30px 24px;white-space:nowrap;overflow:hidden}.brand-mark{width:43px;height:43px;display:block;object-fit:contain;flex-shrink:0;border-radius:6px;background:#fff}.brand strong{display:block;letter-spacing:2px;font-size:19px;color:#1e4a3e}.brand small{display:block;font-size:8px;letter-spacing:1.5px;color:#8a9b93;margin-top:3px}.workspace{min-height:100vh}.sidebar.ant-layout-sider{background:#fff;border-right:1px solid #e8eeea;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden}.sidebar .ant-menu{background:transparent;border-inline-end:0!important;padding:4px 12px}.sidebar .ant-menu-item{height:42px;line-height:42px;margin-block:4px;font-size:13px}.sidebar .ant-menu-item .anticon{font-size:17px}.sidebar .ant-menu-item-group-title{font-size:10px;letter-spacing:1px;padding:24px 18px 10px;color:#a1aca7}.sidebar .ant-menu-item-selected{font-weight:600}.sidebar-bottom{margin:30px 24px 18px;padding:16px 0;border-top:1px solid #edf1ef;display:flex;align-items:center;gap:9px;font-size:11px;color:#8e9e96}.online-dot{display:inline-block;width:6px;height:6px;background:#4b9a77;border-radius:50%;box-shadow:0 0 0 4px #4b9a7712;flex-shrink:0}.ant-layout-sider-collapsed .brand{padding:30px 19px}.ant-layout-sider-collapsed .brand>div{display:none}.ant-layout-sider-collapsed .ant-menu{padding-inline:5px}.main-layout.ant-layout{background:#f4f7f5;min-width:0}.topbar.ant-layout-header{height:76px;line-height:normal;background:#fffffff0;border-bottom:1px solid #e8eeea;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.breadcrumb{font-size:12px;color:#5e7468}.breadcrumb span{margin:0 13px;color:#bdc8c1}.website-link{font-size:12px;color:#7e8e85;display:flex;gap:7px;align-items:center}.profile-button{border:0;background:none;display:flex;align-items:center;gap:11px;cursor:pointer;text-align:left;padding:0}.profile-button strong{display:block;font-size:12px;font-weight:500;color:#3d4d44}.profile-button small{display:block;font-size:10px;color:#9ba59e;margin-top:3px}.page-content{padding:30px 34px 0;max-width:1900px;width:100%;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.page-heading h1{font-size:27px;font-weight:650;letter-spacing:-.6px;margin:9px 0 8px}.page-heading p{font-size:12px;color:#8a9a90;margin:0}.count-badge{vertical-align:middle;font-size:12px;background:#e6eee8;color:#587f68;padding:4px 9px;border-radius:6px;margin-left:13px;letter-spacing:0;font-weight:500}.today-chip{font-size:11px;background:#fff;border:1px solid #e7ece9;padding:12px 15px;border-radius:8px;color:#7b8b82;display:flex;align-items:center;gap:10px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin-bottom:24px}.stat-card{border:1px solid #e5ece7;background:#fff;border-radius:13px;padding:21px 23px;text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:0;box-shadow:0 3px 4px #22402a02}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #22402a08}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#829086}.stat-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;font-size:18px}.stat-icon.green{background:#eaf3ed;color:#4c8765}.stat-icon.blue{background:#edf2fa;color:#6c8bb5}.stat-icon.gold{background:#fbf4e9;color:#bd995b}.stat-icon.purple{background:#f3eef9;color:#9a83b9}.stat-number{font-size:35px;font-weight:650;letter-spacing:-1.6px;margin:12px 0 16px;color:#29483b;font-variant-numeric:tabular-nums}.stat-number small{font-size:11px;letter-spacing:0;margin-left:10px;color:#98a79c;font-weight:400}.stat-bottom{display:flex;justify-content:space-between;font-size:10px;color:#9baaa0;padding-top:13px;border-top:1px solid #f1f4f2}.stat-bottom .anticon{color:#629077}.overview-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:22px;margin-bottom:24px}.panel{background:#fff;border:1px solid #e5ece7;border-radius:13px;overflow:hidden}.panel-heading{padding:23px 24px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h3{font-size:15px;font-weight:600;margin:0 0 7px}.panel-heading p{font-size:11px;color:#9aaa9f;margin:0}.panel-heading .ant-btn{font-size:11px}.stage-overview{display:flex;padding:22px 25px 27px;gap:17px;overflow-x:auto}.stage-item{min-width:48px;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.stage-number{font-size:10px;color:#abb9ae;letter-spacing:1px}.stage-item strong{font-size:24px;font-weight:600;color:#365e49;letter-spacing:-1px}.stage-item>span:nth-last-child(2){font-size:11px;white-space:nowrap;color:#819489}.stage-item .ant-progress{width:100%;margin:0}.workflow-note{background:#f9fbf9;border-top:1px solid #f1f4f1;padding:17px 24px;color:#91a195;font-size:10px}.workflow-note .anticon{margin-right:7px;color:#78a88b}.task-list{padding:0 22px 14px}.task-item{width:100%;display:flex;gap:11px;align-items:center;padding:11px 0;border:0;border-bottom:1px solid #f0f3f0;background:#fff;text-align:left;cursor:pointer}.task-item:last-child{border:0}.task-check{border:1px solid #e3ece5;border-radius:7px;padding:8px;color:#87a18e;font-size:14px}.task-item>div{flex:1;min-width:0}.task-item strong{font-weight:500;font-size:11px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#5a7161;max-width:230px}.task-item small{font-size:10px;color:#a3b0a6;display:block;margin-top:6px}.task-item .ant-tag{font-size:9px;margin:0}.recent-panel{margin-bottom:22px}.recent-panel .ant-table-cell{font-size:12px}.recent-panel .ant-table-wrapper{padding:0 5px}.record-code{font-variant-numeric:tabular-nums;font-size:12px;color:#527a63}.stage-pill{font-size:11px;color:#55806b;background:#edf4ee;border-radius:5px;padding:4px 9px;white-space:nowrap}.amount{font-variant-numeric:tabular-nums;font-weight:550;color:#325644;white-space:nowrap}.amount small{font-size:9px;color:#96a49b;margin-left:3px;font-weight:400}.finance-strip{display:flex;gap:25px;align-items:center;background:#edf3ed;padding:17px 23px;border:1px solid #e0e9e0;border-radius:10px;color:#738a78;font-size:11px;flex-wrap:wrap}.finance-strip>div{display:flex;gap:20px}.finance-strip b{font-size:10px;color:#52755e}.income{color:#4c8c68}.outgoing{color:#b18b5a}.app-footer{display:flex;justify-content:space-between;padding:28px 3px;color:#a5b1a7;font-size:10px}.data-card{background:#fff;border:1px solid #e4ece6;border-radius:13px;overflow:hidden}.table-toolbar{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #edf2ed}.search-box{max-width:320px;background:#f8faf8;border-color:#e9eeea}.search-box .ant-input{background:transparent}.toolbar-spacer{flex:1}.business-table .ant-table-thead>tr>th{font-size:11px;font-weight:500;white-space:nowrap}.business-table .ant-table-tbody>tr>td{font-size:12px}.business-table .ant-pagination{padding:5px 20px!important}.record-link{background:none;border:0;text-align:left;padding:0;color:#2b7057;cursor:pointer;font-weight:500;font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-link:hover{text-decoration:underline}.date-cell{font-size:11px;font-variant-numeric:tabular-nums;color:#849289}.ant-tag{font-size:11px;border-radius:5px}.ant-drawer-header{padding:23px!important}.ant-drawer-title{font-size:20px!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.full-width{grid-column:1/-1}.record-form .ant-form-item-label>label{font-size:12px;color:#5f7568}.record-form .ant-form-item{margin-bottom:22px}.drawer-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:9px 0}.drawer-footer>span{font-size:11px;color:#96a49b}.json-input{font-family:ui-monospace,monospace;font-size:12px}.value-json{white-space:pre-wrap;max-width:100%;margin:0;font-size:11px;overflow:auto}.ant-descriptions-item-content{overflow-wrap:anywhere}.note-box{background:#f8faf8;padding:15px;border:1px solid #e7eee8;border-radius:10px;margin-bottom:30px}.note-actions{display:flex;justify-content:space-between;margin-top:12px}.history-meta{font-size:12px;font-weight:600;color:#557660}.history-meta span{font-size:10px;color:#a3afa6;font-weight:400;margin-left:12px}.ant-timeline p{margin:10px 0;color:#6f8175;font-size:12px}.login-screen{display:flex;min-height:100vh;background:#fff}.login-story{width:53%;min-height:100vh;background:#153e32;color:#fff;position:relative;overflow:hidden;padding:20px 6%}.login-story .brand{padding:30px 0;position:relative;z-index:2}.login-story .brand strong{color:#fff;font-size:23px}.login-story .brand small{color:#7faaa0}.login-story .brand-mark{background:#e4d1a4;color:#1d4838;width:45px;height:49px;font-size:26px}.story-copy{position:relative;z-index:2;margin-top:18vh}.story-copy .eyebrow{color:#9eb7a9;letter-spacing:3px;font-size:11px}.story-copy h1{font-size:clamp(38px,4vw,61px);line-height:1.45;font-weight:500;letter-spacing:2px;margin:22px 0}.story-copy p{font-size:14px;color:#a5bcb0;line-height:2.2}.story-lines{display:flex;gap:28px;margin-top:47px;font-size:12px;color:#bacdc1}.story-lines .anticon{margin-right:7px;color:#d0c599}.story-orbit{position:absolute;right:-220px;bottom:-280px;width:650px;height:650px;border:1px solid #aec8b41a;border-radius:50%;box-shadow:0 0 0 60px #aec8b406,0 0 0 120px #aec8b406,0 0 0 180px #aec8b406}.story-foot{position:absolute;bottom:35px;font-size:10px;letter-spacing:4px;color:#7c9f8c}.login-panel{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;position:relative;padding:60px}.login-box{width:365px;max-width:100%}.login-welcome{font-size:10px;letter-spacing:3px;color:#a7b5ab}.login-box h2{font-size:29px;font-weight:600;margin:14px 0}.login-box>p{font-size:12px;margin-bottom:35px}.login-box .ant-form-item{margin-bottom:24px}.login-box .ant-form-item-label>label{font-size:12px;color:#728576}.login-box .ant-input-affix-wrapper{padding:12px 14px;background:#fbfcfa}.login-box .ant-input{background:transparent}.login-box .ant-input-prefix{color:#a7b5a9;margin-right:10px}.login-submit{height:47px!important;margin-top:9px;font-size:14px!important}.login-note{text-align:center;font-size:10px;color:#a1b0a5;margin-top:24px;line-height:1.8}.login-note .anticon{margin-right:5px}.login-panel footer{position:absolute;bottom:35px;color:#b5bfb7;font-size:10px;letter-spacing:1px}@media(min-width:1600px){.page-content{padding:38px 48px 0}.stat-card{padding:26px 28px}.stat-number{font-size:40px}.overview-grid{grid-template-columns:1.7fr 1fr}.stage-overview{padding-block:30px}}@media(max-width:1200px){.overview-grid{grid-template-columns:1fr}.page-content{padding:24px}.stat-card{padding:18px}.stage-overview{gap:25px}.task-item strong{max-width:none}.task-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.topbar.ant-layout-header{padding:0 20px}.today-chip{display:none}}@media(max-width:800px){.sidebar.ant-layout-sider{max-width:78px!important;min-width:78px!important;width:78px!important;flex:0 0 78px!important}.sidebar .brand{padding:22px 19px}.sidebar .brand>div,.sidebar .ant-menu-title-content,.sidebar .ant-menu-item-group-title,.sidebar-bottom{display:none}.sidebar .ant-menu{padding:0 5px}.sidebar .ant-menu-item{padding-left:22px!important}.topbar.ant-layout-header{padding:0 12px;height:65px}.website-link,.breadcrumb{display:none}.page-content{padding:20px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:23px}.page-heading p{max-width:260px;line-height:1.8}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-number{font-size:29px}.stat-card{padding:16px}.overview-grid{gap:16px}.task-list{display:block}.table-toolbar{flex-wrap:wrap;padding:14px}.search-box{max-width:none;flex:1;min-width:160px}.toolbar-spacer{display:none}.table-toolbar>.small{display:none}.app-footer span:last-child{display:none}.login-story{width:45%;padding:10px 5%}.story-lines{flex-direction:column;gap:15px}.story-copy h1{font-size:35px}.login-panel{padding:25px}.form-grid{grid-template-columns:1fr}.drawer-footer>span{display:none}.page-heading>.ant-space{flex-direction:column}.stage-overview{gap:18px}}@media(max-width:560px){.login-story{display:none}.login-panel{min-height:100vh;padding:35px}.page-content{padding:18px 10px}.profile-button>span{display:none}.page-heading .eyebrow{font-size:8px;letter-spacing:1px}.page-heading>div p{font-size:10px}.panel-heading{padding:20px 17px}.panel-heading p{font-size:10px}.stage-overview,.finance-strip{padding:15px}.finance-strip>div{gap:12px}.ant-drawer-content-wrapper{width:calc(100vw - 10px)!important}}.trademark-image{max-width:180px;max-height:140px;object-fit:contain;border:1px solid #e4ece6;border-radius:8px;padding:8px;background:#fff}.setup-screen{min-height:100vh;display:grid;place-items:center;background:#edf3ef;padding:24px}.setup-card{max-width:460px;width:100%;padding:36px;background:#fff;border:1px solid #dce7df;border-radius:16px;box-shadow:0 20px 60px #173d2210}.setup-card h1{font-size:26px;margin:14px 0}.setup-card p{color:#6b7c74;line-height:1.8}.finance-overview{margin-bottom:24px}.finance-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:12px 0 24px}.finance-cards article{padding:22px;border-radius:10px;background:#f4f8f5;display:flex;flex-direction:column;gap:12px}.finance-cards article span{color:#6b7c74}.finance-cards article strong{font-size:28px;font-variant-numeric:tabular-nums}.attachment-item{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.work-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 22px}.note-actions{flex-wrap:wrap}.finance-overview .panel-heading h2{margin:0}.table-toolbar{flex-wrap:wrap}@media(max-width:700px){.finance-cards{grid-template-columns:1fr}.finance-overview .panel-heading{align-items:flex-start;flex-direction:column;gap:12px}.finance-cards article strong{font-size:24px}.setup-card{padding:24px}.note-actions{gap:10px}.page-content>.ant-tabs{max-width:100%}}.existing-attachment{margin-bottom:24px}
