diff --git a/composer.lock b/composer.lock
index 4a84a9e4679879d23d76a99bfca5dfa3cfd21226..b4efd7f18faf227d5daea7d3149147f05509e217 100644
--- a/composer.lock
+++ b/composer.lock
@@ -105,11 +105,11 @@
         },
         {
             "name": "cesnet/simplesamlphp-module-perun",
-            "version": "v9.4.0",
+            "version": "v9.4.2",
             "source": {
                 "type": "git",
                 "url": "https://gitlab.ics.muni.cz/perun-proxy-aai/simplesamlphp/simplesamlphp-module-perun.git",
-                "reference": "deb1563adc41736a01a56560b42f5304b44d2501"
+                "reference": "10c25680093b0a53963ef8592fc14ff3f679c2dc"
             },
             "require": {
                 "cesnet/simplesamlphp-module-authswitcher": "^10.6 || ^11.0",
@@ -154,7 +154,7 @@
                 "perun",
                 "simplesamlphp"
             ],
-            "time": "2023-06-01T09:42:39+00:00"
+            "time": "2023-07-18T15:59:54+00:00"
         },
         {
             "name": "cesnet/simplesamlphp-module-proxystatistics",
@@ -758,16 +758,16 @@
         },
         {
             "name": "phpseclib/phpseclib",
-            "version": "3.0.20",
+            "version": "3.0.21",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpseclib/phpseclib.git",
-                "reference": "543a1da81111a0bfd6ae7bbc2865c5e89ed3fc67"
+                "reference": "4580645d3fc05c189024eb3b834c6c1e4f0f30a1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/543a1da81111a0bfd6ae7bbc2865c5e89ed3fc67",
-                "reference": "543a1da81111a0bfd6ae7bbc2865c5e89ed3fc67",
+                "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4580645d3fc05c189024eb3b834c6c1e4f0f30a1",
+                "reference": "4580645d3fc05c189024eb3b834c6c1e4f0f30a1",
                 "shasum": ""
             },
             "require": {
@@ -848,7 +848,7 @@
             ],
             "support": {
                 "issues": "https://github.com/phpseclib/phpseclib/issues",
-                "source": "https://github.com/phpseclib/phpseclib/tree/3.0.20"
+                "source": "https://github.com/phpseclib/phpseclib/tree/3.0.21"
             },
             "funding": [
                 {
@@ -864,7 +864,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-06-13T06:30:34+00:00"
+            "time": "2023-07-09T15:24:48+00:00"
         },
         {
             "name": "psr/cache",
diff --git a/www/res/css/cmservice.css b/www/res/css/cmservice.css
index dee4061ba3546d69c9012c40e24c3dd6635dc560..a4ed3a5d8e4bc466eb957d5e752e857819f71277 100644
--- a/www/res/css/cmservice.css
+++ b/www/res/css/cmservice.css
@@ -288,7 +288,9 @@ form .remember select.amount:active {
   overflow: hidden;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
-  box-shadow: 0 0 0 3px #eb3814, 0px 21px 5px -18px rgba(0, 0, 0, 0.6);
+  box-shadow:
+    0 0 0 3px #eb3814,
+    0px 21px 5px -18px rgba(0, 0, 0, 0.6);
   background: #eb3814;
   text-align: center;
 }
diff --git a/www/res/css/eduteams.css b/www/res/css/eduteams.css
index b0cf47d978c48ffffdfa05b15a12bdced9c8b2ed..8f4467bfafc571563f0d9ac6fa99b0e5092d8cf7 100644
--- a/www/res/css/eduteams.css
+++ b/www/res/css/eduteams.css
@@ -123,9 +123,12 @@ a#registration-btn {
 .form-control:focus {
   border-color: rgb(20, 125, 250);
   outline: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
+  -webkit-box-shadow:
+    inset 0 1px 1px rgba(0, 0, 0, 0.075),
+    0 0 8px rgb(20, 125, 250);
+  box-shadow:
+    inset 0 1px 1px rgba(0, 0, 0, 0.075),
     0 0 8px rgb(20, 125, 250);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgb(20, 125, 250);
 }
 
 /*-------------------------------------------------*/
@@ -274,7 +277,10 @@ p {
   margin: 0;
   padding: 14px 6px;
   border-left: 3px solid #fff;
-  transition: background-color 0.2s ease, border-left 0.2s ease, color 0.2s ease;
+  transition:
+    background-color 0.2s ease,
+    border-left 0.2s ease,
+    color 0.2s ease;
   cursor: pointer;
 }
 
@@ -298,7 +304,10 @@ p {
   padding: 14px 6px;
   border-left: none;
   color: #147dfa;
-  transition: background-color 0.2s ease, border-left 0.2s ease, color 0.2s ease;
+  transition:
+    background-color 0.2s ease,
+    border-left 0.2s ease,
+    color 0.2s ease;
   cursor: pointer;
   background-color: #f3f3f3;
 }
diff --git a/www/res/js/charts.js b/www/res/js/charts.js
index d0b0d846cef4f5c3d871bc272ca2d61af09e74f1..a95e41e5ef45a3e34b56d2fc9d1f83e7be746e6a 100644
--- a/www/res/js/charts.js
+++ b/www/res/js/charts.js
@@ -59,7 +59,7 @@ function drawLoginsChart(getEl) {
     $(el)
       .parent()
       .replaceWith(
-        '<p class="text-muted">No data has been recorded in the selected period...</p>'
+        '<p class="text-muted">No data has been recorded in the selected period...</p>',
       );
     return;
   }
@@ -234,7 +234,7 @@ function drawPieChart(dataName, viewCols, url, getEl) {
 
   const processedData = processDataForPieChart(
     getStatisticsData(dataName),
-    viewCols
+    viewCols,
   );
   const data = processedData.data;
 
@@ -243,7 +243,7 @@ function drawPieChart(dataName, viewCols, url, getEl) {
       .parent()
       .parent()
       .replaceWith(
-        '<p class="text-muted">No data has been recorded in the selected period...</p>'
+        '<p class="text-muted">No data has been recorded in the selected period...</p>',
       );
     return;
   }
@@ -302,7 +302,7 @@ function drawPieChart(dataName, viewCols, url, getEl) {
         evt,
         "nearest",
         { intersect: true },
-        false
+        false,
       );
       if (activePoints.length) {
         window.location.href =
@@ -317,7 +317,7 @@ function getDrawChart(side) {
     null,
     "loginCountPer" + side,
     [0, 2],
-    getStatisticsData("module_url_base") + "detail.php?side=" + side + "&id="
+    getStatisticsData("module_url_base") + "detail.php?side=" + side + "&id=",
   );
 }
 
@@ -328,7 +328,7 @@ function drawCountTable(
   dataName,
   allowHTML,
   url,
-  getEl
+  getEl,
 ) {
   const el = getEl();
   if (!el) return;
@@ -399,7 +399,7 @@ function getDrawTable(side) {
     2,
     "loginCountPer" + side,
     false,
-    getStatisticsData("module_url_base") + "detail.php?side=" + side + "&id="
+    getStatisticsData("module_url_base") + "detail.php?side=" + side + "&id=",
   );
 }
 
@@ -411,7 +411,7 @@ function getDrawCountTable(side) {
     2,
     "accessCounts",
     true,
-    null
+    null,
   );
 }
 
@@ -436,7 +436,7 @@ function chartInit() {
     idLoadCallback(side + "Table", getDrawTable(side));
     idLoadCallback(
       "detail" + side + "Chart",
-      drawPieChart.bind(null, "accessCounts", [0, 2], null)
+      drawPieChart.bind(null, "accessCounts", [0, 2], null),
     );
     idLoadCallback("detail" + side + "Table", getDrawCountTable(side));
   });