@charset "UTF-8";.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}#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)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:PingFang SC,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:#333;background:#f5f7fa}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;vertical-align:middle}table{border-collapse:collapse;width:100%}input,textarea,select,button{font-family:inherit;font-size:inherit;outline:none}button{cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c0c4cc;border-radius:3px}::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{body{background:#fff}.no-print{display:none!important}}:root{--sidebar-width: 220px;--sidebar-collapsed-width: 64px;--navbar-height: 56px;--tags-view-height: 36px;--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399;--color-primary-gradient: linear-gradient(135deg, #409EFF, #2d6cdf);--color-success-gradient: linear-gradient(135deg, #67C23A, #4ea024);--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 12px 32px rgba(0,0,0,.1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}html,body{height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa}#app{height:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-fade-in{animation:fadeIn .35s ease-out}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.ml-2{margin-left:8px}.mr-2{margin-right:8px}.p-4{padding:16px}.px-4{padding-left:16px;padding-right:16px}.py-2{padding-top:8px;padding-bottom:8px}.el-card{border-radius:var(--radius-md)!important;border:none}.el-button{border-radius:8px;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1)}.el-button:active{transform:scale(.97)}.el-button--primary{background:var(--color-primary-gradient);border:none}.el-button--primary:hover{box-shadow:0 4px 12px #409eff59;transform:translateY(-1px)}.el-table th.el-table__cell{background-color:#fafbfc;color:#606266;font-weight:600}.el-table .el-table__row:hover>td{background-color:#f5f8ff}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#fafbfc}.el-pagination{margin-top:16px;justify-content:flex-end}.el-input__wrapper{border-radius:8px;transition:all .25s}.el-input__wrapper:hover{box-shadow:0 0 0 1px #c0c4cc inset}.el-dialog{border-radius:var(--radius-lg)}.el-dialog__header{border-bottom:1px solid #f0f0f0;padding:20px 24px}.el-tag{border-radius:6px;font-weight:500}.el-menu{border-right:none}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}.fade-transform-enter-active,.fade-transform-leave-active{transition:all .3s ease}.fade-transform-enter-from{opacity:0;transform:translate(-20px)}.fade-transform-leave-to{opacity:0;transform:translate(20px)}.page-container{padding:20px;animation:fadeInUp .35s ease-out}.stat-number{font-size:28px;font-weight:700;line-height:1.2}
