diff --git a/docs/howto/getting-started.md b/docs/howto/getting-started.md
index c31bce72..87bcf8bd 100644
--- a/docs/howto/getting-started.md
+++ b/docs/howto/getting-started.md
@@ -36,7 +36,7 @@ Before you can use SFTPGo you need to create an admin account, so open [http://1
 
 ![Setup](./img/setup.png)
 
-After creating the admin account you will be automatically logged in.
+After creating the admin account you will be automatically logged in and redirected to the page to set up two-factor authentication. Setting up two-factor authentication is optional.
 
 ![Users list](./img/initial-screen.png)
 
@@ -57,7 +57,7 @@ Let's create our first local user:
 - from the `Users` page click the `+` icon to open the `Add user page`
 - the only required fields are the `Username` and a `Password` or a `Public key`
 - if you are on Windows or you installed SFTPGo manually and no `users_base_dir` is defined in your configuration file you also have to set a `Home Dir`. It must be an absolute path, for example `/srv/sftpgo/data/username` on Linux or `C:\sftpgo\data\username` on Windows. SFTPGo will try to automatically create the home directory, if missing, when the user logs in. Each user can only access files and folders inside its home directory.
-- click `Submit`
+- click `Save`
 
 ![Add user](./img/add-user.png)
 
diff --git a/docs/howto/img/add-folder.png b/docs/howto/img/add-folder.png
index c7699376..2aef4f3b 100644
Binary files a/docs/howto/img/add-folder.png and b/docs/howto/img/add-folder.png differ
diff --git a/docs/howto/img/add-group.png b/docs/howto/img/add-group.png
index 1c153882..508f4eda 100644
Binary files a/docs/howto/img/add-group.png and b/docs/howto/img/add-group.png differ
diff --git a/docs/howto/img/add-user-simplified.png b/docs/howto/img/add-user-simplified.png
index 72ad74b3..c49409a8 100644
Binary files a/docs/howto/img/add-user-simplified.png and b/docs/howto/img/add-user-simplified.png differ
diff --git a/docs/howto/img/add-user.png b/docs/howto/img/add-user.png
index 6cc09b0a..aebb75af 100644
Binary files a/docs/howto/img/add-user.png and b/docs/howto/img/add-user.png differ
diff --git a/docs/howto/img/admin-2FA-login.png b/docs/howto/img/admin-2FA-login.png
index d02c4221..3f150f10 100644
Binary files a/docs/howto/img/admin-2FA-login.png and b/docs/howto/img/admin-2FA-login.png differ
diff --git a/docs/howto/img/admin-2FA.png b/docs/howto/img/admin-2FA.png
index af6ad3b1..4b5ef167 100644
Binary files a/docs/howto/img/admin-2FA.png and b/docs/howto/img/admin-2FA.png differ
diff --git a/docs/howto/img/admin-save-2FA.png b/docs/howto/img/admin-save-2FA.png
index 02da9588..7b5cf231 100644
Binary files a/docs/howto/img/admin-save-2FA.png and b/docs/howto/img/admin-save-2FA.png differ
diff --git a/docs/howto/img/az-user-1.png b/docs/howto/img/az-user-1.png
index af3a821f..61b47e37 100644
Binary files a/docs/howto/img/az-user-1.png and b/docs/howto/img/az-user-1.png differ
diff --git a/docs/howto/img/az-user-2.png b/docs/howto/img/az-user-2.png
index a1481f70..29e85f08 100644
Binary files a/docs/howto/img/az-user-2.png and b/docs/howto/img/az-user-2.png differ
diff --git a/docs/howto/img/backup-action.png b/docs/howto/img/backup-action.png
index df667f37..623c8c86 100644
Binary files a/docs/howto/img/backup-action.png and b/docs/howto/img/backup-action.png differ
diff --git a/docs/howto/img/backup-notification-action.png b/docs/howto/img/backup-notification-action.png
index 9e852c6b..9889667a 100644
Binary files a/docs/howto/img/backup-notification-action.png and b/docs/howto/img/backup-notification-action.png differ
diff --git a/docs/howto/img/create-dirs-action.png b/docs/howto/img/create-dirs-action.png
index 4c1d06db..9cb243e4 100644
Binary files a/docs/howto/img/create-dirs-action.png and b/docs/howto/img/create-dirs-action.png differ
diff --git a/docs/howto/img/create-dirs-failure-notification.png b/docs/howto/img/create-dirs-failure-notification.png
index 9b85dc89..12cf20e0 100644
Binary files a/docs/howto/img/create-dirs-failure-notification.png and b/docs/howto/img/create-dirs-failure-notification.png differ
diff --git a/docs/howto/img/create-dirs-rule-actions.png b/docs/howto/img/create-dirs-rule-actions.png
index 7857c606..91f4add5 100644
Binary files a/docs/howto/img/create-dirs-rule-actions.png and b/docs/howto/img/create-dirs-rule-actions.png differ
diff --git a/docs/howto/img/create-dirs-rule.png b/docs/howto/img/create-dirs-rule.png
index 369cea55..76b13258 100644
Binary files a/docs/howto/img/create-dirs-rule.png and b/docs/howto/img/create-dirs-rule.png differ
diff --git a/docs/howto/img/daily-backup-actions.png b/docs/howto/img/daily-backup-actions.png
index d5dd941e..e62aef77 100644
Binary files a/docs/howto/img/daily-backup-actions.png and b/docs/howto/img/daily-backup-actions.png differ
diff --git a/docs/howto/img/daily-backup-schedule.png b/docs/howto/img/daily-backup-schedule.png
index 9b06f447..d5dd63da 100644
Binary files a/docs/howto/img/daily-backup-schedule.png and b/docs/howto/img/daily-backup-schedule.png differ
diff --git a/docs/howto/img/folders.png b/docs/howto/img/folders.png
index 4fca68e5..b2906ebc 100644
Binary files a/docs/howto/img/folders.png and b/docs/howto/img/folders.png differ
diff --git a/docs/howto/img/gcs-user.png b/docs/howto/img/gcs-user.png
index 8401f9cc..0d295668 100644
Binary files a/docs/howto/img/gcs-user.png and b/docs/howto/img/gcs-user.png differ
diff --git a/docs/howto/img/initial-screen.png b/docs/howto/img/initial-screen.png
index 240a1360..51cf64b3 100644
Binary files a/docs/howto/img/initial-screen.png and b/docs/howto/img/initial-screen.png differ
diff --git a/docs/howto/img/local-encrypted.png b/docs/howto/img/local-encrypted.png
index 13d4e0b5..4d25e9c2 100644
Binary files a/docs/howto/img/local-encrypted.png and b/docs/howto/img/local-encrypted.png differ
diff --git a/docs/howto/img/primary-group-settings.png b/docs/howto/img/primary-group-settings.png
index c0f71258..e1d31011 100644
Binary files a/docs/howto/img/primary-group-settings.png and b/docs/howto/img/primary-group-settings.png differ
diff --git a/docs/howto/img/read-only-share.png b/docs/howto/img/read-only-share.png
index 63435585..dabb35e8 100644
Binary files a/docs/howto/img/read-only-share.png and b/docs/howto/img/read-only-share.png differ
diff --git a/docs/howto/img/recycle-folder.png b/docs/howto/img/recycle-folder.png
index 5c572c77..ec2f2eb9 100644
Binary files a/docs/howto/img/recycle-folder.png and b/docs/howto/img/recycle-folder.png differ
diff --git a/docs/howto/img/recycle-group.png b/docs/howto/img/recycle-group.png
index a7453729..f10081c2 100644
Binary files a/docs/howto/img/recycle-group.png and b/docs/howto/img/recycle-group.png differ
diff --git a/docs/howto/img/recycle-move-action.png b/docs/howto/img/recycle-move-action.png
index 6b236846..c69c270b 100644
Binary files a/docs/howto/img/recycle-move-action.png and b/docs/howto/img/recycle-move-action.png differ
diff --git a/docs/howto/img/recycle-rule-path.png b/docs/howto/img/recycle-rule-path.png
index 7d4dd507..c96d7bea 100644
Binary files a/docs/howto/img/recycle-rule-path.png and b/docs/howto/img/recycle-rule-path.png differ
diff --git a/docs/howto/img/recycle-rule.png b/docs/howto/img/recycle-rule.png
index 2960e908..523ee9af 100644
Binary files a/docs/howto/img/recycle-rule.png and b/docs/howto/img/recycle-rule.png differ
diff --git a/docs/howto/img/s3-key-prefix.png b/docs/howto/img/s3-key-prefix.png
index ec49f21b..a771936e 100644
Binary files a/docs/howto/img/s3-key-prefix.png and b/docs/howto/img/s3-key-prefix.png differ
diff --git a/docs/howto/img/s3-private-folder.png b/docs/howto/img/s3-private-folder.png
index d2acf12a..c653258e 100644
Binary files a/docs/howto/img/s3-private-folder.png and b/docs/howto/img/s3-private-folder.png differ
diff --git a/docs/howto/img/s3-user-1.png b/docs/howto/img/s3-user-1.png
index cb1d8731..737e4820 100644
Binary files a/docs/howto/img/s3-user-1.png and b/docs/howto/img/s3-user-1.png differ
diff --git a/docs/howto/img/s3-user-2.png b/docs/howto/img/s3-user-2.png
index c94197cb..631e0ca1 100644
Binary files a/docs/howto/img/s3-user-2.png and b/docs/howto/img/s3-user-2.png differ
diff --git a/docs/howto/img/setup.png b/docs/howto/img/setup.png
index 99f71b9b..ea72ccd6 100644
Binary files a/docs/howto/img/setup.png and b/docs/howto/img/setup.png differ
diff --git a/docs/howto/img/sftp-user.png b/docs/howto/img/sftp-user.png
index 882f6789..f8d5bedc 100644
Binary files a/docs/howto/img/sftp-user.png and b/docs/howto/img/sftp-user.png differ
diff --git a/docs/howto/img/simplified-admin.png b/docs/howto/img/simplified-admin.png
index cb6130c2..ace0861b 100644
Binary files a/docs/howto/img/simplified-admin.png and b/docs/howto/img/simplified-admin.png differ
diff --git a/docs/howto/img/status.png b/docs/howto/img/status.png
index e05cd4a7..80490d67 100644
Binary files a/docs/howto/img/status.png and b/docs/howto/img/status.png differ
diff --git a/docs/howto/img/upload-notification.png b/docs/howto/img/upload-notification.png
index a7738f81..cc6d9c69 100644
Binary files a/docs/howto/img/upload-notification.png and b/docs/howto/img/upload-notification.png differ
diff --git a/docs/howto/img/upload-rule.png b/docs/howto/img/upload-rule.png
index 85939b03..b9de2ace 100644
Binary files a/docs/howto/img/upload-rule.png and b/docs/howto/img/upload-rule.png differ
diff --git a/docs/howto/img/user-2FA-disabled.png b/docs/howto/img/user-2FA-disabled.png
index ec67f714..3af12538 100644
Binary files a/docs/howto/img/user-2FA-disabled.png and b/docs/howto/img/user-2FA-disabled.png differ
diff --git a/docs/howto/img/user-2FA-login.png b/docs/howto/img/user-2FA-login.png
index c2bb6236..921e150b 100644
Binary files a/docs/howto/img/user-2FA-login.png and b/docs/howto/img/user-2FA-login.png differ
diff --git a/docs/howto/img/user-save-2FA.png b/docs/howto/img/user-save-2FA.png
index 1f53be0e..b3074dcc 100644
Binary files a/docs/howto/img/user-save-2FA.png and b/docs/howto/img/user-save-2FA.png differ
diff --git a/docs/howto/img/virtual-folders.png b/docs/howto/img/virtual-folders.png
index c6060687..6a5c35a5 100644
Binary files a/docs/howto/img/virtual-folders.png and b/docs/howto/img/virtual-folders.png differ
diff --git a/docs/howto/img/virtual-permissions.png b/docs/howto/img/virtual-permissions.png
index 3bcb0d37..7d71711a 100644
Binary files a/docs/howto/img/virtual-permissions.png and b/docs/howto/img/virtual-permissions.png differ
diff --git a/docs/howto/img/web-client-files.png b/docs/howto/img/web-client-files.png
index 138ddcbd..9db75ca0 100644
Binary files a/docs/howto/img/web-client-files.png and b/docs/howto/img/web-client-files.png differ
diff --git a/docs/howto/img/web-client-two-factor-auth.png b/docs/howto/img/web-client-two-factor-auth.png
index cf33d928..a5dc6f11 100644
Binary files a/docs/howto/img/web-client-two-factor-auth.png and b/docs/howto/img/web-client-two-factor-auth.png differ
diff --git a/docs/howto/two-factor-authentication.md b/docs/howto/two-factor-authentication.md
index 7f128868..9417045b 100644
--- a/docs/howto/two-factor-authentication.md
+++ b/docs/howto/two-factor-authentication.md
@@ -41,10 +41,12 @@ Each admin can view/change his/her two-factor authentication by selecting the `T
 
 ![Admin 2FA](./img/admin-2FA.png)
 
-Then select a configuration and click "Generate new secret". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Verify and save".
+Then select a configuration and click "Generate new secret key". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Save".
 
 ![Enable 2FA](./img/admin-save-2FA.png)
 
+Then save the configuration.
+
 SFTPGo automatically generates some recovery codes. They are a set of one time use codes that can be used in place of the TOTP to login to the web UI. You can use them if you lose access to your phone to login to your account and disable or regenerate TOTP configuration.
 
 2FA is now enabled, so the next time you login with this admin you have to provide a valid authentication code after your password.
@@ -82,10 +84,12 @@ HTTP protocol means Web UI and REST APIs. Web UI will ask for the passcode using
 
 FTP has no standard way to support two factor authentication, if you enable the FTP protocol, you have to add the TOTP passcode after the password. For example if your password is "password" and your one time passcode is "123456" you have to use "password123456" as password.
 
-To enable 2FA select the wanted protocols, a configuration and click "Generate new secret". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Verify and save".
+To enable 2FA select the wanted protocols, a configuration and click "Generate new secret key". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Save".
 
 ![Enable 2FA](./img/user-save-2FA.png)
 
+Then save the configuration.
+
 SFTPGo automatically generates some recovery codes. They are a set of one time use codes that can be used in place of the TOTP to login to the web UI. You can use them if you lose access to your phone to login to your account and disable or regenerate TOTP configuration.
 
 2FA is now enabled, so the next time you login with this user you have to provide a valid authentication code after your password.
diff --git a/static/locales/en/translation.json b/static/locales/en/translation.json
index e0dba7b9..57891c9a 100644
--- a/static/locales/en/translation.json
+++ b/static/locales/en/translation.json
@@ -167,7 +167,7 @@
         "api_key_auth": "API key authentication",
         "api_key_auth_help": "Allow to impersonate yourself, in REST API, using an API key",
         "pub_keys": "Public keys",
-        "pub_key_placeholder": "Paste your public key here",
+        "pub_key_placeholder": "Paste a public key here",
         "verify": "Verify",
         "problems": "Having problems?",
         "allowed_ip_mask": "Allowed IP/Mask",
@@ -522,7 +522,7 @@
         "expires_in": "Expires in",
         "expires_in_help": "Account expiration as number of days from the creation. 0 means no expiration",
         "tls_certs": "TLS certificates",
-        "tls_cert_help": "Paste your PEM encoded TLS certificate here",
+        "tls_cert_help": "Paste a PEM encoded TLS certificate here",
         "tls_cert_invalid": "Invalid TLS certificate",
         "template_title": "Create one or more new users from this template",
         "template_username_placeholder": "replaced with the specified username",
@@ -533,7 +533,8 @@
     },
     "group": {
         "view_manage": "View and manage groups",
-        "err_delete_referenced": "Cannot delete a group with associated users, remove associations first"
+        "err_delete_referenced": "Cannot delete a group with associated users, remove associations first",
+        "help": "The %username% placeholder will be replaced with the username of the associated users"
     },
     "virtual_folders": {
         "view_manage": "View and manage virtual folders",
diff --git a/static/locales/it/translation.json b/static/locales/it/translation.json
index 4ae125e7..26673f6f 100644
--- a/static/locales/it/translation.json
+++ b/static/locales/it/translation.json
@@ -167,7 +167,7 @@
         "api_key_auth": "Autenticazione mediante chiave API",
         "api_key_auth_help": "Permetti di impersonarti nelle API REST utilizzando una chiave API",
         "pub_keys": "Chiavi pubbliche",
-        "pub_key_placeholder": "Incolla qui la tua chiave pubblica",
+        "pub_key_placeholder": "Incolla qui una chiave pubblica",
         "verify": "Verifica",
         "problems": "Hai problemi?",
         "allowed_ip_mask": "IP/Reti permesse",
@@ -522,7 +522,7 @@
         "expires_in": "Scadenza",
         "expires_in_help": "Scadenza dell'account espressa in numero di giorni dalla creazione. 0 significa nessuna scadenza",
         "tls_certs": "Certificati TLS",
-        "tls_cert_help": "Incolla qui il tuo certificato TLS codificato PEM",
+        "tls_cert_help": "Incolla qui un tuo certificato TLS codificato PEM",
         "tls_cert_invalid": "Certificato TLS non valido",
         "template_title": "Crea uno o più nuovi utenti da questo modello",
         "template_username_placeholder": "sostituito con il nome utente specificato",
@@ -533,7 +533,8 @@
     },
     "group": {
         "view_manage": "Visualizza e gestisci gruppi",
-        "err_delete_referenced": "Impossibile eliminare un gruppo con utenti associati, rimuovere prima le associazioni"
+        "err_delete_referenced": "Impossibile eliminare un gruppo con utenti associati, rimuovere prima le associazioni",
+        "help": "Il segnaposto %username% verrà sostituito con il nome utente degli utenti associati"
     },
     "virtual_folders": {
         "view_manage": "Visualizza e gestisci cartelle virtuali",
diff --git a/templates/common/base.html b/templates/common/base.html
index ff0cafcd..e2c1a6fc 100644
--- a/templates/common/base.html
+++ b/templates/common/base.html
@@ -732,6 +732,16 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
 {{- end}}
 
 {{- define "infomsg"}}
+<div class="notice d-flex bg-light-primary rounded border-primary border border-dashed p-4 mb-10">
+    <div class="d-flex flex-stack flex-grow-1">
+        <div class="fs-5 fw-semibold text-break text-wrap text-gray-800">
+            <span data-i18n="{{.}}"></span>
+        </div>
+    </div>
+</div>
+{{- end}}
+
+{{- define "infomsg-no-mb"}}
 <div class="notice d-flex bg-light-primary rounded border-primary border border-dashed p-4">
     <div class="d-flex flex-stack flex-grow-1">
         <div class="fs-5 fw-semibold text-break text-wrap text-gray-800">
diff --git a/templates/common/changepassword.html b/templates/common/changepassword.html
index 5a94385a..76adbda0 100644
--- a/templates/common/changepassword.html
+++ b/templates/common/changepassword.html
@@ -21,11 +21,10 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
         <h3 data-i18n="title.change_password" class="card-title section-title">Change password</h3>
     </div>
     <div class="card-body">
-        {{template "infomsg" "change_pwd.info"}}
-
+        {{- template "infomsg" "change_pwd.info"}}
         {{- template "errmsg" .Error}}
         <form id="change_pwd_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
-            <div class="form-group row mt-10">
+            <div class="form-group row">
                 <label data-i18n="change_pwd.current" class="col-md-3 col-form-label required">Current password</label>
                 <div class="col-md-9">
                     <div class="position-relative" data-password-control="container">
diff --git a/templates/webadmin/admin.html b/templates/webadmin/admin.html
index 40faf278..cbdc83f5 100644
--- a/templates/webadmin/admin.html
+++ b/templates/webadmin/admin.html
@@ -69,8 +69,8 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                     <h3 data-i18n="general.role" class="card-title section-title-inner">Role</h3>
                 </div>
                 <div class="card-body">
-                    {{template "infomsg" "admin.role_help"}}
-                    <div class="form-group row mt-10">
+                    {{- template "infomsg" "admin.role_help"}}
+                    <div class="form-group row">
                         <label for="idRole" data-i18n="general.role" class="col-md-3 col-form-label">Role</label>
                         <div class="col-md-9">
                             <select id="idRole" name="role" data-i18n="[data-placeholder]general.role_placeholder" class="form-select" data-control="i18n-select2" data-placeholder="Select a role" data-allow-clear="true">
@@ -92,7 +92,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="groups">
-                        {{template "infomsg" "admin.users_groups_help"}}
+                        {{- template "infomsg-no-mb" "admin.users_groups_help"}}
                         <div class="form-group">
                             <div data-repeater-list="groups">
                                 {{range $idx, $val := .Admin.Groups}}
@@ -181,9 +181,9 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                     <h3 data-i18n="admin.user_page_pref" class="card-title section-title-inner">User page preferences</h3>
                 </div>
                 <div class="card-body">
-                    {{template "infomsg" "admin.user_page_pref_help"}}
+                    {{- template "infomsg" "admin.user_page_pref_help"}}
 
-                    <div class="form-group row mt-10">
+                    <div class="form-group row">
                         <label for="idUserPageHiddenSections" data-i18n="admin.hide_sections" class="col-md-3 col-form-label">Hide sections</label>
                         <div class="col-md-9">
                             <select id="idUserPageHiddenSections" name="user_page_hidden_sections" class="form-select" data-control="i18n-select2" data-hide-search="true" data-close-on-select="false" multiple>
diff --git a/templates/webadmin/configs.html b/templates/webadmin/configs.html
index c97ad940..89698374 100644
--- a/templates/webadmin/configs.html
+++ b/templates/webadmin/configs.html
@@ -31,10 +31,10 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </h2>
                 <div id="accordion_sftp_body" class="accordion-collapse collapse {{if eq .ConfigSection 1}}show{{end}}" aria-labelledby="accordion_header_sftp" data-bs-parent="#accordion_configs">
                     <div class="accordion-body">
-                        {{template "infomsg" "sftp.help"}}
+                        {{- template "infomsg" "sftp.help"}}
 
                         <form id="configs_sftp_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
-                            <div class="form-group row mt-10">
+                            <div class="form-group row">
                                 <label for="idHostKeyAlgos" data-i18n="sftp.host_key_algos" class="col-md-3 col-form-label">
                                     Host Key Algos
                                 </label>
@@ -126,11 +126,11 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </h2>
                 <div id="accordion_acme_body" class="accordion-collapse collapse {{if eq .ConfigSection 2}}show{{end}}" aria-labelledby="accordion_header_acme" data-bs-parent="#accordion_configs">
                     <div class="accordion-body">
-                        {{template "infomsg" "acme.help"}}
+                        {{- template "infomsg" "acme.help"}}
 
                         <form id="configs_acme_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
 
-                            <div class="form-group row mt-10">
+                            <div class="form-group row">
                                 <label for="idACMEDomain" data-i18n="general.domain" class="col-md-3 col-form-label">Domain</label>
                                 <div class="col-md-9">
                                     <input id="idACMEDomain" type="text" class="form-control" name="acme_domain" value="{{.Configs.ACME.Domain}}" aria-describedby="idACMEDomainHelp" />
@@ -195,11 +195,11 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </h2>
                 <div id="accordion_smtp_body" class="accordion-collapse collapse {{if eq .ConfigSection 3}}show{{end}}" aria-labelledby="accordion_header_smtp" data-bs-parent="#accordion_configs">
                     <div class="accordion-body">
-                        {{template "infomsg" "smtp.help"}}
+                        {{- template "infomsg" "smtp.help"}}
 
                         <form id="configs_smtp_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
 
-                            <div class="form-group row mt-10">
+                            <div class="form-group row">
                                 <label for="idSMTPHost" data-i18n="smtp.host" class="col-md-3 col-form-label">Server name</label>
                                 <div class="col-md-5">
                                     <input id="idSMTPHost" type="text" class="form-control" name="smtp_host" value="{{.Configs.SMTP.Host}}" maxlength="512" spellcheck="false" aria-describedby="idSMTPHostHelp" />
diff --git a/templates/webadmin/eventaction.html b/templates/webadmin/eventaction.html
index 01297753..1e6ca149 100644
--- a/templates/webadmin/eventaction.html
+++ b/templates/webadmin/eventaction.html
@@ -295,7 +295,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="multipart_body">
-                        {{template "infomsg" "actions.multipart_body_help"}}
+                        {{- template "infomsg-no-mb" "actions.multipart_body_help"}}
                         <div class="form-group">
                             <div data-repeater-list="multipart_body">
                                 {{- range $idx, $val := .Action.Options.HTTPConfig.Parts}}
@@ -411,7 +411,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="env_vars">
-                        {{template "infomsg" "actions.command_env_vars_help"}}
+                        {{- template "infomsg-no-mb" "actions.command_env_vars_help"}}
                         <div class="form-group">
                             <div data-repeater-list="env_vars">
                                 {{- range $idx, $val := .Action.Options.CmdConfig.EnvVars}}
@@ -536,7 +536,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="data_retention">
-                        {{template "infomsg" "actions.data_retention_help"}}
+                        {{- template "infomsg-no-mb" "actions.data_retention_help"}}
                         <div class="form-group">
                             <div data-repeater-list="data_retention">
                                 {{- range $idx, $val := .Action.Options.RetentionConfig.Folders}}
@@ -632,7 +632,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="fs_rename">
-                        {{template "infomsg" "actions.paths_src_dst_help"}}
+                        {{- template "infomsg-no-mb" "actions.paths_src_dst_help"}}
                         <div class="form-group">
                             <div data-repeater-list="fs_rename">
                                 {{- range $idx, $val := .Action.Options.FsConfig.Renames}}
@@ -730,7 +730,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="fs_copy">
-                        {{template "infomsg" "actions.paths_src_dst_help"}}
+                        {{- template "infomsg-no-mb" "actions.paths_src_dst_help"}}
                         <div class="form-group">
                             <div data-repeater-list="fs_copy">
                                 {{- range $idx, $val := .Action.Options.FsConfig.Copy}}
diff --git a/templates/webadmin/eventrule.html b/templates/webadmin/eventrule.html
index abaad99a..4a2b1356 100644
--- a/templates/webadmin/eventrule.html
+++ b/templates/webadmin/eventrule.html
@@ -99,7 +99,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="schedules">
-                        {{template "infomsg" "rules.scheduler_help"}}
+                        {{- template "infomsg-no-mb" "rules.scheduler_help"}}
                         <div class="form-group">
                             <div data-repeater-list="schedules">
                                 {{- range $idx, $val := .Rule.Conditions.Schedules}}
@@ -219,7 +219,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="name_filters">
-                        {{template "infomsg" "rules.name_filters_help"}}
+                        {{- template "infomsg-no-mb" "rules.name_filters_help"}}
                         <div class="form-group">
                             <div data-repeater-list="name_filters">
                                 {{- range $idx, $val := .Rule.Conditions.Options.Names}}
@@ -296,7 +296,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="group_name_filters">
-                        {{template "infomsg" "rules.group_name_filters_help"}}
+                        {{- template "infomsg-no-mb" "rules.group_name_filters_help"}}
                         <div class="form-group">
                             <div data-repeater-list="group_name_filters">
                                 {{- range $idx, $val := .Rule.Conditions.Options.GroupNames}}
@@ -373,7 +373,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="role_name_filters">
-                        {{template "infomsg" "rules.role_name_filters_help"}}
+                        {{- template "infomsg-no-mb" "rules.role_name_filters_help"}}
                         <div class="form-group">
                             <div data-repeater-list="role_name_filters">
                                 {{- range $idx, $val := .Rule.Conditions.Options.RoleNames}}
@@ -450,7 +450,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="path_filters">
-                        {{template "infomsg" "rules.path_filters_help"}}
+                        {{- template "infomsg-no-mb" "rules.path_filters_help"}}
                         <div class="form-group">
                             <div data-repeater-list="path_filters">
                                 {{- range $idx, $val := .Rule.Conditions.Options.FsPaths}}
@@ -528,8 +528,8 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                     </h3>
                 </div>
                 <div class="card-body">
-                    {{template "infomsg" "rules.file_size_limits_help"}}
-                    <div class="form-group row mt-10">
+                    {{- template "infomsg" "rules.file_size_limits_help"}}
+                    <div class="form-group row">
                         <label for="idFsMinSize" data-i18n="rules.min_size" class="col-md-3 col-form-label">Min size</label>
                         <div class="col-md-3">
                             <input id="idFsMinSize" type="text" class="form-control" name="fs_min_size" value="{{HumanizeBytes .Rule.Conditions.Options.MinFileSize}}" />
@@ -549,7 +549,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="actions">
-                        {{template "infomsg" "rules.actions_help"}}
+                        {{- template "infomsg-no-mb" "rules.actions_help"}}
                         <div class="form-group">
                             <div data-repeater-list="actions">
                                 {{- range $idx, $val := .Rule.Actions}}
diff --git a/templates/webadmin/fsconfig.html b/templates/webadmin/fsconfig.html
index 931d07b6..4ea5412c 100644
--- a/templates/webadmin/fsconfig.html
+++ b/templates/webadmin/fsconfig.html
@@ -517,7 +517,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
     </div>
     <div class="card-body">
         <div id="directory_patterns">
-            {{template "infomsg" "filters.directory_patterns_help"}}
+            {{- template "infomsg-no-mb" "filters.directory_patterns_help"}}
             <div class="form-group">
                 <div data-repeater-list="directory_patterns">
                     {{- range $idx, $pattern := .GetFlatFilePatterns -}}
diff --git a/templates/webadmin/group.html b/templates/webadmin/group.html
index 6d2cdfc6..fae8d421 100644
--- a/templates/webadmin/group.html
+++ b/templates/webadmin/group.html
@@ -21,6 +21,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
         <h3 data-i18n="{{.Title}}" class="card-title section-title"></h3>
     </div>
     <div class="card-body">
+        {{- template "infomsg" "group.help"}}
         {{- template "errmsg" .Error}}
         <form id="group_form" enctype="multipart/form-data" action="{{.CurrentURL}}" method="POST" autocomplete="off">
 
@@ -47,7 +48,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="virtual_folders">
-                        {{template "infomsg" "user.virtual_folders_help"}}
+                        {{- template "infomsg-no-mb" "user.virtual_folders_help"}}
                         <div class="form-group">
                             <div data-repeater-list="virtual_folders">
                                 {{- range $idx, $val := .Group.VirtualFolders}}
@@ -156,7 +157,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                                 </div>
                                 <div class="card-body">
                                     <div id="directory_permissions">
-                                        {{template "infomsg" "filters.directory_permissions_help"}}
+                                        {{- template "infomsg-no-mb" "filters.directory_permissions_help"}}
                                         <div class="form-group">
                                             <div data-repeater-list="directory_permissions">
                                                 {{- range $idx, $dirPerms := .Group.GetPermissions -}}
diff --git a/templates/webadmin/user.html b/templates/webadmin/user.html
index 2f8f0bad..f0fd9a3d 100644
--- a/templates/webadmin/user.html
+++ b/templates/webadmin/user.html
@@ -216,8 +216,8 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                     <h3 data-i18n="title.groups" class="card-title section-title-inner">Groups</h3>
                 </div>
                 <div class="card-body">
-                    {{template "infomsg" "user.groups_help"}}
-                    <div class="form-group row mt-10">
+                    {{- template "infomsg" "user.groups_help"}}
+                    <div class="form-group row">
                         <label for="idPrimaryGroup" data-i18n="user.primary_group" class="col-md-3 col-form-label">Primary group</label>
                         <div class="col-md-9">
                             <select id="idPrimaryGroup" name="primary_group" data-i18n="[data-placeholder]general.group_placeholder" class="form-select" data-control="i18n-select2" data-placeholder="Select a group" data-allow-clear="true">
@@ -264,7 +264,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                 </div>
                 <div class="card-body">
                     <div id="virtual_folders">
-                        {{template "infomsg" "user.virtual_folders_help"}}
+                        {{- template "infomsg-no-mb" "user.virtual_folders_help"}}
                         <div class="form-group">
                             <div data-repeater-list="virtual_folders">
                                 {{- range $idx, $val := .User.VirtualFolders}}
@@ -443,7 +443,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
                                 </div>
                                 <div class="card-body">
                                     <div id="directory_permissions">
-                                        {{template "infomsg" "filters.directory_permissions_help"}}
+                                        {{- template "infomsg-no-mb" "filters.directory_permissions_help"}}
                                         <div class="form-group">
                                             <div data-repeater-list="directory_permissions">
                                                 {{- range $idx, $dirPerms := .User.GetSubDirPermissions -}}