diff --git a/dist/styles/bootstrap-darkster.css b/dist/styles/bootstrap-darkster.css
index d05f1ca3dac4a339f997fd65cbbed4fc8c995d3c..981ff0ec61e221e9ed5a9028fcc67b7d869c77dd 100644
--- a/dist/styles/bootstrap-darkster.css
+++ b/dist/styles/bootstrap-darkster.css
@@ -5927,6 +5927,7 @@ a.close.disabled {
   background-color: #fff;
   margin-left: 1.75rem;
   margin-right: 1.75rem;
+  max-width: 800px;
 }
 .b-modal__header {
   background-color: white;
@@ -11099,7 +11100,7 @@ select.form-control {
   display: none;
 }
 .node-popup-tooltip .popup-container .toolbox-tab-content {
-  padding: 40px 56px;
+  padding: 32px;
 }
 
 .table tr td {
diff --git a/dist/styles/bootstrap-default.css b/dist/styles/bootstrap-default.css
index b473cf5f696c0ceb744cbdfa94551ddf04b107c8..75dc63f89dcc99b81dbbef39761e361828fcd5b5 100644
--- a/dist/styles/bootstrap-default.css
+++ b/dist/styles/bootstrap-default.css
@@ -5739,6 +5739,7 @@ a.close.disabled {
   background-color: #fff;
   margin-left: 1.75rem;
   margin-right: 1.75rem;
+  max-width: 800px;
 }
 .b-modal__header {
   background-color: rgba(0, 0, 0, 0.03);
@@ -10905,7 +10906,7 @@ select.form-control {
   display: none;
 }
 .node-popup-tooltip .popup-container .toolbox-tab-content {
-  padding: 40px 56px;
+  padding: 32px;
 }
 
 .table tr td {
diff --git a/dist/styles/bootstrap-greyson.css b/dist/styles/bootstrap-greyson.css
index 9d702416a34f043aa1f78521ab4aba02051bfcba..04f4c440d8d15d579dba46c3f0a0dad235ce6b70 100644
--- a/dist/styles/bootstrap-greyson.css
+++ b/dist/styles/bootstrap-greyson.css
@@ -5578,6 +5578,7 @@ a.close.disabled {
   background-color: #fff;
   margin-left: 1.75rem;
   margin-right: 1.75rem;
+  max-width: 800px;
 }
 .b-modal__header {
   background-color: rgba(0, 0, 0, 0.03);
@@ -10750,7 +10751,7 @@ select.form-control {
   display: none;
 }
 .node-popup-tooltip .popup-container .toolbox-tab-content {
-  padding: 40px 56px;
+  padding: 32px;
 }
 
 .table tr td {
diff --git a/dist/styles/bootstrap-herbie.css b/dist/styles/bootstrap-herbie.css
index 88e5a9a76e8af9382669a84d69ab093cd8bba19e..fc4cb2cdcf9873c864d873d9d7ec4794ef93614c 100644
--- a/dist/styles/bootstrap-herbie.css
+++ b/dist/styles/bootstrap-herbie.css
@@ -5803,6 +5803,7 @@ a.close.disabled {
   background-color: #fff;
   margin-left: 1.75rem;
   margin-right: 1.75rem;
+  max-width: 800px;
 }
 .b-modal__header {
   background-color: rgba(0, 0, 0, 0.03);
@@ -10975,7 +10976,7 @@ select.form-control {
   display: none;
 }
 .node-popup-tooltip .popup-container .toolbox-tab-content {
-  padding: 40px 56px;
+  padding: 32px;
 }
 
 .table tr td {
diff --git a/dist/styles/bootstrap-monotony.css b/dist/styles/bootstrap-monotony.css
index 62eac1104362eeeb00f118be20435566a0639761..5b8f87af0e65d1c75901458bd3fe4347a9d33dd4 100644
--- a/dist/styles/bootstrap-monotony.css
+++ b/dist/styles/bootstrap-monotony.css
@@ -5876,6 +5876,7 @@ a.close.disabled {
   background-color: #fff;
   margin-left: 1.75rem;
   margin-right: 1.75rem;
+  max-width: 800px;
 }
 .b-modal__header {
   background-color: rgba(0, 0, 0, 0.03);
@@ -11048,7 +11049,7 @@ select.form-control {
   display: none;
 }
 .node-popup-tooltip .popup-container .toolbox-tab-content {
-  padding: 40px 56px;
+  padding: 32px;
 }
 
 .table tr td {
diff --git a/src/Gargantext/Components/Forest/Tree/Node/Action/Documentation.purs b/src/Gargantext/Components/Forest/Tree/Node/Action/Documentation.purs
index 151c947c0cacfab6df9aff6aad2e0d42524002fe..42e84a8ce68028b320c2c9be01205c5332e9a7d3 100644
--- a/src/Gargantext/Components/Forest/Tree/Node/Action/Documentation.purs
+++ b/src/Gargantext/Components/Forest/Tree/Node/Action/Documentation.purs
@@ -1,6 +1,7 @@
 module Gargantext.Components.Forest.Tree.Node.Action.Documentation where
 
 import Data.Maybe (Maybe(..))
+import Gargantext.Components.Bootstrap as B
 import Gargantext.Components.Forest.Tree.Node.Tools as Tools
 import Gargantext.Prelude (map, pure, show, ($), (<>))
 import Gargantext.Types (NodeType)
@@ -27,7 +28,10 @@ actionDocCpt = here.component "actionDoc" cpt
       Tools.panelNoFooter { mError: Nothing }
 
         ([ H.div { }
-           [ H.h5 { className: "text-primary" } [H.text "Documentation about the current node" ]
+           [ H.h5 { className: "text-primary font-weight-normal" } 
+             [ B.icon { name: "question-circle" }
+             , H.span { className: "px-1"} [ H.text "Documentation" ]
+             ]
            , H.div { className: "" } 
              [ H.dl { className: "row" } 
                [ 
diff --git a/src/Gargantext/Components/Forest/Tree/Node/Action/Search.purs b/src/Gargantext/Components/Forest/Tree/Node/Action/Search.purs
index f6aa3c34844e373b91b80f575d696e21fb4910db..ce14cd7c9e29b043e1fecd27867126873f4d2c88 100644
--- a/src/Gargantext/Components/Forest/Tree/Node/Action/Search.purs
+++ b/src/Gargantext/Components/Forest/Tree/Node/Action/Search.purs
@@ -62,19 +62,19 @@ actionSearchWithLangsCpt = here.component "actionSearchWithLangs" cpt
   cpt { dispatch, id, langs, session } _ = do
     { errors } <- Store.use
     search <- T.useBox $ defaultSearch { node_id = id }
-    pure $ R.fragment
+    pure $ H.div { className: "card-body toolbox-tab-content p-5" }
       [ H.p { className: "action-search mx-2" }
-          [ H.text $ "Search and create a private "
-              <> "corpus with the search query as corpus name."
-          ]
+        [ H.text $ "Search and create a private "
+            <> "corpus with the search query as corpus name."
+        ]
       , searchBar
-          { errors
-          , langs
-          , onSearch: searchOn dispatch
-          , search
-          , session
-          }
-          []
+        { errors
+        , langs
+        , onSearch: searchOn dispatch
+        , search
+        , session
+        }
+        []
       ]
     where
     searchOn
diff --git a/src/Gargantext/Components/Forest/Tree/Node/Action/Upload.purs b/src/Gargantext/Components/Forest/Tree/Node/Action/Upload.purs
index fac55ba1624d3de9890a68af66ba5961d7b8ca37..48cc9e32ac65bf5dcafa9502e60ecd47eb249ae0 100644
--- a/src/Gargantext/Components/Forest/Tree/Node/Action/Upload.purs
+++ b/src/Gargantext/Components/Forest/Tree/Node/Action/Upload.purs
@@ -140,106 +140,125 @@ uploadFileViewWithLangs = R2.leaf uploadFileViewWithLangsCpt
 uploadFileViewWithLangsCpt :: R.Component PropsWithLangs
 uploadFileViewWithLangsCpt = here.component "uploadFileViewWithLangs" cpt
   where
-  cpt { dispatch, langs, nodeType, session } _ = do
-    -- mFile    :: R.State (Maybe UploadFile) <- R.useState' Nothing
-    processed' /\ processed   <- R2.useBox' false
-    message' /\ message       <- R2.useBox' ""
-    mFile' /\ mFile           <- R2.useBox' (Nothing :: Maybe UploadFile)
-    fileType' /\ fileType     <- R2.useBox' TSV
-    fileFormat' /\ fileFormat <- R2.useBox' Plain
-    lang                      <- T.useBox EN
-    selection                 <- T.useBox ListSelection.MyListsFirst
-    infoText' /\ infoText     <- R2.useBox'
-      "The following settings were found automatically, based on the extension of the provided file."
-
-    let setFileType'   val = T.write_ val fileType >>= \_ -> T.write_ "" infoText
-    let setFileFormat' val = T.write_ val fileFormat >>= \_ -> T.write_ "" infoText
-    let setLang'       val = T.write_ val lang
-
-    let props = { dispatch
-                , processed
-                , message
-                , fileFormat
-                , fileType
-                , lang
-                , mFile
-                , nodeType
-                , selection
-                }
+    cpt { dispatch, langs, nodeType, session } _ = do
+      -- mFile    :: R.State (Maybe UploadFile) <- R.useState' Nothing
+      processed' /\ processed   <- R2.useBox' false
+      alertType' /\ alertType   <- R2.useBox' "d-none" -- by default, the alert box is not displayed
+      message' /\ message       <- R2.useBox' ""
+      mFile' /\ mFile           <- R2.useBox' (Nothing :: Maybe UploadFile)
+      fileType' /\ fileType     <- R2.useBox' TSV
+      fileFormat' /\ fileFormat <- R2.useBox' Plain
+      lang                      <- T.useBox EN
+      selection                 <- T.useBox ListSelection.MyListsFirst
+      infoText' /\ infoText     <- R2.useBox'
+        "The following settings were found automatically, based on the extension of the provided file. Please check and change if needed."
+
+      let setFileType'   val = T.write_ val fileType >>= \_ -> T.write_ "" infoText
+      let setFileFormat' val = T.write_ val fileFormat >>= \_ -> T.write_ "" infoText
+      let setLang'       val = T.write_ val lang
+      
+      let titleSection = [ H.h5 { className: "text-primary font-weight-normal" }
+                           [ B.icon { name: "upload" }
+                           , H.span { className: "px-1"} [ H.text "Upload and analyze a corpus" ]
+                           ]
+                         , H.p { className: "small p-1 pl-3 pb-2" } 
+                           [ H.text "Allowed file types:", H.br {}
+                           , H.text "- TSV/CSV (" 
+                           , H.a { className: "text-primary", href: "https://write.frame.gargantext.org/s/c02ec18bb82b0333a3fdd93d8fc3b391b502742af51b2f8a8cb4de774fa07508", target: "_blank" } 
+                             [ H.text "documentation TSV" ]
+                           , H.text ")", H.br {}
+                           , H.text "- TSV/CSV from HAL (specific format, sample soon available)", H.br {}
+                           , H.text "- Istex (ZIP from the "
+                           , H.a { className: "text-primary", href: "https://dl.istex.fr", target: "_blank" } 
+                             [ H.text "dl.istex.fr" ]
+                           , H.text " search platform)", H.br {}
+                           , H.text "- WOS: ZIP of TXT files from the Web of science platform ("
+                           , H.a { className: "text-primary", href: "https://write.frame.gargantext.org/s/1da0b1f7eeb4fcd75c32b19e71249231618102e09fed4c695dabd0bb13ada610", target: "_blank" } 
+                             [ H.text "documentation WOS" ]
+                           , H.text ")", H.br {}
+                           , H.text "- JSON or ZIP of JSON files (such as an exported GarganText corpus)"
+                           ]
+                         ]
+      
+      let alertMessage = [ H.div { className: "alert " <> alertType', role: "alert" }
+                           [ H.text message' ]
+                         ]
+
+      let fileName = case mFile' of
+                      Nothing -> "Browse / choose a file (TSV/CSV or JSON or Zip of JSONs...)"
+                      Just file -> file.name
+
+      let props = { dispatch
+                  , processed
+                  , message
+                  , fileFormat
+                  , fileType
+                  , lang
+                  , mFile
+                  , nodeType
+                  , selection
+                  , alertType
+                  }
 
-    let fileUpload =
-        [ R2.row
-          [ H.div { className:"col-12 flex-space-around"}
-            [ H.div { className: "form-group" }
-              [ 
-                H.div { className:"custom-file" }
-                [
-                  H.input { type: "file"
-                          , className: "form-control"
-                          , placeholder: "Choose file"
-                          , on: {change: onChangeContents props}
-                          , id: "customImportFile"
-                          }
-                , H.label { className:"custom-file-label", for:"customImportFile" }
+      let fileUpload =
+          [ R2.row
+            [ H.div { className:"col-12 flex-space-around"}
+              [ H.div { className: "form-group" }
+                [ 
+                  H.div { className:"custom-file" }
                   [
-                    H.text "Choose file or drag and drop here"
+                    H.input { type: "file"
+                            , className: "form-control"
+                            , placeholder: "Choose file"
+                            , on: {change: onChangeContents props}
+                            , id: "customImportFile"
+                            }
+                  , H.label { className:"custom-file-label", for:"customImportFile" }
+                    [
+                      H.text fileName
+                    ]
                   ]
                 ]
+              -- , H.text message'
               ]
-            , H.text message'
             ]
           ]
-        ]
-    let selects = if processed' then
-        [ R2.row
-          [ H.div { className:"col-12 flex-space-around"}
-            [ H.div { className: "form-group" }
-              [ H.input { type: "file"
-                        , className: "form-control"
-                        , placeholder: "Choose file"
-                        , on: {change: onChangeContents props}
-                        }
+      let selects = if processed' then
+          [ R2.row
+            [ H.div {className:"col-12 flex-space-around"}
+              [ H.div { className: "alert alert-warning", role: "alert" }
+                [ H.text infoText' ]
+              , B.formSelect' { list: [ TSV
+                                      , TSV_HAL
+                                      , Istex
+                                      , WOS
+                                      , JSON
+                                        -- , Iramuteq
+                                      ]
+                               , value: fileType'
+                               , callback: setFileType' } []
+              , B.formSelect' { list: [ Plain
+                                      , ZIP ]
+                              , value: fileFormat'
+                              , callback: setFileFormat' } []
               ]
-            , H.text message'
-            ]
-          ]
-        ]
-    let selects = if processed' then
-        [ R2.row
-          [ H.div {className:"col-6 flex-space-around"}
-            [ H.text infoText'
-            , B.formSelect' { list: [ TSV
-                                    , TSV_HAL
-                                    , Istex
-                                    , WOS
-                                    , JSON
-                                      -- , Iramuteq
-                                    ]
-                              , value: fileType'
-                              , callback: setFileType' } []
-            , B.formSelect' { list: [ Plain
-                                    , ZIP ]
-                            , value: fileFormat'
-                            , callback: setFileFormat' } []
             ]
-          ]
-        , R2.row
-          [ H.div { className: "col-6 flex-space-around" }
-            [ H.text "Please choose the language of your documents and the list to use."
-            , Tools.formChoiceSafe { items: langs <> [No_extraction]
-                                      , default: EN
-                                      , callback: setLang'
-                                      , print: show
-                                      } []
-            , ListSelection.selection { selection, session } []
+          , R2.row
+            [ H.div { className: "col-12 flex-space-around" }
+              [ H.text "Please choose the language of your documents and the list to use."
+              , Tools.formChoiceSafe { items: langs <> [No_extraction]
+                                       , default: EN
+                                       , callback: setLang'
+                                       , print: show
+                                       } []
+              , ListSelection.selection { selection, session } []
+              ]
             ]
           ]
-        ]
-      else []
-    let bodies = fileUpload <> selects
-    let footer = H.div {} [ uploadButton props []
-                          ]
-    pure $ Tools.panel { mError: Nothing } (bodies <> [ footer ])
+        else []
+      let bodies = titleSection <> fileUpload <> alertMessage <> selects
+      let footer = H.div {} [ uploadButton props [] ]
+      pure $ Tools.panel { mError: Nothing } (bodies <> [ footer ])
 
 -- | Properties of a file upload
 type UploadFileProps =
@@ -252,6 +271,7 @@ type UploadFileProps =
   , mFile      :: T.Box (Maybe UploadFile)
   , nodeType   :: GT.NodeType
   , selection  :: T.Box ListSelection.Selection
+  , alertType  :: T.Box String
   )
 
 -- | Callback called upon selecting a file in the upload file selector.
@@ -265,6 +285,7 @@ onChangeContents props@{ dispatch
                        , mFile
                        , nodeType
                        , selection
+                       , alertType
                        } e = do
   let mF = R2.inputFileNameWithBlob 0 e
   E.preventDefault e
@@ -337,6 +358,7 @@ checkFileUpdateParams { dispatch
                       , mFile
                       , nodeType
                       , selection
+                      , alertType
                       } = do
   processed'  <- T.read processed
   fileType'   <- T.read fileType
@@ -357,11 +379,13 @@ checkFileUpdateParams { dispatch
             T.write_ ZIP fileFormat
             -- update processed and message
             T.write_ true processed
-            T.write_ "" message
+            T.write_ "The file seems to be allowed. Let's continue." message
+            T.write_ "alert-success" alertType
           Left err -> liftEffect $ do
             here.log2 "[uploadFileCheck] error" err
             T.write_ false processed
             T.write_ err message
+            T.write_ "alert-danger" alertType
     Just false -> do
       case fileTypeFromFileName name of
         Just ft -> do
@@ -371,37 +395,41 @@ checkFileUpdateParams { dispatch
           T.write_ Plain fileFormat
           -- update processed and message
           T.write_ true processed
-          T.write_ "" message
+          T.write_ "File uploaded and successfully analysed." message
+          T.write_ "alert-success" alertType
         Nothing -> do
           here.log2 "[uploadFileCheck] unkown filetype" name
           T.write_ false processed
           T.write_ "This filetype is not supported." message
+          T.write_ "alert-danger" alertType
     Nothing -> do
       here.log2 "[uploadFileCheck] extension invalid" name
       T.write_ false processed
       T.write_ "The file extension is invalid." message
+      T.write_ "alert-danger" alertType
 
 uploadButtonCpt :: R.Component UploadFileProps
 uploadButtonCpt = here.component "uploadButton" cpt
   where
-  cpt 
-    { dispatch
-    , processed
-    , message
-    , fileFormat
-    , fileType
-    , lang
-    , mFile
-    , nodeType
-    , selection
-    } _ = do
-    processed'  <- T.useLive T.unequal processed
-    fileType'   <- T.useLive T.unequal fileType
-    fileFormat' <- T.useLive T.unequal fileFormat
-    mFile'      <- T.useLive T.unequal mFile
-    lang'       <- T.useLive T.unequal lang
-    selection'  <- T.useLive T.unequal selection
-    onPending /\ onPendingBox <- R2.useBox' false
+    cpt 
+      { dispatch
+      , processed
+      , message
+      , fileFormat
+      , fileType
+      , lang
+      , mFile
+      , nodeType
+      , selection
+      , alertType
+      } _ = do
+      processed'  <- T.useLive T.unequal processed
+      fileType'   <- T.useLive T.unequal fileType
+      fileFormat' <- T.useLive T.unequal fileFormat
+      mFile'      <- T.useLive T.unequal mFile
+      lang'       <- T.useLive T.unequal lang
+      selection'  <- T.useLive T.unequal selection
+      onPending /\ onPendingBox <- R2.useBox' false
 
     let disabled = isNothing mFile' || onPending || not processed'
 
@@ -480,6 +508,8 @@ uploadListViewCpt = here.component "uploadListView" cpt
       <- R2.useBox' EN
     selection
       <- T.useBox ListSelection.MyListsFirst
+    alertType
+      <- T.useBox ""
     let props = { dispatch
                 , processed
                 , message
@@ -488,6 +518,7 @@ uploadListViewCpt = here.component "uploadListView" cpt
                 , lang: langBox
                 , mFile
                 , selection
+                , alertType
                 , nodeType: GT.Annuaire
                 }
 
@@ -663,10 +694,34 @@ fileTypeViewCpt = here.component "fileTypeView" cpt
       R2.fromMaybe droppedFile' \df ->
         H.div
           tooltipProps
-          [ H.div { className: "card" }
-              [ panelHeading
-              , panelBody df
-              , panelFooter df
+          [
+            H.div { className: "card"}
+            [ panelHeading
+            , panelBody df
+            , panelFooter df
+            ]
+          ]
+
+      where
+        tooltipProps = { className: ""
+                       , id       : "file-type-tooltip"
+                       , title    : "Choose file type"
+                       , data     : { toggle: "tooltip"
+                                    , placement: "right"
+                                    }
+                       }
+        panelHeading =
+          H.div {className: "card-header"}
+          [ H.div {className: "row"}
+            [ H.div {className: "col-md-10"}
+              [ H.h5 { className: "font-weight-normal" } [H.text "Choose file type"] ]
+            , H.div {className: "col-md-2"}
+              [ H.a {className: "btn glyphitem fa fa-remove-circle"
+                    , on: {click: \_ -> do
+                              T.write_ Nothing droppedFile
+                              T.write_ false isDragOver
+                          }
+                    , title: "Close"} []
               ]
           ]
 
@@ -701,8 +756,8 @@ fileTypeViewCpt = here.component "fileTypeView" cpt
         ]
 
     panelBody (DroppedFile { blob }) =
-      H.div {className: "card-body toolbox-tab-content"}
-      [ R2.select { className: "col-md-12 form-control"
+      H.div {className: "card-body toolbox-tab-content p-5"}
+      [ R2.select {className: "col-md-12 form-control"
                   , on: {change: onChange}
                   }
                   (map renderOption [TSV, TSV_HAL, WOS, Iramuteq])
diff --git a/src/Gargantext/Components/Forest/Tree/Node/Box.purs b/src/Gargantext/Components/Forest/Tree/Node/Box.purs
index 7951503081d2c44d7bd3939635d608b62a7e5d5d..eecfceaada654b819722b58368abb7b4f89e42ad 100644
--- a/src/Gargantext/Components/Forest/Tree/Node/Box.purs
+++ b/src/Gargantext/Components/Forest/Tree/Node/Box.purs
@@ -140,7 +140,6 @@ nodePopupViewCpt = here.component "nodePopupView" cpt
       H.div
       { className: intercalate " "
           [ "popup-container__body"
-          , "card-body"
           , "toolbox-tabs-labels"
           ]
       } $
@@ -172,10 +171,11 @@ nodePopupViewCpt = here.component "nodePopupView" cpt
           else []
 
   mPanelAction :: Record NodePopupS -> Record NodePopupProps -> R.Element
-  mPanelAction
+
+  mPanelAction 
     { action: Just action }
     { boxes, dispatch, id, name, nodeType, session } =
-    panelAction
+    panelAction 
       { action
       , boxes
       , dispatch
@@ -184,39 +184,67 @@ nodePopupViewCpt = here.component "nodePopupView" cpt
       , nodeType
       , session
       }
-  mPanelAction { action: Nothing } _ =
-    H.div
-      { className: "popup-container__footer card-footer" }
-      [ H.h6
-          {}
-          [ B.icon
-              { name: "hand-pointer-o"
-              , className: "mr-1"
-              }
-          , H.text "Select available actions of this node"
-          ]
-      , H.ul
-          { className: "panel-actions" }
-          [ H.div
-              { className: "panel-actions__ok-to-use" }
-              [ B.icon
-                  { name: "circle" }
-              , B.span_ "usable"
-              ]
-          , H.div
-              { className: "panel-actions__almost-useable" }
-              [ B.icon
-                  { name: "circle" }
-              , B.span_ "almost useable"
-              ]
-          , H.div
-              { className: "panel-actions__development-in-progress" }
-              [ B.icon
-                  { name: "circle" }
-              , B.span_ "development in progress"
-              ]
-          ]
+  mPanelAction { action: Nothing } 
+               props@{ boxes, dispatch, id, name, nodeType, session } =
+    R.fragment 
+    [ H.div { className: "" }
+      [
+        panelAction { action: Documentation nodeType
+                , boxes
+                , dispatch
+                , id
+                , name
+                , nodeType
+                , session
+                }
       ]
+    -- , H.div
+    --   { className: "popup-container__footer card-footer" }
+    --   [
+    --     H.h6
+    --     {}
+    --     [
+    --       B.icon
+    --       { name: "hand-pointer-o"
+    --       , className: "mr-1"
+    --       }
+    --     ,
+    --       H.text "Select available actions of this node"
+    --     ]
+    --   ,
+    --     H.ul
+    --     { className: "panel-actions" }
+    --     [
+    --       H.div
+    --       { className: "panel-actions__ok-to-use" }
+    --       [
+    --         B.icon
+    --         { name: "circle" }
+    --       ,
+    --         B.span_ "usable"
+    --       ]
+    --     ,
+    --       H.div
+    --       { className: "panel-actions__almost-useable" }
+    --       [
+    --         B.icon
+    --         { name: "circle" }
+    --       ,
+    --         B.span_ "almost useable"
+    --       ]
+    --     ,
+    --       H.div
+    --       { className: "panel-actions__development-in-progress" }
+    --       [
+    --         B.icon
+    --         { name: "circle" }
+    --       ,
+    --         B.span_ "development in progress"
+    --       ]
+    --     ]
+    --   ]
+    ]
+
 
 type ActionState =
   ( action :: Maybe NodeAction
@@ -338,6 +366,7 @@ panelAction = R2.leaf panelActionCpt
 panelActionCpt :: R.Component PanelActionProps
 panelActionCpt = here.component "panelAction" cpt
   where
+<<<<<<< HEAD
   cpt { action: Add xs, dispatch, id, name, nodeType } _ =
     pure $ addNodeView { dispatch, id, name, nodeType, nodeTypes: xs } []
   cpt { action: AddingContact, dispatch, id } _ =
@@ -375,3 +404,43 @@ panelActionCpt = here.component "panelAction" cpt
   cpt { action: WriteNodesDocuments, dispatch, id, session } _ =
     pure $ actionWriteNodesDocuments { dispatch, id, session } []
   cpt _ _ = pure $ H.div {} []
+=======
+    cpt { action: Add xs, dispatch, id, name, nodeType} _ =
+      pure $ addNodeView {dispatch, id, name, nodeType, nodeTypes: xs} []
+    cpt { action : AddingContact, dispatch, id } _ =
+      pure $ Contact.actionAddContact { dispatch, id } []
+    cpt { action: Config, nodeType } _ =
+      -- pure $ fragmentPT $ "Config " <> show nodeType
+      pure $ H.div { className: "card-body toolbox-tab-content p-5" } [ H.text $ "Config " <> show nodeType ]
+    cpt { action: Delete, nodeType, dispatch} _ =
+      pure $ actionDelete { dispatch, nodeType } []
+    cpt { action: Documentation nodeType} _ =
+      pure $ actionDoc { nodeType } []
+    cpt { action: Download, id, nodeType, session} _ =
+      pure $ actionDownload { id, nodeType, session } []
+    cpt { action: Link {subTreeParams}, dispatch, id, nodeType, session } _ =
+      pure $ linkNode { dispatch, id, nodeType, session, subTreeParams } []
+    cpt { action: ManageTeam, nodeType, id, session} _ =
+      pure $ actionManageTeam { id, nodeType, session } []
+    cpt { action: Merge {subTreeParams}, dispatch, id, nodeType, session } _ =
+      pure $ mergeNode { dispatch, id, nodeType, session, subTreeParams } []
+    cpt { action: Move {subTreeParams}, dispatch, id, nodeType, session } _ =
+      pure $ moveNode { dispatch, id, nodeType, session, subTreeParams } []
+    cpt { action : Publish {subTreeParams}, dispatch, id, nodeType, session } _ =
+      pure $ Share.publishNode { dispatch, id, nodeType, session, subTreeParams } []
+    cpt { action: Reconstruct , dispatch, nodeType } _ =
+      pure $ update { dispatch, nodeType } []
+    cpt { action: Refresh , dispatch, nodeType } _ =
+      pure $ update { dispatch, nodeType } []
+    cpt { action: ReloadWithSettings , dispatch, nodeType } _ =
+      pure $ update { dispatch, nodeType } []
+    cpt { action: SearchBox, dispatch, id, session } _ =
+      pure $ actionSearch { dispatch, id: Just id, session } []
+    cpt { action : Share, id, session } _ = pure $ Share.shareNode { id, session } []
+    cpt { action: ShareURL, id, nodeType, session } _ = pure $ Share.shareURL { nodeType, id, session } []
+    cpt { action: Upload, dispatch, id, nodeType, session} _ =
+      pure $ actionUpload { dispatch, id, nodeType, session } []
+    cpt { action: WriteNodesDocuments, dispatch, id, session } _ =
+      pure $ actionWriteNodesDocuments { dispatch, id, session } []
+    cpt _ _ = pure $ H.div {} []
+>>>>>>> 645780497 (default tab first icons and node upload form alert messages)
diff --git a/src/Gargantext/Components/Forest/Tree/Node/Tools.purs b/src/Gargantext/Components/Forest/Tree/Node/Tools.purs
index d1ae57383f81c831f0f1fe20b720a91fc4ca2365..a09cf84ecd84ca3478a72275afa87d45d06e2ee3 100644
--- a/src/Gargantext/Components/Forest/Tree/Node/Tools.purs
+++ b/src/Gargantext/Components/Forest/Tree/Node/Tools.purs
@@ -52,7 +52,7 @@ panelCpt = here.component "panel" cpt
               ]
 
     pure $ R.fragment
-      [ H.div { className: "card-body toolbox-tab-content" }
+      [ H.div { className: "card-body toolbox-tab-content p-5" }
           [ H.div { className: "card-text" }
               [ R2.row
                   -- TODO add type for text or form here [ H.form {className: "form-horizontal"} bodies ]
diff --git a/src/sass/_legacy/_styles.sass b/src/sass/_legacy/_styles.sass
index 526a2c76b93242750de80fcde4f4cfbc00178eba..309b160b1e16610767f0dd75052adb37e58c83ff 100644
--- a/src/sass/_legacy/_styles.sass
+++ b/src/sass/_legacy/_styles.sass
@@ -413,6 +413,6 @@ select.form-control
         display: none
     
     .toolbox-tab-content
-      padding: space-x(5) space-x(7)
+      padding: space-x(4)
 
 
diff --git a/src/sass/components/_grouped.scss b/src/sass/components/_grouped.scss
index bbfaac446bc4bba6fb009c99eaea31e8979bc16b..26d43876c00bc386a4405ddf5cabc71da739e68e 100644
--- a/src/sass/components/_grouped.scss
+++ b/src/sass/components/_grouped.scss
@@ -46,6 +46,7 @@
     background-color: $modal-content-bg;
     margin-left: $wrapper-margin;
     margin-right: $wrapper-margin;
+    max-width: 800px;
   }
 
   &__header {