/* Runtime demo classes to avoid inline style attributes */
.demo-svg{background:var(--demo-bg);min-height:480px}
.demo-clickable{cursor:pointer}
.clr-source{color:#60a5fa}
.clr-abr{color:#f97316}
.clr-hop{color:#a78bfa}
.clr-path{color:#888}
.clr-active{color:#facc15}
.td-path-row{font-size:0.73rem;padding:3px 0;border-bottom:1px solid var(--border)}
.td-path-subtle{color:var(--text-subtle);font-size:0.68rem;margin-top:1px}
.td-info-muted{color:var(--text-muted);font-size:0.75rem;margin-top:4px}
.td-info-subtle{color:var(--text-muted);font-size:0.75rem}
.td-info-strong{margin-top:8px;font-size:0.75rem;color:var(--text-muted);font-weight:600}
.td-info-scroll{max-height:220px;overflow-y:auto;margin-top:4px}
.is-hidden{display:none !important}
.is-visible{display:block !important}
.is-flex{display:flex !important}
.is-dimmed{opacity:.55}
.demo-tip-fixed{position:fixed}
.demo-center-transform{transform:translate(-50%,-50%)}
.demo-pe-auto{pointer-events:auto}
.demo-pe-none{pointer-events:none}
.demo-maxw-520{max-width:520px}
.demo-maxw-380{max-width:380px}
.demo-z-100{z-index:100}
.demo-tooltip-top-right{top:1rem;right:1rem;left:auto}

.demo-table{width:100%;border-collapse:collapse;font-size:.78rem}
.demo-table th,.demo-table td{padding:.4rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}
.demo-table th{text-align:left;color:var(--text-muted);font-weight:600;font-size:.75rem}
.demo-table td{color:var(--text-muted)}
.demo-table .demo-ta-center{text-align:center}
.demo-table .demo-ta-right{text-align:right}
.demo-table .demo-mono{font-family:monospace;font-size:.72rem;color:var(--text-subtle);white-space:nowrap}
.demo-table .demo-ellipsis{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demo-table-report th:nth-child(3),.demo-table-report td:nth-child(3){text-align:center}
.demo-table-report th:nth-child(5),.demo-table-report td:nth-child(5),.demo-table-report th:nth-child(6),.demo-table-report td:nth-child(6){text-align:right}
.demo-table-recon th:nth-child(n+4),.demo-table-recon td:nth-child(n+4){text-align:center}
.demo-status-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.72rem;font-weight:600;color:#fff}
.demo-badge-success{background:#10b981}
.demo-badge-failed{background:#ef4444}
.demo-badge-skipped{background:#f59e0b}
.demo-recon-icon{font-size:1rem;text-align:center}
.demo-recon-ok{color:#22c55e}
.demo-recon-warn{color:#f59e0b}
.demo-recon-error{color:#ef4444}
.demo-recon-unknown{color:var(--text-subtle)}

.demo-text-muted{color:var(--text-muted)}
.demo-text-subtle{color:var(--text-subtle)}
.demo-text-blue{color:#60a5fa}
.demo-text-red{color:#ef4444}
.demo-text-green{color:#4ade80}
.demo-text-orange{color:#f97316}
.demo-text-yellow{color:#fbbf24}
.demo-fw-600{font-weight:600}
.demo-fw-700{font-weight:700}

.pa-change-head{font-weight:600;margin-bottom:6px;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.pa-change-row{margin:3px 0}

.pt-inline-meta{color:var(--text-subtle);font-size:.75rem}
.pt-stage-line{margin-top:3px;font-size:.75rem}
.pt-detail-row{margin:6px 0 4px}
.pt-note{color:var(--text-muted);margin-top:6px}
.pt-stage-chip{margin-right:1rem}

.nm-tip-line{margin-top:3px;font-size:.75rem}
.nm-tip-line-sub{margin-top:2px;font-size:.75rem;color:var(--text-muted)}
.nm-tip-line-note{margin-top:3px;font-size:.72rem;color:var(--text-subtle)}
.nm-detail-head{margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.nm-detail-id{font-family:'Courier New',monospace;font-size:.78rem;color:var(--text-subtle)}
.nm-detail-title{font-size:.95rem;color:var(--text)}
.nm-badge{display:inline-block;padding:.15rem .5rem;border-radius:2px;font-size:.72rem;font-weight:700}
.nm-badge-fm{background:rgba(96,165,250,.12);color:#60a5fa;border:1px solid #60a5fa}
.nm-badge-pm{background:rgba(249,115,22,.12);color:#f97316;border:1px solid #f97316}
.nm-plat-sevone{color:#22d3ee;border:1px solid #22d3ee;background:rgba(34,211,238,.12)}
.nm-plat-dynatrace{color:#6ee7b7;border:1px solid #6ee7b7;background:rgba(110,231,183,.12)}
.nm-plat-splunk{color:#c084fc;border:1px solid #c084fc;background:rgba(192,132,252,.12)}
.nm-plat-python{color:#fbbf24;border:1px solid #fbbf24;background:rgba(251,191,36,.12)}
.nm-detail-grid{display:grid;grid-template-columns:repeat(4,auto);gap:.5rem 1.5rem;margin-bottom:1rem;font-size:.82rem}
.nm-detail-desc{font-size:.78rem;color:var(--text-muted);margin-bottom:.75rem}

.cb-report-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border)}
.cb-report-meta{font-size:.78rem;color:var(--text-subtle);margin-bottom:4px}
.cb-kpis{display:flex;gap:1.25rem;margin-bottom:1rem;flex-wrap:wrap}
.cb-kpi{padding:.5rem 1rem;border-radius:4px}
.cb-kpi-success{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.3)}
.cb-kpi-failed{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}
.cb-kpi-skipped{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3)}
.cb-kpi-total{background:var(--bg-surface);border:1px solid var(--border)}
.cb-kpi-value{font-size:1.3rem;font-weight:700}
.cb-kpi-label{font-size:.75rem;color:var(--text-muted)}
.cb-report-summary{margin-top:1rem;padding:.65rem 1rem;border-radius:4px;background:var(--bg-surface);border:1px solid var(--border);font-size:.82rem;color:var(--text-muted)}
.cb-report-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.72rem;color:var(--text-subtle)}
.cb-row-alt{background:var(--bg-surface)}
