#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh}#app,*,body{margin:0;padding:0}*{box-sizing:border-box}body,html{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app,body,html{height:100%}::-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}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.full-width{width:100%}.full-height{height:100%}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.ml-10{margin-left:10px}.mr-10{margin-right:10px}.pt-10{padding-top:10px}.pt-20{padding-top:20px}.pb-10{padding-bottom:10px}.pb-20{padding-bottom:20px}.pl-10{padding-left:10px}.pr-10{padding-right:10px}:root{--primary-color:#409eff;--success-color:#67c23a;--warning-color:#e6a23c;--danger-color:#f56c6c;--info-color:#909399;--text-primary:#303133;--text-regular:#606266;--text-secondary:#909399;--text-placeholder:#c0c4cc;--border-lighter:#f2f6fc;--border-light:#ebeef5;--border-base:#dcdfe6;--border-dark:#d4d7de;--bg-color:#fff;--bg-page:#f2f3f5}.card{background:var(--bg-color);border:1px solid var(--border-light);border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.page-container{padding:20px;background:var(--bg-page);min-height:calc(100vh - 60px)}.content-wrapper{max-width:1200px;margin:0 auto}.el-table .el-table__header th{background-color:#fafafa;color:var(--text-primary);font-weight:600}.el-button{border-radius:6px;font-weight:500}.el-button.is-round{border-radius:20px}.el-input .el-input__wrapper{border-radius:6px}@media(max-width:768px){.page-container{padding:10px}.content-wrapper{padding:0 10px}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-fade-enter-active{transition:all .3s ease-out}.slide-fade-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateX(20px);opacity:0}