#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}#app,body,html{height:100%}.page-container{padding:20px;min-height:calc(100vh - 120px);background-color:#f5f5f5}.page-title{font-size:24px;color:#303133;margin-bottom:20px;font-weight:500}.page-subtitle{font-size:18px;color:#606266;margin-bottom:15px;font-weight:400}.stats-card{padding:20px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:20px}.stats-card .title{font-size:14px;color:#909399;margin-bottom:8px}.stats-card .value{font-size:28px;font-weight:600;color:#303133}.stats-card.success{background:linear-gradient(135deg,#67c23a,#85ce61);color:#fff}.stats-card.success .title,.stats-card.success .value{color:#fff}.stats-card.warning{background:linear-gradient(135deg,#e6a23c,#f0c673);color:#fff}.stats-card.warning .title,.stats-card.warning .value{color:#fff}.stats-card.danger{background:linear-gradient(135deg,#f56c6c,#f78989);color:#fff}.stats-card.danger .title,.stats-card.danger .value{color:#fff}.stats-card.info{background:linear-gradient(135deg,#409eff,#73b3ff);color:#fff}.stats-card.info .title,.stats-card.info .value{color:#fff}.table-header{justify-content:space-between;margin-bottom:20px}.table-header,.table-search{display:flex;align-items:center}.table-search{gap:10px}.status-tag{font-size:12px;padding:3px 8px;border-radius:4px;font-weight:500}.status-success{background-color:#f0f9ff;color:#67c23a;border:1px solid #c2e7b0}.status-warning{background-color:#fdf6ec;color:#e6a23c;border:1px solid #f5dab1}.status-danger{background-color:#fef0f0;color:#f56c6c;border:1px solid #fbc4c4}.status-info{background-color:#f4f4f5;color:#909399;border:1px solid #d3d4d6}.chart-container{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:20px}.chart-title{font-size:16px;color:#303133;margin-bottom:15px;font-weight:500}.action-buttons{display:flex;gap:10px}.empty-tip{margin:20px 0}.empty-tip .el-alert{border-radius:8px}@media (max-width:768px){.page-container{padding:10px}.table-header{flex-direction:column;align-items:stretch;gap:15px}.table-search{flex-wrap:wrap}.action-buttons{flex-direction:column}}