.admin .main-container {
    padding: 0;
    overflow: hidden;
    height: 90vh;
}

.grandchallenge .headerContainer {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 460px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 35px 35px 0 25px;
}

.grandchallenge .headerContainer .topContainer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

.grandchallenge .headerContainer .topContainer .moreIcon {
    width: 30px;
    height: 30px;
    background-size: 30px;
    background-repeat: no-repeat;
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/More_Dots_Icon_Circle_LM_v2.png);
    display: none;
}

.grandchallenge .headerContainer .topContainer .topLeftContainer {
    display: flex;
}

.grandchallenge .headerContainer .topContainer .topLeftContainer .entity-icon {
    min-width: 122px;
    min-height: 122px;
    border-radius: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #fff;
    margin-inline: 0px 16px;
    z-index: 10;
}

.grandchallenge .headerContainer .topContainer .topLeftContainer .textContainer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    row-gap: 10px;
}

.grandchallenge .headerContainer .topContainer .topLeftContainer .textContainer .title {
    color: #4b4a4a;
    font-family: "Metropolis Semi Bold";
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.24px;
}

.grandchallenge .headerContainer .topContainer .topLeftContainer .textContainer .dates {
    color: #4b4a4a;
    font-family: "Metropolis Regular";
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 0.2px;
}

.grandchallenge .headerContainer .topContainer .circleButtonsContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 25px;
}

.grandchallenge .headerContainer .topContainer .circleButtonsContainer .login-container {
    display: block;
    height: 44px;
    width: 200px;
    margin-inline: auto;
    border-radius: 8px;
    background-color: #1471db;
    color: #fff;
    font-family: "Metropolis Regular";
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.2px;
    cursor: pointer;
    text-align: center;
    padding: 10px 20px;
}

.grandchallenge .headerContainer .topContainer .circleButtonsContainer .join-container {
    display: block;
    height: 44px;
    width: 200px;
    margin-inline: auto;
}

.grandchallenge .headerContainer .topContainer .circleButtonsContainer .logoutIcon,
.grandchallenge .headerContainer .topContainer .circleButtonsContainer .backIcon {
    width: 46px;
    height: 46px;
    background-size: 46px 46px;
    background-repeat: no-repeat;
    cursor: pointer;
}

.grandchallenge .headerContainer .topContainer .circleButtonsContainer .logoutIcon {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/logOut_icon_new_lm.png);
}

.grandchallenge .headerContainer .topContainer .circleButtonsContainer .backIcon {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/Return_Icon_LM_v3.png);
}

.grandchallenge .headerContainer .topContainer .circleButtonsContainer .join-container.hide,
.grandchallenge .headerContainer .logoutIcon.hide,
.grandchallenge .headerContainer .join-container-mobile,
.grandchallenge .headerContainer .join-container-mobile.hide {
    display: none;
}

.grandchallenge .headerContainer .description {
    color: #4b4a4a;
    font-family: "Metropolis Semi Bold";
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.2px;
    margin-top: 35px;
}

.grandchallenge .challengesContainer {
    display: flex;
    align-items: center;
    width: 100%;
    margin-block: 14px 36px;
    padding-left: 35px;
    justify-content: flex-start;
    gap: 24px;
    flex-wrap: wrap;
    max-height: 300px;
    overflow-y: scroll;
    /* Firefox scrollbar */
    scrollbar-width: thin;
    scrollbar-color: #1471db #fff;
}

/* Chrome, Safari and Opera scrollbar */
.grandchallenge .challengesContainer::-webkit-scrollbar {
    width: 2px;
}

.grandchallenge .challengesContainer::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 8px;
}

.grandchallenge .challengesContainer::-webkit-scrollbar-thumb {
    background-color: #1471db;
    border-radius: 8px;
}

.grandchallenge .challengesContainer::-webkit-scrollbar-thumb:hover {
    background-color: #1471db;
}

@keyframes skeleton-loading {
    0% {
        background-color: rgb(230, 230, 230);
    }
    100% {
        background-color: rgb(245, 245, 245);
    }
}

@keyframes skeleton-loading-dark {
    0% {
        background-color: rgba(255, 255, 255, 0.1);
    }
    100% {
        background-color: rgba(255, 255, 255, 0.2);
    }
}

/* Skeletons internos con animación */
.grandchallenge .bannerSkeleton .skeleton-icon,
.grandchallenge .bannerSkeleton .skeleton-title,
.grandchallenge .bannerSkeleton .skeleton-dates,
.grandchallenge .bannerSkeleton .skeleton-description,
.grandchallenge .bannerSkeleton .skeleton-buttons,
.grandchallenge .challengesSkeleton .skeleton-card-icon,
.grandchallenge .challengesSkeleton .skeleton-card-name,
.grandchallenge .challengesSkeleton .skeleton-card-metric,
.grandchallenge .challengesSkeleton .skeleton-card-dates {
    animation: skeleton-loading 1s linear infinite alternate;
}

.grandchallenge .bannerSkeleton {
    height: 460px;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0px 35px 0 25px;
    background-color: transparent;
    margin-bottom: 30px;
}

.grandchallenge .bannerSkeleton .skeleton-topContainer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 16px;
}

.grandchallenge .bannerSkeleton .skeleton-topLeftContainer {
    display: flex;
    align-items: center;
    gap: 16px;
}

.grandchallenge .bannerSkeleton .skeleton-icon {
    width: 122px;
    height: 122px;
    border-radius: 50%;
    background-color: rgb(230, 230, 230);
    flex-shrink: 0;
}

.grandchallenge .bannerSkeleton .skeleton-textContainer {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.grandchallenge .bannerSkeleton .skeleton-title {
    width: 300px;
    height: 32px;
    border-radius: 4px;
    background-color: rgb(230, 230, 230);
}

.grandchallenge .bannerSkeleton .skeleton-dates {
    width: 200px;
    height: 24px;
    border-radius: 4px;
    background-color: rgb(230, 230, 230);
}

.grandchallenge .bannerSkeleton .skeleton-buttons {
    width: 200px;
    height: 44px;
    border-radius: 8px;
    background-color: rgb(230, 230, 230);
}

.grandchallenge .bannerSkeleton .skeleton-description {
    width: 80%;
    height: 24px;
    border-radius: 4px;
    background-color: rgb(230, 230, 230);
    margin-top: 16px;
}

.grandchallenge .challengesSkeleton {
    display: flex;
    align-items: center;
    width: calc(100% - 35px);
    margin-block: 14px 36px;
    margin-left: 35px;
    overflow-x: scroll;
    justify-content: center;
    gap: 24px;
    margin-top: 35px;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}
/* Hide scrollbar for Chrome, Safari and Opera */
.grandchallenge .challengesSkeleton::-webkit-scrollbar {
    display: none;
}

.grandchallenge .challengesSkeleton .skeleton-card {
    min-width: 240px;
    height: 254px;
    border-radius: 8px;
    background-color: rgb(255, 255, 255);
    box-shadow: rgba(51, 51, 51, 0.25) 0px 3px 6px 0px;
    display: flex;
    flex-direction: column;
    margin: 10px 36px 10px 0;
}

.grandchallenge .challengesSkeleton .skeleton-card-head {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.grandchallenge .challengesSkeleton .skeleton-card-icon {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    margin-block: 30px 10px;
    background-color: rgb(230, 230, 230);
}

.grandchallenge .challengesSkeleton .skeleton-card-name {
    width: 80%;
    height: 20px;
    border-radius: 4px;
    background-color: rgb(230, 230, 230);
    margin-top: 10px;
}

.grandchallenge .challengesSkeleton .skeleton-card-metric {
    width: 60%;
    height: 16px;
    border-radius: 4px;
    background-color: rgb(230, 230, 230);
    margin-top: 10px;
}

.grandchallenge .challengesSkeleton .skeleton-card-dates {
    width: 70%;
    height: 16px;
    border-radius: 4px;
    background-color: rgb(230, 230, 230);
    margin-top: 10px;
}

/* Responsive */
@media (max-width: 768px) {
    .grandchallenge .headerContainer .topContainer .circleButtonsContainer {
        gap: 10px;
        max-width: 30%;
        flex-wrap: wrap;
    }
    .grandchallenge .headerContainer .topContainer .moreIcon {
        display: block;
    }
    .grandchallenge .headerContainer .topContainer .circleButtonsContainer {
        display: none;
    }
    .grandchallenge .headerContainer .topContainer .topLeftContainer {
        width: 90%;
    }
    .grandchallenge .headerContainer .topContainer .topLeftContainer .entity-icon {
        min-width: 80px;
        min-height: 80px;
    }
    .grandchallenge .headerContainer .topContainer .topLeftContainer .textContainer .title,
    .grandchallenge .headerContainer .topContainer .topLeftContainer .textContainer .dates {
        font-size: 17px;
        line-height: 21px;
        letter-spacing: 0.17px;
    }
    .grandchallenge
        .headerContainer
        .topContainer
        .topLeftContainer
        .textContainer
        .progressMessage {
        font-size: 17px;
        line-height: 21px;
        letter-spacing: 0.17px;
    }
    .grandchallenge .headerContainer {
        padding: 16px;
    }
    .grandchallenge .headerContainer .join-container-mobile {
        display: block;
        height: 44px;
        margin-top: 10px;
        margin-inline: auto;
    }
    /* Skeletons responsive */
    .grandchallenge .bannerSkeleton {
        padding: 0 16px 16px;
        height: auto;
    }
    .grandchallenge .bannerSkeleton .skeleton-icon {
        width: 80px;
        height: 80px;
    }
    .grandchallenge .bannerSkeleton .skeleton-title {
        width: 200px;
        height: 21px;
    }
    .grandchallenge .bannerSkeleton .skeleton-dates {
        width: 150px;
        height: 21px;
    }
    .grandchallenge .bannerSkeleton .skeleton-buttons {
        display: none;
    }
    .grandchallenge .bannerSkeleton .skeleton-description {
        width: 90%;
        height: 21px;
    }
    .grandchallenge .challengesSkeleton {
        padding: 0 16px;
    }
    .grandchallenge .challengesSkeleton .skeleton-card {
        min-width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .grandchallenge .headerContainer {
        padding: 16px;
    }
    .grandchallenge .headerContainer .description,
    .grandchallenge .iconAndText .text {
        font-size: 17px;
        letter-spacing: 0.17px;
    }
}

/* DARK MODE */
/* Skeletons internos con animación en dark mode */
.dark .grandchallenge .bannerSkeleton .skeleton-icon,
.dark .grandchallenge .bannerSkeleton .skeleton-title,
.dark .grandchallenge .bannerSkeleton .skeleton-dates,
.dark .grandchallenge .bannerSkeleton .skeleton-description,
.dark .grandchallenge .bannerSkeleton .skeleton-buttons,
.dark .grandchallenge .challengesSkeleton .skeleton-card-icon,
.dark .grandchallenge .challengesSkeleton .skeleton-card-name,
.dark .grandchallenge .challengesSkeleton .skeleton-card-metric,
.dark .grandchallenge .challengesSkeleton .skeleton-card-dates {
    animation: skeleton-loading-dark 1s linear infinite alternate;
    background-color: rgba(255, 255, 255, 0.1);
}
.dark .grandchallenge .challengesSkeleton .skeleton-card {
    background-color: #1f2120;
    box-shadow: none;
}
.dark .popupmessage.challengeSuccessPopup .modalContainer .title {
    color: #1683ff;
}
.dark .popupmessage.challengeSuccessPopup .modalContainer .info,
.dark .popupmessage.challengeSuccessPopup .modalContainer .goToLeaderboard {
    color: #fff;
}
.dark .grandchallenge .headerContainer .description {
    color: rgba(255, 255, 255, 0.87);
}
.dark .grandchallenge .headerContainer .topContainer .topLeftContainer .textContainer .title,
.dark .grandchallenge .headerContainer .topContainer .topLeftContainer .textContainer .dates {
    color: rgba(255, 255, 255, 0.87);
}
.dark .grandchallenge .headerContainer .topContainer .circleButtonsContainer .logoutIcon {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/logOut_icon_new_dm.png);
}
.dark .grandchallenge .headerContainer .topContainer .circleButtonsContainer .backIcon {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/Return_Icon_DM_v3.png);
}
.dark .grandchallenge .headerContainer .topContainer .moreIcon {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/More_Dots_Icon_Circle_DM_v2.png);
}
/* Dark mode scrollbar for challengesContainer */
.dark .grandchallenge .challengesContainer {
    /* Firefox scrollbar */
    scrollbar-color: #fff #1683ff;
}
.dark .grandchallenge .challengesContainer::-webkit-scrollbar-track {
    background: #1683ff;
}
.dark .grandchallenge .challengesContainer::-webkit-scrollbar-thumb {
    background-color: #fff;
}
.dark .grandchallenge .challengesContainer::-webkit-scrollbar-thumb:hover {
    background-color: #fff;
}
.dark .grandchallenge .headerContainer .topContainer .circleButtonsContainer .login-container {
    background-color: #1683ff;
}
