diff --git a/apps/web/src/lib/ui/layout/AppShell.svelte b/apps/web/src/lib/ui/layout/AppShell.svelte
index 828d3fd..9a87534 100644
--- a/apps/web/src/lib/ui/layout/AppShell.svelte
+++ b/apps/web/src/lib/ui/layout/AppShell.svelte
@@ -1,6 +1,13 @@
+
+
+
@@ -43,6 +55,12 @@
📅
Calendarios
+
@@ -123,6 +141,11 @@
padding-bottom: var(--space-4);
}
+ /* Barra superior móvil oculta por defecto */
+ .mobile-topbar {
+ display: none;
+ }
+
/* Barra de pestañas inferior (solo móvil) */
.tabbar {
position: fixed;
@@ -139,10 +162,11 @@
@media (max-width: 768px) {
.tabbar {
display: grid;
- grid-template-columns: repeat(4, 1fr);
+ grid-template-columns: repeat(5, 1fr);
align-items: center;
}
- .tabbar a {
+ .tabbar a,
+ .tabbar button {
display: inline-flex;
align-items: center;
justify-content: center;
@@ -150,6 +174,15 @@
padding: 6px 8px;
color: inherit;
text-decoration: none;
+ background: transparent;
+ border: none;
+ }
+ .tabbar form.logout-tab {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 0;
+ padding: 0;
}
.tabbar a.active {
color: var(--color-primary);
@@ -163,8 +196,9 @@
font-size: 12px;
line-height: 1;
}
- /* Reservar espacio en el main para no tapar contenido */
+ /* Reservar espacio en el main para no tapar contenido y la barra superior */
.main {
+ padding-top: calc(var(--space-4) + 44px + env(safe-area-inset-top));
padding-bottom: calc(var(--space-4) + 48px + env(safe-area-inset-bottom));
}
}
@@ -173,4 +207,25 @@
display: none;
}
}
+
+ /* Ocultar header y mostrar topbar en móvil */
+ @media (max-width: 768px) {
+ .app-header { display: none; }
+ .mobile-topbar {
+ display: block;
+ position: sticky;
+ top: 0;
+ z-index: 12;
+ background: var(--color-surface);
+ border-bottom: 1px solid var(--color-border);
+ min-height: 44px;
+ padding-top: env(safe-area-inset-top);
+ }
+ .mobile-topbar .topbar-inner {
+ display: flex;
+ align-items: center;
+ min-height: 44px;
+ font-weight: 600;
+ }
+ }
diff --git a/apps/web/src/routes/+layout.svelte b/apps/web/src/routes/+layout.svelte
index 5dd0f87..2e4d676 100644
--- a/apps/web/src/routes/+layout.svelte
+++ b/apps/web/src/routes/+layout.svelte
@@ -12,26 +12,36 @@
{#if dev}
+ aria-live="polite">
Modo desarrollo: auth bypass activo
{/if}
+
+