#app{width:100%;height:100vh}*{margin:0;padding:0;box-sizing:border-box}:root{--brand-primary: #2f6fed;--brand-primary-dark: #1d4fd4;--brand-primary-light: #5a8df5;--brand-primary-soft: #eaf1ff;--brand-success: #16a34a;--brand-warning: #f59e0b;--brand-danger: #ef4444;--brand-info: #6b7280;--text-primary: #1f2937;--text-regular: #4b5563;--text-secondary: #6b7280;--text-placeholder: #9ca3af;--bg-page: #f3f5f9;--bg-card: #ffffff;--bg-subtle: #f8fafc;--border-light: #e5e7eb;--border-lighter: #f0f2f5;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 24px -6px rgba(15, 23, 42, .12), 0 4px 8px -2px rgba(15, 23, 42, .06);--space-xs: 6px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px}html,body,#app{height:100%;width:100%;font-family:Microsoft YaHei,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-page);color:var(--text-primary);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-container{padding:var(--space-lg);min-height:100%;display:flex;flex-direction:column;gap:var(--space-md)}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-lighter)}.card-flush{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-lighter);overflow:hidden}.card-flush .card-header{padding:var(--space-md) var(--space-md) 0}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.page-title{font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-xs)}.page-subtitle{font-size:13px;color:var(--text-secondary);margin-top:2px}.section-title{font-size:14px;font-weight:600;color:var(--text-primary);padding-left:8px;border-left:3px solid var(--brand-primary);margin-bottom:var(--space-sm)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--border-lighter);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px}.stat-card .stat-label{font-size:12px;color:var(--text-secondary)}.stat-card .stat-value{font-size:24px;font-weight:600;color:var(--text-primary);line-height:1.2}.stat-card .stat-extra{font-size:12px;color:var(--text-placeholder)}.stat-card.is-primary .stat-value{color:var(--brand-primary)}.stat-card.is-success .stat-value{color:var(--brand-success)}.stat-card.is-warning .stat-value{color:var(--brand-warning)}.stat-card.is-danger .stat-value{color:var(--brand-danger)}.el-card{border-radius:var(--radius-md)!important;border-color:var(--border-lighter)!important;box-shadow:var(--shadow-sm)!important}.el-table{border-radius:var(--radius-sm);overflow:hidden}.el-table th.el-table__cell{background:var(--bg-subtle)!important;color:var(--text-regular)!important;font-weight:600}.el-button--primary{background:var(--brand-primary)!important;border-color:var(--brand-primary)!important}.el-button--primary:hover{background:var(--brand-primary-dark)!important;border-color:var(--brand-primary-dark)!important}.el-tag{border-radius:4px}.el-dialog{border-radius:var(--radius-lg)!important;overflow:hidden}.el-dialog__header{border-bottom:1px solid var(--border-lighter);margin-right:0!important;padding:var(--space-md) var(--space-lg)!important}.el-dialog__body{padding:var(--space-lg)!important}.el-dialog__footer{border-top:1px solid var(--border-lighter);padding:var(--space-md) var(--space-lg)!important}.el-form-item__label{font-weight:500;color:var(--text-regular)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{border-radius:var(--radius-sm)!important}.el-menu{border-right:none!important}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
