+
+ @if (ViewModel.Page != null)
+ {
+
+
+
+
+
+ }
+ else
+ {
+
+
+
+
+ }
+
+
+
+
\ No newline at end of file
diff --git a/DeepDrftWeb.Client/Pages/TracksView.razor.css b/DeepDrftWeb.Client/Pages/TracksView.razor.css
new file mode 100644
index 0000000..f816847
--- /dev/null
+++ b/DeepDrftWeb.Client/Pages/TracksView.razor.css
@@ -0,0 +1,28 @@
+.tracks-page-wrapper {
+ display: flex;
+ flex-direction: column;
+ height: calc(100dvh - 64px); /* Subtract app bar height (pt-16 = 4rem = 64px) */
+ margin: -16px; /* Counteract MudMainContent padding */
+ padding-top: 16px; /* Restore top padding for spacing */
+}
+
+.tracks-view-container {
+ display: flex;
+ flex-direction: column;
+ flex: 1 1 auto;
+ min-height: 0;
+ overflow: hidden;
+ padding: 0 16px; /* Horizontal padding only */
+}
+
+.tracks-content {
+ flex: 1 1 auto;
+ overflow-y: scroll;
+ min-height: 0;
+ padding-top: 16px;
+}
+
+.tracks-pagination {
+ flex: 0 0 auto;
+ padding: 8px 0;
+}
\ No newline at end of file
diff --git a/DeepDrftWeb.Client/_Imports.razor b/DeepDrftWeb.Client/_Imports.razor
index 3aa70bc..de75392 100644
--- a/DeepDrftWeb.Client/_Imports.razor
+++ b/DeepDrftWeb.Client/_Imports.razor
@@ -8,3 +8,4 @@
@using Microsoft.JSInterop
@using MudBlazor
@using MudBlazor.Services
+@using MudBlazor.ThemeManager
diff --git a/DeepDrftWeb/Components/App.razor b/DeepDrftWeb/Components/App.razor
index 3affce3..b1043d3 100644
--- a/DeepDrftWeb/Components/App.razor
+++ b/DeepDrftWeb/Components/App.razor
@@ -4,11 +4,15 @@