#app{height:100vh;overflow:hidden}.el-message{min-width:200px;text-align:center}.el-loading-mask{background-color:#fffc}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.el-dialog{width:95%!important;margin:0 auto!important;margin-top:5vh!important}.el-drawer__body{padding:10px!important}.el-table{font-size:12px}}@media (max-width: 480px){.el-button{padding:8px 12px!important;font-size:12px!important}.el-form-item__label{font-size:12px!important}.el-input__inner{font-size:14px!important}}@media print{.no-print,.el-button,.el-pagination,.sidebar{display:none!important}}.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%)}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #409eff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-tooltip__popper{max-width:300px}.el-table .el-table__header-wrapper th{background-color:#fafafa;color:#333;font-weight:500}.el-table .el-table__row:hover>td{background-color:#f5f7fa}.el-card{border:none;box-shadow:0 2px 12px #0000001a}.el-card__header{background-color:#fafafa;border-bottom:1px solid #ebeef5}.el-form--label-top .el-form-item__label{padding-bottom:8px;font-weight:500}.el-button--primary{background-color:#409eff;border-color:#409eff}.el-button--primary:hover{background-color:#66b1ff;border-color:#66b1ff}.status-tag{font-weight:500;border-radius:12px;padding:2px 8px;font-size:12px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.stat-card .el-card__body{padding:20px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f5f7fa}::-webkit-scrollbar-thumb{background:#dcdfe6;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#e4e7ed}.flex{display:flex}.flex-1{flex:1}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-align-center{display:flex;align-items:center}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.cursor-pointer{cursor:pointer}.full-height{height:100%}.full-width{width:100%}.m-xs{margin:var(--spacing-xs)}.mt-xs{margin-top:var(--spacing-xs)}.mr-xs{margin-right:var(--spacing-xs)}.mb-xs{margin-bottom:var(--spacing-xs)}.ml-xs{margin-left:var(--spacing-xs)}.p-xs{padding:var(--spacing-xs)}.pt-xs{padding-top:var(--spacing-xs)}.pr-xs{padding-right:var(--spacing-xs)}.pb-xs{padding-bottom:var(--spacing-xs)}.pl-xs{padding-left:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.mt-sm{margin-top:var(--spacing-sm)}.mr-sm{margin-right:var(--spacing-sm)}.mb-sm{margin-bottom:var(--spacing-sm)}.ml-sm{margin-left:var(--spacing-sm)}.p-sm{padding:var(--spacing-sm)}.pt-sm{padding-top:var(--spacing-sm)}.pr-sm{padding-right:var(--spacing-sm)}.pb-sm{padding-bottom:var(--spacing-sm)}.pl-sm{padding-left:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.mt-md{margin-top:var(--spacing-md)}.mr-md{margin-right:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.ml-md{margin-left:var(--spacing-md)}.p-md{padding:var(--spacing-md)}.pt-md{padding-top:var(--spacing-md)}.pr-md{padding-right:var(--spacing-md)}.pb-md{padding-bottom:var(--spacing-md)}.pl-md{padding-left:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mt-lg{margin-top:var(--spacing-lg)}.mr-lg{margin-right:var(--spacing-lg)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-lg{margin-left:var(--spacing-lg)}.p-lg{padding:var(--spacing-lg)}.pt-lg{padding-top:var(--spacing-lg)}.pr-lg{padding-right:var(--spacing-lg)}.pb-lg{padding-bottom:var(--spacing-lg)}.pl-lg{padding-left:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-xl{margin-top:var(--spacing-xl)}.mr-xl{margin-right:var(--spacing-xl)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xl{margin-left:var(--spacing-xl)}.p-xl{padding:var(--spacing-xl)}.pt-xl{padding-top:var(--spacing-xl)}.pr-xl{padding-right:var(--spacing-xl)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-xl{padding-left:var(--spacing-xl)}.m-xxl{margin:var(--spacing-xxl)}.mt-xxl{margin-top:var(--spacing-xxl)}.mr-xxl{margin-right:var(--spacing-xxl)}.mb-xxl{margin-bottom:var(--spacing-xxl)}.ml-xxl{margin-left:var(--spacing-xxl)}.p-xxl{padding:var(--spacing-xxl)}.pt-xxl{padding-top:var(--spacing-xxl)}.pr-xxl{padding-right:var(--spacing-xxl)}.pb-xxl{padding-bottom:var(--spacing-xxl)}.pl-xxl{padding-left:var(--spacing-xxl)}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001f,0 0 6px #0000000a;overflow:hidden}.card-header{padding:16px 20px;border-bottom:1px solid #EBEEF5;font-weight:500}.card-body{padding:20px}.page-container{padding:20px;height:100%;overflow-y:auto}.page-header{margin-bottom:20px}.page-title{font-size:20px;font-weight:600;color:#303133;margin:0 0 8px}.page-subtitle{color:#909399;margin:0}.el-table .el-table__header th{background-color:#f2f3f5;color:#303133;font-weight:500}.form-container .el-form-item__label{font-weight:500;color:#303133}.status-tag.status-active{color:#67c23a;background-color:#67c23a1a;border-color:#67c23a33}.status-tag.status-inactive{color:#f56c6c;background-color:#f56c6c1a;border-color:#f56c6c33}.status-tag.status-pending{color:#e6a23c;background-color:#e6a23c1a;border-color:#e6a23c33}@media (max-width: 768px){.page-container{padding:12px}.card-body{padding:16px}}.loading-container{display:flex;align-items:center;justify-content:center;height:200px;color:#909399}.empty-state{text-align:center;padding:24px;color:#909399}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state .empty-text{font-size:18px;margin-bottom:8px}.empty-state .empty-description{font-size:13px;color:#c0c4cc}
