:root{color:#243b36;font-synthesis:none;background:#f5f7f8;font-family:Inter,Microsoft YaHei,PingFang SC,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,a,input,select{outline-offset:4px}button{color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}button svg,a svg{flex-shrink:0}small{font-size:12px}h1,h2,p{margin:0}h2{letter-spacing:-.3px;font-size:17px;font-weight:650}.app{min-height:100vh;display:flex}.sidebar{z-index:20;background:#fff;border-right:1px solid #e5ebe9;flex-direction:column;width:240px;padding:31px 20px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:3px;align-items:center;gap:11px;padding:0 10px;font-size:25px;font-weight:750;display:flex}.brand-icon{color:#fff;background:#1d6c56;border-radius:12px;place-items:center;width:42px;height:44px;display:grid}.brand span:not(.brand-icon){letter-spacing:1.2px;color:#8d9b97;margin-top:3px;font-size:8px;display:block}.workspace{background:#f4f7f6;border:1px solid #e8eeeb;border-radius:8px;margin:33px 6px 29px;padding:12px;font-size:12px;font-weight:600}.workspace span{color:#8d9b97;margin-top:6px;font-size:10px;font-weight:400;display:block}.nav-label{letter-spacing:1px;color:#98a39f;margin:0 13px 12px;font-size:10px}nav{gap:7px;display:grid}nav button{color:#6b7a75;text-align:left;border-radius:8px;align-items:center;gap:13px;padding:13px 15px;font-size:13px;display:flex}nav button:hover{background:#f5f8f7}nav button.active{color:#216e55;background:#e9f3ee;font-weight:650}.nav-count{color:#8b9d94;margin-left:auto;font-size:10px}.side-note{color:#5b7d6e;margin:auto 12px 26px;padding-top:60px;font-size:11px}.side-note p{color:#a0aaa5;margin:12px 0 0;font-size:11px;line-height:1.9}.dot{vertical-align:middle;background:#379b77;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.amber{background:#d6a14b}.profile{border-top:1px solid #edf0ee;align-items:center;gap:10px;padding-top:20px;font-size:11px;display:flex}.profile small{color:#9ba6a0;margin-top:4px;font-size:9px;display:block}.profile a{margin-left:auto}.avatar{color:#73816b;background:#eceee9;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.main{width:calc(100% - 240px);margin-left:240px}header{background:#fff;border-bottom:1px solid #e7ece9;justify-content:space-between;align-items:center;height:78px;padding:0 40px;font-size:12px;display:flex}.breadcrumb{color:#97a19c}.breadcrumb span{color:#d2d8d4;margin:0 12px}.breadcrumb b{color:#4b6056;font-weight:500}.header-right{align-items:center;gap:20px;display:flex}.cloud{color:#83958b;font-size:11px}.quiet{color:#486d59;font-size:12px}.login{align-items:center;gap:8px;display:flex}main{max-width:1600px;margin:auto;padding:37px 40px 16px}.eyebrow{letter-spacing:1.1px;color:#8c9b92;margin-bottom:12px;font-size:10px}h1{letter-spacing:-.8px;font-size:27px;font-weight:650}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-heading p{color:#94a098;margin-top:11px;font-size:12px}.primary,.secondary{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:12px;display:inline-flex}.primary{color:#fff;background:#236d55;box-shadow:0 3px 5px #216b5511}.primary:hover{background:#185b45}.secondary{color:#587061;background:#fff;border:1px solid #dfe7e2}.demo-banner{color:#718675;background:#edf3ef;border:1px solid #e3e9e5;border-radius:7px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;padding:12px 16px;font-size:11px;display:flex}.demo-banner span,.demo-banner button{align-items:center;gap:8px;display:flex}.demo-banner button{color:#277157;white-space:nowrap;font-size:11px}.stats{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px;display:grid}.stat{background:#fff;border:1px solid #e3eae6;border-radius:9px;padding:21px 23px}.stat-top{color:#7e8d84;justify-content:space-between;align-items:center;font-size:11px;display:flex}.stat-top svg{color:#91a69b}.stat-value{letter-spacing:-1px;font-variant-numeric:tabular-nums;white-space:nowrap;margin:19px 0 14px;font-size:29px;font-weight:650}.stat-value small{color:#91a198;letter-spacing:0;margin-left:7px;font-size:12px;font-weight:400}.stat-sub{color:#94a198;border-top:1px solid #f0f3f1;padding-top:12px;font-size:10px}.orange{color:#c1914c}.stat-3{color:#fff;background:#246c54;border-color:#246c54}.stat-3 .stat-top,.stat-3 .stat-top svg,.stat-3 .stat-sub{color:#b9d5c5}.stat-3 .stat-sub{border-color:#ffffff1c}.overview-grid{grid-template-columns:minmax(0,1fr) 300px;gap:24px;display:grid}.panel{background:#fff;border:1px solid #e2e9e5;border-radius:9px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:24px;display:flex}.panel-heading p{color:#9ba79e;margin-top:8px;font-size:10px}.pill{vertical-align:middle;color:#5d806a;white-space:nowrap;background:#edf4ef;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:400;display:inline-block}.panel-heading h2 .pill{margin-left:8px}.text-button{color:#398268;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.project-list{padding:0 24px}.project-row{border-bottom:1px solid #eef1ef;align-items:center;gap:13px;padding:24px 0;display:flex}.project-row:last-child{border-bottom:0}.project-icon{border-radius:9px;flex-shrink:0;place-items:center;width:43px;height:43px;display:grid}.color-0{color:#6d947b;background:#edf3ee}.color-1{color:#b69d7a;background:#f7f1e8}.color-2{color:#8296b5;background:#edf1f6}.project-info{flex:1;min-width:100px}.project-info strong{font-size:12px;font-weight:600}.project-info small{color:#99a59d;margin-top:8px;font-size:10px;display:block}.staff-bar{flex-shrink:0;width:160px}.staff-bar>div:first-child{justify-content:space-between;align-items:center;font-size:12px;display:flex}.staff-bar b span{color:#a1aba5;font-size:10px;font-weight:400}.short{color:#bd8b43;white-space:nowrap;background:#fbf4e8;border-radius:4px;align-items:center;padding:4px 7px;font-size:10px;display:inline-flex}.enough{color:#388568;white-space:nowrap;align-items:center;gap:3px;font-size:10px;display:inline-flex}.track{background:#f0f3f1;border-radius:4px;height:5px;margin-top:12px;overflow:hidden}.track>div{border-radius:4px;height:100%}.icon-button{color:#84968b;border-radius:5px;place-items:center;width:30px;height:30px;display:inline-grid}.icon-button:hover{background:#edf3ef}.panel-foot{color:#9aaa9f;background:#fbfcfb;border-top:1px solid #edf1ee;padding:15px 24px;font-size:10px}.count-circle{color:#7d9282;background:#f2f5f2;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.action-panel{grid-area:1/2/span 2}.todo{text-align:left;border-top:1px solid #f0f3f1;align-items:center;gap:10px;width:100%;padding:18px 23px;display:flex}.todo>div:nth-child(2){flex:1}.todo strong{font-size:11px;font-weight:500}.todo small{color:#a0aaa3;margin-top:7px;font-size:9px;display:block}.todo>svg{color:#9baa9f}.todo-icon{border-radius:7px;flex-shrink:0;place-items:center;width:33px;height:36px;display:grid}.amber-bg{color:#ba955c;background:#faf4e9}.rose-bg{color:#bc8a7c;background:#faf0ec}.green-bg{color:#6f9d82;background:#eff6f0}.tip{color:#7e9d80;background:#f4f7f3;border:1px solid #e5ece3;border-radius:8px;margin:25px 22px;padding:23px 19px}.tip strong{color:#5b755d;margin:14px 0 10px;font-size:12px;display:block}.tip p{color:#98a590;font-size:10px;line-height:1.9}.tip button{color:#5c855e;gap:15px;margin-top:18px;padding:0;font-size:10px;display:flex}.receivable-panel{grid-area:2/1}.table-wrap{overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}th{text-align:left;color:#9aa89f;background:#f9fbf9;border-block:1px solid #edf2ee;padding:13px 22px;font-size:10px;font-weight:400}td{color:#75887b;border-bottom:1px solid #eef2ef;padding:19px 22px}td strong{color:#4b6655;font-size:11px;font-weight:550}td small{color:#a5afa7;margin-top:7px;font-size:9px;display:block}tbody tr:last-child td{border-bottom:0}.amount{font-variant-numeric:tabular-nums;color:#52765c;font-weight:600}.toolbar{align-items:center;gap:14px;padding:20px 24px;display:flex}.search{color:#a3b0a6;background:#f9fbfa;border:1px solid #e4ebe6;border-radius:6px;align-items:center;gap:9px;padding:9px 12px;display:flex}.search input{background:0 0;border:0;outline:0;min-width:200px;font-size:12px}.record-count{color:#9dab9f;flex:1;font-size:11px}.inline-note{color:#8c9a90;background:#f8faf8;border-top:1px solid #edf1ee;padding:14px 24px;font-size:11px;line-height:1.8}.empty{text-align:center;color:#9eaaa1;padding:50px 20px;font-size:12px}.empty>div{color:#b2c2b3;background:#f2f6f2;border-radius:18px;place-items:center;width:60px;height:60px;margin:0 auto 20px;display:grid}.empty p{margin-bottom:18px}.empty-small{text-align:center;color:#a2aea4;padding:32px;font-size:11px}footer{color:#abb5ae;justify-content:space-between;padding:28px 0 9px;font-size:9px;display:flex}.notice{color:#467755;background:#ebf4ed;border:1px solid #d8e8dc;border-radius:6px;justify-content:space-between;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.error{color:#b76d54;background:#fff1ed;border-radius:6px;margin-bottom:15px;padding:14px 16px;font-size:12px}.error button{margin-left:15px;text-decoration:underline}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16352d66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:620px;max-height:92vh;overflow:auto;box-shadow:0 20px 100px #18382c33}.modal-heading{border-bottom:1px solid #e7eee8;justify-content:space-between;padding:25px;display:flex}.modal-heading p{color:#9aa69e;margin-top:8px;font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;padding:25px;display:grid}.form-grid label{color:#68806f;flex-direction:column;gap:9px;font-size:11px;display:flex}.form-grid input,.form-grid select{color:#3e5c49;background:#fcfdfc;border:1px solid #dfe8e1;border-radius:5px;width:100%;min-height:39px;padding:10px;font-size:12px}.form-actions{border-top:1px solid #e7eee8;justify-content:flex-end;gap:10px;padding:20px 25px;display:flex}.modal .error{margin:0 25px 20px}@media (width>=1600px){main{padding-top:45px}.project-row{padding:29px 0}.stats{gap:24px}.stat-value{font-size:33px}}@media (width<=1250px){.sidebar{width:205px;padding-inline:14px}.main{width:calc(100% - 205px);margin-left:205px}main{padding:28px 25px}header{padding:0 25px}.overview-grid{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.project-info small{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.staff-bar{width:120px}.stat{padding:18px}.stat-value{font-size:24px}.stats{gap:12px}.project-list{padding:0 18px}.project-row{gap:9px}.project-icon{width:35px;height:38px}.project-row>.icon-button{display:none}td,th,.todo{padding-inline:18px}}@media (width<=1000px){.overview-grid{grid-template-columns:1fr}.action-panel,.receivable-panel{grid-area:auto}.stats{grid-template-columns:repeat(2,1fr)}.staff-bar{width:180px}.tip{display:none}.action-panel .todo{padding:20px 24px}.project-info small{max-width:none}h1{font-size:24px}.page-heading{align-items:flex-start}.page-heading>.primary{margin-top:22px}}@media (width<=700px){.sidebar{border-bottom:1px solid #e0e9e2;border-right:0;width:100%;padding:15px 16px;position:static}.brand{gap:8px;padding:0;font-size:20px}.brand-icon{width:34px;height:34px}.brand span:not(.brand-icon){font-size:6px}.workspace,.nav-label,.profile,.side-note{display:none}nav{gap:3px;margin-top:15px;display:flex;overflow-x:auto}nav button{white-space:nowrap;gap:7px;padding:10px 12px;font-size:11px}nav svg{width:15px}.nav-count{display:none}.app{display:block}.main{width:100%;margin:0}header{height:52px;padding:0 18px}.breadcrumb{font-size:10px}.header-right{gap:10px}.cloud{font-size:9px}.quiet{font-size:10px}main{padding:24px 16px 12px}.page-heading{gap:10px;margin-bottom:20px}.eyebrow{letter-spacing:.3px;font-size:8px}h1{font-size:21px}.page-heading p{max-width:240px;font-size:10px;line-height:1.7}.primary{padding:10px 11px;font-size:10px}.page-heading>.primary{margin-top:20px}.demo-banner{align-items:flex-start;gap:9px;padding:10px;font-size:9px}.demo-banner span{align-items:flex-start;line-height:1.6}.demo-banner svg{flex-shrink:0}.demo-banner button{gap:4px;font-size:9px}.stats{gap:10px;margin-bottom:18px}.stat{padding:15px}.stat-top{font-size:9px}.stat-top svg{width:15px}.stat-value{margin:15px 0 13px;font-size:24px}.stat-sub{font-size:8px}.panel-heading{padding:20px 16px}h2{font-size:14px}.panel-heading p,.text-button{font-size:9px}.project-list{padding:0 16px}.project-row{gap:10px;padding:21px 0}.project-info strong{font-size:11px}.project-info small{max-width:135px;font-size:8px}.staff-bar{width:105px}.staff-bar b{font-size:11px}.staff-bar b span{font-size:8px}.short{padding:4px;font-size:8px}.project-icon{width:32px;height:36px}.project-icon svg{width:18px}.enough{font-size:8px}.panel-foot{padding:13px 16px;font-size:8px}footer{gap:12px;font-size:8px;line-height:1.8}.toolbar{flex-wrap:wrap;gap:10px;padding:16px}.search{width:100%}.search input{width:100%;min-width:0}.record-count{font-size:10px}.secondary{padding:9px 12px;font-size:10px}.form-grid{grid-template-columns:1fr;gap:16px;padding:20px}.modal-heading{padding:20px}.inline-note{padding:12px 16px;font-size:10px}.modal-backdrop{padding:12px}.modal{max-height:94vh}.form-actions{padding:16px 20px}}.auth-page{background:radial-gradient(at 20% 20%,#e5f1e6,#0000 60%),#f5f8f5;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.auth-card{background:#fff;border:1px solid #e1eae1;border-radius:16px;width:420px;max-width:100%;padding:38px;box-shadow:0 20px 90px #244e2910}.auth-logo{color:#fff;background:#246d55;border-radius:15px;place-items:center;width:54px;height:54px;margin-bottom:24px;display:grid}.auth-card>small{color:#a1b0a4;letter-spacing:1.5px;font-size:8px}.auth-card h1{margin:10px 0 12px;font-size:24px}.auth-card>p{color:#9aaa9f;font-size:11px}.auth-card form{gap:20px;margin-top:30px;display:grid}.auth-card label{color:#718a78;gap:9px;font-size:11px;display:grid}.auth-card input{background:#fcfdfc;border:1px solid #dfe9e1;border-radius:6px;width:100%;padding:12px;font-size:12px}.auth-card .primary{padding:13px}.auth-note{color:#a1aea4;margin:22px 0;font-size:10px;line-height:1.9}.account-dock{color:#6a8871;z-index:25;background:#fff;border:1px solid #e0e9e2;border-radius:8px;gap:18px;padding:10px 14px;font-size:10px;display:flex;position:fixed;bottom:12px;right:20px;box-shadow:0 3px 20px #234d2910}.account-dock button{color:#246d55;align-items:center;gap:6px;display:flex}.settings-tabs{color:#5f846b;border-bottom:1px solid #e6eee7;gap:22px;padding:18px 25px;font-size:12px;display:flex}.settings-tabs a{align-items:center;gap:5px;margin-left:auto;display:flex}@media (width<=700px){.account-dock{justify-content:space-between;padding:10px;font-size:9px;bottom:6px;left:10px;right:10px}.auth-card{padding:28px}.settings-tabs{gap:15px;padding:16px;font-size:10px}footer{padding-bottom:45px}}.row-link{color:#276e55;text-align:left;text-underline-offset:4px;padding:0;font-size:12px;font-weight:600;-webkit-text-decoration:underline #b7d1c0;text-decoration:underline #b7d1c0}.row-link:hover{color:#114b37}.row-actions{align-items:center;gap:13px;display:flex}.details-modal{width:870px}.detail-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 25px;margin:0;padding:25px;display:grid}.detail-fields dt{color:#94a59a;margin-bottom:8px;font-size:10px}.detail-fields dd{color:#3e5e49;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:12px}.detail-stats{color:#819989;background:#f2f7f3;border-bottom:1px solid #e5ede6;gap:35px;padding:20px 25px;font-size:11px;display:flex}.detail-stats b{color:#386448;margin-left:10px}.roster-heading{border-block:1px solid #e7eee8;padding:20px 25px}.roster-heading h2{align-items:center;gap:8px;font-size:15px;display:flex}.roster-heading p{color:#95a69a;margin-top:8px;font-size:10px}.expiry{white-space:nowrap;border-radius:4px;padding:5px 8px;font-size:10px;display:inline-block}.expiry.warning{color:#b57c20;background:#fff3dc}.expiry.danger{color:#ba5d49;background:#fcebe7}.expiry.normal{color:#59836a;background:#edf5ef}.expiry.neutral{color:#94a097;background:#f1f3f1}.contract-tools{background:#fcfdfb;border-block:1px solid #e7eee8;padding:16px 24px}.contract-tools p{color:#8c9e8e;margin-bottom:13px;font-size:11px}.filter-chips{gap:8px;display:flex}.filter-chips button{color:#8e9b8e;border:1px solid #e2e9e1;border-radius:20px;padding:7px 12px;font-size:10px}.filter-chips .selected{color:#236d55;background:#eaf4ec;border-color:#bad2c1}@media (width<=700px){.detail-fields{grid-template-columns:1fr 1fr;gap:20px;padding:20px}.detail-stats{gap:14px;padding:18px;font-size:9px}.detail-stats b{margin:7px 0 0;font-size:16px;display:block}.details-modal .form-actions{flex-wrap:wrap}.contract-tools{padding:14px 16px}.contract-tools p{line-height:1.8}.roster-heading{padding:20px 16px}}.file-tabs{gap:8px;margin-bottom:20px;display:flex}.file-tabs button{color:#85988a;border:1px solid #dfe8e0;border-radius:20px;padding:8px 13px;font-size:11px}.file-tabs .selected{color:#286f55;background:#eaf4ed;border-color:#bbd3c1}.file-row{border-bottom:1px solid #edf1ee;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;display:flex}.file-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}.file-name>a:hover{text-decoration:underline}.file-name small{color:#9cab9f;margin-top:7px;font-size:10px;display:block}.file-actions{flex-shrink:0;align-items:center;gap:18px;display:flex}.file-delete{color:#b66d57;align-items:center;gap:5px;font-size:11px;display:flex}.delete-confirm{color:#8a5c4a;overflow-wrap:anywhere;background:#fff7f3;border:1px solid #ecd5cb;border-radius:8px;margin-top:20px;padding:18px;font-size:12px}.delete-confirm p{margin:10px 0;font-size:11px;line-height:1.8}.delete-confirm>div{justify-content:flex-end;gap:10px;display:flex}.danger-button{color:#fff;background:#af624d;border-radius:6px;padding:10px 15px;font-size:12px}@media (width<=600px){.file-row{align-items:flex-start}.file-actions{gap:10px}.file-actions .text-button,.file-delete{font-size:10px}}.id-number{font-variant-numeric:tabular-nums;letter-spacing:.4px}.roster-heading .secondary{margin-top:15px}.details-modal .roster-heading p{line-height:1.8}.identity-preview{color:#82978a;background:#edf5ef;border:1px solid #ddebe0;border-radius:7px;gap:30px;margin:0 25px 22px;padding:16px 20px;font-size:11px;display:flex}.identity-preview b{color:#386347;margin-top:8px;font-size:13px;display:block}@media (width<=600px){.identity-preview{gap:20px;margin:0 20px 20px;padding:15px}.identity-preview b{font-size:11px}}
