/* Gestión de Dispositivos › "Alarmas" de un dispositivo (js/Dispositivo_Destinatarios.js).
   Usa también los botones de medio y los chips de rol de Usuario_Alarmas.css (UA_canalBtn, UA_rol). */
.DD_titulo {
    font-weight: 700;
    font-size: 0.9rem;
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 6px;
    margin-bottom: 8px;
}
.DD_fila {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.6rem;
    padding: 0.5rem 0.25rem;
    border-bottom: 1px dashed var(--bs-border-color);
}
.DD_fila:last-child { border-bottom: 0; }
.DD_nombre { font-weight: 600; }
.DD_agregar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.DD_agregar .form-select { flex: 1 1 320px; }
#DD_info_usuario { display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; align-items: center; }

/* Lista: columnas Usuario / Rol / Le llega / Por */
#DD_lista { border: 1px solid var(--bs-border-color); border-radius: 10px; overflow: hidden; }
.DD_fila {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 150px 170px 220px;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--bs-border-color);
}
.DD_grupo .DD_fila:last-child { border-bottom: 0; }
.DD_fila.recibe { background: var(--bs-body-bg); }
.DD_cabecera {
    background: var(--bs-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--bs-secondary-color);
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}
.DD_id { color: var(--bs-secondary-color); font-variant-numeric: tabular-nums; font-size: 0.85rem; }
.DD_usuario { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.DD_usuario > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.DD_mediosCol { justify-self: end; }
.DD_subtitulo {
    background: var(--bs-tertiary-bg);
    border-top: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
    padding: 0.45rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 700;
}
.DD_origen {
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    background: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
    white-space: nowrap;
}
.DD_origen-cat { background: var(--bs-info-bg-subtle); color: var(--bs-info-text-emphasis); }
.DD_origen-no { background: var(--bs-secondary-bg); color: var(--bs-secondary-color); }

/* Medios: botones con nombre (apagado = no le llega por ese medio) */
.DD_medios { display: inline-flex; gap: 0.3rem; }
.DD_medio {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg);
    color: var(--bs-secondary-color);
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.8rem;
    font-weight: 600;
    min-height: 30px;
}
.DD_medio:hover:not(:disabled) { border-color: var(--bs-primary); color: var(--bs-body-color); }
.DD_medio-wa.activo { background: #25d366; border-color: #25d366; color: #fff; }
.DD_medio-tg.activo { background: #229ed9; border-color: #229ed9; color: #fff; }
.DD_medio:disabled { opacity: 0.35; cursor: not-allowed; }

@media (max-width: 767.98px) {
    .DD_fila { grid-template-columns: 40px minmax(0, 1fr) auto; }
    .DD_cabecera { display: none; }
    .DD_rolCol, .DD_origenCol { grid-column: 2 / 4; }
    .DD_mediosCol { grid-column: 1 / 4; justify-self: start; }
}
