+ +
+ + Calendink +
+
+
@@ -370,13 +397,77 @@ .main-content { flex: 1; - padding: 16px 32px; + padding: 32px; + height: 100vh; overflow-y: auto; + background: radial-gradient(circle at top right, var(--color-bg-card), transparent 40%), + var(--color-bg-primary); + } + + .mobile-header { + display: none; + align-items: center; + justify-content: space-between; + padding: 12px 16px; + background: var(--color-bg-card); + border-bottom: 1px solid var(--color-border); + position: sticky; + top: 0; + z-index: 50; + backdrop-filter: blur(10px); + } + + .hamburger { + background: none; + border: none; + color: var(--color-text-primary); + padding: 8px; + cursor: pointer; + } + + .hamburger svg { + width: 24px; + height: 24px; + } + + .mobile-title { + font-weight: 700; + font-size: 16px; + letter-spacing: -0.02em; + color: var(--color-accent); + } + + .mobile-backdrop { + display: none; + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.4); + backdrop-filter: blur(4px); + z-index: 999; + border: none; + padding: 0; + cursor: pointer; + animation: fadeIn 0.2s ease-out; + } + + @keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } } @media (max-width: 768px) { .main-content { padding: 16px; + height: auto; + } + + .mobile-header { + display: flex; + margin: -16px -16px 20px -16px; + } + + .mobile-backdrop { + display: block; } } diff --git a/Provider/frontend/src/lib/Sidebar.svelte b/Provider/frontend/src/lib/Sidebar.svelte index 0af74a0..2d8500f 100644 --- a/Provider/frontend/src/lib/Sidebar.svelte +++ b/Provider/frontend/src/lib/Sidebar.svelte @@ -1,6 +1,13 @@ -