/* Navegación principal móvil: dock inferior y hoja compacta de herramientas. */
.mobile-navigation-dock { display: none; }
.nav-mobile-account-actions { display: none; }

@media (max-width: 700px), (pointer: coarse) and (max-height: 700px) {
  .mobile-navigation-dock {
    position: fixed;
    z-index: 900;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    box-sizing: border-box;
    min-height: 64px;
    padding: 5px max(5px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));
    border-top: 1px solid rgba(255,255,255,.11);
    background: rgba(23,18,17,.97);
    color: #f7f0eb;
    box-shadow: 0 -7px 22px rgba(0,0,0,.18);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition: transform .16s ease, visibility .16s ease;
  }
  .mobile-navigation-dock[hidden] { display: none !important; }
  .mobile-dock-item {
    display: flex;
    min-width: 0;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    padding: 4px 1px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #b9aca6;
    font: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .mobile-dock-item svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-dock-item span { overflow: hidden; max-width: 100%; color: inherit; font-size: clamp(.58rem, 2.5vw, .69rem); font-weight: 650; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-dock-item.is-active { color: #eac071; }
  .mobile-dock-item.is-active svg { stroke-width: 2.1; }
  .mobile-dock-item:focus-visible { outline: 2px solid #d9ad61; outline-offset: -2px; }

  body.app-redesign:has(.mobile-navigation-dock) .main-content {
    padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
  }
  body.app-redesign.mobile-keyboard-open .main-content { padding-bottom: max(.75rem, env(safe-area-inset-bottom)) !important; }
  body.nav-menu-open .mobile-navigation-dock { visibility: hidden; pointer-events: none; }
  body.modal-open .mobile-navigation-dock { visibility: hidden; pointer-events: none; }
  body.mobile-keyboard-open .mobile-navigation-dock { visibility: hidden; pointer-events: none; transform: translateY(110%); }

  /* El panel Más reutiliza los botones y comprobaciones de acceso existentes. */
  #mainNavigation.nav-tabs {
    inset: auto 0 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: min(72dvh, 430px) !important;
    padding: max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(9px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)) !important;
    overflow: auto !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    background: #171211 !important;
    box-shadow: 0 -14px 38px rgba(0,0,0,.34) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(100%) !important;
    transition: transform .2s ease, opacity .18s ease !important;
  }
  #mainNavigation.nav-tabs.is-open { opacity: 1 !important; pointer-events: auto !important; transform: translateY(0) !important; }
  #mainNavigation .nav-sheet-handle { display: none !important; }
  #mainNavigation .nav-drawer-heading { display: flex !important; min-height: 44px; padding: 0 0 9px; border-bottom: 1px solid rgba(255,255,255,.1); }
  #mainNavigation .nav-drawer-heading::before { content: "Más herramientas"; color: #f7f0eb; font-size: .92rem; font-weight: 750; }
  #mainNavigation .nav-drawer-brand { display: none; }
  #mainNavigation .nav-drawer-close { width: 44px; height: 44px; }
  #mainNavigation .nav-drawer-overline { display: none; }
  #mainNavigation #navDrawerGroups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 9px;
    max-height: none;
    overflow: visible;
    padding: 8px 0;
  }
  #mainNavigation #navDrawerGroups > .tab-btn[data-tab="pos"],
  #mainNavigation #navDrawerGroups > .tab-btn[data-tab="inventory"],
  #mainNavigation #navDrawerGroups > .tab-btn[data-tab="expenses"],
  #mainNavigation #navDrawerGroups > .tab-btn[data-tab="history"] { display: none !important; }
  #mainNavigation #navDrawerGroups > .nav-drawer-group { display: contents !important; }
  #mainNavigation #navDrawerGroups .nav-group-trigger { display: none !important; }
  #mainNavigation #navDrawerGroups .nav-group-panel,
  #mainNavigation #navDrawerGroups .nav-group-items { display: contents !important; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn {
    display: flex !important;
    min-width: 0;
    min-height: 46px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 10px !important;
    background: #211a18 !important;
    color: #e8dfda !important;
    font-size: .8rem !important;
    font-weight: 650 !important;
    opacity: 1 !important;
    transform: none !important;
    white-space: normal;
  }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn[hidden] { display: none !important; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn[aria-current="page"] { border-color: rgba(217,173,97,.45) !important; color: #eac071 !important; box-shadow: inset 2px 0 #d9ad61 !important; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn .tab-icon { display: block !important; width: 18px; height: 18px; flex: 0 0 auto; stroke: currentColor; }
  #mainNavigation .nav-drawer-account { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 9px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.1); }
  #mainNavigation .nav-account-trigger,
  #mainNavigation .nav-account-menu { display: none !important; }
  #mainNavigation .nav-mobile-account-actions { display: contents; }
  #mainNavigation .nav-mobile-account-action {
    display: flex;
    min-width: 0;
    min-height: 46px;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: #211a18;
    color: #e8dfda;
    font: inherit;
    font-size: .8rem;
    font-weight: 650;
    text-align: left;
  }
  #mainNavigation .nav-mobile-account-action > span { color: #d9ad61; }
  #mainNavigation .nav-mobile-account-action.nav-account-logout { color: #ff9c8c; }
  .nav-drawer-backdrop { z-index: 899; background: rgba(10,7,6,.5); backdrop-filter: none; }
  body.app-redesign:has(.mobile-navigation-dock) .ai-floating-widget {
    bottom: calc(78px + env(safe-area-inset-bottom)) !important;
    z-index: 700 !important;
  }
  body.app-redesign:has(.mobile-navigation-dock) .ai-floating-widget.pos-left { left: max(.75rem, env(safe-area-inset-left)) !important; }
  body.app-redesign:has(.mobile-navigation-dock) .ai-floating-widget.pos-right { right: max(.75rem, env(safe-area-inset-right)) !important; }
  body.mobile-keyboard-open .ai-floating-widget,
  body.modal-open .ai-floating-widget { display: none !important; }
}

@media (max-width: 350px) {
  #mainNavigation.nav-tabs { padding-inline: max(10px, env(safe-area-inset-right)) !important; }
  #mainNavigation #navDrawerGroups { gap: 4px 6px; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn,
  #mainNavigation .nav-mobile-account-action { padding-inline: 7px !important; font-size: .75rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-navigation-dock, #mainNavigation.nav-tabs { transition: none !important; }
}

/* The existing Más dock opens the same grouped navigation as a compact sheet. */
@media (max-width: 700px), (pointer: coarse) and (max-height: 700px) {
  #mainNavigation.nav-tabs {
    inset: auto auto 0 50% !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    width: min(400px, calc(100vw - 12px)) !important;
    height: auto !important;
    max-height: min(78dvh, 640px) !important;
    padding: max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
    overflow: hidden !important;
    border: 1px solid var(--sc-drawer-line) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.22) !important;
    transform: translate(-50%, 100%) !important;
  }
  #mainNavigation.nav-tabs.is-open { transform: translate(-50%, 0) !important; }
  #mainNavigation .nav-sheet-handle { display: none !important; }
  #mainNavigation .nav-drawer-heading { display: flex !important; min-height: 48px; flex: 0 0 auto; padding: 0 0 7px; border-bottom: 1px solid var(--sc-drawer-line); }
  #mainNavigation .nav-drawer-heading::before { content: none; }
  #mainNavigation .nav-drawer-brand { display: flex; }
  #mainNavigation .nav-drawer-close { width: 40px; height: 40px; }
  #mainNavigation .nav-drawer-overline { display: none; }
  #mainNavigation #navDrawerGroups {
    display: block;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 4px 0 7px;
    overscroll-behavior: contain;
    touch-action: pan-y;
  }
  #mainNavigation #navDrawerGroups > .tab-btn { display: none !important; }
  #mainNavigation #navDrawerGroups > .tab-btn[aria-current="page"] { display: flex !important; }
  #mainNavigation #navDrawerGroups > .nav-drawer-group { display: block !important; margin: 1px 0; }
  #mainNavigation #navDrawerGroups .nav-group-trigger { display: flex !important; min-height: 44px !important; }
  #mainNavigation #navDrawerGroups .nav-group-panel,
  #mainNavigation #navDrawerGroups .nav-group-items { display: grid !important; }
  #mainNavigation #navDrawerGroups .nav-group-items { padding-left: 13px; overflow: hidden; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn {
    display: flex !important;
    min-width: 0;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #d4c8c2 !important;
    font-size: .9rem !important;
    opacity: 1 !important;
    transform: none !important;
    white-space: normal;
  }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn[hidden] { display: none !important; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn[aria-current="page"] { background: rgba(239,89,68,.13) !important; border-color: transparent !important; color: var(--sc-drawer-copy) !important; box-shadow: inset 3px 0 var(--sc-drawer-red) !important; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn .tab-icon { display: block !important; width: 20px; height: 20px; flex: 0 0 20px; stroke: var(--sc-drawer-gold); }
  #mainNavigation .nav-drawer-account { flex: 0 0 auto; display: block; padding-top: 7px; border-top: 1px solid var(--sc-drawer-line); }
  #mainNavigation .nav-account-trigger { display: flex !important; min-height: 54px; }
  #mainNavigation .nav-account-menu { display: block; }
  #mainNavigation .nav-account-menu[hidden] { display: none !important; }
  #mainNavigation .nav-mobile-account-actions { display: none !important; }
  #mainNavigation .nav-account-menu { bottom: calc(100% + 5px); }
}

@media (max-height: 520px) and (max-width: 700px) {
  #mainNavigation.nav-tabs { max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 8px) !important; }
}

@media (max-width: 350px) {
  #mainNavigation.nav-tabs { width: calc(100vw - 8px) !important; padding-inline: 8px !important; }
  #mainNavigation #navDrawerGroups .nav-group-items { padding-left: 9px; }
}

/* La hoja se abre desde el Más del dock existente; el encabezado y la cuenta
   permanecen fijos mientras una única zona conserva todo el desplazamiento. */
@media (max-width: 700px), (pointer: coarse) and (max-height: 700px) {
  #mainNavigation.nav-tabs {
    inset: auto auto 0 50% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: min(280px, calc(100vw - 24px)) !important;
    height: auto !important;
    max-height: min(74dvh, calc(100dvh - env(safe-area-inset-top) - 16px)) !important;
    padding: max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
    overflow: visible !important;
    border: 1px solid var(--sc-drawer-line) !important;
    border-bottom: 0 !important;
    border-radius: 17px 17px 0 0 !important;
    background: var(--sc-drawer-bg) !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.22) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 100%) !important;
    transition: transform .2s ease, opacity .18s ease !important;
  }
  #mainNavigation.nav-tabs.is-open { opacity: 1 !important; pointer-events: auto !important; transform: translate(-50%, 0) !important; }
  #mainNavigation .nav-sheet-handle { display: none !important; }
  #mainNavigation .nav-drawer-heading { display: flex !important; flex: 0 0 auto; min-height: 46px; padding: 0 0 6px; }
  #mainNavigation .nav-drawer-brand { display: flex; }
  #mainNavigation .nav-drawer-overline { display: block; }
  #mainNavigation #navDrawerGroups {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 1px 5px !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-width: none;
  }
  #mainNavigation #navDrawerGroups::-webkit-scrollbar { display: none; }
  #mainNavigation #navDrawerGroups > .tab-btn { display: none !important; }
  #mainNavigation #navDrawerGroups > .nav-drawer-group { display: block !important; flex: 0 0 auto; margin: 1px 0 !important; }
  #mainNavigation #navDrawerGroups .nav-group-trigger { display: flex !important; min-height: 44px !important; }
  #mainNavigation #navDrawerGroups .nav-group-panel { display: grid !important; }
  #mainNavigation #navDrawerGroups .nav-group-items { display: flex !important; flex-direction: column; gap: 1px; padding-left: 12px !important; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #d7cbc6 !important;
    font-size: 14px !important;
    line-height: 1.3;
    font-weight: 550 !important;
    opacity: 1 !important;
    transform: none !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
  }
  body:not(.dark-mode) #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn { color: #594a43 !important; }
  #mainNavigation #navDrawerGroups .nav-group-items > .tab-btn .tab-icon { display: block !important; width: 20px; height: 20px; flex: 0 0 20px; stroke: var(--sc-drawer-gold); }
  #mainNavigation .nav-drawer-account { display: block !important; flex: 0 0 auto; padding-top: 7px; }
  #mainNavigation .nav-account-trigger { display: flex !important; min-height: 54px; }
  #mainNavigation .nav-account-menu { display: block !important; bottom: calc(100% + 5px); }
  #mainNavigation .nav-account-menu[hidden] { display: none !important; }
  #mainNavigation .nav-mobile-account-actions { display: none !important; }
}
@media (max-height: 420px) and (max-width: 700px) {
  #mainNavigation.nav-tabs { max-height: calc(100dvh - env(safe-area-inset-top) - 12px) !important; }
}
@media (max-width: 350px) {
  #mainNavigation.nav-tabs { width: calc(100vw - 24px) !important; }
  #mainNavigation #navDrawerGroups .nav-group-items { padding-left: 8px !important; }
}
@media (max-width: 700px), (pointer: coarse) and (max-height: 700px) {
  #mainNavigation #navDrawerGroups > .tab-btn[aria-current="page"] { display: flex !important; }
}
@media (prefers-reduced-motion: reduce) {
  #mainNavigation.nav-tabs, #mainNavigation.nav-tabs.is-open { transition: none !important; }
}
#mainNavigation #navDrawerGroups > .tab-btn[hidden],
#mainNavigation #navDrawerGroups > .nav-drawer-group[hidden],
#mainNavigation #navDrawerGroups .nav-group-items > .tab-btn[hidden] { display: none !important; }
