diff --git a/src/app.py b/src/app.py
index 70d51cc..8c2e59f 100644
--- a/src/app.py
+++ b/src/app.py
@@ -166,7 +166,11 @@ app.index_string = """
{%metas%}
{%title%}
- {%favicon%}
+
+
+
+
+
{%css%}
diff --git a/src/assets/colibre.png b/src/assets/colibre.png
index f2e91b5..70c7f34 100644
Binary files a/src/assets/colibre.png and b/src/assets/colibre.png differ
diff --git a/uv.lock b/uv.lock
index 6580b31..2845f72 100644
--- a/uv.lock
+++ b/uv.lock
@@ -580,6 +580,99 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/fb/e2/79c688af8b210d232694e31e59da9f6ec747bae31c3f5946e4e9b98860d5/click-8.4.2-py3-none-any.whl", hash = "sha256:e6f9f66136c816745b9d65817da91d61d957fb16e02e4dcd0552553c5a197b76", size = 119243, upload-time = "2026-06-24T17:45:13.73Z" },
]
+[[package]]
+name = "colibre"
+version = "2.8.1"
+source = { virtual = "." }
+dependencies = [
+ { name = "authlib" },
+ { name = "boto3" },
+ { name = "brevo-python" },
+ { name = "cryptography" },
+ { name = "dash", extra = ["compress"] },
+ { name = "dash-bootstrap-components" },
+ { name = "dash-extensions", version = "1.0.20", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "dash-extensions", version = "2.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "dash-leaflet", version = "1.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "dash-leaflet", version = "1.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "duckdb" },
+ { name = "email-validator" },
+ { name = "flask-caching" },
+ { name = "flask-cors" },
+ { name = "flask-login" },
+ { name = "flask-smorest" },
+ { name = "flask-wtf" },
+ { name = "gunicorn" },
+ { name = "httpx" },
+ { name = "marshmallow" },
+ { name = "orjson" },
+ { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "pandas", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "plotly", extra = ["express"] },
+ { name = "polars" },
+ { name = "pyarrow" },
+ { name = "python-dotenv" },
+ { name = "unidecode" },
+ { name = "xlsxwriter" },
+]
+
+[package.dev-dependencies]
+dev = [
+ { name = "dash", extra = ["testing"] },
+ { name = "fastexcel" },
+ { name = "moto", extra = ["s3"] },
+ { name = "openpyxl" },
+ { name = "pre-commit" },
+ { name = "pytest" },
+ { name = "pytest-env" },
+ { name = "selenium" },
+ { name = "webdriver-manager" },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "authlib" },
+ { name = "boto3" },
+ { name = "brevo-python", specifier = "==5.0.0rc1" },
+ { name = "cryptography" },
+ { name = "dash", specifier = "==3.4.0" },
+ { name = "dash", extras = ["compress"] },
+ { name = "dash-bootstrap-components" },
+ { name = "dash-extensions" },
+ { name = "dash-leaflet" },
+ { name = "duckdb" },
+ { name = "email-validator" },
+ { name = "flask-caching" },
+ { name = "flask-cors", specifier = ">=6.0.2" },
+ { name = "flask-login" },
+ { name = "flask-smorest", specifier = ">=0.46.0" },
+ { name = "flask-wtf" },
+ { name = "gunicorn" },
+ { name = "httpx" },
+ { name = "marshmallow", specifier = ">=3.20.0" },
+ { name = "orjson" },
+ { name = "pandas" },
+ { name = "plotly", extras = ["express"] },
+ { name = "polars" },
+ { name = "pyarrow", specifier = ">=23.0.1" },
+ { name = "python-dotenv" },
+ { name = "unidecode" },
+ { name = "xlsxwriter" },
+]
+
+[package.metadata.requires-dev]
+dev = [
+ { name = "dash", extras = ["testing"] },
+ { name = "fastexcel" },
+ { name = "moto", extras = ["s3"] },
+ { name = "openpyxl" },
+ { name = "pre-commit" },
+ { name = "pytest" },
+ { name = "pytest-env" },
+ { name = "selenium" },
+ { name = "webdriver-manager" },
+]
+
[[package]]
name = "colorama"
version = "0.4.6"
@@ -862,99 +955,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/27/a0/a221942b3fbbafaea4e211744d298366b6a9712c1aa336b05fc1c865ac0c/dataclass_wizard-0.39.1-py3-none-any.whl", hash = "sha256:3324e59eca705882eb34e2b3989b2beadd8c2b523e6269d4002cf1a4a5bf703b", size = 215344, upload-time = "2026-01-06T03:30:54.915Z" },
]
-[[package]]
-name = "decp-info"
-version = "2.8.1"
-source = { virtual = "." }
-dependencies = [
- { name = "authlib" },
- { name = "boto3" },
- { name = "brevo-python" },
- { name = "cryptography" },
- { name = "dash", extra = ["compress"] },
- { name = "dash-bootstrap-components" },
- { name = "dash-extensions", version = "1.0.20", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "dash-extensions", version = "2.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "dash-leaflet", version = "1.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "dash-leaflet", version = "1.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "duckdb" },
- { name = "email-validator" },
- { name = "flask-caching" },
- { name = "flask-cors" },
- { name = "flask-login" },
- { name = "flask-smorest" },
- { name = "flask-wtf" },
- { name = "gunicorn" },
- { name = "httpx" },
- { name = "marshmallow" },
- { name = "orjson" },
- { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "pandas", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "plotly", extra = ["express"] },
- { name = "polars" },
- { name = "pyarrow" },
- { name = "python-dotenv" },
- { name = "unidecode" },
- { name = "xlsxwriter" },
-]
-
-[package.dev-dependencies]
-dev = [
- { name = "dash", extra = ["testing"] },
- { name = "fastexcel" },
- { name = "moto", extra = ["s3"] },
- { name = "openpyxl" },
- { name = "pre-commit" },
- { name = "pytest" },
- { name = "pytest-env" },
- { name = "selenium" },
- { name = "webdriver-manager" },
-]
-
-[package.metadata]
-requires-dist = [
- { name = "authlib" },
- { name = "boto3" },
- { name = "brevo-python", specifier = "==5.0.0rc1" },
- { name = "cryptography" },
- { name = "dash", specifier = "==3.4.0" },
- { name = "dash", extras = ["compress"] },
- { name = "dash-bootstrap-components" },
- { name = "dash-extensions" },
- { name = "dash-leaflet" },
- { name = "duckdb" },
- { name = "email-validator" },
- { name = "flask-caching" },
- { name = "flask-cors", specifier = ">=6.0.2" },
- { name = "flask-login" },
- { name = "flask-smorest", specifier = ">=0.46.0" },
- { name = "flask-wtf" },
- { name = "gunicorn" },
- { name = "httpx" },
- { name = "marshmallow", specifier = ">=3.20.0" },
- { name = "orjson" },
- { name = "pandas" },
- { name = "plotly", extras = ["express"] },
- { name = "polars" },
- { name = "pyarrow", specifier = ">=23.0.1" },
- { name = "python-dotenv" },
- { name = "unidecode" },
- { name = "xlsxwriter" },
-]
-
-[package.metadata.requires-dev]
-dev = [
- { name = "dash", extras = ["testing"] },
- { name = "fastexcel" },
- { name = "moto", extras = ["s3"] },
- { name = "openpyxl" },
- { name = "pre-commit" },
- { name = "pytest" },
- { name = "pytest-env" },
- { name = "selenium" },
- { name = "webdriver-manager" },
-]
-
[[package]]
name = "dill"
version = "0.4.1"