:root{--app-brand-primary: #1d4ed8;--app-brand-primary-hover: #2563eb;--app-brand-secondary: #06b6d4;--app-brand-gradient: linear-gradient(135deg, #1d4ed8 0%, #06b6d4 100%);--app-success: #16a34a;--app-warning: #f59e0b;--app-danger: #dc2626;--app-info: #0ea5e9;--app-bg-page: #f5f7fa;--app-bg-card: #ffffff;--app-bg-sidebar: #0f172a;--app-bg-sidebar-hover: #1e293b;--app-bg-header: #ffffff;--app-text-primary: #0f172a;--app-text-regular: #334155;--app-text-secondary: #64748b;--app-text-placeholder: #94a3b8;--app-text-inverse: #f8fafc;--app-text-on-brand: #ffffff;--app-border: #e2e8f0;--app-border-light: #f1f5f9;--app-space-1: 4px;--app-space-2: 8px;--app-space-3: 12px;--app-space-4: 16px;--app-space-5: 20px;--app-space-6: 24px;--app-space-8: 32px;--app-radius-sm: 4px;--app-radius-md: 8px;--app-radius-lg: 12px;--app-radius-pill: 999px;--app-shadow-1: 0 1px 2px rgba(15, 23, 42, .06);--app-shadow-2: 0 4px 12px rgba(15, 23, 42, .08);--app-shadow-3: 0 12px 32px rgba(15, 23, 42, .12);--app-sidebar-width: 220px;--app-sidebar-collapsed-width: 64px;--app-header-height: 56px;--app-content-max: 1400px;--app-transition-fast: .15s ease;--app-transition: .25s ease;--el-color-primary: var(--app-brand-primary);--el-color-primary-light-3: #4f7bea;--el-color-primary-light-5: #7da0ee;--el-color-primary-light-7: #b3c4f4;--el-color-primary-light-9: #e0e8fa;--el-color-primary-dark-2: #1747c6;--el-color-success: var(--app-success);--el-color-warning: var(--app-warning);--el-color-danger: var(--app-danger);--el-color-info: var(--app-info);--el-bg-color: var(--app-bg-card);--el-bg-color-page: var(--app-bg-page);--el-border-color-lighter: var(--app-border-light);--el-border-color: var(--app-border);--el-text-color-primary: var(--app-text-primary);--el-text-color-regular: var(--app-text-regular);--el-text-color-secondary: var(--app-text-secondary);--el-text-color-placeholder: var(--app-text-placeholder);--el-border-radius-base: var(--app-radius-md);--el-box-shadow-light: var(--app-shadow-1)}html[data-theme=dark]{--app-bg-page: #0b1220;--app-bg-card: #111827;--app-bg-sidebar: #050b16;--app-bg-sidebar-hover: #0f172a;--app-bg-header: #0b1220;--app-text-primary: #f1f5f9;--app-text-regular: #cbd5e1;--app-text-secondary: #94a3b8;--app-text-placeholder: #64748b;--app-border: #1f2a3a;--app-border-light: #1a2333;--app-shadow-1: 0 1px 2px rgba(0, 0, 0, .6);--app-shadow-2: 0 4px 12px rgba(0, 0, 0, .5);--el-bg-color: var(--app-bg-card);--el-bg-color-page: var(--app-bg-page);--el-text-color-primary: var(--app-text-primary);--el-text-color-regular: var(--app-text-regular);--el-border-color: var(--app-border);--el-border-color-lighter: var(--app-border-light)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--app-text-regular);background:var(--app-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}:where(button,[role=button],a,input,select,textarea):focus-visible{outline:2px solid var(--app-brand-primary);outline-offset:2px;border-radius:var(--app-radius-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#64748b66;border-radius:var(--app-radius-pill)}::-webkit-scrollbar-thumb:hover{background:#64748b99}::-webkit-scrollbar-track{background:transparent}.app-mono{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.app-text-muted{color:var(--app-text-secondary)}.app-text-danger{color:var(--app-danger)}.app-text-success{color:var(--app-success)}.app-text-bold{font-weight:600}.app-row{display:flex;align-items:center;gap:var(--app-space-2)}.app-row-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--app-space-2)}.app-row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--app-space-3)}.app-stack>*+*{margin-top:var(--app-space-3)}.app-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.el-table{border-radius:var(--app-radius-md)}.el-card{border-radius:var(--app-radius-md);border:1px solid var(--app-border-light)}.el-card__body{padding:var(--app-space-5)}.el-tag{font-variant-numeric:tabular-nums}
