.pipeline-health-page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.ph-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem}.ph-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.ph-card__label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ph-card__value{font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums}.ph-card--running .ph-card__value{color:var(--info, #58a6ff)}.ph-card--succeeded .ph-card__value{color:var(--success)}.ph-card--failed .ph-card__value,.ph-card--nats .ph-card__value,.ph-card--deadletter .ph-card__value{color:var(--text-primary)}.ph-card--alert{border-color:var(--danger)}.ph-card--alert .ph-card__value{color:var(--danger)}.ph-section{margin-bottom:1.5rem}.ph-section h2{font-size:1rem;margin-bottom:.75rem;color:var(--text-primary);border-bottom:1px solid var(--border);padding-bottom:.5rem}.ph-table{width:100%;border-collapse:collapse;font-size:.85rem}.ph-table th,.ph-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.ph-table th{color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.ph-table tbody tr:hover{background:#ffffff05}.ph-warn{color:var(--warning, #d29922);font-weight:600}.ph-deadletter-row{background:#f8514914}.ph-error-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--danger);font-size:.8rem}.ph-project{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;margin-bottom:.75rem}.ph-project--error{border-left:3px solid var(--danger)}.ph-project--processing{border-left:3px solid var(--info, #58a6ff)}.ph-project--ready{border-left:3px solid var(--success)}.ph-project--empty{border-left:3px solid var(--border);opacity:.6}.ph-project__header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.ph-project__ns{font-size:.75rem;color:var(--text-muted)}.ph-project__bar{height:4px;background:var(--border);border-radius:2px;margin-bottom:.5rem;overflow:hidden}.ph-project__bar-fill{height:100%;background:var(--success);border-radius:2px;transition:width .3s ease}.ph-project__stats{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.ph-badge{display:inline-block;padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.ph-badge--running{background:#58a6ff26;color:var(--info, #58a6ff)}.ph-badge--failed{background:#f8514926;color:var(--danger)}.ph-badge--ok{background:#3fb95026;color:var(--success)}.ph-active-runs{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.ph-active-run{display:flex;gap:.75rem;font-size:.8rem;padding:.25rem 0;color:var(--text-muted)}.ph-active-run__doc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-active-run__stage{color:var(--info, #58a6ff);font-weight:500}.ph-active-run__age{color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.ph-active-run__progress{font-variant-numeric:tabular-nums}.ph-footer{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);padding-top:.5rem;border-top:1px solid var(--border)}.ph-empty{color:var(--text-muted);font-style:italic;padding:1rem 0}.admin-denied{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.ph-durable-note{margin:0 0 .75rem;color:var(--text-muted);font-size:.8rem;max-width:80ch}
