html,body{margin:0;padding:0;height:100vh;width:100vw;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}#app{height:100vh;width:100vw}.el-container{height:100%}.el-main{padding:20px;background-color:#f5f7fa}.el-card{margin-bottom:20px}.el-card__header{padding:15px 20px;border-bottom:1px solid #ebeef5;box-sizing:border-box}.el-table{margin-top:15px}.el-pagination{margin-top:15px;text-align:right}.search-form,.button-group{margin-bottom:15px}.button-group .el-button{margin-right:10px}.chart-container{height:400px}@font-face{font-family:SourceHanSansCN;src:url(https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700;900&display=swap);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SourceHanSansCN;src:url(https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@900&display=swap);font-weight:900;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root{--primary-color: #4CAF50;--primary-light: #81C784;--primary-dark: #388E3C;--success-color: #66BB6A;--warning-color: #FFB74D;--danger-color: #EF5350;--info-color: #90A4AE;--text-color: #2C3E50;--text-color-secondary: #546E7A;--border-color: #C8E6C9;--background-color: #F1F8E9;--gradient-start: rgba(76, 175, 80, .4);--gradient-end: rgba(56, 142, 60, .4);--hover-gradient-start: rgba(129, 199, 132, .5);--hover-gradient-end: rgba(76, 175, 80, .5)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--background-color);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}*{scrollbar-width:thin;scrollbar-color:var(--primary-light) var(--background-color)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-shadow{box-shadow:0 2px 12px #0000001a}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}select,input,button{-webkit-appearance:none;-moz-appearance:none;appearance:none}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.blur-bg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mask{-webkit-mask-size:cover;mask-size:cover;-webkit-mask:linear-gradient(#000,transparent);mask:linear-gradient(#000,transparent)}@keyframes slide{0%{transform:translate(0)}to{transform:translate(100%)}}
