-    <% if has_archived || @pagy.count > 0 %>
+    <% if has_archived || @pagy.count > 0 || @template_folders.present? %>
       
         <%= render 'dashboard/toggle_view', selected: 'templates' %>
       
diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb
index 6d08ecaf..a37a59c0 100644
--- a/app/views/users/index.html.erb
+++ b/app/views/users/index.html.erb
@@ -60,7 +60,7 @@
                 
               
               
-                <%= user.last_sign_in_at ? l(user.last_sign_in_at.in_time_zone(current_account.timezone), format: :short, locale: current_account.locale) : '-' %>
+                <%= user.current_sign_in_at ? l(user.current_sign_in_at.in_time_zone(current_account.timezone), format: :short, locale: current_account.locale) : '-' %> | <% if params[:status].blank? && can?(:update, user) && user.archived_at.blank? %>
diff --git a/config/locales/i18n.yml b/config/locales/i18n.yml
index e710474a..484fe006 100644
--- a/config/locales/i18n.yml
+++ b/config/locales/i18n.yml
@@ -42,6 +42,7 @@ en: &en
   hello_name: Hello %{name}
   you_are_invited_to_product_name: You are invited to %{product_name}
   you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'You have been invited to %{account_name} %{product_name}. Please sign up using the link below:'
+  sent_using_product_name_in_testing_mode_html: 'Sent using %{product_name} in testing mode'
   sent_using_product_name_free_document_signing_html: 'Sent using %{product_name} free document signing.'
   sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Sign documents with trusted certificate provided by DocuSeal. Your documents and data are never shared with DocuSeal. PDF checksum is provided to generate a trusted signature.
   you_have_been_invited_to_submit_the_name_form: 'You have been invited to submit the "%{name}" form.'
@@ -690,6 +691,9 @@ en: &en
   extremely_satisfied: Extremely Satisfied
   your_pro_plan_payment_is_overdue: Your Pro plan payment is overdue.
   click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: Click here to update your payment details and clear the invoice to ensure uninterrupted service.
+  overdue_payment: Overdue Payment
+  your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Your Pro Plan has been suspended due to unpaid invoices. You can update your payment details to settle the invoice and continue using DocuSeal or cancel your subscription.
+  manage_subscription: Manage Subscription
   submission_event_names:
     send_email_to_html: 'Email sent to %{submitter_name}'
     send_reminder_email_to_html: 'Reminder email sent to %{submitter_name}'
@@ -752,6 +756,7 @@ es: &es
   hello_name: Hola %{name}
   you_are_invited_to_product_name: Estás invitado a %{product_name}
   you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Has sido invitado a %{account_name} %{product_name}. Por favor, regístrate usando el enlace a continuación:'
+  sent_using_product_name_in_testing_mode_html: 'Enviado usando %{product_name} en Modo de Prueba'
   sent_using_product_name_free_document_signing_html: 'Enviado usando la firma de documentos gratuita de %{product_name}.'
   sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Firme documentos con un certificado de confianza proporcionado por DocuSeal. Sus documentos y datos nunca se comparten con DocuSeal. Se proporciona un checksum de PDF para generar una firma de confianza.
   hi_there: Hola
@@ -1400,6 +1405,9 @@ es: &es
   extremely_satisfied: Extremadamente satisfecho
   your_pro_plan_payment_is_overdue: El pago de tu plan Pro está atrasado.
   click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Haz clic aquí para actualizar tus datos de pago y liquidar la factura para garantizar un servicio ininterrumpido.'
+  overdue_payment: Pago Atrasado
+  your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Tu plan Pro ha sido suspendido debido a facturas impagas. Puedes actualizar tus datos de pago para liquidar la factura y seguir usando DocuSeal o cancelar tu suscripción.
+  manage_subscription: Gestionar Suscripción
   submission_event_names:
     send_email_to_html: 'Correo electrónico enviado a %{submitter_name}'
     send_reminder_email_to_html: 'Correo de recordatorio enviado a %{submitter_name}'
@@ -1461,6 +1469,7 @@ it: &it
   hello_name: Ciao %{name}
   you_are_invited_to_product_name: Sei stato invitato a %{product_name}
   you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Sei stato invitato a %{account_name} %{product_name}. Registrati utilizzando il link qui sotto:'
+  sent_using_product_name_in_testing_mode_html: 'Inviato utilizzando %{product_name} in Modalità di Test'
   sent_using_product_name_free_document_signing_html: 'Inviato utilizzando la firma di documenti gratuita di %{product_name}.'
   sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: "Firma documenti con un certificato di fiducia fornito da DocuSeal. I tuoi documenti e i tuoi dati non vengono mai condivisi con DocuSeal. Il checksum PDF è fornito per generare una firma di fiducia."
   hi_there: Ciao
@@ -2109,6 +2118,9 @@ it: &it
   extremely_satisfied: Estremamente soddisfatto
   your_pro_plan_payment_is_overdue: Il pagamento del tuo piano Pro è in ritardo.
   click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Fai clic qui per aggiornare i tuoi dati di pagamento e saldare la fattura per garantire un servizio ininterrotto.'
+  overdue_payment: Pagamento Scaduto
+  your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Il tuo piano Pro è stato sospeso a causa di fatture non pagate. Puoi aggiornare i tuoi dati di pagamento per saldare la fattura e continuare a utilizzare DocuSeal o annullare l'abbonamento.
+  manage_subscription: Gestisci Abbonamento
   submission_event_names:
     send_email_to_html: 'E-mail inviato a %{submitter_name}'
     send_reminder_email_to_html: 'E-mail di promemoria inviato a %{submitter_name}'
@@ -2171,6 +2183,7 @@ fr: &fr
   hello_name: Bonjour %{name}
   you_are_invited_to_product_name: Vous êtes invité à %{product_name}
   you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Vous avez été invité à %{account_name} %{product_name}. Veuillez vous inscrire en utilisant le lien ci-dessous:'
+  sent_using_product_name_in_testing_mode_html: 'Envoyé en utilisant %{product_name} en Mode Test'
   sent_using_product_name_free_document_signing_html: 'Envoyé en utilisant la signature de documents gratuite de %{product_name}.'
   sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Signez des documents avec un certificat de confiance fourni par DocuSeal. Vos documents et données ne sont jamais partagés avec DocuSeal. Un checksum PDF est fourni pour générer une signature de confiance.
   hi_there: Bonjour
@@ -2820,6 +2833,9 @@ fr: &fr
   extremely_satisfied: Extrêmement satisfait
   your_pro_plan_payment_is_overdue: Le paiement de votre plan Pro est en retard.
   click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Cliquez ici pour mettre à jour vos informations de paiement et régler la facture afin de garantir un service ininterrompu.'
+  overdue_payment: Paiement En Retard
+  your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Votre plan Pro a été suspendu en raison de factures impayées. Vous pouvez mettre à jour vos informations de paiement pour régler la facture et continuer à utiliser DocuSeal ou annuler votre abonnement.
+  manage_subscription: Gérer l'Abonnement
   submission_event_names:
     send_email_to_html: 'E-mail envoyé à %{submitter_name}'
     send_reminder_email_to_html: 'E-mail de rappel envoyé à %{submitter_name}'
@@ -2882,6 +2898,7 @@ pt: &pt
   hello_name: Olá %{name}
   you_are_invited_to_product_name: Você está convidado para %{product_name}
   you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Você foi convidado para %{account_name} %{product_name}. Inscreva-se usando o link abaixo:'
+  sent_using_product_name_in_testing_mode_html: 'Enviado usando %{product_name} no Modo de Teste'
   sent_using_product_name_free_document_signing_html: 'Enviado usando a assinatura gratuita de documentos de %{product_name}.'
   sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Assine documentos com certificado confiável fornecido pela DocuSeal. Seus documentos e dados nunca são compartilhados com a DocuSeal. O checksum do PDF é fornecido para gerar uma assinatura confiável.
   hi_there: Olá
@@ -3530,6 +3547,9 @@ pt: &pt
   extremely_satisfied: Extremamente satisfeito
   your_pro_plan_payment_is_overdue: O pagamento do seu plano Pro está atrasado.
   click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Clique aqui para atualizar seus dados de pagamento e quitar a fatura para garantir um serviço ininterrupto.'
+  overdue_payment: Pagamento Atrasado
+  your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Seu plano Pro foi suspenso devido a faturas não pagas. Você pode atualizar seus dados de pagamento para quitar a fatura e continuar usando o DocuSeal ou cancelar sua assinatura.
+  manage_subscription: Gerenciar Assinatura
   submission_event_names:
     send_email_to_html: 'E-mail enviado para %{submitter_name}'
     send_reminder_email_to_html: 'E-mail de lembrete enviado para %{submitter_name}'
@@ -3592,6 +3612,7 @@ de: &de
   hello_name: Hallo %{name}
   you_are_invited_to_product_name: Sie sind eingeladen zu %{product_name}
   you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Sie wurden zu %{account_name} %{product_name} eingeladen. Bitte registrieren Sie sich über den folgenden Link:'
+  sent_using_product_name_in_testing_mode_html: 'Gesendet über %{product_name} im Testmodus'
   sent_using_product_name_free_document_signing_html: 'Gesendet mit der kostenlosen Dokumentensignierung von %{product_name}.'
   sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Unterzeichnen Sie Dokumente mit einem vertrauenswürdigen Zertifikat von DocuSeal. Ihre Dokumente und Daten werden niemals mit DocuSeal geteilt. Eine PDF-Prüfziffer wird bereitgestellt, um eine vertrauenswürdige Signatur zu generieren.
   hi_there: Hallo
@@ -4240,6 +4261,9 @@ de: &de
   extremely_satisfied: Extrem zufrieden
   your_pro_plan_payment_is_overdue: Ihre Zahlung für den Pro-Plan ist überfällig.
   click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Klicken Sie hier, um Ihre Zahlungsdaten zu aktualisieren und die Rechnung zu begleichen, um einen unterbrechungsfreien Service sicherzustellen.'
+  overdue_payment: Überfällige Zahlung
+  your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Ihr Pro-Plan wurde aufgrund unbezahlter Rechnungen ausgesetzt. Sie können Ihre Zahlungsdaten aktualisieren, um die Rechnung zu begleichen und DocuSeal weiterhin zu nutzen, oder Ihr Abonnement kündigen.
+  manage_subscription: Abonnement Verwalten
   submission_event_names:
     send_email_to_html: 'E-Mail gesendet an %{submitter_name}'
     send_reminder_email_to_html: 'Erinnerungs-E-Mail gesendet an %{submitter_name}'
diff --git a/config/routes.rb b/config/routes.rb
index b2f84549..0223f234 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -12,6 +12,7 @@ Rails.application.routes.draw do
   root 'dashboard#index'
 
   get 'up' => 'rails/health#show'
+  get 'manifest' => 'pwa#manifest'
 
   devise_for :users,
              path: '/', only: %i[sessions passwords omniauth_callbacks],
diff --git a/lib/abilities/template_conditions.rb b/lib/abilities/template_conditions.rb
index cadbc030..4a7ebf04 100644
--- a/lib/abilities/template_conditions.rb
+++ b/lib/abilities/template_conditions.rb
@@ -25,7 +25,7 @@ module Abilities
       account_ids = [user.account_id, TemplateSharing::ALL_ID]
 
       template.template_sharings.any? do |e|
-        e.account_id.in?(account_ids) && (ability.nil? || e.ability == ability)
+        e.account_id.in?(account_ids) && (ability.nil? || e.ability == 'manage' || e.ability == ability)
       end
     end
   end
diff --git a/lib/accounts.rb b/lib/accounts.rb
index 67427cf6..f3dd639b 100644
--- a/lib/accounts.rb
+++ b/lib/accounts.rb
@@ -153,6 +153,10 @@ module Accounts
     EncryptedConfig.exists?(key: EncryptedConfig::EMAIL_SMTP_KEY)
   end
 
+  def can_send_invitation_emails?(_account)
+    true
+  end
+
   def normalize_timezone(timezone)
     tzinfo = TZInfo::Timezone.get(ActiveSupport::TimeZone::MAPPING[timezone] || timezone)
 
diff --git a/lib/docuseal.rb b/lib/docuseal.rb
index 4e08d724..f74b99d1 100644
--- a/lib/docuseal.rb
+++ b/lib/docuseal.rb
@@ -69,6 +69,10 @@ module Docuseal
     @default_pkcs ||= GenerateCertificate.load_pkcs(Docuseal::CERTS)
   end
 
+  def enable_pwa?
+    true
+  end
+
   def trusted_certs
     @trusted_certs ||=
       ENV['TRUSTED_CERTS'].to_s.gsub('\\n', "\n").split("\n\n").map do |base64|
diff --git a/lib/submissions.rb b/lib/submissions.rb
index fc1f6810..8a89aaa6 100644
--- a/lib/submissions.rb
+++ b/lib/submissions.rb
@@ -142,31 +142,57 @@ module Submissions
 
         values ||= submission.submitters.reduce({}) { |acc, sub| acc.merge(sub.values) }
 
-        next unless check_document_conditions(item, values, fields_uuid_index, include_submitter_uuid:)
+        next unless check_item_conditions(item, values, fields_uuid_index, include_submitter_uuid:)
       end
 
       item
     end
   end
 
-  def check_document_conditions(item, values, fields_index, include_submitter_uuid: nil)
+  def filtered_conditions_fields(submitter, only_submitter_fields: true)
+    fields = submitter.submission.template_fields || submitter.submission.template.fields
+
+    fields_uuid_index = nil
+    values = nil
+
+    fields.filter_map do |field|
+      next if field['submitter_uuid'] != submitter.uuid && only_submitter_fields
+
+      if field['conditions'].present?
+        fields_uuid_index ||= fields.index_by { |f| f['uuid'] }
+        values ||= submitter.submission.submitters.reduce({}) { |acc, sub| acc.merge(sub.values) }
+
+        submitter_conditions = []
+
+        next unless check_item_conditions(field, values, fields_uuid_index,
+                                          include_submitter_uuid: submitter.uuid,
+                                          submitter_conditions_acc: submitter_conditions)
+
+        field = field.merge('conditions' => submitter_conditions) if submitter_conditions != field['conditions']
+      end
+
+      field
+    end
+  end
+
+  def check_item_conditions(item, values, fields_index, include_submitter_uuid: nil, submitter_conditions_acc: nil)
     return true if item['conditions'].blank?
 
-    item['conditions'].all? do |condition|
+    item['conditions'].each_with_object([]) do |condition, acc|
       result =
         if fields_index[condition['field_uuid']]['submitter_uuid'] == include_submitter_uuid
+          submitter_conditions_acc << condition if submitter_conditions_acc
+
           true
         else
           Submitters::SubmitValues.check_field_condition(condition, values, fields_index)
         end
 
-      item['conditions'].each_with_object([]) do |c, acc|
-        if c['operation'] == 'or'
-          acc.push(acc.pop || result)
-        else
-          acc.push(result)
-        end
-      end.exclude?(false)
-    end
+      if condition['operation'] == 'or'
+        acc.push(acc.pop || result)
+      else
+        acc.push(result)
+      end
+    end.exclude?(false)
   end
 end
diff --git a/lib/submitters/submit_values.rb b/lib/submitters/submit_values.rb
index a68ce73f..b23e7005 100644
--- a/lib/submitters/submit_values.rb
+++ b/lib/submitters/submit_values.rb
@@ -186,10 +186,21 @@ module Submitters
       attachments_index =
         Submissions.filtered_conditions_schema(submitter.submission).index_by { |i| i['attachment_uuid'] }
 
+      submitter_values = nil
+      is_other_submitter_conditions = submitter.submission.template_submitters.size > 1
+
       submitter.submission.template_fields.each do |field|
         next if field['submitter_uuid'] != submitter.uuid
 
-        submitter.values.delete(field['uuid']) unless check_field_conditions(submitter, field, fields_uuid_index)
+        submitter_values ||= submitter.values
+
+        is_other_submitter_conditions &&= field_conditions_other_submitter?(submitter, field, fields_uuid_index)
+
+        if is_other_submitter_conditions
+          submitter_values = submitter.submission.submitters.reduce({}) { |acc, sub| acc.merge(sub.values) }
+        end
+
+        submitter.values.delete(field['uuid']) unless check_field_conditions(submitter_values, field, fields_uuid_index)
 
         if field['areas'].present? && field['areas'].none? { |area| attachments_index[area['attachment_uuid']] }
           submitter.values.delete(field['uuid'])
@@ -199,10 +210,14 @@ module Submitters
       submitter.values
     end
 
-    def check_field_conditions(submitter, field, fields_uuid_index)
-      return true if field['conditions'].blank?
+    def field_conditions_other_submitter?(submitter, field, fields_uuid_index)
+      field['conditions'].to_a.any? do |c|
+        fields_uuid_index.dig(c['field_uuid'], 'submitter_uuid') != submitter.uuid
+      end
+    end
 
-      submitter_values = submitter.values
+    def check_field_conditions(submitter_values, field, fields_uuid_index)
+      return true if field['conditions'].blank?
 
       field['conditions'].each_with_object([]) do |c, acc|
         if c['operation'] == 'or'
diff --git a/public/apple-icon-180x180.png b/public/apple-icon-180x180.png
index bc23cb2c..deb9f313 100644
Binary files a/public/apple-icon-180x180.png and b/public/apple-icon-180x180.png differ
diff --git a/public/service-worker.js b/public/service-worker.js
new file mode 100644
index 00000000..3334a5ae
--- /dev/null
+++ b/public/service-worker.js
@@ -0,0 +1,11 @@
+self.addEventListener('install', () => {
+  console.log('DocuSeal App installed')
+})
+
+self.addEventListener('activate', () => {
+  console.log('DocuSeal App activated')
+})
+
+self.addEventListener('fetch', (event) => {
+  event.respondWith(fetch(event.request))
+}) |