.notifications {
  width: 360px !important;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 150%;
  background: var(--color-white) 0% 0% no-repeat padding-box;
  box-shadow: 0px 3px 25px var(--sombra);
  border: 0.5px solid var(--color-gray-border);
  border-radius: 16px !important;
  transition: all .2s ease-in;
  overflow-y: auto;
  height: auto;
  max-height: 60vh;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
}
.not_des {
  margin: 0;
}
.notifications-item .text{
    color: var(--Neutral-Neutral-600, #666667);
    font-size: var(--typography-interface-caption-medium-caption-m-size, 14px);
    font-style: normal;
    font-weight: 400;
    line-height: var(--typography-interface-caption-medium-caption-m-height, 20px);
    letter-spacing: var(--typography-interface-caption-medium-caption-m-space, 0.14px);
    text-align: start;
}
.ctn_items_notification {
  color: var(--Neutral-Neutral-700, #4D4D4F);
  font-size: var(--typography-interface-caption-medium-caption-m-size, 14px);
  font-style: normal;
  font-weight: 700;
  line-height: var(--typography-interface-caption-medium-caption-m-height, 20px); /* 142.857% */
  letter-spacing: var(--typography-interface-caption-medium-caption-m-space, 0.14px);
}
.notifications-item {
  border-left: 2px solid var(--Green-Green-600, #4EDA58);
}
.notifications-item:hover {
  outline: unset;
  border-left: 2px solid var(--Green-Green-600, #4EDA58);
  background: var(--Green-Green-50, #F0FDF0);
}
.notifications-item:focus-visible {
  outline: unset;
  border-left: 2px solid var(--Green-Green-600, #4EDA58);
  background: var(--Neutral-Neutral-0, #FFF);

  /* focussed */
  box-shadow: 0 0 0 2px var(--color-neutral-400, #8CA2B5);
}
.notifications-item:focus-visible:active {
  outline: unset;
  border-left: 2px solid var(--Green-Green-600, #4EDA58);
  background: var(--Green-Green-100, #CBF8CD);
}
.not_view_check {
  border: unset;
  background: var(--Neutral-Neutral-50, #F0F0F0);
}
.not_view_check:hover {
  outline: unset;
  border: unset;
  background: var(--Neutral-Neutral-100, #EAE9E9);
}
.not_view_check:focus-visible {
  outline: unset;
  border: unset;
  background: var(--Neutral-Neutral-100, #EAE9E9);
  box-shadow: 0 0 0 2px var(--color-neutral-400, #8CA2B5);
}
.not_view_check:focus-visible:active {
  outline: unset;
  border: unset;
  background: var(--Neutral-Neutral-200, #DADADC);
}
.not_view_check a:focus-visible {
  outline: unset;
  border: unset;
  box-shadow: 0 0 0 2px var(--color-neutral-400, #8CA2B5);
}
.not_view_check a:focus-visible:active {
  outline: unset;
  border: unset;
}
.submodule-num:hover {
  background: var(--Neutral-Neutral-100, #EAE9E9);
}
.submodule-num:focus-visible {
  background: var(--Neutral-Neutral-100, #EAE9E9);
}
.submodule-num:focus-visible:active {
  background: var(--Neutral-Neutral-100, #EAE9E9);
}
.notifications-item .text p {
  color: var(--Neutral-Neutral-600, #666667) !important;
  font-size: var(--typography-interface-caption-medium-caption-m-size, 14px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: var(--typography-interface-caption-medium-caption-m-height, 20px) !important; /* 142.857% */
  letter-spacing: var(--typography-interface-caption-medium-caption-m-space, 0.14px) !important;
}
.notifications-item .text .not_des_date {
  color: var(--Neutral-Neutral-600, #666667);
  font-size: var(--typography-size-font-size12, 12px);
  font-style: normal;
  font-weight: 400;
  line-height: var(--typography-interface-caption-small-caption-s-height, 16px); /* 133.333% */
  letter-spacing: var(--typography-interface-caption-small-caption-s-space, 0.14px);
}
.item-notification {
  padding: 12px 16px;
  display: block;
}
.icon_not{
  font-size: 24px;
  color: var(--color-gray-border-2);
  margin:0 12px 0 12px;
}
.submodule-notifications{
  width: 100%;
  padding: 12px 16px;
  align-items: center;
  position: sticky;
  top: 0;
  background-color: #fff;
}
.submodule-num{
  font-size: 15px;
  border-radius: 6.4px;
  border: 1px solid var(--Neutral-Neutral-200, #DADADC);
  width: 32px;
  height: 32px;
  padding: 6.4px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  cursor: pointer;
}
/* Garantiza que el tooltip se muestre */
.tooltip {
    opacity: 1 !important;
    pointer-events: none !important;
    z-index: 99999 !important;
    display: block !important;
}
.tooltip:not(.show) {
    display: none !important;
}

/* Reset de estados hover */
#box .submodule-num:hover {
    background-color: transparent !important;
}
.submodule-num i{
  color: var(--color-black-2);
}
.dropdown-content{
  display: none;
  border-bottom: 5px solid var(--color-gray-border-2);
  border-top: 5px solid var(--color-gray-border-2);
}
.loader-notifications{
  width: 100px;
  height: 100px;
}
.box-loader{
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: auto;
  padding-top: 40px;
  padding-bottom: 40px;
}
.icon_noti_movil {
  display: none;
}


/* Spinner de carga */
.loading-spinner {
  text-align: center;
  padding: 20px;
}

.spinner {
  border: 3px solid #f3f3f3;
  border-top: 3px solid #3498db;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: spin 1s linear infinite;
  display: inline-block;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.name_bold {
  color: var(--Neutral-Neutral-600, #666667);
  font-size: var(--typography-interface-caption-medium-caption-m-size, 14px);
  font-style: normal;
  font-weight: 700;
  line-height: var(--typography-interface-caption-medium-caption-m-height, 20px);
  letter-spacing: var(--typography-interface-caption-medium-caption-m-space, 0.14px);
}
#list_notifications {
  overflow: scroll;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Para navegadores WebKit (Chrome, Safari, Edge) */
#list_notifications::-webkit-scrollbar {
    width: 4px;
    height: 4px; /* Para scroll horizontal */
}

#list_notifications::-webkit-scrollbar-track {
    background: transparent;
}

#list_notifications::-webkit-scrollbar-thumb {
    background: var(--Neutral-Neutral-300, #AFAFB1);
    border-radius: var(--border-radius-corner-md, 8px);
}

/* Para Firefox */
#list_notifications {
    scrollbar-width: thin;
    scrollbar-color: var(--Neutral-Neutral-300, #AFAFB1) transparent;
}
.notifications-null {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100%;
}
.title_notification_null {
    color: var(--Neutral-Neutral-700, #4D4D4F);
    font-size: var(--typography-interface-caption-medium-caption-m-size, 20px);
    font-style: normal;
    font-weight: 700;
    line-height: var(--typography-interface-caption-medium-caption-m-height, 20px);
    letter-spacing: var(--typography-interface-caption-medium-caption-m-space, 0.14px);
    margin-bottom: 4px;
}
.text_notification_null {
      color: var(--Neutral-Neutral-700, #4D4D4F);
    font-size: var(--typography-interface-caption-medium-caption-m-size, 14px);
    font-style: normal;
    font-weight: 700;
    line-height: var(--typography-interface-caption-medium-caption-m-height, 20px);
    letter-spacing: var(--typography-interface-caption-medium-caption-m-space, 0.14px);
    margin-bottom: 0;
}

/* Animación para móviles */
@media only screen and (max-width: 768px) {
  .box_all_view {
    height: 100dvh !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: 100dvw !important;
    z-index: 1000 !important; /* Aumentado para asegurar que esté por encima */
    bottom: 0 !important;
    left: 0 !important;
    max-height: 100% !important;
    border-radius: 0 !important;
    transform: translateY(100%); /* Inicia abajo */
    opacity: 0; /* Inicia invisible */
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), 
                opacity 0.3s ease-out;
    will-change: transform, opacity; /* Mejora rendimiento */
    overflow-y: auto; /* Permite scroll si es necesario */
    background: #fff; /* Fondo sólido */
    box-shadow: none !important;
    pointer-events: auto; /* Asegura interactividad */
  }
  
  .box_all_view.show {
    transform: translateY(0);
    opacity: 1;
  }
  
  /* Elimina la clase .hidden y usa .show para mayor claridad */
  
  .submodule-title {
    font-size: 16px;
    transition: font-size 0.2s ease;
  }
  
  .submodule-num {
    font-size: 20px;
    height: 40px;
    width: 40px;
    transition: all 0.2s ease;
  }
  
  .icon_noti_movil {
    display: block;
    padding: 8px;
    font-size: 20px;
    transition: all 0.2s ease;
  }
  
  /* Añade esto para mejorar el rendimiento */
  .box_all_view * {
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  main {
    z-index: 1;
  }

  .title_notification_null {
    font-size: var(--typography-interface-caption-medium-caption-m-size, 26px);
  }
  .text_notification_null {
      font-size: var(--typography-interface-caption-medium-caption-m-size, 18px);
  }
}