/* Gestión de Usuarios > Alarmas */
.UA_titulo {
    font-weight: 700;
    font-size: 0.9rem;
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 6px;
    margin-bottom: 10px;
}
.UA_fila { padding: 5px 0; border-bottom: 1px dashed var(--bs-border-color); }
.UA_fila:last-child { border-bottom: 0; }
.UA_selTipo { max-width: 220px; }
.UA_resumen {
    background: var(--bs-secondary-bg);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.9rem;
}
.Admin_chip.UA_chip-tipo     { background: rgba(13, 110, 253, 0.12); color: #0d6efd; }
.Admin_chip.UA_chip-incluido { background: rgba(25, 135, 84, 0.14); color: #198754; }
.Admin_chip.UA_chip-excluido { text-decoration: line-through; opacity: 0.6; }

/* Dispositivos puntuales (web_alarmero_devicexusuario) */
.UA_dispBuscar { width: 200px; }
.UA_dispTipo {
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    margin-bottom: 8px;
}
.UA_dispTipo > summary { padding: 8px 12px; cursor: pointer; user-select: none; }
.UA_dispLista {
    padding: 4px 12px 10px;
    max-height: 320px;
    overflow-y: auto;
    column-width: 230px;
    column-gap: 24px;
}
.UA_dispCliente { break-inside: avoid; margin-bottom: 10px; }
.UA_dispClienteNombre { font-weight: 600; font-size: 0.82rem; color: var(--bs-secondary-color); margin-bottom: 2px; }
.UA_disp { display: flex; align-items: center; font-size: 0.86rem; padding: 2px 0; cursor: pointer; }

.UA_celular { width: 190px; font-variant-numeric: tabular-nums; }

/* Por cliente y categoría */
.UA_agregarCliente { width: 230px; }
.UA_cliente {
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    margin-bottom: 12px;
    overflow: hidden;
}
.UA_clienteCab {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    background: var(--bs-secondary-bg);
}
.UA_cat { border-top: 1px solid var(--bs-border-color); }
.UA_catFila {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 7px 12px;
    flex-wrap: wrap;
}
.UA_catSwitch { min-width: 330px; }
.UA_catBtn { margin-left: auto; text-decoration: none; font-size: 0.82rem; }
.UA_rol {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}
.UA_rol-ok  { background: rgba(25, 135, 84, 0.14); color: #198754; }
.UA_rol-no  { background: rgba(220, 53, 69, 0.12); color: #dc3545; }
.UA_rol-sin { background: var(--bs-secondary-bg); color: var(--bs-secondary-color); }
.UA_cat .UA_dispLista { border-top: 1px dashed var(--bs-border-color); max-height: 240px; }
.UA_recibeCliente { font-size: 0.85rem; margin-bottom: 3px; }

/* ============================================ */
/* Tabla: chips en línea y botones en línea      */
/* ============================================ */
.UA_chips { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.UA_chips .Admin_chip { margin: 0; white-space: nowrap; }
.Admin_chip.UA_chip-aviso { background: var(--bs-warning-bg-subtle); color: var(--bs-warning-text-emphasis); }
.UA_acciones { white-space: nowrap; width: 1%; }
.UA_acciones .btn { display: inline-flex; align-items: center; justify-content: center; }
.UA_acciones .btn + .btn { margin-left: 0.25rem; }

/* ============================================ */
/* Edición: panel por cliente y categoría        */
/* (mismo formato que los roles del usuario)     */
/* ============================================ */
.UA_barra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.6rem;
}
.UA_barraBuscar { flex: 1 1 220px; max-width: 360px; }
.UA_cliente { margin-bottom: 0.5rem; background: var(--bs-tertiary-bg); }
.UA_clienteCab { padding: 0 0.6rem 0 0; gap: 0.5rem; background: transparent; }
.UA_plegar {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 0;
    background: transparent;
    color: var(--bs-body-color);
    padding: 0.55rem 0.75rem;
    text-align: left;
    min-height: 42px;
}
.UA_plegar > i { font-size: 0.75rem; color: var(--bs-secondary-color); transition: transform 0.15s ease; }
.UA_cliente.abierto .UA_plegar > i { transform: rotate(90deg); }
.UA_clienteNombre { font-weight: 600; }
.UA_contador {
    margin-left: auto;
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    white-space: nowrap;
}
.UA_contador.activo { background: var(--bs-primary-bg-subtle); color: var(--bs-primary-text-emphasis); }
.UA_catCab .UA_contador { margin-left: 0; }
.UA_clienteCuerpo { display: none; padding: 0 0.75rem 0.6rem 2rem; }
.UA_cliente.abierto .UA_clienteCuerpo { display: block; }
.UA_cat { border-top: 0; padding: 0.35rem 0; }
.UA_cat + .UA_cat { border-top: 1px dashed var(--bs-border-color); }
.UA_catCab {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.6rem;
}
.UA_catNombre {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--bs-secondary-color);
}
.UA_catTodas .form-check-label { white-space: nowrap; }
.UA_catAcciones { margin: 0.15rem 0 0; }
.UA_catVacia { padding: 0.25rem 0; }
.UA_cat .UA_dispLista {
    border-top: 0;
    padding: 0.2rem 0 0;
    max-height: 260px;
    column-width: 220px;
    column-gap: 12px;
}
.UA_disp {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.45rem;
    border-radius: 6px;
    break-inside: avoid;
    margin: 0;
    font-size: 0.88rem;
}
.UA_disp:hover, .UA_disp.marcado { background: var(--bs-body-bg); }
.UA_disp input { margin: 0; flex: 0 0 auto; }
.UA_disp.incluido { opacity: 0.75; cursor: default; }

/* Por dónde le llegan */
.UA_canales {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
    margin-top: 0.75rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
}
.UA_canalesTitulo { font-weight: 600; font-size: 0.9rem; }
.Admin_chip.UA_chip-wa { background: rgba(25, 135, 84, 0.14); color: #198754; }
.Admin_chip.UA_chip-tg { background: rgba(13, 202, 240, 0.16); color: #087990; }
[data-bs-theme="dark"] .Admin_chip.UA_chip-wa { color: #4ade80; }
[data-bs-theme="dark"] .Admin_chip.UA_chip-tg { color: #67d4ec; }

/* Medio de envío por categoría y por dispositivo */
.UA_canales { font-size: 0.88rem; gap: 0.4rem 1.25rem; }
.UA_disp { justify-content: space-between; cursor: default; }
.UA_dispNombre { display: flex; align-items: center; gap: 0.5rem; margin: 0; cursor: pointer; min-width: 0; flex: 1; }
.UA_dispNombre span { overflow: hidden; text-overflow: ellipsis; }
.UA_canalBotones { display: inline-flex; gap: 2px; flex: 0 0 auto; }
.UA_canalBotones.mixto { outline: 1px dashed var(--bs-warning); outline-offset: 2px; border-radius: 6px; }
.UA_canalBtn {
    width: 28px;
    height: 24px;
    border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg);
    color: var(--bs-secondary-color);
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    padding: 0;
    opacity: 0.55;
}
.UA_canalBtn:hover:not(:disabled) { opacity: 1; }
.UA_canalBtn.activo { opacity: 1; }
.UA_canalBtn-wa.activo { background: #25d366; border-color: #25d366; color: #fff; }
.UA_canalBtn-tg.activo { background: #229ed9; border-color: #229ed9; color: #fff; }
.UA_canalBtn:disabled { opacity: 0.25; cursor: not-allowed; }
.UA_catCanal { display: inline-flex; align-items: center; }
