html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.breadcrumb-nav[data-v-7eb0b251]{font-size:14px}.breadcrumb-nav[data-v-7eb0b251] .ant-breadcrumb-link{color:#666;text-decoration:none;transition:color .3s ease}.breadcrumb-nav[data-v-7eb0b251] .ant-breadcrumb-link:hover{color:#1890ff}.breadcrumb-nav[data-v-7eb0b251] .ant-breadcrumb-separator{color:#d9d9d9;margin:0 8px}.breadcrumb-nav[data-v-7eb0b251] .ant-breadcrumb-item:last-child{color:#262626;font-weight:500}.logo[data-v-84e27b04]{height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo-container[data-v-84e27b04]{display:flex;align-items:center;gap:12px;transition:all .3s ease}.logo-icon[data-v-84e27b04]{width:32px;height:32px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.logo-text[data-v-84e27b04]{color:#fff;font-size:18px;font-weight:600;white-space:nowrap;transition:all .3s ease;letter-spacing:.5px}[data-v-84e27b04] .ant-layout-sider-collapsed .logo-container{justify-content:center}[data-v-84e27b04] .ant-layout-sider-collapsed .logo-text{opacity:0;width:0;overflow:hidden}.header-left[data-v-84e27b04]{display:flex;align-items:center;flex:1}.header-right[data-v-84e27b04]{display:flex;align-items:center}.user-info[data-v-84e27b04]{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.user-info[data-v-84e27b04]:hover{background-color:#f5f5f5}.user-name[data-v-84e27b04]{font-size:14px;color:#333;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-icon[data-v-84e27b04]{font-size:12px;color:#999;transition:transform .2s ease}.user-info:hover .dropdown-icon[data-v-84e27b04]{color:#666}.login-container[data-v-4168fa85]{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-form[data-v-4168fa85]{width:100%;max-width:400px;padding:40px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026}.login-header[data-v-4168fa85]{text-align:center;margin-bottom:30px}.title-with-logo[data-v-4168fa85]{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.login-logo[data-v-4168fa85]{width:32px;height:32px;flex-shrink:0}.login-header h2[data-v-4168fa85]{margin:0;color:#333;font-size:24px;font-weight:600}.login-header p[data-v-4168fa85]{margin:0;color:#666}.stats-cards[data-v-754ea68c]{margin-bottom:24px}.stat-card[data-v-754ea68c]{height:120px;display:flex;align-items:center;justify-content:center}.stat-card[data-v-754ea68c] .ant-card-body{padding:20px;display:flex;align-items:center;justify-content:center}.empty-stats[data-v-754ea68c]{padding:60px 20px;text-align:center}.empty-stats[data-v-754ea68c] .ant-empty-description{color:#8c8c8c;font-size:14px}@media(max-width:768px){.stats-cards[data-v-754ea68c]{margin-bottom:16px}}.stats-tab-card[data-v-c3d1305b]{margin-bottom:24px}.stats-tab-card[data-v-c3d1305b] .ant-tabs{margin-top:-8px}.stats-tab-card[data-v-c3d1305b] .ant-tabs-tab{padding:8px 16px;font-size:14px}.stats-tab-card[data-v-c3d1305b] .ant-tabs-content-holder{padding-top:16px}.approval-task-item[data-v-40d8a65b]{padding:12px 0;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:all .2s ease}.approval-task-item[data-v-40d8a65b]:hover{background-color:#f5f5f5;border-radius:4px;transform:translateY(-1px)}.approval-task-item[data-v-40d8a65b]:last-child{border-bottom:none}.task-title[data-v-40d8a65b]{font-weight:500;color:#262626;margin-bottom:8px;font-size:14px;line-height:1.4}.task-subtitle[data-v-40d8a65b]{color:#8c8c8c;font-size:12px;font-weight:400;margin-left:4px}.task-meta[data-v-40d8a65b]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.submitter[data-v-40d8a65b],.task-time[data-v-40d8a65b]{color:#8c8c8c;font-size:12px}.list-card[data-v-fc7e31e6]{height:400px}.list-card[data-v-fc7e31e6] .ant-card-body{height:calc(100% - 57px);overflow-y:auto}.pending-list[data-v-fc7e31e6]{padding:16px 0}.empty-data[data-v-fc7e31e6]{text-align:center;color:#8c8c8c;font-size:14px;padding:40px 0}.view-all[data-v-fc7e31e6]{text-align:center;padding-top:16px;border-top:1px solid #f0f0f0}.no-todo-permission[data-v-fc7e31e6]{padding:40px 20px;text-align:center}.no-todo-permission[data-v-fc7e31e6] .ant-empty-description{color:#8c8c8c;font-size:14px}.list-card[data-v-fc7e31e6] .ant-tabs{margin-top:-8px}.list-card[data-v-fc7e31e6] .ant-tabs-tab{padding:8px 12px;font-size:12px}.list-card[data-v-fc7e31e6] .ant-tabs-content-holder{padding-top:8px}.list-card[data-v-fc7e31e6] .ant-tabs-tabpane{height:calc(100% - 40px);overflow-y:auto}.chart-card[data-v-f14cd43f]{height:400px}.chart-card[data-v-f14cd43f] .ant-card-body{height:calc(100% - 57px);overflow-y:auto}.department-chart[data-v-f14cd43f]{padding:16px 0}.dept-item[data-v-f14cd43f]{margin-bottom:16px}.dept-info[data-v-f14cd43f]{display:flex;justify-content:space-between;margin-bottom:8px}.dept-name[data-v-f14cd43f]{font-weight:500;color:#262626}.dept-value[data-v-f14cd43f]{color:#8c8c8c;font-size:12px}.dept-bar[data-v-f14cd43f]{height:8px;background-color:#f5f5f5;border-radius:4px;overflow:hidden}.dept-progress[data-v-f14cd43f]{height:100%;border-radius:4px;transition:width .3s ease}.empty-data[data-v-f14cd43f]{text-align:center;color:#8c8c8c;font-size:14px;padding:40px 0}.list-card[data-v-8dd49d26]{height:400px}.list-card[data-v-8dd49d26] .ant-card-body{height:calc(100% - 57px);overflow-y:auto}.recent-list[data-v-8dd49d26]{padding:16px 0}.recent-item[data-v-8dd49d26]{padding:12px 0;border-bottom:1px solid #f0f0f0}.recent-item[data-v-8dd49d26]:last-child{border-bottom:none}.project-name[data-v-8dd49d26]{font-weight:500;color:#262626;margin-bottom:8px;font-size:14px;line-height:1.4}.project-status[data-v-8dd49d26]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.customer-name[data-v-8dd49d26],.update-time[data-v-8dd49d26]{color:#8c8c8c;font-size:12px}.empty-data[data-v-8dd49d26]{text-align:center;color:#8c8c8c;font-size:14px;padding:40px 0}.view-all[data-v-8dd49d26]{text-align:center;padding-top:16px;border-top:1px solid #f0f0f0}.my-projects-section[data-v-a16deaa3]{margin-bottom:24px}.section-header[data-v-a16deaa3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3[data-v-a16deaa3]{margin:0;font-size:16px;font-weight:600}.empty-state[data-v-a16deaa3]{padding:40px 0;text-align:center}.projects-grid[data-v-a16deaa3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-card[data-v-a16deaa3]{cursor:pointer;transition:all .3s ease}.project-card[data-v-a16deaa3]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.project-title[data-v-a16deaa3]{display:flex;justify-content:space-between;align-items:center}.project-info[data-v-a16deaa3]{color:#666}.info-row[data-v-a16deaa3]{display:flex;margin-bottom:8px}.info-row[data-v-a16deaa3]:last-child{margin-bottom:0}.label[data-v-a16deaa3]{font-weight:500;min-width:80px;color:#333}.project-description[data-v-a16deaa3]{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0;color:#666;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard[data-v-7e8ad9df]{padding:24px}.page-header[data-v-7e8ad9df]{margin-bottom:24px}.page-header h2[data-v-7e8ad9df]{margin:0;font-size:24px;font-weight:600;color:#262626}.welcome-text[data-v-7e8ad9df]{margin:8px 0 0;color:#8c8c8c;font-size:14px}.stats-row[data-v-7e8ad9df],.content-row[data-v-7e8ad9df]{margin-bottom:24px}.stat-card[data-v-7e8ad9df]{height:120px;display:flex;align-items:center;justify-content:center}.clickable-card[data-v-7e8ad9df]{cursor:pointer;transition:all .3s ease}.clickable-card[data-v-7e8ad9df]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card[data-v-7e8ad9df] .ant-card-body{padding:20px;display:flex;align-items:center;justify-content:center}.chart-card[data-v-7e8ad9df],.list-card[data-v-7e8ad9df]{height:400px}.chart-card[data-v-7e8ad9df] .ant-card-body,.list-card[data-v-7e8ad9df] .ant-card-body{height:calc(100% - 57px);overflow-y:auto}.workload-list[data-v-7e8ad9df]{padding:16px 0}.workload-item[data-v-7e8ad9df]{margin-bottom:16px}.member-info[data-v-7e8ad9df]{display:flex;justify-content:space-between;margin-bottom:8px}.member-name[data-v-7e8ad9df]{font-weight:500;color:#262626}.project-count[data-v-7e8ad9df]{color:#8c8c8c;font-size:12px}.view-all[data-v-7e8ad9df]{text-align:center;padding-top:16px;border-top:1px solid #f0f0f0}.pending-item.clickable[data-v-7e8ad9df]{cursor:pointer;transition:all .2s ease}.pending-item.clickable[data-v-7e8ad9df]:hover{background-color:#f5f5f5;border-radius:4px;transform:translateY(-1px)}.entity-id[data-v-7e8ad9df]{color:#8c8c8c;font-size:12px;margin-left:4px}.empty-data[data-v-7e8ad9df]{text-align:center;color:#8c8c8c;font-size:14px;padding:40px 0}.list-card[data-v-7e8ad9df] .ant-tabs{margin-top:-8px}.list-card[data-v-7e8ad9df] .ant-tabs-tab{padding:8px 12px;font-size:12px}.list-card[data-v-7e8ad9df] .ant-tabs-content-holder{padding-top:8px}.list-card[data-v-7e8ad9df] .ant-tabs-tabpane{height:calc(100% - 40px);overflow-y:auto}.no-todo-permission[data-v-7e8ad9df]{padding:40px 20px;text-align:center}.no-todo-permission[data-v-7e8ad9df] .ant-empty-description{color:#8c8c8c;font-size:14px}.no-permission-view[data-v-7e8ad9df]{padding:24px}.welcome-card[data-v-7e8ad9df]{text-align:center;margin-bottom:24px}.welcome-content h3[data-v-7e8ad9df]{color:#262626;margin-bottom:16px}.welcome-content p[data-v-7e8ad9df]{color:#8c8c8c;margin-bottom:24px}@media(max-width:768px){.dashboard[data-v-7e8ad9df]{padding:16px}.stats-row[data-v-7e8ad9df],.content-row[data-v-7e8ad9df]{margin-bottom:16px}.chart-card[data-v-7e8ad9df],.list-card[data-v-7e8ad9df]{height:auto;min-height:300px}.list-card[data-v-7e8ad9df] .ant-tabs-tab{padding:6px 8px;font-size:11px}.no-todo-permission[data-v-7e8ad9df]{padding:30px 15px}}.attachment-list[data-v-09cdd10e]{width:100%}.attachment-list-header[data-v-09cdd10e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.attachment-list-header h4[data-v-09cdd10e]{margin:0;color:#262626;font-weight:600}.attachment-count[data-v-09cdd10e]{color:#8c8c8c;font-size:12px}.loading-container[data-v-09cdd10e]{display:flex;align-items:center;justify-content:center;padding:24px;color:#8c8c8c}.loading-text[data-v-09cdd10e]{margin-left:8px}.empty-container[data-v-09cdd10e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:#bfbfbf}.empty-icon[data-v-09cdd10e]{font-size:48px;margin-bottom:16px}.empty-text[data-v-09cdd10e]{font-size:14px}.attachment-table[data-v-09cdd10e]{background:#fff}.file-name-cell[data-v-09cdd10e]{display:flex;align-items:center;gap:8px}.file-icon[data-v-09cdd10e]{color:#1890ff;font-size:16px;flex-shrink:0}.file-name[data-v-09cdd10e]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-09cdd10e],.upload-time[data-v-09cdd10e]{color:#8c8c8c;font-size:12px}[data-v-09cdd10e] .ant-table-tbody>tr>td{padding:8px 12px}[data-v-09cdd10e] .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600;color:#262626}[data-v-09cdd10e] .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.attachment-list.compact-mode .attachment-table [data-v-09cdd10e] .ant-table-tbody>tr>td{padding:6px 8px}.attachment-list.compact-mode .attachment-table [data-v-09cdd10e] .ant-table-thead>tr>th{padding:8px}.attachment-list.compact-mode .attachment-table [data-v-09cdd10e] .ant-table-scroll{border:1px solid #f0f0f0;border-radius:6px}.attachment-list.compact-mode .attachment-table [data-v-09cdd10e] .ant-table-fixed-right{box-shadow:-2px 0 4px #0000001a}.attachment-list.compact-mode .attachment-table [data-v-09cdd10e] .ant-table-container{overflow-x:auto!important;overflow-y:auto!important;max-height:200px}.attachment-list.compact-mode .attachment-table [data-v-09cdd10e] .ant-table-wrapper{height:auto;overflow:visible}.attachment-list.compact-mode .attachment-table [data-v-09cdd10e] .ant-table{height:auto}.attachment-list.compact-mode .file-name[data-v-09cdd10e]{max-width:180px}[data-v-09cdd10e] .ant-btn-link{padding:0;height:auto;line-height:1.5}[data-v-09cdd10e] .ant-btn-link:hover{background-color:transparent}.attachment-upload[data-v-bda90488]{width:100%}.attachment-upload-component[data-v-bda90488]{margin-bottom:16px}.upload-tips[data-v-bda90488]{margin-top:8px;margin-bottom:16px;font-size:12px;color:#666;line-height:1.5;background-color:#f8f9fa;padding:8px 12px;border-radius:4px;border-left:3px solid #1890ff}.upload-tips p[data-v-bda90488]{margin:0;display:flex;align-items:center;gap:4px}.upload-tips p+p[data-v-bda90488]{margin-top:4px}[data-v-bda90488] .ant-upload-list-text .ant-upload-list-item{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:8px;background-color:#fafafa;transition:all .3s ease}[data-v-bda90488] .ant-upload-list-text .ant-upload-list-item:hover{background-color:#f0f0f0;border-color:#1890ff}[data-v-bda90488] .ant-upload-list-text .ant-upload-list-item-name{color:#595959;font-size:14px}.temp-attachment-list[data-v-bda90488]{margin-top:16px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fafafa}.temp-attachment-header[data-v-bda90488]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e8e8e8;background-color:#f5f5f5}.temp-attachment-header h4[data-v-bda90488]{margin:0;font-size:14px;font-weight:500;color:#262626}.attachment-count[data-v-bda90488]{font-size:12px;color:#8c8c8c}.temp-attachment-items[data-v-bda90488]{padding:8px}.temp-attachment-item[data-v-bda90488]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-bottom:8px;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;transition:all .3s ease}.temp-attachment-item[data-v-bda90488]:hover{border-color:#1890ff;box-shadow:0 2px 4px #1890ff1a}.temp-attachment-item[data-v-bda90488]:last-child{margin-bottom:0}.file-info[data-v-bda90488]{display:flex;align-items:center;flex:1;gap:8px}.file-icon[data-v-bda90488]{font-size:16px;color:#1890ff}.file-name[data-v-bda90488]{flex:1;font-size:14px;color:#262626;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-bda90488]{font-size:12px;color:#8c8c8c;margin-left:8px}.file-actions[data-v-bda90488]{display:flex;gap:4px}.project-list[data-v-c39dba19]{padding:24px;background-color:#fff;min-height:calc(100vh - 64px)}.page-header[data-v-c39dba19]{margin-bottom:24px}.project-name-link[data-v-c39dba19]{color:#1890ff;cursor:pointer;text-decoration:none;transition:color .3s ease}.project-name-link[data-v-c39dba19]:hover{color:#40a9ff;text-decoration:underline}.project-name-text[data-v-c39dba19]{color:#000000d9;cursor:default}.page-header h2[data-v-c39dba19]{margin:0;color:#1d1d1d;font-size:24px;font-weight:600}.mb-4[data-v-c39dba19]{margin-bottom:24px}.mt-4[data-v-c39dba19]{margin-top:24px}.mt-3[data-v-c39dba19]{margin-top:16px}.text-gray-400[data-v-c39dba19]{color:#9ca3af}.approval-modal-content[data-v-c39dba19]{max-height:70vh;overflow-y:auto}.approval-buttons[data-v-c39dba19]{display:flex;gap:12px;justify-content:flex-end}.approval-btn[data-v-c39dba19]{min-width:80px}.responsive-range-picker[data-v-c39dba19]{width:100%}@media(max-width:768px){.responsive-range-picker[data-v-c39dba19]{width:100%}}.ant-upload-list-text .ant-upload-list-item-actions[data-v-c39dba19]{opacity:1}.ant-upload-list-text .ant-upload-list-item-actions .anticon[data-v-c39dba19]{color:#8c8c8c;transition:color .3s ease}.ant-upload-list-text .ant-upload-list-item-actions .anticon[data-v-c39dba19]:hover{color:#ff4d4f}.ant-upload[data-v-c39dba19]{width:100%}.ant-upload .ant-btn[data-v-c39dba19]{width:100%;height:40px;border-style:dashed;border-color:#d9d9d9;background-color:#fafafa;transition:all .3s ease}.ant-upload .ant-btn[data-v-c39dba19]:hover{border-color:#1890ff;background-color:#f0f8ff;color:#1890ff}.approval-history[data-v-c709ea2b]{margin-bottom:16px}.current-status[data-v-c709ea2b]{background-color:#fafafa;padding:16px;border-radius:6px}.approval-timeline h4[data-v-c709ea2b]{margin-bottom:16px;font-size:16px;font-weight:600}.timeline-content[data-v-c709ea2b]{padding-left:8px}.timeline-header[data-v-c709ea2b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.action-text[data-v-c709ea2b]{font-weight:500}.time-text[data-v-c709ea2b]{color:#666;font-size:12px}.timeline-body p[data-v-c709ea2b]{margin:4px 0;color:#666;line-height:1.5}.no-approval[data-v-c709ea2b]{text-align:center;padding:40px 0}.approval-progress h4[data-v-c709ea2b]{margin-bottom:16px;font-size:16px;font-weight:600}.mb-4[data-v-c709ea2b]{margin-bottom:16px}.mt-4[data-v-c709ea2b]{margin-top:16px}.project-detail[data-v-e6211bd4]{padding:24px;background-color:#f5f5f5;min-height:100vh}.page-header[data-v-e6211bd4]{background:#fff;margin-bottom:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.section-card[data-v-e6211bd4]{margin-bottom:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.section-card .ant-card-head[data-v-e6211bd4]{border-bottom:2px solid #f0f0f0}.section-card .ant-card-head-title[data-v-e6211bd4]{font-size:16px;font-weight:600;color:#262626}.info-item[data-v-e6211bd4]{display:flex;align-items:flex-start;margin-bottom:12px}.info-item .label[data-v-e6211bd4]{font-weight:500;color:#595959;min-width:120px;flex-shrink:0}.info-item .value[data-v-e6211bd4]{color:#262626;flex:1;word-break:break-all}.summary-text[data-v-e6211bd4]{color:#595959;font-size:14px}.summary-text strong[data-v-e6211bd4]{color:#1890ff}[data-v-e6211bd4] .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600}[data-v-e6211bd4] .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}[data-v-e6211bd4] .ant-page-header-heading-title{color:#262626;font-size:20px;font-weight:600}[data-v-e6211bd4] .ant-page-header-heading-sub-title{color:#8c8c8c}.invoice-form[data-v-e6211bd4]{padding-top:16px}.invoice-form .ant-form-item[data-v-e6211bd4]{margin-bottom:16px}.invoice-form .ant-form-item-label>label[data-v-e6211bd4]{font-weight:500;color:#262626}.invoice-form .ant-input-number[data-v-e6211bd4],.invoice-form .ant-select[data-v-e6211bd4],.invoice-form .ant-picker[data-v-e6211bd4],.invoice-form .ant-input[data-v-e6211bd4]{border-radius:6px}.invoice-form .ant-input[data-v-e6211bd4]:focus,.invoice-form .ant-input-focused[data-v-e6211bd4]{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.payment-form[data-v-e6211bd4]{padding-top:16px}.payment-form .ant-form-item[data-v-e6211bd4]{margin-bottom:16px}.payment-form .ant-form-item-label>label[data-v-e6211bd4]{font-weight:500;color:#262626}.payment-form .ant-input-number[data-v-e6211bd4],.payment-form .ant-picker[data-v-e6211bd4],.payment-form .ant-input[data-v-e6211bd4]{border-radius:6px}.payment-form .ant-input[data-v-e6211bd4]:focus,.payment-form .ant-input-focused[data-v-e6211bd4]{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.expense-form[data-v-e6211bd4]{padding-top:16px}.expense-form .ant-form-item[data-v-e6211bd4]{margin-bottom:16px}.expense-form .ant-form-item-label>label[data-v-e6211bd4]{font-weight:500;color:#262626}.expense-form .ant-input-number[data-v-e6211bd4],.expense-form .ant-picker[data-v-e6211bd4],.expense-form .ant-input[data-v-e6211bd4]{border-radius:6px}.expense-form .ant-input[data-v-e6211bd4]:focus,.expense-form .ant-input-focused[data-v-e6211bd4]{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}[data-v-e6211bd4] .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px}[data-v-e6211bd4] .ant-modal-title{font-size:16px;font-weight:600;color:#262626}[data-v-e6211bd4] .ant-modal-body{padding:24px}[data-v-e6211bd4] .ant-modal-footer{border-top:1px solid #f0f0f0;padding:12px 24px}.ant-table-tbody>tr>td[data-v-e6211bd4]{vertical-align:middle}.ant-table-tbody>tr:hover>td[data-v-e6211bd4]{background-color:#fafafa}.ant-upload-list-text .ant-upload-list-item[data-v-e6211bd4]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:8px;background-color:#fafafa}.ant-upload-list-text .ant-upload-list-item[data-v-e6211bd4]:hover{background-color:#f0f0f0}.ant-upload-list-text .ant-upload-list-item-name[data-v-e6211bd4]{color:#595959;font-size:14px}.ant-upload-list-text .ant-upload-list-item-actions[data-v-e6211bd4]{opacity:1}.ant-upload-list-text .ant-upload-list-item-actions .anticon[data-v-e6211bd4]{color:#8c8c8c}.ant-upload-list-text .ant-upload-list-item-actions .anticon[data-v-e6211bd4]:hover{color:#1890ff}.attachment-list[data-v-e6211bd4]{display:flex;flex-wrap:wrap;gap:4px}.attachment-tag[data-v-e6211bd4]{margin:0;font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.attachment-tag.cursor-pointer[data-v-e6211bd4]{cursor:pointer;transition:all .2s ease}.attachment-tag.cursor-pointer[data-v-e6211bd4]:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a;max-width:none;white-space:normal;word-break:break-all}.attachment-tag[data-v-e6211bd4]:hover{max-width:none;white-space:normal;word-break:break-all}.ant-btn-link[data-v-e6211bd4]{padding:0;height:auto;line-height:1.5}.ant-btn-link[data-v-e6211bd4]:hover{color:#40a9ff}.ant-btn-link.ant-btn-dangerous[data-v-e6211bd4]:hover{color:#ff7875}.deleted-tag[data-v-e6211bd4]{font-weight:700;font-size:12px}.deleted-project-notice[data-v-e6211bd4]{border:1px solid #d9d9d9;border-radius:6px;background-color:#fafafa}.deleted-project-notice .ant-alert[data-v-e6211bd4]{border:none;background-color:transparent}.deleted-project-notice .ant-alert-message[data-v-e6211bd4]{font-weight:600;color:#1890ff}.deleted-project-notice .ant-alert-description[data-v-e6211bd4]{color:#666;line-height:1.6}.existing-attachments[data-v-e6211bd4]{margin-top:16px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fafafa}.existing-attachments-header[data-v-e6211bd4]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e8e8e8;background-color:#f5f5f5}.existing-attachments-header h4[data-v-e6211bd4]{margin:0;font-size:14px;font-weight:600;color:#262626}.attachment-count[data-v-e6211bd4]{font-size:12px;color:#8c8c8c}.existing-attachments-list[data-v-e6211bd4]{max-height:200px;overflow-y:auto}.existing-attachment-item[data-v-e6211bd4]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e8e8e8}.existing-attachment-item[data-v-e6211bd4]:last-child{border-bottom:none}.file-info[data-v-e6211bd4]{display:flex;align-items:center;flex:1;min-width:0}.file-icon[data-v-e6211bd4]{margin-right:8px;color:#1890ff;font-size:16px;flex-shrink:0}.file-name[data-v-e6211bd4]{font-size:14px;color:#262626;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.file-size[data-v-e6211bd4]{font-size:12px;color:#8c8c8c;flex-shrink:0}.file-actions[data-v-e6211bd4]{display:flex;gap:4px;flex-shrink:0}.department-list[data-v-d6f8760b]{padding:24px}.page-header[data-v-d6f8760b]{margin-bottom:16px}.page-header h2[data-v-d6f8760b]{margin:0;font-size:20px;font-weight:600;color:#262626}.mb-4[data-v-d6f8760b]{margin-bottom:16px}.table-section[data-v-d6f8760b]{margin-top:0}.table-section[data-v-d6f8760b] .ant-table-tbody .ant-table-cell:last-child{padding-right:24px}.table-section[data-v-d6f8760b] .ant-table-thead .ant-table-cell:last-child{padding-right:24px}.position-list[data-v-6f6cad17]{padding:24px}.page-header[data-v-6f6cad17]{margin-bottom:16px}.page-header h2[data-v-6f6cad17]{margin:0;font-size:20px;font-weight:600;color:#262626}.mb-4[data-v-6f6cad17]{margin-bottom:16px}.table-section[data-v-6f6cad17]{margin-top:0}.table-section[data-v-6f6cad17] .ant-table-tbody .ant-table-cell:last-child{padding-right:24px}.table-section[data-v-6f6cad17] .ant-table-thead .ant-table-cell:last-child{padding-right:24px}.employee-page[data-v-6bf5b97e]{padding:0}.page-header[data-v-6bf5b97e]{margin-bottom:16px}.page-header h2[data-v-6bf5b97e]{margin:0;font-size:20px;font-weight:600;color:#262626}.mb-4[data-v-6bf5b97e]{margin-bottom:16px}.filter-form[data-v-6bf5b97e]{margin:0}.filter-form-item[data-v-6bf5b97e]{margin-bottom:16px!important;margin-right:16px}@media(max-width:768px){.filter-form-item[data-v-6bf5b97e]{margin-bottom:12px!important;margin-right:8px}}@media(max-width:576px){.filter-form-item[data-v-6bf5b97e]{margin-bottom:10px!important;margin-right:0;width:100%}}.table-section[data-v-6bf5b97e]{margin-top:0}.table-section[data-v-6bf5b97e] .ant-table-tbody .ant-table-cell:last-child{padding-right:24px}.table-section[data-v-6bf5b97e] .ant-table-thead .ant-table-cell:last-child{padding-right:24px}.role-list[data-v-da8dded4]{padding:24px}.page-header[data-v-da8dded4]{margin-bottom:24px}.page-header h2[data-v-da8dded4]{margin:0;font-size:20px;font-weight:600}.mb-4[data-v-da8dded4]{margin-bottom:16px}.table-section[data-v-da8dded4]{background:#fff;border-radius:8px}.table-section[data-v-da8dded4] .ant-table-tbody>tr>td:last-child,.table-section[data-v-da8dded4] .ant-table-thead>tr>th:last-child{padding-right:24px}.permission-text[data-v-da8dded4]{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-config[data-v-da8dded4]{max-height:400px;overflow-y:auto;border:1px solid #d9d9d9;border-radius:6px;padding:16px}.permission-config[data-v-da8dded4] .ant-tree{background:transparent}.permission-config[data-v-da8dded4] .ant-tree-node-content-wrapper{padding:4px 8px;border-radius:4px}.permission-config[data-v-da8dded4] .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.project-type-list[data-v-8ad48f39]{padding:24px}.page-header[data-v-8ad48f39]{margin-bottom:24px}.table-section[data-v-8ad48f39]{background:#fff}.partner-list[data-v-c5e35f9f]{padding:24px}.page-header[data-v-c5e35f9f]{margin-bottom:16px}.page-header h2[data-v-c5e35f9f]{margin:0;font-size:20px;font-weight:600;color:#262626}.mb-4[data-v-c5e35f9f]{margin-bottom:16px}.table-section[data-v-c5e35f9f]{margin-top:0}.table-section[data-v-c5e35f9f] .ant-table-tbody .ant-table-cell:last-child{padding-right:24px}.table-section[data-v-c5e35f9f] .ant-table-thead .ant-table-cell:last-child{padding-right:24px}.page-header[data-v-c0978158]{margin-bottom:24px}.page-header h2[data-v-c0978158]{margin:0;font-size:24px;font-weight:600}.table-section[data-v-c0978158] .ant-card{border-radius:8px}.mb-4[data-v-c0978158]{margin-bottom:24px}.operation-log-list[data-v-7be213b7]{padding:0}.page-header[data-v-7be213b7],.filter-section[data-v-7be213b7]{margin-bottom:16px}.filter-form[data-v-7be213b7]{margin:0}.filter-form-item[data-v-7be213b7]{margin-bottom:16px!important;margin-right:16px}@media(max-width:768px){.filter-form-item[data-v-7be213b7]{margin-bottom:12px!important;margin-right:8px}}@media(max-width:576px){.filter-form-item[data-v-7be213b7]{margin-bottom:10px!important;margin-right:0;width:100%}}.operation-detail[data-v-7be213b7]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-detail-full[data-v-7be213b7]{word-break:break-all;white-space:pre-wrap}.json-data[data-v-7be213b7]{background-color:#f5f5f5;padding:12px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;max-height:300px;overflow-y:auto}.log-detail[data-v-7be213b7]{margin-top:16px}[data-v-7be213b7] .ant-table-tbody>tr>td{padding:12px 16px}[data-v-7be213b7] .ant-descriptions-item-label{font-weight:600;background-color:#fafafa}.permission-wizard[data-v-8c14a970]{padding:24px;max-width:1200px;margin:0 auto}.mb-4[data-v-8c14a970]{margin-bottom:16px}.mb-1[data-v-8c14a970]{margin-bottom:4px}.mr-1[data-v-8c14a970]{margin-right:4px}.mt-2[data-v-8c14a970]{margin-top:8px}.mt-4[data-v-8c14a970]{margin-top:16px}.wizard-content[data-v-8c14a970]{min-height:400px;margin-bottom:24px}.step-content[data-v-8c14a970]{padding:16px 0}.permission-group[data-v-8c14a970]{display:flex;flex-direction:column;gap:8px}.permission-option[data-v-8c14a970]{margin-left:8px}.option-title[data-v-8c14a970]{font-weight:500;margin-bottom:4px}.option-description[data-v-8c14a970]{color:#666;font-size:12px}.custom-scope-config[data-v-8c14a970]{margin-top:16px;padding:16px;background-color:#fafafa;border-radius:6px}.wizard-actions[data-v-8c14a970]{text-align:center;padding-top:16px;border-top:1px solid #d9d9d9}.wizard-actions .ant-btn[data-v-8c14a970]{margin:0 8px}.permission-dashboard[data-v-3bcf0d82]{padding:24px;background:#f0f2f5;min-height:100vh}.dashboard-header[data-v-3bcf0d82]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.header-content h1[data-v-3bcf0d82]{margin:0 0 8px;font-size:28px;font-weight:600;color:#262626}.header-content p[data-v-3bcf0d82]{margin:0;color:#8c8c8c;font-size:14px}.metrics-row[data-v-3bcf0d82]{margin-bottom:24px}.metric-card[data-v-3bcf0d82]{text-align:center;border-radius:8px;box-shadow:0 2px 8px #0000001a}.metric-trend[data-v-3bcf0d82]{margin-top:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#8c8c8c}.trend-icon[data-v-3bcf0d82]{margin-left:4px}.trend-icon.up[data-v-3bcf0d82]{color:#52c41a}.trend-icon.down[data-v-3bcf0d82]{color:#ff4d4f}.content-row[data-v-3bcf0d82]{margin-bottom:24px}.chart-card[data-v-3bcf0d82],.quick-actions-card[data-v-3bcf0d82],.activity-card[data-v-3bcf0d82],.warning-card[data-v-3bcf0d82]{border-radius:8px;box-shadow:0 2px 8px #0000001a}.activity-list[data-v-3bcf0d82]{max-height:300px;overflow-y:auto}.activity-item[data-v-3bcf0d82]{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.activity-item[data-v-3bcf0d82]:last-child{border-bottom:none}.activity-icon[data-v-3bcf0d82]{margin-right:12px;font-size:16px}.activity-content[data-v-3bcf0d82]{flex:1}.activity-title[data-v-3bcf0d82]{font-size:13px;color:#262626;margin-bottom:2px}.activity-time[data-v-3bcf0d82]{font-size:11px;color:#8c8c8c}.activity-footer[data-v-3bcf0d82],.warning-footer[data-v-3bcf0d82]{text-align:center;padding-top:8px;border-top:1px solid #f0f0f0;margin-top:8px}.warning-list[data-v-3bcf0d82]{max-height:250px;overflow-y:auto}.warning-item[data-v-3bcf0d82]{margin-bottom:8px}.warning-item[data-v-3bcf0d82]:last-child{margin-bottom:0}.detail-table-card[data-v-3bcf0d82]{border-radius:8px;box-shadow:0 2px 8px #0000001a}.mb-4[data-v-3bcf0d82]{margin-bottom:16px}.permission-visualizer[data-v-991e3f7b]{padding:16px}.mb-4[data-v-991e3f7b]{margin-bottom:16px}.permission-matrix[data-v-991e3f7b]{border:1px solid #d9d9d9;border-radius:6px;overflow:hidden}.matrix-header[data-v-991e3f7b]{display:flex;background-color:#fafafa;border-bottom:1px solid #d9d9d9}.matrix-row[data-v-991e3f7b]{display:flex;border-bottom:1px solid #d9d9d9}.matrix-row[data-v-991e3f7b]:last-child{border-bottom:none}.matrix-cell[data-v-991e3f7b]{flex:1;padding:12px;text-align:center;border-right:1px solid #d9d9d9;min-width:80px}.matrix-cell[data-v-991e3f7b]:last-child{border-right:none}.header-cell[data-v-991e3f7b]{font-weight:600;background-color:#fafafa}.module-cell[data-v-991e3f7b]{font-weight:500;background-color:#f5f5f5;text-align:left}.permission-cell[data-v-991e3f7b]{cursor:pointer;transition:background-color .3s}.permission-cell[data-v-991e3f7b]:hover{background-color:#e6f7ff}.permission-cell.has-permission[data-v-991e3f7b]{background-color:#f6ffed}.permission-cell.no-permission[data-v-991e3f7b]{background-color:#fff2f0}.permission-granted[data-v-991e3f7b]{color:#52c41a;font-weight:500}.permission-denied[data-v-991e3f7b]{color:#ff4d4f}.timeline-content[data-v-991e3f7b]{padding-left:8px}.timeline-title[data-v-991e3f7b]{font-weight:500;margin-bottom:4px}.timeline-description[data-v-991e3f7b]{color:#666;margin-bottom:4px}.timeline-time[data-v-991e3f7b]{color:#999;font-size:12px}.permission-management[data-v-3e4cb231]{padding:24px}.page-header[data-v-3e4cb231]{margin-bottom:24px}.page-header h1[data-v-3e4cb231]{margin:0 0 8px;font-size:24px;font-weight:600}.page-header p[data-v-3e4cb231]{margin:0;color:#666}.management-tabs[data-v-3e4cb231]{background:#fff;border-radius:8px;padding:16px}.mb-1[data-v-3e4cb231]{margin-bottom:4px}.mr-1[data-v-3e4cb231]{margin-right:4px}.mb-4[data-v-3e4cb231]{margin-bottom:16px}.mt-4[data-v-3e4cb231]{margin-top:16px}.role-permission-management[data-v-3e4cb231],.user-permission-management[data-v-3e4cb231],.permission-audit[data-v-3e4cb231]{min-height:600px}.approval-flows[data-v-735c408c]{padding:0}.action-bar[data-v-735c408c]{margin-bottom:16px}.steps-config[data-v-735c408c]{margin-top:16px}.step-item[data-v-735c408c]{margin-bottom:16px}.add-step-btn[data-v-735c408c]{margin-top:8px}[data-v-735c408c] .ant-modal{z-index:1000}[data-v-735c408c] .ant-modal-mask{z-index:999}[data-v-735c408c] .ant-modal-wrap{z-index:1000}.approval-permissions[data-v-1c23a664]{padding:0}.roles-config[data-v-1c23a664]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.roles-config .ant-tag[data-v-1c23a664]{margin:0}.approval-tasks[data-v-47502e5e]{padding:0}.filter-bar[data-v-47502e5e]{margin-bottom:16px;padding:16px;background:#fafafa;border-radius:6px}.task-detail[data-v-47502e5e]{padding:0}.approval-management[data-v-c0fe5952]{padding:24px}.page-header[data-v-c0fe5952]{margin-bottom:24px}.page-header h1[data-v-c0fe5952]{margin:0 0 8px;font-size:24px;font-weight:600;color:#262626}.page-header p[data-v-c0fe5952]{margin:0;color:#8c8c8c;font-size:14px}.approval-tasks[data-v-7cc4aef2]{padding:24px}.page-header[data-v-7cc4aef2]{margin-bottom:24px}.page-header h2[data-v-7cc4aef2]{margin:0 0 8px;font-size:24px;font-weight:600;color:#262626}.page-header p[data-v-7cc4aef2]{margin:0;color:#8c8c8c;font-size:14px}.filters[data-v-7cc4aef2]{margin-bottom:24px;padding:16px;background-color:#fafafa;border-radius:6px}.approval-task-detail[data-v-04f09f7d]{padding:24px}.page-header[data-v-04f09f7d]{display:flex;align-items:center;margin-bottom:24px}.page-header h2[data-v-04f09f7d]{margin:0;font-size:24px;font-weight:600;color:#262626}.task-info-card[data-v-04f09f7d],.history-card[data-v-04f09f7d],.approval-actions-card[data-v-04f09f7d]{border-radius:8px}.step-content[data-v-04f09f7d]{padding:8px 0}.step-header[data-v-04f09f7d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.step-name[data-v-04f09f7d]{font-weight:500;color:#262626}.step-status[data-v-04f09f7d]{font-size:12px;color:#8c8c8c}.step-details[data-v-04f09f7d]{font-size:14px;color:#595959;line-height:1.5}.step-info[data-v-04f09f7d]{display:flex;align-items:center;gap:8px;color:#595959;font-size:14px}.step-info .separator[data-v-04f09f7d]{color:#d9d9d9;margin:0 4px}.step-comment[data-v-04f09f7d]{margin-top:8px;padding:8px;background-color:#f5f5f5;border-radius:4px;font-style:italic}.attachments[data-v-04f09f7d]{space-y:8px}.attachment-item[data-v-04f09f7d]{display:flex;align-items:center;padding:8px;border:1px solid #f0f0f0;border-radius:4px;gap:8px}.file-name[data-v-04f09f7d]{flex:1;color:#262626}.user-approval-comment[data-v-04f09f7d]{margin-top:16px;text-align:left}.comment-content[data-v-04f09f7d]{margin-top:8px;padding:12px;background-color:#f5f5f5;border-radius:6px;border-left:4px solid #52c41a;font-style:italic;color:#595959;line-height:1.5}@media(max-width:768px){.approval-task-detail[data-v-04f09f7d]{padding:16px}.page-header[data-v-04f09f7d]{flex-direction:column;align-items:flex-start;gap:16px}}.profile-page[data-v-bd287664]{padding:0}.page-header[data-v-bd287664],.mb-4[data-v-bd287664]{margin-bottom:16px}
