:root{--color-primary: #1a3a5c;--color-primary-light: #2a5a8c;--color-primary-dark: #0f2440;--color-brand-red: #c41e3a;--color-brand-red-light: #e0455a;--color-brand-red-dark: #9a162c;--color-success: #2e7d32;--color-success-light: #e8f5e9;--color-warning: #ed6c02;--color-warning-light: #fff3e0;--color-danger: #c62828;--color-danger-light: #ffebee;--color-info: #1565c0;--color-info-light: #e3f2fd;--color-white: #ffffff;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-300: #e0e0e0;--color-gray-400: #bdbdbd;--color-gray-500: #9e9e9e;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #303133;--color-black: #000000;--text-primary: #303133;--text-regular: #606266;--text-secondary: #909399;--text-placeholder: #c0c4cc;--text-disabled: #c0c4cc;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-size-h1: 20px;--font-size-h2: 18px;--font-size-h3: 16px;--font-size-body: 14px;--font-size-small: 12px;--font-weight-bold: 600;--font-weight-normal: 400;--line-height-heading: 1.4;--line-height-body: 1.6;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-round: 50%;--shadow-light: 0 1px 3px rgba(0, 0, 0, .08);--shadow-normal: 0 2px 8px rgba(0, 0, 0, .1);--shadow-hover: 0 4px 16px rgba(0, 0, 0, .12);--transition-fast: .2s ease;--transition-normal: .3s ease}:root{--el-color-primary: var(--color-primary);--el-color-primary-light-3: var(--color-primary-light);--el-color-primary-dark-2: var(--color-primary-dark);--el-color-success: var(--color-success);--el-color-warning: var(--color-warning);--el-color-danger: var(--color-danger);--el-color-info: var(--color-info);--el-font-family: var(--font-family);--el-font-size-base: var(--font-size-body);--el-text-color-primary: var(--text-primary);--el-text-color-regular: var(--text-regular);--el-text-color-secondary: var(--text-secondary);--el-text-color-placeholder: var(--text-placeholder);--el-border-radius-base: var(--radius-sm);--el-border-radius-small: var(--radius-sm);--el-box-shadow-light: var(--shadow-light);--el-box-shadow: var(--shadow-normal);--el-box-shadow-dark: var(--shadow-hover)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:var(--font-family);font-size:var(--font-size-body);color:var(--text-primary);background:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}.el-menu{border-right:none!important}.el-menu-item.is-active{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%)!important;color:var(--color-white)!important;font-weight:var(--font-weight-bold)}.el-menu-item:not(.is-active):hover{background:var(--color-gray-100)!important;color:var(--color-primary)!important}.el-header{background:var(--color-white)!important;border-bottom:1px solid var(--color-gray-200);box-shadow:var(--shadow-light);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg)!important}.el-main{background:var(--color-gray-50);padding:var(--spacing-lg)!important}.el-card{border-radius:var(--radius-md)!important;border:1px solid var(--color-gray-200)!important;box-shadow:var(--shadow-light)!important;transition:box-shadow var(--transition-fast)}.el-card:hover{box-shadow:var(--shadow-normal)!important}.el-card__header{padding:var(--spacing-md) var(--spacing-lg)!important;border-bottom:1px solid var(--color-gray-100)!important;font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat-card{border-radius:var(--radius-md);padding:var(--spacing-lg);background:var(--color-white);border-left:4px solid var(--color-primary);box-shadow:var(--shadow-light);transition:all var(--transition-fast);cursor:pointer}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-left-color:var(--color-brand-red)}.stat-card__value{font-size:32px;font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1.2}.stat-card__label{font-size:var(--font-size-small);color:var(--text-secondary);margin-top:var(--spacing-xs)}.el-table{border-radius:var(--radius-md);overflow:hidden;font-size:var(--font-size-body)}.el-table th.el-table__cell{background:var(--color-gray-50)!important;color:var(--text-regular);font-weight:var(--font-weight-bold);font-size:var(--font-size-body);padding:var(--spacing-sm) 0;border-bottom:2px solid var(--color-gray-200)}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--color-gray-50)}.el-table__body tr:hover>td.el-table__cell{background:#1a3a5c0a!important}.el-table .cell{text-align:center!important;padding:var(--spacing-sm) var(--spacing-xs)}.el-input__inner,.el-textarea__inner,.el-select .el-input__inner{border-radius:var(--radius-sm)!important;font-size:var(--font-size-body);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.el-input__inner:focus,.el-textarea__inner:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px #1a3a5c1a!important}.el-form-item__label{font-weight:var(--font-weight-bold);font-size:var(--font-size-body);color:var(--text-regular)}.el-button{border-radius:var(--radius-sm)!important;font-size:var(--font-size-body)!important;transition:all var(--transition-fast);padding:8px 16px!important}.el-button--primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-white)!important}.el-button--primary:hover{background:var(--color-primary-light)!important;border-color:var(--color-primary-light)!important;transform:translateY(-1px);box-shadow:var(--shadow-light)}.el-button--primary:active{background:var(--color-primary-dark)!important;transform:translateY(0)}.el-button--default{color:var(--text-regular)!important;border-color:var(--color-gray-300)!important}.el-button--danger{background:var(--color-danger)!important;border-color:var(--color-danger)!important;color:var(--color-white)!important}.anim-btn{transition:all var(--transition-fast);cursor:pointer;font-size:13px!important;padding:6px 14px!important;border-radius:4px!important;height:32px!important;line-height:1!important}.anim-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-light)}.anim-btn:active{transform:scale(.97)}.anim-btn--table{width:72px!important;min-width:68px!important;padding:5px 4px!important;height:28px!important;font-size:12px!important;border-radius:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.anim-btn--freelancer-complete{width:auto!important;min-width:86px!important;max-width:110px!important;white-space:nowrap!important;overflow:visible!important}.op-cell{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px}.op-cell--nowrap{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:nowrap}.op-cell--nowrap .el-button{margin-left:0!important}.el-table .el-table__fixed-right .cell{white-space:nowrap!important}.el-table .el-table__fixed-right .cell .el-button:not(.is-link):not(.el-button--text){min-width:72px!important;width:72px!important;padding:5px 4px!important;margin-left:0!important;margin-right:6px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.el-table .el-button.is-link{font-size:12px!important;padding:0 6px!important;min-width:auto}.el-dialog{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-hover)!important}.el-dialog__header{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-md)!important;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-primary)}.el-dialog__body{padding:var(--spacing-lg) var(--spacing-xl)!important}.el-dialog__footer{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-lg)!important;border-top:1px solid var(--color-gray-100);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.el-tag{border-radius:var(--radius-sm)!important;font-size:var(--font-size-small)!important;padding:2px 8px!important;border:none!important}.status-pending{background:var(--color-gray-100);color:var(--text-regular)}.status-active,.status-in_progress{background:#e3f2fd;color:var(--color-info)}.status-draft_done,.status-completed,.status-paid{background:#e8f5e9;color:var(--color-success)}.status-paused{background:var(--color-warning-light);color:var(--color-warning)}.status-cancelled,.status-rejected,.status-overdue{background:var(--color-danger-light);color:var(--color-danger)}.status-audited{background:var(--color-info-light);color:var(--color-info)}.el-progress-bar__outer{background:var(--color-gray-200)!important;border-radius:10px!important}.el-progress-bar__inner{border-radius:10px!important}.el-tabs__item{font-size:var(--font-size-body)!important;color:var(--text-regular);transition:color var(--transition-fast)}.el-tabs__item.is-active{color:var(--color-primary)!important;font-weight:var(--font-weight-bold)}.el-tabs__active-bar{background:var(--color-brand-red)!important;height:3px!important}.el-dropdown-menu__item:hover{background:var(--color-gray-50)!important;color:var(--color-primary)!important}.el-message{border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-normal)!important;font-size:var(--font-size-body)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-xl);color:var(--text-secondary)}.empty-state__icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.empty-state__text{font-size:var(--font-size-body);margin-bottom:var(--spacing-sm)}.empty-state__subtext{font-size:var(--font-size-small);color:var(--text-placeholder)}.el-timeline-item__node{border-color:var(--color-primary)!important}.el-timeline-item__wrapper{padding-left:var(--spacing-lg)!important}.page-fade-enter-active,.page-fade-leave-active{transition:opacity var(--transition-normal)}.page-fade-enter-from,.page-fade-leave-to{opacity:0}@keyframes dialogFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes cardFloat{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.alert-soft-danger{background:var(--color-danger-light);color:var(--color-danger);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border-left:3px solid var(--color-danger)}.alert-soft-warning{background:var(--color-warning-light);color:var(--color-warning);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border-left:3px solid var(--color-warning)}.alert-soft-info{background:var(--color-info-light);color:var(--color-info);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border-left:3px solid var(--color-info)}.section-table .el-table__row--level-1{background:var(--color-gray-50)}.section-urge-row{background:var(--color-warning-light)!important}.section-overdue-row{background:var(--color-danger-light)!important}.mini-progress{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-small)}.mini-progress__bar{flex:1;height:6px;background:var(--color-gray-200);border-radius:3px;overflow:hidden}.mini-progress__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transition:width var(--transition-normal)}@media (max-width: 1366px){:root{--font-size-body: 13px;--spacing-md: 12px;--spacing-lg: 20px}}@media (min-width: 1920px){.el-main{max-width:1600px;margin:0 auto}}.el-table th.el-table-column--selection>.cell{display:flex!important;justify-content:center!important;align-items:center!important;padding:0!important}.el-table .el-table__body-wrapper td:first-child>.cell,.el-table .el-table__fixed-body-wrapper td:first-child>.cell,.el-table .el-table__fixed-right td:first-child>.cell{display:flex!important;justify-content:center!important;align-items:center!important;padding:0!important}
