diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.js
index d7793099ca473a248be6b88870c0c95b21783e3a..f6dd4d80707b1234fa3a3cded293ab1e86a5a6a3 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.js
@@ -42,6 +42,10 @@
     };
   }
 
+  function initPanelOptions(gadget) {
+    gadget.props.panel_argument_list = {};
+  }
+
   function route(my_root_gadget, my_scope, my_method, argument_list) {
     return RSVP.Queue()
       .push(function () {
@@ -67,6 +71,13 @@
       });
   }
 
+  function updatePanel(gadget) {
+    return gadget.getDeclaredGadget("panel")
+      .push(function (panel_gadget) {
+        return panel_gadget.render(gadget.props.panel_argument_list);
+      });
+  }
+
   function increaseLoadingCounter(gadget) {
     return new RSVP.Queue()
       .push(function () {
@@ -148,6 +159,10 @@
     if (error instanceof Error) {
       console.error(error.stack);
     }
+    if (gadget.props === undefined) {
+      // Gadget has not yet been correctly initialized
+      throw error;
+    }
     // XXX Improve error rendering
     gadget.props.content_element.innerHTML = "<br/><br/><br/><pre></pre>";
     gadget.props.content_element.querySelector('pre').textContent =
@@ -235,13 +250,11 @@
           return jio_gadget.createJio(setting.jio_storage_description);
         })
         .push(function () {
-
           return gadget.getDeclaredGadget('panel');
         })
         .push(function (panel_gadget) {
-          return panel_gadget.render();
+          return panel_gadget.render({});
         })
-
         .push(function () {
           return gadget.getDeclaredGadget('router');
         })
@@ -407,6 +420,12 @@
         });
     })
 
+    .allowPublicAcquisition("updatePanel", function (param_list) {
+      var gadget = this;
+      initPanelOptions(gadget);
+      gadget.props.panel_argument_list = param_list[0];
+    })
+
     .allowPublicAcquisition('triggerPanel', function () {
       return route(this, "panel", "toggle");
     })
@@ -487,7 +506,10 @@
               content_container.appendChild(main_gadget.element);
               element.appendChild(content_container);
 
-              return updateHeader(gadget);
+              return RSVP.all([
+                updateHeader(gadget),
+                updatePanel(gadget)
+              ]);
               // XXX Drop notification
               // return header_gadget.notifyLoaded();
             }
@@ -500,7 +522,10 @@
           return page_gadget.render(gadget.state.options);
         })
         .push(function () {
-          return updateHeader(gadget);
+          return RSVP.all([
+            updateHeader(gadget),
+            updatePanel(gadget)
+          ]);
         });
     })
     // Render the page
@@ -512,6 +537,7 @@
       // By default, init the header options to be empty
       // (ERP5 title by default + sidebar)
       initHeaderOptions(gadget);
+      initPanelOptions(gadget);
       return new RSVP.Queue()
         .push(function () {
           return increaseLoadingCounter(gadget);
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.xml
index c0f872060c0ccf185cf1893069c30f85b8c3e658..f1909e632228ceac18a77393edb069fd2ca17450 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_js.xml
@@ -230,7 +230,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>956.5832.50053.43878</string> </value>
+                <value> <string>957.35152.14703.9045</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +248,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1482250162.82</float>
+                        <float>1487941504.18</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
index 7e2ae8ec68283f0942820d28280bf117a9ae48cd..614fc61f36a5b201d55aa21b1d9c026509eb0b4f 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
@@ -488,25 +488,62 @@ div[data-gadget-scope='panel'] img {
   text-align: left;
   height: 100%;
 }
-div[data-gadget-scope='panel'] ul {
+div[data-gadget-scope='panel'] ul:first-child {
   margin-top: 30pt;
 }
 div[data-gadget-scope='panel'] ul li a {
   color: #FFFFFF;
+  display: block;
   padding: 3pt;
   padding-left: 12pt;
-  display: block;
   text-overflow: ellipsis;
   overflow: hidden;
   white-space: nowrap;
 }
+div[data-gadget-scope='panel'] ul li a:hover,
+div[data-gadget-scope='panel'] ul li a:active {
+  background-color: #2b2b2b;
+}
 div[data-gadget-scope='panel'] ul li a::before {
   width: 24pt;
 }
-div[data-gadget-scope='panel'] ul li a:hover,
-div[data-gadget-scope='panel'] ul li a:active {
+div[data-gadget-scope='panel'] dl {
+  background-color: #777777;
+  color: #1F1F1F;
+  transform-origin: 50% 0;
+  transform: scaleY(0);
+  transition: transform 0.2s ease-out;
+}
+div[data-gadget-scope='panel'] dl:not(:empty) {
+  transform: scaleY(1);
+}
+div[data-gadget-scope='panel'] dl dt {
+  padding: 3pt;
+  padding-left: 12pt;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  white-space: nowrap;
+}
+div[data-gadget-scope='panel'] dl dt::before {
+  width: 24pt;
+}
+div[data-gadget-scope='panel'] dl dd a {
+  color: #FFFFFF;
+  display: block;
+  padding: 3pt;
+  padding-left: 12pt;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  white-space: nowrap;
+  padding-left: 36pt;
+}
+div[data-gadget-scope='panel'] dl dd a:hover,
+div[data-gadget-scope='panel'] dl dd a:active {
   background-color: #2b2b2b;
 }
+div[data-gadget-scope='panel'] dl dd a::before {
+  width: 24pt;
+}
 /**********************************************
 * Gadget: editor panel
 **********************************************/
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
index d36b818b0ca59ca3d15065b0b0e134c718127309..840a32a7af3c952514c0db0ae27ac2aa9758370b 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
@@ -242,7 +242,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>956.58713.6703.47906</string> </value>
+                <value> <string>957.39714.21193.35498</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -260,7 +260,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1485423923.88</float>
+                        <float>1488215480.92</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.html b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.html
index f2781a7c71c4d078874f8f04fa4cebdf368eda2c..cc298317d7c73a25f9476cfb32221508cfc48368 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.html
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.html
@@ -35,9 +35,25 @@
           <li><a href="{{preference_href}}" class="ui-btn ui-btn-icon-left ui-icon-gear" data-i18n="Preferences">Preferences</a></li>
           <li class="ui-last-child"><a href="{{logout_href}}" class="ui-btn ui-btn-icon-left ui-icon-power-off" data-i18n="Logout" accesskey="o">Logout</a></li>
         </ul>
+        <dl></dl>
       </div>
     </script>
 
+    <script id="panel-template-body-desktop" type="text/x-handlebars-template">
+        <dt class="ui-content-title ui-body-c ui-btn ui-btn-icon-left ui-icon-eye" data-i18n="Views">Views</dt>
+        {{#each view_list}}
+        <dd data-role="listview" data-theme="c" data-inset="true" class="document-listview">
+          <a data-i18n="{{title}}" class="ui-body-inherit" href="{{href}}">{{title}}</a>
+        </dd>
+        {{/each}}
+        <dt class="ui-content-title ui-body-c  ui-btn ui-btn-icon-left ui-icon-cogs" data-i18n="Decisions">Decisions</dt>
+        {{#each workflow_list}}
+        <dd data-role="listview" data-theme="c" data-inset="true" class="document-listview">
+          <a data-i18n="{{title}}" class="ui-body-inherit" href="{{href}}">{{title}}</a>
+        </dd>
+        {{/each}}
+    </script>
+
     <!-- custom script -->
     <script src="gadget_erp5_panel.js" type="text/javascript"></script>
 
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
index 997e8936f1ac950ef9a86da82078c1fd72438264..411cf5a9e34cba1753c15cdd1e050e3072acde03 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
@@ -234,7 +234,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>957.20614.31452.4437</string> </value>
+                <value> <string>957.39718.21180.26828</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -252,7 +252,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1487069250.39</float>
+                        <float>1488215553.05</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.js
index 28e3b091da19c3e576df7f156bdc4d0e54ba2b00..23a2cf33d258fc16b045aaf4230e4d2b14ad7c3e 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.js
@@ -1,6 +1,6 @@
 /*jslint nomen: true, indent: 2, maxerr: 3 */
-/*global window, rJS, Handlebars, RSVP, Node */
-(function (window, rJS, Handlebars, RSVP, Node) {
+/*global window, document, rJS, Handlebars, RSVP, Node, loopEventListener */
+(function (window, document, rJS, Handlebars, RSVP, Node, loopEventListener) {
   "use strict";
 
   /////////////////////////////////////////////////////////////////
@@ -14,11 +14,15 @@
                          .innerHTML),
     panel_template_body = Handlebars.compile(template_element
                          .getElementById("panel-template-body")
-                         .innerHTML);
+                         .innerHTML),
+    panel_template_body_desktop = Handlebars.compile(template_element
+                                  .getElementById("panel-template-body-desktop")
+                                  .innerHTML);
 
   gadget_klass
     .setState({
-      visible: false
+      visible: false,
+      desktop: false
     })
     //////////////////////////////////////////////
     // acquired method
@@ -40,48 +44,151 @@
       });
     })
 
-    .declareMethod('render', function () {
-      var g = this;
-      return new RSVP.Queue()
-        .push(function () {
-          return RSVP.all([
-            g.getUrlFor({command: 'display', options: {page: "front"}}),
-            g.getUrlFor({command: 'display', options: {page: "history"}}),
-            g.getUrlFor({command: 'display', options: {page: "preference"}}),
-            g.getUrlFor({command: 'display', options: {page: "logout"}}),
-            g.getUrlFor({command: 'display', options: {page: "search"}}),
-            g.getUrlFor({command: 'display', options: {page: "worklist"}})
-          ]);
-        })
-        .push(function (all_result) {
-          // XXX: Customize panel header!
-          return g.translateHtml(
-            panel_template_header() +
-            panel_template_body({
-              "module_href": all_result[0],
-              "history_href": all_result[1],
-              "preference_href": all_result[2],
-              "logout_href": all_result[3],
-              "search_href": all_result[4],
-              "worklist_href": all_result[5]
-            })
-          );
-        })
-        .push(function (my_translated_or_plain_html) {
-          g.element.querySelector("div").innerHTML = my_translated_or_plain_html;
-        });
+    .declareMethod('render', function (options) {
+      var erp5_document = options.erp5_document,
+        workflow_list,
+        view_list;
+      if (erp5_document !== undefined) {
+        workflow_list = erp5_document._links.action_workflow || [];
+        view_list = erp5_document._links.action_object_view || [];
+        if (workflow_list.constructor !== Array) {
+          workflow_list = [workflow_list];
+        }
+        if (view_list.constructor !== Array) {
+          view_list = [view_list];
+        }
+        // Prevent has much as possible to modify the DOM panel
+        // stateChange prefer to compare strings
+        workflow_list = JSON.stringify(workflow_list);
+        view_list = JSON.stringify(view_list);
+      }
+      return this.changeState({
+        workflow_list: workflow_list,
+        view_list: view_list,
+        global: true,
+        editable: options.editable
+      });
     })
 
-    .onStateChange(function () {
-      if (this.state.visible) {
-        if (!this.element.classList.contains('visible')) {
-          this.element.classList.toggle('visible');
+    .onStateChange(function (modification_dict) {
+      var context = this,
+        gadget = this,
+        queue = new RSVP.Queue();
+
+      if (modification_dict.hasOwnProperty("visible")) {
+        if (this.state.visible) {
+          if (!this.element.classList.contains('visible')) {
+            this.element.classList.toggle('visible');
+          }
+        } else {
+          if (this.element.classList.contains('visible')) {
+            this.element.classList.remove('visible');
+          }
         }
-      } else {
-        if (this.element.classList.contains('visible')) {
-          this.element.classList.remove('visible');
+      }
+
+      if (modification_dict.hasOwnProperty("global")) {
+        queue
+          .push(function () {
+            return RSVP.all([
+              context.getUrlFor({command: 'display', options: {page: "front"}}),
+              context.getUrlFor({command: 'display', options: {page: "history"}}),
+              context.getUrlFor({command: 'display', options: {page: "preference"}}),
+              context.getUrlFor({command: 'display', options: {page: "logout"}}),
+              context.getUrlFor({command: 'display', options: {page: "search"}}),
+              context.getUrlFor({command: 'display', options: {page: "worklist"}})
+            ]);
+          })
+          .push(function (result_list) {
+            // XXX: Customize panel header!
+            return context.translateHtml(
+              panel_template_header() +
+                panel_template_body({
+                  "module_href": result_list[0],
+                  "history_href": result_list[1],
+                  "preference_href": result_list[2],
+                  "logout_href": result_list[3],
+                  "search_href": result_list[4],
+                  "worklist_href": result_list[5]
+                })
+            );
+          })
+          .push(function (my_translated_or_plain_html) {
+            context.element.querySelector("div").innerHTML = my_translated_or_plain_html;
+            return context.listenResize();
+          });
+      }
+
+      if ((this.state.global === true) &&
+          (modification_dict.hasOwnProperty("desktop") ||
+          modification_dict.hasOwnProperty("editable") ||
+          modification_dict.hasOwnProperty("workflow_list") ||
+          modification_dict.hasOwnProperty("view_list"))) {
+        if (!(this.state.desktop && (this.state.view_list !== undefined))) {
+          queue
+            .push(function () {
+              gadget.element.querySelector("dl").textContent = '';
+            });
+        } else {
+          queue
+            .push(function () {
+              var i = 0,
+                promise_list = [],
+                workflow_list = JSON.parse(gadget.state.workflow_list),
+                view_list = JSON.parse(gadget.state.view_list);
+
+              for (i = 0; i < workflow_list.length; i += 1) {
+                promise_list.push(
+                  gadget.getUrlFor({
+                    command: 'change',
+                    options: {
+                      view: workflow_list[i].href,
+                      page: undefined
+                    }
+                  })
+                );
+              }
+              for (i = 0; i < view_list.length; i += 1) {
+                promise_list.push(
+                  gadget.getUrlFor({
+                    command: 'change',
+                    options: {
+                      view: view_list[i].href,
+                      page: undefined
+                    }
+                  })
+                );
+              }
+              return RSVP.all(promise_list);
+            })
+            .push(function (result_list) {
+              var i,
+                result_workflow_list = [],
+                result_view_list = [],
+                workflow_list = JSON.parse(gadget.state.workflow_list),
+                view_list = JSON.parse(gadget.state.view_list);
+
+              for (i = 0; i < workflow_list.length; i += 1) {
+                result_workflow_list.push({
+                  title: workflow_list[i].title,
+                  href: result_list[i]
+                });
+              }
+              for (i = 0; i < view_list.length; i += 1) {
+                result_view_list.push({
+                  title: view_list[i].title,
+                  href: result_list[i + workflow_list.length]
+                });
+              }
+              gadget.element.querySelector("dl").innerHTML = panel_template_body_desktop({
+                workflow_list: result_workflow_list,
+                view_list: result_view_list
+              });
+            });
         }
       }
+
+      return queue;
     })
 
     /////////////////////////////////////////////////////////////////
@@ -92,6 +199,30 @@
           (evt.target.tagName === 'BUTTON')) {
         return this.toggle();
       }
-    }, false, false);
+    }, false, false)
+
+    .declareJob('listenResize', function () {
+      // resize should be only trigger after the render method
+      // as displaying the panel rely on external gadget (for translation for example)
+      var result,
+        event,
+        context = this;
+      function extractSizeAndDispatch() {
+        if (window.matchMedia("(min-width: 90em)").matches) {
+          return context.changeState({
+            desktop: true
+          });
+        }
+        return context.changeState({
+          desktop: false
+        });
+      }
+      result = loopEventListener(window, 'resize', false,
+                                 extractSizeAndDispatch);
+      event = document.createEvent("Event");
+      event.initEvent('resize', true, true);
+      window.dispatchEvent(event);
+      return result;
+    });
 
-}(window, rJS, Handlebars, RSVP, Node));
+}(window, document, rJS, Handlebars, RSVP, Node, loopEventListener));
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.xml
index 6aa0fec3b3a09025fc6540f0399371bbab0bba9c..4436dce945979cfcb723e38c5d1f393c814689d4 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.xml
@@ -230,7 +230,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>955.32296.8972.20241</string> </value>
+                <value> <string>957.41111.56434.58897</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +248,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1479992698.26</float>
+                        <float>1488299408.27</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.js
index 7ce9ab0b365513aec5b4a85313b8b6708e717370..43b1005670345e34f33458b5a394bf2553f4e602 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.js
@@ -25,6 +25,7 @@
     .declareAcquiredMethod("jio_getAttachment", "jio_getAttachment")
     .declareAcquiredMethod("redirect", "redirect")
     .declareAcquiredMethod("jio_allDocs", "jio_allDocs")
+    .declareAcquiredMethod("updatePanel", "updatePanel")
 
     /////////////////////////////////////////////////////////////////
     // declared methods
@@ -131,6 +132,17 @@
                 element.appendChild(fragment);
               });
           }
+        })
+        .push(function () {
+          var jio_key = gadget.state.options.jio_key;
+          /*jslint regexp: true*/
+          if (/^[^\/]+_module\/.+$/.test(jio_key)) {
+            /*jslint regexp: false*/
+            return gadget.updatePanel({
+              erp5_document: JSON.parse(gadget.state.erp5_document),
+              editable: gadget.state.options.editable
+            });
+          }
         });
     })
     .allowPublicAcquisition("displayFormulatorValidationError", function (param_list) {
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.xml
index c32b6e85f010005b0e0b32da07bb83c644acd742..0b94fa3a93e8ed91e0c0ae9bdc57a63b21a938e5 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_formpage_js.xml
@@ -230,7 +230,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>954.44527.39200.57275</string> </value>
+                <value> <string>958.2825.24067.48281</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +248,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1476793905.11</float>
+                        <float>1489674820.97</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt b/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
index 949f491aa98180f7aceab32bb345139da1487b0f..04ac4c15d43b24a6c699664939d6ce29f2faa301 100644
--- a/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
+++ b/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
@@ -582,28 +582,66 @@ div[data-gadget-scope='panel'] {
   }
 
 
+  .alignwithicon() {
+    padding: @half-margin-size;
+    padding-left: @double-margin-size;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap;
+
+    &::before {
+      // Use width instead of padding-right
+      // To keep text aligned
+      width: @quadruple-margin-size;
+    }
+  }
+
+  .alignwithouticon() {
+    .alignwithicon();
+    padding-left: @double-margin-size + @quadruple-margin-size;
+  }
+
+  .linkpanel() {
+    color: @white;
+    display: block;
+    &:hover, &:active {
+      background-color: darken(@panelbackgroundcolor, 10%);
+    }
+  }
 
   ul {
-    margin-top: @headerheight;
+    &:first-child {
+      margin-top: @headerheight;
+    }
     li {
       a {
-        color: @white;
-        padding: @half-margin-size;
-        padding-left: @double-margin-size;
-        display: block;
-        text-overflow: ellipsis;
-        overflow: hidden;
-        white-space: nowrap; 
+        .linkpanel();
+        .alignwithicon();
+      }
+    }
+  }
 
-        &::before {
-          // Use width instead of padding-right
-          // To keep text aligned
-          width: @quadruple-margin-size;
-        }
-        &:hover, &:active {
-          background-color: darken(@panelbackgroundcolor, 10%);
+  dl {
+    background-color: @grey;
+    color: @black;
+
+    // Animate when content is added
+    transform-origin: 50% 0;
+    transform: scaleY(0);
+    &:not(:empty) {
+      transform: scaleY(1);
+    }
+    transition: transform @transition-timing;
+
+    dt {
+      .alignwithicon();
+    }
+
+    dd {
+        a {
+          .linkpanel();
+          .alignwithouticon();
         }
-      }
     }
   }