
.socket-status[data-v-96c71fca] {
    width: 360px;
    padding: 8px;
    font-size: 12px;
    color: #fff;
    text-align: center;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.state-success[data-v-96c71fca] {
    background-color: #25b562;
}
.state-error[data-v-96c71fca] {
    background-color: #ef4444;
}

.fade-enter-active,
  .fade-leave-active {
    transition: opacity 0.15s ease;
}
.fade-enter-from,
  .fade-leave-to {
    opacity: 0;
}

@keyframes fadeIn-dc41f7a0 {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes shimmer-dc41f7a0 {
0% {
    background-position: -1000px 0;
}
100% {
    background-position: 1000px 0;
}
}
.animate-fadeIn[data-v-dc41f7a0] {
  animation: fadeIn-dc41f7a0 0.3s ease-in;
}
.skeleton[data-v-dc41f7a0] {
  background: linear-gradient(
    90deg,
    #f0f0f0 0px,
    #f8f8f8 40px,
    #f0f0f0 80px
  );
  background-size: 1000px 100%;
  animation: shimmer-dc41f7a0 2s infinite linear;
  border-radius: 0.25rem;
}
@media (max-width: 1024px) {
.grid-cols-8[data-v-dc41f7a0] {
    grid-template-columns: repeat(4, 1fr);
}
.grid-cols-8 > div[data-v-dc41f7a0]:nth-child(n + 5) {
    display: none;
}
}

.route-not-found[data-v-bdf0aa99] {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem;
  text-align: center;
  font-family: 'Lexend Deca', sans-serif;
  background-color: #f9f9fa;
}
.route-not-found__icon[data-v-bdf0aa99] {
  color: #ec6f00;
  margin-bottom: 0.5rem;
}
.route-not-found__message[data-v-bdf0aa99] {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: #2a2b2c;
}
.route-not-found__hint[data-v-bdf0aa99] {
  margin: 0;
  font-size: 0.875rem;
  color: #595a5b;
}
