#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--color-primary: #2563EB;--color-primary-hover: #1D4ED8;--color-primary-light: #EFF6FF;--color-success: #16A34A;--color-warning: #D97706;--color-danger: #DC2626;--color-text-primary: #111827;--color-text-secondary: #6B7280;--color-text-muted: #9CA3AF;--color-bg: #F9FAFB;--color-bg-card: #FFFFFF;--color-border: #E5E7EB;--color-border-strong: #D1D5DB;--color-sidebar-bg: #1E293B;--color-sidebar-text: #CBD5E1;--color-sidebar-active: #3B82F6;--color-sidebar-hover: #334155;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--sidebar-width: 220px;--sidebar-collapsed-width: 60px;--header-height: 56px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow: 0 2px 8px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--transition: .15s ease}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4)}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background var(--transition);min-height:44px}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 16px;background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background var(--transition),border-color var(--transition);min-height:44px}.btn-secondary:hover{background:var(--color-bg);border-color:var(--color-primary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 16px;background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background var(--transition);min-height:44px}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-flex;align-items:center;justify-content:center;padding:0 6px;height:18px;min-width:18px;border-radius:9px;font-size:var(--text-xs);font-weight:600;line-height:1}.badge--primary{background:var(--color-primary);color:#fff}.badge--success{background:var(--color-success);color:#fff}.badge--warning{background:var(--color-warning);color:#fff}.badge--danger{background:var(--color-danger);color:#fff}.badge--muted{background:var(--color-border);color:var(--color-text-secondary)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-header__title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin:0}.page-header__breadcrumb{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:4px;display:flex;align-items:center;gap:4px}.page-header__actions{display:flex;align-items:center;gap:var(--space-2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-6);text-align:center}.empty-state__icon{font-size:48px;color:var(--color-text-muted);margin-bottom:var(--space-4)}.empty-state__title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state__desc{font-size:var(--text-sm);color:var(--color-text-muted);max-width:320px}@media (max-width: 639px){.hide-mobile{display:none!important}}.show-mobile{display:none!important}@media (max-width: 639px){.show-mobile{display:flex!important}}@media (min-width: 640px) and (max-width: 1023px){.hide-tablet{display:none!important}}:root{--el-color-primary: var(--color-primary);--el-color-primary-light-3: var(--color-primary-hover);--el-color-primary-light-5: #BFDBFE;--el-color-primary-light-7: #DBEAFE;--el-color-primary-light-9: var(--color-primary-light);--el-color-primary-dark-2: var(--color-primary-hover);--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-font-size-base: 14px;--el-font-size-small: 13px;--el-font-size-extra-small: 11px;--el-border-color: #E5E7EB;--el-border-color-light: #F3F4F6;--el-border-color-lighter: #F9FAFB;--el-fill-color-light: #F9FAFB;--el-fill-color-blank: #FFFFFF;--el-bg-color: #FFFFFF;--el-bg-color-page: #F9FAFB;--el-text-color-primary: #111827;--el-text-color-regular: #374151;--el-text-color-secondary: #6B7280;--el-text-color-placeholder: #9CA3AF;--el-box-shadow-base: 0 2px 8px rgba(0,0,0,.1);--el-box-shadow-light: 0 1px 3px rgba(0,0,0,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;color:var(--color-text-primary);background:var(--color-bg);line-height:1.5}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.el-card{border-radius:var(--radius)!important;border-color:var(--color-border)!important;box-shadow:var(--shadow-sm)!important}.el-dialog{border-radius:var(--radius-lg)!important}.el-dialog .el-dialog__header{border-bottom:1px solid var(--color-border);padding:16px 20px}.el-dialog .el-dialog__body{padding:20px}.el-dialog .el-dialog__footer{border-top:1px solid var(--color-border);padding:12px 20px}.el-button{font-weight:500}.el-tag{border-radius:20px!important;font-size:12px!important}.el-input__wrapper{border-radius:var(--radius-sm)!important;box-shadow:0 0 0 1px var(--color-border) inset!important}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--color-border-strong) inset!important}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--color-primary) inset!important}.el-select .el-input__wrapper{border-radius:var(--radius-sm)!important}.el-menu{border-right:none!important}.el-menu-item,.el-sub-menu__title{border-radius:var(--radius-sm)!important;margin:2px 6px;height:40px!important;line-height:40px!important}.page-enter-active,.page-leave-active{transition:opacity .15s ease,transform .15s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-6px)}button,a,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}#nprogress .bar{background:var(--color-primary)!important;height:2px!important}.splitpanes__splitter{background:var(--color-border)!important}.splitpanes__splitter:hover{background:var(--color-primary-light)!important}.splitpanes__splitter:before,.splitpanes__splitter:after{display:none!important}[data-theme=vibrant]{--color-primary: #7C3AED;--color-primary-hover: #6D28D9;--color-primary-light: #F5F3FF;--color-sidebar-bg: #1E1B4B;--color-sidebar-active: #8B5CF6;--color-sidebar-hover: #312E81}[data-theme=tech]{--color-primary: #06B6D4;--color-primary-hover: #0891B2;--color-primary-light: #ECFEFF;--color-sidebar-bg: #0F1923;--color-sidebar-active: #22D3EE;--color-sidebar-hover: #1E2D3D}
