:root{--c-primary: #3b82f6;--c-primary-light: #60a5fa;--c-primary-lighter:#93c5fd;--c-primary-dark: #2563eb;--c-primary-soft: #eff6ff;--c-success: #19b572;--c-success-soft: #e3f7ee;--c-warning: #f0a82e;--c-warning-soft: #fdf0d8;--c-danger: #f04e4e;--c-danger-soft: #fde8e8;--c-info: #909bab;--c-info-soft: #eef2f7;--c-text-primary: #2c3e50;--c-text-regular: #424f63;--c-text-secondary: #7a8696;--c-text-placeholder: #c8d0db;--c-border: #e6ebf2;--c-border-light: #f0f3f8;--c-bg-page: #f5f8fc;--c-bg-card: #ffffff;--c-bg-hover: #eff6ff;--c-bg-soft: #f7faff;--c-sidebar-bg: #ffffff;--c-sidebar-bg-sub: #fafbfc;--c-sidebar-border: #ecf0f6;--c-sidebar-text: #4c5868;--c-sidebar-text-hover: #3b82f6;--c-sidebar-text-active: #3b82f6;--c-sidebar-hover-bg: #eff6ff;--c-sidebar-active-bar: #3b82f6;--c-sidebar-active-bg: #dbeafe;--c-brand-block-bg: linear-gradient(135deg, #60a5fa 0%, #3b82f6 55%, #2563eb 100%);--c-brand-block-text: #ffffff;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--sh-card: 0 1px 3px rgba(59, 130, 246, .05), 0 2px 8px -3px rgba(59, 130, 246, .06);--sh-hover: 0 6px 20px -6px rgba(59, 130, 246, .18);--sh-popper: 0 6px 24px rgba(15, 56, 120, .1);--sh-navbar: 0 1px 3px rgba(59, 130, 246, .05);--sh-button: 0 1px 2px rgba(15, 56, 120, .04);--h-navbar: 56px;--h-tagsview: 36px;--w-sidebar: 220px;--w-sidebar-collapsed: 64px;--t-fast: .18s ease;--t-base: .28s ease}html,body,#app{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica,Arial,sans-serif;color:var(--c-text-regular);background:var(--c-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d4dde7;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b0bcca}::-webkit-scrollbar-track{background:transparent}#nprogress .bar{background:var(--c-primary)!important;height:2px!important}#nprogress .peg{box-shadow:0 0 10px var(--c-primary),0 0 5px var(--c-primary)!important}.app-page-header{padding:var(--sp-4) var(--sp-6);background:var(--c-bg-card);border-bottom:1px solid var(--c-border)}.app-page-header h2{margin:0;font-size:18px;font-weight:600;color:var(--c-text-primary)}.app-page-body{padding:var(--sp-5) var(--sp-6) var(--sp-6)}.page-toolbar{margin-bottom:var(--sp-3);display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .18s ease,transform .18s ease}.fade-slide-enter-from{opacity:0;transform:translateY(8px)}.fade-slide-leave-to{opacity:0;transform:translateY(-4px)}:root{--el-color-primary: #3b82f6;--el-color-primary-light-3: #60a5fa;--el-color-primary-light-5: #93c5fd;--el-color-primary-light-7: #bfdbfe;--el-color-primary-light-8: #dbeafe;--el-color-primary-light-9: #eff6ff;--el-color-primary-dark-2: #2563eb;--el-color-success: #19b572;--el-color-warning: #f0a82e;--el-color-danger: #f04e4e;--el-color-error: #f04e4e;--el-color-info: #909bab;--el-text-color-primary: #2c3e50;--el-text-color-regular: #424f63;--el-text-color-secondary: #7a8696;--el-text-color-placeholder: #c8d0db;--el-border-color: #e6ebf2;--el-border-color-lighter: #f0f3f8;--el-border-radius-base: 6px;--el-border-radius-small: 4px;--el-table-header-bg-color: #f5f8fc;--el-table-row-hover-bg-color: #eef6ff;--el-table-header-text-color: #2c3e50}.el-card{border:1px solid var(--c-border-light);border-radius:var(--r-md)}.el-card.is-hover-shadow:hover{box-shadow:var(--sh-hover)}.el-table thead th.el-table__cell{font-weight:600;color:var(--c-text-primary)}.el-pagination{padding:var(--sp-3) 0 0}.el-pagination.is-background .el-pager li:not(.is-disabled).is-active{background-color:var(--c-primary)!important}.el-dialog{border-radius:var(--r-lg);overflow:hidden}.el-dialog__header{padding:var(--sp-4) var(--sp-5);margin:0;border-bottom:1px solid var(--c-border)}.el-dialog__body{padding:var(--sp-5)}.el-dialog__footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--c-border);background:#f7faff}.el-button{border-radius:var(--r-sm);box-shadow:var(--sh-button);transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);font-weight:500}.el-button:hover{transform:translateY(-1px)}.el-button--primary{box-shadow:0 2px 6px -2px #3b82f666}.el-button--primary:hover{box-shadow:0 4px 14px -3px #3b82f68c}.el-button--success{box-shadow:0 2px 6px -2px #19b57266}.el-button--danger{box-shadow:0 2px 6px -2px #f04e4e66}.el-button--warning{box-shadow:0 2px 6px -2px #f0a82e66}.el-drawer__header{padding:var(--sp-4) var(--sp-5);margin:0;border-bottom:1px solid var(--c-border)}.el-drawer__body{padding:var(--sp-5)}.el-input__wrapper,.el-textarea__inner,.el-select__wrapper{border-radius:var(--r-sm)!important;transition:box-shadow var(--t-fast)}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--c-primary) inset,0 0 0 4px #3b82f61f!important}.el-tag{border-radius:var(--r-sm)}.el-tag.is-round{border-radius:999px}.el-switch:hover .el-switch__core{box-shadow:0 0 0 3px #3b82f61a}.el-descriptions__label{background:#f7faff!important;color:var(--c-text-secondary)!important;font-weight:500!important}.el-radio-button__inner:hover,.el-radio__input.is-checked+.el-radio__label{color:var(--c-primary)}.el-alert--info.is-light{background-color:#f0f7ff;color:#2c3e50}.pill-btn{display:inline-flex;align-items:center;height:26px;padding:0 12px;font-size:12px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:background var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);font-family:inherit}.pill-btn:hover{transform:translateY(-1px)}.pill-btn+.pill-btn{margin-left:6px}.pill-primary{background:var(--c-primary-soft);color:var(--c-primary)}.pill-primary:hover{background:var(--c-primary);color:#fff}.pill-success{background:var(--c-success-soft);color:var(--c-success)}.pill-success:hover{background:var(--c-success);color:#fff}.pill-warning{background:var(--c-warning-soft);color:#c98214}.pill-warning:hover{background:var(--c-warning);color:#fff}.pill-danger{background:var(--c-danger-soft);color:var(--c-danger)}.pill-danger:hover{background:var(--c-danger);color:#fff}
