:root { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; color: #1f2329; background: #f5f7fa; } * { box-sizing: border-box; } html, body, #app { margin: 0; min-height: 100%; height: 100%; } .tag-page { display: flex; height: 100vh; overflow: hidden; background: #f5f7fa; } .tag-page.chart-only { display: block; background: #ffffff; } .tag-page.chart-only .tag-chart { width: 100vw; height: 100vh; } .sidebar { width: 320px; min-width: 320px; height: 100%; display: flex; flex-direction: column; border-right: 1px solid #e3e8ef; background: #ffffff; } .sidebar-head { padding: 18px 18px 10px; } .sidebar-head h1 { margin: 0; font-size: 17px; font-weight: 600; } .sidebar-head p { margin: 6px 0 0; font-size: 12px; color: #7a8494; } .summary { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 18px 12px; } .summary span { padding: 3px 8px; border-radius: 999px; background: #eef3fb; color: #35507a; font-size: 11px; } .filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 18px 12px; border-bottom: 1px solid #eef1f5; } .filters label { display: flex; flex-direction: column; gap: 4px; font-size: 11px; color: #7a8494; } .filters label:first-child { grid-column: 1 / -1; } .filters select { height: 30px; padding: 0 8px; border: 1px solid #dde3ea; border-radius: 6px; background: #ffffff; color: #303744; font-size: 12px; outline: none; } .filters select:focus { border-color: #6b9cf5; } .label-list { flex: 1; overflow-y: auto; padding: 8px; } .label-item { display: flex; flex-direction: column; gap: 5px; width: 100%; padding: 9px 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; text-align: left; cursor: pointer; } .label-item:hover { background: #f3f6fb; } .label-item.active { border-color: #bcd2fb; background: #eef4ff; } .label-title { font-size: 12px; color: #303744; line-height: 1.35; } .label-meta { display: flex; align-items: center; gap: 8px; font-size: 10px; color: #8a94a6; } .label-meta em { font-style: normal; padding: 1px 6px; border-radius: 999px; background: #eef1f5; color: #5b6472; } .label-meta em.stage-异常 { background: #fff1e6; color: #c26a00; } .label-meta em.stage-严重异常 { background: #ffe9e9; color: #c62828; } .chart-pane { position: relative; flex: 1; min-width: 0; height: 100%; background: #ffffff; } .tag-chart { width: 100%; height: 100%; } .chart-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 8px 14px; border-radius: 8px; background: rgba(255, 255, 255, 0.94); color: #6b7280; font-size: 12px; box-shadow: 0 4px 16px rgba(20, 34, 56, 0.08); } .empty-state, .empty-list { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 120px; color: #8a94a6; font-size: 12px; }