.kpi-grid[data-v-0ffd222f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.timeline-card[data-v-0ffd222f]{padding:24px}.timeline-list[data-v-0ffd222f]{display:flex;flex-direction:column;position:relative;margin-left:100px}.timeline-list[data-v-0ffd222f]:before{content:"";position:absolute;left:-24px;top:8px;bottom:8px;width:2px;background:var(--sp-border)}.timeline-item[data-v-0ffd222f]{display:flex;align-items:flex-start;gap:20px;margin-bottom:22px;position:relative}.tl-time[data-v-0ffd222f]{position:absolute;left:-120px;top:2px;font-size:.72rem;color:var(--sp-text-muted);width:80px;text-align:right}.tl-dot[data-v-0ffd222f]{position:absolute;left:-28px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--sp-primary);border:2px solid var(--sp-card-bg)}.item-sev-critical .tl-dot[data-v-0ffd222f]{background:var(--sp-red);box-shadow:0 0 8px var(--sp-red)}.item-sev-warn .tl-dot[data-v-0ffd222f]{background:var(--sp-amber)}.item-sev-info .tl-dot[data-v-0ffd222f]{background:var(--sp-green)}.tl-content[data-v-0ffd222f]{background:var(--sp-input-bg);border:1px solid var(--sp-border-subtle);padding:12px 16px;border-radius:var(--sp-radius-sm);flex:1;display:flex;flex-direction:column;gap:6px}.tl-header[data-v-0ffd222f]{display:flex;align-items:center;gap:10px}.tl-source[data-v-0ffd222f]{font-size:.74rem;color:var(--sp-cyan);font-weight:700}.tl-desc[data-v-0ffd222f]{font-size:.82rem;color:var(--sp-text-main);line-height:1.4}.tl-props[data-v-0ffd222f]{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.tl-prop-badge[data-v-0ffd222f]{display:inline-flex;align-items:center;gap:6px;background:var(--sp-input-bg);border:1px solid var(--sp-border-subtle);border-radius:6px;padding:3px 8px;font-size:.7rem}.tl-prop-badge .prop-k[data-v-0ffd222f]{color:var(--sp-text-subtle);font-weight:700;text-transform:uppercase;font-size:.62rem;letter-spacing:.03em}.tl-prop-badge .prop-v[data-v-0ffd222f]{color:var(--sp-text-main)}.empty-journal[data-v-0ffd222f]{text-align:center;padding:40px;color:var(--sp-text-muted)}
