/**
 * Ranking Manager Frontend Base Styles
 * Shared styles for all display patterns
 */

.ranking-manager-container {
    max-width: 100%;
    margin: 0 auto;
}

/* Tab Navigation - drivers-work.com style */
.ranking-tabs-wrapper {
    background: #7bcdf1;
    padding-top: 22px;
    border-bottom: 10px solid #006ec5;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 20px;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.ranking-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    margin: 0 22px;
    align-items: flex-end;
    justify-content: flex-start;
}

.ranking-manager-container .ranking-tabs .ranking-tab {
    flex: 0 0 auto !important;
    min-width: 120px !important;
    white-space: nowrap !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    text-align: center !important;
    color: #006ec5 !important;
    font-weight: bold !important;
    font-size: 18px !important;
    background-color: #ffffff !important;
    cursor: pointer !important;
    display: block !important;
    padding: 12px 12px !important;
    border-top: 2px solid #006ec5 !important;
    border-left: 2px solid #006ec5 !important;
    border-right: 2px solid #006ec5 !important;
    border-bottom: none !important;
    border-radius: 0 20px 0 0 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.ranking-manager-container .ranking-tabs .ranking-tab:hover {
    color: #006ec5 !important;
    background: #e8f4fc !important;
}

.ranking-manager-container .ranking-tabs .ranking-tab.active {
    background-color: #006ec5 !important;
    color: #fff !important;
    font-size: 22px !important;
    padding: 12px 16px 23px !important;
    position: relative !important;
}

.ranking-manager-container .ranking-tabs .ranking-tab.active::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    bottom: 4px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 8px solid transparent !important;
    border-right: 8px solid transparent !important;
    border-top: 8px solid #fff !important;
}

@media screen and (max-width: 640px) {
    .ranking-tabs {
        margin: 0 6px;
    }

    .ranking-manager-container .ranking-tabs .ranking-tab {
        font-size: 14px !important;
        padding: 8px 12px !important;
    }

    .ranking-manager-container .ranking-tabs .ranking-tab.active {
        font-size: 18px !important;
        padding: 8px 12px 20px !important;
    }
}

/* Tab Content */
.ranking-content {
    display: none;
}

.ranking-content.active {
    display: block;
}

/* Bottom Button */
.ranking-bottom-button {
    margin-top: 48px;
    margin-bottom: 48px;
    padding: 0 10px;
    text-align: center;
}

.ranking-bottom-button-link,
.ranking-bottom-button-link:link,
.ranking-bottom-button-link:visited {
    display: block !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    padding: 18px 32px !important;
    background-color: #8bc53f !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    border: none !important;
    transition: opacity 0.2s ease !important;
}

.ranking-bottom-button-link:hover {
    opacity: 0.8 !important;
    color: #fff !important;
}

/* Empty state */
.ranking-empty {
    text-align: center;
    padding: 40px 20px;
    color: #666;
}
