/* Controles táctiles compartidos. No ampliar las herramientas de los editores. */
.cq-mobile-label { display: none; }
.historial-tabla__acciones .cq-touch-action {
    width: auto;
    gap: .5rem;
    padding: .5rem .75rem;
}
.cq-action-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}

@media (max-width: 1023px), (pointer: coarse) {
    body button:not(:where(.tox *, .ck *, .select2-container *)),
    body input:is([type="submit"], [type="button"], [type="reset"]),
    body summary,
    body a:is([role="button"], [class*="btn"], .cq-touch-action),
    body nav a,
    body a[href*="/editar/"],
    body a[href*="/eliminar/"] {
        min-height: 44px !important;
        min-width: 44px !important;
        box-sizing: border-box;
        touch-action: manipulation;
    }

    body button[type="submit"],
    .mant-card__actions a,
    .cq-action-group > :is(a, button),
    .cq-action-group > form > button {
        min-height: 48px !important;
    }

    body a:is([role="button"], [class*="btn"], .cq-touch-action),
    body a[href*="/editar/"],
    body a[href*="/eliminar/"] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
    }

    .cq-mobile-label { display: inline; margin-left: .5rem; }
    body button:has(> .cq-mobile-label) {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        height: auto;
        flex-shrink: 0;
        padding: .5rem .75rem;
        font-size: .875rem;
    }

    .mant-card__actions,
    .historial-filters__actions,
    .list-filters,
    .cq-modal__actions,
    .pop-asig-foot,
    .eq-actions {
        gap: .75rem !important;
        flex-wrap: wrap;
    }
    .mant-card__actions {
        width: 100%;
        justify-content: flex-start;
    }
    .mant-card__actions a {
        justify-content: center;
        padding: .65rem 1rem;
        font-size: .875rem;
    }
    .mant-card__actions .btn-delete { margin-left: auto; }

    .cq-action-group > a,
    .cq-delete-confirm > a,
    a.cq-touch-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
    }
    .cq-delete-confirm > :is(a, button) {
        flex: 1 1 12rem;
        text-align: center;
    }

    .cq-offline-operation { flex-wrap: wrap; gap: .75rem; }
    .cq-offline-operation > div { flex-basis: calc(100% - 3rem); }
    .cq-offline-operation > button { padding: .5rem .75rem; }

    body :is(button, a, summary):focus-visible {
        outline: 3px solid #a47d00;
        outline-offset: 3px;
    }
}
