#app,body,html{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}:root{--primary-color:#1677ff;--primary-hover:#4096ff;--primary-active:#0958d9;--success-color:#52c41a;--warning-color:#faad14;--danger-color:#ff4d4f;--info-color:#1677ff;--text-primary:#141414;--text-regular:#595959;--text-secondary:#8c8c8c;--text-placeholder:#bfbfbf;--border-color:#d9d9d9;--border-light:#f0f0f0;--background-color:#f5f5f5;--background-white:#fff;--card-shadow:0 1px 2px 0 rgba(0,0,0,.03),0 1px 6px -1px rgba(0,0,0,.02),0 2px 4px 0 rgba(0,0,0,.02);--card-shadow-hover:0 6px 16px 0 rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12),0 9px 28px 8px rgba(0,0,0,.05);--header-height:56px;--sidebar-width:200px;--sidebar-collapsed-width:80px;--radius-small:4px;--radius-base:6px;--radius-large:8px}*{margin:0;padding:0;box-sizing:border-box}#app,body,html{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--text-primary);background-color:var(--background-color)}.page-container{padding:24px;background:var(--background-color);min-height:calc(100vh - var(--header-height))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.search-bar{background:var(--background-white);padding:16px 24px;border-radius:var(--radius-base);margin-bottom:16px;box-shadow:var(--card-shadow);border:1px solid var(--border-light)}.search-bar .el-form-item{margin-bottom:0;margin-right:16px}.search-bar .el-form-item:last-child{margin-right:0}.table-card{background:var(--background-white);border-radius:var(--radius-base);box-shadow:var(--card-shadow);overflow:hidden;border:1px solid var(--border-light)}.table-card .el-card__body{padding:0}.table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-light);background:var(--background-white)}.table-header .title{font-size:16px;font-weight:600;color:var(--text-primary)}.table-header .actions{display:flex;gap:10px}.el-table{font-size:14px}.el-table ::v-deep .el-table__header-wrapper th{background:#fafafa!important;color:var(--text-regular)!important;font-weight:600;font-size:14px;border-bottom:1px solid var(--border-light)!important}.el-table ::v-deep .el-table__row{transition:background-color .2s}.el-table ::v-deep .el-table__row:hover{background-color:#fafafa!important}.el-table ::v-deep .el-table__body-wrapper td{padding:12px 0;border-bottom:1px solid var(--border-light);color:var(--text-regular)}.el-table ::v-deep .el-table .cell{padding:0 16px;line-height:1.6}.pagination-wrapper{padding:16px 24px;display:flex;justify-content:flex-end;border-top:1px solid var(--border-light);background:var(--background-white)}.el-button{border-radius:var(--radius-base);font-weight:500;transition:all .2s}.el-button:hover{transform:none}.el-button--primary{background:var(--primary-color);border-color:var(--primary-color)}.el-button--primary:focus,.el-button--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.el-button--success{background:var(--success-color);border-color:var(--success-color)}.el-button--success:focus,.el-button--success:hover{background:#73d13d;border-color:#73d13d}.el-button--danger{background:var(--danger-color);border-color:var(--danger-color)}.el-button--danger:focus,.el-button--danger:hover{background:#ff7875;border-color:#ff7875}.el-button--warning{background:var(--warning-color);border-color:var(--warning-color)}.el-button--warning:focus,.el-button--warning:hover{background:#ffc53d;border-color:#ffc53d}.el-button--default{border:1px solid var(--border-color)}.el-button--default:hover{color:var(--primary-color);border-color:var(--primary-color)}.el-tag{border-radius:var(--radius-small);padding:0 8px;height:24px;line-height:22px;font-size:12px;border:1px solid}.el-tag--success{background:#f6ffed;border-color:#b7eb8f;color:#52c41a}.el-tag--danger{background:#fff2f0;border-color:#ffccc7;color:#ff4d4f}.el-tag--warning{background:#fffbe6;border-color:#ffe58f;color:#faad14}.el-tag--info{background:#e6f7ff;border-color:#91d5ff;color:#1677ff}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.online{background-color:var(--success-color)}.status-dot.offline{background-color:var(--danger-color)}.el-dialog{border-radius:var(--radius-large);overflow:hidden;box-shadow:0 6px 16px 0 rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12)}.el-dialog__header{background:var(--background-white);padding:16px 24px;margin:0;border-bottom:1px solid var(--border-light)}.el-dialog__title{font-size:16px;font-weight:600;color:var(--text-primary)}.el-dialog__headerbtn .el-dialog__close{color:var(--text-secondary);font-size:16px}.el-dialog__headerbtn .el-dialog__close:hover{color:var(--text-primary)}.el-dialog__body{padding:24px;background:var(--background-white)}.el-dialog__footer{border-top:1px solid var(--border-light);padding:16px 24px;background:var(--background-white)}.el-form-item__label{font-weight:500;color:var(--text-regular)}.el-input__inner,.el-textarea__inner{border-radius:var(--radius-base);border:1px solid var(--border-color);transition:all .2s}.el-input__inner:hover,.el-textarea__inner:hover{border-color:var(--primary-color)}.el-input__inner:focus,.el-textarea__inner:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(22,119,255,.1);outline:none}.el-select .el-input.is-focus .el-input__inner{border-color:var(--primary-color)}.el-switch.is-checked .el-switch__core{background:var(--primary-color);border-color:var(--primary-color)}.el-pagination.is-background .el-pager li:not(.disabled).active{background:var(--primary-color)}.el-pagination.is-background .btn-next:hover:not(.disabled),.el-pagination.is-background .btn-prev:hover:not(.disabled),.el-pagination.is-background .el-pager li:not(.disabled):hover{color:var(--primary-color)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.slide-fade-enter-active{transition:all .3s ease}.slide-fade-leave-active{transition:all .2s ease}.slide-fade-enter,.slide-fade-leave-to{transform:translateX(10px);opacity:0}