:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399;--color-primary-light: #ECF5FF;--color-success-light: #F0F9EB;--color-warning-light: #FDF6EC;--color-danger-light: #FEF0F0;--color-info-light: #F4F4F5;--color-text-primary: #303133;--color-text-regular: #606266;--color-text-secondary: #909399;--color-text-placeholder:#C0C4CC;--color-border-base: #DCDFE6;--color-border-light: #E4E7ED;--color-border-lighter: #EBEEF5;--color-border-extra-light: #F2F6FC;--bg-body: #F0F2F5;--bg-card: #FFFFFF;--bg-sidebar: #191A23;--bg-hover: #F5F7FA;--gradient-welcome: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-welcome-v2: linear-gradient(135deg, #8B95E8 0%, #6B6FD0 55%, #4A4FB8 100%);--gradient-info: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-success: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--gradient-warning: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 4px;--radius-lg: 4px;--radius-xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: rgba(0, 0, 0, .06) 0 2px 8px 0;--shadow-md: rgba(0, 0, 0, .08) 0 1px 8px 0;--shadow-lg: rgba(0, 0, 0, .1) 0 2px 12px 0;--shadow-hover: rgba(0, 0, 0, .12) 0 4px 16px 0;--shadow-card-hover: 0 6px 20px rgba(64, 158, 255, .12);--font-xs: 12px;--font-sm: 13px;--font-base: 14px;--font-md: 15px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 20px;--font-3xl: 22px;--font-4xl: 28px;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-loose: 1.75;--weight-regular: 400;--weight-medium: 500;--weight-semi: 600;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--layout-header-h: 60px;--layout-sidebar-w: 220px;--layout-content-pad: 16px;--layout-card-gap: 14px;--layout-card-radius: var(--radius-lg);--el-color-primary: var(--color-primary);--el-color-success: var(--color-success);--el-color-warning: var(--color-warning);--el-color-danger: var(--color-danger);--el-color-info: var(--color-info);--el-text-color-primary: var(--color-text-primary);--el-text-color-regular: var(--color-text-regular);--el-text-color-secondary: var(--color-text-secondary);--el-text-color-placeholder: var(--color-text-placeholder);--el-border-color-base: var(--color-border-base);--el-border-radius-base: var(--radius-sm);--el-font-size-base: var(--font-base);--el-font-size-small: var(--font-sm);--el-font-size-medium: var(--font-md)}.sidebar{background-color:var(--bg-sidebar);color:#fff}html,body{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;color:var(--color-text-primary);font-size:var(--font-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-body)}.el-table{font-size:var(--font-base)}.el-table th.el-table__cell{background-color:#f5f7fa;color:var(--color-text-primary);font-weight:var(--weight-semi);font-size:var(--font-xs);text-align:center;border:1px solid var(--color-border-light);white-space:nowrap}.el-table td.el-table__cell,.el-table th.el-table__cell{padding:8px 0}.el-table .cell{line-height:23px}.el-card{border-radius:var(--layout-card-radius);border:1px solid var(--color-border-lighter)}.el-card.is-never-shadow{box-shadow:none}.el-card.is-hover-shadow:hover,.el-card:hover{box-shadow:var(--shadow-hover)}.el-form-item__label{font-size:var(--font-base);color:var(--color-text-regular)}.el-button{font-size:var(--font-base);font-weight:var(--weight-medium);border-radius:var(--radius-sm)}.el-button--mini{padding:7px 10px;font-size:var(--font-sm)}.el-button--small{padding:8px 14px}.el-tag{font-size:var(--font-sm);border-radius:var(--radius-sm)}.el-tag--mini{height:20px;padding:0 5px;line-height:18px}.el-input__wrapper{border-radius:var(--radius-sm)}.el-pagination{font-size:var(--font-base)}.el-dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.el-dialog__title{font-size:var(--font-lg);font-weight:var(--weight-semi)}.admin-box{min-height:calc(100vh - 160px);background-color:#fff;padding:var(--space-4);margin:115px var(--space-4) var(--space-5);border-radius:var(--radius-sm)}.admin-box:before,.admin-box:after{content:"";display:block;clear:both}.admin-box .el-button{padding:7px 10px}.admin-box .el-table--border{border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.admin-box .el-table thead{color:#262626}.admin-box .el-table th.el-table__cell{padding:5px 0}.admin-box .el-table th.el-table__cell .cell{min-height:34px;line-height:34px}.admin-box .el-table td.el-table__cell{padding:8px 0}.admin-box .el-table td.el-table__cell,.admin-box .el-table th.el-table__cell.is-leaf{border-bottom:1px solid #eef0f3}.admin-box .search-term{border-left:none;border-right:none}.admin-box .search-term .el-form-item{margin-bottom:var(--space-2)}.admin-box .el-pagination{padding:var(--space-5) 0 0 0}.admin-box .el-form.el-form--inline .el-form-item:last-child{margin-bottom:0}.layout-cont .router-history{background:#fff;padding:0;border-top:1px solid #f4f4f4}.layout-cont .router-history .el-tabs__header{margin:0;border-bottom:none}.layout-cont .router-history .el-tabs__header .el-tabs__nav{border:none}.layout-cont .router-history .el-tabs__header .el-tabs__item{height:40px;line-height:40px;border:none;border-left:1px solid #f4f4f4}.layout-cont .router-history .el-tabs__header .el-tabs__item:before{content:"";width:9px;height:9px;margin-right:8px;display:inline-block;background-color:#ddd;border-radius:50%;transition:background-color .2s}.layout-cont .router-history .el-tabs__header .el-tabs__item.is-active:before{background-color:var(--color-primary)}.layout-cont .router-history .el-tabs__header .el-tabs__item.is-active{background-color:#409eff14}.search-term{background:var(--bg-card);border-left:1px solid var(--color-border-lighter);border-right:1px solid var(--color-border-lighter);border-radius:0;box-shadow:none;padding:15px 20px;margin-bottom:var(--layout-card-gap)}.search-term .el-form-item{margin-bottom:0}.search-term .el-form-item+.el-form-item{margin-left:var(--space-3)}.summary-card{background:var(--bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-sm);box-shadow:none;padding:var(--space-5);margin-bottom:var(--layout-card-gap);transition:box-shadow .2s}.summary-card:hover{box-shadow:var(--shadow-hover)}.data-card{background:var(--bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-sm);box-shadow:none;padding:0;margin-bottom:var(--layout-card-gap);overflow:hidden}.data-card:hover{box-shadow:var(--shadow-hover)}.data-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-extra-light);font-weight:var(--weight-semi);font-size:var(--font-base);color:var(--color-text-primary)}.data-card .card-header .actions{display:flex;align-items:center;gap:var(--space-2)}.data-card .card-body{padding:var(--space-4) var(--space-5)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--layout-card-gap)}.page-header .page-title{font-size:var(--font-xl);font-weight:var(--weight-semi);color:var(--color-text-primary);line-height:1.4}.page-header .page-subtitle{font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:4px}.welcome-card{position:relative;border-radius:var(--radius-lg);background:var(--gradient-welcome);color:#fff;padding:var(--space-5) var(--space-6);margin-bottom:var(--layout-card-gap);box-shadow:0 6px 24px #667eea40;overflow:hidden}.welcome-card:after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}.welcome-card .welcome-greeting{font-size:var(--font-4xl);font-weight:var(--weight-semi);margin:0 0 var(--space-1) 0;letter-spacing:.5px}.welcome-card .welcome-meta{font-size:var(--font-sm);opacity:.85;margin-bottom:var(--space-3)}.welcome-card .welcome-content{display:flex;flex-wrap:wrap;gap:var(--space-3);position:relative;z-index:1}.stat-card{position:relative;background:var(--bg-card);border:1px solid var(--color-border-lighter);border-radius:var(--radius-sm);box-shadow:none;padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-3);transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.stat-card .stat-icon{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-card .stat-icon.primary{background:var(--color-primary-light);color:var(--color-primary)}.stat-card .stat-icon.success{background:var(--color-success-light);color:var(--color-success)}.stat-card .stat-icon.warning{background:var(--color-warning-light);color:var(--color-warning)}.stat-card .stat-icon.danger{background:var(--color-danger-light);color:var(--color-danger)}.stat-card .stat-icon.info{background:var(--color-info-light);color:var(--color-info)}.stat-card .stat-body{flex:1;min-width:0}.stat-card .stat-label{font-size:var(--font-sm);color:var(--color-text-secondary);font-weight:var(--weight-medium);margin-bottom:6px;line-height:1.2}.stat-card .stat-value{font-size:var(--font-3xl);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.2;word-break:break-all;letter-spacing:-.3px}.stat-card .stat-value.is-positive{color:var(--color-success)}.stat-card .stat-value.is-negative{color:var(--color-danger)}.stat-card .stat-value.is-warning{color:var(--color-warning)}.stat-card .stat-foot{margin-top:4px;font-size:var(--font-xs);color:var(--color-text-secondary)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.num-chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 6px;font-size:var(--font-xs);font-weight:var(--weight-bold);color:#fff;background:var(--color-primary);border-radius:var(--radius-sm)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.status-dot.online{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-light)}.status-dot.offline{background:var(--color-info);box-shadow:0 0 0 3px var(--color-info-light)}.status-dot.error{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-light)}.status-dot.warn{background:var(--color-warning);box-shadow:0 0 0 3px var(--color-warning-light)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif}
