diff --git a/package-lock.json b/package-lock.json
index 50ad20c..6d0898e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,7 @@
                 "jquery": "^3.7.1",
                 "react": "^16.0.0",
                 "react-dom": "^16.0.0",
-                "react-router-dom": "^6.23.1"
+                "react-router-dom": "^7.1.3"
             },
             "devDependencies": {
                 "@babel/core": "^7.26.0",
@@ -1846,14 +1846,11 @@
                 "@jridgewell/sourcemap-codec": "^1.4.14"
             }
         },
-        "node_modules/@remix-run/router": {
-            "version": "1.16.1",
-            "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz",
-            "integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==",
-            "license": "MIT",
-            "engines": {
-                "node": ">=14.0.0"
-            }
+        "node_modules/@types/cookie": {
+            "version": "0.6.0",
+            "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
+            "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
+            "license": "MIT"
         },
         "node_modules/acorn": {
             "version": "7.4.1",
@@ -2545,6 +2542,15 @@
             "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
             "dev": true
         },
+        "node_modules/cookie": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
+            "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
+            "license": "MIT",
+            "engines": {
+                "node": ">=18"
+            }
+        },
         "node_modules/core-js": {
             "version": "3.39.0",
             "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz",
@@ -4094,36 +4100,44 @@
             "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
             "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
         },
-        "node_modules/react-router": {
-            "version": "6.23.1",
-            "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz",
-            "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==",
+        "node_modules/react-router-dom": {
+            "version": "7.1.3",
+            "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.3.tgz",
+            "integrity": "sha512-qQGTE+77hleBzv9SIUIkGRvuFBQGagW+TQKy53UTZAO/3+YFNBYvRsNIZ1GT17yHbc63FylMOdS+m3oUriF1GA==",
             "license": "MIT",
             "dependencies": {
-                "@remix-run/router": "1.16.1"
+                "react-router": "7.1.3"
             },
             "engines": {
-                "node": ">=14.0.0"
+                "node": ">=20.0.0"
             },
             "peerDependencies": {
-                "react": ">=16.8"
+                "react": ">=18",
+                "react-dom": ">=18"
             }
         },
-        "node_modules/react-router-dom": {
-            "version": "6.23.1",
-            "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz",
-            "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==",
+        "node_modules/react-router-dom/node_modules/react-router": {
+            "version": "7.1.3",
+            "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.3.tgz",
+            "integrity": "sha512-EezYymLY6Guk/zLQ2vRA8WvdUhWFEj5fcE3RfWihhxXBW7+cd1LsIiA3lmx+KCmneAGQuyBv820o44L2+TtkSA==",
             "license": "MIT",
             "dependencies": {
-                "@remix-run/router": "1.16.1",
-                "react-router": "6.23.1"
+                "@types/cookie": "^0.6.0",
+                "cookie": "^1.0.1",
+                "set-cookie-parser": "^2.6.0",
+                "turbo-stream": "2.4.0"
             },
             "engines": {
-                "node": ">=14.0.0"
+                "node": ">=20.0.0"
             },
             "peerDependencies": {
-                "react": ">=16.8",
-                "react-dom": ">=16.8"
+                "react": ">=18",
+                "react-dom": ">=18"
+            },
+            "peerDependenciesMeta": {
+                "react-dom": {
+                    "optional": true
+                }
             }
         },
         "node_modules/read-only-stream": {
@@ -4348,6 +4362,12 @@
                 "semver": "bin/semver.js"
             }
         },
+        "node_modules/set-cookie-parser": {
+            "version": "2.7.1",
+            "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
+            "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
+            "license": "MIT"
+        },
         "node_modules/sha.js": {
             "version": "2.4.11",
             "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
@@ -4632,6 +4652,12 @@
             "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
             "dev": true
         },
+        "node_modules/turbo-stream": {
+            "version": "2.4.0",
+            "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz",
+            "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==",
+            "license": "ISC"
+        },
         "node_modules/typedarray": {
             "version": "0.0.6",
             "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -6146,10 +6172,10 @@
                 "@jridgewell/sourcemap-codec": "^1.4.14"
             }
         },
-        "@remix-run/router": {
-            "version": "1.16.1",
-            "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz",
-            "integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig=="
+        "@types/cookie": {
+            "version": "0.6.0",
+            "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
+            "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="
         },
         "acorn": {
             "version": "7.4.1",
@@ -6712,6 +6738,11 @@
             "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
             "dev": true
         },
+        "cookie": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
+            "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="
+        },
         "core-js": {
             "version": "3.39.0",
             "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz",
@@ -7951,21 +7982,25 @@
             "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
             "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
         },
-        "react-router": {
-            "version": "6.23.1",
-            "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz",
-            "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==",
-            "requires": {
-                "@remix-run/router": "1.16.1"
-            }
-        },
         "react-router-dom": {
-            "version": "6.23.1",
-            "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz",
-            "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==",
+            "version": "7.1.3",
+            "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.3.tgz",
+            "integrity": "sha512-qQGTE+77hleBzv9SIUIkGRvuFBQGagW+TQKy53UTZAO/3+YFNBYvRsNIZ1GT17yHbc63FylMOdS+m3oUriF1GA==",
             "requires": {
-                "@remix-run/router": "1.16.1",
-                "react-router": "6.23.1"
+                "react-router": "7.1.3"
+            },
+            "dependencies": {
+                "react-router": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.3.tgz",
+                    "integrity": "sha512-EezYymLY6Guk/zLQ2vRA8WvdUhWFEj5fcE3RfWihhxXBW7+cd1LsIiA3lmx+KCmneAGQuyBv820o44L2+TtkSA==",
+                    "requires": {
+                        "@types/cookie": "^0.6.0",
+                        "cookie": "^1.0.1",
+                        "set-cookie-parser": "^2.6.0",
+                        "turbo-stream": "2.4.0"
+                    }
+                }
             }
         },
         "read-only-stream": {
@@ -8149,6 +8184,11 @@
             "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
             "dev": true
         },
+        "set-cookie-parser": {
+            "version": "2.7.1",
+            "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
+            "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="
+        },
         "sha.js": {
             "version": "2.4.11",
             "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
@@ -8385,6 +8425,11 @@
             "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
             "dev": true
         },
+        "turbo-stream": {
+            "version": "2.4.0",
+            "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz",
+            "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g=="
+        },
         "typedarray": {
             "version": "0.0.6",
             "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
diff --git a/package.json b/package.json
index 6eaccc3..355aa3b 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,7 @@
         "jquery": "^3.7.1",
         "react": "^16.0.0",
         "react-dom": "^16.0.0",
-        "react-router-dom": "^6.23.1"
+        "react-router-dom": "^7.1.3"
     },
     "browserify-css": {
         "autoInject": true,