@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;overflow-x:hidden;position:relative}#app{width:100%;min-height:100vh;overflow-x:hidden;position:relative}@media screen and (max-width: 768px){body{font-size:14px}#app{width:100vw;max-width:100vw}}@media screen and (max-width: 480px){body{font-size:13px}}:root{--neu-bg: #F2F4F8;--neu-surface: #F2F4F8;--neu-primary-start: #667eea;--neu-primary-end: #764ba2;--neu-primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--neu-text-primary: #2D3748;--neu-text-secondary: #718096;--neu-text-light: #A0AEC0;--neu-status-pending: #ED8936;--neu-status-processing: #4299E1;--neu-status-done: #48BB78;--neu-status-closed: #9F7AEA;--neu-shadow-dark: #d1d9e6;--neu-shadow-light: #ffffff;--neu-inset-shadow: inset 4px 4px 8px #d1d9e6, inset -4px -4px 8px #ffffff;--neu-extrude-shadow: 8px 8px 16px #d1d9e6, -8px -8px 16px #ffffff;--neu-card-shadow: 12px 12px 24px #d1d9e6, -12px -12px 24px #ffffff;--neu-button-glow: 0 8px 20px rgba(102, 126, 234, .4)}body{background-color:var(--neu-bg)!important;color:var(--neu-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.neumorphic-sidebar{border-radius:20px;box-shadow:var(--neu-extrude-shadow);border:none;background:var(--neu-surface);padding:20px 0}.neumorphic-sidebar .sidebar-menu-item{margin:8px 16px;padding:12px 20px;border-radius:16px;color:var(--neu-text-secondary);transition:all .3s ease;cursor:pointer}.neumorphic-sidebar .sidebar-menu-item:hover{color:var(--neu-primary-start)}.neumorphic-sidebar .sidebar-menu-item.active{background:var(--neu-surface);border-radius:16px;box-shadow:var(--neu-inset-shadow);border:none;color:var(--neu-primary-start);font-weight:600}.neumorphic-metric-card{background:var(--neu-surface);border-radius:20px;box-shadow:var(--neu-card-shadow);border:none;padding:24px;display:flex;align-items:center;gap:20px;transition:all .3s ease}.neumorphic-metric-card:hover{transform:translateY(-4px);box-shadow:16px 16px 32px #d1d9e6,-16px -16px 32px #fff}.neumorphic-metric-card .metric-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--neu-inset-shadow);background:var(--neu-surface)}.neumorphic-metric-card .metric-icon svg,.neumorphic-metric-card .metric-icon i{color:var(--neu-primary-start);font-size:24px}.neumorphic-metric-card .metric-icon{flex-shrink:0}.neumorphic-metric-card .metric-content{flex:1}.neumorphic-metric-card .metric-content .metric-value{font-size:36px;font-weight:700;color:var(--neu-text-primary);line-height:1.2;margin-bottom:4px}.neumorphic-metric-card .metric-content .metric-label{font-size:14px;color:var(--neu-text-secondary);font-weight:500}.neumorphic-badge.pending{display:inline-block;padding:4px 12px;border-radius:12px;background:var(--neu-status-pending);color:#fff;font-size:12px;font-weight:600;border:none;box-shadow:none}.neumorphic-badge.processing{display:inline-block;padding:4px 12px;border-radius:12px;background:var(--neu-status-processing);color:#fff;font-size:12px;font-weight:600;border:none;box-shadow:none}.neumorphic-badge.done{display:inline-block;padding:4px 12px;border-radius:12px;background:var(--neu-status-done);color:#fff;font-size:12px;font-weight:600;border:none;box-shadow:none}.neumorphic-badge.closed{display:inline-block;padding:4px 12px;border-radius:12px;background:var(--neu-status-closed);color:#fff;font-size:12px;font-weight:600;border:none;box-shadow:none}.neumorphic-chart-container{background:var(--neu-surface);border-radius:20px;box-shadow:var(--neu-card-shadow);border:none;padding:24px;margin-bottom:20px}.neumorphic-chart-container .chart-title{font-size:18px;font-weight:600;color:var(--neu-text-primary);margin-bottom:20px}.neumorphic-text-primary{color:var(--neu-text-primary)}.neumorphic-text-secondary{color:var(--neu-text-secondary)}.neumorphic-gradient-text{background:var(--neu-primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}:root{--color-primary: #409eff;--color-primary-strong: #337ecc;--color-success: #67c23a;--color-warning: #e6a23c;--color-danger: #f56c6c;--color-info: #909399;--color-bg: var(--neu-bg);--color-card: var(--neu-surface);--color-border: var(--neu-shadow-dark);--color-text: var(--neu-text-primary);--color-text-secondary: var(--neu-text-secondary);--color-text-placeholder: var(--neu-text-light);--color-sidebar-bg: #2c3e50;--color-sidebar-active: #1890ff;--color-sidebar-text: #ffffff;--color-sidebar-text-active: #ffffff;--color-header-bg: #ffffff;--color-header-text: #333333;--color-header-icon: #666666;--shadow-light: 0 4px 12px rgba(0, 0, 0, .05);--radius: 10px;--spacing: 16px;--color-chart-bg: #ffffff;--color-chart-axis: #666666;--color-chart-grid: #dcdfe6}:root[data-theme=dark]{--color-primary: #5cadff;--color-primary-strong: #3c7dd9;--color-success: #7ddc6b;--color-warning: #f2b85f;--color-danger: #ff7b7b;--color-info: #a0a5ad;--color-bg: #12121e;--color-card: #1e1e1e;--color-border: #2c2c2c;--color-text: #f0f0f0;--color-text-secondary: #94a3b8;--color-text-placeholder: #8c8c8c;--color-sidebar-bg: #1a1a2e;--color-sidebar-active: #2563eb;--color-sidebar-text: #e0e0e0;--color-sidebar-text-active: #ffffff;--color-header-bg: #161623;--color-header-text: #f0f0f0;--color-header-icon: #d1d5db;--shadow-light: 0 8px 24px rgba(0, 0, 0, .35);--color-chart-bg: #1e1e1e;--color-chart-axis: #d1d5db;--color-chart-grid: #2f3540}body{font-family:Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;background:var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease}.sidebar{background:var(--color-sidebar-bg);color:var(--color-sidebar-text);transition:background-color .3s ease,color .3s ease}.sidebar .logo h3{color:var(--color-sidebar-text-active)}:deep(.el-menu){background-color:transparent;border-right:none}:deep(.el-menu-item){color:var(--color-sidebar-text)}:deep(.el-menu-item.is-active),:deep(.el-menu-item:hover){background-color:var(--color-sidebar-active);color:var(--color-sidebar-text-active)}:deep(.el-header){background:var(--color-header-bg);color:var(--color-header-text);transition:background-color .3s ease,color .3s ease}:deep(.el-header .el-button){color:var(--color-header-icon)}:deep(.el-card),:deep(.el-dialog),:deep(.el-message-box){background:var(--color-card);color:var(--color-text);border-color:var(--color-border);transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}:deep(.el-dialog__title),:deep(.el-message-box__title){color:var(--color-text)}:deep(.el-input__inner),:deep(.el-textarea__inner),:deep(.el-select__wrapper),:deep(.el-date-editor){background:var(--color-card);color:var(--color-text);border-color:var(--color-border);transition:background-color .3s ease,color .3s ease,border-color .3s ease}:deep(.el-table){--el-table-header-bg-color: var(--color-card);--el-table-border-color: var(--color-border);--el-table-text-color: var(--color-text);--el-table-header-text-color: var(--color-text-secondary);background:var(--color-card);transition:background-color .3s ease,color .3s ease}:deep(.el-table__body tr:hover > td){background-color:#409eff14!important}:deep(.el-dropdown-menu),:deep(.el-select-dropdown),:deep(.el-popper),:deep(.el-message){background:var(--color-card);color:var(--color-text);border-color:var(--color-border);transition:background-color .3s ease,color .3s ease}:deep(.el-pagination),:deep(.el-form-item__label),:deep(.el-breadcrumb__inner),:deep(.el-menu-item),:deep(.el-sub-menu__title){color:var(--color-text)}:deep(.el-tooltip__popper),:deep(.el-popover){background:var(--color-card);color:var(--color-text);border-color:var(--color-border)}.container{width:100%;padding:20px}:deep(.el-card){border-radius:var(--radius);box-shadow:var(--shadow-light);border:1px solid var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1)}:deep(.el-card):hover{box-shadow:0 8px 24px #0000001f}:deep(.el-button){transition:all .15s ease}:deep(.el-button--primary){box-shadow:0 4px 10px #409eff40}:deep(.el-button:hover){transform:translateY(-1px)}:deep(.el-button:active){transform:translateY(0);box-shadow:none}:deep(.el-table__body tr:hover > td){background-color:#f0f5ff!important}:deep(.el-tag){border-radius:6px}.search-form{margin-bottom:var(--spacing)}body[data-theme=dark] :deep(.el-message--success){background:#0f172a;border:1px solid #334155;color:#22c55e}.text-center{text-align:center}.text-right{text-align:right}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}body[data-theme=dark] :deep(.el-card):hover{background:#25253a}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease,transform .3s ease}.fade-enter-from{opacity:0;transform:translateY(10px)}.fade-leave-to{opacity:0;transform:translateY(-10px)}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple-effect:active:after{width:300px;height:300px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.count-up{animation:countUp .5s ease-out}@keyframes tableRowFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.table-row-enter{animation:tableRowFadeIn .3s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce 1s ease-in-out infinite}
