.teams-table {
    border-radius: 18px;
    border: 1px solid var(--white-15);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

.dark-theme .teams-table {
    background: var(--dark-primary-08);
    border-color: var(--dark-primary-20);
}

.light-theme .teams-table {
    background: var(--light-primary-08);
    border-color: var(--light-primary-20);
}

.teams-table .table-row {
    grid-template-columns: 2fr 1.5fr 0.8fr 1fr;
}

.team-action-btn {
    padding: clamp(6px, 1vw, 8px) clamp(12px, 2vw, 16px);
    border-radius: 10px;
    border: none;
    font-weight: 800;
    font-size: clamp(0.7rem, 1.1vw, 0.8rem);
    cursor: pointer;
    transition: all 0.3s ease;
}

.dark-theme .team-action-btn {
    background: var(--dark-primary-15);
    color: var(--dark-secondary);
    border: 1px solid var(--dark-primary-30);
}

.light-theme .team-action-btn {
    background: var(--light-primary-15);
    color: var(--light-primary);
    border: 1px solid var(--light-primary-30);
}

.team-action-btn:hover {
    transform: translateY(-2px);
}

.dark-theme .team-action-btn:hover {
    background: var(--dark-primary-25);
    box-shadow: 0 4px 16px var(--dark-primary-30);
}

.light-theme .team-action-btn:hover {
    background: var(--light-primary-25);
    box-shadow: 0 4px 16px var(--light-primary-30);
}

.team-action-btn.locked {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-action-btn.locked:hover {
    transform: none;
    box-shadow: none;
}

.teams-header-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(24px, 3.5vw, 32px);
}

.teams-header-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
    border-radius: 18px;
    border: 1px solid var(--white-15);
    backdrop-filter: blur(12px);
    padding: 8px;
    max-width: 700px;
    width: 100%;
}

.dark-theme .teams-header-wrapper {
    background: var(--dark-primary-08);
    border-color: var(--dark-primary-20);
}

.light-theme .teams-header-wrapper {
    background: var(--light-primary-08);
    border-color: var(--light-primary-20);
}

.team-search-input {
    flex: 1;
    padding: clamp(10px, 1.5vw, 12px) clamp(14px, 2vw, 18px);
    border: none;
    background: transparent;
    font-size: clamp(0.85rem, 1.3vw, 0.95rem);
    font-weight: 600;
    outline: none;
}

.dark-theme .team-search-input {
    color: var(--dark-text);
}

.light-theme .team-search-input {
    color: var(--light-text);
}

.team-search-input::placeholder {
    opacity: 0.5;
}

.team-create-tag {
    padding: clamp(8px, 1.2vw, 10px) clamp(16px, 2.5vw, 20px);
    border-radius: 12px;
    border: none;
    font-weight: 800;
    font-size: clamp(0.75rem, 1.2vw, 0.85rem);
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.dark-theme .team-create-tag {
    background: linear-gradient(135deg, var(--dark-primary), var(--dark-secondary));
    color: var(--white);
}

.light-theme .team-create-tag {
    background: linear-gradient(135deg, var(--light-primary), var(--light-secondary));
    color: var(--white);
}

.team-create-tag:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.teams-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(16px, 2.5vw, 20px);
    padding: clamp(20px, 3vw, 24px) 0;
}

.team-name-tag,
.user-name-tag {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 10px;
    font-size: clamp(0.75rem, 1.2vw, 0.85rem);
    font-weight: 800;
}

.dark-theme .team-name-tag,
.dark-theme .user-name-tag {
    background: var(--dark-primary-15);
    color: var(--dark-secondary);
    border: 1.5px solid var(--dark-primary-40);
}

.light-theme .team-name-tag,
.light-theme .user-name-tag {
    background: var(--light-primary-15);
    color: var(--light-primary);
    border: 1.5px solid var(--light-primary-40);
}

.team-profile-container {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3.5vw, 32px);
    max-width: 900px;
    margin: 0 auto;
}

.team-profile-card {
    padding: clamp(28px, 4vw, 40px);
    border-radius: 18px;
    border: 1px solid var(--white-15);
    backdrop-filter: blur(12px);
    text-align: center;
}

.dark-theme .team-profile-card {
    background: var(--dark-primary-08);
    border-color: var(--dark-primary-20);
}

.light-theme .team-profile-card {
    background: var(--light-primary-08);
    border-color: var(--light-primary-20);
}

.team-avatar-large {
    width: clamp(96px, 12vw, 128px);
    height: clamp(96px, 12vw, 128px);
    border-radius: 50%;
    margin: 0 auto clamp(16px, 2.5vw, 20px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: clamp(2rem, 4vw, 3rem);
}

.dark-theme .team-avatar-large {
    background: linear-gradient(135deg, var(--dark-primary), var(--dark-secondary));
    color: var(--white);
    box-shadow: 0 8px 32px var(--dark-primary-30);
}

.light-theme .team-avatar-large {
    background: linear-gradient(135deg, var(--light-primary), var(--light-secondary));
    color: var(--white);
    box-shadow: 0 8px 32px var(--light-primary-30);
}

.team-profile-card h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    font-weight: 900;
    margin-bottom: 8px;
}

.team-description {
    font-size: clamp(0.85rem, 1.3vw, 0.95rem);
    font-weight: 600;
    opacity: 0.7;
    margin-bottom: clamp(20px, 3vw, 28px);
}

.team-stats {
    display: flex;
    justify-content: center;
    gap: clamp(20px, 3vw, 32px);
}

.team-tabs-container {
    padding: clamp(24px, 3.5vw, 32px);
    border-radius: 18px;
    border: 1px solid var(--white-15);
    backdrop-filter: blur(12px);
}

.dark-theme .team-tabs-container {
    background: var(--dark-primary-08);
    border-color: var(--dark-primary-20);
}

.light-theme .team-tabs-container {
    background: var(--light-primary-08);
    border-color: var(--light-primary-20);
}

.team-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: clamp(24px, 3.5vw, 32px);
    padding: 6px;
    border-radius: 16px;
    backdrop-filter: blur(12px);
}

.dark-theme .team-tabs {
    background: var(--dark-primary-08);
}

.light-theme .team-tabs {
    background: var(--light-primary-08);
}

.team-tab {
    flex: 1;
    padding: clamp(10px, 1.5vw, 12px);
    border-radius: 12px;
    border: none;
    font-weight: 800;
    font-size: clamp(0.8rem, 1.3vw, 0.9rem);
    cursor: pointer;
    transition: all 0.3s ease;
    background: transparent;
}

.dark-theme .team-tab {
    color: var(--dark-text);
}

.light-theme .team-tab {
    color: var(--light-text);
}

.dark-theme .team-tab.active {
    background: linear-gradient(135deg, var(--dark-primary), var(--dark-secondary));
    color: var(--white);
    box-shadow: 0 4px 16px var(--dark-primary-30);
}

.light-theme .team-tab.active {
    background: linear-gradient(135deg, var(--light-primary), var(--light-secondary));
    color: var(--white);
    box-shadow: 0 4px 16px var(--light-primary-30);
}

.team-tab:hover:not(.active) {
    transform: translateY(-2px);
}

.dark-theme .team-tab:hover:not(.active) {
    background: var(--dark-primary-12);
}

.light-theme .team-tab:hover:not(.active) {
    background: var(--light-primary-12);
}

.team-tab-content {
    display: none;
}

.team-tab-content.active {
    display: block;
    animation: fadeIn 0.4s ease;
}

.team-members-table {
    border-radius: 14px;
    border: 1px solid var(--white-15);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

.dark-theme .team-members-table {
    background: var(--dark-primary-05);
    border-color: var(--dark-primary-15);
}

.light-theme .team-members-table {
    background: var(--light-primary-05);
    border-color: var(--light-primary-15);
}

.team-members-table .table-row {
    grid-template-columns: 2fr 1fr 0.8fr 0.8fr 0.8fr;
}

.solved-table {
    border-radius: 14px;
    border: 1px solid var(--white-15);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

.dark-theme .solved-table {
    background: var(--dark-primary-05);
    border-color: var(--dark-primary-15);
}

.light-theme .solved-table {
    background: var(--light-primary-05);
    border-color: var(--light-primary-15);
}

.solved-table .table-row {
    grid-template-columns: 2.5fr 1.5fr 0.8fr 1.2fr 1fr;
}

.rank-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 8px;
    font-size: clamp(0.6rem, 0.9vw, 0.7rem);
    font-weight: 800;
    margin-left: 8px;
    vertical-align: middle;
}

.dark-theme .rank-badge {
    background: var(--dark-primary-20);
    color: var(--dark-secondary);
}

.light-theme .rank-badge {
    background: var(--light-primary-20);
    color: var(--light-primary);
}

.rank-badge.first-blood {
    background: var(--error-light);
    color: var(--error-primary);
    border: 1px solid var(--error-border);
}

@media (max-width: 1024px) {
    .teams-table .table-row {
        grid-template-columns: 2fr 1.5fr 1fr;
    }

    .team-members-table .table-row {
        grid-template-columns: 2fr 1fr 0.8fr 0.8fr;
    }

    .solved-table .table-row {
        grid-template-columns: 0.5fr 2fr 1.5fr 0.8fr 1fr;
    }
}

@media (max-width: 768px) {
    .teams-table .table-row {
        grid-template-columns: 2fr 1fr;
    }

    .team-stats {
        flex-direction: column;
        align-items: center;
    }

    .stat-box {
        width: 100%;
        max-width: 200px;
    }

    .team-members-table .table-row {
        grid-template-columns: 2fr 1fr 0.8fr;
    }

    .solved-table .table-row {
        grid-template-columns: 2.5fr 1.5fr 0.8fr;
    }

    .solved-table .table-row {
        grid-template-columns: 2.5fr 1.5fr 0.8fr;
    }

    .team-profile-container {
        max-width: 100%;
    }
}

.team-join-alert {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 16px 24px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.9rem;
    opacity: 0;
    transform: translateX(400px);
    transition: all 0.4s ease;
    z-index: 10000;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.team-join-alert.show {
    opacity: 1;
    transform: translateX(0);
}

.dark-theme .team-join-alert {
    background: linear-gradient(135deg, var(--dark-primary), var(--dark-secondary));
    color: var(--white);
    border: 1px solid var(--dark-primary-40);
}

.light-theme .team-join-alert {
    background: linear-gradient(135deg, var(--light-primary), var(--light-secondary));
    color: var(--white);
    border: 1px solid var(--light-primary-40);
}

@media (max-width: 768px) {
    .teams-header-wrapper {
        flex-direction: column;
        gap: 8px;
        padding: 12px;
    }
    
    .team-search-input {
        width: 100%;
    }
    
    .team-create-tag {
        width: 100%;
        text-align: center;
    }
    
    .team-join-alert {
        top: 10px;
        right: 10px;
        left: 10px;
        font-size: 0.8rem;
        padding: 12px 16px;
    }
}