/* TOCAPU MedCore 2S69-A10-R11 · shell móvil estable */
@media (max-width: 960px){
  html,body{max-width:100%;overflow-x:hidden}
  body.sidebar-mobile-open{overflow:hidden!important;touch-action:none}
  .app{display:block!important;min-height:100dvh}
  #contenido-principal{width:100%!important;min-width:0!important}

  /* El menú móvil siempre gobierna sobre el contenido y el buscador. */
  .sidebar{
    position:fixed!important;inset:0 auto 0 0!important;
    width:min(82vw,320px)!important;max-width:320px!important;height:100dvh!important;
    z-index:3000!important;transform:translate3d(-104%,0,0)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    overflow:hidden!important;box-shadow:18px 0 42px rgba(4,24,58,.28)!important;
    transition:transform .2s ease,opacity .2s ease,visibility .2s ease!important;
  }
  body.sidebar-mobile-open .sidebar{
    transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  .sidebar .brand{flex:0 0 auto!important;padding:18px 16px 14px!important}
  .sidebar .brand-app-logo{display:block!important;max-width:100%!important;width:auto!important;height:auto!important;max-height:106px!important;object-fit:contain!important}
  .sidebar .brand-app-icon{display:none!important}
  .sidebar .nav-groups{height:calc(100dvh - 144px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;padding:7px 12px 28px!important;scrollbar-width:thin}

  .mobile-sidebar-scrim{
    display:block!important;position:fixed!important;inset:0!important;z-index:2990!important;
    background:rgba(7,22,48,.58)!important;backdrop-filter:blur(1px);
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .18s ease,visibility .18s ease!important;
  }
  body.sidebar-mobile-open .mobile-sidebar-scrim{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

  /* Ningún panel del contenido puede atravesar el drawer. */
  body.sidebar-mobile-open #contenido-principal{pointer-events:none!important;user-select:none!important}
  body.sidebar-mobile-open .universal-live-search,
  body.sidebar-mobile-open .universal-live-results,
  body.sidebar-mobile-open .universal-input-shell,
  body.sidebar-mobile-open dialog,
  body.sidebar-mobile-open .modal,
  body.sidebar-mobile-open [role="dialog"]{z-index:1!important}

  /* El buscador permanece dentro del flujo normal en móvil. */
  body.screen-dashboard .universal-live-search{position:relative!important;z-index:20!important;inset:auto!important;transform:none!important;width:auto!important;max-width:none!important;margin:0!important}
  body.screen-dashboard .universal-live-results{z-index:90!important;max-height:48vh!important}
}

@media (max-width: 680px){
  .sidebar{width:min(84vw,304px)!important}
  .sidebar .brand{padding:14px 14px 11px!important}
  .sidebar .brand-app-logo{max-height:92px!important}
  .sidebar .nav-groups{height:calc(100dvh - 120px)!important;padding:5px 10px 24px!important}
  .sidebar .nav-section-title,.sidebar .nav-section-direct{min-height:46px!important;padding:10px 11px!important;gap:12px!important;font-size:15px!important}
  .sidebar .nav-section-links{margin:2px 0 8px 20px!important;padding:2px 0 2px 15px!important;border-left:1px solid rgba(255,255,255,.36)!important}
  .sidebar .nav-section-links a{min-height:38px!important;padding:8px 9px!important;font-size:13px!important;line-height:1.25!important;white-space:normal!important}
  .app-header{z-index:200!important}
  body:not(.sidebar-mobile-open) .sidebar{transform:translate3d(-104%,0,0)!important}
}
