*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#app{height:100vh;color:#2c3e50}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.el-button--primary{background-color:#409eff;border-color:#409eff}.el-button--primary:hover{background-color:#66b1ff;border-color:#66b1ff}@media (max-width: 768px){.el-card{margin:10px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.full-width{width:100%}.el-breadcrumb[data-v-cdeb8d43]{line-height:1}.layout-container[data-v-f38fa799]{height:100vh}.aside[data-v-f38fa799]{background-color:#0f172a;transition:width var(--transition-normal);overflow-x:hidden;box-shadow:4px 0 24px #0003;z-index:10;border-right:1px solid rgba(255,255,255,.05)}.logo-container[data-v-f38fa799]{height:var(--header-height);display:flex;align-items:center;justify-content:center;padding:0;background-color:transparent;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:8px;overflow:hidden}.title[data-v-f38fa799]{color:#fff;font-size:22px;font-weight:800;white-space:nowrap;letter-spacing:-.5px;font-family:Outfit,Inter,sans-serif;transition:all .2s ease}.collapsed-title[data-v-f38fa799]{font-size:24px;letter-spacing:0;color:var(--color-primary)}.el-menu-vertical[data-v-f38fa799]{border-right:none;background-color:transparent!important;padding:0 8px}[data-v-f38fa799] .el-menu{background-color:transparent!important;border-right:none}[data-v-f38fa799] .el-menu-item,[data-v-f38fa799] .el-sub-menu__title{color:#94a3b8!important;margin:4px 0;border-radius:var(--radius-sm);height:46px;line-height:46px}[data-v-f38fa799] .el-menu-item:hover,[data-v-f38fa799] .el-sub-menu__title:hover{color:#f8fafc!important;background-color:#ffffff14!important}[data-v-f38fa799] .el-menu-item.is-active{color:#fff!important;background-color:var(--color-primary)!important;font-weight:600;box-shadow:0 4px 12px #2563eb40}[data-v-f38fa799] .el-menu-item .el-icon,[data-v-f38fa799] .el-sub-menu__title .el-icon{color:inherit;font-size:18px;margin-right:12px}.header[data-v-f38fa799]{background-color:var(--bg-surface);height:var(--header-height);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:0 4px 20px #00000008;z-index:5}.header-left[data-v-f38fa799]{display:flex;align-items:center;gap:20px}.collapse-btn[data-v-f38fa799]{font-size:22px;cursor:pointer;color:var(--text-sub);transition:all var(--transition-fast);padding:4px;border-radius:4px}.collapse-btn[data-v-f38fa799]:hover{color:var(--color-primary);background-color:var(--bg-page)}.header-right[data-v-f38fa799]{display:flex;align-items:center;gap:16px}.user-info[data-v-f38fa799]{display:flex;align-items:center;cursor:pointer;padding:6px 16px;border-radius:24px;transition:all var(--transition-fast);background:transparent}.user-info[data-v-f38fa799]:hover{background-color:var(--bg-page)}.username[data-v-f38fa799]{margin-left:12px;font-size:14px;font-weight:600;color:var(--text-main)}[data-v-f38fa799] .el-avatar{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:700;border:2px solid #fff;box-shadow:0 2px 8px #0000000d}.aside[data-v-f38fa799]::-webkit-scrollbar{width:0px;background:transparent}.aside[data-v-f38fa799]:hover::-webkit-scrollbar{width:4px}.aside[data-v-f38fa799]::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.aside[data-v-f38fa799]::-webkit-scrollbar-track{background:transparent}[data-v-f38fa799] .el-sub-menu .el-sub-menu__icon-arrow{position:absolute;top:50%!important;right:10px!important;margin-top:-6px!important;font-size:12px}:root{--color-primary: #2563EB;--color-primary-hover: #1D4ED8;--color-primary-light: #EFF6FF;--color-primary-bg: #DBEAFE;--color-success: #10B981;--color-success-dim: #D1FAE5;--color-success-bg: #ECFDF5;--color-warning: #F59E0B;--color-warning-dim: #FEF3C7;--color-warning-bg: #FFFBEB;--color-danger: #EF4444;--color-danger-dim: #FEE2E2;--color-danger-bg: #FEF2F2;--color-info: #64748B;--color-info-dim: #F1F5F9;--color-info-bg: #F8FAFC;--bg-page: #F8FAFC;--bg-surface: #FFFFFF;--bg-sidebar: #0F172A;--bg-header: #FFFFFF;--border-color: #E2E8F0;--border-color-hover: #CBD5E1;--border-color-lighter: #F1F5F9;--text-main: #1E293B;--text-sub: #64748B;--text-placeholder: #94A3B8;--text-inverse: #FFFFFF;--text-disabled: #CBD5E1;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--font-xs: 12px;--font-sm: 13px;--font-base: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 24px;--font-2xl: 30px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--header-height: 64px;--sidebar-width: 240px;--page-max-width: 1600px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-normal: .3s ease}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl);font-weight:var(--font-semibold)}.text-2xl{font-size:var(--font-2xl);font-weight:var(--font-bold)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-mono{font-family:var(--font-family-mono)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info)}.text-main{color:var(--text-main)}.text-sub{color:var(--text-sub)}.bg-surface{background-color:var(--bg-surface)}.bg-page{background-color:var(--bg-page)}.app-card{background-color:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-normal)}.app-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-hover);border-color:#bfdbfe}.page-container{padding:var(--space-6);max-width:var(--page-max-width);margin:0 auto}.page-header-simple{margin-bottom:var(--space-6);display:flex;justify-content:space-between;align-items:center}.page-title{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text-main);margin:0;line-height:var(--leading-tight)}.page-subtitle{font-size:var(--font-base);color:var(--text-sub);margin-top:var(--space-1);font-weight:var(--font-normal)}.el-table__body-wrapper .el-scrollbar__wrap,.el-table__body-wrapper{cursor:grab}.el-table__body-wrapper .el-scrollbar__wrap.is-dragging,.el-table__body-wrapper.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.el-scrollbar__bar.is-horizontal{height:12px!important}::-webkit-scrollbar{width:8px;height:12px}::-webkit-scrollbar-track{background:var(--bg-page);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--text-sub)}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-main);background-color:var(--bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--el-color-primary: var(--color-primary);--el-color-primary-light-3: #93C5FD;--el-color-primary-light-5: #BFDBFE;--el-color-primary-light-7: #DBEAFE;--el-color-primary-light-8: #EFF6FF;--el-color-primary-light-9: #EFF6FF;--el-color-primary-dark-2: var(--color-primary-hover);--el-color-success: var(--color-success);--el-color-warning: var(--color-warning);--el-color-danger: var(--color-danger);--el-color-info: var(--color-info);--el-text-color-primary: var(--text-main);--el-text-color-regular: var(--text-sub);--el-text-color-secondary: var(--text-info);--el-text-color-placeholder: var(--text-placeholder);--el-border-radius-base: var(--radius-sm);--el-border-color: var(--border-color);--el-bg-color-page: var(--bg-page);--el-bg-color-overlay: var(--bg-surface);--el-fill-color-light: #EFF6FF}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-page);color:var(--text-main);-webkit-text-size-adjust:100%}a{font-weight:500;color:var(--color-primary);text-decoration:inherit;transition:color var(--transition-fast)}a:hover{text-decoration:underline;color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-main);margin-top:0;line-height:1.25}button:not(.el-button){border:1px solid var(--border-color);background-color:#fff;cursor:pointer}#app{width:100%;height:100vh;margin:0;padding:0;display:flex;flex-direction:column}::-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}.el-dialog__headerbtn,.el-drawer__close-btn,.el-message-box__headerbtn,.el-notification__closeBtn{top:16px!important;right:16px!important;width:32px!important;height:32px!important;border-radius:50%!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;justify-content:center!important}.el-dialog__headerbtn:hover,.el-drawer__close-btn:hover,.el-message-box__headerbtn:hover,.el-notification__closeBtn:hover{background-color:#f1f5f9!important;transform:rotate(90deg)}.el-dialog__headerbtn .el-dialog__close,.el-drawer__close-btn .el-icon,.el-message-box__headerbtn .el-message-box__close,.el-notification__closeBtn .el-notification__closeBtn{color:#64748b!important;font-size:16px!important;transition:color .2s ease!important}.el-dialog__headerbtn:hover .el-dialog__close,.el-drawer__close-btn:hover .el-icon,.el-message-box__headerbtn:hover .el-message-box__close,.el-notification__closeBtn:hover .el-notification__closeBtn{color:#ef4444!important}.table-actions{display:flex;align-items:center;justify-content:center;gap:4px}.table-actions .el-button+.el-button{margin-left:0}.centered-actions{justify-content:center}.mr-1{margin-right:4px}.batch-action-bar{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:2000;display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--bg-surface);background:#ffffffe6;border:1px solid var(--border-color);border-radius:50px;box-shadow:0 8px 32px #0000001f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dark .batch-action-bar{background:#1e293bd9}.batch-action-bar .selected-count{font-size:14px;color:var(--text-main);font-weight:600;white-space:nowrap}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.slide-up-enter-from,.slide-up-leave-to{transform:translate(-50%,150%);opacity:0}.el-button{height:34px;min-width:64px;padding:0 16px;font-size:14px;border-radius:8px;font-weight:500;letter-spacing:.3px;transition:all .3s cubic-bezier(.25,.8,.25,1);background-color:#fff;border:1px solid #dcdfe6;color:#606266;box-shadow:0 1px 2px #0000000d}.el-button:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.el-button:active:not(.is-disabled){color:#409eff;border-color:#409eff;background-color:#ecf5ff;transform:scale(.96)}.el-button:focus{outline:none}.el-button--small{height:28px;min-width:56px;font-size:12px;border-radius:6px;padding:0 12px}.el-button--large{height:48px;min-width:120px;font-size:16px;border-radius:10px;padding:0 24px}.el-button--primary{background:linear-gradient(135deg,#409eff,#3a8ee6);border:none;color:#fff;box-shadow:0 4px 6px #409eff40,inset 0 1px #fff3}.el-button--primary:hover{background:linear-gradient(135deg,#66b1ff,#409eff);box-shadow:0 6px 12px #409eff59,inset 0 1px #fff3;transform:translateY(-2px);color:#fff;border:none}.el-button--primary:active{background:#3a8ee6;box-shadow:0 2px 4px #409eff33;transform:translateY(0) scale(.96);border:none}.el-button--success{background:linear-gradient(135deg,#67c23a,#529b2e);border:none;color:#fff;box-shadow:0 4px 6px #67c23a40,inset 0 1px #fff3}.el-button--success:hover{background:linear-gradient(135deg,#85ce61,#67c23a);box-shadow:0 6px 12px #67c23a59,inset 0 1px #fff3;transform:translateY(-2px);color:#fff;border:none}.el-button--warning{background:linear-gradient(135deg,#e6a23c,#c88a2e);border:none;color:#fff;box-shadow:0 4px 6px #e6a23c40,inset 0 1px #fff3}.el-button--warning:hover{background:linear-gradient(135deg,#ebb563,#e6a23c);box-shadow:0 6px 12px #e6a23c59,inset 0 1px #fff3;transform:translateY(-2px);color:#fff;border:none}.el-button--danger{background:linear-gradient(135deg,#f56c6c,#d45353);border:none;color:#fff;box-shadow:0 4px 6px #f56c6c40,inset 0 1px #fff3}.el-button--danger:hover{background:linear-gradient(135deg,#f78989,#f56c6c);box-shadow:0 6px 12px #f56c6c59,inset 0 1px #fff3;transform:translateY(-2px);color:#fff;border:none}.el-button.is-plain{background:#fff;background-color:#fff!important;box-shadow:0 2px 4px #0000000d;border-width:1px;border-style:solid}.el-button--primary.is-plain{color:#409eff;border-color:#b3d8ff}.el-button--primary.is-plain:hover{background:#ecf5ff!important;color:#409eff;border-color:#409eff}.el-button--success.is-plain{color:#67c23a;border-color:#c2e7b0}.el-button--success.is-plain:hover{background:#f0f9eb!important;color:#67c23a;border-color:#67c23a}.el-button--warning.is-plain{color:#e6a23c;border-color:#f5dab1}.el-button--warning.is-plain:hover{background:#fdf6ec!important;color:#e6a23c;border-color:#e6a23c}.el-button--info.is-plain{color:#909399;border-color:#d3d4d6}.el-button--info.is-plain:hover{background:#f4f4f5!important;color:#909399;border-color:#909399}.el-button--danger.is-plain{color:#f56c6c;border-color:#fbc4c4}.el-button--danger.is-plain:hover{background:#fef0f0!important;color:#f56c6c;border-color:#f56c6c}.el-button.is-link,.el-button--text{height:auto;min-width:auto;padding:4px 8px;background:transparent!important;border:none!important;box-shadow:none!important;color:#409eff;font-weight:500}.el-button.is-link:hover,.el-button--text:hover{color:#66b1ff;background:#409eff1a!important;border-radius:4px;transform:translateY(0);box-shadow:none!important}.el-button.is-link:active,.el-button--text:active{transform:scale(.98)}.el-button .el-icon{margin-right:6px;font-size:1.1em;vertical-align:middle}.el-button--small .el-icon{margin-right:4px}.el-button .el-icon:only-child{margin-right:0}.el-button.is-disabled,.el-button.is-disabled:hover,.el-button.is-disabled:focus,.el-button.is-disabled:active{background:#f5f7fa!important;background-image:none!important;border-color:#e4e7ed!important;color:#c0c4cc!important;box-shadow:none!important;cursor:not-allowed;transform:none!important}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{background-color:#ffffff59}.el-button.is-circle{border-radius:50%;padding:0;width:36px;height:36px;min-width:36px;display:inline-flex;justify-content:center;align-items:center}@media (max-width: 768px){.el-button{height:32px;padding:0 12px}}@media (prefers-color-scheme: dark){.el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger){background-color:#2d2f33;border-color:#4c4d4f;color:#e5eaf3}.el-button:hover:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger){background-color:#3e4147;border-color:#6c6d70}}
