@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary-color: #409eff;--secondary-color: #909399;--success-color: #67c23a;--warning-color: #e6a23c;--danger-color: #f56c6c;--info-color: #909399;--bg-color: #f5f7fa;--bg-color-light: #fafafa;--bg-color-lighter: #f0f2f5;--bg-color-dark: #e9eef3;--text-color: #303133;--text-color-regular: #606266;--text-color-secondary: #909399;--text-color-placeholder: #c0c4cc;--text-color-disabled: #a8abb2;--border-color: #e4e7ed;--border-color-light: #ebeef5;--border-color-lighter: #f2f6fc;--border-color-extra-light: #f5f7fa;--header-bg: #ffffff;--header-text: var(--text-color);--header-border: var(--border-color);--header-height: 60px;--sidebar-bg: #304156;--sidebar-text: #bfcbd9;--sidebar-text-active: #ffffff;--sidebar-bg-active: #1f2d3d;--sidebar-width: 220px;--sidebar-width-collapsed: 64px;--main-bg: #f0f2f5;--main-padding: 20px;--card-bg: #ffffff;--card-radius: 8px;--card-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);--btn-radius: 4px;--input-radius: 4px;--table-header-bg: #f5f7fa;--table-row-hover: #f5f7fa;--shadow-light: 0 2px 12px 0 rgba(0, 0, 0, .1);--shadow-base: 0 4px 16px 0 rgba(0, 0, 0, .12);--shadow-dark: 0 8px 24px 0 rgba(0, 0, 0, .14);--transition: all .3s cubic-bezier(.645, .045, .355, 1);--transition-fast: all .2s;--transition-slow: all .5s;--border-radius-base: 4px;--border-radius-small: 2px;--border-radius-round: 20px;--border-radius-circle: 100%;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-size-base: 14px;--font-size-large: 16px;--font-size-small: 13px;--font-size-extra-small: 12px}[data-theme=dark]{--bg-color: #1a1a1a;--bg-color-light: #242424;--bg-color-lighter: #2d2d2d;--bg-color-dark: #0f0f0f;--text-color: #e5eaf3;--text-color-regular: #cfd3dc;--text-color-secondary: #a3a6ad;--text-color-placeholder: #8d9096;--text-color-disabled: #6c6e72;--border-color: #4c4d4f;--border-color-light: #414243;--border-color-lighter: #363637;--border-color-extra-light: #2b2b2c;--header-bg: #1b1b1b;--sidebar-bg: #0f0f0f;--main-bg: #151515;--card-bg: #1b1b1b;--card-shadow: 0 2px 12px 0 rgba(0, 0, 0, .3);--table-header-bg: #242424;--table-row-hover: #242424}[data-theme=emerald]{--primary-color: #10b981;--success-color: #10b981;--sidebar-active-text: #10b981}[data-theme=amber]{--primary-color: #f59e0b;--warning-color: #f59e0b;--sidebar-active-text: #f59e0b}[data-theme=rose]{--primary-color: #ef4444;--danger-color: #ef4444;--sidebar-active-text: #ef4444}[data-theme=purple]{--primary-color: #8b5cf6;--sidebar-active-text: #8b5cf6}[data-theme=ice]{--primary-color: #06b6d4;--sidebar-active-text: #06b6d4}[data-theme=forest]{--primary-color: #16a34a;--success-color: #16a34a;--sidebar-active-text: #16a34a}[data-theme=sunset]{--primary-color: #ea580c;--warning-color: #ea580c;--sidebar-active-text: #ea580c}[data-theme=minimal]{--primary-color: #6b7280;--sidebar-active-text: #6b7280}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-color);background-color:var(--bg-color);line-height:1.5;transition:var(--transition)}#app{height:100vh;background-color:var(--main-bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color-lighter)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-base)}::-webkit-scrollbar-thumb:hover{background:var(--border-color-light)}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--primary-color);opacity:.8}.el-button{border-radius:var(--btn-radius);transition:var(--transition-fast)}.el-input__wrapper,.el-textarea__inner{border-radius:var(--input-radius);background-color:var(--bg-color);border-color:var(--border-color);transition:var(--transition-fast)}.el-input__wrapper:hover,.el-textarea__inner:hover{border-color:var(--primary-color)}.el-input__wrapper:focus,.el-textarea__inner:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2)}.el-card{background-color:var(--card-bg);border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);transition:var(--transition)}.el-card:hover{box-shadow:var(--shadow-base)}.el-table{--el-table-border-color: var(--border-color);--el-table-bg-color: var(--card-bg);--el-table-row-hover-bg-color: var(--table-row-hover);--el-table-header-bg-color: var(--table-header-bg);--el-table-text-color: var(--text-color);--el-table-header-text-color: var(--text-color);border-radius:var(--border-radius-base);overflow:hidden}.el-tabs{--el-tabs-header-bg-color: var(--card-bg)}.el-menu{background-color:var(--sidebar-bg);border-right:1px solid var(--border-color)}.el-menu .el-menu-item{color:var(--sidebar-text);transition:var(--transition-fast)}.el-menu .el-menu-item:hover{background-color:var(--sidebar-bg-active);color:var(--sidebar-text-active)}.el-menu .el-menu-item.is-active{background-color:var(--sidebar-bg-active);color:var(--sidebar-text-active);border-right:3px solid var(--primary-color)}.el-menu .el-sub-menu__title{color:var(--sidebar-text)}.el-menu .el-sub-menu__title:hover{background-color:var(--sidebar-bg-active);color:var(--sidebar-text-active)}.app-header{background-color:var(--header-bg);border-bottom:1px solid var(--header-border);height:var(--header-height);line-height:var(--header-height);padding:0 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-light)}.app-container{display:flex;height:calc(100vh - var(--header-height));background-color:var(--main-bg)}.app-sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);transition:var(--transition);overflow-y:auto}.app-sidebar.is-collapse{width:var(--sidebar-width-collapsed)}.app-main{flex:1;padding:var(--main-padding);overflow-y:auto;overflow-x:hidden}.page-header{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.page-header h2{font-size:24px;font-weight:600;color:var(--text-color);margin-bottom:8px}.page-header .page-description{font-size:var(--font-size-small);color:var(--text-color-secondary)}.stat-card{height:100%}.stat-card .stat-card-icon{font-size:40px;color:var(--primary-color);margin-bottom:10px}.stat-card .stat-card-title{font-size:var(--font-size-small);color:var(--text-color-secondary);margin-bottom:5px}.stat-card .stat-card-value{font-size:24px;font-weight:600;color:var(--text-color)}.stat-card .stat-card-trend{font-size:var(--font-size-extra-small);margin-top:5px}.stat-card .stat-card-trend.up{color:var(--success-color)}.stat-card .stat-card-trend.down{color:var(--danger-color)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s ease}.slide-enter-from{transform:translate(-100%)}.slide-leave-to{transform:translate(100%)}@media (max-width: 768px){:root{--sidebar-width: 260px;--header-height: 50px;--main-padding: 10px}.app-sidebar{position:fixed;left:0;top:var(--header-height);height:calc(100vh - var(--header-height));z-index:1000;transform:translate(-100%)}.app-sidebar.is-open{transform:translate(0)}.app-main{padding:10px}}.loading{display:inline-block;width:20px;height:20px;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-primary{color:var(--primary-color)!important}.text-success{color:var(--success-color)!important}.text-warning{color:var(--warning-color)!important}.text-danger{color:var(--danger-color)!important}.bg-primary{background-color:var(--primary-color)!important}.bg-success{background-color:var(--success-color)!important}.bg-warning{background-color:var(--warning-color)!important}.bg-danger{background-color:var(--danger-color)!important}.mb-10{margin-bottom:10px!important}.mb-20{margin-bottom:20px!important}.mr-10{margin-right:10px!important}.mr-20{margin-right:20px!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.flex{display:flex!important}.items-center{align-items:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.space-between{justify-content:space-between!important}.gap-10{gap:10px!important}.gap-20{gap:20px!important}#app{height:100vh;width:100vw;margin:0;padding:0}.theme-switcher-btn[data-v-a540fb11]{transition:var(--transition-fast)}.theme-switcher-btn[data-v-a540fb11]:hover{transform:rotate(15deg)}.theme-menu[data-v-a540fb11]{padding:10px;min-width:200px}.theme-item[data-v-a540fb11]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--border-radius-base);transition:var(--transition-fast);cursor:pointer}.theme-item .theme-color[data-v-a540fb11]{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-color);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px}.theme-item .theme-color.dark-mode[data-v-a540fb11]{background:linear-gradient(45deg,#1a1a1a 50%,#f5f5f5 50%);border:none}.theme-item .theme-name[data-v-a540fb11]{flex:1;font-size:var(--font-size-base);color:var(--text-color)}.theme-item .check-icon[data-v-a540fb11]{color:var(--primary-color);font-size:16px}[data-v-a540fb11] .el-dropdown-menu__item{padding:0;margin-bottom:4px}[data-v-a540fb11] .el-dropdown-menu__item:last-child{margin-bottom:0}[data-v-a540fb11] .el-dropdown-menu__item.is-active .theme-item{background-color:var(--el-color-primary-light-9)}[data-v-a540fb11] .el-dropdown-menu__item.is-active .theme-item .theme-color{border-color:var(--primary-color)}[data-v-a540fb11] .el-dropdown-menu__item:hover .theme-item{background-color:var(--bg-color-lighter)}.layout[data-v-a19499bb]{height:100vh;display:flex;flex-direction:column;background-color:var(--main-bg)}.app-header[data-v-a19499bb]{background-color:var(--header-bg);border-bottom:1px solid var(--header-border);height:var(--header-height);line-height:var(--header-height);padding:0 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-light);z-index:1000}.app-header .header-left[data-v-a19499bb]{display:flex;align-items:center;gap:20px}.app-header .header-left .menu-toggle[data-v-a19499bb]{font-size:20px}.app-header .header-left .breadcrumb[data-v-a19499bb] .el-breadcrumb__item .el-breadcrumb__inner{color:var(--text-color-secondary)}.app-header .header-left .breadcrumb[data-v-a19499bb] .el-breadcrumb__item .el-breadcrumb__inner a{color:var(--text-color-secondary);font-weight:400}.app-header .header-left .breadcrumb[data-v-a19499bb] .el-breadcrumb__item .el-breadcrumb__inner a:hover{color:var(--primary-color)}.app-header .header-left .breadcrumb[data-v-a19499bb] .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:var(--text-color);font-weight:500}.app-header .header-right[data-v-a19499bb]{display:flex;align-items:center;gap:15px}.app-header .header-right .notification-badge[data-v-a19499bb] .el-badge__content{top:12px;right:12px}.app-header .header-right .notification-menu[data-v-a19499bb]{width:320px}.app-header .header-right .notification-menu .notification-item[data-v-a19499bb]{padding:10px 0}.app-header .header-right .notification-menu .notification-item .notification-title[data-v-a19499bb]{font-weight:600;margin-bottom:5px;color:var(--text-color)}.app-header .header-right .notification-menu .notification-item .notification-desc[data-v-a19499bb]{font-size:var(--font-size-small);color:var(--text-color-secondary);margin-bottom:5px}.app-header .header-right .notification-menu .notification-item .notification-time[data-v-a19499bb]{font-size:var(--font-size-extra-small);color:var(--text-color-placeholder)}.app-header .header-right .user-info[data-v-a19499bb]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:5px 10px;border-radius:var(--border-radius-base);transition:var(--transition-fast)}.app-header .header-right .user-info[data-v-a19499bb]:hover{background-color:var(--bg-color-lighter)}.app-header .header-right .user-info .user-name[data-v-a19499bb]{font-size:var(--font-size-base);color:var(--text-color);font-weight:500}.app-header .header-right .user-info .el-icon[data-v-a19499bb]{color:var(--text-color-secondary);font-size:12px}.app-container[data-v-a19499bb]{display:flex;flex:1;overflow:hidden}.app-sidebar[data-v-a19499bb]{width:var(--sidebar-width);background-color:var(--sidebar-bg);transition:var(--transition);overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow-light)}.app-sidebar.is-collapse[data-v-a19499bb]{width:var(--sidebar-width-collapsed)}.app-sidebar[data-v-a19499bb] .el-menu{border-right:none;background-color:var(--sidebar-bg)}.app-sidebar[data-v-a19499bb] .el-menu .el-menu-item,.app-sidebar[data-v-a19499bb] .el-menu .el-sub-menu__title{color:var(--sidebar-text);transition:var(--transition-fast)}.app-sidebar[data-v-a19499bb] .el-menu .el-menu-item:hover,.app-sidebar[data-v-a19499bb] .el-menu .el-sub-menu__title:hover{background-color:var(--sidebar-bg-active);color:var(--sidebar-text-active)}.app-sidebar[data-v-a19499bb] .el-menu .el-menu-item.is-active,.app-sidebar[data-v-a19499bb] .el-menu .el-sub-menu__title.is-active{background-color:var(--sidebar-bg-active);color:var(--sidebar-text-active);border-right:3px solid var(--primary-color)}.app-sidebar[data-v-a19499bb] .el-menu .el-sub-menu .el-menu-item{background-color:var(--sidebar-bg)}.app-sidebar[data-v-a19499bb] .el-menu .el-sub-menu .el-menu-item.is-active{background-color:var(--sidebar-bg-active)}.app-main[data-v-a19499bb]{flex:1;padding:var(--main-padding);overflow-y:auto;overflow-x:hidden;background-color:var(--main-bg)}.fade-enter-active[data-v-a19499bb],.fade-leave-active[data-v-a19499bb]{transition:opacity .3s ease}.fade-enter-from[data-v-a19499bb],.fade-leave-to[data-v-a19499bb]{opacity:0}@media (max-width: 768px){.app-header[data-v-a19499bb]{padding:0 10px}.app-header .header-left[data-v-a19499bb],.app-header .header-right[data-v-a19499bb]{gap:10px}.app-sidebar[data-v-a19499bb]{position:absolute;left:0;top:var(--header-height);height:calc(100vh - var(--header-height));z-index:1000;transform:translate(-100%)}.app-sidebar[data-v-a19499bb]:not(.is-collapse){transform:translate(0)}.app-main[data-v-a19499bb]{padding:10px}}
