:root{--brand:#1f4e79;--brand-light:#2f6ca3;--bg-page:#f2f4f7;--text-main:#1f2937;--text-sub:#6b7280;--border:#e4e7ed}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{background:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}a{color:var(--brand-light);text-decoration:none}.page{padding:16px 20px 28px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.page-title{letter-spacing:.5px;margin:0;font-size:18px;font-weight:600}.page-sub{color:var(--text-sub);margin-top:4px;font-size:13px}.card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:16px 18px}.card+.card{margin-top:14px}.card-title{align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:600;display:flex}.card-title:before{content:"";background:var(--brand);border-radius:2px;width:3px;height:14px}.muted{color:var(--text-sub)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .spacer{flex:1}.field-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px 24px;display:grid}.field-item{border-bottom:1px dashed #f0f2f5;gap:10px;padding:8px 0;font-size:13px;line-height:1.7;display:flex}.field-item .k{color:var(--text-sub);flex:0 0 168px}.field-item .v{color:var(--text-main);word-break:break-word;white-space:pre-wrap;flex:1}.field-item.wide{grid-column:1/-1}.field-item.wide .k{flex-basis:168px}.attach-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.attach-item{border:1px solid var(--border);background:#fafbfc;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.attach-item:hover{border-color:var(--brand-light);background:#f5f9ff}.attach-item .icon{color:var(--brand-light);flex:none;font-size:20px}.attach-item .meta{flex:1;min-width:0}.attach-item .name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.attach-item .size{color:var(--text-sub);font-size:12px}.attach-actions{flex:none;gap:2px;display:flex}.stat-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:16px 18px;position:relative;overflow:hidden}.stat-card .label{color:var(--text-sub);margin-bottom:8px;font-size:13px}.stat-card .value{color:var(--brand);font-size:26px;font-weight:600;line-height:1.1}.stat-card .unit{color:var(--text-sub);margin-left:4px;font-size:13px;font-weight:400}.stat-card.warn .value{color:#e6a23c}.stat-card.danger .value{color:#f56c6c}.stat-card.ok .value{color:#67c23a}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px;display:grid}.chart-box{border:1px solid var(--border);background:#fff;border-radius:8px;padding:14px 16px 8px}.chart-box h4{margin:0 0 6px;font-size:14px;font-weight:600}.chart-box .hint{color:var(--text-sub);margin-bottom:6px;font-size:12px}.chart-canvas{width:100%;height:280px}.timeline-round{color:var(--text-sub);margin:14px 0 8px;padding-left:2px;font-size:12px}.timeline-comment{border-left:3px solid var(--brand-light);white-space:pre-wrap;color:#303133;background:#f7f8fa;border-radius:0 4px 4px 0;margin-top:6px;padding:8px 12px;font-size:13px}.login-page{font-family:var(--font-sans,inherit)}@media print{.no-print,.el-menu,.el-header,.el-aside,.page-head .el-button{display:none!important}body{background:#fff}.card{border:none;padding:0}}
