.user-info {
  display: flex;
  flex-direction: column;
  column-gap: 0.7rem;
  background-image: url(/img/new/icons/account-circle.svg);
  background-repeat: no-repeat;
  background-position: left top;
  padding-left: 2rem;
  margin-left: 0.7rem;
}
@media (min-width: 768px) {
  .user-info {
    display: none;
    margin-left: 3rem;
  }
}
.user-info__name {
  font-weight: 500;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
}
.user-info__contract-number {
  font-weight: 500;
  font-size: clamp(0.9rem, 2vw, 1rem);
}
.menu {
  /* Initial state: hidden off-screen (translateY) */
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  position: fixed;
  visibility: hidden;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: url(/img/new/bg-mobile.png);
  background-size: cover;
  border-radius: 0;
  z-index: 11;
  pointer-events: none;
  /* Medium and up screen adjustments */
  /* Visible state: slides down into view with full opacity */
  /* Hidden state: Slide up and fade out */
}
@media (min-width: 768px) {
  .menu {
    top: 100px;
    right: 24px;
    width: calc(100% - 24px);
    z-index: 9;
    min-width: 200px;
    max-width: 284px;
    height: unset;
    background-image: unset;
    background-size: unset;
    border-radius: 0.7rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
  }
}
.menu.visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  overflow-y: scroll;
  overflow-x: hidden;
}
.menu:not(.visible) {
  opacity: 0.7;
  transform: translateX(100%);
  pointer-events: none;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, visibility 0s 0.3s;
  visibility: hidden;
}
@media (min-width: 768px) {
  .menu:not(.visible) {
    transform: translateY(-10px);
    opacity: 0;
  }
}
.menu__header {
  display: grid;
  width: 100%;
  grid-template-areas: "logo space close";
  grid-template-columns: 70px 1fr 70px;
  margin: 2rem 0.7rem;
}
@media (min-width: 768px) {
  .menu__header {
    display: none;
  }
}
.menu__logo-mobile {
  grid-area: logo;
}
.menu__close-button {
  grid-area: close;
  cursor: pointer;
}
.menu ul {
  list-style: none;
  padding: 0.4375rem;
}
@media (min-width: 768px) {
  .menu ul {
    padding: 0.7rem 2rem;
  }
}
.menu ul li {
  padding: 0.4375rem;
}
@media (min-width: 768px) {
  .menu ul li {
    padding: 0.4375rem 1rem;
  }
}
.menu ul li a {
  text-decoration: none;
  color: #1e1ec8;
  font-size: clamp(1.5rem, 3vw, 1.625rem);
  font-weight: 700;
  line-height: 2.5rem;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.menu ul li a:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .menu ul li a {
    font-size: clamp(1.5rem, 3vw, 1.625rem);
  }
}
.menu hr {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
}
hr {
  border: none;
  height: 1px;
  background-color: #f7f7fc;
  width: 100%;
  align-self: center;
}
