/* Tab SOC3ntinel — css global (no scoped, evita DT-25) */

.soc-header-titulo {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ircnl-primary);
    margin: 0;
}

.soc-header-subtitulo {
    font-size: 0.82rem;
    color: var(--ircnl-text-muted);
    margin-top: 0.2rem;
}

/* KPI cards */
.soc-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

.soc-kpi-card {
    background: white;
    border-radius: 8px;
    padding: 1rem 1.1rem;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    border-left: 4px solid var(--ircnl-border);
}

.soc-kpi-card.critico  { border-left-color: var(--ircnl-danger); }
.soc-kpi-card.alto     { border-left-color: var(--ircnl-warning); }
.soc-kpi-card.ok       { border-left-color: var(--ircnl-success); }
.soc-kpi-card.neutro   { border-left-color: var(--ircnl-primary); }

.soc-kpi-valor {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--ircnl-text);
}

.soc-kpi-etiqueta {
    font-size: 0.78rem;
    color: var(--ircnl-text-muted);
    margin-top: 0.25rem;
}

/* Severity badge */
.soc-badge {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.55rem;
    border-radius: 10px;
    white-space: nowrap;
}

.soc-badge-critico  { background: var(--ircnl-danger-bg);  color: var(--ircnl-danger-text); }
.soc-badge-alto     { background: var(--ircnl-warning-bg); color: var(--ircnl-warning-text); }
.soc-badge-medio    { background: #e0f0ff;                 color: var(--ircnl-primary); }
.soc-badge-bajo     { background: var(--ircnl-bg);         color: var(--ircnl-text-muted); }

/* Tabla eventos */
.soc-tabla {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.soc-tabla thead tr {
    background: var(--ircnl-text);
    color: white;
}

.soc-tabla th,
.soc-tabla td {
    padding: 0.5rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid var(--ircnl-bg);
}

.soc-tabla tbody tr:hover { background: #f8fbff; }

.soc-ip-tag {
    font-family: monospace;
    font-size: 0.82rem;
    background: var(--ircnl-bg);
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
}

/* Estado sin eventos */
.soc-empty {
    text-align: center;
    color: var(--ircnl-text-muted);
    padding: 2rem;
    font-size: 0.9rem;
}

/* Refresh badge */
.soc-refresh-badge {
    font-size: 0.72rem;
    background: #e6f4ea;
    color: var(--ircnl-success-text);
    padding: 0.2rem 0.55rem;
    border-radius: 10px;
}
