/* PULSE Dashboard Styles v1.0.0 */

body {
    font-family: 'Inter', system-ui, sans-serif;
    background: #0f172a;
    color: #e2e8f0;
}

/* Severity badges */
.severity-p1 { background: #dc2626; color: white; }
.severity-p2 { background: #ea580c; color: white; }
.severity-p3 { background: #ca8a04; color: white; }
.severity-p4 { background: #6b7280; color: white; }

/* Source status cards */
.source-card {
    border-radius: 0.75rem;
    padding: 1rem;
    background: #1e293b;
    border: 1px solid #334155;
    transition: border-color 0.2s;
}
.source-card.status-ok { border-left: 4px solid #22c55e; }
.source-card.status-error { border-left: 4px solid #ef4444; }
.source-card.status-unknown { border-left: 4px solid #6b7280; }

/* Pulse animation for P1 alerts */
@keyframes pulse-red {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}
.pulse-p1 { animation: pulse-red 2s ease-in-out infinite; }

/* Auto-refresh indicator */
.refresh-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    display: inline-block;
}
.refresh-dot.stale { background: #ef4444; }

/* Table rows */
.alert-row:hover { background: #1e293b; }
.alert-row td { padding: 0.5rem 0.75rem; border-bottom: 1px solid #1e293b; }
