diff --git a/addons/crm/views/utm_campaign_views.xml b/addons/crm/views/utm_campaign_views.xml
index 56d18bc79f9..a134c2b1b0d 100644
--- a/addons/crm/views/utm_campaign_views.xml
+++ b/addons/crm/views/utm_campaign_views.xml
@@ -12,8 +12,7 @@
-
-
+
diff --git a/addons/link_tracker/views/utm_campaign_views.xml b/addons/link_tracker/views/utm_campaign_views.xml
index c1d922a0d4c..21d9b4a3ede 100644
--- a/addons/link_tracker/views/utm_campaign_views.xml
+++ b/addons/link_tracker/views/utm_campaign_views.xml
@@ -24,8 +24,7 @@
-
-
+
diff --git a/addons/project/views/project_views.xml b/addons/project/views/project_views.xml
index 14b2406a8fe..46a5eb46dd2 100644
--- a/addons/project/views/project_views.xml
+++ b/addons/project/views/project_views.xml
@@ -521,11 +521,10 @@
-
+
-
-
+
diff --git a/addons/sale/views/utm_campaign_views.xml b/addons/sale/views/utm_campaign_views.xml
index 1d48cbda82c..7e2132d72f4 100644
--- a/addons/sale/views/utm_campaign_views.xml
+++ b/addons/sale/views/utm_campaign_views.xml
@@ -14,10 +14,7 @@
-
-
-
-
+
diff --git a/addons/utm/static/src/scss/utm_views.scss b/addons/utm/static/src/scss/utm_views.scss
index 34f47b5ac18..9791dea18d1 100644
--- a/addons/utm/static/src/scss/utm_views.scss
+++ b/addons/utm/static/src/scss/utm_views.scss
@@ -4,8 +4,6 @@
--KanbanGroup-padding-bottom: #{$grid-gutter-width};
#o_utm_actions {
- margin: 0 calc(var(--KanbanRecord-padding-h) * -1);
-
> a {
padding: var(--KanbanRecord-gap-inner-v) var(--KanbanRecord-padding-h);
white-space: nowrap;
diff --git a/addons/web/static/src/core/utils/xml.js b/addons/web/static/src/core/utils/xml.js
index 1f07f87f2c6..a57a606c642 100644
--- a/addons/web/static/src/core/utils/xml.js
+++ b/addons/web/static/src/core/utils/xml.js
@@ -1,5 +1,7 @@
/** @odoo-module **/
+import { nbsp } from "@web/core/utils/strings";
+
/**
* XML document to create new elements from. The fact that this is a "text/xml"
* document ensures that tagNames and attribute names are case sensitive.
@@ -47,7 +49,7 @@ export class XMLParser {
* @returns {Element}
*/
parseXML(arch) {
- const cleanedArch = arch.replace(/ /g, "");
+ const cleanedArch = arch.replace(/ /g, nbsp);
const xml = parser.parseFromString(cleanedArch, "text/xml");
if (hasParsingError(xml)) {
throw new Error(