:root{--primary:#46a4d1;--primary-dark:#318bb9;--primary-light:#eaf6fc;--text:#25374b;--muted:#8a98a9;--border:#e5eaef;--background:#edf2f5;--sidebar:238px;--green:#35a883;--orange:#d69a43;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--text);font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--background)}button,input,select,textarea{font:inherit}button,a,summary,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a,input,select,textarea,summary{outline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary)}a{color:inherit;text-decoration:none}button{color:inherit}svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[data-icon]{display:inline-flex;align-items:center;justify-content:center}button{display:inline-flex;align-items:center;justify-content:center;gap:7px}button:disabled{cursor:not-allowed;opacity:.4}.sidebar{width:var(--sidebar);background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid #e0e7ed;z-index:20;display:flex;flex-direction:column;transition:transform .2s}.brand{height:84px;display:flex;align-items:center;padding:0 26px;gap:12px;font-size:18px;letter-spacing:.5px;font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:1.3px;color:#93a2b2;margin-top:5px;font-weight:400}.brand-mark{width:30px;height:31px;display:flex;gap:4px;align-items:flex-end;transform:skewY(-8deg)}.brand-mark i{display:block;width:7px;background:var(--primary);border-radius:2px}.brand-mark i:nth-child(1){height:18px;opacity:.5}.brand-mark i:nth-child(2){height:29px;opacity:.8}.brand-mark i:nth-child(3){height:24px}.account{margin:0 18px;padding:19px 0 23px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:11px}.avatar{height:37px;width:37px;background:#edf1f5;color:#768a9f;border:3px solid #f8fafb;border-radius:50%;display:grid;place-items:center;font-size:16px}.account strong{font-size:12px;font-weight:500}.account small{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:6px}.online{display:inline-block;width:5px;height:5px;background:#56b49a;border-radius:50%;flex-shrink:0}.account-dots{margin-left:auto;color:var(--muted)}.nav-label{font-size:10px;color:#a3aeba;padding:25px 25px 12px;letter-spacing:1.5px}.sidebar nav{padding:0 11px;overflow:auto}.nav-group{margin-bottom:5px}.nav-group summary{list-style:none;display:flex;align-items:center;gap:12px;padding:17px 13px;cursor:pointer;border-radius:5px;font-size:13px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:#f6f8fa}.nav-group summary>span:first-child{color:#7c8e9e}.chev{margin-left:auto;color:#9ba7b3}.chev svg{width:13px;height:13px}.nav-group[open] .chev{transform:rotate(90deg)}.nav-children{padding:0 0 8px}.nav-subtitle{color:#8e9ba8;font-size:11px;padding:12px 0 10px 44px}.nav-link{min-height:44px;padding:0 10px 0 31px;display:flex;align-items:center;gap:11px;font-size:12px;color:#65788b;border-radius:4px;position:relative}.nav-link:hover{background:#f5f9fb}.nav-link.active{color:var(--primary-dark);background:var(--primary-light);font-weight:500}.nav-link.active:before{content:"";width:3px;height:22px;position:absolute;left:-11px;background:var(--primary);border-radius:0 2px 2px 0}.nav-dot{width:4px;height:4px;background:#c5ced7;border-radius:50%}.active .nav-dot{background:var(--primary)}.nav-count{margin-left:auto;padding:2px 6px;background:#dceef7;color:var(--primary-dark);border-radius:4px;font-size:10px}.nav-note{font-size:11px;color:var(--muted);padding:8px 20px 15px 43px}.sidebar-bottom{margin:auto 24px 0;padding:22px 0;display:flex;align-items:center;gap:7px;font-size:10px;color:#99a6b3;border-top:1px solid var(--border)}.sidebar-bottom>span:last-child{margin-left:auto}.demo-dot{height:5px;width:5px;background:#abc1cf;border-radius:50%}.workspace{margin-left:var(--sidebar);transition:margin .2s}.page-header{min-height:134px;padding:25px 36px 23px;background:#f9fbfc;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e8edf1}.breadcrumbs{display:flex;align-items:center;gap:9px;font-size:11px;color:#93a0ae}.breadcrumbs svg{width:11px;height:11px}.page-header h1{font-size:24px;letter-spacing:.4px;margin:12px 0 7px;line-height:1.3;font-weight:600;color:#1d2d3f}.page-header p{margin:0;font-size:11px;color:#91a0ae}.header-actions{display:flex;align-items:center;gap:17px;padding-top:5px}.demo-tag{font-size:10px;color:#8c9aaa;letter-spacing:.6px}.button{height:33px;border:1px solid #dce3e9;background:#fff;border-radius:4px;padding:0 14px;white-space:nowrap;transition:.15s;font-size:12px}.button:hover{border-color:var(--primary);color:var(--primary-dark);background:#fbfdff}.button svg{height:14px;width:14px}.button.primary{background:var(--primary);border-color:var(--primary);color:white}.button.primary:hover{background:var(--primary-dark)}.theme-button{height:30px;font-size:11px;gap:8px;padding:0 10px}.theme-dot{width:7px;height:7px;background:var(--primary);border-radius:50%}.theme-button svg{width:11px;transform:rotate(90deg)}.collapse-sidebar{position:fixed;left:calc(var(--sidebar) - 1px);top:154px;width:20px;height:29px;background:#fff;border:1px solid var(--border);border-left:0;border-radius:0 5px 5px 0;z-index:25;padding:0;color:#8a9aa7;transition:left .2s}.collapse-sidebar svg{width:12px}.sidebar-hidden .sidebar{transform:translateX(-100%)}.sidebar-hidden .workspace{margin-left:0}.sidebar-hidden .collapse-sidebar{left:0}main{padding:25px 34px 16px;max-width:2200px;margin:auto}.overview{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e6ecf0;border-radius:6px;margin-bottom:20px;padding:21px 0}.metric{display:flex;align-items:center;gap:16px;padding:0 25px;border-right:1px solid #e9edf1}.metric:last-child{border:0}.metric-icon{width:42px;height:42px;background:#eff7fc;color:#62a7ce;border-radius:10px;display:grid;place-items:center}.metric-icon svg{width:20px;height:20px}.metric:nth-child(2) .metric-icon{background:#fff7eb;color:#dcaa5e}.metric:nth-child(3) .metric-icon{background:#eef8f4;color:#57ad90}.metric:nth-child(4) .metric-icon{background:#f2f1fa;color:#9793c6}.metric-label{font-size:11px;color:#7f8c9b;margin-bottom:6px}.metric-value{font-size:25px;font-weight:600;line-height:1.15;letter-spacing:.4px;font-family:Arial,sans-serif}.metric-value small{font-size:11px;font-family:"Microsoft YaHei",sans-serif;font-weight:400;letter-spacing:0;margin-left:7px;color:#9ba6b1}.content-card{background:white;border:1px solid #e5ebef;border-radius:6px;min-width:0;box-shadow:0 2px 6px #27435b02}.section-tabs{height:58px;display:flex;align-items:stretch;gap:28px;margin:0 23px;border-bottom:1px solid var(--border)}.section-tabs>a{display:flex;align-items:center;gap:8px;border-bottom:2px solid transparent;color:#7e8c9c;font-size:13px;position:relative;top:1px}.section-tabs>a.active{color:var(--primary-dark);border-bottom-color:var(--primary);font-weight:500}.section-tabs>a>span{background:var(--primary-light);color:var(--primary);font-size:10px;padding:1px 6px;border-radius:8px}.tabs-note{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10px;color:#98a5b1}.filter-form{padding:25px 24px 0}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px 23px}.filter-field{display:flex;align-items:center;gap:9px;min-width:0}.filter-field>label{font-size:11px;width:81px;text-align:right;flex-shrink:0;line-height:1.5;color:#4d6074}.filter-field input,.filter-field select,.range-field{width:100%;min-width:0}.filter-field input,.filter-field select,input.form-input,select.form-input,textarea.form-input{border:1px solid #dfe5eb;border-radius:4px;height:33px;padding:0 10px;color:#526479;background:#fcfdfe;font-size:11px;outline:none;transition:border-color .15s}.filter-field input::placeholder,textarea::placeholder{color:#b0bac5}.filter-field input:focus,.filter-field select:focus,.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #49a7d411}.filter-field select{padding-right:5px}.filter-field select:has(option:checked[value=""]){color:#9aa6b4}.range-field{display:flex;align-items:center;gap:6px;border:1px solid #dfe5eb;border-radius:4px;background:#fcfdfe;padding:0 5px}.range-field input{border:0;width:50%;padding:0 2px;text-align:center;background:transparent;font-size:10px;height:31px}.range-field span{color:#bac3cc}.filter-field input[type=date]{font-size:10px;padding:0 2px}.range-field:focus-within{border-color:var(--primary)}.range-field input:focus{box-shadow:none}.filter-footer{display:flex;justify-content:space-between;align-items:center;padding:19px 0 23px;border-bottom:1px solid var(--border);gap:12px}.filter-footer>span{font-size:10px;color:#a0acb8}.filter-footer>div{display:flex;align-items:center;gap:9px}.text-button{border:0;background:transparent;color:var(--primary-dark);font-size:11px;padding:4px}.text-button svg{height:13px;width:13px}.divider{width:1px;height:14px;background:#e6ebef;margin:0 6px}.list-toolbar{padding:22px 23px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.list-title{display:flex;align-items:center;gap:10px}.title-line{width:3px;height:14px;background:var(--primary);border-radius:2px}.list-title h2{margin:0;font-size:14px;font-weight:600}.list-title>span:not(.title-line){font-size:11px;color:#9ba7b3}.list-title #selected-count{color:var(--primary)}.table-tools{display:flex;align-items:center;gap:7px}.table-tools>.button{margin-right:5px}.icon-button{width:30px;height:30px;padding:0;border:1px solid transparent;background:transparent;border-radius:4px;color:#8b99a8}.icon-button:hover{background:#f1f7fa;color:var(--primary)}.icon-button svg{height:16px;width:16px}.table-wrap{margin:0 23px;overflow:auto;border:1px solid #e2e8ed;position:relative;min-height:180px;scrollbar-width:thin;scrollbar-color:#c8d4dc #f4f7f9}table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px;table-layout:fixed}thead th{height:45px;font-weight:500;background:#f6f8fa;color:#526377;text-align:left;white-space:nowrap;border-bottom:1px solid #e2e8ed;position:sticky;top:0;z-index:2;padding:0 15px}thead th+th,tbody td+td{border-left:1px solid #edf0f3}tbody td{padding:16px 15px;height:72px;line-height:1.65;border-bottom:1px solid #e9edf1;color:#66788c;background:#fff;overflow-wrap:anywhere}tbody tr:last-child td{border-bottom:0}tbody tr:nth-child(even) td{background:#f8fafb}tbody tr:hover td{background:#f0f8fc}tbody tr.selected td{background:#eef7fc}.compact tbody td{height:48px;padding-top:8px;padding-bottom:8px}.check-cell{width:42px;text-align:center!important;padding:0!important;position:sticky;left:0;z-index:3}th.check-cell{z-index:5}input[type=checkbox]{accent-color:var(--primary);width:13px;height:13px;vertical-align:middle;cursor:pointer}.id-cell{color:#6a88a0;font-family:Arial,sans-serif;font-size:11px}.name-cell{color:#344b62;font-weight:500}.project-name{color:#3a526b}.money{font-family:Arial,sans-serif;font-variant-numeric:tabular-nums;color:#3b5269;text-align:right}.action-cell{position:sticky;right:0;border-left:1px solid #e4eaf0!important;box-shadow:-5px 0 8px -7px #63778c70;z-index:3;padding-left:15px;padding-right:15px;white-space:nowrap}th.action-cell{z-index:5}.action-link{border:0;background:transparent;padding:0;color:var(--primary);font-size:11px;display:inline-flex;gap:4px;line-height:1.7}.action-link:hover{text-decoration:underline;color:var(--primary-dark)}.action-link svg{width:12px;height:12px}.action-separator{color:#d8e1e9;margin:0 7px}.subtext{display:block;color:#a0adba;font-size:10px;margin-top:3px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;padding:2px 7px;border-radius:3px;background:#f3f5f7;color:#8795a4;white-space:nowrap}.pill:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.pill.green{color:#38a482;background:#edf8f2}.pill.orange{color:#cc9949;background:#fff6e8}.pill.blue{color:#559dc6;background:#edf6fc}.pill.red{color:#ce7c7c;background:#fcf0f0}.product-tag{font-size:10px;color:#6f8ca3;background:#eff4f8;padding:2px 6px;border-radius:3px;margin-right:4px;display:inline-block;white-space:nowrap}.table-bottom{padding:20px 23px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.pagination{display:flex;align-items:center;gap:8px;font-size:11px;color:#8e9caa}.pagination>span{margin-right:6px}.pagination select{height:29px;border:1px solid #e0e6ec;background:#fff;border-radius:4px;color:#7b8c9e;padding:0 7px;font-size:11px}.page-button{width:29px;height:29px;background:#fff;border:1px solid #e3e8ed;border-radius:4px;padding:0;font-size:11px}.page-button svg{height:12px;width:12px}.page-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-button.active{background:var(--primary);border-color:var(--primary);color:white}#page-numbers{display:flex;gap:5px}.popover-anchor{position:relative}.column-popover{position:absolute;right:0;top:37px;width:235px;max-height:370px;overflow:auto;background:#fff;border:1px solid var(--border);box-shadow:0 6px 30px #273c531a;z-index:40;border-radius:6px;padding:15px}.column-popover strong{font-size:12px;display:block;margin-bottom:10px}.column-popover label{display:flex;gap:9px;align-items:center;padding:6px 0;font-size:11px}.empty-state{text-align:center;padding:40px 20px;color:#8b9baa}.empty-state>span svg{width:32px;height:32px;color:#b7cbd9}.empty-state h3{font-weight:500;font-size:14px;margin:15px 0 8px}.empty-state p{font-size:12px;margin:0 0 18px}[hidden]{display:none!important}dialog{padding:0;border:0;color:var(--text);box-shadow:0 15px 80px #17304726;background:#fff}dialog::backdrop{background:#24374b5c;backdrop-filter:blur(2px)}.drawer{height:100dvh;max-height:none;max-width:90vw;width:760px;margin:0 0 0 auto;border-radius:0}.drawer #detail-content{height:100%;display:flex;flex-direction:column}.dialog-header{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.eyebrow{font-size:9px;letter-spacing:1.4px;color:#9aa8b5}.dialog-header h2{font-size:20px;font-weight:600;margin:7px 0 0}.dialog-body{padding:24px 28px;overflow:auto}.drawer .dialog-body{flex:1}.detail-project{background:#f6f9fb;border:1px solid #e8eef2;border-radius:5px;padding:18px 20px;margin-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:15px}.detail-project h3{font-size:15px;margin:0 0 8px;font-weight:500}.detail-project p{font-size:11px;color:var(--muted);margin:0}.detail-section{margin-bottom:26px}.detail-section h3{font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;margin:0 0 15px}.detail-section h3:before{content:"";width:3px;height:12px;background:var(--primary)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--border);border-top:1px solid var(--border)}.detail-item{padding:14px 15px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}.detail-item dt{font-size:11px;color:#93a1b0}.detail-item dd{font-size:12px;margin:0;line-height:1.7;color:#4e6378}.dialog-footer{padding:18px 28px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:10px;background:#fff}.dialog-footer>span{margin-right:auto;color:#9aa7b4;font-size:11px}.modal{width:640px;max-width:calc(100vw - 32px);max-height:90dvh;border-radius:8px}.modal>form{display:flex;flex-direction:column;max-height:90dvh}.modal .dialog-body{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-control{display:flex;flex-direction:column;gap:9px;font-size:12px}.form-control>label{color:#65778b}.required{color:#d77c7c;margin-right:4px}.form-input{width:100%}input.form-input,select.form-input{height:37px;font-size:12px}textarea.form-input{padding:10px;height:80px;resize:vertical;font-size:12px}.span-two{grid-column:1/-1}.choice-row{display:flex;gap:11px}.radio-choice{border:1px solid var(--border);border-radius:4px;padding:11px 15px;display:flex;align-items:center;gap:8px;flex:1;cursor:pointer}.radio-choice:has(input:checked){border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}input[type=radio]{accent-color:var(--primary);margin:0}.inline-note{color:#9aa7b4;font-size:11px;line-height:1.7}.upload-modal{width:570px}.upload-project{font-size:12px;margin:0 0 20px;color:#7f91a3}.upload-zone{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;border:1px dashed #bdcfdd;border-radius:6px;padding:35px 15px;background:#fafcfd;cursor:pointer;position:relative}.upload-zone.dragging{background:var(--primary-light);border-color:var(--primary)}.upload-zone>span:first-child{width:45px;height:45px;background:#edf6fb;color:var(--primary);border-radius:50%}.upload-zone svg{height:23px;width:23px}.upload-zone strong{font-size:13px;font-weight:500}.upload-zone>span:last-of-type{font-size:10px;color:#96a6b5;text-align:center}.upload-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-card{display:flex;align-items:center;gap:10px;background:#f5f9fc;border:1px solid var(--border);border-radius:4px;padding:13px;margin-top:15px;font-size:11px;overflow-wrap:anywhere}.file-card>span{flex:1}.local-note{display:flex;gap:7px;align-items:center;font-size:10px;color:#9aa9b7;margin:18px 0 0}.local-note svg{width:13px;height:13px}.attachment-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:4px;margin-top:10px;font-size:12px}.attachment-row>span{flex:1;overflow-wrap:anywhere}.attachment-row svg{color:var(--primary)}.no-attachments{padding:20px;border:1px dashed var(--border);color:#a1adba;text-align:center;font-size:11px}.timeline-item{border-left:2px solid #dfecf4;padding:0 0 20px 17px;position:relative}.timeline-item:before{content:"";position:absolute;width:6px;height:6px;left:-4px;top:4px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 3px #edf6fb}.timeline-item p{font-size:12px;margin:0 0 8px}.timeline-item small{font-size:10px;color:var(--muted)}@keyframes appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1650px){.filter-grid{gap:18px 32px}.filter-field>label{width:96px}.filter-field input,.filter-field select{font-size:12px}.filter-field>label{font-size:12px}tbody td{font-size:12px;height:78px}thead th{font-size:12px}}@media(max-width:1250px){:root{--sidebar:218px}.brand{padding:0 21px;font-size:16px}.account{margin:0 14px}.nav-link{font-size:11px;padding-left:25px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.page-header{padding-left:28px;padding-right:28px}main{padding:23px}.metric{padding:0 17px;gap:12px}.metric-icon{width:35px;height:35px}.metric-value{font-size:23px}.tabs-note{font-size:9px}}@media(max-width:960px){:root{--sidebar:195px}.brand{font-size:14px;padding:0 17px;gap:9px}.brand small{font-size:7px}.account{gap:6px}.account strong{font-size:10px}.avatar{width:31px;height:31px}.nav-group summary{font-size:12px;padding-left:10px;gap:9px}.nav-link{padding-left:20px;gap:7px}.nav-count{padding:2px 4px}.metric{padding:0 12px;gap:9px}.metric-icon{display:none}.overview{padding:17px 0}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions .demo-tag{display:none}.tabs-note{display:none}.table-bottom{flex-wrap:wrap}.pagination{margin-left:auto}.page-header{min-height:128px}.filter-footer>span{display:none}.filter-footer{justify-content:flex-end}.filter-form{padding-left:18px;padding-right:18px}}@media(max-width:640px){.sidebar{transform:translateX(-100%)}.workspace{margin-left:0}.collapse-sidebar{left:0}.sidebar-hidden .sidebar{transform:translateX(0)}.sidebar-hidden .collapse-sidebar{left:194px}.page-header{padding:22px;min-height:130px}.page-header h1{font-size:21px}.page-header p{font-size:10px}.header-actions{padding:0}.theme-button{font-size:0;padding:0 7px;gap:3px;height:26px}main{padding:16px 12px}.overview{margin-bottom:14px;padding:16px 0}.metric-label{font-size:10px}.metric-value{font-size:20px}.metric-value small{font-size:9px;margin-left:3px}.metric{padding:0 10px}.section-tabs{gap:20px;margin:0 16px;height:53px}.section-tabs>a{font-size:12px}.filter-grid{grid-template-columns:1fr}.filter-field>label{width:86px}.filter-form{padding:20px 16px 0}.filter-footer{padding-bottom:18px}.list-toolbar{padding:18px 16px 13px}.list-title{gap:7px}.list-title h2{font-size:12px}.list-title>span:not(.title-line){font-size:10px}.list-title #selected-count{display:none}.table-tools{gap:0}.table-tools>.button{font-size:10px;padding:0 8px;height:29px}.icon-button{width:26px}.table-wrap{margin:0 16px}.table-bottom{padding:17px 16px;gap:14px}.pagination{gap:5px}.pagination>span{font-size:10px;margin:0}.pagination select{font-size:10px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.dialog-header,.dialog-body{padding:20px}.dialog-footer{padding:15px 20px}.dialog-footer>span{display:none}.detail-grid{grid-template-columns:1fr}.drawer{max-width:96vw}.detail-project{padding:15px}.detail-project h3{font-size:13px}.detail-project p{line-height:1.6}.dialog-header h2{font-size:18px}.range-field input[type=date]{font-size:11px}}
@media(max-width:640px){.action-cell{white-space:normal;padding:8px 12px}.action-cell .action-link{display:flex;margin:4px 0;font-size:10px}.action-cell .action-separator{display:none}.metric-label{min-height:28px;line-height:1.4}.metric-value{font-size:18px}.metric-value small{display:block;margin:3px 0 0}.list-title{flex-wrap:wrap;max-width:125px}.list-title h2{white-space:nowrap}.table-tools>.button{margin-right:2px}.table-tools .icon-button{width:23px}}
