#app{height:100%}:root{--color-primary: #4f6ef7;--color-primary-hover: #3b5de7;--color-primary-light: #eef1fe;--color-primary-border: #c7d2fe;--color-success: #22c55e;--color-success-light: #f0fdf4;--color-success-border: #bbf7d0;--color-warning: #f59e0b;--color-warning-light: #fffbeb;--color-warning-border: #fde68a;--color-danger: #ef4444;--color-danger-light: #fef2f2;--color-danger-border: #fecaca;--color-info: #6b7280;--color-info-light: #f3f4f6;--text-primary: #111827;--text-regular: #374151;--text-secondary: #6b7280;--text-placeholder: #9ca3af;--text-disabled: #d1d5db;--text-inverse: #ffffff;--bg-page: #f8f9fb;--bg-card: #ffffff;--bg-hover: #f3f4f6;--bg-stripe: #f9fafb;--bg-active: #eef1fe;--bg-overlay: rgba(0, 0, 0, .45);--border-base: #e5e7eb;--border-light: #f3f4f6;--border-lighter: #f3f4f6;--border-extra-light: #f9fafb;--sidebar-bg: #0f172a;--sidebar-bg-darker: #020617;--sidebar-text: #94a3b8;--sidebar-text-hover: #cbd5e1;--sidebar-text-active: #ffffff;--sidebar-active-bg: rgba(79, 110, 247, .12);--sidebar-hover-bg: rgba(255, 255, 255, .04);--sidebar-divider: rgba(255, 255, 255, .06);--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--header-height: 56px;--header-bg: #ffffff;--header-border: #f3f4f6;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 22px;--font-size-3xl: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--stat-blue: #4f6ef7;--stat-blue-bg: #eef1fe;--stat-pink: #ec4899;--stat-pink-bg: #fdf2f8;--stat-cyan: #06b6d4;--stat-cyan-bg: #ecfeff;--stat-green: #22c55e;--stat-green-bg: #f0fdf4;--stat-orange: #f59e0b;--stat-orange-bg: #fffbeb;--stat-purple: #8b5cf6;--stat-purple-bg: #f5f3ff;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,PingFang SC,sans-serif;font-size:var(--font-size-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-page)}.page-container{padding:var(--space-6)}.card-container{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-5)}.text-right{text-align:right}.text-center{text-align:center}.mb-20{margin-bottom:var(--space-5)}.mt-20{margin-top:var(--space-5)}.el-card{--el-card-border-color: var(--border-base);border-radius:var(--radius-lg)!important;border:1px solid var(--border-light)!important;box-shadow:var(--shadow-xs)!important;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.el-card:hover{box-shadow:var(--shadow-sm)!important}.el-card :deep(.el-card__header){padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary)}.el-card :deep(.el-card__body){padding:var(--space-5)}.el-table{--el-table-border-color: var(--border-light);--el-table-header-bg-color: var(--bg-stripe);--el-table-row-hover-bg-color: var(--bg-hover);font-size:var(--font-size-sm)}.el-table th.el-table__cell{font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.02em;background-color:var(--bg-stripe)!important}.el-table td.el-table__cell{color:var(--text-regular)}.el-button{--el-button-border-radius: var(--radius-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.el-button--primary{--el-button-bg-color: var(--color-primary);--el-button-border-color: var(--color-primary);--el-button-hover-bg-color: var(--color-primary-hover);--el-button-hover-border-color: var(--color-primary-hover)}.el-tag{--el-tag-border-radius: var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);padding:0 10px}.el-input__wrapper{border-radius:var(--radius-base)!important;box-shadow:0 0 0 1px var(--border-base) inset!important;transition:box-shadow var(--transition-fast)!important}.el-input__wrapper:hover{box-shadow:0 0 0 1px #c0c4cc inset!important}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--color-primary) inset,0 0 0 3px var(--color-primary-light)!important}.el-select-dropdown{border-radius:var(--radius-md)!important;border:1px solid var(--border-light)!important;box-shadow:var(--shadow-lg)!important}.el-dialog{--el-dialog-border-radius: var(--radius-xl);box-shadow:var(--shadow-xl)!important}.el-pagination{--el-pagination-font-size: var(--font-size-sm);--el-pagination-button-width: 32px;--el-pagination-button-height: 32px}.el-pagination .btn-prev,.el-pagination .btn-next,.el-pagination .el-pager li{border-radius:var(--radius-base)!important}.el-breadcrumb{font-size:var(--font-size-sm)}.el-breadcrumb .el-breadcrumb__inner{color:var(--text-secondary);font-weight:var(--font-weight-normal)}.el-breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:var(--text-primary);font-weight:var(--font-weight-medium)}.el-message-box{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important}.el-empty{padding:var(--space-10) 0}.el-empty .el-empty__description p{color:var(--text-secondary);font-size:var(--font-size-sm)}.el-loading-mask{background-color:#fffc!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}::-webkit-scrollbar-track{background:transparent}
